summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitattributes1
-rw-r--r--.travis.yml2
-rw-r--r--Makefile14
-rw-r--r--asm/contest_painting_effects.s1686
-rw-r--r--asm/m4a_3.s574
-rw-r--r--asm/pokenav.s3656
-rw-r--r--data/layouts.inc332
-rwxr-xr-xdata/layouts/.gitignore2
-rw-r--r--data/layouts/AbandonedShip_CaptainsOffice/layout.inc14
-rw-r--r--data/layouts/AbandonedShip_Corridors_1F/layout.inc14
-rw-r--r--data/layouts/AbandonedShip_Corridors_B1F/layout.inc14
-rw-r--r--data/layouts/AbandonedShip_Deck/layout.inc14
-rw-r--r--data/layouts/AbandonedShip_HiddenFloorCorridors/layout.inc14
-rw-r--r--data/layouts/AbandonedShip_HiddenFloorRooms/layout.inc14
-rw-r--r--data/layouts/AbandonedShip_Room_B1F/layout.inc14
-rw-r--r--data/layouts/AbandonedShip_Rooms2_1F/layout.inc14
-rw-r--r--data/layouts/AbandonedShip_Rooms2_B1F/layout.inc14
-rw-r--r--data/layouts/AbandonedShip_Rooms_1F/layout.inc14
-rw-r--r--data/layouts/AbandonedShip_Rooms_B1F/layout.inc14
-rw-r--r--data/layouts/AbandonedShip_Underwater1/layout.inc14
-rw-r--r--data/layouts/AbandonedShip_Underwater2/layout.inc14
-rw-r--r--data/layouts/AncientTomb/layout.inc14
-rw-r--r--data/layouts/AquaHideout_1F/layout.inc14
-rw-r--r--data/layouts/AquaHideout_B1F/layout.inc14
-rw-r--r--data/layouts/AquaHideout_B2F/layout.inc14
-rw-r--r--data/layouts/BattleTower_BattleRoom/layout.inc14
-rw-r--r--data/layouts/BattleTower_Corridor/layout.inc14
-rw-r--r--data/layouts/BattleTower_Elevator/layout.inc14
-rw-r--r--data/layouts/BattleTower_Lobby/layout.inc14
-rw-r--r--data/layouts/BattleTower_Outside/layout.inc14
-rw-r--r--data/layouts/CableCarStation/layout.inc14
-rw-r--r--data/layouts/CaveOfOrigin_1F/layout.inc14
-rw-r--r--data/layouts/CaveOfOrigin_B1F/layout.inc14
-rw-r--r--data/layouts/CaveOfOrigin_B2F/layout.inc14
-rw-r--r--data/layouts/CaveOfOrigin_B3F/layout.inc14
-rw-r--r--data/layouts/CaveOfOrigin_B4F/layout.inc14
-rw-r--r--data/layouts/CaveOfOrigin_Entrance/layout.inc14
-rw-r--r--data/layouts/ContestHall/layout.inc14
-rw-r--r--data/layouts/ContestLobby/layout.inc14
-rw-r--r--data/layouts/DesertRuins/layout.inc14
-rw-r--r--data/layouts/DewfordTown/layout.inc14
-rw-r--r--data/layouts/DewfordTown_Gym/layout.inc14
-rw-r--r--data/layouts/DewfordTown_Hall/layout.inc14
-rw-r--r--data/layouts/DoubleBattleColosseum/layout.inc14
-rw-r--r--data/layouts/EverGrandeCity/layout.inc14
-rw-r--r--data/layouts/EverGrandeCity_ChampionsRoom/layout.inc14
-rw-r--r--data/layouts/EverGrandeCity_Corridor4/layout.inc14
-rw-r--r--data/layouts/EverGrandeCity_DrakesRoom/layout.inc14
-rw-r--r--data/layouts/EverGrandeCity_GlaciasRoom/layout.inc14
-rw-r--r--data/layouts/EverGrandeCity_HallOfFame/layout.inc14
-rw-r--r--data/layouts/EverGrandeCity_PhoebesRoom/layout.inc14
-rw-r--r--data/layouts/EverGrandeCity_PokemonLeague/layout.inc14
-rw-r--r--data/layouts/EverGrandeCity_ShortCorridor/layout.inc14
-rw-r--r--data/layouts/EverGrandeCity_SidneysRoom/layout.inc14
-rw-r--r--data/layouts/FallarborTown/layout.inc14
-rw-r--r--data/layouts/FieryPath/layout.inc14
-rw-r--r--data/layouts/FortreeCity/layout.inc14
-rw-r--r--data/layouts/FortreeCity_DecorationShop/layout.inc14
-rw-r--r--data/layouts/FortreeCity_Gym/layout.inc14
-rw-r--r--data/layouts/FortreeCity_House1/layout.inc14
-rw-r--r--data/layouts/FortreeCity_House2/layout.inc14
-rw-r--r--data/layouts/GraniteCave_1F/layout.inc14
-rw-r--r--data/layouts/GraniteCave_B1F/layout.inc14
-rw-r--r--data/layouts/GraniteCave_B2F/layout.inc14
-rw-r--r--data/layouts/GraniteCave_StevensRoom/layout.inc14
-rw-r--r--data/layouts/Harbor/layout.inc14
-rw-r--r--data/layouts/House1/layout.inc14
-rw-r--r--data/layouts/House2/layout.inc14
-rw-r--r--data/layouts/House3/layout.inc14
-rw-r--r--data/layouts/House4/layout.inc14
-rw-r--r--data/layouts/HouseWithBed/layout.inc14
-rw-r--r--data/layouts/InsideOfTruck/layout.inc14
-rw-r--r--data/layouts/IslandCave/layout.inc14
-rw-r--r--data/layouts/JaggedPass/layout.inc14
-rw-r--r--data/layouts/LavaridgeTown/layout.inc14
-rw-r--r--data/layouts/LavaridgeTown_Gym_1F/layout.inc14
-rw-r--r--data/layouts/LavaridgeTown_Gym_B1F/layout.inc14
-rw-r--r--data/layouts/LavaridgeTown_HerbShop/layout.inc14
-rw-r--r--data/layouts/LavaridgeTown_PokemonCenter_1F/layout.inc14
-rw-r--r--data/layouts/LilycoveCity/layout.inc14
-rw-r--r--data/layouts/LilycoveCity_ContestHall/layout.inc14
-rw-r--r--data/layouts/LilycoveCity_ContestLobby/layout.inc14
-rw-r--r--data/layouts/LilycoveCity_CoveLilyMotel_1F/layout.inc14
-rw-r--r--data/layouts/LilycoveCity_CoveLilyMotel_2F/layout.inc14
-rw-r--r--data/layouts/LilycoveCity_DepartmentStoreElevator/layout.inc14
-rw-r--r--data/layouts/LilycoveCity_DepartmentStoreRooftop/layout.inc14
-rw-r--r--data/layouts/LilycoveCity_DepartmentStore_1F/layout.inc14
-rw-r--r--data/layouts/LilycoveCity_DepartmentStore_2F/layout.inc14
-rw-r--r--data/layouts/LilycoveCity_DepartmentStore_3F/layout.inc14
-rw-r--r--data/layouts/LilycoveCity_DepartmentStore_4F/layout.inc14
-rw-r--r--data/layouts/LilycoveCity_DepartmentStore_5F/layout.inc14
-rw-r--r--data/layouts/LilycoveCity_EmptyMap/layout.inc14
-rw-r--r--data/layouts/LilycoveCity_House2/layout.inc14
-rw-r--r--data/layouts/LilycoveCity_LilycoveMuseum_1F/layout.inc14
-rw-r--r--data/layouts/LilycoveCity_LilycoveMuseum_2F/layout.inc14
-rw-r--r--data/layouts/LilycoveCity_PokemonTrainerFanClub/layout.inc14
-rw-r--r--data/layouts/LinkContestRoom1/layout.inc14
-rw-r--r--data/layouts/LinkContestRoom2/layout.inc14
-rw-r--r--data/layouts/LinkContestRoom3/layout.inc14
-rw-r--r--data/layouts/LinkContestRoom4/layout.inc14
-rw-r--r--data/layouts/LinkContestRoom5/layout.inc14
-rw-r--r--data/layouts/LinkContestRoom6/layout.inc14
-rw-r--r--data/layouts/LittlerootTown/layout.inc14
-rw-r--r--data/layouts/LittlerootTown_BrendansHouse_1F/layout.inc14
-rw-r--r--data/layouts/LittlerootTown_BrendansHouse_2F/layout.inc14
-rw-r--r--data/layouts/LittlerootTown_MaysHouse_1F/layout.inc14
-rw-r--r--data/layouts/LittlerootTown_MaysHouse_2F/layout.inc14
-rw-r--r--data/layouts/LittlerootTown_ProfessorBirchsLab/layout.inc14
-rw-r--r--data/layouts/MagmaHideout_1F/layout.inc14
-rw-r--r--data/layouts/MagmaHideout_B1F/layout.inc14
-rw-r--r--data/layouts/MagmaHideout_B2F/layout.inc14
-rw-r--r--data/layouts/MauvilleCity/layout.inc14
-rw-r--r--data/layouts/MauvilleCity_BikeShop/layout.inc14
-rw-r--r--data/layouts/MauvilleCity_GameCorner/layout.inc14
-rw-r--r--data/layouts/MauvilleCity_Gym/layout.inc14
-rw-r--r--data/layouts/MeteorFalls_1F_1R/layout.inc14
-rw-r--r--data/layouts/MeteorFalls_1F_2R/layout.inc14
-rw-r--r--data/layouts/MeteorFalls_B1F_1R/layout.inc14
-rw-r--r--data/layouts/MeteorFalls_B1F_2R/layout.inc14
-rw-r--r--data/layouts/MossdeepCity/layout.inc14
-rw-r--r--data/layouts/MossdeepCity_GameCorner_1F/layout.inc14
-rw-r--r--data/layouts/MossdeepCity_GameCorner_B1F/layout.inc14
-rw-r--r--data/layouts/MossdeepCity_Gym/layout.inc14
-rw-r--r--data/layouts/MossdeepCity_SpaceCenter_1F/layout.inc14
-rw-r--r--data/layouts/MossdeepCity_SpaceCenter_2F/layout.inc14
-rw-r--r--data/layouts/MossdeepCity_StevensHouse/layout.inc14
-rw-r--r--data/layouts/MtChimney/layout.inc14
-rw-r--r--data/layouts/MtPyre_1F/layout.inc14
-rw-r--r--data/layouts/MtPyre_2F/layout.inc14
-rw-r--r--data/layouts/MtPyre_3F/layout.inc14
-rw-r--r--data/layouts/MtPyre_4F/layout.inc14
-rw-r--r--data/layouts/MtPyre_5F/layout.inc14
-rw-r--r--data/layouts/MtPyre_6F/layout.inc14
-rw-r--r--data/layouts/MtPyre_Exterior/layout.inc14
-rw-r--r--data/layouts/MtPyre_Summit/layout.inc14
-rw-r--r--data/layouts/NewMauville_Entrance/layout.inc14
-rw-r--r--data/layouts/NewMauville_Inside/layout.inc14
-rw-r--r--data/layouts/OldaleTown/layout.inc14
-rw-r--r--data/layouts/PacifidlogTown/layout.inc14
-rw-r--r--data/layouts/PacifidlogTown_House1/layout.inc14
-rw-r--r--data/layouts/PacifidlogTown_House2/layout.inc14
-rw-r--r--data/layouts/PetalburgCity/layout.inc14
-rw-r--r--data/layouts/PetalburgCity_Gym/layout.inc14
-rw-r--r--data/layouts/PetalburgWoods/layout.inc14
-rw-r--r--data/layouts/PokeMart/layout.inc14
-rw-r--r--data/layouts/PokemonCenter_1F/layout.inc14
-rw-r--r--data/layouts/PokemonCenter_2F/layout.inc14
-rw-r--r--data/layouts/RecordCorner/layout.inc14
-rw-r--r--data/layouts/Route101/layout.inc14
-rw-r--r--data/layouts/Route102/layout.inc14
-rw-r--r--data/layouts/Route103/layout.inc14
-rw-r--r--data/layouts/Route104/layout.inc14
-rw-r--r--data/layouts/Route104_MrBrineysHouse/layout.inc14
-rw-r--r--data/layouts/Route104_PrettyPetalFlowerShop/layout.inc14
-rw-r--r--data/layouts/Route104_Prototype/layout.inc14
-rw-r--r--data/layouts/Route105/layout.inc14
-rw-r--r--data/layouts/Route106/layout.inc14
-rw-r--r--data/layouts/Route107/layout.inc14
-rw-r--r--data/layouts/Route108/layout.inc14
-rw-r--r--data/layouts/Route109/layout.inc14
-rw-r--r--data/layouts/Route109_SeashoreHouse/layout.inc14
-rw-r--r--data/layouts/Route110/layout.inc14
-rw-r--r--data/layouts/Route110_SeasideCyclingRoadEntrace/layout.inc14
-rw-r--r--data/layouts/Route110_TrickHouseCorridor/layout.inc14
-rw-r--r--data/layouts/Route110_TrickHouseEnd/layout.inc14
-rw-r--r--data/layouts/Route110_TrickHouseEntrance/layout.inc14
-rw-r--r--data/layouts/Route110_TrickHousePuzzle1/layout.inc14
-rw-r--r--data/layouts/Route110_TrickHousePuzzle2/layout.inc14
-rw-r--r--data/layouts/Route110_TrickHousePuzzle3/layout.inc14
-rw-r--r--data/layouts/Route110_TrickHousePuzzle4/layout.inc14
-rw-r--r--data/layouts/Route110_TrickHousePuzzle5/layout.inc14
-rw-r--r--data/layouts/Route110_TrickHousePuzzle6/layout.inc14
-rw-r--r--data/layouts/Route110_TrickHousePuzzle7/layout.inc14
-rw-r--r--data/layouts/Route110_TrickHousePuzzle8/layout.inc14
-rw-r--r--data/layouts/Route111/layout.inc14
-rw-r--r--data/layouts/Route112/layout.inc14
-rw-r--r--data/layouts/Route113/layout.inc14
-rw-r--r--data/layouts/Route114/layout.inc14
-rw-r--r--data/layouts/Route114_FossilManiacsHouse/layout.inc14
-rw-r--r--data/layouts/Route114_FossilManiacsTunnel/layout.inc14
-rw-r--r--data/layouts/Route114_LanettesHouse/layout.inc14
-rw-r--r--data/layouts/Route115/layout.inc14
-rw-r--r--data/layouts/Route116/layout.inc14
-rw-r--r--data/layouts/Route116_TunnelersRestHouse/layout.inc14
-rw-r--r--data/layouts/Route117/layout.inc14
-rw-r--r--data/layouts/Route117_PokemonDayCare/layout.inc14
-rw-r--r--data/layouts/Route118/layout.inc14
-rw-r--r--data/layouts/Route119/layout.inc14
-rw-r--r--data/layouts/Route119_WeatherInstitute_1F/layout.inc14
-rw-r--r--data/layouts/Route119_WeatherInstitute_2F/layout.inc14
-rw-r--r--data/layouts/Route120/layout.inc14
-rw-r--r--data/layouts/Route121/layout.inc14
-rw-r--r--data/layouts/Route121_SafariZoneEntrance/layout.inc14
-rw-r--r--data/layouts/Route122/layout.inc14
-rw-r--r--data/layouts/Route123/layout.inc14
-rw-r--r--data/layouts/Route124/layout.inc14
-rw-r--r--data/layouts/Route124_DivingTreasureHuntersHouse/layout.inc14
-rw-r--r--data/layouts/Route125/layout.inc14
-rw-r--r--data/layouts/Route126/layout.inc14
-rw-r--r--data/layouts/Route127/layout.inc14
-rw-r--r--data/layouts/Route128/layout.inc14
-rw-r--r--data/layouts/Route129/layout.inc14
-rw-r--r--data/layouts/Route130/layout.inc14
-rw-r--r--data/layouts/Route131/layout.inc14
-rw-r--r--data/layouts/Route132/layout.inc14
-rw-r--r--data/layouts/Route133/layout.inc14
-rw-r--r--data/layouts/Route134/layout.inc14
-rw-r--r--data/layouts/RustboroCity/layout.inc14
-rw-r--r--data/layouts/RustboroCity_CuttersHouse/layout.inc14
-rw-r--r--data/layouts/RustboroCity_DevonCorp_1F/layout.inc14
-rw-r--r--data/layouts/RustboroCity_DevonCorp_2F/layout.inc14
-rw-r--r--data/layouts/RustboroCity_DevonCorp_3F/layout.inc14
-rw-r--r--data/layouts/RustboroCity_Flat1_1F/layout.inc14
-rw-r--r--data/layouts/RustboroCity_Flat1_2F/layout.inc14
-rw-r--r--data/layouts/RustboroCity_Flat2_1F/layout.inc14
-rw-r--r--data/layouts/RustboroCity_Flat2_2F/layout.inc14
-rw-r--r--data/layouts/RustboroCity_Flat2_3F/layout.inc14
-rw-r--r--data/layouts/RustboroCity_Gym/layout.inc14
-rw-r--r--data/layouts/RustboroCity_House/layout.inc14
-rw-r--r--data/layouts/RustboroCity_House1/layout.inc14
-rw-r--r--data/layouts/RustboroCity_PokemonSchool/layout.inc14
-rw-r--r--data/layouts/RusturfTunnel/layout.inc14
-rw-r--r--data/layouts/SSTidalCorridor/layout.inc14
-rw-r--r--data/layouts/SSTidalLowerDeck/layout.inc14
-rw-r--r--data/layouts/SSTidalRooms/layout.inc14
-rw-r--r--data/layouts/SafariZone_Northeast/layout.inc14
-rw-r--r--data/layouts/SafariZone_Northwest/layout.inc14
-rw-r--r--data/layouts/SafariZone_RestHouse/layout.inc14
-rw-r--r--data/layouts/SafariZone_Southeast/layout.inc14
-rw-r--r--data/layouts/SafariZone_Southwest/layout.inc14
-rw-r--r--data/layouts/ScorchedSlab/layout.inc14
-rw-r--r--data/layouts/SeafloorCavern_Entrance/layout.inc14
-rw-r--r--data/layouts/SeafloorCavern_Room1/layout.inc14
-rw-r--r--data/layouts/SeafloorCavern_Room2/layout.inc14
-rw-r--r--data/layouts/SeafloorCavern_Room3/layout.inc14
-rw-r--r--data/layouts/SeafloorCavern_Room4/layout.inc14
-rw-r--r--data/layouts/SeafloorCavern_Room5/layout.inc14
-rw-r--r--data/layouts/SeafloorCavern_Room6/layout.inc14
-rw-r--r--data/layouts/SeafloorCavern_Room7/layout.inc14
-rw-r--r--data/layouts/SeafloorCavern_Room8/layout.inc14
-rw-r--r--data/layouts/SeafloorCavern_Room9/layout.inc14
-rw-r--r--data/layouts/SealedChamber_InnerRoom/layout.inc14
-rw-r--r--data/layouts/SealedChamber_OuterRoom/layout.inc14
-rw-r--r--data/layouts/SecretBase_BlueCave1/layout.inc14
-rw-r--r--data/layouts/SecretBase_BlueCave2/layout.inc14
-rw-r--r--data/layouts/SecretBase_BlueCave3/layout.inc14
-rw-r--r--data/layouts/SecretBase_BlueCave4/layout.inc14
-rw-r--r--data/layouts/SecretBase_BrownCave1/layout.inc14
-rw-r--r--data/layouts/SecretBase_BrownCave2/layout.inc14
-rw-r--r--data/layouts/SecretBase_BrownCave3/layout.inc14
-rw-r--r--data/layouts/SecretBase_BrownCave4/layout.inc14
-rw-r--r--data/layouts/SecretBase_RedCave1/layout.inc14
-rw-r--r--data/layouts/SecretBase_RedCave2/layout.inc14
-rw-r--r--data/layouts/SecretBase_RedCave3/layout.inc14
-rw-r--r--data/layouts/SecretBase_RedCave4/layout.inc14
-rw-r--r--data/layouts/SecretBase_Shrub1/layout.inc14
-rw-r--r--data/layouts/SecretBase_Shrub2/layout.inc14
-rw-r--r--data/layouts/SecretBase_Shrub3/layout.inc14
-rw-r--r--data/layouts/SecretBase_Shrub4/layout.inc14
-rw-r--r--data/layouts/SecretBase_Tree1/layout.inc14
-rw-r--r--data/layouts/SecretBase_Tree2/layout.inc14
-rw-r--r--data/layouts/SecretBase_Tree3/layout.inc14
-rw-r--r--data/layouts/SecretBase_Tree4/layout.inc14
-rw-r--r--data/layouts/SecretBase_YellowCave1/layout.inc14
-rw-r--r--data/layouts/SecretBase_YellowCave2/layout.inc14
-rw-r--r--data/layouts/SecretBase_YellowCave3/layout.inc14
-rw-r--r--data/layouts/SecretBase_YellowCave4/layout.inc14
-rw-r--r--data/layouts/ShoalCave_HighTideEntranceRoom/layout.inc14
-rw-r--r--data/layouts/ShoalCave_HighTideInnerRoom/layout.inc14
-rw-r--r--data/layouts/ShoalCave_LowTideEntranceRoom/layout.inc14
-rw-r--r--data/layouts/ShoalCave_LowTideIceRoom/layout.inc14
-rw-r--r--data/layouts/ShoalCave_LowTideInnerRoom/layout.inc14
-rw-r--r--data/layouts/ShoalCave_LowTideLowerRoom/layout.inc14
-rw-r--r--data/layouts/ShoalCave_LowTideStairsRoom/layout.inc14
-rw-r--r--data/layouts/SingleBattleColosseum/layout.inc14
-rw-r--r--data/layouts/SkyPillar_1F/layout.inc14
-rw-r--r--data/layouts/SkyPillar_2F/layout.inc14
-rw-r--r--data/layouts/SkyPillar_3F/layout.inc14
-rw-r--r--data/layouts/SkyPillar_4F/layout.inc14
-rw-r--r--data/layouts/SkyPillar_5F/layout.inc14
-rw-r--r--data/layouts/SkyPillar_Entrance/layout.inc14
-rw-r--r--data/layouts/SkyPillar_Outside/layout.inc14
-rw-r--r--data/layouts/SkyPillar_Top/layout.inc14
-rw-r--r--data/layouts/SlateportCity/layout.inc14
-rw-r--r--data/layouts/SlateportCity_OceanicMuseum_1F/layout.inc14
-rw-r--r--data/layouts/SlateportCity_OceanicMuseum_2F/layout.inc14
-rw-r--r--data/layouts/SlateportCity_PokemonFanClub/layout.inc14
-rw-r--r--data/layouts/SlateportCity_SternsShipyard_1F/layout.inc14
-rw-r--r--data/layouts/SlateportCity_SternsShipyard_2F/layout.inc14
-rw-r--r--data/layouts/SootopolisCity/layout.inc14
-rw-r--r--data/layouts/SootopolisCity_Gym_1F/layout.inc14
-rw-r--r--data/layouts/SootopolisCity_Gym_B1F/layout.inc14
-rw-r--r--data/layouts/SootopolisCity_House1/layout.inc14
-rw-r--r--data/layouts/SootopolisCity_House2/layout.inc14
-rw-r--r--data/layouts/SootopolisCity_House3/layout.inc14
-rw-r--r--data/layouts/SootopolisCity_House8/layout.inc14
-rw-r--r--data/layouts/SouthernIsland_Exterior/layout.inc14
-rw-r--r--data/layouts/SouthernIsland_Interior/layout.inc14
-rw-r--r--data/layouts/TradeCenter/layout.inc14
-rw-r--r--data/layouts/Underwater1/layout.inc14
-rw-r--r--data/layouts/Underwater2/layout.inc14
-rw-r--r--data/layouts/Underwater3/layout.inc14
-rw-r--r--data/layouts/Underwater4/layout.inc14
-rw-r--r--data/layouts/Underwater_Route134/layout.inc14
-rw-r--r--data/layouts/Underwater_SeafloorCavern/layout.inc14
-rw-r--r--data/layouts/Underwater_SealedChamber/layout.inc14
-rw-r--r--data/layouts/Underwater_SootopolisCity/layout.inc14
-rw-r--r--data/layouts/UnknownMap_082CF564/layout.inc14
-rw-r--r--data/layouts/UnknownMap_082D05D8/layout.inc14
-rw-r--r--data/layouts/UnknownMap_082D05FC/layout.inc14
-rw-r--r--data/layouts/UnknownMap_082E55C8/layout.inc14
-rw-r--r--data/layouts/UnknownMap_082E55EC/layout.inc14
-rw-r--r--data/layouts/UnknownMap_082E5610/layout.inc14
-rw-r--r--data/layouts/UnknownMap_082E5634/layout.inc14
-rw-r--r--data/layouts/UnknownMap_082E5658/layout.inc14
-rw-r--r--data/layouts/UnknownMap_082E567C/layout.inc14
-rw-r--r--data/layouts/UnknownMap_082E56A0/layout.inc14
-rw-r--r--data/layouts/UnknownMap_082E56C4/layout.inc14
-rw-r--r--data/layouts/UnknownMap_082E56E8/layout.inc14
-rw-r--r--data/layouts/UnknownMap_082E570C/layout.inc14
-rw-r--r--data/layouts/UnknownMap_082E5730/layout.inc14
-rw-r--r--data/layouts/UnknownMap_082E5754/layout.inc14
-rw-r--r--data/layouts/UnknownMap_082E5778/layout.inc14
-rw-r--r--data/layouts/UnknownMap_082E579C/layout.inc14
-rw-r--r--data/layouts/UnknownMap_082EDF30/layout.inc14
-rw-r--r--data/layouts/UnknownMap_082FF894/layout.inc14
-rw-r--r--data/layouts/UnknownMap_08302970/layout.inc14
-rw-r--r--data/layouts/UnknownMap_083041B4/layout.inc14
-rw-r--r--data/layouts/UnknownMap_25_29/layout.inc14
-rw-r--r--data/layouts/UnknownMap_25_30/layout.inc14
-rw-r--r--data/layouts/UnknownMap_25_31/layout.inc14
-rw-r--r--data/layouts/UnknownMap_25_32/layout.inc14
-rw-r--r--data/layouts/UnknownMap_25_33/layout.inc14
-rw-r--r--data/layouts/UnknownMap_25_34/layout.inc14
-rw-r--r--data/layouts/UnreferencedMap/layout.inc14
-rw-r--r--data/layouts/VerdanturfTown/layout.inc14
-rw-r--r--data/layouts/VerdanturfTown_WandasHouse/layout.inc14
-rw-r--r--data/layouts/VictoryRoad_1F/layout.inc14
-rw-r--r--data/layouts/VictoryRoad_B1F/layout.inc14
-rw-r--r--data/layouts/VictoryRoad_B2F/layout.inc14
-rw-r--r--data/layouts/layouts.json3325
-rw-r--r--data/layouts_table.inc334
-rw-r--r--data/map_events.s395
-rw-r--r--data/maps.s5
-rwxr-xr-xdata/maps/.gitignore7
-rw-r--r--data/maps/AbandonedShip_CaptainsOffice/events.inc10
-rw-r--r--data/maps/AbandonedShip_CaptainsOffice/header.inc14
-rw-r--r--data/maps/AbandonedShip_CaptainsOffice/map.json59
-rw-r--r--data/maps/AbandonedShip_Corridors_1F/events.inc20
-rw-r--r--data/maps/AbandonedShip_Corridors_1F/header.inc14
-rw-r--r--data/maps/AbandonedShip_Corridors_1F/map.json129
-rw-r--r--data/maps/AbandonedShip_Corridors_B1F/events.inc19
-rw-r--r--data/maps/AbandonedShip_Corridors_B1F/header.inc14
-rw-r--r--data/maps/AbandonedShip_Corridors_B1F/map.json110
-rw-r--r--data/maps/AbandonedShip_Deck/events.inc9
-rw-r--r--data/maps/AbandonedShip_Deck/header.inc14
-rw-r--r--data/maps/AbandonedShip_Deck/map.json53
-rw-r--r--data/maps/AbandonedShip_HiddenFloorCorridors/events.inc16
-rw-r--r--data/maps/AbandonedShip_HiddenFloorCorridors/header.inc14
-rw-r--r--data/maps/AbandonedShip_HiddenFloorCorridors/map.json93
-rw-r--r--data/maps/AbandonedShip_HiddenFloorRooms/events.inc31
-rw-r--r--data/maps/AbandonedShip_HiddenFloorRooms/header.inc14
-rw-r--r--data/maps/AbandonedShip_HiddenFloorRooms/map.json215
-rw-r--r--data/maps/AbandonedShip_Room_B1F/events.inc9
-rw-r--r--data/maps/AbandonedShip_Room_B1F/header.inc14
-rw-r--r--data/maps/AbandonedShip_Room_B1F/map.json46
-rw-r--r--data/maps/AbandonedShip_Rooms2_1F/events.inc12
-rw-r--r--data/maps/AbandonedShip_Rooms2_1F/header.inc14
-rw-r--r--data/maps/AbandonedShip_Rooms2_1F/map.json79
-rw-r--r--data/maps/AbandonedShip_Rooms2_B1F/events.inc12
-rw-r--r--data/maps/AbandonedShip_Rooms2_B1F/header.inc14
-rw-r--r--data/maps/AbandonedShip_Rooms2_B1F/map.json73
-rw-r--r--data/maps/AbandonedShip_Rooms_1F/events.inc14
-rw-r--r--data/maps/AbandonedShip_Rooms_1F/header.inc14
-rw-r--r--data/maps/AbandonedShip_Rooms_1F/map.json87
-rw-r--r--data/maps/AbandonedShip_Rooms_B1F/events.inc11
-rw-r--r--data/maps/AbandonedShip_Rooms_B1F/header.inc14
-rw-r--r--data/maps/AbandonedShip_Rooms_B1F/map.json66
-rw-r--r--data/maps/AbandonedShip_Underwater1/events.inc6
-rw-r--r--data/maps/AbandonedShip_Underwater1/header.inc14
-rw-r--r--data/maps/AbandonedShip_Underwater1/map.json32
-rw-r--r--data/maps/AbandonedShip_Underwater2/events.inc5
-rw-r--r--data/maps/AbandonedShip_Underwater2/header.inc14
-rw-r--r--data/maps/AbandonedShip_Underwater2/map.json25
-rw-r--r--data/maps/AncientTomb/events.inc15
-rw-r--r--data/maps/AncientTomb/header.inc14
-rw-r--r--data/maps/AncientTomb/map.json78
-rw-r--r--data/maps/AquaHideout_1F/events.inc12
-rw-r--r--data/maps/AquaHideout_1F/header.inc14
-rw-r--r--data/maps/AquaHideout_1F/map.json79
-rw-r--r--data/maps/AquaHideout_B1F/events.inc39
-rw-r--r--data/maps/AquaHideout_B1F/header.inc14
-rw-r--r--data/maps/AquaHideout_B1F/map.json298
-rw-r--r--data/maps/AquaHideout_B2F/events.inc25
-rw-r--r--data/maps/AquaHideout_B2F/header.inc14
-rw-r--r--data/maps/AquaHideout_B2F/map.json173
-rw-r--r--data/maps/BattleTower_BattleRoom/events.inc10
-rw-r--r--data/maps/BattleTower_BattleRoom/header.inc14
-rw-r--r--data/maps/BattleTower_BattleRoom/map.json59
-rw-r--r--data/maps/BattleTower_Corridor/events.inc5
-rw-r--r--data/maps/BattleTower_Corridor/header.inc14
-rw-r--r--data/maps/BattleTower_Corridor/map.json31
-rw-r--r--data/maps/BattleTower_Elevator/events.inc5
-rw-r--r--data/maps/BattleTower_Elevator/header.inc14
-rw-r--r--data/maps/BattleTower_Elevator/map.json31
-rw-r--r--data/maps/BattleTower_Lobby/events.inc18
-rw-r--r--data/maps/BattleTower_Lobby/header.inc14
-rw-r--r--data/maps/BattleTower_Lobby/map.json127
-rw-r--r--data/maps/BattleTower_Outside/events.inc15
-rw-r--r--data/maps/BattleTower_Outside/header.inc14
-rw-r--r--data/maps/BattleTower_Outside/map.json100
-rw-r--r--data/maps/CaveOfOrigin_1F/events.inc11
-rw-r--r--data/maps/CaveOfOrigin_1F/header.inc14
-rw-r--r--data/maps/CaveOfOrigin_1F/map.json60
-rw-r--r--data/maps/CaveOfOrigin_B1F/events.inc11
-rw-r--r--data/maps/CaveOfOrigin_B1F/header.inc14
-rw-r--r--data/maps/CaveOfOrigin_B1F/map.json60
-rw-r--r--data/maps/CaveOfOrigin_B2F/events.inc11
-rw-r--r--data/maps/CaveOfOrigin_B2F/header.inc14
-rw-r--r--data/maps/CaveOfOrigin_B2F/map.json60
-rw-r--r--data/maps/CaveOfOrigin_B3F/events.inc14
-rw-r--r--data/maps/CaveOfOrigin_B3F/header.inc14
-rw-r--r--data/maps/CaveOfOrigin_B3F/map.json74
-rw-r--r--data/maps/CaveOfOrigin_B4F/events.inc13
-rw-r--r--data/maps/CaveOfOrigin_B4F/header.inc14
-rw-r--r--data/maps/CaveOfOrigin_B4F/map.json67
-rw-r--r--data/maps/CaveOfOrigin_Entrance/events.inc6
-rw-r--r--data/maps/CaveOfOrigin_Entrance/header.inc14
-rw-r--r--data/maps/CaveOfOrigin_Entrance/map.json32
-rw-r--r--data/maps/DesertRuins/events.inc15
-rw-r--r--data/maps/DesertRuins/header.inc14
-rw-r--r--data/maps/DesertRuins/map.json78
-rw-r--r--data/maps/DewfordTown/connections.inc7
-rw-r--r--data/maps/DewfordTown/events.inc23
-rw-r--r--data/maps/DewfordTown/header.inc14
-rw-r--r--data/maps/DewfordTown/map.json171
-rw-r--r--data/maps/DewfordTown_Gym/events.inc19
-rw-r--r--data/maps/DewfordTown_Gym/header.inc14
-rw-r--r--data/maps/DewfordTown_Gym/map.json131
-rw-r--r--data/maps/DewfordTown_Hall/events.inc21
-rw-r--r--data/maps/DewfordTown_Hall/header.inc14
-rw-r--r--data/maps/DewfordTown_Hall/map.json167
-rw-r--r--data/maps/DewfordTown_House1/events.inc11
-rw-r--r--data/maps/DewfordTown_House1/header.inc14
-rw-r--r--data/maps/DewfordTown_House1/map.json72
-rw-r--r--data/maps/DewfordTown_House2/events.inc10
-rw-r--r--data/maps/DewfordTown_House2/header.inc14
-rw-r--r--data/maps/DewfordTown_House2/map.json59
-rw-r--r--data/maps/DewfordTown_PokemonCenter_1F/events.inc12
-rw-r--r--data/maps/DewfordTown_PokemonCenter_1F/header.inc14
-rw-r--r--data/maps/DewfordTown_PokemonCenter_1F/map.json79
-rw-r--r--data/maps/DewfordTown_PokemonCenter_2F/events.inc14
-rw-r--r--data/maps/DewfordTown_PokemonCenter_2F/header.inc14
-rw-r--r--data/maps/DewfordTown_PokemonCenter_2F/map.json93
-rw-r--r--data/maps/DoubleBattleColosseum/events.inc14
-rw-r--r--data/maps/DoubleBattleColosseum/header.inc14
-rw-r--r--data/maps/DoubleBattleColosseum/map.json83
-rw-r--r--data/maps/EverGrandeCity/connections.inc6
-rw-r--r--data/maps/EverGrandeCity/events.inc28
-rw-r--r--data/maps/EverGrandeCity/header.inc14
-rw-r--r--data/maps/EverGrandeCity/map.json193
-rw-r--r--data/maps/EverGrandeCity_ChampionsRoom/events.inc11
-rw-r--r--data/maps/EverGrandeCity_ChampionsRoom/header.inc14
-rw-r--r--data/maps/EverGrandeCity_ChampionsRoom/map.json72
-rw-r--r--data/maps/EverGrandeCity_Corridor1/events.inc8
-rw-r--r--data/maps/EverGrandeCity_Corridor1/header.inc14
-rw-r--r--data/maps/EverGrandeCity_Corridor1/map.json46
-rw-r--r--data/maps/EverGrandeCity_Corridor2/events.inc8
-rw-r--r--data/maps/EverGrandeCity_Corridor2/header.inc14
-rw-r--r--data/maps/EverGrandeCity_Corridor2/map.json46
-rw-r--r--data/maps/EverGrandeCity_Corridor3/events.inc8
-rw-r--r--data/maps/EverGrandeCity_Corridor3/header.inc14
-rw-r--r--data/maps/EverGrandeCity_Corridor3/map.json46
-rw-r--r--data/maps/EverGrandeCity_Corridor4/events.inc6
-rw-r--r--data/maps/EverGrandeCity_Corridor4/header.inc14
-rw-r--r--data/maps/EverGrandeCity_Corridor4/map.json32
-rw-r--r--data/maps/EverGrandeCity_Corridor5/events.inc8
-rw-r--r--data/maps/EverGrandeCity_Corridor5/header.inc14
-rw-r--r--data/maps/EverGrandeCity_Corridor5/map.json46
-rw-r--r--data/maps/EverGrandeCity_DrakesRoom/events.inc9
-rw-r--r--data/maps/EverGrandeCity_DrakesRoom/header.inc14
-rw-r--r--data/maps/EverGrandeCity_DrakesRoom/map.json46
-rw-r--r--data/maps/EverGrandeCity_GlaciasRoom/events.inc9
-rw-r--r--data/maps/EverGrandeCity_GlaciasRoom/header.inc14
-rw-r--r--data/maps/EverGrandeCity_GlaciasRoom/map.json46
-rw-r--r--data/maps/EverGrandeCity_HallOfFame/events.inc8
-rw-r--r--data/maps/EverGrandeCity_HallOfFame/header.inc14
-rw-r--r--data/maps/EverGrandeCity_HallOfFame/map.json39
-rw-r--r--data/maps/EverGrandeCity_PhoebesRoom/events.inc9
-rw-r--r--data/maps/EverGrandeCity_PhoebesRoom/header.inc14
-rw-r--r--data/maps/EverGrandeCity_PhoebesRoom/map.json46
-rw-r--r--data/maps/EverGrandeCity_PokemonCenter_1F/events.inc12
-rw-r--r--data/maps/EverGrandeCity_PokemonCenter_1F/header.inc14
-rw-r--r--data/maps/EverGrandeCity_PokemonCenter_1F/map.json79
-rw-r--r--data/maps/EverGrandeCity_PokemonCenter_2F/events.inc14
-rw-r--r--data/maps/EverGrandeCity_PokemonCenter_2F/header.inc14
-rw-r--r--data/maps/EverGrandeCity_PokemonCenter_2F/map.json93
-rw-r--r--data/maps/EverGrandeCity_PokemonLeague/events.inc14
-rw-r--r--data/maps/EverGrandeCity_PokemonLeague/header.inc14
-rw-r--r--data/maps/EverGrandeCity_PokemonLeague/map.json99
-rw-r--r--data/maps/EverGrandeCity_SidneysRoom/events.inc9
-rw-r--r--data/maps/EverGrandeCity_SidneysRoom/header.inc14
-rw-r--r--data/maps/EverGrandeCity_SidneysRoom/map.json46
-rw-r--r--data/maps/FallarborTown/connections.inc7
-rw-r--r--data/maps/FallarborTown/events.inc25
-rw-r--r--data/maps/FallarborTown/header.inc14
-rw-r--r--data/maps/FallarborTown/map.json182
-rw-r--r--data/maps/FallarborTown_ContestHall/events.inc15
-rw-r--r--data/maps/FallarborTown_ContestHall/header.inc14
-rw-r--r--data/maps/FallarborTown_ContestHall/map.json89
-rw-r--r--data/maps/FallarborTown_ContestLobby/events.inc21
-rw-r--r--data/maps/FallarborTown_ContestLobby/header.inc14
-rw-r--r--data/maps/FallarborTown_ContestLobby/map.json151
-rw-r--r--data/maps/FallarborTown_House1/events.inc10
-rw-r--r--data/maps/FallarborTown_House1/header.inc14
-rw-r--r--data/maps/FallarborTown_House1/map.json59
-rw-r--r--data/maps/FallarborTown_House2/events.inc9
-rw-r--r--data/maps/FallarborTown_House2/header.inc14
-rw-r--r--data/maps/FallarborTown_House2/map.json46
-rw-r--r--data/maps/FallarborTown_Mart/events.inc12
-rw-r--r--data/maps/FallarborTown_Mart/header.inc14
-rw-r--r--data/maps/FallarborTown_Mart/map.json85
-rw-r--r--data/maps/FallarborTown_PokemonCenter_1F/events.inc13
-rw-r--r--data/maps/FallarborTown_PokemonCenter_1F/header.inc14
-rw-r--r--data/maps/FallarborTown_PokemonCenter_1F/map.json92
-rw-r--r--data/maps/FallarborTown_PokemonCenter_2F/events.inc14
-rw-r--r--data/maps/FallarborTown_PokemonCenter_2F/header.inc14
-rw-r--r--data/maps/FallarborTown_PokemonCenter_2F/map.json93
-rw-r--r--data/maps/FieryPath/events.inc16
-rw-r--r--data/maps/FieryPath/header.inc14
-rw-r--r--data/maps/FieryPath/map.json137
-rw-r--r--data/maps/FortreeCity/connections.inc7
-rw-r--r--data/maps/FortreeCity/events.inc30
-rw-r--r--data/maps/FortreeCity/header.inc14
-rw-r--r--data/maps/FortreeCity/map.json233
-rw-r--r--data/maps/FortreeCity_DecorationShop/events.inc12
-rw-r--r--data/maps/FortreeCity_DecorationShop/header.inc14
-rw-r--r--data/maps/FortreeCity_DecorationShop/map.json85
-rw-r--r--data/maps/FortreeCity_Gym/events.inc18
-rw-r--r--data/maps/FortreeCity_Gym/header.inc14
-rw-r--r--data/maps/FortreeCity_Gym/map.json128
-rw-r--r--data/maps/FortreeCity_House1/events.inc11
-rw-r--r--data/maps/FortreeCity_House1/header.inc14
-rw-r--r--data/maps/FortreeCity_House1/map.json72
-rw-r--r--data/maps/FortreeCity_House2/events.inc9
-rw-r--r--data/maps/FortreeCity_House2/header.inc14
-rw-r--r--data/maps/FortreeCity_House2/map.json46
-rw-r--r--data/maps/FortreeCity_House3/events.inc10
-rw-r--r--data/maps/FortreeCity_House3/header.inc14
-rw-r--r--data/maps/FortreeCity_House3/map.json59
-rw-r--r--data/maps/FortreeCity_House4/events.inc11
-rw-r--r--data/maps/FortreeCity_House4/header.inc14
-rw-r--r--data/maps/FortreeCity_House4/map.json72
-rw-r--r--data/maps/FortreeCity_House5/events.inc11
-rw-r--r--data/maps/FortreeCity_House5/header.inc14
-rw-r--r--data/maps/FortreeCity_House5/map.json72
-rw-r--r--data/maps/FortreeCity_Mart/events.inc12
-rw-r--r--data/maps/FortreeCity_Mart/header.inc14
-rw-r--r--data/maps/FortreeCity_Mart/map.json85
-rw-r--r--data/maps/FortreeCity_PokemonCenter_1F/events.inc13
-rw-r--r--data/maps/FortreeCity_PokemonCenter_1F/header.inc14
-rw-r--r--data/maps/FortreeCity_PokemonCenter_1F/map.json92
-rw-r--r--data/maps/FortreeCity_PokemonCenter_2F/events.inc14
-rw-r--r--data/maps/FortreeCity_PokemonCenter_2F/header.inc14
-rw-r--r--data/maps/FortreeCity_PokemonCenter_2F/map.json93
-rw-r--r--data/maps/GraniteCave_1F/events.inc12
-rw-r--r--data/maps/GraniteCave_1F/header.inc14
-rw-r--r--data/maps/GraniteCave_1F/map.json73
-rw-r--r--data/maps/GraniteCave_B1F/events.inc14
-rw-r--r--data/maps/GraniteCave_B1F/header.inc14
-rw-r--r--data/maps/GraniteCave_B1F/map.json81
-rw-r--r--data/maps/GraniteCave_B2F/events.inc24
-rw-r--r--data/maps/GraniteCave_B2F/header.inc14
-rw-r--r--data/maps/GraniteCave_B2F/map.json188
-rw-r--r--data/maps/GraniteCave_StevensRoom/events.inc8
-rw-r--r--data/maps/GraniteCave_StevensRoom/header.inc14
-rw-r--r--data/maps/GraniteCave_StevensRoom/map.json39
-rw-r--r--data/maps/InsideOfTruck/events.inc24
-rw-r--r--data/maps/InsideOfTruck/header.inc14
-rw-r--r--data/maps/InsideOfTruck/map.json148
-rw-r--r--data/maps/IslandCave/events.inc15
-rw-r--r--data/maps/IslandCave/header.inc14
-rw-r--r--data/maps/IslandCave/map.json78
-rw-r--r--data/maps/JaggedPass/events.inc25
-rw-r--r--data/maps/JaggedPass/header.inc14
-rw-r--r--data/maps/JaggedPass/map.json152
-rw-r--r--data/maps/LavaridgeTown/connections.inc6
-rw-r--r--data/maps/LavaridgeTown/events.inc34
-rw-r--r--data/maps/LavaridgeTown/header.inc14
-rw-r--r--data/maps/LavaridgeTown/map.json259
-rw-r--r--data/maps/LavaridgeTown_Gym_1F/events.inc39
-rw-r--r--data/maps/LavaridgeTown_Gym_1F/header.inc14
-rw-r--r--data/maps/LavaridgeTown_Gym_1F/map.json281
-rw-r--r--data/maps/LavaridgeTown_Gym_B1F/events.inc24
-rw-r--r--data/maps/LavaridgeTown_Gym_B1F/header.inc14
-rw-r--r--data/maps/LavaridgeTown_Gym_B1F/map.json158
-rw-r--r--data/maps/LavaridgeTown_HerbShop/events.inc11
-rw-r--r--data/maps/LavaridgeTown_HerbShop/header.inc14
-rw-r--r--data/maps/LavaridgeTown_HerbShop/map.json72
-rw-r--r--data/maps/LavaridgeTown_House/events.inc10
-rw-r--r--data/maps/LavaridgeTown_House/header.inc14
-rw-r--r--data/maps/LavaridgeTown_House/map.json59
-rw-r--r--data/maps/LavaridgeTown_Mart/events.inc11
-rw-r--r--data/maps/LavaridgeTown_Mart/header.inc14
-rw-r--r--data/maps/LavaridgeTown_Mart/map.json72
-rw-r--r--data/maps/LavaridgeTown_PokemonCenter_1F/events.inc14
-rw-r--r--data/maps/LavaridgeTown_PokemonCenter_1F/header.inc14
-rw-r--r--data/maps/LavaridgeTown_PokemonCenter_1F/map.json99
-rw-r--r--data/maps/LavaridgeTown_PokemonCenter_2F/events.inc14
-rw-r--r--data/maps/LavaridgeTown_PokemonCenter_2F/header.inc14
-rw-r--r--data/maps/LavaridgeTown_PokemonCenter_2F/map.json93
-rw-r--r--data/maps/LilycoveCity/connections.inc7
-rw-r--r--data/maps/LilycoveCity/events.inc53
-rw-r--r--data/maps/LilycoveCity/header.inc14
-rw-r--r--data/maps/LilycoveCity/map.json461
-rw-r--r--data/maps/LilycoveCity_ContestHall/events.inc50
-rw-r--r--data/maps/LilycoveCity_ContestHall/header.inc14
-rw-r--r--data/maps/LilycoveCity_ContestHall/map.json512
-rw-r--r--data/maps/LilycoveCity_ContestLobby/events.inc32
-rw-r--r--data/maps/LilycoveCity_ContestLobby/header.inc14
-rw-r--r--data/maps/LilycoveCity_ContestLobby/map.json278
-rw-r--r--data/maps/LilycoveCity_CoveLilyMotel_1F/events.inc13
-rw-r--r--data/maps/LilycoveCity_CoveLilyMotel_1F/header.inc14
-rw-r--r--data/maps/LilycoveCity_CoveLilyMotel_1F/map.json63
-rw-r--r--data/maps/LilycoveCity_CoveLilyMotel_2F/events.inc13
-rw-r--r--data/maps/LilycoveCity_CoveLilyMotel_2F/header.inc14
-rw-r--r--data/maps/LilycoveCity_CoveLilyMotel_2F/map.json104
-rw-r--r--data/maps/LilycoveCity_DepartmentStoreElevator/events.inc9
-rw-r--r--data/maps/LilycoveCity_DepartmentStoreElevator/header.inc14
-rw-r--r--data/maps/LilycoveCity_DepartmentStoreElevator/map.json46
-rw-r--r--data/maps/LilycoveCity_DepartmentStoreRooftop/events.inc14
-rw-r--r--data/maps/LilycoveCity_DepartmentStoreRooftop/header.inc14
-rw-r--r--data/maps/LilycoveCity_DepartmentStoreRooftop/map.json82
-rw-r--r--data/maps/LilycoveCity_DepartmentStore_1F/events.inc19
-rw-r--r--data/maps/LilycoveCity_DepartmentStore_1F/header.inc14
-rw-r--r--data/maps/LilycoveCity_DepartmentStore_1F/map.json134
-rw-r--r--data/maps/LilycoveCity_DepartmentStore_2F/events.inc14
-rw-r--r--data/maps/LilycoveCity_DepartmentStore_2F/header.inc14
-rw-r--r--data/maps/LilycoveCity_DepartmentStore_2F/map.json105
-rw-r--r--data/maps/LilycoveCity_DepartmentStore_3F/events.inc14
-rw-r--r--data/maps/LilycoveCity_DepartmentStore_3F/header.inc14
-rw-r--r--data/maps/LilycoveCity_DepartmentStore_3F/map.json105
-rw-r--r--data/maps/LilycoveCity_DepartmentStore_4F/events.inc14
-rw-r--r--data/maps/LilycoveCity_DepartmentStore_4F/header.inc14
-rw-r--r--data/maps/LilycoveCity_DepartmentStore_4F/map.json105
-rw-r--r--data/maps/LilycoveCity_DepartmentStore_5F/events.inc16
-rw-r--r--data/maps/LilycoveCity_DepartmentStore_5F/header.inc14
-rw-r--r--data/maps/LilycoveCity_DepartmentStore_5F/map.json131
-rw-r--r--data/maps/LilycoveCity_EmptyMap/events.inc5
-rw-r--r--data/maps/LilycoveCity_EmptyMap/header.inc14
-rw-r--r--data/maps/LilycoveCity_EmptyMap/map.json25
-rw-r--r--data/maps/LilycoveCity_Harbor/events.inc14
-rw-r--r--data/maps/LilycoveCity_Harbor/header.inc14
-rw-r--r--data/maps/LilycoveCity_Harbor/map.json99
-rw-r--r--data/maps/LilycoveCity_House1/events.inc10
-rw-r--r--data/maps/LilycoveCity_House1/header.inc14
-rw-r--r--data/maps/LilycoveCity_House1/map.json59
-rw-r--r--data/maps/LilycoveCity_House2/events.inc9
-rw-r--r--data/maps/LilycoveCity_House2/header.inc14
-rw-r--r--data/maps/LilycoveCity_House2/map.json46
-rw-r--r--data/maps/LilycoveCity_House3/events.inc14
-rw-r--r--data/maps/LilycoveCity_House3/header.inc14
-rw-r--r--data/maps/LilycoveCity_House3/map.json111
-rw-r--r--data/maps/LilycoveCity_House4/events.inc10
-rw-r--r--data/maps/LilycoveCity_House4/header.inc14
-rw-r--r--data/maps/LilycoveCity_House4/map.json59
-rw-r--r--data/maps/LilycoveCity_LilycoveMuseum_1F/events.inc37
-rw-r--r--data/maps/LilycoveCity_LilycoveMuseum_1F/header.inc14
-rw-r--r--data/maps/LilycoveCity_LilycoveMuseum_1F/map.json299
-rw-r--r--data/maps/LilycoveCity_LilycoveMuseum_2F/events.inc25
-rw-r--r--data/maps/LilycoveCity_LilycoveMuseum_2F/header.inc14
-rw-r--r--data/maps/LilycoveCity_LilycoveMuseum_2F/map.json175
-rw-r--r--data/maps/LilycoveCity_MoveDeletersHouse/events.inc9
-rw-r--r--data/maps/LilycoveCity_MoveDeletersHouse/header.inc14
-rw-r--r--data/maps/LilycoveCity_MoveDeletersHouse/map.json46
-rw-r--r--data/maps/LilycoveCity_PokemonCenter_1F/events.inc12
-rw-r--r--data/maps/LilycoveCity_PokemonCenter_1F/header.inc14
-rw-r--r--data/maps/LilycoveCity_PokemonCenter_1F/map.json79
-rw-r--r--data/maps/LilycoveCity_PokemonCenter_2F/events.inc14
-rw-r--r--data/maps/LilycoveCity_PokemonCenter_2F/header.inc14
-rw-r--r--data/maps/LilycoveCity_PokemonCenter_2F/map.json93
-rw-r--r--data/maps/LilycoveCity_PokemonTrainerFanClub/events.inc16
-rw-r--r--data/maps/LilycoveCity_PokemonTrainerFanClub/header.inc14
-rw-r--r--data/maps/LilycoveCity_PokemonTrainerFanClub/map.json137
-rw-r--r--data/maps/LilycoveCity_UnusedMart/events.inc6
-rw-r--r--data/maps/LilycoveCity_UnusedMart/header.inc14
-rw-r--r--data/maps/LilycoveCity_UnusedMart/map.json32
-rw-r--r--data/maps/LinkContestRoom1/events.inc18
-rw-r--r--data/maps/LinkContestRoom1/header.inc14
-rw-r--r--data/maps/LinkContestRoom1/map.json213
-rw-r--r--data/maps/LinkContestRoom1/scripts.inc428
-rw-r--r--data/maps/LinkContestRoom2/events.inc1
-rw-r--r--data/maps/LinkContestRoom2/header.inc14
-rw-r--r--data/maps/LinkContestRoom2/map.json15
-rw-r--r--data/maps/LinkContestRoom2/scripts.inc2
-rw-r--r--data/maps/LinkContestRoom3/events.inc1
-rw-r--r--data/maps/LinkContestRoom3/header.inc14
-rw-r--r--data/maps/LinkContestRoom3/map.json15
-rw-r--r--data/maps/LinkContestRoom3/scripts.inc2
-rw-r--r--data/maps/LinkContestRoom4/events.inc1
-rw-r--r--data/maps/LinkContestRoom4/header.inc14
-rw-r--r--data/maps/LinkContestRoom4/map.json15
-rw-r--r--data/maps/LinkContestRoom4/scripts.inc2
-rw-r--r--data/maps/LinkContestRoom5/events.inc1
-rw-r--r--data/maps/LinkContestRoom5/header.inc14
-rw-r--r--data/maps/LinkContestRoom5/map.json15
-rw-r--r--data/maps/LinkContestRoom5/scripts.inc2
-rw-r--r--data/maps/LinkContestRoom6/events.inc1
-rw-r--r--data/maps/LinkContestRoom6/header.inc14
-rw-r--r--data/maps/LinkContestRoom6/map.json15
-rw-r--r--data/maps/LinkContestRoom6/scripts.inc2
-rw-r--r--data/maps/LittlerootTown/connections.inc6
-rw-r--r--data/maps/LittlerootTown/events.inc32
-rw-r--r--data/maps/LittlerootTown/header.inc14
-rw-r--r--data/maps/LittlerootTown/map.json239
-rw-r--r--data/maps/LittlerootTown_BrendansHouse_1F/events.inc17
-rw-r--r--data/maps/LittlerootTown_BrendansHouse_1F/header.inc14
-rw-r--r--data/maps/LittlerootTown_BrendansHouse_1F/map.json115
-rw-r--r--data/maps/LittlerootTown_BrendansHouse_2F/events.inc27
-rw-r--r--data/maps/LittlerootTown_BrendansHouse_2F/header.inc14
-rw-r--r--data/maps/LittlerootTown_BrendansHouse_2F/map.json241
-rw-r--r--data/maps/LittlerootTown_MaysHouse_1F/events.inc17
-rw-r--r--data/maps/LittlerootTown_MaysHouse_1F/header.inc14
-rw-r--r--data/maps/LittlerootTown_MaysHouse_1F/map.json115
-rw-r--r--data/maps/LittlerootTown_MaysHouse_2F/events.inc28
-rw-r--r--data/maps/LittlerootTown_MaysHouse_2F/header.inc14
-rw-r--r--data/maps/LittlerootTown_MaysHouse_2F/map.json254
-rw-r--r--data/maps/LittlerootTown_ProfessorBirchsLab/events.inc28
-rw-r--r--data/maps/LittlerootTown_ProfessorBirchsLab/header.inc14
-rw-r--r--data/maps/LittlerootTown_ProfessorBirchsLab/map.json193
-rw-r--r--data/maps/MagmaHideout_1F/events.inc11
-rw-r--r--data/maps/MagmaHideout_1F/header.inc14
-rw-r--r--data/maps/MagmaHideout_1F/map.json72
-rw-r--r--data/maps/MagmaHideout_B1F/events.inc43
-rw-r--r--data/maps/MagmaHideout_B1F/header.inc14
-rw-r--r--data/maps/MagmaHideout_B1F/map.json326
-rw-r--r--data/maps/MagmaHideout_B2F/events.inc25
-rw-r--r--data/maps/MagmaHideout_B2F/header.inc14
-rw-r--r--data/maps/MagmaHideout_B2F/map.json177
-rw-r--r--data/maps/MauvilleCity/connections.inc9
-rw-r--r--data/maps/MauvilleCity/events.inc32
-rw-r--r--data/maps/MauvilleCity/header.inc14
-rw-r--r--data/maps/MauvilleCity/map.json271
-rw-r--r--data/maps/MauvilleCity_BikeShop/events.inc14
-rw-r--r--data/maps/MauvilleCity_BikeShop/header.inc14
-rw-r--r--data/maps/MauvilleCity_BikeShop/map.json76
-rw-r--r--data/maps/MauvilleCity_GameCorner/events.inc46
-rw-r--r--data/maps/MauvilleCity_GameCorner/header.inc14
-rw-r--r--data/maps/MauvilleCity_GameCorner/map.json382
-rw-r--r--data/maps/MauvilleCity_Gym/events.inc23
-rw-r--r--data/maps/MauvilleCity_Gym/header.inc14
-rw-r--r--data/maps/MauvilleCity_Gym/map.json156
-rw-r--r--data/maps/MauvilleCity_House1/events.inc9
-rw-r--r--data/maps/MauvilleCity_House1/header.inc14
-rw-r--r--data/maps/MauvilleCity_House1/map.json46
-rw-r--r--data/maps/MauvilleCity_House2/events.inc9
-rw-r--r--data/maps/MauvilleCity_House2/header.inc14
-rw-r--r--data/maps/MauvilleCity_House2/map.json46
-rw-r--r--data/maps/MauvilleCity_Mart/events.inc11
-rw-r--r--data/maps/MauvilleCity_Mart/header.inc14
-rw-r--r--data/maps/MauvilleCity_Mart/map.json72
-rw-r--r--data/maps/MauvilleCity_PokemonCenter_1F/events.inc14
-rw-r--r--data/maps/MauvilleCity_PokemonCenter_1F/header.inc14
-rw-r--r--data/maps/MauvilleCity_PokemonCenter_1F/map.json105
-rw-r--r--data/maps/MauvilleCity_PokemonCenter_2F/events.inc15
-rw-r--r--data/maps/MauvilleCity_PokemonCenter_2F/header.inc14
-rw-r--r--data/maps/MauvilleCity_PokemonCenter_2F/map.json106
-rw-r--r--data/maps/MeteorFalls_1F_1R/events.inc28
-rw-r--r--data/maps/MeteorFalls_1F_1R/header.inc14
-rw-r--r--data/maps/MeteorFalls_1F_1R/map.json211
-rw-r--r--data/maps/MeteorFalls_1F_2R/events.inc17
-rw-r--r--data/maps/MeteorFalls_1F_2R/header.inc14
-rw-r--r--data/maps/MeteorFalls_1F_2R/map.json103
-rw-r--r--data/maps/MeteorFalls_B1F_1R/events.inc10
-rw-r--r--data/maps/MeteorFalls_B1F_1R/header.inc14
-rw-r--r--data/maps/MeteorFalls_B1F_1R/map.json60
-rw-r--r--data/maps/MeteorFalls_B1F_2R/events.inc8
-rw-r--r--data/maps/MeteorFalls_B1F_2R/header.inc14
-rw-r--r--data/maps/MeteorFalls_B1F_2R/map.json39
-rw-r--r--data/maps/MossdeepCity/connections.inc8
-rw-r--r--data/maps/MossdeepCity/events.inc41
-rw-r--r--data/maps/MossdeepCity/header.inc14
-rw-r--r--data/maps/MossdeepCity/map.json324
-rw-r--r--data/maps/MossdeepCity_GameCorner_1F/events.inc13
-rw-r--r--data/maps/MossdeepCity_GameCorner_1F/header.inc14
-rw-r--r--data/maps/MossdeepCity_GameCorner_1F/map.json62
-rw-r--r--data/maps/MossdeepCity_GameCorner_B1F/events.inc8
-rw-r--r--data/maps/MossdeepCity_GameCorner_B1F/header.inc14
-rw-r--r--data/maps/MossdeepCity_GameCorner_B1F/map.json39
-rw-r--r--data/maps/MossdeepCity_Gym/events.inc28
-rw-r--r--data/maps/MossdeepCity_Gym/header.inc14
-rw-r--r--data/maps/MossdeepCity_Gym/map.json209
-rw-r--r--data/maps/MossdeepCity_House1/events.inc10
-rw-r--r--data/maps/MossdeepCity_House1/header.inc14
-rw-r--r--data/maps/MossdeepCity_House1/map.json59
-rw-r--r--data/maps/MossdeepCity_House2/events.inc11
-rw-r--r--data/maps/MossdeepCity_House2/header.inc14
-rw-r--r--data/maps/MossdeepCity_House2/map.json72
-rw-r--r--data/maps/MossdeepCity_House3/events.inc9
-rw-r--r--data/maps/MossdeepCity_House3/header.inc14
-rw-r--r--data/maps/MossdeepCity_House3/map.json46
-rw-r--r--data/maps/MossdeepCity_House4/events.inc11
-rw-r--r--data/maps/MossdeepCity_House4/header.inc14
-rw-r--r--data/maps/MossdeepCity_House4/map.json72
-rw-r--r--data/maps/MossdeepCity_Mart/events.inc12
-rw-r--r--data/maps/MossdeepCity_Mart/header.inc14
-rw-r--r--data/maps/MossdeepCity_Mart/map.json85
-rw-r--r--data/maps/MossdeepCity_PokemonCenter_1F/events.inc12
-rw-r--r--data/maps/MossdeepCity_PokemonCenter_1F/header.inc14
-rw-r--r--data/maps/MossdeepCity_PokemonCenter_1F/map.json79
-rw-r--r--data/maps/MossdeepCity_PokemonCenter_2F/events.inc15
-rw-r--r--data/maps/MossdeepCity_PokemonCenter_2F/header.inc14
-rw-r--r--data/maps/MossdeepCity_PokemonCenter_2F/map.json106
-rw-r--r--data/maps/MossdeepCity_SpaceCenter_1F/events.inc14
-rw-r--r--data/maps/MossdeepCity_SpaceCenter_1F/header.inc14
-rw-r--r--data/maps/MossdeepCity_SpaceCenter_1F/map.json105
-rw-r--r--data/maps/MossdeepCity_SpaceCenter_2F/events.inc10
-rw-r--r--data/maps/MossdeepCity_SpaceCenter_2F/header.inc14
-rw-r--r--data/maps/MossdeepCity_SpaceCenter_2F/map.json65
-rw-r--r--data/maps/MossdeepCity_StevensHouse/events.inc18
-rw-r--r--data/maps/MossdeepCity_StevensHouse/header.inc14
-rw-r--r--data/maps/MossdeepCity_StevensHouse/map.json118
-rw-r--r--data/maps/MtChimney/events.inc42
-rw-r--r--data/maps/MtChimney/header.inc14
-rw-r--r--data/maps/MtChimney/map.json428
-rw-r--r--data/maps/MtChimney_CableCarStation/events.inc10
-rw-r--r--data/maps/MtChimney_CableCarStation/header.inc14
-rw-r--r--data/maps/MtChimney_CableCarStation/map.json59
-rw-r--r--data/maps/MtPyre_1F/events.inc15
-rw-r--r--data/maps/MtPyre_1F/header.inc14
-rw-r--r--data/maps/MtPyre_1F/map.json100
-rw-r--r--data/maps/MtPyre_2F/events.inc17
-rw-r--r--data/maps/MtPyre_2F/header.inc14
-rw-r--r--data/maps/MtPyre_2F/map.json132
-rw-r--r--data/maps/MtPyre_3F/events.inc15
-rw-r--r--data/maps/MtPyre_3F/header.inc14
-rw-r--r--data/maps/MtPyre_3F/map.json100
-rw-r--r--data/maps/MtPyre_4F/events.inc14
-rw-r--r--data/maps/MtPyre_4F/header.inc14
-rw-r--r--data/maps/MtPyre_4F/map.json87
-rw-r--r--data/maps/MtPyre_5F/events.inc13
-rw-r--r--data/maps/MtPyre_5F/header.inc14
-rw-r--r--data/maps/MtPyre_5F/map.json80
-rw-r--r--data/maps/MtPyre_6F/events.inc10
-rw-r--r--data/maps/MtPyre_6F/header.inc14
-rw-r--r--data/maps/MtPyre_6F/map.json59
-rw-r--r--data/maps/MtPyre_Exterior/events.inc22
-rw-r--r--data/maps/MtPyre_Exterior/header.inc14
-rw-r--r--data/maps/MtPyre_Exterior/map.json129
-rw-r--r--data/maps/MtPyre_Summit/events.inc27
-rw-r--r--data/maps/MtPyre_Summit/header.inc14
-rw-r--r--data/maps/MtPyre_Summit/map.json190
-rw-r--r--data/maps/NewMauville_Entrance/events.inc9
-rw-r--r--data/maps/NewMauville_Entrance/header.inc14
-rw-r--r--data/maps/NewMauville_Entrance/map.json42
-rw-r--r--data/maps/NewMauville_Inside/events.inc37
-rw-r--r--data/maps/NewMauville_Inside/header.inc14
-rw-r--r--data/maps/NewMauville_Inside/map.json286
-rw-r--r--data/maps/OldaleTown/connections.inc8
-rw-r--r--data/maps/OldaleTown/events.inc27
-rw-r--r--data/maps/OldaleTown/header.inc14
-rw-r--r--data/maps/OldaleTown/map.json193
-rw-r--r--data/maps/OldaleTown_House1/events.inc9
-rw-r--r--data/maps/OldaleTown_House1/header.inc14
-rw-r--r--data/maps/OldaleTown_House1/map.json46
-rw-r--r--data/maps/OldaleTown_House2/events.inc10
-rw-r--r--data/maps/OldaleTown_House2/header.inc14
-rw-r--r--data/maps/OldaleTown_House2/map.json59
-rw-r--r--data/maps/OldaleTown_Mart/events.inc11
-rw-r--r--data/maps/OldaleTown_Mart/header.inc14
-rw-r--r--data/maps/OldaleTown_Mart/map.json72
-rw-r--r--data/maps/OldaleTown_PokemonCenter_1F/events.inc13
-rw-r--r--data/maps/OldaleTown_PokemonCenter_1F/header.inc14
-rw-r--r--data/maps/OldaleTown_PokemonCenter_1F/map.json92
-rw-r--r--data/maps/OldaleTown_PokemonCenter_2F/events.inc14
-rw-r--r--data/maps/OldaleTown_PokemonCenter_2F/header.inc14
-rw-r--r--data/maps/OldaleTown_PokemonCenter_2F/map.json93
-rw-r--r--data/maps/PacifidlogTown/connections.inc7
-rw-r--r--data/maps/PacifidlogTown/events.inc20
-rw-r--r--data/maps/PacifidlogTown/header.inc14
-rw-r--r--data/maps/PacifidlogTown/map.json136
-rw-r--r--data/maps/PacifidlogTown_House1/events.inc10
-rw-r--r--data/maps/PacifidlogTown_House1/header.inc14
-rw-r--r--data/maps/PacifidlogTown_House1/map.json59
-rw-r--r--data/maps/PacifidlogTown_House2/events.inc11
-rw-r--r--data/maps/PacifidlogTown_House2/header.inc14
-rw-r--r--data/maps/PacifidlogTown_House2/map.json72
-rw-r--r--data/maps/PacifidlogTown_House3/events.inc10
-rw-r--r--data/maps/PacifidlogTown_House3/header.inc14
-rw-r--r--data/maps/PacifidlogTown_House3/map.json59
-rw-r--r--data/maps/PacifidlogTown_House4/events.inc11
-rw-r--r--data/maps/PacifidlogTown_House4/header.inc14
-rw-r--r--data/maps/PacifidlogTown_House4/map.json72
-rw-r--r--data/maps/PacifidlogTown_House5/events.inc10
-rw-r--r--data/maps/PacifidlogTown_House5/header.inc14
-rw-r--r--data/maps/PacifidlogTown_House5/map.json59
-rw-r--r--data/maps/PacifidlogTown_PokemonCenter_1F/events.inc13
-rw-r--r--data/maps/PacifidlogTown_PokemonCenter_1F/header.inc14
-rw-r--r--data/maps/PacifidlogTown_PokemonCenter_1F/map.json92
-rw-r--r--data/maps/PacifidlogTown_PokemonCenter_2F/events.inc14
-rw-r--r--data/maps/PacifidlogTown_PokemonCenter_2F/header.inc14
-rw-r--r--data/maps/PacifidlogTown_PokemonCenter_2F/map.json93
-rw-r--r--data/maps/PetalburgCity/connections.inc7
-rw-r--r--data/maps/PetalburgCity/events.inc37
-rw-r--r--data/maps/PetalburgCity/header.inc14
-rw-r--r--data/maps/PetalburgCity/map.json291
-rw-r--r--data/maps/PetalburgCity_Gym/events.inc70
-rw-r--r--data/maps/PetalburgCity_Gym/header.inc14
-rw-r--r--data/maps/PetalburgCity_Gym/map.json528
-rw-r--r--data/maps/PetalburgCity_House1/events.inc10
-rw-r--r--data/maps/PetalburgCity_House1/header.inc14
-rw-r--r--data/maps/PetalburgCity_House1/map.json59
-rw-r--r--data/maps/PetalburgCity_House2/events.inc10
-rw-r--r--data/maps/PetalburgCity_House2/header.inc14
-rw-r--r--data/maps/PetalburgCity_House2/map.json59
-rw-r--r--data/maps/PetalburgCity_Mart/events.inc12
-rw-r--r--data/maps/PetalburgCity_Mart/header.inc14
-rw-r--r--data/maps/PetalburgCity_Mart/map.json85
-rw-r--r--data/maps/PetalburgCity_PokemonCenter_1F/events.inc14
-rw-r--r--data/maps/PetalburgCity_PokemonCenter_1F/header.inc14
-rw-r--r--data/maps/PetalburgCity_PokemonCenter_1F/map.json105
-rw-r--r--data/maps/PetalburgCity_PokemonCenter_2F/events.inc14
-rw-r--r--data/maps/PetalburgCity_PokemonCenter_2F/header.inc14
-rw-r--r--data/maps/PetalburgCity_PokemonCenter_2F/map.json93
-rw-r--r--data/maps/PetalburgCity_WallysHouse/events.inc10
-rw-r--r--data/maps/PetalburgCity_WallysHouse/header.inc14
-rw-r--r--data/maps/PetalburgCity_WallysHouse/map.json59
-rw-r--r--data/maps/PetalburgWoods/events.inc37
-rw-r--r--data/maps/PetalburgWoods/header.inc14
-rw-r--r--data/maps/PetalburgWoods/map.json298
-rw-r--r--data/maps/RecordCorner/events.inc17
-rw-r--r--data/maps/RecordCorner/header.inc14
-rw-r--r--data/maps/RecordCorner/map.json97
-rw-r--r--data/maps/Route101/connections.inc7
-rw-r--r--data/maps/Route101/events.inc24
-rw-r--r--data/maps/Route101/header.inc14
-rw-r--r--data/maps/Route101/map.json198
-rw-r--r--data/maps/Route102/connections.inc7
-rw-r--r--data/maps/Route102/events.inc17
-rw-r--r--data/maps/Route102/header.inc14
-rw-r--r--data/maps/Route102/map.json163
-rw-r--r--data/maps/Route103/connections.inc7
-rw-r--r--data/maps/Route103/events.inc22
-rw-r--r--data/maps/Route103/header.inc14
-rw-r--r--data/maps/Route103/map.json233
-rw-r--r--data/maps/Route104/connections.inc8
-rw-r--r--data/maps/Route104/events.inc58
-rw-r--r--data/maps/Route104/header.inc14
-rw-r--r--data/maps/Route104/map.json588
-rw-r--r--data/maps/Route104_MrBrineysHouse/events.inc10
-rw-r--r--data/maps/Route104_MrBrineysHouse/header.inc14
-rw-r--r--data/maps/Route104_MrBrineysHouse/map.json59
-rw-r--r--data/maps/Route104_PrettyPetalFlowerShop/events.inc11
-rw-r--r--data/maps/Route104_PrettyPetalFlowerShop/header.inc14
-rw-r--r--data/maps/Route104_PrettyPetalFlowerShop/map.json72
-rw-r--r--data/maps/Route104_Prototype/events.inc23
-rw-r--r--data/maps/Route104_Prototype/header.inc14
-rw-r--r--data/maps/Route104_Prototype/map.json199
-rw-r--r--data/maps/Route104_PrototypePrettyPetalFlowerShop/events.inc9
-rw-r--r--data/maps/Route104_PrototypePrettyPetalFlowerShop/header.inc14
-rw-r--r--data/maps/Route104_PrototypePrettyPetalFlowerShop/map.json46
-rw-r--r--data/maps/Route105/connections.inc7
-rw-r--r--data/maps/Route105/events.inc16
-rw-r--r--data/maps/Route105/header.inc14
-rw-r--r--data/maps/Route105/map.json124
-rw-r--r--data/maps/Route106/connections.inc7
-rw-r--r--data/maps/Route106/events.inc18
-rw-r--r--data/maps/Route106/header.inc14
-rw-r--r--data/maps/Route106/map.json135
-rw-r--r--data/maps/Route107/connections.inc7
-rw-r--r--data/maps/Route107/events.inc10
-rw-r--r--data/maps/Route107/header.inc14
-rw-r--r--data/maps/Route107/map.json107
-rw-r--r--data/maps/Route108/connections.inc7
-rw-r--r--data/maps/Route108/events.inc14
-rw-r--r--data/maps/Route108/header.inc14
-rw-r--r--data/maps/Route108/map.json98
-rw-r--r--data/maps/Route109/connections.inc7
-rw-r--r--data/maps/Route109/events.inc37
-rw-r--r--data/maps/Route109/header.inc14
-rw-r--r--data/maps/Route109/map.json362
-rw-r--r--data/maps/Route109_SeashoreHouse/events.inc12
-rw-r--r--data/maps/Route109_SeashoreHouse/header.inc14
-rw-r--r--data/maps/Route109_SeashoreHouse/map.json85
-rw-r--r--data/maps/Route110/connections.inc8
-rw-r--r--data/maps/Route110/events.inc69
-rw-r--r--data/maps/Route110/header.inc14
-rw-r--r--data/maps/Route110/map.json661
-rw-r--r--data/maps/Route110_SeasideCyclingRoadNorthEntrance/events.inc15
-rw-r--r--data/maps/Route110_SeasideCyclingRoadNorthEntrance/header.inc14
-rw-r--r--data/maps/Route110_SeasideCyclingRoadNorthEntrance/map.json79
-rw-r--r--data/maps/Route110_SeasideCyclingRoadSouthEntrance/events.inc15
-rw-r--r--data/maps/Route110_SeasideCyclingRoadSouthEntrance/header.inc14
-rw-r--r--data/maps/Route110_SeasideCyclingRoadSouthEntrance/map.json79
-rw-r--r--data/maps/Route110_TrickHouseCorridor/events.inc8
-rw-r--r--data/maps/Route110_TrickHouseCorridor/header.inc14
-rw-r--r--data/maps/Route110_TrickHouseCorridor/map.json46
-rw-r--r--data/maps/Route110_TrickHouseEnd/events.inc15
-rw-r--r--data/maps/Route110_TrickHouseEnd/header.inc14
-rw-r--r--data/maps/Route110_TrickHouseEnd/map.json65
-rw-r--r--data/maps/Route110_TrickHouseEntrance/events.inc19
-rw-r--r--data/maps/Route110_TrickHouseEntrance/header.inc14
-rw-r--r--data/maps/Route110_TrickHouseEntrance/map.json99
-rw-r--r--data/maps/Route110_TrickHousePuzzle1/events.inc31
-rw-r--r--data/maps/Route110_TrickHousePuzzle1/header.inc14
-rw-r--r--data/maps/Route110_TrickHousePuzzle1/map.json296
-rw-r--r--data/maps/Route110_TrickHousePuzzle2/events.inc23
-rw-r--r--data/maps/Route110_TrickHousePuzzle2/header.inc14
-rw-r--r--data/maps/Route110_TrickHousePuzzle2/map.json151
-rw-r--r--data/maps/Route110_TrickHousePuzzle3/events.inc32
-rw-r--r--data/maps/Route110_TrickHousePuzzle3/header.inc14
-rw-r--r--data/maps/Route110_TrickHousePuzzle3/map.json256
-rw-r--r--data/maps/Route110_TrickHousePuzzle4/events.inc27
-rw-r--r--data/maps/Route110_TrickHousePuzzle4/header.inc14
-rw-r--r--data/maps/Route110_TrickHousePuzzle4/map.json244
-rw-r--r--data/maps/Route110_TrickHousePuzzle5/events.inc33
-rw-r--r--data/maps/Route110_TrickHousePuzzle5/header.inc14
-rw-r--r--data/maps/Route110_TrickHousePuzzle5/map.json241
-rw-r--r--data/maps/Route110_TrickHousePuzzle6/events.inc16
-rw-r--r--data/maps/Route110_TrickHousePuzzle6/header.inc14
-rw-r--r--data/maps/Route110_TrickHousePuzzle6/map.json101
-rw-r--r--data/maps/Route110_TrickHousePuzzle7/events.inc24
-rw-r--r--data/maps/Route110_TrickHousePuzzle7/header.inc14
-rw-r--r--data/maps/Route110_TrickHousePuzzle7/map.json151
-rw-r--r--data/maps/Route110_TrickHousePuzzle8/events.inc16
-rw-r--r--data/maps/Route110_TrickHousePuzzle8/header.inc14
-rw-r--r--data/maps/Route110_TrickHousePuzzle8/map.json101
-rw-r--r--data/maps/Route111/connections.inc8
-rw-r--r--data/maps/Route111/events.inc100
-rw-r--r--data/maps/Route111/header.inc14
-rw-r--r--data/maps/Route111/map.json960
-rw-r--r--data/maps/Route111_OldLadysRestStop/events.inc9
-rw-r--r--data/maps/Route111_OldLadysRestStop/header.inc14
-rw-r--r--data/maps/Route111_OldLadysRestStop/map.json46
-rw-r--r--data/maps/Route111_WinstrateFamilysHouse/events.inc12
-rw-r--r--data/maps/Route111_WinstrateFamilysHouse/header.inc14
-rw-r--r--data/maps/Route111_WinstrateFamilysHouse/map.json85
-rw-r--r--data/maps/Route112/connections.inc8
-rw-r--r--data/maps/Route112/events.inc29
-rw-r--r--data/maps/Route112/header.inc14
-rw-r--r--data/maps/Route112/map.json258
-rw-r--r--data/maps/Route112_CableCarStation/events.inc10
-rw-r--r--data/maps/Route112_CableCarStation/header.inc14
-rw-r--r--data/maps/Route112_CableCarStation/map.json59
-rw-r--r--data/maps/Route113/connections.inc8
-rw-r--r--data/maps/Route113/events.inc48
-rw-r--r--data/maps/Route113/header.inc14
-rw-r--r--data/maps/Route113/map.json375
-rw-r--r--data/maps/Route113_GlassWorkshop/events.inc10
-rw-r--r--data/maps/Route113_GlassWorkshop/header.inc14
-rw-r--r--data/maps/Route113_GlassWorkshop/map.json59
-rw-r--r--data/maps/Route114/connections.inc7
-rw-r--r--data/maps/Route114/events.inc46
-rw-r--r--data/maps/Route114/header.inc14
-rw-r--r--data/maps/Route114/map.json440
-rw-r--r--data/maps/Route114_FossilManiacsHouse/events.inc16
-rw-r--r--data/maps/Route114_FossilManiacsHouse/header.inc14
-rw-r--r--data/maps/Route114_FossilManiacsHouse/map.json86
-rw-r--r--data/maps/Route114_FossilManiacsTunnel/events.inc9
-rw-r--r--data/maps/Route114_FossilManiacsTunnel/header.inc14
-rw-r--r--data/maps/Route114_FossilManiacsTunnel/map.json46
-rw-r--r--data/maps/Route114_LanettesHouse/events.inc14
-rw-r--r--data/maps/Route114_LanettesHouse/header.inc14
-rw-r--r--data/maps/Route114_LanettesHouse/map.json71
-rw-r--r--data/maps/Route115/connections.inc7
-rw-r--r--data/maps/Route115/events.inc39
-rw-r--r--data/maps/Route115/header.inc14
-rw-r--r--data/maps/Route115/map.json347
-rw-r--r--data/maps/Route116/connections.inc7
-rw-r--r--data/maps/Route116/events.inc47
-rw-r--r--data/maps/Route116/header.inc14
-rw-r--r--data/maps/Route116/map.json432
-rw-r--r--data/maps/Route116_TunnelersRestHouse/events.inc11
-rw-r--r--data/maps/Route116_TunnelersRestHouse/header.inc14
-rw-r--r--data/maps/Route116_TunnelersRestHouse/map.json72
-rw-r--r--data/maps/Route117/connections.inc7
-rw-r--r--data/maps/Route117/events.inc34
-rw-r--r--data/maps/Route117/header.inc14
-rw-r--r--data/maps/Route117/map.json343
-rw-r--r--data/maps/Route117_PokemonDayCare/events.inc9
-rw-r--r--data/maps/Route117_PokemonDayCare/header.inc14
-rw-r--r--data/maps/Route117_PokemonDayCare/map.json46
-rw-r--r--data/maps/Route118/connections.inc8
-rw-r--r--data/maps/Route118/events.inc40
-rw-r--r--data/maps/Route118/header.inc14
-rw-r--r--data/maps/Route118/map.json390
-rw-r--r--data/maps/Route119/connections.inc7
-rw-r--r--data/maps/Route119/events.inc94
-rw-r--r--data/maps/Route119/header.inc14
-rw-r--r--data/maps/Route119/map.json853
-rw-r--r--data/maps/Route119_House/events.inc15
-rw-r--r--data/maps/Route119_House/header.inc14
-rw-r--r--data/maps/Route119_House/map.json124
-rw-r--r--data/maps/Route119_WeatherInstitute_1F/events.inc20
-rw-r--r--data/maps/Route119_WeatherInstitute_1F/header.inc14
-rw-r--r--data/maps/Route119_WeatherInstitute_1F/map.json138
-rw-r--r--data/maps/Route119_WeatherInstitute_2F/events.inc13
-rw-r--r--data/maps/Route119_WeatherInstitute_2F/header.inc14
-rw-r--r--data/maps/Route119_WeatherInstitute_2F/map.json104
-rw-r--r--data/maps/Route120/connections.inc7
-rw-r--r--data/maps/Route120/events.inc86
-rw-r--r--data/maps/Route120/header.inc14
-rw-r--r--data/maps/Route120/map.json816
-rw-r--r--data/maps/Route121/connections.inc8
-rw-r--r--data/maps/Route121/events.inc46
-rw-r--r--data/maps/Route121/header.inc14
-rw-r--r--data/maps/Route121/map.json434
-rw-r--r--data/maps/Route121_SafariZoneEntrance/events.inc19
-rw-r--r--data/maps/Route121_SafariZoneEntrance/header.inc14
-rw-r--r--data/maps/Route121_SafariZoneEntrance/map.json105
-rw-r--r--data/maps/Route122/connections.inc7
-rw-r--r--data/maps/Route122/events.inc5
-rw-r--r--data/maps/Route122/header.inc14
-rw-r--r--data/maps/Route122/map.json36
-rw-r--r--data/maps/Route123/connections.inc7
-rw-r--r--data/maps/Route123/events.inc76
-rw-r--r--data/maps/Route123/header.inc14
-rw-r--r--data/maps/Route123/map.json704
-rw-r--r--data/maps/Route123_BerryMastersHouse/events.inc10
-rw-r--r--data/maps/Route123_BerryMastersHouse/header.inc14
-rw-r--r--data/maps/Route123_BerryMastersHouse/map.json59
-rw-r--r--data/maps/Route124/connections.inc10
-rw-r--r--data/maps/Route124/events.inc20
-rw-r--r--data/maps/Route124/header.inc14
-rw-r--r--data/maps/Route124/map.json191
-rw-r--r--data/maps/Route124_DivingTreasureHuntersHouse/events.inc12
-rw-r--r--data/maps/Route124_DivingTreasureHuntersHouse/header.inc14
-rw-r--r--data/maps/Route124_DivingTreasureHuntersHouse/map.json55
-rw-r--r--data/maps/Route125/connections.inc7
-rw-r--r--data/maps/Route125/events.inc20
-rw-r--r--data/maps/Route125/header.inc14
-rw-r--r--data/maps/Route125/map.json157
-rw-r--r--data/maps/Route126/connections.inc8
-rw-r--r--data/maps/Route126/events.inc9
-rw-r--r--data/maps/Route126/header.inc14
-rw-r--r--data/maps/Route126/map.json99
-rw-r--r--data/maps/Route127/connections.inc9
-rw-r--r--data/maps/Route127/events.inc20
-rw-r--r--data/maps/Route127/header.inc14
-rw-r--r--data/maps/Route127/map.json192
-rw-r--r--data/maps/Route128/connections.inc9
-rw-r--r--data/maps/Route128/events.inc17
-rw-r--r--data/maps/Route128/header.inc14
-rw-r--r--data/maps/Route128/map.json168
-rw-r--r--data/maps/Route129/connections.inc7
-rw-r--r--data/maps/Route129/events.inc8
-rw-r--r--data/maps/Route129/header.inc14
-rw-r--r--data/maps/Route129/map.json81
-rw-r--r--data/maps/Route130/connections.inc7
-rw-r--r--data/maps/Route130/events.inc7
-rw-r--r--data/maps/Route130/header.inc14
-rw-r--r--data/maps/Route130/map.json68
-rw-r--r--data/maps/Route131/connections.inc7
-rw-r--r--data/maps/Route131/events.inc13
-rw-r--r--data/maps/Route131/header.inc14
-rw-r--r--data/maps/Route131/map.json115
-rw-r--r--data/maps/Route132/connections.inc7
-rw-r--r--data/maps/Route132/events.inc9
-rw-r--r--data/maps/Route132/header.inc14
-rw-r--r--data/maps/Route132/map.json94
-rw-r--r--data/maps/Route133/connections.inc7
-rw-r--r--data/maps/Route133/events.inc11
-rw-r--r--data/maps/Route133/header.inc14
-rw-r--r--data/maps/Route133/map.json120
-rw-r--r--data/maps/Route134/connections.inc7
-rw-r--r--data/maps/Route134/events.inc9
-rw-r--r--data/maps/Route134/header.inc14
-rw-r--r--data/maps/Route134/map.json94
-rw-r--r--data/maps/RustboroCity/connections.inc8
-rw-r--r--data/maps/RustboroCity/events.inc59
-rw-r--r--data/maps/RustboroCity/header.inc14
-rw-r--r--data/maps/RustboroCity/map.json500
-rw-r--r--data/maps/RustboroCity_CuttersHouse/events.inc10
-rw-r--r--data/maps/RustboroCity_CuttersHouse/header.inc14
-rw-r--r--data/maps/RustboroCity_CuttersHouse/map.json59
-rw-r--r--data/maps/RustboroCity_DevonCorp_1F/events.inc12
-rw-r--r--data/maps/RustboroCity_DevonCorp_1F/header.inc14
-rw-r--r--data/maps/RustboroCity_DevonCorp_1F/map.json79
-rw-r--r--data/maps/RustboroCity_DevonCorp_2F/events.inc13
-rw-r--r--data/maps/RustboroCity_DevonCorp_2F/header.inc14
-rw-r--r--data/maps/RustboroCity_DevonCorp_2F/map.json98
-rw-r--r--data/maps/RustboroCity_DevonCorp_3F/events.inc14
-rw-r--r--data/maps/RustboroCity_DevonCorp_3F/header.inc14
-rw-r--r--data/maps/RustboroCity_DevonCorp_3F/map.json82
-rw-r--r--data/maps/RustboroCity_Flat1_1F/events.inc11
-rw-r--r--data/maps/RustboroCity_Flat1_1F/header.inc14
-rw-r--r--data/maps/RustboroCity_Flat1_1F/map.json66
-rw-r--r--data/maps/RustboroCity_Flat1_2F/events.inc8
-rw-r--r--data/maps/RustboroCity_Flat1_2F/header.inc14
-rw-r--r--data/maps/RustboroCity_Flat1_2F/map.json39
-rw-r--r--data/maps/RustboroCity_Flat2_1F/events.inc11
-rw-r--r--data/maps/RustboroCity_Flat2_1F/header.inc14
-rw-r--r--data/maps/RustboroCity_Flat2_1F/map.json66
-rw-r--r--data/maps/RustboroCity_Flat2_2F/events.inc10
-rw-r--r--data/maps/RustboroCity_Flat2_2F/header.inc14
-rw-r--r--data/maps/RustboroCity_Flat2_2F/map.json59
-rw-r--r--data/maps/RustboroCity_Flat2_3F/events.inc9
-rw-r--r--data/maps/RustboroCity_Flat2_3F/header.inc14
-rw-r--r--data/maps/RustboroCity_Flat2_3F/map.json52
-rw-r--r--data/maps/RustboroCity_Gym/events.inc16
-rw-r--r--data/maps/RustboroCity_Gym/header.inc14
-rw-r--r--data/maps/RustboroCity_Gym/map.json102
-rw-r--r--data/maps/RustboroCity_House1/events.inc10
-rw-r--r--data/maps/RustboroCity_House1/header.inc14
-rw-r--r--data/maps/RustboroCity_House1/map.json59
-rw-r--r--data/maps/RustboroCity_House2/events.inc10
-rw-r--r--data/maps/RustboroCity_House2/header.inc14
-rw-r--r--data/maps/RustboroCity_House2/map.json59
-rw-r--r--data/maps/RustboroCity_House3/events.inc11
-rw-r--r--data/maps/RustboroCity_House3/header.inc14
-rw-r--r--data/maps/RustboroCity_House3/map.json72
-rw-r--r--data/maps/RustboroCity_Mart/events.inc12
-rw-r--r--data/maps/RustboroCity_Mart/header.inc14
-rw-r--r--data/maps/RustboroCity_Mart/map.json85
-rw-r--r--data/maps/RustboroCity_PokemonCenter_1F/events.inc13
-rw-r--r--data/maps/RustboroCity_PokemonCenter_1F/header.inc14
-rw-r--r--data/maps/RustboroCity_PokemonCenter_1F/map.json92
-rw-r--r--data/maps/RustboroCity_PokemonCenter_2F/events.inc14
-rw-r--r--data/maps/RustboroCity_PokemonCenter_2F/header.inc14
-rw-r--r--data/maps/RustboroCity_PokemonCenter_2F/map.json93
-rw-r--r--data/maps/RustboroCity_PokemonSchool/events.inc21
-rw-r--r--data/maps/RustboroCity_PokemonSchool/header.inc14
-rw-r--r--data/maps/RustboroCity_PokemonSchool/map.json152
-rw-r--r--data/maps/RusturfTunnel/events.inc26
-rw-r--r--data/maps/RusturfTunnel/header.inc14
-rw-r--r--data/maps/RusturfTunnel/map.json216
-rw-r--r--data/maps/SSTidalCorridor/events.inc33
-rw-r--r--data/maps/SSTidalCorridor/header.inc14
-rw-r--r--data/maps/SSTidalCorridor/map.json231
-rw-r--r--data/maps/SSTidalLowerDeck/events.inc12
-rw-r--r--data/maps/SSTidalLowerDeck/header.inc14
-rw-r--r--data/maps/SSTidalLowerDeck/map.json61
-rw-r--r--data/maps/SSTidalRooms/events.inc30
-rw-r--r--data/maps/SSTidalRooms/header.inc14
-rw-r--r--data/maps/SSTidalRooms/map.json224
-rw-r--r--data/maps/SafariZone_Northeast/connections.inc7
-rw-r--r--data/maps/SafariZone_Northeast/events.inc13
-rw-r--r--data/maps/SafariZone_Northeast/header.inc14
-rw-r--r--data/maps/SafariZone_Northeast/map.json146
-rw-r--r--data/maps/SafariZone_Northwest/connections.inc7
-rw-r--r--data/maps/SafariZone_Northwest/events.inc6
-rw-r--r--data/maps/SafariZone_Northwest/header.inc14
-rw-r--r--data/maps/SafariZone_Northwest/map.json55
-rw-r--r--data/maps/SafariZone_RestHouse/events.inc11
-rw-r--r--data/maps/SafariZone_RestHouse/header.inc14
-rw-r--r--data/maps/SafariZone_RestHouse/map.json72
-rw-r--r--data/maps/SafariZone_Southeast/connections.inc7
-rw-r--r--data/maps/SafariZone_Southeast/events.inc11
-rw-r--r--data/maps/SafariZone_Southeast/header.inc14
-rw-r--r--data/maps/SafariZone_Southeast/map.json89
-rw-r--r--data/maps/SafariZone_Southwest/connections.inc7
-rw-r--r--data/maps/SafariZone_Southwest/events.inc12
-rw-r--r--data/maps/SafariZone_Southwest/header.inc14
-rw-r--r--data/maps/SafariZone_Southwest/map.json72
-rw-r--r--data/maps/ScorchedSlab/events.inc8
-rw-r--r--data/maps/ScorchedSlab/header.inc14
-rw-r--r--data/maps/ScorchedSlab/map.json39
-rw-r--r--data/maps/SeafloorCavern_Entrance/events.inc6
-rw-r--r--data/maps/SeafloorCavern_Entrance/header.inc14
-rw-r--r--data/maps/SeafloorCavern_Entrance/map.json32
-rw-r--r--data/maps/SeafloorCavern_Room1/events.inc14
-rw-r--r--data/maps/SeafloorCavern_Room1/header.inc14
-rw-r--r--data/maps/SeafloorCavern_Room1/map.json105
-rw-r--r--data/maps/SeafloorCavern_Room2/events.inc19
-rw-r--r--data/maps/SeafloorCavern_Room2/header.inc14
-rw-r--r--data/maps/SeafloorCavern_Room2/map.json164
-rw-r--r--data/maps/SeafloorCavern_Room3/events.inc19
-rw-r--r--data/maps/SeafloorCavern_Room3/header.inc14
-rw-r--r--data/maps/SeafloorCavern_Room3/map.json170
-rw-r--r--data/maps/SeafloorCavern_Room4/events.inc11
-rw-r--r--data/maps/SeafloorCavern_Room4/header.inc14
-rw-r--r--data/maps/SeafloorCavern_Room4/map.json60
-rw-r--r--data/maps/SeafloorCavern_Room5/events.inc15
-rw-r--r--data/maps/SeafloorCavern_Room5/header.inc14
-rw-r--r--data/maps/SeafloorCavern_Room5/map.json118
-rw-r--r--data/maps/SeafloorCavern_Room6/events.inc7
-rw-r--r--data/maps/SeafloorCavern_Room6/header.inc14
-rw-r--r--data/maps/SeafloorCavern_Room6/map.json39
-rw-r--r--data/maps/SeafloorCavern_Room7/events.inc6
-rw-r--r--data/maps/SeafloorCavern_Room7/header.inc14
-rw-r--r--data/maps/SeafloorCavern_Room7/map.json32
-rw-r--r--data/maps/SeafloorCavern_Room8/events.inc20
-rw-r--r--data/maps/SeafloorCavern_Room8/header.inc14
-rw-r--r--data/maps/SeafloorCavern_Room8/map.json189
-rw-r--r--data/maps/SeafloorCavern_Room9/events.inc17
-rw-r--r--data/maps/SeafloorCavern_Room9/header.inc14
-rw-r--r--data/maps/SeafloorCavern_Room9/map.json127
-rw-r--r--data/maps/SealedChamber_InnerRoom/events.inc16
-rw-r--r--data/maps/SealedChamber_InnerRoom/header.inc14
-rw-r--r--data/maps/SealedChamber_InnerRoom/map.json98
-rw-r--r--data/maps/SealedChamber_OuterRoom/events.inc36
-rw-r--r--data/maps/SealedChamber_OuterRoom/header.inc14
-rw-r--r--data/maps/SealedChamber_OuterRoom/map.json258
-rw-r--r--data/maps/SecretBase_BlueCave1/events.inc22
-rw-r--r--data/maps/SecretBase_BlueCave1/header.inc14
-rw-r--r--data/maps/SecretBase_BlueCave1/map.json221
-rw-r--r--data/maps/SecretBase_BlueCave2/events.inc22
-rw-r--r--data/maps/SecretBase_BlueCave2/header.inc14
-rw-r--r--data/maps/SecretBase_BlueCave2/map.json221
-rw-r--r--data/maps/SecretBase_BlueCave3/events.inc22
-rw-r--r--data/maps/SecretBase_BlueCave3/header.inc14
-rw-r--r--data/maps/SecretBase_BlueCave3/map.json221
-rw-r--r--data/maps/SecretBase_BlueCave4/events.inc22
-rw-r--r--data/maps/SecretBase_BlueCave4/header.inc14
-rw-r--r--data/maps/SecretBase_BlueCave4/map.json221
-rw-r--r--data/maps/SecretBase_BrownCave1/events.inc22
-rw-r--r--data/maps/SecretBase_BrownCave1/header.inc14
-rw-r--r--data/maps/SecretBase_BrownCave1/map.json221
-rw-r--r--data/maps/SecretBase_BrownCave2/events.inc22
-rw-r--r--data/maps/SecretBase_BrownCave2/header.inc14
-rw-r--r--data/maps/SecretBase_BrownCave2/map.json221
-rw-r--r--data/maps/SecretBase_BrownCave3/events.inc22
-rw-r--r--data/maps/SecretBase_BrownCave3/header.inc14
-rw-r--r--data/maps/SecretBase_BrownCave3/map.json221
-rw-r--r--data/maps/SecretBase_BrownCave4/events.inc22
-rw-r--r--data/maps/SecretBase_BrownCave4/header.inc14
-rw-r--r--data/maps/SecretBase_BrownCave4/map.json221
-rw-r--r--data/maps/SecretBase_RedCave1/events.inc22
-rw-r--r--data/maps/SecretBase_RedCave1/header.inc14
-rw-r--r--data/maps/SecretBase_RedCave1/map.json221
-rw-r--r--data/maps/SecretBase_RedCave2/events.inc22
-rw-r--r--data/maps/SecretBase_RedCave2/header.inc14
-rw-r--r--data/maps/SecretBase_RedCave2/map.json221
-rw-r--r--data/maps/SecretBase_RedCave3/events.inc22
-rw-r--r--data/maps/SecretBase_RedCave3/header.inc14
-rw-r--r--data/maps/SecretBase_RedCave3/map.json221
-rw-r--r--data/maps/SecretBase_RedCave4/events.inc22
-rw-r--r--data/maps/SecretBase_RedCave4/header.inc14
-rw-r--r--data/maps/SecretBase_RedCave4/map.json221
-rw-r--r--data/maps/SecretBase_Shrub1/events.inc22
-rw-r--r--data/maps/SecretBase_Shrub1/header.inc14
-rw-r--r--data/maps/SecretBase_Shrub1/map.json221
-rw-r--r--data/maps/SecretBase_Shrub2/events.inc22
-rw-r--r--data/maps/SecretBase_Shrub2/header.inc14
-rw-r--r--data/maps/SecretBase_Shrub2/map.json221
-rw-r--r--data/maps/SecretBase_Shrub3/events.inc22
-rw-r--r--data/maps/SecretBase_Shrub3/header.inc14
-rw-r--r--data/maps/SecretBase_Shrub3/map.json221
-rw-r--r--data/maps/SecretBase_Shrub4/events.inc22
-rw-r--r--data/maps/SecretBase_Shrub4/header.inc14
-rw-r--r--data/maps/SecretBase_Shrub4/map.json221
-rw-r--r--data/maps/SecretBase_Tree1/events.inc22
-rw-r--r--data/maps/SecretBase_Tree1/header.inc14
-rw-r--r--data/maps/SecretBase_Tree1/map.json221
-rw-r--r--data/maps/SecretBase_Tree2/events.inc22
-rw-r--r--data/maps/SecretBase_Tree2/header.inc14
-rw-r--r--data/maps/SecretBase_Tree2/map.json221
-rw-r--r--data/maps/SecretBase_Tree3/events.inc22
-rw-r--r--data/maps/SecretBase_Tree3/header.inc14
-rw-r--r--data/maps/SecretBase_Tree3/map.json221
-rw-r--r--data/maps/SecretBase_Tree4/events.inc22
-rw-r--r--data/maps/SecretBase_Tree4/header.inc14
-rw-r--r--data/maps/SecretBase_Tree4/map.json221
-rw-r--r--data/maps/SecretBase_YellowCave1/events.inc22
-rw-r--r--data/maps/SecretBase_YellowCave1/header.inc14
-rw-r--r--data/maps/SecretBase_YellowCave1/map.json221
-rw-r--r--data/maps/SecretBase_YellowCave2/events.inc22
-rw-r--r--data/maps/SecretBase_YellowCave2/header.inc14
-rw-r--r--data/maps/SecretBase_YellowCave2/map.json221
-rw-r--r--data/maps/SecretBase_YellowCave3/events.inc22
-rw-r--r--data/maps/SecretBase_YellowCave3/header.inc14
-rw-r--r--data/maps/SecretBase_YellowCave3/map.json221
-rw-r--r--data/maps/SecretBase_YellowCave4/events.inc22
-rw-r--r--data/maps/SecretBase_YellowCave4/header.inc14
-rw-r--r--data/maps/SecretBase_YellowCave4/map.json221
-rw-r--r--data/maps/ShoalCave_HighTideEntranceRoom/events.inc2
-rw-r--r--data/maps/ShoalCave_HighTideEntranceRoom/header.inc14
-rw-r--r--data/maps/ShoalCave_HighTideEntranceRoom/map.json17
-rw-r--r--data/maps/ShoalCave_HighTideInnerRoom/events.inc2
-rw-r--r--data/maps/ShoalCave_HighTideInnerRoom/header.inc14
-rw-r--r--data/maps/ShoalCave_HighTideInnerRoom/map.json17
-rw-r--r--data/maps/ShoalCave_LowTideEntranceRoom/events.inc12
-rw-r--r--data/maps/ShoalCave_LowTideEntranceRoom/header.inc14
-rw-r--r--data/maps/ShoalCave_LowTideEntranceRoom/map.json73
-rw-r--r--data/maps/ShoalCave_LowTideIceRoom/events.inc9
-rw-r--r--data/maps/ShoalCave_LowTideIceRoom/header.inc14
-rw-r--r--data/maps/ShoalCave_LowTideIceRoom/map.json52
-rw-r--r--data/maps/ShoalCave_LowTideInnerRoom/events.inc23
-rw-r--r--data/maps/ShoalCave_LowTideInnerRoom/header.inc14
-rw-r--r--data/maps/ShoalCave_LowTideInnerRoom/map.json137
-rw-r--r--data/maps/ShoalCave_LowTideLowerRoom/events.inc15
-rw-r--r--data/maps/ShoalCave_LowTideLowerRoom/header.inc14
-rw-r--r--data/maps/ShoalCave_LowTideLowerRoom/map.json82
-rw-r--r--data/maps/ShoalCave_LowTideStairsRoom/events.inc12
-rw-r--r--data/maps/ShoalCave_LowTideStairsRoom/header.inc14
-rw-r--r--data/maps/ShoalCave_LowTideStairsRoom/map.json55
-rw-r--r--data/maps/SingleBattleColosseum/events.inc13
-rw-r--r--data/maps/SingleBattleColosseum/header.inc14
-rw-r--r--data/maps/SingleBattleColosseum/map.json65
-rw-r--r--data/maps/SkyPillar_1F/events.inc7
-rw-r--r--data/maps/SkyPillar_1F/header.inc14
-rw-r--r--data/maps/SkyPillar_1F/map.json39
-rw-r--r--data/maps/SkyPillar_2F/events.inc6
-rw-r--r--data/maps/SkyPillar_2F/header.inc14
-rw-r--r--data/maps/SkyPillar_2F/map.json32
-rw-r--r--data/maps/SkyPillar_3F/events.inc7
-rw-r--r--data/maps/SkyPillar_3F/header.inc14
-rw-r--r--data/maps/SkyPillar_3F/map.json39
-rw-r--r--data/maps/SkyPillar_4F/events.inc7
-rw-r--r--data/maps/SkyPillar_4F/header.inc14
-rw-r--r--data/maps/SkyPillar_4F/map.json39
-rw-r--r--data/maps/SkyPillar_5F/events.inc6
-rw-r--r--data/maps/SkyPillar_5F/header.inc14
-rw-r--r--data/maps/SkyPillar_5F/map.json32
-rw-r--r--data/maps/SkyPillar_Entrance/events.inc6
-rw-r--r--data/maps/SkyPillar_Entrance/header.inc14
-rw-r--r--data/maps/SkyPillar_Entrance/map.json32
-rw-r--r--data/maps/SkyPillar_Outside/events.inc6
-rw-r--r--data/maps/SkyPillar_Outside/header.inc14
-rw-r--r--data/maps/SkyPillar_Outside/map.json32
-rw-r--r--data/maps/SkyPillar_Top/events.inc8
-rw-r--r--data/maps/SkyPillar_Top/header.inc14
-rw-r--r--data/maps/SkyPillar_Top/map.json39
-rw-r--r--data/maps/SlateportCity/connections.inc8
-rw-r--r--data/maps/SlateportCity/events.inc62
-rw-r--r--data/maps/SlateportCity/header.inc14
-rw-r--r--data/maps/SlateportCity/map.json612
-rw-r--r--data/maps/SlateportCity_ContestHall/events.inc25
-rw-r--r--data/maps/SlateportCity_ContestHall/header.inc14
-rw-r--r--data/maps/SlateportCity_ContestHall/map.json219
-rw-r--r--data/maps/SlateportCity_ContestLobby/events.inc23
-rw-r--r--data/maps/SlateportCity_ContestLobby/header.inc14
-rw-r--r--data/maps/SlateportCity_ContestLobby/map.json177
-rw-r--r--data/maps/SlateportCity_Harbor/events.inc24
-rw-r--r--data/maps/SlateportCity_Harbor/header.inc14
-rw-r--r--data/maps/SlateportCity_Harbor/map.json188
-rw-r--r--data/maps/SlateportCity_House1/events.inc9
-rw-r--r--data/maps/SlateportCity_House1/header.inc14
-rw-r--r--data/maps/SlateportCity_House1/map.json46
-rw-r--r--data/maps/SlateportCity_House2/events.inc10
-rw-r--r--data/maps/SlateportCity_House2/header.inc14
-rw-r--r--data/maps/SlateportCity_House2/map.json59
-rw-r--r--data/maps/SlateportCity_Mart/events.inc11
-rw-r--r--data/maps/SlateportCity_Mart/header.inc14
-rw-r--r--data/maps/SlateportCity_Mart/map.json72
-rw-r--r--data/maps/SlateportCity_OceanicMuseum_1F/events.inc42
-rw-r--r--data/maps/SlateportCity_OceanicMuseum_1F/header.inc14
-rw-r--r--data/maps/SlateportCity_OceanicMuseum_1F/map.json346
-rw-r--r--data/maps/SlateportCity_OceanicMuseum_2F/events.inc37
-rw-r--r--data/maps/SlateportCity_OceanicMuseum_2F/header.inc14
-rw-r--r--data/maps/SlateportCity_OceanicMuseum_2F/map.json286
-rw-r--r--data/maps/SlateportCity_PokemonCenter_1F/events.inc12
-rw-r--r--data/maps/SlateportCity_PokemonCenter_1F/header.inc14
-rw-r--r--data/maps/SlateportCity_PokemonCenter_1F/map.json79
-rw-r--r--data/maps/SlateportCity_PokemonCenter_2F/events.inc14
-rw-r--r--data/maps/SlateportCity_PokemonCenter_2F/header.inc14
-rw-r--r--data/maps/SlateportCity_PokemonCenter_2F/map.json93
-rw-r--r--data/maps/SlateportCity_PokemonFanClub/events.inc16
-rw-r--r--data/maps/SlateportCity_PokemonFanClub/header.inc14
-rw-r--r--data/maps/SlateportCity_PokemonFanClub/map.json137
-rw-r--r--data/maps/SlateportCity_SternsShipyard_1F/events.inc13
-rw-r--r--data/maps/SlateportCity_SternsShipyard_1F/header.inc14
-rw-r--r--data/maps/SlateportCity_SternsShipyard_1F/map.json92
-rw-r--r--data/maps/SlateportCity_SternsShipyard_2F/events.inc10
-rw-r--r--data/maps/SlateportCity_SternsShipyard_2F/header.inc14
-rw-r--r--data/maps/SlateportCity_SternsShipyard_2F/map.json65
-rw-r--r--data/maps/SootopolisCity/connections.inc6
-rw-r--r--data/maps/SootopolisCity/events.inc40
-rw-r--r--data/maps/SootopolisCity/header.inc14
-rw-r--r--data/maps/SootopolisCity/map.json305
-rw-r--r--data/maps/SootopolisCity_Gym_1F/events.inc15
-rw-r--r--data/maps/SootopolisCity_Gym_1F/header.inc14
-rw-r--r--data/maps/SootopolisCity_Gym_1F/map.json83
-rw-r--r--data/maps/SootopolisCity_Gym_B1F/events.inc15
-rw-r--r--data/maps/SootopolisCity_Gym_B1F/header.inc14
-rw-r--r--data/maps/SootopolisCity_Gym_B1F/map.json130
-rw-r--r--data/maps/SootopolisCity_House1/events.inc10
-rw-r--r--data/maps/SootopolisCity_House1/header.inc14
-rw-r--r--data/maps/SootopolisCity_House1/map.json59
-rw-r--r--data/maps/SootopolisCity_House2/events.inc9
-rw-r--r--data/maps/SootopolisCity_House2/header.inc14
-rw-r--r--data/maps/SootopolisCity_House2/map.json46
-rw-r--r--data/maps/SootopolisCity_House3/events.inc10
-rw-r--r--data/maps/SootopolisCity_House3/header.inc14
-rw-r--r--data/maps/SootopolisCity_House3/map.json59
-rw-r--r--data/maps/SootopolisCity_House4/events.inc11
-rw-r--r--data/maps/SootopolisCity_House4/header.inc14
-rw-r--r--data/maps/SootopolisCity_House4/map.json72
-rw-r--r--data/maps/SootopolisCity_House5/events.inc10
-rw-r--r--data/maps/SootopolisCity_House5/header.inc14
-rw-r--r--data/maps/SootopolisCity_House5/map.json59
-rw-r--r--data/maps/SootopolisCity_House6/events.inc9
-rw-r--r--data/maps/SootopolisCity_House6/header.inc14
-rw-r--r--data/maps/SootopolisCity_House6/map.json46
-rw-r--r--data/maps/SootopolisCity_House7/events.inc10
-rw-r--r--data/maps/SootopolisCity_House7/header.inc14
-rw-r--r--data/maps/SootopolisCity_House7/map.json59
-rw-r--r--data/maps/SootopolisCity_House8/events.inc14
-rw-r--r--data/maps/SootopolisCity_House8/header.inc14
-rw-r--r--data/maps/SootopolisCity_House8/map.json76
-rw-r--r--data/maps/SootopolisCity_Mart/events.inc11
-rw-r--r--data/maps/SootopolisCity_Mart/header.inc14
-rw-r--r--data/maps/SootopolisCity_Mart/map.json72
-rw-r--r--data/maps/SootopolisCity_PokemonCenter_1F/events.inc12
-rw-r--r--data/maps/SootopolisCity_PokemonCenter_1F/header.inc14
-rw-r--r--data/maps/SootopolisCity_PokemonCenter_1F/map.json79
-rw-r--r--data/maps/SootopolisCity_PokemonCenter_2F/events.inc14
-rw-r--r--data/maps/SootopolisCity_PokemonCenter_2F/header.inc14
-rw-r--r--data/maps/SootopolisCity_PokemonCenter_2F/map.json93
-rw-r--r--data/maps/SouthernIsland_Exterior/events.inc13
-rw-r--r--data/maps/SouthernIsland_Exterior/header.inc14
-rw-r--r--data/maps/SouthernIsland_Exterior/map.json68
-rw-r--r--data/maps/SouthernIsland_Interior/events.inc13
-rw-r--r--data/maps/SouthernIsland_Interior/header.inc14
-rw-r--r--data/maps/SouthernIsland_Interior/map.json68
-rw-r--r--data/maps/TradeCenter/events.inc13
-rw-r--r--data/maps/TradeCenter/header.inc14
-rw-r--r--data/maps/TradeCenter/map.json65
-rw-r--r--data/maps/Underwater1/connections.inc7
-rw-r--r--data/maps/Underwater1/events.inc11
-rw-r--r--data/maps/Underwater1/header.inc14
-rw-r--r--data/maps/Underwater1/map.json85
-rw-r--r--data/maps/Underwater2/connections.inc8
-rw-r--r--data/maps/Underwater2/events.inc15
-rw-r--r--data/maps/Underwater2/header.inc14
-rw-r--r--data/maps/Underwater2/map.json106
-rw-r--r--data/maps/Underwater3/connections.inc8
-rw-r--r--data/maps/Underwater3/events.inc8
-rw-r--r--data/maps/Underwater3/header.inc14
-rw-r--r--data/maps/Underwater3/map.json66
-rw-r--r--data/maps/Underwater4/connections.inc7
-rw-r--r--data/maps/Underwater4/events.inc9
-rw-r--r--data/maps/Underwater4/header.inc14
-rw-r--r--data/maps/Underwater4/map.json53
-rw-r--r--data/maps/Underwater_Route134/events.inc5
-rw-r--r--data/maps/Underwater_Route134/header.inc14
-rw-r--r--data/maps/Underwater_Route134/map.json25
-rw-r--r--data/maps/Underwater_SeafloorCavern/events.inc11
-rw-r--r--data/maps/Underwater_SeafloorCavern/header.inc14
-rw-r--r--data/maps/Underwater_SeafloorCavern/map.json78
-rw-r--r--data/maps/Underwater_SealedChamber/events.inc8
-rw-r--r--data/maps/Underwater_SealedChamber/header.inc14
-rw-r--r--data/maps/Underwater_SealedChamber/map.json34
-rw-r--r--data/maps/Underwater_SootopolisCity/events.inc6
-rw-r--r--data/maps/Underwater_SootopolisCity/header.inc14
-rw-r--r--data/maps/Underwater_SootopolisCity/map.json32
-rw-r--r--data/maps/UnknownMap_25_29/events.inc1
-rw-r--r--data/maps/UnknownMap_25_29/header.inc14
-rw-r--r--data/maps/UnknownMap_25_29/map.json15
-rw-r--r--data/maps/UnknownMap_25_29/scripts.inc2
-rw-r--r--data/maps/UnknownMap_25_30/events.inc1
-rw-r--r--data/maps/UnknownMap_25_30/header.inc14
-rw-r--r--data/maps/UnknownMap_25_30/map.json15
-rw-r--r--data/maps/UnknownMap_25_30/scripts.inc2
-rw-r--r--data/maps/UnknownMap_25_31/events.inc1
-rw-r--r--data/maps/UnknownMap_25_31/header.inc14
-rw-r--r--data/maps/UnknownMap_25_31/map.json15
-rw-r--r--data/maps/UnknownMap_25_31/scripts.inc2
-rw-r--r--data/maps/UnknownMap_25_32/events.inc1
-rw-r--r--data/maps/UnknownMap_25_32/header.inc14
-rw-r--r--data/maps/UnknownMap_25_32/map.json15
-rw-r--r--data/maps/UnknownMap_25_32/scripts.inc2
-rw-r--r--data/maps/UnknownMap_25_33/events.inc1
-rw-r--r--data/maps/UnknownMap_25_33/header.inc14
-rw-r--r--data/maps/UnknownMap_25_33/map.json15
-rw-r--r--data/maps/UnknownMap_25_33/scripts.inc2
-rw-r--r--data/maps/UnknownMap_25_34/events.inc2
-rw-r--r--data/maps/UnknownMap_25_34/header.inc14
-rw-r--r--data/maps/UnknownMap_25_34/map.json15
-rw-r--r--data/maps/UnknownMap_25_34/scripts.inc428
-rw-r--r--data/maps/VerdanturfTown/connections.inc7
-rw-r--r--data/maps/VerdanturfTown/events.inc27
-rw-r--r--data/maps/VerdanturfTown/header.inc14
-rw-r--r--data/maps/VerdanturfTown/map.json196
-rw-r--r--data/maps/VerdanturfTown_ContestHall/events.inc15
-rw-r--r--data/maps/VerdanturfTown_ContestHall/header.inc14
-rw-r--r--data/maps/VerdanturfTown_ContestHall/map.json89
-rw-r--r--data/maps/VerdanturfTown_ContestLobby/events.inc21
-rw-r--r--data/maps/VerdanturfTown_ContestLobby/header.inc14
-rw-r--r--data/maps/VerdanturfTown_ContestLobby/map.json151
-rw-r--r--data/maps/VerdanturfTown_FriendshipRatersHouse/events.inc10
-rw-r--r--data/maps/VerdanturfTown_FriendshipRatersHouse/header.inc14
-rw-r--r--data/maps/VerdanturfTown_FriendshipRatersHouse/map.json59
-rw-r--r--data/maps/VerdanturfTown_House/events.inc10
-rw-r--r--data/maps/VerdanturfTown_House/header.inc14
-rw-r--r--data/maps/VerdanturfTown_House/map.json59
-rw-r--r--data/maps/VerdanturfTown_Mart/events.inc12
-rw-r--r--data/maps/VerdanturfTown_Mart/header.inc14
-rw-r--r--data/maps/VerdanturfTown_Mart/map.json85
-rw-r--r--data/maps/VerdanturfTown_PokemonCenter_1F/events.inc12
-rw-r--r--data/maps/VerdanturfTown_PokemonCenter_1F/header.inc14
-rw-r--r--data/maps/VerdanturfTown_PokemonCenter_1F/map.json79
-rw-r--r--data/maps/VerdanturfTown_PokemonCenter_2F/events.inc14
-rw-r--r--data/maps/VerdanturfTown_PokemonCenter_2F/header.inc14
-rw-r--r--data/maps/VerdanturfTown_PokemonCenter_2F/map.json93
-rw-r--r--data/maps/VerdanturfTown_WandasHouse/events.inc13
-rw-r--r--data/maps/VerdanturfTown_WandasHouse/header.inc14
-rw-r--r--data/maps/VerdanturfTown_WandasHouse/map.json98
-rw-r--r--data/maps/VictoryRoad_1F/events.inc26
-rw-r--r--data/maps/VictoryRoad_1F/header.inc14
-rw-r--r--data/maps/VictoryRoad_1F/map.json182
-rw-r--r--data/maps/VictoryRoad_B1F/events.inc32
-rw-r--r--data/maps/VictoryRoad_B1F/header.inc14
-rw-r--r--data/maps/VictoryRoad_B1F/map.json315
-rw-r--r--data/maps/VictoryRoad_B2F/events.inc19
-rw-r--r--data/maps/VictoryRoad_B2F/header.inc14
-rw-r--r--data/maps/VictoryRoad_B2F/map.json129
-rw-r--r--data/maps/connections.inc58
-rw-r--r--data/maps/groups.inc532
-rw-r--r--data/maps/headers.inc394
-rw-r--r--data/maps/map_groups.json560
-rw-r--r--data/pokenav.s20
-rw-r--r--data/scripts/magma_chimney.inc2
-rw-r--r--graphics-de/pokenav/zoom_tiles.png (renamed from graphics-de/pokenav/map_squares.png)bin746 -> 746 bytes
-rw-r--r--graphics/pokenav/region_map_section_layout.binbin0 -> 420 bytes
-rw-r--r--graphics/pokenav/zoom_tiles.png (renamed from graphics/pokenav/map_squares.png)bin692 -> 692 bytes
-rw-r--r--include/battle.h14
-rw-r--r--include/battle_util.h39
-rw-r--r--include/constants/flags.h2
-rwxr-xr-xinclude/constants/layouts.h337
-rwxr-xr-xinclude/constants/map_groups.h468
-rw-r--r--include/constants/maps.h464
-rw-r--r--include/constants/region_map_sections.h2
-rw-r--r--include/contest_painting_effects.h4
-rw-r--r--include/ewram.h5
-rw-r--r--include/gba/m4a_internal.h2
-rw-r--r--include/heated_rock.h2
-rw-r--r--include/party_menu.h10
-rw-r--r--include/pokenav.h296
-rw-r--r--include/region_map.h82
-rw-r--r--ld_script.txt15
-rwxr-xr-xmap_data_rules.mk31
-rw-r--r--src/battle/battle_2.c2567
-rw-r--r--src/battle/battle_4.c16
-rw-r--r--src/battle/battle_util.c16
-rw-r--r--src/contest_painting.c6
-rw-r--r--src/contest_painting_effects.c791
-rw-r--r--src/data/battle_tower/level_100_mons.h2
-rw-r--r--src/data/graphics.c4
-rw-r--r--src/data/pokemon/base_stats.h861
-rw-r--r--src/data/region_map/region_map_entries.h175
-rw-r--r--src/data/region_map/region_map_entries_de.h175
-rw-r--r--src/data/region_map_layout.h42
-rw-r--r--src/data/region_map_names_de.h79
-rw-r--r--src/data/region_map_names_en.h79
-rw-r--r--src/landmark.c6
-rw-r--r--src/libs/m4a.c1779
-rw-r--r--src/libs/m4a_2.c912
-rw-r--r--src/libs/m4a_4.c545
-rw-r--r--src/pokedex_area_screen.c14
-rw-r--r--src/pokenav.c6466
-rw-r--r--src/pokenav_after.c35
-rw-r--r--src/pokenav_before.c6190
-rw-r--r--src/region_map.c156
-rw-r--r--src/trainers_eye.c263
-rw-r--r--src/use_pokeblock.c48
-rw-r--r--sym_ewram.txt22
-rwxr-xr-xtools/mapjson/.gitignore1
-rwxr-xr-xtools/mapjson/Makefile18
-rwxr-xr-xtools/mapjson/json11.cpp786
-rwxr-xr-xtools/mapjson/json11.h230
-rwxr-xr-xtools/mapjson/mapjson.cpp538
-rwxr-xr-xtools/mapjson/mapjson.h31
-rw-r--r--tools/preproc/c_file.cpp42
-rw-r--r--tools/preproc/preproc.cpp25
-rw-r--r--tools/scaninc/c_file.cpp2
1656 files changed, 69487 insertions, 37044 deletions
diff --git a/.gitattributes b/.gitattributes
index 3bbd49fbf..964e5f029 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -10,6 +10,7 @@ Makefile text eol=lf
*.inc text eol=lf
*.sha1 text eol=lf
*.sed text eol=lf
+*.json text eol=lf
*.png binary
*.bin binary
diff --git a/.travis.yml b/.travis.yml
index db9b26b92..2d7560c92 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -14,7 +14,7 @@ cache:
apt: true
install:
- pushd $HOME
- - travis_retry wget https://github.com/devkitPro/buildscripts/releases/download/devkitARM_r49/devkitARM_r49-linux.tar.xz
+ - travis_retry wget https://github.com/devkitPro/buildscripts/releases/download/devkitARM_r50/devkitARM_r50-linux.tar.xz
- tar xJf devkitARM*.tar.xz
- travis_retry git clone https://github.com/pret/agbcc.git
- cd agbcc && ./build.sh && ./install.sh $TRAVIS_BUILD_DIR
diff --git a/Makefile b/Makefile
index dae6b6d53..4c031cfda 100644
--- a/Makefile
+++ b/Makefile
@@ -25,6 +25,7 @@ PREPROC := tools/preproc/preproc$(EXE)
SCANINC := tools/scaninc/scaninc$(EXE)
RAMSCRGEN := tools/ramscrgen/ramscrgen$(EXE)
GBAFIX := tools/gbafix/gbafix$(EXE)
+MAPJSON := tools/mapjson/mapjson$(EXE)
ASFLAGS := -mcpu=arm7tdmi -I include --defsym $(GAME_VERSION)=1 --defsym REVISION=$(GAME_REVISION) --defsym $(GAME_LANGUAGE)=1 --defsym DEBUG=$(DEBUG)
CC1FLAGS := -mthumb-interwork -Wimplicit -Wparentheses -Wunused -Werror -O2 -fhex-asm
@@ -57,10 +58,9 @@ LD_SCRIPT := $(BUILD_DIR)/ld_script.ld
%src/libs/agb_flash.o: CC1FLAGS := -O1 -mthumb-interwork
%src/libs/agb_flash_1m.o: CC1FLAGS := -O1 -mthumb-interwork
%src/libs/agb_flash_mx.o: CC1FLAGS := -O1 -mthumb-interwork
-%src/libs/m4a_2.o: CC1 := tools/agbcc/bin/old_agbcc$(EXE)
-%src/libs/m4a_4.o: CC1 := tools/agbcc/bin/old_agbcc$(EXE)
-%src/libs/libisagbprn.o: CC1 := tools/agbcc/bin/old_agbcc$(EXE)
-%src/libs/libisagbprn.o: CC1FLAGS := -mthumb-interwork
+%src/libs/m4a.o: CC1 := tools/agbcc/bin/old_agbcc$(EXE)
+%src/libs/libisagbprn.o: CC1 := tools/agbcc/bin/old_agbcc$(EXE)
+%src/libs/libisagbprn.o: CC1FLAGS := -mthumb-interwork
#### Main Rules ####
@@ -110,6 +110,9 @@ clean: tidy
find sound/direct_sound_samples \( -iname '*.bin' \) -exec rm {} +
$(RM) $(ALL_OBJECTS)
find . \( -iname '*.1bpp' -o -iname '*.4bpp' -o -iname '*.8bpp' -o -iname '*.gbapal' -o -iname '*.lz' -o -iname '*.rl' \) -exec rm {} +
+ rm -f data/layouts/layouts.inc data/layouts/layouts_table.inc
+ rm -f data/maps/connections.inc data/maps/events.inc data/maps/groups.inc data/maps/headers.inc
+ find data/maps \( -iname 'connections.inc' -o -iname 'events.inc' -o -iname 'header.inc' \) -exec rm {} +
$(MAKE) clean -C tools/gbagfx
$(MAKE) clean -C tools/scaninc
$(MAKE) clean -C tools/preproc
@@ -118,6 +121,7 @@ clean: tidy
$(MAKE) clean -C tools/aif2pcm
$(MAKE) clean -C tools/ramscrgen
$(MAKE) clean -C tools/gbafix
+ $(MAKE) clean -C tools/mapjson
tools:
@$(MAKE) -C tools/gbagfx
@@ -129,6 +133,7 @@ tools:
@$(MAKE) -C tools/ramscrgen
@$(MAKE) -C tools/mid2agb
@$(MAKE) -C tools/gbafix
+ @$(MAKE) -C tools/mapjson
tidy:
$(RM) $(ALL_BUILDS:%=poke%{.gba,.elf,.map})
@@ -181,6 +186,7 @@ include fonts.mk
include misc.mk
include spritesheet_rules.mk
include override.mk
+include map_data_rules.mk
%.1bpp: %.png ; $(GBAGFX) $< $@ $(GFX_OPTS)
%.4bpp: %.png ; $(GBAGFX) $< $@ $(GFX_OPTS)
diff --git a/asm/contest_painting_effects.s b/asm/contest_painting_effects.s
deleted file mode 100644
index 0c403c093..000000000
--- a/asm/contest_painting_effects.s
+++ /dev/null
@@ -1,1686 +0,0 @@
- .include "constants/gba_constants.inc"
- .include "include/macros.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_80FD568
-sub_80FD568: @ 80FD568
- push {r4-r7,lr}
- sub sp, 0x14
- adds r7, r1, 0
- ldrh r4, [r0]
- ldrh r5, [r7]
- lsls r6, r4, 16
- lsls r0, r5, 16
- mov r12, r0
- cmp r4, r5
- beq _080FD5DA
- mov r2, sp
- movs r3, 0x1F
- movs r1, 0x1F
- adds r0, r1, 0
- ands r0, r4
- strh r0, [r2]
- lsrs r0, r6, 21
- ands r0, r3
- strh r0, [r2, 0x2]
- lsrs r0, r6, 26
- ands r0, r3
- strh r0, [r2, 0x4]
- mov r0, sp
- ands r1, r5
- strh r1, [r0, 0x6]
- mov r1, sp
- mov r2, r12
- lsrs r0, r2, 21
- ands r0, r3
- strh r0, [r1, 0x8]
- lsrs r0, r2, 26
- ands r0, r3
- strh r0, [r1, 0xA]
- mov r0, sp
- ldrh r0, [r0]
- cmp r0, 0x19
- bls _080FD5C2
- mov r0, sp
- ldrh r0, [r0, 0x2]
- cmp r0, 0x19
- bls _080FD5C2
- mov r0, sp
- ldrh r0, [r0, 0x4]
- cmp r0, 0x19
- bhi _080FD5DA
-_080FD5C2:
- mov r0, sp
- ldrh r0, [r0, 0x6]
- cmp r0, 0x19
- bls _080FD5DE
- mov r0, sp
- ldrh r0, [r0, 0x8]
- cmp r0, 0x19
- bls _080FD5DE
- mov r0, sp
- ldrh r0, [r0, 0xA]
- cmp r0, 0x19
- bls _080FD5DE
-_080FD5DA:
- ldrh r0, [r7]
- b _080FD684
-_080FD5DE:
- movs r4, 0
- add r6, sp, 0xC
- mov r7, sp
- adds r7, 0x6
- adds r5, r6, 0
-_080FD5E8:
- lsls r2, r4, 1
- mov r1, sp
- adds r0, r1, r2
- adds r1, r7, r2
- ldrh r3, [r0]
- ldrh r0, [r1]
- cmp r3, r0
- bls _080FD5FE
- adds r1, r5, r2
- subs r0, r3, r0
- b _080FD602
-_080FD5FE:
- adds r1, r5, r2
- subs r0, r3
-_080FD602:
- strh r0, [r1]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x2
- bls _080FD5E8
- adds r1, r6, 0
- ldrh r0, [r1, 0x2]
- ldrh r3, [r1]
- cmp r3, r0
- bcc _080FD628
- ldrh r2, [r1, 0x4]
- cmp r3, r2
- bcc _080FD622
- adds r2, r3, 0
- b _080FD63C
-_080FD622:
- cmp r0, r2
- bcs _080FD62E
- b _080FD636
-_080FD628:
- ldrh r2, [r1, 0x4]
- cmp r0, r2
- bcc _080FD632
-_080FD62E:
- ldrh r2, [r1, 0x2]
- b _080FD63C
-_080FD632:
- cmp r2, r3
- bcc _080FD63A
-_080FD636:
- ldrh r2, [r1, 0x4]
- b _080FD63C
-_080FD63A:
- ldrh r2, [r6]
-_080FD63C:
- mov r0, sp
- ldrh r1, [r0, 0x6]
- lsrs r0, r2, 1
- movs r6, 0x1F
- subs r6, r0
- adds r0, r1, 0
- muls r0, r6
- movs r1, 0x1F
- bl __divsi3
- adds r5, r0, 0
- lsls r5, 16
- lsrs r5, 16
- mov r0, sp
- ldrh r0, [r0, 0x8]
- muls r0, r6
- movs r1, 0x1F
- bl __divsi3
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- mov r0, sp
- ldrh r0, [r0, 0xA]
- muls r0, r6
- movs r1, 0x1F
- bl __divsi3
- lsls r0, 16
- lsrs r0, 6
- lsls r4, 5
- orrs r0, r4
- orrs r5, r0
- lsls r5, 16
- lsrs r5, 16
- adds r0, r5, 0
-_080FD684:
- add sp, 0x14
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80FD568
-
- thumb_func_start sub_80FD68C
-sub_80FD68C: @ 80FD68C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- adds r3, r0, 0
- mov r10, r1
- str r2, [sp]
- ldrh r1, [r3]
- mov r0, r10
- ldrh r0, [r0]
- cmp r1, r0
- bne _080FD6B4
- ldrh r0, [r2]
- cmp r0, r1
- bne _080FD6B4
- mov r1, r10
- ldrh r0, [r1]
- b _080FD79C
-_080FD6B4:
- mov r2, r10
- ldrh r0, [r2]
- movs r1, 0x1F
- mov r9, r1
- movs r4, 0x1F
- adds r5, r4, 0
- ands r5, r0
- lsls r0, 16
- lsrs r2, r0, 21
- mov r1, r9
- ands r1, r2
- mov r8, r1
- lsrs r0, 26
- mov r2, r9
- ands r2, r0
- str r2, [sp, 0x4]
- ldrh r2, [r3]
- adds r0, r4, 0
- ands r0, r2
- lsls r2, 16
- lsrs r1, r2, 21
- mov r3, r9
- ands r1, r3
- adds r0, r1
- lsrs r2, 26
- ands r2, r3
- adds r0, r2
- movs r1, 0x3
- bl __divsi3
- lsls r0, 16
- lsrs r7, r0, 16
- mov r1, r8
- adds r0, r5, r1
- ldr r2, [sp, 0x4]
- adds r0, r2
- movs r1, 0x3
- bl __divsi3
- lsls r0, 16
- lsrs r6, r0, 16
- ldr r3, [sp]
- ldrh r1, [r3]
- ands r4, r1
- lsls r1, 16
- lsrs r0, r1, 21
- mov r2, r9
- ands r0, r2
- adds r4, r0
- lsrs r1, 26
- ands r1, r2
- adds r4, r1
- adds r0, r4, 0
- movs r1, 0x3
- bl __divsi3
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r7, r6
- bne _080FD736
- cmp r1, r6
- bne _080FD736
- mov r3, r10
- ldrh r0, [r3]
- b _080FD79C
-_080FD736:
- cmp r7, r6
- bls _080FD73E
- subs r0, r7, r6
- b _080FD740
-_080FD73E:
- subs r0, r6, r7
-_080FD740:
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r1, r6
- bls _080FD74C
- subs r0, r1, r6
- b _080FD74E
-_080FD74C:
- subs r0, r6, r1
-_080FD74E:
- lsls r0, 16
- lsrs r0, 16
- cmp r2, r0
- bcc _080FD758
- adds r0, r2, 0
-_080FD758:
- lsrs r0, 1
- movs r4, 0x1F
- subs r4, r0
- lsls r4, 16
- lsrs r4, 16
- adds r0, r5, 0
- muls r0, r4
- movs r1, 0x1F
- bl __divsi3
- lsls r0, 16
- lsrs r5, r0, 16
- mov r0, r8
- muls r0, r4
- movs r1, 0x1F
- bl __divsi3
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- ldr r1, [sp, 0x4]
- adds r0, r1, 0
- muls r0, r4
- movs r1, 0x1F
- bl __divsi3
- lsls r0, 16
- lsrs r0, 6
- mov r2, r8
- lsls r1, r2, 5
- orrs r0, r1
- orrs r5, r0
- lsls r0, r5, 16
- lsrs r0, 16
-_080FD79C:
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80FD68C
-
- thumb_func_start sub_80FD7AC
-sub_80FD7AC: @ 80FD7AC
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- adds r3, r0, 0
- mov r10, r1
- str r2, [sp]
- ldrh r1, [r3]
- mov r0, r10
- ldrh r0, [r0]
- cmp r1, r0
- bne _080FD7D4
- ldrh r0, [r2]
- cmp r0, r1
- bne _080FD7D4
- mov r1, r10
- ldrh r0, [r1]
- b _080FD8BA
-_080FD7D4:
- mov r2, r10
- ldrh r0, [r2]
- movs r1, 0x1F
- mov r9, r1
- movs r4, 0x1F
- adds r5, r4, 0
- ands r5, r0
- lsls r0, 16
- lsrs r2, r0, 21
- mov r1, r9
- ands r1, r2
- mov r8, r1
- lsrs r0, 26
- mov r2, r9
- ands r2, r0
- str r2, [sp, 0x4]
- ldrh r2, [r3]
- adds r0, r4, 0
- ands r0, r2
- lsls r2, 16
- lsrs r1, r2, 21
- mov r3, r9
- ands r1, r3
- adds r0, r1
- lsrs r2, 26
- ands r2, r3
- adds r0, r2
- movs r1, 0x3
- bl __divsi3
- lsls r0, 16
- lsrs r7, r0, 16
- mov r1, r8
- adds r0, r5, r1
- ldr r2, [sp, 0x4]
- adds r0, r2
- movs r1, 0x3
- bl __divsi3
- lsls r0, 16
- lsrs r6, r0, 16
- ldr r3, [sp]
- ldrh r1, [r3]
- ands r4, r1
- lsls r1, 16
- lsrs r0, r1, 21
- mov r2, r9
- ands r0, r2
- adds r4, r0
- lsrs r1, 26
- ands r1, r2
- adds r4, r1
- adds r0, r4, 0
- movs r1, 0x3
- bl __divsi3
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r7, r6
- bne _080FD856
- cmp r1, r6
- bne _080FD856
- mov r3, r10
- ldrh r0, [r3]
- b _080FD8BA
-_080FD856:
- cmp r7, r6
- bls _080FD85E
- subs r0, r7, r6
- b _080FD860
-_080FD85E:
- subs r0, r6, r7
-_080FD860:
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r1, r6
- bls _080FD86C
- subs r0, r1, r6
- b _080FD86E
-_080FD86C:
- subs r0, r6, r1
-_080FD86E:
- lsls r0, 16
- lsrs r0, 16
- cmp r2, r0
- bcc _080FD878
- adds r0, r2, 0
-_080FD878:
- movs r4, 0x1F
- subs r4, r0
- lsls r4, 16
- lsrs r4, 16
- adds r0, r5, 0
- muls r0, r4
- movs r1, 0x1F
- bl __divsi3
- lsls r0, 16
- lsrs r5, r0, 16
- mov r0, r8
- muls r0, r4
- movs r1, 0x1F
- bl __divsi3
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- ldr r1, [sp, 0x4]
- adds r0, r1, 0
- muls r0, r4
- movs r1, 0x1F
- bl __divsi3
- lsls r0, 16
- lsrs r0, 6
- mov r2, r8
- lsls r1, r2, 5
- orrs r0, r1
- orrs r5, r0
- lsls r0, r5, 16
- lsrs r0, 16
-_080FD8BA:
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80FD7AC
-
- thumb_func_start sub_80FD8CC
-sub_80FD8CC: @ 80FD8CC
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xC
- ldrb r1, [r0, 0x1D]
- lsrs r5, r1, 3
- ldrb r1, [r0, 0x1E]
- lsrs r1, 3
- str r1, [sp, 0x8]
- ldr r1, [r0, 0x4]
- str r1, [sp]
- ldr r2, [r0, 0x10]
- str r2, [sp, 0x4]
- ldrh r0, [r0, 0x16]
- cmp r0, 0x2
- bne _080FD97C
- movs r1, 0
- ldr r0, [sp, 0x8]
- cmp r1, r0
- bcc _080FD8FA
- b _080FDA08
-_080FD8FA:
- movs r0, 0
- adds r2, r1, 0x1
- mov r10, r2
- cmp r0, r5
- bcs _080FD96E
- adds r2, r1, 0
- muls r2, r5
- mov r9, r2
- lsls r1, 3
- mov r8, r1
-_080FD90E:
- movs r4, 0
- lsls r6, r0, 4
- adds r7, r0, 0x1
- add r0, r9
- lsls r0, 6
- ldr r1, [sp, 0x4]
- adds r1, r0
- mov r12, r1
-_080FD91E:
- lsls r0, r4, 3
- mov r2, r12
- adds r3, r2, r0
- mov r1, r8
- adds r0, r1, r4
- lsls r0, 3
- muls r0, r5
- lsls r0, 1
- ldr r2, [sp]
- adds r0, r2, r0
- adds r2, r0, r6
- ldrh r0, [r2, 0x2]
- lsls r0, 8
- ldrh r1, [r2]
- orrs r0, r1
- strh r0, [r3]
- ldrh r0, [r2, 0x6]
- lsls r0, 8
- ldrh r1, [r2, 0x4]
- orrs r0, r1
- strh r0, [r3, 0x2]
- ldrh r0, [r2, 0xA]
- lsls r0, 8
- ldrh r1, [r2, 0x8]
- orrs r0, r1
- strh r0, [r3, 0x4]
- ldrh r0, [r2, 0xE]
- lsls r0, 8
- ldrh r1, [r2, 0xC]
- orrs r0, r1
- strh r0, [r3, 0x6]
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x7
- bls _080FD91E
- lsls r0, r7, 16
- lsrs r0, 16
- cmp r0, r5
- bcc _080FD90E
-_080FD96E:
- mov r1, r10
- lsls r0, r1, 16
- lsrs r1, r0, 16
- ldr r2, [sp, 0x8]
- cmp r1, r2
- bcc _080FD8FA
- b _080FDA08
-_080FD97C:
- movs r1, 0
- ldr r0, [sp, 0x8]
- cmp r1, r0
- bcs _080FDA08
-_080FD984:
- movs r0, 0
- adds r2, r1, 0x1
- mov r10, r2
- cmp r0, r5
- bcs _080FD9FC
- adds r2, r1, 0
- muls r2, r5
- mov r9, r2
- lsls r1, 3
- mov r8, r1
-_080FD998:
- movs r4, 0
- lsls r6, r0, 4
- adds r7, r0, 0x1
- add r0, r9
- lsls r0, 5
- ldr r1, [sp, 0x4]
- adds r1, r0
- mov r12, r1
-_080FD9A8:
- lsls r0, r4, 2
- mov r2, r12
- adds r3, r2, r0
- mov r1, r8
- adds r0, r1, r4
- lsls r0, 3
- muls r0, r5
- lsls r0, 1
- ldr r2, [sp]
- adds r0, r2, r0
- adds r2, r0, r6
- ldrh r1, [r2, 0x2]
- lsls r1, 4
- ldrh r0, [r2]
- orrs r1, r0
- ldrh r0, [r2, 0x4]
- lsls r0, 8
- orrs r1, r0
- ldrh r0, [r2, 0x6]
- lsls r0, 12
- orrs r1, r0
- strh r1, [r3]
- ldrh r1, [r2, 0xA]
- lsls r1, 4
- ldrh r0, [r2, 0x8]
- orrs r1, r0
- ldrh r0, [r2, 0xC]
- lsls r0, 8
- orrs r1, r0
- ldrh r0, [r2, 0xE]
- lsls r0, 12
- orrs r1, r0
- strh r1, [r3, 0x2]
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x7
- bls _080FD9A8
- lsls r0, r7, 16
- lsrs r0, 16
- cmp r0, r5
- bcc _080FD998
-_080FD9FC:
- mov r1, r10
- lsls r0, r1, 16
- lsrs r1, r0, 16
- ldr r2, [sp, 0x8]
- cmp r1, r2
- bcc _080FD984
-_080FDA08:
- add sp, 0xC
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80FD8CC
-
- thumb_func_start sub_80FDA18
-sub_80FDA18: @ 80FDA18
- push {lr}
- ldr r2, _080FDA68 @ =gUnknown_03005E0C
- ldrb r1, [r0, 0x18]
- lsls r1, 4
- strh r1, [r2]
- ldr r3, _080FDA6C @ =gUnknown_03005E08
- ldrh r2, [r2]
- lsls r2, 1
- ldr r1, [r0, 0x8]
- adds r1, r2
- str r1, [r3]
- ldr r2, _080FDA70 @ =gUnknown_03005DEC
- ldr r1, [r0, 0x4]
- str r1, [r2]
- ldr r2, _080FDA74 @ =gUnknown_03005DE8
- ldrb r1, [r0, 0x19]
- strb r1, [r2]
- ldr r2, _080FDA78 @ =gUnknown_03005DFC
- ldrb r1, [r0, 0x1A]
- strb r1, [r2]
- ldr r2, _080FDA7C @ =gUnknown_03005DF8
- ldrb r1, [r0, 0x1B]
- strb r1, [r2]
- ldr r2, _080FDA80 @ =gUnknown_03005DF0
- ldrb r1, [r0, 0x1C]
- strb r1, [r2]
- ldr r2, _080FDA84 @ =gUnknown_03005E04
- ldrb r1, [r0, 0x1D]
- strb r1, [r2]
- ldr r2, _080FDA88 @ =gUnknown_03005DF4
- ldrb r1, [r0, 0x1E]
- strb r1, [r2]
- ldrh r0, [r0, 0x14]
- cmp r0, 0x5
- bhi _080FDADE
- lsls r0, 2
- ldr r1, _080FDA8C @ =_080FDA90
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080FDA68: .4byte gUnknown_03005E0C
-_080FDA6C: .4byte gUnknown_03005E08
-_080FDA70: .4byte gUnknown_03005DEC
-_080FDA74: .4byte gUnknown_03005DE8
-_080FDA78: .4byte gUnknown_03005DFC
-_080FDA7C: .4byte gUnknown_03005DF8
-_080FDA80: .4byte gUnknown_03005DF0
-_080FDA84: .4byte gUnknown_03005E04
-_080FDA88: .4byte gUnknown_03005DF4
-_080FDA8C: .4byte _080FDA90
- .align 2, 0
-_080FDA90:
- .4byte _080FDAA8
- .4byte _080FDAB0
- .4byte _080FDAB8
- .4byte _080FDAC2
- .4byte _080FDACC
- .4byte _080FDAD6
-_080FDAA8:
- movs r0, 0
- bl sub_80FDC18
- b _080FDADE
-_080FDAB0:
- movs r0, 0x1
- bl sub_80FDC18
- b _080FDADE
-_080FDAB8:
- bl sub_80FDAE4
- bl sub_80FDF88
- b _080FDADE
-_080FDAC2:
- bl sub_80FDBE4
- bl sub_80FDED8
- b _080FDADE
-_080FDACC:
- bl sub_80FDBA8
- bl sub_80FDE28
- b _080FDADE
-_080FDAD6:
- bl sub_80FDB8C
- bl sub_80FDD70
-_080FDADE:
- pop {r0}
- bx r0
- thumb_func_end sub_80FDA18
-
- thumb_func_start sub_80FDAE4
-sub_80FDAE4: @ 80FDAE4
- ldr r2, _080FDB4C @ =gUnknown_03005E08
- ldr r1, [r2]
- movs r0, 0
- strh r0, [r1]
- ldr r0, [r2]
- ldr r2, _080FDB50 @ =0x000018c6
- adds r1, r2, 0
- strh r1, [r0, 0x2]
- ldr r2, _080FDB54 @ =0x000077bd
- adds r1, r2, 0
- strh r1, [r0, 0x4]
- ldr r2, _080FDB58 @ =0x00002d6b
- adds r1, r2, 0
- strh r1, [r0, 0x6]
- ldr r2, _080FDB5C @ =0x000018dd
- adds r1, r2, 0
- strh r1, [r0, 0x8]
- ldr r2, _080FDB60 @ =0x00001ba6
- adds r1, r2, 0
- strh r1, [r0, 0xA]
- ldr r2, _080FDB64 @ =0x000074c6
- adds r1, r2, 0
- strh r1, [r0, 0xC]
- ldr r2, _080FDB68 @ =0x00001bbd
- adds r1, r2, 0
- strh r1, [r0, 0xE]
- ldr r2, _080FDB6C @ =0x000074dd
- adds r1, r2, 0
- strh r1, [r0, 0x10]
- ldr r2, _080FDB70 @ =0x000077a6
- adds r1, r2, 0
- strh r1, [r0, 0x12]
- ldr r2, _080FDB74 @ =0x0000197d
- adds r1, r2, 0
- strh r1, [r0, 0x14]
- ldr r2, _080FDB78 @ =0x00001bab
- adds r1, r2, 0
- strh r1, [r0, 0x16]
- ldr r2, _080FDB7C @ =0x00007566
- adds r1, r2, 0
- strh r1, [r0, 0x18]
- ldr r2, _080FDB80 @ =0x00002cdd
- adds r1, r2, 0
- strh r1, [r0, 0x1A]
- ldr r2, _080FDB84 @ =0x00002fa6
- adds r1, r2, 0
- strh r1, [r0, 0x1C]
- ldr r2, _080FDB88 @ =0x000074cb
- adds r1, r2, 0
- strh r1, [r0, 0x1E]
- bx lr
- .align 2, 0
-_080FDB4C: .4byte gUnknown_03005E08
-_080FDB50: .4byte 0x000018c6
-_080FDB54: .4byte 0x000077bd
-_080FDB58: .4byte 0x00002d6b
-_080FDB5C: .4byte 0x000018dd
-_080FDB60: .4byte 0x00001ba6
-_080FDB64: .4byte 0x000074c6
-_080FDB68: .4byte 0x00001bbd
-_080FDB6C: .4byte 0x000074dd
-_080FDB70: .4byte 0x000077a6
-_080FDB74: .4byte 0x0000197d
-_080FDB78: .4byte 0x00001bab
-_080FDB7C: .4byte 0x00007566
-_080FDB80: .4byte 0x00002cdd
-_080FDB84: .4byte 0x00002fa6
-_080FDB88: .4byte 0x000074cb
- thumb_func_end sub_80FDAE4
-
- thumb_func_start sub_80FDB8C
-sub_80FDB8C: @ 80FDB8C
- ldr r2, _080FDBA0 @ =gUnknown_03005E08
- ldr r0, [r2]
- movs r1, 0
- strh r1, [r0]
- ldr r2, [r2]
- strh r1, [r2, 0x2]
- ldr r1, _080FDBA4 @ =0x00007fff
- adds r0, r1, 0
- strh r0, [r2, 0x4]
- bx lr
- .align 2, 0
-_080FDBA0: .4byte gUnknown_03005E08
-_080FDBA4: .4byte 0x00007fff
- thumb_func_end sub_80FDB8C
-
- thumb_func_start sub_80FDBA8
-sub_80FDBA8: @ 80FDBA8
- push {r4,r5,lr}
- ldr r1, _080FDBE0 @ =gUnknown_03005E08
- ldr r0, [r1]
- movs r2, 0
- strh r2, [r0]
- ldr r0, [r1]
- strh r2, [r0, 0x2]
- movs r4, 0
- adds r5, r1, 0
-_080FDBBA:
- ldr r0, [r5]
- lsls r2, r4, 1
- adds r2, r0
- adds r0, r4, 0x2
- lsls r3, r0, 1
- lsls r1, r0, 11
- lsls r0, 6
- orrs r1, r0
- orrs r1, r3
- strh r1, [r2, 0x4]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0xD
- bls _080FDBBA
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080FDBE0: .4byte gUnknown_03005E08
- thumb_func_end sub_80FDBA8
-
- thumb_func_start sub_80FDBE4
-sub_80FDBE4: @ 80FDBE4
- push {r4,lr}
- ldr r2, _080FDC14 @ =gUnknown_03005E08
- ldr r1, [r2]
- movs r0, 0
- strh r0, [r1]
- movs r3, 0
- adds r4, r2, 0
-_080FDBF2:
- ldr r0, [r4]
- lsls r2, r3, 1
- adds r2, r0
- lsls r0, r3, 10
- lsls r1, r3, 5
- orrs r0, r1
- orrs r0, r3
- strh r0, [r2, 0x2]
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x1F
- bls _080FDBF2
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080FDC14: .4byte gUnknown_03005E08
- thumb_func_end sub_80FDBE4
-
- thumb_func_start sub_80FDC18
-sub_80FDC18: @ 80FDC18
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- lsls r0, 24
- movs r1, 0xDF
- mov r9, r1
- cmp r0, 0
- bne _080FDC30
- movs r2, 0xFF
- mov r9, r2
-_080FDC30:
- movs r6, 0
- ldr r3, _080FDCB4 @ =gUnknown_03005E08
- mov r12, r3
- mov r0, r9
- lsls r4, r0, 1
- ldr r5, _080FDCB8 @ =gUnknown_03005DF0
- cmp r6, r9
- bcs _080FDC54
- movs r2, 0
-_080FDC42:
- ldr r0, [r3]
- lsls r1, r6, 1
- adds r1, r0
- strh r2, [r1]
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, r9
- bcc _080FDC42
-_080FDC54:
- mov r1, r12
- ldr r0, [r1]
- adds r0, r4, r0
- ldr r2, _080FDCBC @ =0x00003def
- adds r1, r2, 0
- strh r1, [r0]
- movs r3, 0
- ldrb r5, [r5]
- cmp r3, r5
- bcs _080FDD58
-_080FDC68:
- ldr r2, _080FDCC0 @ =gUnknown_03005DEC
- ldr r0, _080FDCC4 @ =gUnknown_03005DFC
- ldrb r1, [r0]
- adds r1, r3
- ldr r0, _080FDCC8 @ =gUnknown_03005E04
- ldrb r0, [r0]
- muls r0, r1
- lsls r0, 1
- ldr r1, [r2]
- adds r1, r0
- ldr r0, _080FDCCC @ =gUnknown_03005DE8
- ldrb r0, [r0]
- lsls r0, 1
- adds r4, r1, r0
- movs r6, 0
- ldr r0, _080FDCD0 @ =gUnknown_03005DF8
- adds r2, r0, 0
- adds r3, 0x1
- mov r10, r3
- ldrb r3, [r2]
- cmp r6, r3
- bcs _080FDD4A
- ldr r0, _080FDCD4 @ =gUnknown_03005E0C
- mov r8, r0
-_080FDC98:
- ldrh r0, [r4]
- movs r3, 0x80
- lsls r3, 8
- adds r1, r3, 0
- ands r0, r1
- cmp r0, 0
- beq _080FDCD8
- mov r1, r8
- ldrh r0, [r1]
- strh r0, [r4]
- adds r6, 0x1
- adds r7, r4, 0x2
- b _080FDD3E
- .align 2, 0
-_080FDCB4: .4byte gUnknown_03005E08
-_080FDCB8: .4byte gUnknown_03005DF0
-_080FDCBC: .4byte 0x00003def
-_080FDCC0: .4byte gUnknown_03005DEC
-_080FDCC4: .4byte gUnknown_03005DFC
-_080FDCC8: .4byte gUnknown_03005E04
-_080FDCCC: .4byte gUnknown_03005DE8
-_080FDCD0: .4byte gUnknown_03005DF8
-_080FDCD4: .4byte gUnknown_03005E0C
-_080FDCD8:
- adds r0, r4, 0
- bl sub_80FE038
- lsls r0, 16
- lsrs r5, r0, 16
- movs r3, 0x1
- adds r6, 0x1
- adds r7, r4, 0x2
- cmp r3, r9
- bcs _080FDD34
- ldr r0, _080FDD04 @ =gUnknown_03005E08
- ldr r2, [r0]
- ldrh r1, [r2, 0x2]
- mov r12, r0
- cmp r1, 0
- bne _080FDD08
- strh r5, [r2, 0x2]
- mov r2, r8
- ldrh r0, [r2]
- adds r0, 0x1
- b _080FDD32
- .align 2, 0
-_080FDD04: .4byte gUnknown_03005E08
-_080FDD08:
- mov r2, r12
- ldr r1, [r2]
- lsls r0, r3, 1
- adds r0, r1
- ldrh r0, [r0]
- cmp r0, r5
- beq _080FDD2C
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, r9
- bcs _080FDD34
- lsls r0, r3, 1
- adds r1, r0, r1
- ldrh r0, [r1]
- cmp r0, 0
- bne _080FDD08
- strh r5, [r1]
-_080FDD2C:
- mov r1, r8
- ldrh r0, [r1]
- adds r0, r3
-_080FDD32:
- strh r0, [r4]
-_080FDD34:
- ldr r2, _080FDD68 @ =gUnknown_03005DF8
- cmp r3, r9
- bne _080FDD3E
- mov r3, r9
- strh r3, [r4]
-_080FDD3E:
- lsls r0, r6, 24
- lsrs r6, r0, 24
- adds r4, r7, 0
- ldrb r0, [r2]
- cmp r6, r0
- bcc _080FDC98
-_080FDD4A:
- mov r1, r10
- lsls r0, r1, 24
- lsrs r3, r0, 24
- ldr r0, _080FDD6C @ =gUnknown_03005DF0
- ldrb r0, [r0]
- cmp r3, r0
- bcc _080FDC68
-_080FDD58:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080FDD68: .4byte gUnknown_03005DF8
-_080FDD6C: .4byte gUnknown_03005DF0
- thumb_func_end sub_80FDC18
-
- thumb_func_start sub_80FDD70
-sub_80FDD70: @ 80FDD70
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- movs r2, 0
- ldr r0, _080FDDC4 @ =gUnknown_03005DF0
- ldrb r0, [r0]
- cmp r2, r0
- bcs _080FDE14
- ldr r0, _080FDDC8 @ =gUnknown_03005DEC
- mov r8, r0
-_080FDD84:
- ldr r0, _080FDDCC @ =gUnknown_03005DFC
- ldrb r1, [r0]
- adds r1, r2
- ldr r0, _080FDDD0 @ =gUnknown_03005E04
- ldrb r0, [r0]
- muls r0, r1
- lsls r0, 1
- mov r3, r8
- ldr r1, [r3]
- adds r1, r0
- ldr r0, _080FDDD4 @ =gUnknown_03005DE8
- ldrb r0, [r0]
- lsls r0, 1
- adds r4, r1, r0
- movs r6, 0
- ldr r0, _080FDDD8 @ =gUnknown_03005DF8
- adds r3, r0, 0
- adds r7, r2, 0x1
- ldrb r0, [r3]
- cmp r6, r0
- bcs _080FDE08
- ldr r5, _080FDDDC @ =gUnknown_03005E0C
-_080FDDB0:
- ldrh r0, [r4]
- movs r2, 0x80
- lsls r2, 8
- adds r1, r2, 0
- ands r0, r1
- cmp r0, 0
- beq _080FDDE0
- ldrh r0, [r5]
- strh r0, [r4]
- b _080FDDFA
- .align 2, 0
-_080FDDC4: .4byte gUnknown_03005DF0
-_080FDDC8: .4byte gUnknown_03005DEC
-_080FDDCC: .4byte gUnknown_03005DFC
-_080FDDD0: .4byte gUnknown_03005E04
-_080FDDD4: .4byte gUnknown_03005DE8
-_080FDDD8: .4byte gUnknown_03005DF8
-_080FDDDC: .4byte gUnknown_03005E0C
-_080FDDE0:
- adds r0, r4, 0
- bl ConvertToBlackOrWhite
- lsls r0, 16
- cmp r0, 0
- bne _080FDDF2
- ldrh r0, [r5]
- adds r0, 0x1
- b _080FDDF6
-_080FDDF2:
- ldrh r0, [r5]
- adds r0, 0x2
-_080FDDF6:
- strh r0, [r4]
- ldr r3, _080FDE20 @ =gUnknown_03005DF8
-_080FDDFA:
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- adds r4, 0x2
- ldrb r0, [r3]
- cmp r6, r0
- bcc _080FDDB0
-_080FDE08:
- lsls r0, r7, 24
- lsrs r2, r0, 24
- ldr r0, _080FDE24 @ =gUnknown_03005DF0
- ldrb r0, [r0]
- cmp r2, r0
- bcc _080FDD84
-_080FDE14:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080FDE20: .4byte gUnknown_03005DF8
-_080FDE24: .4byte gUnknown_03005DF0
- thumb_func_end sub_80FDD70
-
- thumb_func_start sub_80FDE28
-sub_80FDE28: @ 80FDE28
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- movs r2, 0
- ldr r0, _080FDE7C @ =gUnknown_03005DF0
- ldrb r0, [r0]
- cmp r2, r0
- bcs _080FDEC4
- ldr r0, _080FDE80 @ =gUnknown_03005DEC
- mov r8, r0
-_080FDE3E:
- ldr r0, _080FDE84 @ =gUnknown_03005DFC
- ldrb r1, [r0]
- adds r1, r2
- ldr r0, _080FDE88 @ =gUnknown_03005E04
- ldrb r0, [r0]
- muls r0, r1
- lsls r0, 1
- mov r3, r8
- ldr r1, [r3]
- adds r1, r0
- ldr r0, _080FDE8C @ =gUnknown_03005DE8
- ldrb r0, [r0]
- lsls r0, 1
- adds r4, r1, r0
- movs r5, 0
- ldr r0, _080FDE90 @ =gUnknown_03005DF8
- adds r7, r2, 0x1
- ldrb r0, [r0]
- cmp r5, r0
- bcs _080FDEB8
- ldr r6, _080FDE94 @ =gUnknown_03005E0C
- movs r0, 0x80
- lsls r0, 8
- adds r2, r0, 0
-_080FDE6E:
- ldrh r0, [r4]
- ands r0, r2
- cmp r0, 0
- beq _080FDE98
- ldrh r0, [r6]
- strh r0, [r4]
- b _080FDEA8
- .align 2, 0
-_080FDE7C: .4byte gUnknown_03005DF0
-_080FDE80: .4byte gUnknown_03005DEC
-_080FDE84: .4byte gUnknown_03005DFC
-_080FDE88: .4byte gUnknown_03005E04
-_080FDE8C: .4byte gUnknown_03005DE8
-_080FDE90: .4byte gUnknown_03005DF8
-_080FDE94: .4byte gUnknown_03005E0C
-_080FDE98:
- adds r0, r4, 0
- str r2, [sp]
- bl sub_80FE17C
- ldrh r1, [r6]
- adds r0, r1
- strh r0, [r4]
- ldr r2, [sp]
-_080FDEA8:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- adds r4, 0x2
- ldr r0, _080FDED0 @ =gUnknown_03005DF8
- ldrb r0, [r0]
- cmp r5, r0
- bcc _080FDE6E
-_080FDEB8:
- lsls r0, r7, 24
- lsrs r2, r0, 24
- ldr r0, _080FDED4 @ =gUnknown_03005DF0
- ldrb r0, [r0]
- cmp r2, r0
- bcc _080FDE3E
-_080FDEC4:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080FDED0: .4byte gUnknown_03005DF8
-_080FDED4: .4byte gUnknown_03005DF0
- thumb_func_end sub_80FDE28
-
- thumb_func_start sub_80FDED8
-sub_80FDED8: @ 80FDED8
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- movs r2, 0
- ldr r0, _080FDF2C @ =gUnknown_03005DF0
- ldrb r0, [r0]
- cmp r2, r0
- bcs _080FDF74
- ldr r0, _080FDF30 @ =gUnknown_03005DEC
- mov r8, r0
-_080FDEEE:
- ldr r0, _080FDF34 @ =gUnknown_03005DFC
- ldrb r1, [r0]
- adds r1, r2
- ldr r0, _080FDF38 @ =gUnknown_03005E04
- ldrb r0, [r0]
- muls r0, r1
- lsls r0, 1
- mov r3, r8
- ldr r1, [r3]
- adds r1, r0
- ldr r0, _080FDF3C @ =gUnknown_03005DE8
- ldrb r0, [r0]
- lsls r0, 1
- adds r4, r1, r0
- movs r5, 0
- ldr r0, _080FDF40 @ =gUnknown_03005DF8
- adds r7, r2, 0x1
- ldrb r0, [r0]
- cmp r5, r0
- bcs _080FDF68
- ldr r6, _080FDF44 @ =gUnknown_03005E0C
- movs r0, 0x80
- lsls r0, 8
- adds r2, r0, 0
-_080FDF1E:
- ldrh r0, [r4]
- ands r0, r2
- cmp r0, 0
- beq _080FDF48
- ldrh r0, [r6]
- strh r0, [r4]
- b _080FDF58
- .align 2, 0
-_080FDF2C: .4byte gUnknown_03005DF0
-_080FDF30: .4byte gUnknown_03005DEC
-_080FDF34: .4byte gUnknown_03005DFC
-_080FDF38: .4byte gUnknown_03005E04
-_080FDF3C: .4byte gUnknown_03005DE8
-_080FDF40: .4byte gUnknown_03005DF8
-_080FDF44: .4byte gUnknown_03005E0C
-_080FDF48:
- adds r0, r4, 0
- str r2, [sp]
- bl sub_80FE1B0
- ldrh r1, [r6]
- adds r0, r1
- strh r0, [r4]
- ldr r2, [sp]
-_080FDF58:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- adds r4, 0x2
- ldr r0, _080FDF80 @ =gUnknown_03005DF8
- ldrb r0, [r0]
- cmp r5, r0
- bcc _080FDF1E
-_080FDF68:
- lsls r0, r7, 24
- lsrs r2, r0, 24
- ldr r0, _080FDF84 @ =gUnknown_03005DF0
- ldrb r0, [r0]
- cmp r2, r0
- bcc _080FDEEE
-_080FDF74:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080FDF80: .4byte gUnknown_03005DF8
-_080FDF84: .4byte gUnknown_03005DF0
- thumb_func_end sub_80FDED8
-
- thumb_func_start sub_80FDF88
-sub_80FDF88: @ 80FDF88
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- movs r2, 0
- ldr r0, _080FDFDC @ =gUnknown_03005DF0
- ldrb r0, [r0]
- cmp r2, r0
- bcs _080FE024
- ldr r0, _080FDFE0 @ =gUnknown_03005DEC
- mov r8, r0
-_080FDF9E:
- ldr r0, _080FDFE4 @ =gUnknown_03005DFC
- ldrb r1, [r0]
- adds r1, r2
- ldr r0, _080FDFE8 @ =gUnknown_03005E04
- ldrb r0, [r0]
- muls r0, r1
- lsls r0, 1
- mov r3, r8
- ldr r1, [r3]
- adds r1, r0
- ldr r0, _080FDFEC @ =gUnknown_03005DE8
- ldrb r0, [r0]
- lsls r0, 1
- adds r4, r1, r0
- movs r5, 0
- ldr r0, _080FDFF0 @ =gUnknown_03005DF8
- adds r7, r2, 0x1
- ldrb r0, [r0]
- cmp r5, r0
- bcs _080FE018
- ldr r6, _080FDFF4 @ =gUnknown_03005E0C
- movs r0, 0x80
- lsls r0, 8
- adds r2, r0, 0
-_080FDFCE:
- ldrh r0, [r4]
- ands r0, r2
- cmp r0, 0
- beq _080FDFF8
- ldrh r0, [r6]
- strh r0, [r4]
- b _080FE008
- .align 2, 0
-_080FDFDC: .4byte gUnknown_03005DF0
-_080FDFE0: .4byte gUnknown_03005DEC
-_080FDFE4: .4byte gUnknown_03005DFC
-_080FDFE8: .4byte gUnknown_03005E04
-_080FDFEC: .4byte gUnknown_03005DE8
-_080FDFF0: .4byte gUnknown_03005DF8
-_080FDFF4: .4byte gUnknown_03005E0C
-_080FDFF8:
- adds r0, r4, 0
- str r2, [sp]
- bl sub_80FE0AC
- ldrh r1, [r6]
- adds r0, r1
- strh r0, [r4]
- ldr r2, [sp]
-_080FE008:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- adds r4, 0x2
- ldr r0, _080FE030 @ =gUnknown_03005DF8
- ldrb r0, [r0]
- cmp r5, r0
- bcc _080FDFCE
-_080FE018:
- lsls r0, r7, 24
- lsrs r2, r0, 24
- ldr r0, _080FE034 @ =gUnknown_03005DF0
- ldrb r0, [r0]
- cmp r2, r0
- bcc _080FDF9E
-_080FE024:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080FE030: .4byte gUnknown_03005DF8
-_080FE034: .4byte gUnknown_03005DF0
- thumb_func_end sub_80FDF88
-
- thumb_func_start sub_80FE038
-sub_80FE038: @ 80FE038
- push {r4,lr}
- ldrh r0, [r0]
- movs r1, 0x1F
- movs r4, 0x1F
- ands r4, r0
- lsls r0, 16
- lsrs r3, r0, 21
- ands r3, r1
- lsrs r2, r0, 26
- ands r2, r1
- movs r1, 0x3
- adds r0, r4, 0
- ands r0, r1
- cmp r0, 0
- beq _080FE05C
- movs r0, 0x1C
- ands r0, r4
- adds r4, r0, 0x4
-_080FE05C:
- adds r0, r3, 0
- ands r0, r1
- cmp r0, 0
- beq _080FE06A
- movs r0, 0x1C
- ands r0, r3
- adds r3, r0, 0x4
-_080FE06A:
- adds r0, r2, 0
- ands r0, r1
- cmp r0, 0
- beq _080FE078
- movs r0, 0x1C
- ands r0, r2
- adds r2, r0, 0x4
-_080FE078:
- cmp r4, 0x5
- bhi _080FE07E
- movs r4, 0x6
-_080FE07E:
- cmp r4, 0x1E
- bls _080FE084
- movs r4, 0x1E
-_080FE084:
- cmp r3, 0x5
- bhi _080FE08A
- movs r3, 0x6
-_080FE08A:
- cmp r3, 0x1E
- bls _080FE090
- movs r3, 0x1E
-_080FE090:
- cmp r2, 0x5
- bhi _080FE096
- movs r2, 0x6
-_080FE096:
- cmp r2, 0x1E
- bls _080FE09C
- movs r2, 0x1E
-_080FE09C:
- lsls r0, r2, 10
- lsls r1, r3, 5
- orrs r0, r1
- orrs r4, r0
- adds r0, r4, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80FE038
-
- thumb_func_start sub_80FE0AC
-sub_80FE0AC: @ 80FE0AC
- push {lr}
- ldrh r0, [r0]
- movs r1, 0x1F
- movs r3, 0x1F
- ands r3, r0
- lsls r0, 16
- lsrs r2, r0, 21
- ands r2, r1
- lsrs r0, 26
- ands r0, r1
- cmp r3, 0xB
- bhi _080FE0D0
- cmp r2, 0xA
- bhi _080FE0D0
- cmp r0, 0xA
- bhi _080FE0D0
- movs r0, 0x1
- b _080FE176
-_080FE0D0:
- cmp r3, 0x13
- bls _080FE0F4
- cmp r2, 0x13
- bls _080FE0DC
- cmp r0, 0x13
- bhi _080FE100
-_080FE0DC:
- cmp r3, 0x13
- bls _080FE0F4
- cmp r2, 0x13
- bls _080FE0EA
- cmp r0, 0xE
- bhi _080FE100
- b _080FE138
-_080FE0EA:
- cmp r0, 0x13
- bls _080FE0F4
- cmp r2, 0xE
- bhi _080FE100
- b _080FE114
-_080FE0F4:
- cmp r2, 0x13
- bls _080FE104
- cmp r0, 0x13
- bls _080FE104
- cmp r3, 0xE
- bls _080FE15C
-_080FE100:
- movs r0, 0x2
- b _080FE176
-_080FE104:
- cmp r3, 0x13
- bls _080FE128
- cmp r2, 0xB
- bls _080FE11C
- cmp r0, 0xB
- bls _080FE118
- cmp r2, r0
- bcs _080FE138
-_080FE114:
- movs r0, 0x8
- b _080FE176
-_080FE118:
- movs r0, 0xA
- b _080FE176
-_080FE11C:
- cmp r0, 0xB
- bls _080FE124
- movs r0, 0xD
- b _080FE176
-_080FE124:
- movs r0, 0x4
- b _080FE176
-_080FE128:
- cmp r2, 0x13
- bls _080FE14C
- cmp r3, 0xB
- bls _080FE140
- cmp r0, 0xB
- bls _080FE13C
- cmp r3, r0
- bcc _080FE15C
-_080FE138:
- movs r0, 0x7
- b _080FE176
-_080FE13C:
- movs r0, 0xB
- b _080FE176
-_080FE140:
- cmp r0, 0xB
- bls _080FE148
- movs r0, 0xE
- b _080FE176
-_080FE148:
- movs r0, 0x5
- b _080FE176
-_080FE14C:
- cmp r0, 0x13
- bls _080FE174
- cmp r3, 0xB
- bls _080FE160
- cmp r2, 0xB
- bls _080FE168
- cmp r3, r2
- bcs _080FE114
-_080FE15C:
- movs r0, 0x9
- b _080FE176
-_080FE160:
- cmp r2, 0xB
- bls _080FE168
- movs r0, 0xC
- b _080FE176
-_080FE168:
- cmp r0, 0xB
- bls _080FE170
- movs r0, 0xF
- b _080FE176
-_080FE170:
- movs r0, 0x6
- b _080FE176
-_080FE174:
- movs r0, 0x3
-_080FE176:
- pop {r1}
- bx r1
- thumb_func_end sub_80FE0AC
-
- thumb_func_start sub_80FE17C
-sub_80FE17C: @ 80FE17C
- push {lr}
- ldrh r1, [r0]
- movs r3, 0x1F
- movs r0, 0x1F
- ands r0, r1
- lsls r1, 16
- lsrs r2, r1, 21
- ands r2, r3
- lsrs r1, 26
- ands r1, r3
- adds r0, r2
- adds r0, r1
- movs r1, 0x3
- bl __divsi3
- movs r1, 0x1E
- ands r0, r1
- lsls r0, 16
- cmp r0, 0
- beq _080FE1A8
- lsrs r0, 17
- b _080FE1AA
-_080FE1A8:
- movs r0, 0x1
-_080FE1AA:
- pop {r1}
- bx r1
- thumb_func_end sub_80FE17C
-
- thumb_func_start sub_80FE1B0
-sub_80FE1B0: @ 80FE1B0
- push {lr}
- ldrh r1, [r0]
- movs r3, 0x1F
- movs r0, 0x1F
- ands r0, r1
- lsls r1, 16
- lsrs r2, r1, 21
- ands r2, r3
- lsrs r1, 26
- ands r1, r3
- adds r0, r2
- adds r0, r1
- movs r1, 0x3
- bl __divsi3
- lsls r0, 16
- movs r1, 0x80
- lsls r1, 9
- adds r0, r1
- lsrs r0, 16
- pop {r1}
- bx r1
- thumb_func_end sub_80FE1B0
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/m4a_3.s b/asm/m4a_3.s
deleted file mode 100644
index 82b6a2467..000000000
--- a/asm/m4a_3.s
+++ /dev/null
@@ -1,574 +0,0 @@
- .include "include/macros.inc"
- .include "constants/gba_constants.inc"
- .include "constants/m4a_constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start CgbSound
-CgbSound: @ 81DEA70
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x1C
- ldr r0, =SOUND_INFO_PTR
- ldr r0, [r0]
- str r0, [sp, 0x4]
- ldrb r0, [r0, 0xA]
- cmp r0, 0
- beq _081DEA94
- subs r0, 0x1
- ldr r1, [sp, 0x4]
- strb r0, [r1, 0xA]
- b _081DEA9A
- .pool
-_081DEA94:
- movs r0, 0xE
- ldr r2, [sp, 0x4]
- strb r0, [r2, 0xA]
-_081DEA9A:
- movs r6, 0x1
- ldr r0, [sp, 0x4]
- ldr r4, [r0, 0x1C]
-_081DEAA0:
- ldrb r1, [r4]
- movs r0, 0xC7
- ands r0, r1
- adds r2, r6, 0x1
- mov r10, r2
- movs r2, 0x40
- adds r2, r4
- mov r9, r2
- cmp r0, 0
- bne _081DEAB6
- b _081DEEA0
-_081DEAB6:
- cmp r6, 0x2
- beq _081DEAE8
- cmp r6, 0x2
- bgt _081DEAC4
- cmp r6, 0x1
- beq _081DEACA
- b _081DEB20
-_081DEAC4:
- cmp r6, 0x3
- beq _081DEB00
- b _081DEB20
-_081DEACA:
- ldr r0, =REG_NR10
- str r0, [sp, 0x8]
- ldr r7, =REG_NR11
- ldr r2, =REG_NR12
- str r2, [sp, 0xC]
- adds r0, 0x4
- str r0, [sp, 0x10]
- adds r2, 0x2
- b _081DEB30
- .pool
-_081DEAE8:
- ldr r0, =REG_NR10 + 1
- str r0, [sp, 0x8]
- ldr r7, =REG_NR21
- ldr r2, =REG_NR22
- b _081DEB28
- .pool
-_081DEB00:
- ldr r0, =REG_NR30
- str r0, [sp, 0x8]
- ldr r7, =REG_NR31
- ldr r2, =REG_NR32
- str r2, [sp, 0xC]
- adds r0, 0x4
- str r0, [sp, 0x10]
- adds r2, 0x2
- b _081DEB30
- .pool
-_081DEB20:
- ldr r0, =REG_NR30 + 1
- str r0, [sp, 0x8]
- ldr r7, =REG_NR41
- ldr r2, =REG_NR42
-_081DEB28:
- str r2, [sp, 0xC]
- adds r0, 0xB
- str r0, [sp, 0x10]
- adds r2, 0x4
-_081DEB30:
- str r2, [sp, 0x14]
- ldr r0, [sp, 0x4]
- ldrb r0, [r0, 0xA]
- str r0, [sp]
- ldr r2, [sp, 0xC]
- ldrb r0, [r2]
- mov r8, r0
- adds r2, r1, 0
- movs r0, 0x80
- ands r0, r2
- cmp r0, 0
- beq _081DEC26
- movs r3, 0x40
- adds r0, r3, 0
- ands r0, r2
- lsls r0, 24
- lsrs r5, r0, 24
- adds r0, r6, 0x1
- mov r10, r0
- movs r1, 0x40
- adds r1, r4
- mov r9, r1
- cmp r5, 0
- bne _081DEC4A
- movs r0, 0x3
- strb r0, [r4]
- strb r0, [r4, 0x1D]
- adds r0, r4, 0
- str r3, [sp, 0x18]
- bl CgbModVol
- ldr r3, [sp, 0x18]
- cmp r6, 0x2
- beq _081DEB98
- cmp r6, 0x2
- bgt _081DEB8C
- cmp r6, 0x1
- beq _081DEB92
- b _081DEBEC
- .pool
-_081DEB8C:
- cmp r6, 0x3
- beq _081DEBA4
- b _081DEBEC
-_081DEB92:
- ldrb r0, [r4, 0x1F]
- ldr r2, [sp, 0x8]
- strb r0, [r2]
-_081DEB98:
- ldr r0, [r4, 0x24]
- lsls r0, 6
- ldrb r1, [r4, 0x1E]
- adds r0, r1, r0
- strb r0, [r7]
- b _081DEBF8
-_081DEBA4:
- ldr r1, [r4, 0x24]
- ldr r0, [r4, 0x28]
- cmp r1, r0
- beq _081DEBCC
- ldr r2, [sp, 0x8]
- strb r3, [r2]
- ldr r1, =REG_WAVE_RAM
- ldr r2, [r4, 0x24]
- ldr r0, [r2]
- str r0, [r1]
- adds r1, 0x4
- ldr r0, [r2, 0x4]
- str r0, [r1]
- adds r1, 0x4
- ldr r0, [r2, 0x8]
- str r0, [r1]
- adds r1, 0x4
- ldr r0, [r2, 0xC]
- str r0, [r1]
- str r2, [r4, 0x28]
-_081DEBCC:
- ldr r0, [sp, 0x8]
- strb r5, [r0]
- ldrb r0, [r4, 0x1E]
- strb r0, [r7]
- ldrb r0, [r4, 0x1E]
- cmp r0, 0
- beq _081DEBE4
- movs r0, 0xC0
- b _081DEC06
- .pool
-_081DEBE4:
- movs r1, 0x80
- negs r1, r1
- strb r1, [r4, 0x1A]
- b _081DEC08
-_081DEBEC:
- ldrb r0, [r4, 0x1E]
- strb r0, [r7]
- ldr r0, [r4, 0x24]
- lsls r0, 3
- ldr r2, [sp, 0x10]
- strb r0, [r2]
-_081DEBF8:
- ldrb r0, [r4, 0x4]
- adds r0, 0x8
- mov r8, r0
- ldrb r0, [r4, 0x1E]
- cmp r0, 0
- beq _081DEC06
- movs r0, 0x40
-_081DEC06:
- strb r0, [r4, 0x1A]
-_081DEC08:
- ldrb r1, [r4, 0x4]
- movs r2, 0
- strb r1, [r4, 0xB]
- movs r0, 0xFF
- ands r0, r1
- adds r1, r6, 0x1
- mov r10, r1
- movs r1, 0x40
- adds r1, r4
- mov r9, r1
- cmp r0, 0
- bne _081DEC22
- b _081DED5E
-_081DEC22:
- strb r2, [r4, 0x9]
- b _081DED8C
-_081DEC26:
- movs r0, 0x4
- ands r0, r2
- cmp r0, 0
- beq _081DEC58
- ldrb r0, [r4, 0xD]
- subs r0, 0x1
- strb r0, [r4, 0xD]
- movs r2, 0xFF
- ands r0, r2
- lsls r0, 24
- adds r1, r6, 0x1
- mov r10, r1
- movs r2, 0x40
- adds r2, r4
- mov r9, r2
- cmp r0, 0
- ble _081DEC4A
- b _081DED9E
-_081DEC4A:
- lsls r0, r6, 24
- lsrs r0, 24
- bl CgbOscOff
- movs r0, 0
- strb r0, [r4]
- b _081DEE9C
-_081DEC58:
- movs r0, 0x40
- ands r0, r1
- adds r2, r6, 0x1
- mov r10, r2
- movs r2, 0x40
- adds r2, r4
- mov r9, r2
- cmp r0, 0
- beq _081DEC98
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0
- beq _081DEC98
- movs r0, 0xFC
- ands r0, r1
- movs r2, 0
- strb r0, [r4]
- ldrb r1, [r4, 0x7]
- strb r1, [r4, 0xB]
- movs r0, 0xFF
- ands r0, r1
- cmp r0, 0
- beq _081DECCA
- movs r0, 0x1
- ldrb r1, [r4, 0x1D]
- orrs r0, r1
- strb r0, [r4, 0x1D]
- cmp r6, 0x3
- beq _081DED8C
- ldrb r2, [r4, 0x7]
- mov r8, r2
- b _081DED8C
-_081DEC98:
- ldrb r0, [r4, 0xB]
- cmp r0, 0
- bne _081DED8C
- cmp r6, 0x3
- bne _081DECAA
- movs r0, 0x1
- ldrb r1, [r4, 0x1D]
- orrs r0, r1
- strb r0, [r4, 0x1D]
-_081DECAA:
- adds r0, r4, 0
- bl CgbModVol
- movs r0, 0x3
- ldrb r2, [r4]
- ands r0, r2
- cmp r0, 0
- bne _081DECFE
- ldrb r0, [r4, 0x9]
- subs r0, 0x1
- strb r0, [r4, 0x9]
- movs r1, 0xFF
- ands r0, r1
- lsls r0, 24
- cmp r0, 0
- bgt _081DECFA
-_081DECCA:
- ldrb r2, [r4, 0xC]
- ldrb r1, [r4, 0xA]
- adds r0, r2, 0
- muls r0, r1
- adds r0, 0xFF
- asrs r0, 8
- movs r1, 0
- strb r0, [r4, 0x9]
- lsls r0, 24
- cmp r0, 0
- beq _081DEC4A
- movs r0, 0x4
- ldrb r2, [r4]
- orrs r0, r2
- strb r0, [r4]
- movs r0, 0x1
- ldrb r1, [r4, 0x1D]
- orrs r0, r1
- strb r0, [r4, 0x1D]
- cmp r6, 0x3
- beq _081DED9E
- movs r2, 0x8
- mov r8, r2
- b _081DED9E
-_081DECFA:
- ldrb r0, [r4, 0x7]
- b _081DED8A
-_081DECFE:
- cmp r0, 0x1
- bne _081DED0A
-_081DED02:
- ldrb r0, [r4, 0x19]
- strb r0, [r4, 0x9]
- movs r0, 0x7
- b _081DED8A
-_081DED0A:
- cmp r0, 0x2
- bne _081DED4E
- ldrb r0, [r4, 0x9]
- subs r0, 0x1
- strb r0, [r4, 0x9]
- movs r1, 0xFF
- ands r0, r1
- lsls r0, 24
- ldrb r2, [r4, 0x19]
- lsls r1, r2, 24
- cmp r0, r1
- bgt _081DED4A
-_081DED22:
- ldrb r0, [r4, 0x6]
- cmp r0, 0
- bne _081DED32
- movs r0, 0xFC
- ldrb r1, [r4]
- ands r0, r1
- strb r0, [r4]
- b _081DECCA
-_081DED32:
- ldrb r0, [r4]
- subs r0, 0x1
- strb r0, [r4]
- movs r0, 0x1
- ldrb r2, [r4, 0x1D]
- orrs r0, r2
- strb r0, [r4, 0x1D]
- cmp r6, 0x3
- beq _081DED02
- movs r0, 0x8
- mov r8, r0
- b _081DED02
-_081DED4A:
- ldrb r0, [r4, 0x5]
- b _081DED8A
-_081DED4E:
- ldrb r0, [r4, 0x9]
- adds r0, 0x1
- strb r0, [r4, 0x9]
- movs r1, 0xFF
- ands r0, r1
- ldrb r2, [r4, 0xA]
- cmp r0, r2
- bcc _081DED88
-_081DED5E:
- ldrb r0, [r4]
- subs r0, 0x1
- movs r2, 0
- strb r0, [r4]
- ldrb r1, [r4, 0x5]
- strb r1, [r4, 0xB]
- movs r0, 0xFF
- ands r0, r1
- cmp r0, 0
- beq _081DED22
- movs r0, 0x1
- ldrb r1, [r4, 0x1D]
- orrs r0, r1
- strb r0, [r4, 0x1D]
- ldrb r0, [r4, 0xA]
- strb r0, [r4, 0x9]
- cmp r6, 0x3
- beq _081DED8C
- ldrb r2, [r4, 0x5]
- mov r8, r2
- b _081DED8C
-_081DED88:
- ldrb r0, [r4, 0x4]
-_081DED8A:
- strb r0, [r4, 0xB]
-_081DED8C:
- ldrb r0, [r4, 0xB]
- subs r0, 0x1
- strb r0, [r4, 0xB]
- ldr r0, [sp]
- cmp r0, 0
- bne _081DED9E
- subs r0, 0x1
- str r0, [sp]
- b _081DEC98
-_081DED9E:
- movs r0, 0x2
- ldrb r1, [r4, 0x1D]
- ands r0, r1
- cmp r0, 0
- beq _081DEE16
- cmp r6, 0x3
- bgt _081DEDDE
- movs r0, 0x8
- ldrb r2, [r4, 0x1]
- ands r0, r2
- cmp r0, 0
- beq _081DEDDE
- ldr r0, =REG_SOUNDBIAS + 1
- ldrb r0, [r0]
- cmp r0, 0x3F
- bgt _081DEDD0
- ldr r0, [r4, 0x20]
- adds r0, 0x2
- ldr r1, =0x000007fc
- b _081DEDDA
- .pool
-_081DEDD0:
- cmp r0, 0x7F
- bgt _081DEDDE
- ldr r0, [r4, 0x20]
- adds r0, 0x1
- ldr r1, =0x000007fe
-_081DEDDA:
- ands r0, r1
- str r0, [r4, 0x20]
-_081DEDDE:
- cmp r6, 0x4
- beq _081DEDF0
- ldr r0, [r4, 0x20]
- ldr r1, [sp, 0x10]
- strb r0, [r1]
- b _081DEDFE
- .pool
-_081DEDF0:
- ldr r2, [sp, 0x10]
- ldrb r0, [r2]
- movs r1, 0x8
- ands r1, r0
- ldr r0, [r4, 0x20]
- orrs r0, r1
- strb r0, [r2]
-_081DEDFE:
- movs r0, 0xC0
- ldrb r1, [r4, 0x1A]
- ands r0, r1
- adds r1, r4, 0
- adds r1, 0x21
- ldrb r1, [r1]
- adds r0, r1, r0
- strb r0, [r4, 0x1A]
- movs r2, 0xFF
- ands r0, r2
- ldr r1, [sp, 0x14]
- strb r0, [r1]
-_081DEE16:
- movs r0, 0x1
- ldrb r2, [r4, 0x1D]
- ands r0, r2
- cmp r0, 0
- beq _081DEE9C
- ldr r1, =REG_NR51
- ldrb r0, [r1]
- ldrb r2, [r4, 0x1C]
- bics r0, r2
- ldrb r2, [r4, 0x1B]
- orrs r0, r2
- strb r0, [r1]
- cmp r6, 0x3
- bne _081DEE68
- ldr r0, =gCgb3Vol
- ldrb r1, [r4, 0x9]
- adds r0, r1, r0
- ldrb r0, [r0]
- ldr r2, [sp, 0xC]
- strb r0, [r2]
- movs r1, 0x80
- adds r0, r1, 0
- ldrb r2, [r4, 0x1A]
- ands r0, r2
- cmp r0, 0
- beq _081DEE9C
- ldr r0, [sp, 0x8]
- strb r1, [r0]
- ldrb r0, [r4, 0x1A]
- ldr r1, [sp, 0x14]
- strb r0, [r1]
- movs r0, 0x7F
- ldrb r2, [r4, 0x1A]
- ands r0, r2
- strb r0, [r4, 0x1A]
- b _081DEE9C
- .pool
-_081DEE68:
- movs r0, 0xF
- mov r1, r8
- ands r1, r0
- mov r8, r1
- ldrb r2, [r4, 0x9]
- lsls r0, r2, 4
- add r0, r8
- ldr r1, [sp, 0xC]
- strb r0, [r1]
- movs r2, 0x80
- ldrb r0, [r4, 0x1A]
- orrs r0, r2
- ldr r1, [sp, 0x14]
- strb r0, [r1]
- cmp r6, 0x1
- bne _081DEE9C
- ldr r0, [sp, 0x8]
- ldrb r1, [r0]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- bne _081DEE9C
- ldrb r0, [r4, 0x1A]
- orrs r0, r2
- ldr r1, [sp, 0x14]
- strb r0, [r1]
-_081DEE9C:
- movs r0, 0
- strb r0, [r4, 0x1D]
-_081DEEA0:
- mov r6, r10
- mov r4, r9
- cmp r6, 0x4
- bgt _081DEEAA
- b _081DEAA0
-_081DEEAA:
- add sp, 0x1C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end CgbSound
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/pokenav.s b/asm/pokenav.s
deleted file mode 100644
index 562211a00..000000000
--- a/asm/pokenav.s
+++ /dev/null
@@ -1,3656 +0,0 @@
- .include "constants/gba_constants.inc"
- .include "include/macros.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_80F55AC
-sub_80F55AC: @ 80F55AC
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- adds r6, r0, 0
- mov r8, r1
- ldr r1, _080F5674 @ =gUnknown_083E4890
- ldrb r0, [r6]
- adds r0, r1
- ldrb r2, [r0]
- adds r6, 0x1
- movs r0, 0x9B
- mov r3, r8
- strh r0, [r3]
- movs r0, 0x5B
- subs r0, r2
- strh r0, [r3, 0x2]
- movs r7, 0x40
- movs r0, 0
- mov r12, r0
- movs r2, 0x1
- mov r9, r2
- ldr r3, _080F5678 @ =gSineTable
- mov r10, r3
-_080F55DE:
- adds r0, r7, 0
- adds r0, 0x33
- lsls r0, 24
- lsrs r7, r0, 24
- mov r1, r12
- lsls r0, r1, 24
- movs r2, 0xFF
- lsls r2, 24
- adds r0, r2
- lsrs r3, r0, 24
- mov r12, r3
- cmp r0, 0
- bge _080F55FC
- movs r0, 0x4
- mov r12, r0
-_080F55FC:
- mov r1, r12
- lsls r0, r1, 24
- asrs r4, r0, 24
- cmp r4, 0x2
- bne _080F560C
- adds r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
-_080F560C:
- ldrb r0, [r6]
- ldr r2, _080F5674 @ =gUnknown_083E4890
- adds r0, r2
- ldrb r2, [r0]
- adds r6, 0x1
- lsls r0, r4, 2
- mov r1, r8
- adds r3, r0, r1
- adds r0, r7, 0
- adds r0, 0x40
- lsls r0, 1
- add r0, r10
- movs r1, 0
- ldrsh r0, [r0, r1]
- muls r0, r2
- asrs r5, r0, 8
- adds r0, r5, 0
- adds r0, 0x9B
- strh r0, [r3]
- lsls r0, r7, 1
- add r0, r10
- movs r1, 0
- ldrsh r0, [r0, r1]
- adds r1, r2, 0
- muls r1, r0
- asrs r1, 8
- movs r0, 0x5B
- subs r0, r1
- strh r0, [r3, 0x2]
- cmp r4, 0x2
- bgt _080F5658
- cmp r2, 0x20
- bne _080F5652
- cmp r4, 0x2
- beq _080F5658
-_080F5652:
- adds r0, r5, 0
- adds r0, 0x9C
- strh r0, [r3]
-_080F5658:
- mov r0, r9
- adds r0, 0x1
- lsls r0, 16
- lsrs r0, 16
- mov r9, r0
- cmp r0, 0x4
- bls _080F55DE
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080F5674: .4byte gUnknown_083E4890
-_080F5678: .4byte gSineTable
- thumb_func_end sub_80F55AC
-
- thumb_func_start sub_80F567C
-sub_80F567C: @ 80F567C
- push {lr}
- bl sub_80F55AC
- pop {r0}
- bx r0
- thumb_func_end sub_80F567C
-
- thumb_func_start sub_80F5688
-sub_80F5688: @ 80F5688
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x14
- adds r6, r0, 0
- adds r5, r1, 0
- str r2, [sp]
- ldr r7, [sp, 0x34]
- lsls r3, 24
- lsrs r3, 24
- mov r9, r3
- movs r0, 0
- str r0, [sp, 0x8]
- ldrh r0, [r5, 0x2]
- ldrh r1, [r2, 0x2]
- cmp r0, r1
- bcs _080F56D0
- adds r2, r0, 0
- str r2, [sp, 0x4]
- ldr r3, [sp]
- ldrh r0, [r3, 0x2]
- ldrh r1, [r5]
- lsls r4, r1, 10
- ldrh r2, [r3]
- mov r10, r2
- ldr r3, [sp, 0x4]
- subs r0, r3
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- cmp r0, 0
- beq _080F56FC
- subs r0, r2, r1
- b _080F56F2
-_080F56D0:
- ldrh r0, [r5, 0x2]
- ldr r1, [sp]
- ldrh r1, [r1, 0x2]
- str r1, [sp, 0x4]
- ldr r2, [sp]
- ldrh r1, [r2]
- lsls r4, r1, 10
- ldrh r3, [r5]
- mov r10, r3
- ldr r2, [sp, 0x4]
- subs r0, r2
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- cmp r0, 0
- beq _080F56FC
- subs r0, r3, r1
-_080F56F2:
- lsls r0, 10
- mov r1, r8
- bl __divsi3
- str r0, [sp, 0x8]
-_080F56FC:
- mov r0, r8
- adds r0, 0x1
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- cmp r7, 0
- bne _080F5746
- ldr r0, [sp, 0x4]
- subs r0, 0x38
- lsls r0, 2
- adds r6, r0
- movs r5, 0
- mov r3, r9
- lsls r3, 1
- mov r12, r3
- mov r0, r10
- add r0, r9
- str r0, [sp, 0xC]
- cmp r7, r8
- bcs _080F57D4
- movs r7, 0x1
-_080F5726:
- adds r2, r3, r6
- asrs r1, r4, 10
- asrs r0, r4, 9
- ands r0, r7
- adds r1, r0
- add r1, r9
- strh r1, [r2]
- ldr r1, [sp, 0x8]
- adds r4, r1
- adds r6, 0x4
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, r8
- bcc _080F5726
- b _080F57D4
-_080F5746:
- ldr r2, [sp, 0x8]
- cmp r2, 0
- ble _080F57E4
- ldr r0, [sp, 0x4]
- subs r0, 0x38
- lsls r0, 2
- adds r7, r0
- movs r5, 0
- mov r3, r9
- lsls r3, 1
- mov r12, r3
- mov r0, r10
- add r0, r9
- str r0, [sp, 0xC]
- cmp r5, r8
- bcs _080F5798
- ldr r0, _080F57D8 @ =0x00026bff
- cmp r4, r0
- bgt _080F5798
- mov r1, r12
- str r1, [sp, 0x10]
- mov r10, r0
-_080F5772:
- ldr r3, [sp, 0x10]
- adds r2, r3, r7
- asrs r1, r4, 10
- asrs r0, r4, 9
- movs r3, 0x1
- ands r0, r3
- adds r1, r0
- add r1, r9
- strh r1, [r2]
- ldr r0, [sp, 0x8]
- adds r4, r0
- adds r7, 0x4
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, r8
- bcs _080F5798
- cmp r4, r10
- ble _080F5772
-_080F5798:
- ldr r1, _080F57DC @ =gUnknown_083DFEC4
- ldr r0, [r1]
- ldr r2, [sp, 0x4]
- adds r1, r2, r5
- ldr r3, _080F57E0 @ =0x00009340
- adds r0, r3
- strh r1, [r0]
- ldrh r0, [r0]
- subs r0, 0x38
- lsls r0, 2
- adds r6, r0
- cmp r5, r8
- bcs _080F57D4
- mov r3, r12
- movs r7, 0x1
-_080F57B6:
- adds r2, r3, r6
- asrs r1, r4, 10
- asrs r0, r4, 9
- ands r0, r7
- adds r1, r0
- add r1, r9
- strh r1, [r2]
- ldr r0, [sp, 0x8]
- adds r4, r0
- adds r6, 0x4
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, r8
- bcc _080F57B6
-_080F57D4:
- subs r0, r6, 0x4
- b _080F58C4
- .align 2, 0
-_080F57D8: .4byte 0x00026bff
-_080F57DC: .4byte gUnknown_083DFEC4
-_080F57E0: .4byte 0x00009340
-_080F57E4:
- ldr r1, [sp, 0x8]
- cmp r1, 0
- bge _080F5890
- ldr r0, [sp, 0x4]
- subs r0, 0x38
- lsls r0, 2
- adds r6, r0
- movs r5, 0
- mov r2, r9
- lsls r2, 1
- mov r12, r2
- mov r3, r10
- add r3, r9
- str r3, [sp, 0xC]
- cmp r5, r8
- bcs _080F5842
- adds r3, r2, r6
- asrs r1, r4, 10
- asrs r0, r4, 9
- movs r2, 0x1
- ands r0, r2
- adds r1, r0
- add r1, r9
- strh r1, [r3]
- b _080F5838
-_080F5816:
- ldr r0, [sp, 0x8]
- adds r4, r0
- adds r6, 0x4
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, r8
- bcs _080F5842
- mov r1, r12
- adds r3, r1, r6
- asrs r2, r4, 10
- asrs r0, r4, 9
- movs r1, 0x1
- ands r0, r1
- adds r2, r0
- add r2, r9
- strh r2, [r3]
-_080F5838:
- ldr r0, _080F5884 @ =0x00026bff
- cmp r4, r0
- bgt _080F5816
- movs r0, 0x9B
- strh r0, [r3]
-_080F5842:
- ldr r2, _080F5888 @ =gUnknown_083DFEC4
- ldr r0, [r2]
- ldr r3, [sp, 0x4]
- adds r1, r3, r5
- ldr r2, _080F588C @ =0x00009340
- adds r0, r2
- strh r1, [r0]
- ldrh r0, [r0]
- subs r0, 0x38
- lsls r0, 2
- adds r7, r0
- cmp r5, r8
- bcs _080F587E
- mov r3, r12
- movs r6, 0x1
-_080F5860:
- adds r2, r3, r7
- asrs r1, r4, 10
- asrs r0, r4, 9
- ands r0, r6
- adds r1, r0
- add r1, r9
- strh r1, [r2]
- ldr r0, [sp, 0x8]
- adds r4, r0
- adds r7, 0x4
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, r8
- bcc _080F5860
-_080F587E:
- subs r0, r7, 0x4
- b _080F58C4
- .align 2, 0
-_080F5884: .4byte 0x00026bff
-_080F5888: .4byte gUnknown_083DFEC4
-_080F588C: .4byte 0x00009340
-_080F5890:
- ldr r0, _080F58BC @ =gUnknown_083DFEC4
- ldr r0, [r0]
- ldr r1, _080F58C0 @ =0x00009340
- adds r0, r1
- mov r2, sp
- ldrh r2, [r2, 0x4]
- strh r2, [r0]
- ldr r0, [sp, 0x4]
- subs r0, 0x38
- lsls r0, 2
- adds r6, r0
- adds r7, r0
- ldrh r0, [r5]
- adds r0, 0x1
- strh r0, [r6, 0x2]
- ldr r3, [sp]
- ldrh r0, [r3]
- strh r0, [r7]
- movs r0, 0x9B
- strh r0, [r7, 0x2]
- b _080F58CC
- .align 2, 0
-_080F58BC: .4byte gUnknown_083DFEC4
-_080F58C0: .4byte 0x00009340
-_080F58C4:
- add r0, r12
- mov r1, sp
- ldrh r1, [r1, 0xC]
- strh r1, [r0]
-_080F58CC:
- add sp, 0x14
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80F5688
-
- thumb_func_start sub_80F58DC
-sub_80F58DC: @ 80F58DC
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- adds r5, r0, 0
- ldrh r0, [r5, 0x2]
- ldrh r1, [r5, 0x6]
- cmp r0, r1
- bcs _080F5914
- adds r4, r0, 0
- mov r8, r4
- ldr r0, _080F590C @ =gUnknown_083DFEC4
- ldr r0, [r0]
- ldr r1, _080F5910 @ =0x00009130
- adds r0, r1
- adds r4, r5, 0x4
- movs r1, 0
- str r1, [sp]
- adds r1, r5, 0
- adds r2, r4, 0
- movs r3, 0x1
- bl sub_80F5688
- b _080F5930
- .align 2, 0
-_080F590C: .4byte gUnknown_083DFEC4
-_080F5910: .4byte 0x00009130
-_080F5914:
- ldrh r4, [r5, 0x6]
- mov r8, r4
- ldr r0, _080F5A08 @ =gUnknown_083DFEC4
- ldr r0, [r0]
- ldr r1, _080F5A0C @ =0x00009130
- adds r0, r1
- adds r4, r5, 0x4
- movs r1, 0
- str r1, [sp]
- adds r1, r4, 0
- adds r2, r5, 0
- movs r3, 0
- bl sub_80F5688
-_080F5930:
- adds r1, r4, 0
- ldr r0, _080F5A08 @ =gUnknown_083DFEC4
- ldr r6, [r0]
- ldr r0, _080F5A0C @ =0x00009130
- adds r4, r6, r0
- adds r7, r5, 0
- adds r7, 0x8
- movs r0, 0
- str r0, [sp]
- adds r0, r4, 0
- adds r2, r7, 0
- movs r3, 0x1
- bl sub_80F5688
- movs r3, 0
- ldrh r0, [r5, 0xA]
- ldrh r1, [r5, 0xE]
- cmp r0, r1
- bhi _080F5958
- movs r3, 0x1
-_080F5958:
- adds r2, r5, 0
- adds r2, 0xC
- ldr r1, _080F5A10 @ =0x00009238
- adds r0, r6, r1
- str r0, [sp]
- adds r0, r4, 0
- adds r1, r7, 0
- bl sub_80F5688
- movs r2, 0x38
- cmp r2, r8
- bcs _080F5990
- adds r7, r4, 0
- movs r3, 0
- ldr r0, _080F5A14 @ =0x00009132
- adds r4, r6, r0
-_080F5978:
- adds r0, r2, 0
- subs r0, 0x38
- lsls r0, 2
- adds r1, r7, r0
- strh r3, [r1]
- adds r0, r4, r0
- strh r3, [r0]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, r8
- bcc _080F5978
-_080F5990:
- ldrh r2, [r5, 0x2]
- ldr r0, _080F5A08 @ =gUnknown_083DFEC4
- ldr r3, [r0]
- ldr r4, _080F5A18 @ =0x00009340
- adds r1, r3, r4
- adds r6, r0, 0
- ldrh r0, [r1]
- cmp r2, r0
- bhi _080F59BE
- ldr r4, _080F5A0C @ =0x00009130
- adds r3, r4
- movs r4, 0x9B
-_080F59A8:
- adds r0, r2, 0
- subs r0, 0x38
- lsls r0, 2
- adds r0, r3, r0
- strh r4, [r0]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- ldrh r0, [r1]
- cmp r2, r0
- bls _080F59A8
-_080F59BE:
- ldr r4, [r6]
- ldr r1, _080F5A18 @ =0x00009340
- adds r0, r4, r1
- ldrh r0, [r0]
- ldrh r1, [r5, 0xA]
- cmp r0, r1
- bcs _080F59CE
- adds r0, r1, 0
-_080F59CE:
- adds r0, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0x79
- bhi _080F59FA
- ldr r0, _080F5A0C @ =0x00009130
- adds r5, r4, r0
- movs r3, 0
- ldr r1, _080F5A14 @ =0x00009132
- adds r4, r1
-_080F59E2:
- adds r0, r2, 0
- subs r0, 0x38
- lsls r0, 2
- adds r1, r5, r0
- strh r3, [r1]
- adds r0, r4, r0
- strh r3, [r0]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0x79
- bls _080F59E2
-_080F59FA:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080F5A08: .4byte gUnknown_083DFEC4
-_080F5A0C: .4byte 0x00009130
-_080F5A10: .4byte 0x00009238
-_080F5A14: .4byte 0x00009132
-_080F5A18: .4byte 0x00009340
- thumb_func_end sub_80F58DC
-
- thumb_func_start sub_80F5A1C
-sub_80F5A1C: @ 80F5A1C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- adds r5, r0, 0
- ldrh r0, [r5, 0x2]
- ldrh r1, [r5, 0x12]
- cmp r0, r1
- bcs _080F5A54
- adds r7, r0, 0
- ldr r0, _080F5A4C @ =gUnknown_083DFEC4
- ldr r0, [r0]
- ldr r2, _080F5A50 @ =0x00009238
- adds r0, r2
- adds r4, r5, 0
- adds r4, 0x10
- movs r1, 0
- str r1, [sp]
- adds r1, r5, 0
- adds r2, r4, 0
- movs r3, 0
- bl sub_80F5688
- b _080F5A70
- .align 2, 0
-_080F5A4C: .4byte gUnknown_083DFEC4
-_080F5A50: .4byte 0x00009238
-_080F5A54:
- ldrh r7, [r5, 0x12]
- ldr r0, _080F5B28 @ =gUnknown_083DFEC4
- ldr r0, [r0]
- ldr r4, _080F5B2C @ =0x00009238
- adds r0, r4
- adds r4, r5, 0
- adds r4, 0x10
- movs r1, 0
- str r1, [sp]
- adds r1, r4, 0
- adds r2, r5, 0
- movs r3, 0x1
- bl sub_80F5688
-_080F5A70:
- adds r1, r4, 0
- ldr r0, _080F5B28 @ =gUnknown_083DFEC4
- ldr r0, [r0]
- mov r8, r0
- ldr r4, _080F5B2C @ =0x00009238
- add r4, r8
- adds r2, r5, 0
- adds r2, 0xC
- movs r0, 0
- str r0, [sp]
- adds r0, r4, 0
- movs r3, 0
- bl sub_80F5688
- movs r2, 0x38
- cmp r2, r7
- bcs _080F5AB2
- adds r6, r4, 0
- movs r3, 0
- ldr r4, _080F5B30 @ =0x0000923a
- add r4, r8
-_080F5A9A:
- adds r0, r2, 0
- subs r0, 0x38
- lsls r0, 2
- adds r1, r6, r0
- strh r3, [r1]
- adds r0, r4, r0
- strh r3, [r0]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, r7
- bcc _080F5A9A
-_080F5AB2:
- ldrh r2, [r5, 0x2]
- ldr r0, _080F5B28 @ =gUnknown_083DFEC4
- ldr r3, [r0]
- ldr r4, _080F5B34 @ =0x00009340
- adds r1, r3, r4
- adds r6, r0, 0
- ldrh r0, [r1]
- cmp r2, r0
- bhi _080F5AE0
- ldr r4, _080F5B30 @ =0x0000923a
- adds r3, r4
- movs r4, 0x9B
-_080F5ACA:
- adds r0, r2, 0
- subs r0, 0x38
- lsls r0, 2
- adds r0, r3, r0
- strh r4, [r0]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- ldrh r0, [r1]
- cmp r2, r0
- bls _080F5ACA
-_080F5AE0:
- ldrh r0, [r5, 0xE]
- adds r1, r0, 0x1
- ldr r3, [r6]
- ldr r2, _080F5B34 @ =0x00009340
- adds r0, r3, r2
- ldrh r0, [r0]
- cmp r0, r1
- bge _080F5AF2
- adds r0, r1, 0
-_080F5AF2:
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0x79
- bhi _080F5B1C
- ldr r4, _080F5B2C @ =0x00009238
- adds r5, r3, r4
- movs r4, 0
- ldr r0, _080F5B30 @ =0x0000923a
- adds r3, r0
-_080F5B04:
- adds r0, r2, 0
- subs r0, 0x38
- lsls r0, 2
- adds r1, r5, r0
- strh r4, [r1]
- adds r0, r3, r0
- strh r4, [r0]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0x79
- bls _080F5B04
-_080F5B1C:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080F5B28: .4byte gUnknown_083DFEC4
-_080F5B2C: .4byte 0x00009238
-_080F5B30: .4byte 0x0000923a
-_080F5B34: .4byte 0x00009340
- thumb_func_end sub_80F5A1C
-
- thumb_func_start sub_80F5B38
-sub_80F5B38: @ 80F5B38
- ldr r0, _080F5B48 @ =gUnknown_083DFEC4
- ldr r0, [r0]
- ldr r1, _080F5B4C @ =0x00009345
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
- bx lr
- .align 2, 0
-_080F5B48: .4byte gUnknown_083DFEC4
-_080F5B4C: .4byte 0x00009345
- thumb_func_end sub_80F5B38
-
- thumb_func_start sub_80F5B50
-sub_80F5B50: @ 80F5B50
- push {r4,r5,lr}
- sub sp, 0xC
- ldr r0, _080F5B68 @ =gUnknown_083DFEC4
- ldr r0, [r0]
- ldr r1, _080F5B6C @ =0x00009345
- adds r4, r0, r1
- ldrb r0, [r4]
- cmp r0, 0
- beq _080F5B70
- cmp r0, 0x1
- beq _080F5BB4
- b _080F5BCC
- .align 2, 0
-_080F5B68: .4byte gUnknown_083DFEC4
-_080F5B6C: .4byte 0x00009345
-_080F5B70:
- bl ScanlineEffect_Clear
- ldr r0, _080F5BA8 @ =gScanlineEffectRegBuffers
- movs r2, 0xEF
- movs r3, 0xF4
- lsls r3, 3
- adds r1, r0, r3
- adds r0, 0x20
- movs r3, 0xF
-_080F5B82:
- strh r2, [r0]
- strh r2, [r0, 0x2]
- strh r2, [r1]
- strh r2, [r1, 0x2]
- adds r1, 0x4
- adds r0, 0x4
- subs r3, 0x1
- cmp r3, 0
- bge _080F5B82
- ldr r0, _080F5BAC @ =gUnknown_083DFEC4
- ldr r1, [r0]
- ldr r5, _080F5BB0 @ =0x00009345
- adds r1, r5
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- movs r0, 0x1
- b _080F5BCE
- .align 2, 0
-_080F5BA8: .4byte gScanlineEffectRegBuffers
-_080F5BAC: .4byte gUnknown_083DFEC4
-_080F5BB0: .4byte 0x00009345
-_080F5BB4:
- mov r0, sp
- ldr r1, _080F5BD8 @ =gUnknown_083E4990
- ldm r1!, {r2,r3,r5}
- stm r0!, {r2,r3,r5}
- ldr r0, [sp]
- ldr r1, [sp, 0x4]
- ldr r2, [sp, 0x8]
- bl ScanlineEffect_SetParams
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
-_080F5BCC:
- movs r0, 0
-_080F5BCE:
- add sp, 0xC
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_080F5BD8: .4byte gUnknown_083E4990
- thumb_func_end sub_80F5B50
-
- thumb_func_start sub_80F5BDC
-sub_80F5BDC: @ 80F5BDC
- push {lr}
- ldr r1, _080F5BEC @ =gScanlineEffect
- movs r0, 0x3
- strb r0, [r1, 0x15]
- bl ScanlineEffect_InitHBlankDmaTransfer
- pop {r0}
- bx r0
- .align 2, 0
-_080F5BEC: .4byte gScanlineEffect
- thumb_func_end sub_80F5BDC
-
- thumb_func_start sub_80F5BF0
-sub_80F5BF0: @ 80F5BF0
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xC
- ldr r0, _080F5CB8 @ =gUnknown_083DFEC4
- ldr r5, [r0]
- ldr r1, _080F5CBC @ =0x00009344
- adds r0, r5, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _080F5CA6
- ldr r0, _080F5CC0 @ =0x0000911c
- adds r4, r5, r0
- adds r0, r4, 0
- bl sub_80F58DC
- adds r0, r4, 0
- bl sub_80F5A1C
- movs r6, 0
- ldr r1, _080F5CC4 @ =gScanlineEffectRegBuffers
- mov r12, r1
- movs r0, 0xF0
- lsls r0, 3
- add r0, r12
- mov r9, r0
- adds r7, r5, 0
- ldr r1, _080F5CC8 @ =0x0000ffff
- mov r8, r1
- ldr r5, _080F5CCC @ =0x00009130
- adds r5, r7, r5
- str r5, [sp]
- ldr r0, _080F5CD0 @ =0x00009132
- adds r0, r7, r0
- str r0, [sp, 0x4]
- ldr r1, _080F5CD4 @ =0x00009238
- adds r1, r7
- mov r10, r1
-_080F5C40:
- adds r2, r6, 0
- adds r2, 0x37
- lsls r3, r2, 2
- mov r5, r9
- adds r5, r3, r5
- str r5, [sp, 0x8]
- add r3, r12
- lsls r4, r6, 2
- ldr r1, [sp]
- adds r0, r1, r4
- ldrh r0, [r0]
- lsls r0, 8
- ldr r5, [sp, 0x4]
- adds r1, r5, r4
- ldrh r1, [r1]
- orrs r0, r1
- strh r0, [r3]
- mov r1, r8
- ands r0, r1
- ldr r5, [sp, 0x8]
- strh r0, [r5]
- lsls r2, 1
- adds r2, 0x1
- lsls r2, 1
- mov r0, r9
- adds r3, r2, r0
- add r2, r12
- mov r1, r10
- adds r0, r1, r4
- ldrh r1, [r0]
- lsls r1, 8
- ldr r5, _080F5CD8 @ =0x0000923a
- adds r0, r7, r5
- adds r0, r4
- ldrh r0, [r0]
- orrs r1, r0
- strh r1, [r2]
- mov r0, r8
- ands r1, r0
- strh r1, [r3]
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- ldr r0, _080F5CB8 @ =gUnknown_083DFEC4
- cmp r6, 0x41
- bls _080F5C40
- ldr r0, [r0]
- ldr r1, _080F5CBC @ =0x00009344
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
-_080F5CA6:
- add sp, 0xC
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080F5CB8: .4byte gUnknown_083DFEC4
-_080F5CBC: .4byte 0x00009344
-_080F5CC0: .4byte 0x0000911c
-_080F5CC4: .4byte gScanlineEffectRegBuffers
-_080F5CC8: .4byte 0x0000ffff
-_080F5CCC: .4byte 0x00009130
-_080F5CD0: .4byte 0x00009132
-_080F5CD4: .4byte 0x00009238
-_080F5CD8: .4byte 0x0000923a
- thumb_func_end sub_80F5BF0
-
- thumb_func_start sub_80F5CDC
-sub_80F5CDC: @ 80F5CDC
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xC
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, _080F5DB0 @ =gUnknown_083DFEC4
- ldr r6, [r0]
- ldr r1, _080F5DB4 @ =0x00009344
- adds r0, r6, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _080F5DA0
- ldr r0, _080F5DB8 @ =0x0000911c
- adds r4, r6, r0
- adds r0, r4, 0
- bl sub_80F58DC
- adds r0, r4, 0
- bl sub_80F5A1C
- movs r0, 0x37
- subs r0, r5
- lsls r0, 17
- lsrs r5, r0, 16
- movs r7, 0
- ldr r1, _080F5DBC @ =gScanlineEffectRegBuffers
- mov r12, r1
- movs r4, 0xF0
- lsls r4, 3
- add r4, r12
- mov r9, r4
- ldr r0, _080F5DC0 @ =0x0000ffff
- mov r8, r0
- ldr r1, _080F5DC4 @ =0x00009130
- adds r1, r6, r1
- str r1, [sp]
- ldr r4, _080F5DC8 @ =0x00009132
- adds r4, r6, r4
- str r4, [sp, 0x4]
- ldr r0, _080F5DCC @ =0x00009238
- adds r0, r6
- mov r10, r0
-_080F5D36:
- lsls r2, r5, 1
- mov r1, r9
- adds r1, r2, r1
- str r1, [sp, 0x8]
- add r2, r12
- lsls r3, r7, 2
- ldr r4, [sp]
- adds r0, r4, r3
- ldrh r0, [r0]
- lsls r0, 8
- ldr r4, [sp, 0x4]
- adds r1, r4, r3
- ldrh r1, [r1]
- orrs r0, r1
- strh r0, [r2]
- mov r1, r8
- ands r0, r1
- ldr r4, [sp, 0x8]
- strh r0, [r4]
- adds r2, r5, 0x1
- lsls r2, 1
- mov r0, r9
- adds r0, r2, r0
- str r0, [sp, 0x8]
- add r2, r12
- mov r1, r10
- adds r0, r1, r3
- ldrh r1, [r0]
- lsls r1, 8
- ldr r4, _080F5DD0 @ =0x0000923a
- adds r0, r6, r4
- adds r0, r3
- ldrh r0, [r0]
- orrs r1, r0
- strh r1, [r2]
- mov r0, r8
- ands r1, r0
- ldr r4, [sp, 0x8]
- strh r1, [r4]
- adds r0, r5, 0x2
- lsls r0, 16
- lsrs r5, r0, 16
- adds r0, r7, 0x1
- lsls r0, 16
- lsrs r7, r0, 16
- ldr r0, _080F5DB0 @ =gUnknown_083DFEC4
- cmp r7, 0x41
- bls _080F5D36
- ldr r0, [r0]
- ldr r1, _080F5DB4 @ =0x00009344
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
-_080F5DA0:
- add sp, 0xC
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080F5DB0: .4byte gUnknown_083DFEC4
-_080F5DB4: .4byte 0x00009344
-_080F5DB8: .4byte 0x0000911c
-_080F5DBC: .4byte gScanlineEffectRegBuffers
-_080F5DC0: .4byte 0x0000ffff
-_080F5DC4: .4byte 0x00009130
-_080F5DC8: .4byte 0x00009132
-_080F5DCC: .4byte 0x00009238
-_080F5DD0: .4byte 0x0000923a
- thumb_func_end sub_80F5CDC
-
- thumb_func_start sub_80F5DD4
-sub_80F5DD4: @ 80F5DD4
- push {lr}
- ldr r0, _080F5DE8 @ =gMain
- ldrh r1, [r0, 0x30]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _080F5DEC
- bl sub_80F5E20
- b _080F5E18
- .align 2, 0
-_080F5DE8: .4byte gMain
-_080F5DEC:
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _080F5DFA
- bl sub_80F5EE4
- b _080F5E18
-_080F5DFA:
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _080F5E08
- bl sub_80F5FB4
- b _080F5E18
-_080F5E08:
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- bne _080F5E14
- movs r0, 0
- b _080F5E1C
-_080F5E14:
- bl sub_80F6010
-_080F5E18:
- lsls r0, 24
- lsrs r0, 24
-_080F5E1C:
- pop {r1}
- bx r1
- thumb_func_end sub_80F5DD4
-
- thumb_func_start sub_80F5E20
-sub_80F5E20: @ 80F5E20
- push {r4,r5,lr}
- ldr r0, _080F5E38 @ =gUnknown_083DFEC4
- ldr r2, [r0]
- ldr r3, _080F5E3C @ =0x0000876e
- adds r1, r2, r3
- movs r5, 0
- ldrsh r1, [r1, r5]
- adds r4, r0, 0
- cmp r1, 0
- bne _080F5E40
- movs r0, 0
- b _080F5EC8
- .align 2, 0
-_080F5E38: .4byte gUnknown_083DFEC4
-_080F5E3C: .4byte 0x0000876e
-_080F5E40:
- ldr r1, _080F5E6C @ =0x000087c9
- adds r0, r2, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _080F5E74
- ldr r3, _080F5E70 @ =0x0000876c
- adds r0, r2, r3
- movs r5, 0
- ldrsh r0, [r0, r5]
- cmp r0, 0
- bne _080F5E74
- movs r4, 0x1
- negs r4, r4
- adds r0, r4, 0
- bl sub_80F063C
- adds r0, r4, 0
- bl sub_80F6074
- movs r0, 0x2
- b _080F5EC8
- .align 2, 0
-_080F5E6C: .4byte 0x000087c9
-_080F5E70: .4byte 0x0000876c
-_080F5E74:
- ldr r1, [r4]
- ldr r0, _080F5ED0 @ =0x0000876c
- adds r2, r1, r0
- ldrh r0, [r2]
- subs r3, r0, 0x1
- strh r3, [r2]
- ldr r5, _080F5ED4 @ =0x000087c9
- adds r0, r1, r5
- ldrb r0, [r0]
- cmp r0, 0
- bne _080F5E98
- lsls r0, r3, 16
- cmp r0, 0
- bge _080F5E98
- ldr r3, _080F5ED8 @ =0x00008772
- adds r0, r1, r3
- ldrh r0, [r0]
- strh r0, [r2]
-_080F5E98:
- ldr r0, [r4]
- ldr r5, _080F5EDC @ =0x00008770
- adds r2, r0, r5
- ldr r3, _080F5ED0 @ =0x0000876c
- adds r1, r0, r3
- ldrh r1, [r1]
- ldrh r2, [r2]
- adds r2, r1, r2
- subs r5, 0x2
- adds r4, r0, r5
- strh r2, [r4]
- ldr r1, _080F5EE0 @ =0x00008774
- adds r0, r1
- lsls r1, r2, 16
- asrs r1, 16
- ldrh r3, [r0]
- movs r5, 0
- ldrsh r0, [r0, r5]
- cmp r1, r0
- ble _080F5EC6
- subs r0, r2, 0x1
- subs r0, r3
- strh r0, [r4]
-_080F5EC6:
- movs r0, 0x1
-_080F5EC8:
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_080F5ED0: .4byte 0x0000876c
-_080F5ED4: .4byte 0x000087c9
-_080F5ED8: .4byte 0x00008772
-_080F5EDC: .4byte 0x00008770
-_080F5EE0: .4byte 0x00008774
- thumb_func_end sub_80F5E20
-
- thumb_func_start sub_80F5EE4
-sub_80F5EE4: @ 80F5EE4
- push {r4-r6,lr}
- ldr r3, _080F5F04 @ =gUnknown_083DFEC4
- ldr r4, [r3]
- ldr r1, _080F5F08 @ =0x0000876e
- adds r0, r4, r1
- ldr r2, _080F5F0C @ =0x00008774
- adds r1, r4, r2
- movs r5, 0
- ldrsh r2, [r0, r5]
- movs r6, 0
- ldrsh r0, [r1, r6]
- adds r5, r3, 0
- cmp r2, r0
- bne _080F5F10
- movs r0, 0
- b _080F5F98
- .align 2, 0
-_080F5F04: .4byte gUnknown_083DFEC4
-_080F5F08: .4byte 0x0000876e
-_080F5F0C: .4byte 0x00008774
-_080F5F10:
- ldr r1, _080F5F38 @ =0x000087c9
- adds r0, r4, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _080F5F40
- ldr r2, _080F5F3C @ =0x0000876c
- adds r0, r4, r2
- movs r3, 0
- ldrsh r0, [r0, r3]
- cmp r0, 0x7
- bne _080F5F40
- movs r0, 0x1
- bl sub_80F063C
- movs r0, 0x1
- bl sub_80F6074
- movs r0, 0x2
- b _080F5F98
- .align 2, 0
-_080F5F38: .4byte 0x000087c9
-_080F5F3C: .4byte 0x0000876c
-_080F5F40:
- ldr r2, [r5]
- ldr r6, _080F5FA0 @ =0x0000876c
- adds r4, r2, r6
- ldrh r0, [r4]
- adds r1, r0, 0x1
- strh r1, [r4]
- ldr r3, _080F5FA4 @ =0x000087c9
- adds r0, r2, r3
- ldrb r3, [r0]
- cmp r3, 0
- bne _080F5F68
- adds r6, 0x6
- adds r0, r2, r6
- lsls r1, 16
- asrs r1, 16
- movs r2, 0
- ldrsh r0, [r0, r2]
- cmp r1, r0
- ble _080F5F68
- strh r3, [r4]
-_080F5F68:
- ldr r0, [r5]
- ldr r3, _080F5FA8 @ =0x00008770
- adds r2, r0, r3
- ldr r5, _080F5FA0 @ =0x0000876c
- adds r1, r0, r5
- ldrh r1, [r1]
- ldrh r2, [r2]
- adds r2, r1, r2
- ldr r6, _080F5FAC @ =0x0000876e
- adds r4, r0, r6
- strh r2, [r4]
- ldr r1, _080F5FB0 @ =0x00008774
- adds r0, r1
- lsls r1, r2, 16
- asrs r1, 16
- ldrh r3, [r0]
- movs r5, 0
- ldrsh r0, [r0, r5]
- cmp r1, r0
- ble _080F5F96
- subs r0, r2, 0x1
- subs r0, r3
- strh r0, [r4]
-_080F5F96:
- movs r0, 0x1
-_080F5F98:
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_080F5FA0: .4byte 0x0000876c
-_080F5FA4: .4byte 0x000087c9
-_080F5FA8: .4byte 0x00008770
-_080F5FAC: .4byte 0x0000876e
-_080F5FB0: .4byte 0x00008774
- thumb_func_end sub_80F5EE4
-
- thumb_func_start sub_80F5FB4
-sub_80F5FB4: @ 80F5FB4
- push {r4,lr}
- ldr r0, _080F5FD8 @ =gUnknown_083DFEC4
- ldr r1, [r0]
- ldr r2, _080F5FDC @ =0x00008770
- adds r0, r1, r2
- ldrh r3, [r0]
- movs r4, 0
- ldrsh r2, [r0, r4]
- cmp r2, 0
- beq _080F5FD2
- ldr r4, _080F5FE0 @ =0x000087c9
- adds r0, r1, r4
- ldrb r0, [r0]
- cmp r0, 0
- bne _080F5FE4
-_080F5FD2:
- movs r0, 0
- b _080F6004
- .align 2, 0
-_080F5FD8: .4byte gUnknown_083DFEC4
-_080F5FDC: .4byte 0x00008770
-_080F5FE0: .4byte 0x000087c9
-_080F5FE4:
- cmp r2, 0x7
- bgt _080F5FF0
- negs r0, r3
- lsls r0, 16
- lsrs r0, 16
- b _080F5FF2
-_080F5FF0:
- ldr r0, _080F600C @ =0x0000fff8
-_080F5FF2:
- lsls r4, r0, 16
- asrs r4, 16
- adds r0, r4, 0
- bl sub_80F063C
- adds r0, r4, 0
- bl sub_80F6074
- movs r0, 0x2
-_080F6004:
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080F600C: .4byte 0x0000fff8
- thumb_func_end sub_80F5FB4
-
- thumb_func_start sub_80F6010
-sub_80F6010: @ 80F6010
- push {r4-r6,lr}
- ldr r0, _080F603C @ =gUnknown_083DFEC4
- ldr r3, [r0]
- ldr r1, _080F6040 @ =0x00008772
- adds r0, r3, r1
- ldr r2, _080F6044 @ =0x00008774
- adds r1, r3, r2
- ldrh r5, [r0]
- movs r4, 0
- ldrsh r2, [r0, r4]
- ldrh r4, [r1]
- movs r6, 0
- ldrsh r0, [r1, r6]
- cmp r2, r0
- beq _080F6038
- ldr r1, _080F6048 @ =0x000087c9
- adds r0, r3, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _080F604C
-_080F6038:
- movs r0, 0
- b _080F606C
- .align 2, 0
-_080F603C: .4byte gUnknown_083DFEC4
-_080F6040: .4byte 0x00008772
-_080F6044: .4byte 0x00008774
-_080F6048: .4byte 0x000087c9
-_080F604C:
- subs r0, r4, r5
- lsls r0, 16
- lsrs r4, r0, 16
- asrs r0, 16
- cmp r0, 0x8
- ble _080F605A
- movs r4, 0x8
-_080F605A:
- lsls r4, 16
- asrs r4, 16
- adds r0, r4, 0
- bl sub_80F063C
- adds r0, r4, 0
- bl sub_80F6074
- movs r0, 0x2
-_080F606C:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80F6010
-
- thumb_func_start sub_80F6074
-sub_80F6074: @ 80F6074
- push {r4-r7,lr}
- ldr r1, _080F6120 @ =gUnknown_083DFEC4
- ldr r6, [r1]
- ldr r1, _080F6124 @ =0x00008770
- adds r3, r6, r1
- ldrh r1, [r3]
- lsls r0, 16
- asrs r7, r0, 16
- adds r2, r7, r1
- strh r2, [r3]
- ldr r5, _080F6128 @ =0x00008774
- adds r4, r6, r5
- lsls r0, r2, 16
- asrs r0, 16
- ldrh r1, [r4]
- mov r12, r1
- movs r5, 0
- ldrsh r1, [r4, r5]
- cmp r0, r1
- ble _080F60A4
- subs r0, r2, 0x1
- mov r1, r12
- subs r0, r1
- strh r0, [r3]
-_080F60A4:
- ldrh r1, [r3]
- movs r2, 0
- ldrsh r0, [r3, r2]
- cmp r0, 0
- bge _080F60B6
- adds r0, r1, 0x1
- ldrh r5, [r4]
- adds r0, r5
- strh r0, [r3]
-_080F60B6:
- ldr r0, _080F612C @ =0x00008772
- adds r3, r6, r0
- ldrh r0, [r3]
- adds r2, r7, r0
- strh r2, [r3]
- lsls r0, r2, 16
- asrs r0, 16
- ldrh r1, [r4]
- mov r12, r1
- movs r5, 0
- ldrsh r1, [r4, r5]
- cmp r0, r1
- ble _080F60D8
- subs r0, r2, 0x1
- mov r1, r12
- subs r0, r1
- strh r0, [r3]
-_080F60D8:
- ldrh r1, [r3]
- movs r2, 0
- ldrsh r0, [r3, r2]
- cmp r0, 0
- bge _080F60EA
- adds r0, r1, 0x1
- ldrh r5, [r4]
- adds r0, r5
- strh r0, [r3]
-_080F60EA:
- ldr r0, _080F6130 @ =0x0000876e
- adds r3, r6, r0
- ldrh r0, [r3]
- adds r2, r7, r0
- strh r2, [r3]
- lsls r0, r2, 16
- asrs r0, 16
- ldrh r5, [r4]
- movs r6, 0
- ldrsh r1, [r4, r6]
- cmp r0, r1
- ble _080F6108
- subs r0, r2, 0x1
- subs r0, r5
- strh r0, [r3]
-_080F6108:
- ldrh r1, [r3]
- movs r2, 0
- ldrsh r0, [r3, r2]
- cmp r0, 0
- bge _080F611A
- adds r0, r1, 0x1
- ldrh r4, [r4]
- adds r0, r4
- strh r0, [r3]
-_080F611A:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080F6120: .4byte gUnknown_083DFEC4
-_080F6124: .4byte 0x00008770
-_080F6128: .4byte 0x00008774
-_080F612C: .4byte 0x00008772
-_080F6130: .4byte 0x0000876e
- thumb_func_end sub_80F6074
-
- thumb_func_start sub_80F6134
-sub_80F6134: @ 80F6134
- push {r4-r6,lr}
- ldr r0, _080F6194 @ =gUnknown_083DFEC4
- ldr r3, [r0]
- ldr r1, _080F6198 @ =0x000087c9
- adds r0, r3, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _080F61E0
- ldr r2, _080F619C @ =0x000087dc
- adds r5, r3, r2
- movs r4, 0
- ldrsh r1, [r5, r4]
- ldr r6, _080F61A0 @ =0x00008774
- adds r4, r3, r6
- movs r2, 0
- ldrsh r0, [r4, r2]
- subs r0, 0x7
- cmp r1, r0
- bge _080F61AC
- subs r6, 0x8
- adds r1, r3, r6
- movs r0, 0
- strh r0, [r1]
- ldrh r0, [r5]
- ldr r1, _080F61A4 @ =0x00008770
- adds r2, r3, r1
- strh r0, [r2]
- ldrh r1, [r5]
- ldr r5, _080F61A8 @ =0x0000876e
- adds r0, r3, r5
- strh r1, [r0]
- ldrh r5, [r2]
- adds r0, r5, 0x7
- adds r6, 0x6
- adds r2, r3, r6
- strh r0, [r2]
- lsls r0, 16
- asrs r0, 16
- ldrh r3, [r4]
- movs r6, 0
- ldrsh r1, [r4, r6]
- cmp r0, r1
- ble _080F61F4
- adds r0, r5, 0x6
- subs r0, r3
- strh r0, [r2]
- b _080F61F4
- .align 2, 0
-_080F6194: .4byte gUnknown_083DFEC4
-_080F6198: .4byte 0x000087c9
-_080F619C: .4byte 0x000087dc
-_080F61A0: .4byte 0x00008774
-_080F61A4: .4byte 0x00008770
-_080F61A8: .4byte 0x0000876e
-_080F61AC:
- ldrh r0, [r4]
- subs r0, 0x7
- ldr r2, _080F61D4 @ =0x00008770
- adds r1, r3, r2
- strh r0, [r1]
- ldrh r1, [r4]
- ldr r6, _080F61D8 @ =0x00008772
- adds r0, r3, r6
- strh r1, [r0]
- ldrh r1, [r5]
- subs r2, 0x2
- adds r0, r3, r2
- strh r1, [r0]
- ldrh r0, [r4]
- subs r0, r1
- movs r1, 0x7
- subs r1, r0
- ldr r4, _080F61DC @ =0x0000876c
- adds r0, r3, r4
- b _080F61F2
- .align 2, 0
-_080F61D4: .4byte 0x00008770
-_080F61D8: .4byte 0x00008772
-_080F61DC: .4byte 0x0000876c
-_080F61E0:
- ldr r5, _080F61FC @ =0x000087dc
- adds r2, r3, r5
- ldrh r1, [r2]
- ldr r6, _080F6200 @ =0x0000876c
- adds r0, r3, r6
- strh r1, [r0]
- ldrh r1, [r2]
- ldr r2, _080F6204 @ =0x0000876e
- adds r0, r3, r2
-_080F61F2:
- strh r1, [r0]
-_080F61F4:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080F61FC: .4byte 0x000087dc
-_080F6200: .4byte 0x0000876c
-_080F6204: .4byte 0x0000876e
- thumb_func_end sub_80F6134
-
- thumb_func_start sub_80F6208
-sub_80F6208: @ 80F6208
- push {lr}
- ldr r0, _080F623C @ =gUnknown_083DFEC4
- ldr r1, [r0]
- ldr r2, _080F6240 @ =0x00008fe6
- adds r0, r1, r2
- movs r2, 0
- strb r2, [r0]
- ldr r3, _080F6244 @ =0x00008fe7
- adds r0, r1, r3
- strb r2, [r0]
- ldr r0, _080F6248 @ =0x00008fe8
- adds r2, r1, r0
- movs r0, 0xFF
- strb r0, [r2]
- ldr r2, _080F624C @ =0x00006dac
- adds r1, r2
- ldrb r0, [r1]
- cmp r0, 0
- bne _080F6238
-_080F622E:
- bl sub_80F6250
- lsls r0, 24
- cmp r0, 0
- bne _080F622E
-_080F6238:
- pop {r0}
- bx r0
- .align 2, 0
-_080F623C: .4byte gUnknown_083DFEC4
-_080F6240: .4byte 0x00008fe6
-_080F6244: .4byte 0x00008fe7
-_080F6248: .4byte 0x00008fe8
-_080F624C: .4byte 0x00006dac
- thumb_func_end sub_80F6208
-
- thumb_func_start sub_80F6250
-sub_80F6250: @ 80F6250
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- ldr r0, _080F6270 @ =gUnknown_083DFEC4
- ldr r2, [r0]
- ldr r0, _080F6274 @ =0x00008fe8
- adds r3, r2, r0
- movs r1, 0
- ldrsb r1, [r3, r1]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _080F6278
-_080F626C:
- movs r0, 0
- b _080F637E
- .align 2, 0
-_080F6270: .4byte gUnknown_083DFEC4
-_080F6274: .4byte 0x00008fe8
-_080F6278:
- ldr r1, _080F630C @ =0x00008fe6
- adds r0, r2, r1
- ldrb r0, [r0]
- cmp r0, 0x7
- beq _080F631C
- cmp r0, 0x8
- beq _080F626C
- movs r6, 0
- adds r7, r2, 0
- adds r5, r7, r1
- ldr r0, _080F6310 @ =0x00008fe7
- adds r4, r7, r0
- ldr r1, _080F6314 @ =gPokemonStorage + 0x4
- mov r8, r1
- ldr r0, _080F6318 @ =0x000041a0
- add r0, r8
- mov r9, r0
-_080F629A:
- ldrb r0, [r5]
- lsls r1, r0, 2
- adds r1, r0
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 5
- ldrb r2, [r4]
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 4
- add r1, r8
- adds r0, r1
- movs r1, 0x51
- bl GetBoxMonData
- cmp r0, 0
- bne _080F636C
- ldrb r0, [r5]
- lsls r1, r0, 2
- adds r1, r0
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 5
- ldrb r2, [r4]
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 4
- add r1, r9
- adds r0, r1
- movs r1, 0x51
- bl GetBoxMonData
- adds r1, r0, 0
- cmp r1, 0
- bne _080F636C
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
- movs r2, 0xFF
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1D
- bls _080F62FE
- strb r1, [r4]
- ldrb r0, [r5]
- adds r0, 0x1
- strb r0, [r5]
- ands r0, r2
- cmp r0, 0x6
- bhi _080F637C
-_080F62FE:
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- cmp r6, 0x9
- bls _080F629A
- b _080F637C
- .align 2, 0
-_080F630C: .4byte 0x00008fe6
-_080F6310: .4byte 0x00008fe7
-_080F6314: .4byte gPokemonStorage + 0x4
-_080F6318: .4byte 0x000041a0
-_080F631C:
- movs r0, 0
- strb r0, [r3]
- movs r6, 0
- b _080F632A
-_080F6324:
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
-_080F632A:
- cmp r6, 0x5
- bhi _080F634C
- movs r0, 0x64
- muls r0, r6
- ldr r1, _080F635C @ =gPlayerParty
- adds r0, r1
- movs r1, 0x51
- bl GetMonData
- cmp r0, 0
- beq _080F6324
- ldr r0, _080F6360 @ =gUnknown_083DFEC4
- ldr r0, [r0]
- ldr r1, _080F6364 @ =0x00008fe8
- adds r0, r1
- movs r1, 0x1
- strb r1, [r0]
-_080F634C:
- ldr r0, _080F6360 @ =gUnknown_083DFEC4
- ldr r1, [r0]
- ldr r0, _080F6368 @ =0x00008fe6
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x1
- b _080F6372
- .align 2, 0
-_080F635C: .4byte gPlayerParty
-_080F6360: .4byte gUnknown_083DFEC4
-_080F6364: .4byte 0x00008fe8
-_080F6368: .4byte 0x00008fe6
-_080F636C:
- ldr r0, _080F6378 @ =0x00008fe8
- adds r1, r7, r0
- movs r0, 0x1
-_080F6372:
- strb r0, [r1]
- b _080F626C
- .align 2, 0
-_080F6378: .4byte 0x00008fe8
-_080F637C:
- movs r0, 0x1
-_080F637E:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80F6250
-
- thumb_func_start sub_80F638C
-sub_80F638C: @ 80F638C
- push {r4,lr}
- ldr r0, _080F63C0 @ =gUnknown_083DFEC4
- ldr r4, [r0]
- ldr r1, _080F63C4 @ =0x00008fe6
- adds r0, r4, r1
- movs r1, 0
- strb r1, [r0]
- ldr r2, _080F63C8 @ =0x00008fe7
- adds r0, r4, r2
- strb r1, [r0]
- bl sub_80F492C
- ldr r0, _080F63CC @ =0x00006dac
- adds r4, r0
- ldrb r0, [r4]
- cmp r0, 0
- bne _080F63B8
-_080F63AE:
- bl sub_80F63D0
- lsls r0, 24
- cmp r0, 0
- bne _080F63AE
-_080F63B8:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080F63C0: .4byte gUnknown_083DFEC4
-_080F63C4: .4byte 0x00008fe6
-_080F63C8: .4byte 0x00008fe7
-_080F63CC: .4byte 0x00006dac
- thumb_func_end sub_80F638C
-
- thumb_func_start sub_80F63D0
-sub_80F63D0: @ 80F63D0
- push {r4-r6,lr}
- sub sp, 0x4
- ldr r0, _080F647C @ =gUnknown_083DFEC4
- ldr r2, [r0]
- ldr r1, _080F6480 @ =0x00008fe6
- adds r0, r2, r1
- ldrb r3, [r0]
- cmp r3, 0xE
- beq _080F6498
- cmp r3, 0xF
- bne _080F63E8
- b _080F64F6
-_080F63E8:
- movs r1, 0x80
- lsls r1, 23
- ldr r0, [sp]
- orrs r0, r1
- str r0, [sp]
- movs r6, 0
- ldr r0, _080F6480 @ =0x00008fe6
- adds r5, r2, r0
- ldr r1, _080F6484 @ =0x00008fe7
- adds r4, r2, r1
-_080F63FC:
- ldrb r0, [r5]
- lsls r1, r0, 2
- adds r1, r0
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 5
- ldrb r2, [r4]
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 4
- ldr r2, _080F6488 @ =gPokemonStorage + 0x4
- adds r1, r2
- adds r0, r1
- movs r1, 0x51
- bl GetBoxMonData
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0
- beq _080F644E
- ldrb r1, [r5]
- lsls r1, 8
- ldr r2, _080F648C @ =0xffff00ff
- ldr r0, [sp]
- ands r0, r2
- orrs r0, r1
- str r0, [sp]
- ldrb r2, [r4]
- movs r1, 0x1F
- ands r2, r1
- lsls r2, 16
- ldr r1, _080F6490 @ =0xffe0ffff
- ands r0, r1
- orrs r0, r2
- ldr r1, _080F6494 @ =0xffffff00
- ands r0, r1
- orrs r0, r3
- str r0, [sp]
- mov r0, sp
- bl sub_80F4944
-_080F644E:
- ldrb r0, [r4]
- adds r0, 0x1
- movs r2, 0
- strb r0, [r4]
- movs r1, 0xFF
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1E
- bne _080F646E
- strb r2, [r4]
- ldrb r0, [r5]
- adds r0, 0x1
- strb r0, [r5]
- ands r0, r1
- cmp r0, 0xE
- beq _080F6508
-_080F646E:
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- cmp r6, 0xE
- bls _080F63FC
- b _080F6508
- .align 2, 0
-_080F647C: .4byte gUnknown_083DFEC4
-_080F6480: .4byte 0x00008fe6
-_080F6484: .4byte 0x00008fe7
-_080F6488: .4byte gPokemonStorage + 0x4
-_080F648C: .4byte 0xffff00ff
-_080F6490: .4byte 0xffe0ffff
-_080F6494: .4byte 0xffffff00
-_080F6498:
- mov r0, sp
- ldrb r1, [r0, 0x3]
- movs r2, 0x40
- orrs r1, r2
- strb r1, [r0, 0x3]
- strb r3, [r0, 0x1]
- movs r6, 0
- mov r4, sp
-_080F64A8:
- movs r0, 0x64
- muls r0, r6
- ldr r1, _080F64FC @ =gPlayerParty
- adds r0, r1
- movs r1, 0x51
- bl GetMonData
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0
- beq _080F64DA
- movs r0, 0x1F
- adds r2, r6, 0
- ands r2, r0
- ldrb r0, [r4, 0x2]
- movs r5, 0x20
- negs r5, r5
- adds r1, r5, 0
- ands r0, r1
- orrs r0, r2
- strb r0, [r4, 0x2]
- strb r3, [r4]
- mov r0, sp
- bl sub_80F4944
-_080F64DA:
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- cmp r6, 0x5
- bls _080F64A8
- bl sub_80F49F4
- ldr r0, _080F6500 @ =gUnknown_083DFEC4
- ldr r1, [r0]
- ldr r0, _080F6504 @ =0x00008fe6
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
-_080F64F6:
- movs r0, 0
- b _080F650A
- .align 2, 0
-_080F64FC: .4byte gPlayerParty
-_080F6500: .4byte gUnknown_083DFEC4
-_080F6504: .4byte 0x00008fe6
-_080F6508:
- movs r0, 0x1
-_080F650A:
- add sp, 0x4
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80F63D0
-
- thumb_func_start sub_80F6514
-sub_80F6514: @ 80F6514
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xC
- mov r10, r0
- lsls r1, 16
- lsrs r1, 16
- str r1, [sp]
- lsls r2, 24
- lsrs r2, 24
- str r2, [sp, 0x4]
- mov r5, r10
- ldr r0, _080F65A4 @ =gUnknown_083DFEC4
- ldr r0, [r0]
- lsls r1, 2
- adds r0, r1
- ldr r2, _080F65A8 @ =0x0000893d
- adds r1, r0, r2
- ldrb r6, [r1]
- mov r8, r6
- ldr r1, _080F65AC @ =0x0000893e
- adds r0, r1
- ldrb r0, [r0]
- lsls r0, 27
- lsrs r4, r0, 27
- adds r7, r4, 0
- adds r0, r6, 0
- adds r1, r4, 0
- movs r2, 0x2D
- movs r3, 0
- bl sub_80F44B0
- cmp r0, 0
- beq _080F655E
- b _080F66CA
-_080F655E:
- adds r0, r6, 0
- adds r1, r4, 0
- movs r2, 0x2
- adds r3, r5, 0
- bl sub_80F44B0
- adds r0, r5, 0
- bl StringGetEnd10
- adds r0, r6, 0
- adds r1, r4, 0
- movs r2, 0xB
- movs r3, 0
- bl sub_80F44B0
- lsls r0, 16
- lsrs r0, 16
- mov r9, r0
- cmp r6, 0xE
- bne _080F65B4
- movs r0, 0x64
- muls r4, r0
- ldr r0, _080F65B0 @ =gPlayerParty
- adds r4, r0
- adds r0, r4, 0
- movs r1, 0x38
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- str r0, [sp, 0x8]
- adds r0, r4, 0
- bl GetMonGender
- b _080F65EA
- .align 2, 0
-_080F65A4: .4byte gUnknown_083DFEC4
-_080F65A8: .4byte 0x0000893d
-_080F65AC: .4byte 0x0000893e
-_080F65B0: .4byte gPlayerParty
-_080F65B4:
- mov r2, r8
- lsls r1, r2, 2
- add r1, r8
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 5
- lsls r1, r7, 2
- adds r1, r7
- lsls r1, 4
- ldr r2, _080F6620 @ =gPokemonStorage + 0x4
- adds r1, r2
- adds r0, r1
- bl GetLevelFromBoxMonExp
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x8]
- mov r0, r8
- adds r1, r7, 0
- movs r2, 0
- movs r3, 0
- bl sub_80F44B0
- adds r1, r0, 0
- mov r0, r9
- bl GetGenderFromSpeciesAndPersonality
-_080F65EA:
- lsls r0, 24
- lsrs r4, r0, 24
- mov r0, r9
- mov r1, r10
- bl ShouldHideGenderIcon
- cmp r0, 0
- beq _080F65FC
- movs r4, 0xFF
-_080F65FC:
- adds r0, r5, 0
- bl StringLength
- lsls r0, 16
- lsrs r0, 16
- adds r5, r0
- movs r1, 0xFC
- strb r1, [r5]
- movs r0, 0x13
- strb r0, [r5, 0x1]
- movs r0, 0x3F
- strb r0, [r5, 0x2]
- adds r5, 0x3
- cmp r4, 0
- beq _080F6624
- cmp r4, 0xFE
- beq _080F663C
- b _080F6656
- .align 2, 0
-_080F6620: .4byte gPokemonStorage + 0x4
-_080F6624:
- strb r1, [r5]
- movs r0, 0x1
- strb r0, [r5, 0x1]
- movs r0, 0xC
- strb r0, [r5, 0x2]
- strb r1, [r5, 0x3]
- movs r0, 0x3
- strb r0, [r5, 0x4]
- movs r0, 0xD
- strb r0, [r5, 0x5]
- movs r0, 0xB5
- b _080F6652
-_080F663C:
- strb r1, [r5]
- movs r0, 0x1
- strb r0, [r5, 0x1]
- movs r0, 0xA
- strb r0, [r5, 0x2]
- strb r1, [r5, 0x3]
- movs r0, 0x3
- strb r0, [r5, 0x4]
- movs r0, 0xB
- strb r0, [r5, 0x5]
- movs r0, 0xB6
-_080F6652:
- strb r0, [r5, 0x6]
- adds r5, 0x7
-_080F6656:
- movs r4, 0xFC
- strb r4, [r5]
- movs r1, 0x1
- strb r1, [r5, 0x1]
- strb r1, [r5, 0x2]
- strb r4, [r5, 0x3]
- movs r0, 0x3
- strb r0, [r5, 0x4]
- movs r0, 0x5
- strb r0, [r5, 0x5]
- adds r5, 0x6
- strb r4, [r5]
- movs r6, 0x13
- strb r6, [r5, 0x1]
- movs r0, 0x46
- strb r0, [r5, 0x2]
- adds r5, 0x3
- movs r0, 0xBA
- strb r0, [r5]
- strb r4, [r5, 0x1]
- movs r0, 0x11
- strb r0, [r5, 0x2]
- strb r1, [r5, 0x3]
- movs r0, 0x34
- strb r0, [r5, 0x4]
- adds r5, 0x5
- adds r0, r5, 0
- ldr r1, [sp, 0x8]
- bl ConvertIntToDecimalString
- adds r5, r0, 0
- ldr r0, [sp, 0x4]
- cmp r0, 0x1
- bne _080F66C0
- ldr r0, _080F66B8 @ =gUnknown_083DFEC4
- ldr r0, [r0]
- ldr r2, [sp]
- lsls r1, r2, 2
- adds r0, r1
- ldr r1, _080F66BC @ =0x0000893c
- adds r0, r1
- ldrb r1, [r0]
- adds r0, r5, 0
- movs r2, 0x80
- movs r3, 0x1
- bl AlignInt1InMenuWindow
- adds r5, r0, 0
- b _080F66CE
- .align 2, 0
-_080F66B8: .4byte gUnknown_083DFEC4
-_080F66BC: .4byte 0x0000893c
-_080F66C0:
- strb r4, [r5]
- strb r6, [r5, 0x1]
- movs r0, 0x67
- strb r0, [r5, 0x2]
- adds r5, 0x3
-_080F66CA:
- movs r0, 0xFF
- strb r0, [r5]
-_080F66CE:
- adds r0, r5, 0
- add sp, 0xC
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80F6514
-
- thumb_func_start sub_80F66E0
-sub_80F66E0: @ 80F66E0
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- ldr r0, _080F676C @ =gUnknown_083DFEC4
- mov r8, r0
- ldr r4, [r0]
- ldr r1, _080F6770 @ =0x00008829
- adds r0, r4, r1
- ldr r2, _080F6774 @ =0x0000876e
- adds r5, r4, r2
- ldrh r1, [r5]
- movs r2, 0
- bl sub_80F6514
- movs r3, 0
- ldrsh r0, [r5, r3]
- movs r1, 0
- bl sub_80F4824
- ldrh r1, [r5]
- ldr r6, _080F6778 @ =0x000087dc
- adds r0, r4, r6
- movs r6, 0
- strh r1, [r0]
- ldr r1, _080F677C @ =0x0000bc8e
- adds r0, r4, r1
- strb r6, [r0]
- movs r2, 0
- mov r9, r2
- movs r3, 0
- ldrsh r1, [r5, r3]
- lsls r1, 2
- adds r1, r4, r1
- ldr r5, _080F6780 @ =0x0000893d
- adds r0, r1, r5
- ldrb r0, [r0]
- ldr r2, _080F6784 @ =0x0000893e
- adds r1, r2
- ldrb r1, [r1]
- lsls r1, 27
- lsrs r1, 27
- movs r2, 0x52
- movs r3, 0
- bl sub_80F44B0
- adds r7, r0, 0
- ldr r3, _080F6788 @ =0x0000bc8f
- adds r4, r3
- strb r6, [r4]
- movs r5, 0
- mov r12, r5
- mov r10, r8
-_080F674E:
- ldr r1, _080F678C @ =gUnknown_083E499C
- mov r6, r12
- lsls r0, r6, 1
- adds r0, r1
- ldrh r0, [r0]
- cmp r0, 0x36
- bgt _080F6790
- cmp r0, 0x32
- blt _080F6790
- movs r0, 0x7
- adds r2, r7, 0
- ands r2, r0
- lsrs r7, 3
- movs r0, 0x4
- b _080F679A
- .align 2, 0
-_080F676C: .4byte gUnknown_083DFEC4
-_080F6770: .4byte 0x00008829
-_080F6774: .4byte 0x0000876e
-_080F6778: .4byte 0x000087dc
-_080F677C: .4byte 0x0000bc8e
-_080F6780: .4byte 0x0000893d
-_080F6784: .4byte 0x0000893e
-_080F6788: .4byte 0x0000bc8f
-_080F678C: .4byte gUnknown_083E499C
-_080F6790:
- movs r0, 0x1
- adds r2, r7, 0
- ands r2, r0
- lsrs r7, 1
- movs r0, 0x1
-_080F679A:
- movs r4, 0
- adds r1, r2, 0
- add r0, r9
- mov r8, r0
- cmp r4, r1
- bcs _080F67D4
- mov r3, r10
- ldr r0, [r3]
- ldr r5, _080F6828 @ =0x0000bc8e
- adds r3, r0, r5
- ldr r6, _080F682C @ =0x0000bc4c
- adds r6, r0, r6
- str r6, [sp]
- adds r5, r1, 0
-_080F67B6:
- ldrb r0, [r3]
- adds r1, r0, 0x1
- strb r1, [r3]
- lsls r0, 24
- lsrs r0, 24
- ldr r1, [sp]
- adds r0, r1, r0
- mov r6, r9
- adds r1, r6, r4
- strb r1, [r0]
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, r5
- bcc _080F67B6
-_080F67D4:
- cmp r2, 0
- beq _080F67EC
- mov r0, r9
- cmp r0, 0x18
- bls _080F67EC
- mov r2, r10
- ldr r1, [r2]
- ldr r3, _080F6830 @ =0x0000bc8f
- adds r1, r3
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
-_080F67EC:
- mov r5, r8
- lsls r0, r5, 24
- lsrs r0, 24
- mov r9, r0
- mov r0, r12
- adds r0, 0x1
- lsls r0, 16
- lsrs r0, 16
- mov r12, r0
- cmp r0, 0x10
- bls _080F674E
- ldr r6, _080F6834 @ =gUnknown_083DFEC4
- ldr r2, [r6]
- ldr r1, _080F6828 @ =0x0000bc8e
- adds r0, r2, r1
- ldr r3, _080F6830 @ =0x0000bc8f
- adds r1, r2, r3
- ldrb r0, [r0]
- ldrb r1, [r1]
- cmp r0, r1
- beq _080F6840
- ldr r5, _080F6838 @ =0x0000bc90
- adds r0, r2, r5
- movs r1, 0
- strb r1, [r0]
- ldr r6, _080F683C @ =0x0000bc91
- adds r0, r2, r6
- strb r1, [r0]
- b _080F6850
- .align 2, 0
-_080F6828: .4byte 0x0000bc8e
-_080F682C: .4byte 0x0000bc4c
-_080F6830: .4byte 0x0000bc8f
-_080F6834: .4byte gUnknown_083DFEC4
-_080F6838: .4byte 0x0000bc90
-_080F683C: .4byte 0x0000bc91
-_080F6840:
- ldr r0, _080F6888 @ =0x0000bc90
- adds r1, r2, r0
- movs r0, 0
- strb r0, [r1]
- ldr r3, _080F688C @ =0x0000bc91
- adds r1, r2, r3
- movs r0, 0x3
- strb r0, [r1]
-_080F6850:
- ldr r5, _080F6890 @ =gUnknown_083DFEC4
- ldr r1, [r5]
- ldr r6, _080F6894 @ =0x0000bc8e
- adds r0, r1, r6
- ldr r2, _080F6898 @ =0x0000bc8f
- adds r1, r2
- ldrb r0, [r0]
- ldrb r1, [r1]
- subs r0, r1
- lsls r0, 24
- lsrs r2, r0, 24
- movs r3, 0
- mov r12, r3
- adds r3, r5, 0
- ldr r1, _080F689C @ =0x0000bc96
- movs r4, 0x9
-_080F6870:
- cmp r2, 0x8
- bls _080F68A0
- ldr r0, [r3]
- adds r0, r1
- add r0, r12
- strb r4, [r0]
- adds r0, r2, 0
- subs r0, 0x9
- lsls r0, 24
- lsrs r2, r0, 24
- b _080F68AA
- .align 2, 0
-_080F6888: .4byte 0x0000bc90
-_080F688C: .4byte 0x0000bc91
-_080F6890: .4byte gUnknown_083DFEC4
-_080F6894: .4byte 0x0000bc8e
-_080F6898: .4byte 0x0000bc8f
-_080F689C: .4byte 0x0000bc96
-_080F68A0:
- ldr r0, [r3]
- adds r0, r1
- add r0, r12
- strb r2, [r0]
- movs r2, 0
-_080F68AA:
- mov r0, r12
- adds r0, 0x1
- lsls r0, 16
- lsrs r0, 16
- mov r12, r0
- cmp r0, 0x2
- bls _080F6870
- ldr r5, _080F68DC @ =gUnknown_083DFEC4
- ldr r0, [r5]
- ldr r6, _080F68E0 @ =0x0000bc96
- adds r1, r0, r6
- add r1, r12
- ldr r2, _080F68E4 @ =0x0000bc8f
- adds r0, r2
- ldrb r0, [r0]
- strb r0, [r1]
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080F68DC: .4byte gUnknown_083DFEC4
-_080F68E0: .4byte 0x0000bc96
-_080F68E4: .4byte 0x0000bc8f
- thumb_func_end sub_80F66E0
-
- thumb_func_start sub_80F68E8
-sub_80F68E8: @ 80F68E8
- push {r4-r7,lr}
- ldr r3, _080F6918 @ =gUnknown_083DFEC4
- ldr r0, [r3]
- ldr r2, _080F691C @ =0x0000bc90
- adds r1, r0, r2
- ldrb r5, [r1]
- ldr r6, _080F6920 @ =0x0000bc91
- adds r0, r6
- ldrb r4, [r0]
- movs r0, 0x1
- mov r12, r0
- ldr r2, _080F6924 @ =gMain
- ldrh r1, [r2, 0x30]
- movs r0, 0x40
- ands r0, r1
- adds r6, r3, 0
- adds r7, r2, 0
- cmp r0, 0
- beq _080F692E
- lsls r0, r4, 24
- cmp r0, 0
- ble _080F692E
- b _080F69BC
- .align 2, 0
-_080F6918: .4byte gUnknown_083DFEC4
-_080F691C: .4byte 0x0000bc90
-_080F6920: .4byte 0x0000bc91
-_080F6924: .4byte gMain
-_080F6928:
- ldr r1, _080F69B0 @ =0x0000bc91
- adds r0, r2, r1
- ldrb r4, [r0]
-_080F692E:
- ldrh r1, [r7, 0x30]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _080F6978
- lsls r0, r4, 24
- asrs r0, 24
- cmp r0, 0x2
- bgt _080F6978
- ldr r3, _080F69B4 @ =gUnknown_083DFEC4
- ldr r2, _080F69B8 @ =0x0000bc96
-_080F6944:
- lsls r0, r4, 24
- asrs r0, 24
- cmp r0, 0x2
- bgt _080F6960
- adds r0, 0x1
- lsls r0, 24
- ldr r1, [r3]
- lsrs r4, r0, 24
- asrs r0, 24
- adds r1, r2
- adds r1, r0
- ldrb r0, [r1]
- cmp r0, 0
- beq _080F6944
-_080F6960:
- ldr r2, [r6]
- lsls r0, r4, 24
- asrs r0, 24
- ldr r3, _080F69B8 @ =0x0000bc96
- adds r1, r2, r3
- adds r1, r0
- ldrb r0, [r1]
- cmp r0, 0
- bne _080F69EC
- ldr r1, _080F69B0 @ =0x0000bc91
- adds r0, r2, r1
- ldrb r4, [r0]
-_080F6978:
- ldrh r2, [r7, 0x30]
- movs r0, 0x20
- ands r0, r2
- cmp r0, 0
- beq _080F698A
- lsls r0, r5, 24
- asrs r0, 24
- cmp r0, 0
- bgt _080F6A3C
-_080F698A:
- movs r0, 0x10
- ands r0, r2
- cmp r0, 0
- beq _080F69AA
- lsls r0, r5, 24
- asrs r2, r0, 24
- ldr r1, [r6]
- lsls r0, r4, 24
- asrs r0, 24
- ldr r3, _080F69B8 @ =0x0000bc96
- adds r1, r3
- adds r1, r0
- ldrb r0, [r1]
- subs r0, 0x1
- cmp r2, r0
- blt _080F6A38
-_080F69AA:
- movs r0, 0
- mov r12, r0
- b _080F69FC
- .align 2, 0
-_080F69B0: .4byte 0x0000bc91
-_080F69B4: .4byte gUnknown_083DFEC4
-_080F69B8: .4byte 0x0000bc96
-_080F69BC:
- lsls r0, r4, 24
- asrs r0, 24
- cmp r0, 0
- ble _080F69DA
- subs r0, 0x1
- lsls r0, 24
- ldr r1, [r6]
- lsrs r4, r0, 24
- asrs r0, 24
- ldr r2, _080F6A2C @ =0x0000bc96
- adds r1, r2
- adds r1, r0
- ldrb r0, [r1]
- cmp r0, 0
- beq _080F69BC
-_080F69DA:
- ldr r2, [r6]
- lsls r0, r4, 24
- asrs r0, 24
- ldr r3, _080F6A2C @ =0x0000bc96
- adds r1, r2, r3
- adds r1, r0
- ldrb r0, [r1]
- cmp r0, 0
- beq _080F6928
-_080F69EC:
- lsls r0, r5, 24
- asrs r0, 24
- ldrb r1, [r1]
- cmp r0, r1
- blt _080F69FC
- subs r0, r1, 0x1
-_080F69F8:
- lsls r0, 24
- lsrs r5, r0, 24
-_080F69FC:
- mov r0, r12
- cmp r0, 0
- beq _080F6A44
- lsls r0, r5, 24
- asrs r0, 24
- ldr r3, [r6]
- ldr r1, _080F6A30 @ =0x0000bc90
- adds r2, r3, r1
- ldrb r6, [r2]
- cmp r0, r6
- bne _080F6A20
- lsls r0, r4, 24
- asrs r0, 24
- ldr r6, _080F6A34 @ =0x0000bc91
- adds r1, r3, r6
- ldrb r1, [r1]
- cmp r0, r1
- beq _080F6A40
-_080F6A20:
- strb r5, [r2]
- ldr r1, _080F6A34 @ =0x0000bc91
- adds r0, r3, r1
- strb r4, [r0]
- b _080F6A44
- .align 2, 0
-_080F6A2C: .4byte 0x0000bc96
-_080F6A30: .4byte 0x0000bc90
-_080F6A34: .4byte 0x0000bc91
-_080F6A38:
- adds r0, r2, 0x1
- b _080F69F8
-_080F6A3C:
- subs r0, 0x1
- b _080F69F8
-_080F6A40:
- movs r2, 0
- mov r12, r2
-_080F6A44:
- mov r0, r12
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80F68E8
-
- thumb_func_start sub_80F6A4C
-sub_80F6A4C: @ 80F6A4C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- adds r4, r0, 0
- ldr r0, _080F6AC4 @ =gUnknown_083DFEC4
- ldr r3, [r0]
- ldr r0, _080F6AC8 @ =0x0000876e
- adds r2, r3, r0
- lsls r0, r4, 24
- asrs r0, 24
- ldrh r1, [r2]
- adds r0, r1
- strh r0, [r2]
- lsls r0, 16
- cmp r0, 0
- bge _080F6A74
- ldr r5, _080F6ACC @ =0x00008774
- adds r0, r3, r5
- ldrh r0, [r0]
- strh r0, [r2]
-_080F6A74:
- ldr r1, _080F6ACC @ =0x00008774
- adds r0, r3, r1
- movs r5, 0
- ldrsh r1, [r2, r5]
- movs r5, 0
- ldrsh r0, [r0, r5]
- cmp r1, r0
- ble _080F6A88
- movs r0, 0
- strh r0, [r2]
-_080F6A88:
- ldr r1, _080F6AD0 @ =0x0000bc94
- adds r0, r3, r1
- strb r4, [r0]
- ldrh r1, [r2]
- ldr r2, _080F6AD4 @ =0x000087dc
- adds r0, r3, r2
- strh r1, [r0]
- ldr r1, _080F6AD8 @ =REG_WININ
- ldr r5, _080F6ADC @ =0x00003f37
- adds r0, r5, 0
- strh r0, [r1]
- adds r1, 0x2
- ldr r2, _080F6AE0 @ =0x00003f3f
- adds r0, r2, 0
- strh r0, [r1]
- subs r1, 0xA
- ldr r5, _080F6AE4 @ =0x000058f0
- adds r0, r5, 0
- strh r0, [r1]
- adds r1, 0x4
- ldr r2, _080F6AE8 @ =0x00002060
- adds r0, r2, 0
- strh r0, [r1]
- ldr r5, _080F6AEC @ =0x000087de
- adds r1, r3, r5
- movs r0, 0
- strb r0, [r1]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080F6AC4: .4byte gUnknown_083DFEC4
-_080F6AC8: .4byte 0x0000876e
-_080F6ACC: .4byte 0x00008774
-_080F6AD0: .4byte 0x0000bc94
-_080F6AD4: .4byte 0x000087dc
-_080F6AD8: .4byte REG_WININ
-_080F6ADC: .4byte 0x00003f37
-_080F6AE0: .4byte 0x00003f3f
-_080F6AE4: .4byte 0x000058f0
-_080F6AE8: .4byte 0x00002060
-_080F6AEC: .4byte 0x000087de
- thumb_func_end sub_80F6A4C
-
- thumb_func_start sub_80F6AF0
-sub_80F6AF0: @ 80F6AF0
- push {r4,lr}
- ldr r1, _080F6B10 @ =gUnknown_083DFEC4
- ldr r0, [r1]
- ldr r2, _080F6B14 @ =0x000087de
- adds r0, r2
- ldrb r0, [r0]
- adds r4, r1, 0
- cmp r0, 0x6
- bls _080F6B04
- b _080F6C08
-_080F6B04:
- lsls r0, 2
- ldr r1, _080F6B18 @ =_080F6B1C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080F6B10: .4byte gUnknown_083DFEC4
-_080F6B14: .4byte 0x000087de
-_080F6B18: .4byte _080F6B1C
- .align 2, 0
-_080F6B1C:
- .4byte _080F6B38
- .4byte _080F6B54
- .4byte _080F6B6E
- .4byte _080F6B84
- .4byte _080F6B9C
- .4byte _080F6BC0
- .4byte _080F6BE0
-_080F6B38:
- bl sub_80F173C
- lsls r0, 24
- cmp r0, 0
- bne _080F6C18
- ldr r0, _080F6B4C @ =gUnknown_083DFEC4
- ldr r1, [r0]
- ldr r3, _080F6B50 @ =0x000087de
- adds r1, r3
- b _080F6BCE
- .align 2, 0
-_080F6B4C: .4byte gUnknown_083DFEC4
-_080F6B50: .4byte 0x000087de
-_080F6B54:
- movs r2, 0x80
- lsls r2, 19
- ldrh r0, [r2]
- movs r3, 0x80
- lsls r3, 6
- adds r1, r3, 0
- orrs r0, r1
- strh r0, [r2]
- bl sub_80F1480
- bl sub_80F66E0
- b _080F6BC6
-_080F6B6E:
- bl DrawMonRibbonIcons
- ldr r0, _080F6B7C @ =gUnknown_083DFEC4
- ldr r1, [r0]
- ldr r2, _080F6B80 @ =0x000087de
- adds r1, r2
- b _080F6BCE
- .align 2, 0
-_080F6B7C: .4byte gUnknown_083DFEC4
-_080F6B80: .4byte 0x000087de
-_080F6B84:
- bl sub_80F13FC
- ldr r0, _080F6B94 @ =gUnknown_083DFEC4
- ldr r1, [r0]
- ldr r3, _080F6B98 @ =0x000087de
- adds r1, r3
- b _080F6BCE
- .align 2, 0
-_080F6B94: .4byte gUnknown_083DFEC4
-_080F6B98: .4byte 0x000087de
-_080F6B9C:
- ldr r4, [r4]
- ldr r1, _080F6BB8 @ =0x0000876e
- adds r0, r4, r1
- movs r2, 0
- ldrsh r0, [r0, r2]
- movs r1, 0
- bl sub_80F4824
- ldr r3, _080F6BBC @ =0x000087de
- adds r4, r3
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
- b _080F6C18
- .align 2, 0
-_080F6BB8: .4byte 0x0000876e
-_080F6BBC: .4byte 0x000087de
-_080F6BC0:
- movs r0, 0
- bl sub_80F2E18
-_080F6BC6:
- ldr r0, _080F6BD8 @ =gUnknown_083DFEC4
- ldr r1, [r0]
- ldr r0, _080F6BDC @ =0x000087de
- adds r1, r0
-_080F6BCE:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _080F6C18
- .align 2, 0
-_080F6BD8: .4byte gUnknown_083DFEC4
-_080F6BDC: .4byte 0x000087de
-_080F6BE0:
- bl sub_80F170C
- lsls r0, 24
- cmp r0, 0
- bne _080F6C18
- bl sub_80F1438
- movs r2, 0x80
- lsls r2, 19
- ldrh r1, [r2]
- ldr r0, _080F6C0C @ =0x0000dfff
- ands r0, r1
- strh r0, [r2]
- ldr r0, _080F6C10 @ =gUnknown_083DFEC4
- ldr r1, [r0]
- ldr r2, _080F6C14 @ =0x000087de
- adds r1, r2
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
-_080F6C08:
- movs r0, 0
- b _080F6C1A
- .align 2, 0
-_080F6C0C: .4byte 0x0000dfff
-_080F6C10: .4byte gUnknown_083DFEC4
-_080F6C14: .4byte 0x000087de
-_080F6C18:
- movs r0, 0x1
-_080F6C1A:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80F6AF0
-
- thumb_func_start sub_80F6C20
-sub_80F6C20: @ 80F6C20
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- ldr r0, _080F6D44 @ =gUnknown_083DFEC4
- ldr r0, [r0]
- ldr r1, _080F6D48 @ =0x0000d158
- adds r0, r1
- movs r1, 0
- strh r1, [r0]
- mov r8, r1
- ldr r2, _080F6D4C @ =gSaveBlock1 + 0x97A
- mov r9, r2
-_080F6C3A:
- ldr r1, _080F6D50 @ =gTrainerEyeTrainers
- mov r4, r8
- lsls r0, r4, 4
- adds r6, r0, r1
- ldrh r7, [r6]
- adds r0, r7, 0
- bl HasTrainerAlreadyBeenFought
- lsls r0, 24
- cmp r0, 0
- beq _080F6CA0
- ldr r0, _080F6D44 @ =gUnknown_083DFEC4
- ldr r4, [r0]
- ldr r0, _080F6D48 @ =0x0000d158
- adds r5, r4, r0
- ldrh r0, [r5]
- lsls r0, 3
- adds r0, r4, r0
- ldr r1, _080F6D54 @ =0x0000cee8
- adds r0, r1
- strh r7, [r0]
- ldrh r0, [r5]
- lsls r0, 3
- adds r0, r4, r0
- ldr r2, _080F6D58 @ =0x0000ceec
- adds r0, r2
- mov r1, r8
- strb r1, [r0]
- ldrh r0, [r5]
- lsls r0, 3
- adds r0, r4, r0
- mov r1, r8
- add r1, r9
- ldrb r1, [r1]
- adds r2, 0x1
- adds r0, r2
- strb r1, [r0]
- ldrh r0, [r6, 0xA]
- ldrh r1, [r6, 0xC]
- bl Overworld_GetMapHeaderByGroupAndId
- ldrh r1, [r5]
- lsls r1, 3
- adds r4, r1
- ldrb r0, [r0, 0x14]
- ldr r1, _080F6D5C @ =0x0000ceea
- adds r4, r1
- strh r0, [r4]
- ldrh r0, [r5]
- adds r0, 0x1
- strh r0, [r5]
-_080F6CA0:
- mov r0, r8
- adds r0, 0x1
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- cmp r0, 0x37
- bls _080F6C3A
- movs r2, 0
- mov r8, r2
- movs r6, 0
-_080F6CB4:
- ldr r1, _080F6D60 @ =gUnknown_083E49C0
- mov r4, r8
- lsls r0, r4, 2
- adds r5, r0, r1
- ldrh r4, [r5]
- adds r0, r4, 0
- bl HasTrainerAlreadyBeenFought
- lsls r0, 24
- cmp r0, 0
- beq _080F6D0E
- ldr r0, _080F6D44 @ =gUnknown_083DFEC4
- ldr r2, [r0]
- ldr r0, _080F6D48 @ =0x0000d158
- adds r3, r2, r0
- ldrh r0, [r3]
- lsls r0, 3
- adds r0, r2, r0
- ldr r1, _080F6D54 @ =0x0000cee8
- adds r0, r1
- strh r4, [r0]
- ldrh r0, [r3]
- lsls r0, 3
- adds r0, r2, r0
- ldrh r1, [r5, 0x2]
- ldr r4, _080F6D5C @ =0x0000ceea
- adds r0, r4
- strh r1, [r0]
- ldrh r0, [r3]
- lsls r0, 3
- adds r0, r2, r0
- ldr r1, _080F6D64 @ =0x0000ceed
- adds r0, r1
- strb r6, [r0]
- ldrh r0, [r3]
- lsls r0, 3
- adds r2, r0
- mov r0, r8
- adds r0, 0x38
- adds r4, 0x2
- adds r2, r4
- strb r0, [r2]
- ldrh r0, [r3]
- adds r0, 0x1
- strh r0, [r3]
-_080F6D0E:
- mov r0, r8
- adds r0, 0x1
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- cmp r0, 0xC
- bls _080F6CB4
- ldr r3, _080F6D44 @ =gUnknown_083DFEC4
- ldr r2, [r3]
- ldr r1, _080F6D68 @ =0x0000876c
- adds r0, r2, r1
- movs r1, 0
- strh r1, [r0]
- ldr r4, _080F6D6C @ =0x00008770
- adds r0, r2, r4
- strh r1, [r0]
- subs r4, 0x2
- adds r0, r2, r4
- strh r1, [r0]
- ldr r1, _080F6D48 @ =0x0000d158
- adds r0, r2, r1
- ldrh r0, [r0]
- cmp r0, 0x8
- bhi _080F6D70
- subs r4, r0, 0x1
- b _080F6D72
- .align 2, 0
-_080F6D44: .4byte gUnknown_083DFEC4
-_080F6D48: .4byte 0x0000d158
-_080F6D4C: .4byte gSaveBlock1 + 0x97A
-_080F6D50: .4byte gTrainerEyeTrainers
-_080F6D54: .4byte 0x0000cee8
-_080F6D58: .4byte 0x0000ceec
-_080F6D5C: .4byte 0x0000ceea
-_080F6D60: .4byte gUnknown_083E49C0
-_080F6D64: .4byte 0x0000ceed
-_080F6D68: .4byte 0x0000876c
-_080F6D6C: .4byte 0x00008770
-_080F6D70:
- movs r4, 0x7
-_080F6D72:
- ldr r1, _080F6DA8 @ =0x00008772
- adds r0, r2, r1
- strh r4, [r0]
- ldr r3, [r3]
- ldr r2, _080F6DAC @ =0x0000d158
- adds r0, r3, r2
- ldrh r0, [r0]
- subs r0, 0x1
- ldr r4, _080F6DB0 @ =0x00008774
- adds r1, r3, r4
- strh r0, [r1]
- movs r1, 0
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x7
- ble _080F6D94
- movs r1, 0x1
-_080F6D94:
- ldr r2, _080F6DB4 @ =0x000087c9
- adds r0, r3, r2
- strb r1, [r0]
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080F6DA8: .4byte 0x00008772
-_080F6DAC: .4byte 0x0000d158
-_080F6DB0: .4byte 0x00008774
-_080F6DB4: .4byte 0x000087c9
- thumb_func_end sub_80F6C20
-
- thumb_func_start sub_80F6DB8
-sub_80F6DB8: @ 80F6DB8
- push {r4,lr}
- movs r1, 0
- ldr r0, _080F6DEC @ =gUnknown_083DFEC4
- ldr r4, [r0]
- ldr r2, _080F6DF0 @ =0x00008fe9
- adds r0, r4, r2
- strb r1, [r0]
- movs r0, 0
- bl sub_80F6E04
- ldr r0, _080F6DF4 @ =0x0000d15a
- adds r1, r4, r0
- ldr r0, _080F6DF8 @ =0x0000ffb8
- strh r0, [r1]
- movs r0, 0
- bl sub_80F2F7C
- ldr r1, _080F6DFC @ =0x0000876e
- adds r0, r4, r1
- ldrh r0, [r0]
- ldr r2, _080F6E00 @ =0x000087dc
- adds r4, r2
- strh r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080F6DEC: .4byte gUnknown_083DFEC4
-_080F6DF0: .4byte 0x00008fe9
-_080F6DF4: .4byte 0x0000d15a
-_080F6DF8: .4byte 0x0000ffb8
-_080F6DFC: .4byte 0x0000876e
-_080F6E00: .4byte 0x000087dc
- thumb_func_end sub_80F6DB8
-
- thumb_func_start sub_80F6E04
-sub_80F6E04: @ 80F6E04
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, _080F6E78 @ =gUnknown_083DFEC4
- ldr r5, [r0]
- ldr r1, _080F6E7C @ =0x0000876e
- adds r0, r5, r1
- movs r2, 0
- ldrsh r0, [r0, r2]
- lsls r0, 3
- adds r0, r5, r0
- ldr r7, _080F6E80 @ =0x0000cee8
- adds r0, r7
- ldrh r1, [r0]
- ldr r2, _080F6E84 @ =gTrainers
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- ldrb r6, [r0, 0x3]
- lsls r0, r6, 3
- mov r8, r0
- ldr r0, _080F6E88 @ =gTrainerFrontPicTable
- add r0, r8
- ldr r2, _080F6E8C @ =gTrainerFrontPicCoords
- lsls r1, r6, 2
- adds r1, r2
- ldrb r1, [r1]
- ldr r2, _080F6E90 @ =0x000131e4
- adds r3, r5, r2
- lsls r2, r4, 13
- ldr r7, _080F6E94 @ =0x0000d1e4
- adds r2, r7
- adds r2, r5, r2
- str r2, [sp]
- str r6, [sp, 0x4]
- movs r2, 0x1
- bl DecompressPicFromTable_2
- ldr r0, _080F6E98 @ =gTrainerFrontPicPaletteTable
- add r8, r0
- mov r1, r8
- ldr r0, [r1]
- lsls r4, 7
- adds r5, r4
- adds r1, r5, 0
- bl LZ77UnCompWram
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080F6E78: .4byte gUnknown_083DFEC4
-_080F6E7C: .4byte 0x0000876e
-_080F6E80: .4byte 0x0000cee8
-_080F6E84: .4byte gTrainers
-_080F6E88: .4byte gTrainerFrontPicTable
-_080F6E8C: .4byte gTrainerFrontPicCoords
-_080F6E90: .4byte 0x000131e4
-_080F6E94: .4byte 0x0000d1e4
-_080F6E98: .4byte gTrainerFrontPicPaletteTable
- thumb_func_end sub_80F6E04
-
- thumb_func_start sub_80F6E9C
-sub_80F6E9C: @ 80F6E9C
- push {lr}
- ldr r0, _080F6EB4 @ =gUnknown_083DFEC4
- ldr r0, [r0]
- ldr r2, _080F6EB8 @ =0x0000d15a
- adds r1, r0, r2
- ldrh r2, [r1]
- movs r3, 0
- ldrsh r0, [r1, r3]
- cmp r0, 0
- bne _080F6EBC
- movs r0, 0
- b _080F6ED0
- .align 2, 0
-_080F6EB4: .4byte gUnknown_083DFEC4
-_080F6EB8: .4byte 0x0000d15a
-_080F6EBC:
- adds r0, r2, 0
- adds r0, 0x8
- strh r0, [r1]
- lsls r0, 16
- cmp r0, 0
- bge _080F6ECC
- movs r0, 0x1
- b _080F6ED0
-_080F6ECC:
- movs r0, 0
- strh r0, [r1]
-_080F6ED0:
- pop {r1}
- bx r1
- thumb_func_end sub_80F6E9C
-
- thumb_func_start sub_80F6ED4
-sub_80F6ED4: @ 80F6ED4
- push {lr}
- ldr r0, _080F6F00 @ =gUnknown_083DFEC4
- ldr r0, [r0]
- ldr r2, _080F6F04 @ =0x0000d15a
- adds r1, r0, r2
- ldrh r3, [r1]
- movs r2, 0
- ldrsh r0, [r1, r2]
- movs r2, 0x48
- negs r2, r2
- cmp r0, r2
- beq _080F6F0A
- adds r0, r3, 0
- subs r0, 0x8
- strh r0, [r1]
- lsls r0, 16
- asrs r0, 16
- cmp r0, r2
- ble _080F6F08
- movs r0, 0x1
- b _080F6F0C
- .align 2, 0
-_080F6F00: .4byte gUnknown_083DFEC4
-_080F6F04: .4byte 0x0000d15a
-_080F6F08:
- strh r2, [r1]
-_080F6F0A:
- movs r0, 0
-_080F6F0C:
- pop {r1}
- bx r1
- thumb_func_end sub_80F6ED4
-
- thumb_func_start sub_80F6F10
-sub_80F6F10: @ 80F6F10
- push {lr}
- ldr r0, _080F6F48 @ =gUnknown_083DFEC4
- ldr r0, [r0]
- ldr r2, _080F6F4C @ =0x0000d15e
- adds r1, r0, r2
- movs r2, 0
- strb r2, [r1]
- ldr r1, _080F6F50 @ =0x0000d15f
- adds r0, r1
- strb r2, [r0]
- ldr r1, _080F6F54 @ =REG_BLDCNT
- movs r0, 0xC8
- strh r0, [r1]
- ldr r0, _080F6F58 @ =REG_BLDY
- strh r2, [r0]
- subs r1, 0x8
- ldr r2, _080F6F5C @ =0x00003f3f
- adds r0, r2, 0
- strh r0, [r1]
- adds r1, 0x2
- ldr r2, _080F6F60 @ =0x00001f1f
- adds r0, r2, 0
- strh r0, [r1]
- movs r0, 0
- bl sub_80F6FB8
- pop {r0}
- bx r0
- .align 2, 0
-_080F6F48: .4byte gUnknown_083DFEC4
-_080F6F4C: .4byte 0x0000d15e
-_080F6F50: .4byte 0x0000d15f
-_080F6F54: .4byte REG_BLDCNT
-_080F6F58: .4byte REG_BLDY
-_080F6F5C: .4byte 0x00003f3f
-_080F6F60: .4byte 0x00001f1f
- thumb_func_end sub_80F6F10
-
- thumb_func_start sub_80F6F64
-sub_80F6F64: @ 80F6F64
- push {lr}
- ldr r0, _080F6F9C @ =gUnknown_083DFEC4
- ldr r1, [r0]
- ldr r0, _080F6FA0 @ =0x0000d15e
- adds r2, r1, r0
- ldrb r0, [r2]
- adds r0, 0x1
- strb r0, [r2]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x8
- bls _080F6FB0
- movs r0, 0
- strb r0, [r2]
- ldr r0, _080F6FA4 @ =0x0000d15f
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- movs r1, 0x1
- ands r1, r0
- cmp r1, 0
- beq _080F6FAC
- ldr r1, _080F6FA8 @ =REG_BLDY
- movs r0, 0x6
- strh r0, [r1]
- b _080F6FB0
- .align 2, 0
-_080F6F9C: .4byte gUnknown_083DFEC4
-_080F6FA0: .4byte 0x0000d15e
-_080F6FA4: .4byte 0x0000d15f
-_080F6FA8: .4byte REG_BLDY
-_080F6FAC:
- ldr r0, _080F6FB4 @ =REG_BLDY
- strh r1, [r0]
-_080F6FB0:
- pop {r0}
- bx r0
- .align 2, 0
-_080F6FB4: .4byte REG_BLDY
- thumb_func_end sub_80F6F64
-
- thumb_func_start sub_80F6FB8
-sub_80F6FB8: @ 80F6FB8
- push {lr}
- lsls r0, 24
- cmp r0, 0
- bne _080F6FDC
- ldr r1, _080F6FD0 @ =REG_WIN0H
- ldr r2, _080F6FD4 @ =0x0000e8f0
- adds r0, r2, 0
- strh r0, [r1]
- adds r1, 0x4
- ldr r2, _080F6FD8 @ =0x00000888
- b _080F6FE8
- .align 2, 0
-_080F6FD0: .4byte REG_WIN0H
-_080F6FD4: .4byte 0x0000e8f0
-_080F6FD8: .4byte 0x00000888
-_080F6FDC:
- ldr r1, _080F6FF0 @ =REG_WIN0H
- ldr r2, _080F6FF4 @ =0x0000e8f0
- adds r0, r2, 0
- strh r0, [r1]
- adds r1, 0x4
- ldr r2, _080F6FF8 @ =0x00000818
-_080F6FE8:
- adds r0, r2, 0
- strh r0, [r1]
- pop {r0}
- bx r0
- .align 2, 0
-_080F6FF0: .4byte REG_WIN0H
-_080F6FF4: .4byte 0x0000e8f0
-_080F6FF8: .4byte 0x00000818
- thumb_func_end sub_80F6FB8
-
- thumb_func_start sub_80F6FFC
-sub_80F6FFC: @ 80F6FFC
- ldr r0, _080F7008 @ =REG_BLDCNT
- movs r1, 0
- strh r1, [r0]
- adds r0, 0x4
- strh r1, [r0]
- bx lr
- .align 2, 0
-_080F7008: .4byte REG_BLDCNT
- thumb_func_end sub_80F6FFC
-
-.section .text_80F708C
-
- thumb_func_start sub_80F708C
-sub_80F708C: @ 80F708C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- adds r4, r0, 0
- ldr r0, _080F70E4 @ =gUnknown_083DFEC4
- ldr r3, [r0]
- ldr r0, _080F70E8 @ =0x0000876e
- adds r2, r3, r0
- lsls r0, r4, 24
- asrs r0, 24
- ldrh r1, [r2]
- adds r0, r1
- strh r0, [r2]
- lsls r0, 16
- cmp r0, 0
- bge _080F70B4
- ldr r5, _080F70EC @ =0x00008774
- adds r0, r3, r5
- ldrh r0, [r0]
- strh r0, [r2]
-_080F70B4:
- ldr r1, _080F70EC @ =0x00008774
- adds r0, r3, r1
- movs r5, 0
- ldrsh r1, [r2, r5]
- movs r5, 0
- ldrsh r0, [r0, r5]
- cmp r1, r0
- ble _080F70C8
- movs r0, 0
- strh r0, [r2]
-_080F70C8:
- ldr r1, _080F70F0 @ =0x0000bc94
- adds r0, r3, r1
- strb r4, [r0]
- ldrh r1, [r2]
- ldr r2, _080F70F4 @ =0x000087dc
- adds r0, r3, r2
- strh r1, [r0]
- ldr r5, _080F70F8 @ =0x000087de
- adds r1, r3, r5
- movs r0, 0
- strb r0, [r1]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080F70E4: .4byte gUnknown_083DFEC4
-_080F70E8: .4byte 0x0000876e
-_080F70EC: .4byte 0x00008774
-_080F70F0: .4byte 0x0000bc94
-_080F70F4: .4byte 0x000087dc
-_080F70F8: .4byte 0x000087de
- thumb_func_end sub_80F708C
-
- thumb_func_start sub_80F70FC
-sub_80F70FC: @ 80F70FC
- push {r4-r6,lr}
- ldr r1, _080F711C @ =gUnknown_083DFEC4
- ldr r0, [r1]
- ldr r2, _080F7120 @ =0x000087de
- adds r0, r2
- ldrb r0, [r0]
- adds r4, r1, 0
- cmp r0, 0x6
- bls _080F7110
- b _080F7218
-_080F7110:
- lsls r0, 2
- ldr r1, _080F7124 @ =_080F7128
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080F711C: .4byte gUnknown_083DFEC4
-_080F7120: .4byte 0x000087de
-_080F7124: .4byte _080F7128
- .align 2, 0
-_080F7128:
- .4byte _080F7144
- .4byte _080F714A
- .4byte _080F7164
- .4byte _080F716C
- .4byte _080F71A0
- .4byte _080F71BA
- .4byte _080F71EA
-_080F7144:
- bl sub_80F6ED4
- b _080F71F8
-_080F714A:
- movs r0, 0
- bl sub_80F6E04
- ldr r0, _080F715C @ =gUnknown_083DFEC4
- ldr r1, [r0]
- ldr r2, _080F7160 @ =0x000087de
- adds r1, r2
- b _080F7206
- .align 2, 0
-_080F715C: .4byte gUnknown_083DFEC4
-_080F7160: .4byte 0x000087de
-_080F7164:
- movs r0, 0
- bl sub_80F2F7C
- b _080F71FE
-_080F716C:
- ldr r4, [r4]
- ldr r2, _080F7194 @ =0x00008788
- adds r5, r4, r2
- ldr r0, _080F7198 @ =0x0000876e
- adds r6, r4, r0
- ldrh r1, [r6]
- adds r0, r5, 0
- bl sub_80F700C
- adds r0, r5, 0
- bl sub_80F43D4
- bl sub_80F105C
- ldrb r0, [r6]
- bl sub_80F0FFC
- ldr r2, _080F719C @ =0x000087de
- adds r4, r2
- b _080F71CC
- .align 2, 0
-_080F7194: .4byte 0x00008788
-_080F7198: .4byte 0x0000876e
-_080F719C: .4byte 0x000087de
-_080F71A0:
- bl LoadTrainerEyesDescriptionLines
- ldr r0, _080F71D4 @ =gUnknown_083DFEC4
- ldr r1, [r0]
- ldr r0, _080F71D8 @ =0x0000bc95
- adds r2, r1, r0
- movs r0, 0
- strb r0, [r2]
- ldr r2, _080F71DC @ =0x000087de
- adds r1, r2
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
-_080F71BA:
- ldr r0, _080F71D4 @ =gUnknown_083DFEC4
- ldr r1, [r0]
- ldr r0, _080F71D8 @ =0x0000bc95
- adds r4, r1, r0
- ldrb r0, [r4]
- cmp r0, 0x1
- bhi _080F71E0
- bl sub_80F0D5C
-_080F71CC:
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
- b _080F721C
- .align 2, 0
-_080F71D4: .4byte gUnknown_083DFEC4
-_080F71D8: .4byte 0x0000bc95
-_080F71DC: .4byte 0x000087de
-_080F71E0:
- ldr r2, _080F7210 @ =0x000087de
- adds r1, r2
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
-_080F71EA:
- bl sub_80F6E9C
- lsls r0, 24
- cmp r0, 0
- bne _080F721C
- bl sub_80F0D5C
-_080F71F8:
- lsls r0, 24
- cmp r0, 0
- bne _080F721C
-_080F71FE:
- ldr r0, _080F7214 @ =gUnknown_083DFEC4
- ldr r1, [r0]
- ldr r0, _080F7210 @ =0x000087de
- adds r1, r0
-_080F7206:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _080F721C
- .align 2, 0
-_080F7210: .4byte 0x000087de
-_080F7214: .4byte gUnknown_083DFEC4
-_080F7218:
- movs r0, 0
- b _080F721E
-_080F721C:
- movs r0, 0x1
-_080F721E:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80F70FC
-
- thumb_func_start sub_80F7224
-sub_80F7224: @ 80F7224
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x64
- muls r0, r1
- ldr r1, _080F7260 @ =gPlayerParty
- adds r0, r1
- movs r1, 0x30
- bl GetMonData
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, _080F7264 @ =gUnknown_083DFEC4
- ldr r0, [r0]
- ldr r3, _080F7268 @ =0x00008fe9
- adds r1, r0, r3
- ldrb r1, [r1]
- lsls r1, 24
- asrs r1, 24
- ldr r3, _080F726C @ =0x00008931
- adds r0, r3
- adds r4, r0, r1
- cmp r2, 0xFF
- beq _080F7270
- adds r0, r2, 0
- movs r1, 0x1D
- bl __udivsi3
- b _080F7272
- .align 2, 0
-_080F7260: .4byte gPlayerParty
-_080F7264: .4byte gUnknown_083DFEC4
-_080F7268: .4byte 0x00008fe9
-_080F726C: .4byte 0x00008931
-_080F7270:
- movs r0, 0x9
-_080F7272:
- strb r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80F7224
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/data/layouts.inc b/data/layouts.inc
deleted file mode 100644
index aec54aaab..000000000
--- a/data/layouts.inc
+++ /dev/null
@@ -1,332 +0,0 @@
- .include "data/layouts/PetalburgCity/layout.inc"
- .include "data/layouts/SlateportCity/layout.inc"
- .include "data/layouts/MauvilleCity/layout.inc"
- .include "data/layouts/RustboroCity/layout.inc"
- .include "data/layouts/FortreeCity/layout.inc"
- .include "data/layouts/LilycoveCity/layout.inc"
- .include "data/layouts/MossdeepCity/layout.inc"
- .include "data/layouts/SootopolisCity/layout.inc"
- .include "data/layouts/EverGrandeCity/layout.inc"
- .include "data/layouts/LittlerootTown/layout.inc"
- .include "data/layouts/OldaleTown/layout.inc"
- .include "data/layouts/DewfordTown/layout.inc"
- .include "data/layouts/LavaridgeTown/layout.inc"
- .include "data/layouts/FallarborTown/layout.inc"
- .include "data/layouts/VerdanturfTown/layout.inc"
- .include "data/layouts/PacifidlogTown/layout.inc"
- .include "data/layouts/Route101/layout.inc"
- .include "data/layouts/Route102/layout.inc"
- .include "data/layouts/Route103/layout.inc"
- .include "data/layouts/Route104/layout.inc"
- .include "data/layouts/Route105/layout.inc"
- .include "data/layouts/Route106/layout.inc"
- .include "data/layouts/Route107/layout.inc"
- .include "data/layouts/Route108/layout.inc"
- .include "data/layouts/Route109/layout.inc"
- .include "data/layouts/Route110/layout.inc"
- .include "data/layouts/Route111/layout.inc"
- .include "data/layouts/Route112/layout.inc"
- .include "data/layouts/Route113/layout.inc"
- .include "data/layouts/Route114/layout.inc"
- .include "data/layouts/Route115/layout.inc"
- .include "data/layouts/Route116/layout.inc"
- .include "data/layouts/Route117/layout.inc"
- .include "data/layouts/Route118/layout.inc"
- .include "data/layouts/Route119/layout.inc"
- .include "data/layouts/Route120/layout.inc"
- .include "data/layouts/Route121/layout.inc"
- .include "data/layouts/Route122/layout.inc"
- .include "data/layouts/Route123/layout.inc"
- .include "data/layouts/Route124/layout.inc"
- .include "data/layouts/Route125/layout.inc"
- .include "data/layouts/Route126/layout.inc"
- .include "data/layouts/Route127/layout.inc"
- .include "data/layouts/Route128/layout.inc"
- .include "data/layouts/Route129/layout.inc"
- .include "data/layouts/UnreferencedMap/layout.inc"
- .include "data/layouts/Route131/layout.inc"
- .include "data/layouts/Route132/layout.inc"
- .include "data/layouts/Route133/layout.inc"
- .include "data/layouts/Route134/layout.inc"
- .include "data/layouts/Underwater2/layout.inc"
- .include "data/layouts/Underwater3/layout.inc"
- .include "data/layouts/Underwater4/layout.inc"
- .include "data/layouts/LittlerootTown_BrendansHouse_1F/layout.inc"
- .include "data/layouts/LittlerootTown_BrendansHouse_2F/layout.inc"
- .include "data/layouts/LittlerootTown_MaysHouse_1F/layout.inc"
- .include "data/layouts/LittlerootTown_MaysHouse_2F/layout.inc"
- .include "data/layouts/LittlerootTown_ProfessorBirchsLab/layout.inc"
- .include "data/layouts/House1/layout.inc"
- .include "data/layouts/House2/layout.inc"
- .include "data/layouts/PokemonCenter_1F/layout.inc"
- .include "data/layouts/PokemonCenter_2F/layout.inc"
- .include "data/layouts/PokeMart/layout.inc"
- .include "data/layouts/House3/layout.inc"
- .include "data/layouts/DewfordTown_Gym/layout.inc"
- .include "data/layouts/DewfordTown_Hall/layout.inc"
- .include "data/layouts/House4/layout.inc"
- .include "data/layouts/LavaridgeTown_HerbShop/layout.inc"
- .include "data/layouts/LavaridgeTown_Gym_1F/layout.inc"
- .include "data/layouts/LavaridgeTown_Gym_B1F/layout.inc"
- .include "data/layouts/LavaridgeTown_PokemonCenter_1F/layout.inc"
- .include "data/layouts/ContestLobby/layout.inc"
- .include "data/layouts/ContestHall/layout.inc"
- .include "data/layouts/LilycoveCity_House2/layout.inc"
- .include "data/layouts/UnknownMap_082CF564/layout.inc"
- .include "data/layouts/VerdanturfTown_WandasHouse/layout.inc"
- .include "data/layouts/PacifidlogTown_House1/layout.inc"
- .include "data/layouts/PacifidlogTown_House2/layout.inc"
- .include "data/layouts/PetalburgCity_Gym/layout.inc"
- .include "data/layouts/HouseWithBed/layout.inc"
- .include "data/layouts/SlateportCity_SternsShipyard_1F/layout.inc"
- .include "data/layouts/SlateportCity_SternsShipyard_2F/layout.inc"
- .include "data/layouts/UnknownMap_082D05D8/layout.inc"
- .include "data/layouts/UnknownMap_082D05FC/layout.inc"
- .include "data/layouts/SlateportCity_PokemonFanClub/layout.inc"
- .include "data/layouts/SlateportCity_OceanicMuseum_1F/layout.inc"
- .include "data/layouts/SlateportCity_OceanicMuseum_2F/layout.inc"
- .include "data/layouts/Harbor/layout.inc"
- .include "data/layouts/MauvilleCity_Gym/layout.inc"
- .include "data/layouts/MauvilleCity_BikeShop/layout.inc"
- .include "data/layouts/MauvilleCity_GameCorner/layout.inc"
- .include "data/layouts/RustboroCity_DevonCorp_1F/layout.inc"
- .include "data/layouts/RustboroCity_DevonCorp_2F/layout.inc"
- .include "data/layouts/RustboroCity_Gym/layout.inc"
- .include "data/layouts/RustboroCity_PokemonSchool/layout.inc"
- .include "data/layouts/RustboroCity_House/layout.inc"
- .include "data/layouts/RustboroCity_House1/layout.inc"
- .include "data/layouts/RustboroCity_CuttersHouse/layout.inc"
- .include "data/layouts/FortreeCity_House1/layout.inc"
- .include "data/layouts/FortreeCity_Gym/layout.inc"
- .include "data/layouts/FortreeCity_House2/layout.inc"
- .include "data/layouts/Route104_MrBrineysHouse/layout.inc"
- .include "data/layouts/LilycoveCity_LilycoveMuseum_1F/layout.inc"
- .include "data/layouts/LilycoveCity_LilycoveMuseum_2F/layout.inc"
- .include "data/layouts/LilycoveCity_ContestLobby/layout.inc"
- .include "data/layouts/LilycoveCity_ContestHall/layout.inc"
- .include "data/layouts/LilycoveCity_PokemonTrainerFanClub/layout.inc"
- .include "data/layouts/LilycoveCity_EmptyMap/layout.inc"
- .include "data/layouts/MossdeepCity_Gym/layout.inc"
- .include "data/layouts/SootopolisCity_Gym_1F/layout.inc"
- .include "data/layouts/SootopolisCity_Gym_B1F/layout.inc"
- .include "data/layouts/EverGrandeCity_SidneysRoom/layout.inc"
- .include "data/layouts/EverGrandeCity_PhoebesRoom/layout.inc"
- .include "data/layouts/EverGrandeCity_GlaciasRoom/layout.inc"
- .include "data/layouts/EverGrandeCity_DrakesRoom/layout.inc"
- .include "data/layouts/EverGrandeCity_ChampionsRoom/layout.inc"
- .include "data/layouts/EverGrandeCity_ShortCorridor/layout.inc"
- .include "data/layouts/Route104_PrettyPetalFlowerShop/layout.inc"
- .include "data/layouts/CableCarStation/layout.inc"
- .include "data/layouts/Route114_FossilManiacsHouse/layout.inc"
- .include "data/layouts/Route114_FossilManiacsTunnel/layout.inc"
- .include "data/layouts/Route114_LanettesHouse/layout.inc"
- .include "data/layouts/Route116_TunnelersRestHouse/layout.inc"
- .include "data/layouts/Route117_PokemonDayCare/layout.inc"
- .include "data/layouts/Route121_SafariZoneEntrance/layout.inc"
- .include "data/layouts/MeteorFalls_1F_1R/layout.inc"
- .include "data/layouts/MeteorFalls_1F_2R/layout.inc"
- .include "data/layouts/MeteorFalls_B1F_1R/layout.inc"
- .include "data/layouts/MeteorFalls_B1F_2R/layout.inc"
- .include "data/layouts/RusturfTunnel/layout.inc"
- .include "data/layouts/Underwater_SootopolisCity/layout.inc"
- .include "data/layouts/DesertRuins/layout.inc"
- .include "data/layouts/GraniteCave_1F/layout.inc"
- .include "data/layouts/GraniteCave_B1F/layout.inc"
- .include "data/layouts/GraniteCave_B2F/layout.inc"
- .include "data/layouts/PetalburgWoods/layout.inc"
- .include "data/layouts/MtChimney/layout.inc"
- .include "data/layouts/MtPyre_1F/layout.inc"
- .include "data/layouts/MtPyre_2F/layout.inc"
- .include "data/layouts/MtPyre_3F/layout.inc"
- .include "data/layouts/MtPyre_4F/layout.inc"
- .include "data/layouts/MtPyre_5F/layout.inc"
- .include "data/layouts/MtPyre_6F/layout.inc"
- .include "data/layouts/AquaHideout_1F/layout.inc"
- .include "data/layouts/AquaHideout_B1F/layout.inc"
- .include "data/layouts/AquaHideout_B2F/layout.inc"
- .include "data/layouts/Underwater_SeafloorCavern/layout.inc"
- .include "data/layouts/SeafloorCavern_Entrance/layout.inc"
- .include "data/layouts/SeafloorCavern_Room1/layout.inc"
- .include "data/layouts/SeafloorCavern_Room2/layout.inc"
- .include "data/layouts/SeafloorCavern_Room3/layout.inc"
- .include "data/layouts/SeafloorCavern_Room4/layout.inc"
- .include "data/layouts/SeafloorCavern_Room5/layout.inc"
- .include "data/layouts/SeafloorCavern_Room6/layout.inc"
- .include "data/layouts/SeafloorCavern_Room7/layout.inc"
- .include "data/layouts/SeafloorCavern_Room8/layout.inc"
- .include "data/layouts/SeafloorCavern_Room9/layout.inc"
- .include "data/layouts/CaveOfOrigin_Entrance/layout.inc"
- .include "data/layouts/CaveOfOrigin_1F/layout.inc"
- .include "data/layouts/CaveOfOrigin_B1F/layout.inc"
- .include "data/layouts/CaveOfOrigin_B2F/layout.inc"
- .include "data/layouts/CaveOfOrigin_B3F/layout.inc"
- .include "data/layouts/CaveOfOrigin_B4F/layout.inc"
- .include "data/layouts/VictoryRoad_1F/layout.inc"
- .include "data/layouts/ShoalCave_LowTideEntranceRoom/layout.inc"
- .include "data/layouts/ShoalCave_LowTideInnerRoom/layout.inc"
- .include "data/layouts/ShoalCave_LowTideStairsRoom/layout.inc"
- .include "data/layouts/ShoalCave_LowTideLowerRoom/layout.inc"
- .include "data/layouts/ShoalCave_HighTideEntranceRoom/layout.inc"
- .include "data/layouts/ShoalCave_HighTideInnerRoom/layout.inc"
- .include "data/layouts/UnknownMap_082E55C8/layout.inc"
- .include "data/layouts/UnknownMap_082E55EC/layout.inc"
- .include "data/layouts/UnknownMap_082E5610/layout.inc"
- .include "data/layouts/UnknownMap_082E5634/layout.inc"
- .include "data/layouts/UnknownMap_082E5658/layout.inc"
- .include "data/layouts/UnknownMap_082E567C/layout.inc"
- .include "data/layouts/UnknownMap_082E56A0/layout.inc"
- .include "data/layouts/UnknownMap_082E56C4/layout.inc"
- .include "data/layouts/UnknownMap_082E56E8/layout.inc"
- .include "data/layouts/UnknownMap_082E570C/layout.inc"
- .include "data/layouts/UnknownMap_082E5730/layout.inc"
- .include "data/layouts/UnknownMap_082E5754/layout.inc"
- .include "data/layouts/UnknownMap_082E5778/layout.inc"
- .include "data/layouts/UnknownMap_082E579C/layout.inc"
- .include "data/layouts/NewMauville_Entrance/layout.inc"
- .include "data/layouts/NewMauville_Inside/layout.inc"
- .include "data/layouts/AbandonedShip_Deck/layout.inc"
- .include "data/layouts/AbandonedShip_Corridors_1F/layout.inc"
- .include "data/layouts/AbandonedShip_Rooms_1F/layout.inc"
- .include "data/layouts/AbandonedShip_Corridors_B1F/layout.inc"
- .include "data/layouts/AbandonedShip_Rooms_B1F/layout.inc"
- .include "data/layouts/AbandonedShip_Rooms2_B1F/layout.inc"
- .include "data/layouts/AbandonedShip_Underwater1/layout.inc"
- .include "data/layouts/AbandonedShip_Room_B1F/layout.inc"
- .include "data/layouts/AbandonedShip_Rooms2_1F/layout.inc"
- .include "data/layouts/AbandonedShip_CaptainsOffice/layout.inc"
- .include "data/layouts/AbandonedShip_Underwater2/layout.inc"
- .include "data/layouts/SecretBase_RedCave1/layout.inc"
- .include "data/layouts/SecretBase_BrownCave1/layout.inc"
- .include "data/layouts/SecretBase_BlueCave1/layout.inc"
- .include "data/layouts/SecretBase_YellowCave1/layout.inc"
- .include "data/layouts/SecretBase_Tree1/layout.inc"
- .include "data/layouts/SecretBase_Shrub1/layout.inc"
- .include "data/layouts/SecretBase_RedCave2/layout.inc"
- .include "data/layouts/SecretBase_BrownCave2/layout.inc"
- .include "data/layouts/SecretBase_BlueCave2/layout.inc"
- .include "data/layouts/SecretBase_YellowCave2/layout.inc"
- .include "data/layouts/SecretBase_Tree2/layout.inc"
- .include "data/layouts/SecretBase_Shrub2/layout.inc"
- .include "data/layouts/SecretBase_RedCave3/layout.inc"
- .include "data/layouts/SecretBase_BrownCave3/layout.inc"
- .include "data/layouts/SecretBase_BlueCave3/layout.inc"
- .include "data/layouts/SecretBase_YellowCave3/layout.inc"
- .include "data/layouts/SecretBase_Tree3/layout.inc"
- .include "data/layouts/SecretBase_Shrub3/layout.inc"
- .include "data/layouts/SecretBase_RedCave4/layout.inc"
- .include "data/layouts/SecretBase_BrownCave4/layout.inc"
- .include "data/layouts/SecretBase_BlueCave4/layout.inc"
- .include "data/layouts/SecretBase_YellowCave4/layout.inc"
- .include "data/layouts/SecretBase_Tree4/layout.inc"
- .include "data/layouts/SecretBase_Shrub4/layout.inc"
- .include "data/layouts/SingleBattleColosseum/layout.inc"
- .include "data/layouts/TradeCenter/layout.inc"
- .include "data/layouts/RecordCorner/layout.inc"
- .include "data/layouts/DoubleBattleColosseum/layout.inc"
- .include "data/layouts/LinkContestRoom1/layout.inc"
- .include "data/layouts/UnknownMap_25_29/layout.inc"
- .include "data/layouts/UnknownMap_25_30/layout.inc"
- .include "data/layouts/UnknownMap_25_31/layout.inc"
- .include "data/layouts/UnknownMap_25_32/layout.inc"
- .include "data/layouts/UnknownMap_25_33/layout.inc"
- .include "data/layouts/UnknownMap_25_34/layout.inc"
- .include "data/layouts/LinkContestRoom2/layout.inc"
- .include "data/layouts/LinkContestRoom3/layout.inc"
- .include "data/layouts/LinkContestRoom4/layout.inc"
- .include "data/layouts/LinkContestRoom5/layout.inc"
- .include "data/layouts/LinkContestRoom6/layout.inc"
- .include "data/layouts/InsideOfTruck/layout.inc"
- .include "data/layouts/SafariZone_Northwest/layout.inc"
- .include "data/layouts/SafariZone_Northeast/layout.inc"
- .include "data/layouts/SafariZone_Southwest/layout.inc"
- .include "data/layouts/SafariZone_Southeast/layout.inc"
- .include "data/layouts/UnknownMap_082EDF30/layout.inc"
- .include "data/layouts/Route109_SeashoreHouse/layout.inc"
- .include "data/layouts/Route110_TrickHouseEntrance/layout.inc"
- .include "data/layouts/Route110_TrickHouseEnd/layout.inc"
- .include "data/layouts/Route110_TrickHouseCorridor/layout.inc"
- .include "data/layouts/Route110_TrickHousePuzzle1/layout.inc"
- .include "data/layouts/Route110_TrickHousePuzzle2/layout.inc"
- .include "data/layouts/Route110_TrickHousePuzzle3/layout.inc"
- .include "data/layouts/Route110_TrickHousePuzzle4/layout.inc"
- .include "data/layouts/Route110_TrickHousePuzzle5/layout.inc"
- .include "data/layouts/Route110_TrickHousePuzzle6/layout.inc"
- .include "data/layouts/Route110_TrickHousePuzzle7/layout.inc"
- .include "data/layouts/Route110_TrickHousePuzzle8/layout.inc"
- .include "data/layouts/FortreeCity_DecorationShop/layout.inc"
- .include "data/layouts/Route110_SeasideCyclingRoadEntrace/layout.inc"
- .include "data/layouts/LilycoveCity_DepartmentStore_1F/layout.inc"
- .include "data/layouts/LilycoveCity_DepartmentStore_2F/layout.inc"
- .include "data/layouts/LilycoveCity_DepartmentStore_3F/layout.inc"
- .include "data/layouts/LilycoveCity_DepartmentStore_4F/layout.inc"
- .include "data/layouts/LilycoveCity_DepartmentStore_5F/layout.inc"
- .include "data/layouts/LilycoveCity_DepartmentStoreRooftop/layout.inc"
- .include "data/layouts/Route130/layout.inc"
- .include "data/layouts/BattleTower_Lobby/layout.inc"
- .include "data/layouts/BattleTower_Outside/layout.inc"
- .include "data/layouts/BattleTower_Elevator/layout.inc"
- .include "data/layouts/BattleTower_Corridor/layout.inc"
- .include "data/layouts/BattleTower_BattleRoom/layout.inc"
- .include "data/layouts/RustboroCity_DevonCorp_3F/layout.inc"
- .include "data/layouts/EverGrandeCity_PokemonLeague/layout.inc"
- .include "data/layouts/Route119_WeatherInstitute_1F/layout.inc"
- .include "data/layouts/Route119_WeatherInstitute_2F/layout.inc"
- .include "data/layouts/LilycoveCity_DepartmentStoreElevator/layout.inc"
- .include "data/layouts/Underwater1/layout.inc"
- .include "data/layouts/MossdeepCity_SpaceCenter_1F/layout.inc"
- .include "data/layouts/MossdeepCity_SpaceCenter_2F/layout.inc"
- .include "data/layouts/SSTidalCorridor/layout.inc"
- .include "data/layouts/SSTidalLowerDeck/layout.inc"
- .include "data/layouts/SSTidalRooms/layout.inc"
- .include "data/layouts/IslandCave/layout.inc"
- .include "data/layouts/AncientTomb/layout.inc"
- .include "data/layouts/Underwater_Route134/layout.inc"
- .include "data/layouts/Underwater_SealedChamber/layout.inc"
- .include "data/layouts/SealedChamber_OuterRoom/layout.inc"
- .include "data/layouts/VictoryRoad_B1F/layout.inc"
- .include "data/layouts/VictoryRoad_B2F/layout.inc"
- .include "data/layouts/Route104_Prototype/layout.inc"
- .include "data/layouts/GraniteCave_StevensRoom/layout.inc"
- .include "data/layouts/AbandonedShip_HiddenFloorCorridors/layout.inc"
- .include "data/layouts/SouthernIsland_Exterior/layout.inc"
- .include "data/layouts/SouthernIsland_Interior/layout.inc"
- .include "data/layouts/JaggedPass/layout.inc"
- .include "data/layouts/FieryPath/layout.inc"
- .include "data/layouts/RustboroCity_Flat2_1F/layout.inc"
- .include "data/layouts/RustboroCity_Flat2_2F/layout.inc"
- .include "data/layouts/RustboroCity_Flat2_3F/layout.inc"
- .include "data/layouts/SootopolisCity_House8/layout.inc"
- .include "data/layouts/EverGrandeCity_HallOfFame/layout.inc"
- .include "data/layouts/LilycoveCity_CoveLilyMotel_1F/layout.inc"
- .include "data/layouts/LilycoveCity_CoveLilyMotel_2F/layout.inc"
- .include "data/layouts/Route124_DivingTreasureHuntersHouse/layout.inc"
- .include "data/layouts/MtPyre_Exterior/layout.inc"
- .include "data/layouts/MtPyre_Summit/layout.inc"
- .include "data/layouts/SealedChamber_InnerRoom/layout.inc"
- .include "data/layouts/MossdeepCity_GameCorner_1F/layout.inc"
- .include "data/layouts/MossdeepCity_GameCorner_B1F/layout.inc"
- .include "data/layouts/SootopolisCity_House1/layout.inc"
- .include "data/layouts/SootopolisCity_House2/layout.inc"
- .include "data/layouts/SootopolisCity_House3/layout.inc"
- .include "data/layouts/AbandonedShip_HiddenFloorRooms/layout.inc"
- .include "data/layouts/ScorchedSlab/layout.inc"
- .include "data/layouts/UnknownMap_082FF894/layout.inc"
- .include "data/layouts/RustboroCity_Flat1_1F/layout.inc"
- .include "data/layouts/RustboroCity_Flat1_2F/layout.inc"
- .include "data/layouts/EverGrandeCity_Corridor4/layout.inc"
- .include "data/layouts/MagmaHideout_1F/layout.inc"
- .include "data/layouts/MagmaHideout_B1F/layout.inc"
- .include "data/layouts/MagmaHideout_B2F/layout.inc"
- .include "data/layouts/UnknownMap_08302970/layout.inc"
- .include "data/layouts/SkyPillar_Entrance/layout.inc"
- .include "data/layouts/SkyPillar_Outside/layout.inc"
- .include "data/layouts/SkyPillar_1F/layout.inc"
- .include "data/layouts/SkyPillar_2F/layout.inc"
- .include "data/layouts/SkyPillar_3F/layout.inc"
- .include "data/layouts/SkyPillar_4F/layout.inc"
- .include "data/layouts/UnknownMap_083041B4/layout.inc"
- .include "data/layouts/MossdeepCity_StevensHouse/layout.inc"
- .include "data/layouts/ShoalCave_LowTideIceRoom/layout.inc"
- .include "data/layouts/SafariZone_RestHouse/layout.inc"
- .include "data/layouts/SkyPillar_5F/layout.inc"
- .include "data/layouts/SkyPillar_Top/layout.inc"
diff --git a/data/layouts/.gitignore b/data/layouts/.gitignore
new file mode 100755
index 000000000..eaa83a6f1
--- /dev/null
+++ b/data/layouts/.gitignore
@@ -0,0 +1,2 @@
+layouts.inc
+layouts_table.inc
diff --git a/data/layouts/AbandonedShip_CaptainsOffice/layout.inc b/data/layouts/AbandonedShip_CaptainsOffice/layout.inc
deleted file mode 100644
index a274ac523..000000000
--- a/data/layouts/AbandonedShip_CaptainsOffice/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-AbandonedShip_CaptainsOffice_MapBorder:: @ 82E74D0
- .incbin "data/layouts/AbandonedShip_CaptainsOffice/border.bin"
-
-AbandonedShip_CaptainsOffice_MapBlockdata:: @ 82E74D8
- .incbin "data/layouts/AbandonedShip_CaptainsOffice/map.bin"
-
- .align 2
-AbandonedShip_CaptainsOffice_Layout:: @ 82E7558
- .4byte 0x9
- .4byte 0x7
- .4byte AbandonedShip_CaptainsOffice_MapBorder
- .4byte AbandonedShip_CaptainsOffice_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Facility
diff --git a/data/layouts/AbandonedShip_Corridors_1F/layout.inc b/data/layouts/AbandonedShip_Corridors_1F/layout.inc
deleted file mode 100644
index 24d3eea96..000000000
--- a/data/layouts/AbandonedShip_Corridors_1F/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-AbandonedShip_Corridors_1F_MapBorder:: @ 82E69A4
- .incbin "data/layouts/AbandonedShip_Corridors_1F/border.bin"
-
-AbandonedShip_Corridors_1F_MapBlockdata:: @ 82E69AC
- .incbin "data/layouts/AbandonedShip_Corridors_1F/map.bin"
-
- .align 2
-AbandonedShip_Corridors_1F_Layout:: @ 82E6B5C
- .4byte 0x12
- .4byte 0xc
- .4byte AbandonedShip_Corridors_1F_MapBorder
- .4byte AbandonedShip_Corridors_1F_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Ship
diff --git a/data/layouts/AbandonedShip_Corridors_B1F/layout.inc b/data/layouts/AbandonedShip_Corridors_B1F/layout.inc
deleted file mode 100644
index 5e8c95959..000000000
--- a/data/layouts/AbandonedShip_Corridors_B1F/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-AbandonedShip_Corridors_B1F_MapBorder:: @ 82E6DF8
- .incbin "data/layouts/AbandonedShip_Corridors_B1F/border.bin"
-
-AbandonedShip_Corridors_B1F_MapBlockdata:: @ 82E6E00
- .incbin "data/layouts/AbandonedShip_Corridors_B1F/map.bin"
-
- .align 2
-AbandonedShip_Corridors_B1F_Layout:: @ 82E6F04
- .4byte 0xd
- .4byte 0xa
- .4byte AbandonedShip_Corridors_B1F_MapBorder
- .4byte AbandonedShip_Corridors_B1F_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Ship
diff --git a/data/layouts/AbandonedShip_Deck/layout.inc b/data/layouts/AbandonedShip_Deck/layout.inc
deleted file mode 100644
index abd9a205a..000000000
--- a/data/layouts/AbandonedShip_Deck/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-AbandonedShip_Deck_MapBorder:: @ 82E65BC
- .incbin "data/layouts/AbandonedShip_Deck/border.bin"
-
-AbandonedShip_Deck_MapBlockdata:: @ 82E65C4
- .incbin "data/layouts/AbandonedShip_Deck/map.bin"
-
- .align 2
-AbandonedShip_Deck_Layout:: @ 82E698C
- .4byte 0x17
- .4byte 0x15
- .4byte AbandonedShip_Deck_MapBorder
- .4byte AbandonedShip_Deck_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Facility
diff --git a/data/layouts/AbandonedShip_HiddenFloorCorridors/layout.inc b/data/layouts/AbandonedShip_HiddenFloorCorridors/layout.inc
deleted file mode 100644
index afc4d6a17..000000000
--- a/data/layouts/AbandonedShip_HiddenFloorCorridors/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-AbandonedShip_HiddenFloorCorridors_MapBorder:: @ 82F9C40
- .incbin "data/layouts/AbandonedShip_HiddenFloorCorridors/border.bin"
-
-AbandonedShip_HiddenFloorCorridors_MapBlockdata:: @ 82F9C48
- .incbin "data/layouts/AbandonedShip_HiddenFloorCorridors/map.bin"
-
- .align 2
-AbandonedShip_HiddenFloorCorridors_Layout:: @ 82F9D68
- .4byte 0xd
- .4byte 0xb
- .4byte AbandonedShip_HiddenFloorCorridors_MapBorder
- .4byte AbandonedShip_HiddenFloorCorridors_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Ship
diff --git a/data/layouts/AbandonedShip_HiddenFloorRooms/layout.inc b/data/layouts/AbandonedShip_HiddenFloorRooms/layout.inc
deleted file mode 100644
index cea6993b2..000000000
--- a/data/layouts/AbandonedShip_HiddenFloorRooms/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-AbandonedShip_HiddenFloorRooms_MapBorder:: @ 82FEDF8
- .incbin "data/layouts/AbandonedShip_HiddenFloorRooms/border.bin"
-
-AbandonedShip_HiddenFloorRooms_MapBlockdata:: @ 82FEE00
- .incbin "data/layouts/AbandonedShip_HiddenFloorRooms/map.bin"
-
- .align 2
-AbandonedShip_HiddenFloorRooms_Layout:: @ 82FF328
- .4byte 0x2c
- .4byte 0xf
- .4byte AbandonedShip_HiddenFloorRooms_MapBorder
- .4byte AbandonedShip_HiddenFloorRooms_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Ship
diff --git a/data/layouts/AbandonedShip_Room_B1F/layout.inc b/data/layouts/AbandonedShip_Room_B1F/layout.inc
deleted file mode 100644
index 17341a15f..000000000
--- a/data/layouts/AbandonedShip_Room_B1F/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-AbandonedShip_Room_B1F_MapBorder:: @ 82E72CC
- .incbin "data/layouts/AbandonedShip_Room_B1F/border.bin"
-
-AbandonedShip_Room_B1F_MapBlockdata:: @ 82E72D4
- .incbin "data/layouts/AbandonedShip_Room_B1F/map.bin"
-
- .align 2
-AbandonedShip_Room_B1F_Layout:: @ 82E7364
- .4byte 0x9
- .4byte 0x8
- .4byte AbandonedShip_Room_B1F_MapBorder
- .4byte AbandonedShip_Room_B1F_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Ship
diff --git a/data/layouts/AbandonedShip_Rooms2_1F/layout.inc b/data/layouts/AbandonedShip_Rooms2_1F/layout.inc
deleted file mode 100644
index 52c4a4f2e..000000000
--- a/data/layouts/AbandonedShip_Rooms2_1F/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-AbandonedShip_Rooms2_1F_MapBorder:: @ 82E737C
- .incbin "data/layouts/AbandonedShip_Rooms2_1F/border.bin"
-
-AbandonedShip_Rooms2_1F_MapBlockdata:: @ 82E7384
- .incbin "data/layouts/AbandonedShip_Rooms2_1F/map.bin"
-
- .align 2
-AbandonedShip_Rooms2_1F_Layout:: @ 82E74B8
- .4byte 0x9
- .4byte 0x11
- .4byte AbandonedShip_Rooms2_1F_MapBorder
- .4byte AbandonedShip_Rooms2_1F_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Ship
diff --git a/data/layouts/AbandonedShip_Rooms2_B1F/layout.inc b/data/layouts/AbandonedShip_Rooms2_B1F/layout.inc
deleted file mode 100644
index b3c205318..000000000
--- a/data/layouts/AbandonedShip_Rooms2_B1F/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-AbandonedShip_Rooms2_B1F_MapBorder:: @ 82E70EC
- .incbin "data/layouts/AbandonedShip_Rooms2_B1F/border.bin"
-
-AbandonedShip_Rooms2_B1F_MapBlockdata:: @ 82E70F4
- .incbin "data/layouts/AbandonedShip_Rooms2_B1F/map.bin"
-
- .align 2
-AbandonedShip_Rooms2_B1F_Layout:: @ 82E7214
- .4byte 0x12
- .4byte 0x8
- .4byte AbandonedShip_Rooms2_B1F_MapBorder
- .4byte AbandonedShip_Rooms2_B1F_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Ship
diff --git a/data/layouts/AbandonedShip_Rooms_1F/layout.inc b/data/layouts/AbandonedShip_Rooms_1F/layout.inc
deleted file mode 100644
index 7563bfbba..000000000
--- a/data/layouts/AbandonedShip_Rooms_1F/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-AbandonedShip_Rooms_1F_MapBorder:: @ 82E6B74
- .incbin "data/layouts/AbandonedShip_Rooms_1F/border.bin"
-
-AbandonedShip_Rooms_1F_MapBlockdata:: @ 82E6B7C
- .incbin "data/layouts/AbandonedShip_Rooms_1F/map.bin"
-
- .align 2
-AbandonedShip_Rooms_1F_Layout:: @ 82E6DE0
- .4byte 0x12
- .4byte 0x11
- .4byte AbandonedShip_Rooms_1F_MapBorder
- .4byte AbandonedShip_Rooms_1F_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Ship
diff --git a/data/layouts/AbandonedShip_Rooms_B1F/layout.inc b/data/layouts/AbandonedShip_Rooms_B1F/layout.inc
deleted file mode 100644
index 89bd595c9..000000000
--- a/data/layouts/AbandonedShip_Rooms_B1F/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-AbandonedShip_Rooms_B1F_MapBorder:: @ 82E6F1C
- .incbin "data/layouts/AbandonedShip_Rooms_B1F/border.bin"
-
-AbandonedShip_Rooms_B1F_MapBlockdata:: @ 82E6F24
- .incbin "data/layouts/AbandonedShip_Rooms_B1F/map.bin"
-
- .align 2
-AbandonedShip_Rooms_B1F_Layout:: @ 82E70D4
- .4byte 0x1b
- .4byte 0x8
- .4byte AbandonedShip_Rooms_B1F_MapBorder
- .4byte AbandonedShip_Rooms_B1F_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Ship
diff --git a/data/layouts/AbandonedShip_Underwater1/layout.inc b/data/layouts/AbandonedShip_Underwater1/layout.inc
deleted file mode 100644
index d738f437d..000000000
--- a/data/layouts/AbandonedShip_Underwater1/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-AbandonedShip_Underwater1_MapBorder:: @ 82E722C
- .incbin "data/layouts/AbandonedShip_Underwater1/border.bin"
-
-AbandonedShip_Underwater1_MapBlockdata:: @ 82E7234
- .incbin "data/layouts/AbandonedShip_Underwater1/map.bin"
-
- .align 2
-AbandonedShip_Underwater1_Layout:: @ 82E72B4
- .4byte 0x8
- .4byte 0x8
- .4byte AbandonedShip_Underwater1_MapBorder
- .4byte AbandonedShip_Underwater1_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Ship
diff --git a/data/layouts/AbandonedShip_Underwater2/layout.inc b/data/layouts/AbandonedShip_Underwater2/layout.inc
deleted file mode 100644
index 86dad6567..000000000
--- a/data/layouts/AbandonedShip_Underwater2/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-AbandonedShip_Underwater2_MapBorder:: @ 82E7570
- .incbin "data/layouts/AbandonedShip_Underwater2/border.bin"
-
-AbandonedShip_Underwater2_MapBlockdata:: @ 82E7578
- .incbin "data/layouts/AbandonedShip_Underwater2/map.bin"
-
- .align 2
-AbandonedShip_Underwater2_Layout:: @ 82E76A0
- .4byte 0x15
- .4byte 0x7
- .4byte AbandonedShip_Underwater2_MapBorder
- .4byte AbandonedShip_Underwater2_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Ship
diff --git a/data/layouts/AncientTomb/layout.inc b/data/layouts/AncientTomb/layout.inc
deleted file mode 100644
index da28d0642..000000000
--- a/data/layouts/AncientTomb/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-AncientTomb_MapBorder:: @ 82F717C
- .incbin "data/layouts/AncientTomb/border.bin"
-
-AncientTomb_MapBlockdata:: @ 82F7184
- .incbin "data/layouts/AncientTomb/map.bin"
-
- .align 2
-AncientTomb_Layout:: @ 82F75E8
- .4byte 0x11
- .4byte 0x21
- .4byte AncientTomb_MapBorder
- .4byte AncientTomb_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Cave
diff --git a/data/layouts/AquaHideout_1F/layout.inc b/data/layouts/AquaHideout_1F/layout.inc
deleted file mode 100644
index 74361e986..000000000
--- a/data/layouts/AquaHideout_1F/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-AquaHideout_1F_MapBorder:: @ 82DBBD4
- .incbin "data/layouts/AquaHideout_1F/border.bin"
-
-AquaHideout_1F_MapBlockdata:: @ 82DBBDC
- .incbin "data/layouts/AquaHideout_1F/map.bin"
-
- .align 2
-AquaHideout_1F_Layout:: @ 82DC26C
- .4byte 0x1c
- .4byte 0x1e
- .4byte AquaHideout_1F_MapBorder
- .4byte AquaHideout_1F_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Facility
diff --git a/data/layouts/AquaHideout_B1F/layout.inc b/data/layouts/AquaHideout_B1F/layout.inc
deleted file mode 100644
index 451148de4..000000000
--- a/data/layouts/AquaHideout_B1F/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-AquaHideout_B1F_MapBorder:: @ 82DC284
- .incbin "data/layouts/AquaHideout_B1F/border.bin"
-
-AquaHideout_B1F_MapBlockdata:: @ 82DC28C
- .incbin "data/layouts/AquaHideout_B1F/map.bin"
-
- .align 2
-AquaHideout_B1F_Layout:: @ 82DCC1C
- .4byte 0x33
- .4byte 0x18
- .4byte AquaHideout_B1F_MapBorder
- .4byte AquaHideout_B1F_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Facility
diff --git a/data/layouts/AquaHideout_B2F/layout.inc b/data/layouts/AquaHideout_B2F/layout.inc
deleted file mode 100644
index 860cc1790..000000000
--- a/data/layouts/AquaHideout_B2F/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-AquaHideout_B2F_MapBorder:: @ 82DCC34
- .incbin "data/layouts/AquaHideout_B2F/border.bin"
-
-AquaHideout_B2F_MapBlockdata:: @ 82DCC3C
- .incbin "data/layouts/AquaHideout_B2F/map.bin"
-
- .align 2
-AquaHideout_B2F_Layout:: @ 82DD29C
- .4byte 0x22
- .4byte 0x18
- .4byte AquaHideout_B2F_MapBorder
- .4byte AquaHideout_B2F_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Facility
diff --git a/data/layouts/BattleTower_BattleRoom/layout.inc b/data/layouts/BattleTower_BattleRoom/layout.inc
deleted file mode 100644
index 7003c0bc3..000000000
--- a/data/layouts/BattleTower_BattleRoom/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-BattleTower_BattleRoom_MapBorder:: @ 82F2694
- .incbin "data/layouts/BattleTower_BattleRoom/border.bin"
-
-BattleTower_BattleRoom_MapBlockdata:: @ 82F269C
- .incbin "data/layouts/BattleTower_BattleRoom/map.bin"
-
- .align 2
-BattleTower_BattleRoom_Layout:: @ 82F2750
- .4byte 0xa
- .4byte 0x9
- .4byte BattleTower_BattleRoom_MapBorder
- .4byte BattleTower_BattleRoom_MapBlockdata
- .4byte gTileset_Building
- .4byte gTileset_BattleTower
diff --git a/data/layouts/BattleTower_Corridor/layout.inc b/data/layouts/BattleTower_Corridor/layout.inc
deleted file mode 100644
index 9932107ef..000000000
--- a/data/layouts/BattleTower_Corridor/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-BattleTower_Corridor_MapBorder:: @ 82F25C8
- .incbin "data/layouts/BattleTower_Corridor/border.bin"
-
-BattleTower_Corridor_MapBlockdata:: @ 82F25D0
- .incbin "data/layouts/BattleTower_Corridor/map.bin"
-
- .align 2
-BattleTower_Corridor_Layout:: @ 82F267C
- .4byte 0x11
- .4byte 0x5
- .4byte BattleTower_Corridor_MapBorder
- .4byte BattleTower_Corridor_MapBlockdata
- .4byte gTileset_Building
- .4byte gTileset_BattleTower
diff --git a/data/layouts/BattleTower_Elevator/layout.inc b/data/layouts/BattleTower_Elevator/layout.inc
deleted file mode 100644
index 6246ce767..000000000
--- a/data/layouts/BattleTower_Elevator/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-BattleTower_Elevator_MapBorder:: @ 82F2570
- .incbin "data/layouts/BattleTower_Elevator/border.bin"
-
-BattleTower_Elevator_MapBlockdata:: @ 82F2578
- .incbin "data/layouts/BattleTower_Elevator/map.bin"
-
- .align 2
-BattleTower_Elevator_Layout:: @ 82F25B0
- .4byte 0x4
- .4byte 0x7
- .4byte BattleTower_Elevator_MapBorder
- .4byte BattleTower_Elevator_MapBlockdata
- .4byte gTileset_Building
- .4byte gTileset_BattleTower
diff --git a/data/layouts/BattleTower_Lobby/layout.inc b/data/layouts/BattleTower_Lobby/layout.inc
deleted file mode 100644
index b330b3c72..000000000
--- a/data/layouts/BattleTower_Lobby/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-BattleTower_Lobby_MapBorder:: @ 82F1D68
- .incbin "data/layouts/BattleTower_Lobby/border.bin"
-
-BattleTower_Lobby_MapBlockdata:: @ 82F1D70
- .incbin "data/layouts/BattleTower_Lobby/map.bin"
-
- .align 2
-BattleTower_Lobby_Layout:: @ 82F1E6C
- .4byte 0xe
- .4byte 0x9
- .4byte BattleTower_Lobby_MapBorder
- .4byte BattleTower_Lobby_MapBlockdata
- .4byte gTileset_Building
- .4byte gTileset_BattleTower
diff --git a/data/layouts/BattleTower_Outside/layout.inc b/data/layouts/BattleTower_Outside/layout.inc
deleted file mode 100644
index f260dd98f..000000000
--- a/data/layouts/BattleTower_Outside/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-BattleTower_Outside_MapBorder:: @ 82F1E84
- .incbin "data/layouts/BattleTower_Outside/border.bin"
-
-BattleTower_Outside_MapBlockdata:: @ 82F1E8C
- .incbin "data/layouts/BattleTower_Outside/map.bin"
-
- .align 2
-BattleTower_Outside_Layout:: @ 82F2558
- .4byte 0x1d
- .4byte 0x1e
- .4byte BattleTower_Outside_MapBorder
- .4byte BattleTower_Outside_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Dewford
diff --git a/data/layouts/CableCarStation/layout.inc b/data/layouts/CableCarStation/layout.inc
deleted file mode 100644
index c35f3739e..000000000
--- a/data/layouts/CableCarStation/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-CableCarStation_MapBorder:: @ 82D4CCC
- .incbin "data/layouts/CableCarStation/border.bin"
-
-CableCarStation_MapBlockdata:: @ 82D4CD4
- .incbin "data/layouts/CableCarStation/map.bin"
-
- .align 2
-CableCarStation_Layout:: @ 82D4E0C
- .4byte 0xd
- .4byte 0xc
- .4byte CableCarStation_MapBorder
- .4byte CableCarStation_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Facility
diff --git a/data/layouts/CaveOfOrigin_1F/layout.inc b/data/layouts/CaveOfOrigin_1F/layout.inc
deleted file mode 100644
index fd4e2ee77..000000000
--- a/data/layouts/CaveOfOrigin_1F/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-CaveOfOrigin_1F_MapBorder:: @ 82DFE0C
- .incbin "data/layouts/CaveOfOrigin_1F/border.bin"
-
-CaveOfOrigin_1F_MapBlockdata:: @ 82DFE14
- .incbin "data/layouts/CaveOfOrigin_1F/map.bin"
-
- .align 2
-CaveOfOrigin_1F_Layout:: @ 82E0238
- .4byte 0x17
- .4byte 0x17
- .4byte CaveOfOrigin_1F_MapBorder
- .4byte CaveOfOrigin_1F_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Cave
diff --git a/data/layouts/CaveOfOrigin_B1F/layout.inc b/data/layouts/CaveOfOrigin_B1F/layout.inc
deleted file mode 100644
index 3d9dc9cec..000000000
--- a/data/layouts/CaveOfOrigin_B1F/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-CaveOfOrigin_B1F_MapBorder:: @ 82E0250
- .incbin "data/layouts/CaveOfOrigin_B1F/border.bin"
-
-CaveOfOrigin_B1F_MapBlockdata:: @ 82E0258
- .incbin "data/layouts/CaveOfOrigin_B1F/map.bin"
-
- .align 2
-CaveOfOrigin_B1F_Layout:: @ 82E067C
- .4byte 0x17
- .4byte 0x17
- .4byte CaveOfOrigin_B1F_MapBorder
- .4byte CaveOfOrigin_B1F_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Cave
diff --git a/data/layouts/CaveOfOrigin_B2F/layout.inc b/data/layouts/CaveOfOrigin_B2F/layout.inc
deleted file mode 100644
index 403f393b8..000000000
--- a/data/layouts/CaveOfOrigin_B2F/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-CaveOfOrigin_B2F_MapBorder:: @ 82E0694
- .incbin "data/layouts/CaveOfOrigin_B2F/border.bin"
-
-CaveOfOrigin_B2F_MapBlockdata:: @ 82E069C
- .incbin "data/layouts/CaveOfOrigin_B2F/map.bin"
-
- .align 2
-CaveOfOrigin_B2F_Layout:: @ 82E0A10
- .4byte 0x15
- .4byte 0x15
- .4byte CaveOfOrigin_B2F_MapBorder
- .4byte CaveOfOrigin_B2F_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Cave
diff --git a/data/layouts/CaveOfOrigin_B3F/layout.inc b/data/layouts/CaveOfOrigin_B3F/layout.inc
deleted file mode 100644
index 797bc7569..000000000
--- a/data/layouts/CaveOfOrigin_B3F/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-CaveOfOrigin_B3F_MapBorder:: @ 82E0A28
- .incbin "data/layouts/CaveOfOrigin_B3F/border.bin"
-
-CaveOfOrigin_B3F_MapBlockdata:: @ 82E0A30
- .incbin "data/layouts/CaveOfOrigin_B3F/map.bin"
-
- .align 2
-CaveOfOrigin_B3F_Layout:: @ 82E0D50
- .4byte 0x13
- .4byte 0x15
- .4byte CaveOfOrigin_B3F_MapBorder
- .4byte CaveOfOrigin_B3F_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Cave
diff --git a/data/layouts/CaveOfOrigin_B4F/layout.inc b/data/layouts/CaveOfOrigin_B4F/layout.inc
deleted file mode 100644
index be6bc0bf6..000000000
--- a/data/layouts/CaveOfOrigin_B4F/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-CaveOfOrigin_B4F_MapBorder:: @ 82E0D68
- .incbin "data/layouts/CaveOfOrigin_B4F/border.bin"
-
-CaveOfOrigin_B4F_MapBlockdata:: @ 82E0D70
- .incbin "data/layouts/CaveOfOrigin_B4F/map.bin"
-
- .align 2
-CaveOfOrigin_B4F_Layout:: @ 82E1044
- .4byte 0x13
- .4byte 0x13
- .4byte CaveOfOrigin_B4F_MapBorder
- .4byte CaveOfOrigin_B4F_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Cave
diff --git a/data/layouts/CaveOfOrigin_Entrance/layout.inc b/data/layouts/CaveOfOrigin_Entrance/layout.inc
deleted file mode 100644
index 242a7b45a..000000000
--- a/data/layouts/CaveOfOrigin_Entrance/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-CaveOfOrigin_Entrance_MapBorder:: @ 82DFA10
- .incbin "data/layouts/CaveOfOrigin_Entrance/border.bin"
-
-CaveOfOrigin_Entrance_MapBlockdata:: @ 82DFA18
- .incbin "data/layouts/CaveOfOrigin_Entrance/map.bin"
-
- .align 2
-CaveOfOrigin_Entrance_Layout:: @ 82DFDF4
- .4byte 0x13
- .4byte 0x1a
- .4byte CaveOfOrigin_Entrance_MapBorder
- .4byte CaveOfOrigin_Entrance_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Cave
diff --git a/data/layouts/ContestHall/layout.inc b/data/layouts/ContestHall/layout.inc
deleted file mode 100644
index b108a3178..000000000
--- a/data/layouts/ContestHall/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-ContestHall_MapBorder:: @ 82CF1A4
- .incbin "data/layouts/ContestHall/border.bin"
-
-ContestHall_MapBlockdata:: @ 82CF1AC
- .incbin "data/layouts/ContestHall/map.bin"
-
- .align 2
-ContestHall_Layout:: @ 82CF4A0
- .4byte 0x15
- .4byte 0x12
- .4byte ContestHall_MapBorder
- .4byte ContestHall_MapBlockdata
- .4byte gTileset_Building
- .4byte gTileset_Contest
diff --git a/data/layouts/ContestLobby/layout.inc b/data/layouts/ContestLobby/layout.inc
deleted file mode 100644
index 975c86922..000000000
--- a/data/layouts/ContestLobby/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-ContestLobby_MapBorder:: @ 82CF0B0
- .incbin "data/layouts/ContestLobby/border.bin"
-
-ContestLobby_MapBlockdata:: @ 82CF0B8
- .incbin "data/layouts/ContestLobby/map.bin"
-
- .align 2
-ContestLobby_Layout:: @ 82CF18C
- .4byte 0xf
- .4byte 0x7
- .4byte ContestLobby_MapBorder
- .4byte ContestLobby_MapBlockdata
- .4byte gTileset_Building
- .4byte gTileset_Contest
diff --git a/data/layouts/DesertRuins/layout.inc b/data/layouts/DesertRuins/layout.inc
deleted file mode 100644
index 75de33542..000000000
--- a/data/layouts/DesertRuins/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-DesertRuins_MapBorder:: @ 82D7AEC
- .incbin "data/layouts/DesertRuins/border.bin"
-
-DesertRuins_MapBlockdata:: @ 82D7AF4
- .incbin "data/layouts/DesertRuins/map.bin"
-
- .align 2
-DesertRuins_Layout:: @ 82D7F58
- .4byte 0x11
- .4byte 0x21
- .4byte DesertRuins_MapBorder
- .4byte DesertRuins_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Cave
diff --git a/data/layouts/DewfordTown/layout.inc b/data/layouts/DewfordTown/layout.inc
deleted file mode 100644
index ddee6afbe..000000000
--- a/data/layouts/DewfordTown/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-DewfordTown_MapBorder:: @ 8291A2C
- .incbin "data/layouts/DewfordTown/border.bin"
-
-DewfordTown_MapBlockdata:: @ 8291A34
- .incbin "data/layouts/DewfordTown/map.bin"
-
- .align 2
-DewfordTown_Layout:: @ 8291D54
- .4byte 0x14
- .4byte 0x14
- .4byte DewfordTown_MapBorder
- .4byte DewfordTown_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Dewford
diff --git a/data/layouts/DewfordTown_Gym/layout.inc b/data/layouts/DewfordTown_Gym/layout.inc
deleted file mode 100644
index 517522216..000000000
--- a/data/layouts/DewfordTown_Gym/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-DewfordTown_Gym_MapBorder:: @ 82CE42C
- .incbin "data/layouts/DewfordTown_Gym/border.bin"
-
-DewfordTown_Gym_MapBlockdata:: @ 82CE434
- .incbin "data/layouts/DewfordTown_Gym/map.bin"
-
- .align 2
-DewfordTown_Gym_Layout:: @ 82CE824
- .4byte 0x12
- .4byte 0x1c
- .4byte DewfordTown_Gym_MapBorder
- .4byte DewfordTown_Gym_MapBlockdata
- .4byte gTileset_Building
- .4byte gTileset_DewfordGym
diff --git a/data/layouts/DewfordTown_Hall/layout.inc b/data/layouts/DewfordTown_Hall/layout.inc
deleted file mode 100644
index c1f232111..000000000
--- a/data/layouts/DewfordTown_Hall/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-DewfordTown_Hall_MapBorder:: @ 82CE83C
- .incbin "data/layouts/DewfordTown_Hall/border.bin"
-
-DewfordTown_Hall_MapBlockdata:: @ 82CE844
- .incbin "data/layouts/DewfordTown_Hall/map.bin"
-
- .align 2
-DewfordTown_Hall_Layout:: @ 82CE978
- .4byte 0x11
- .4byte 0x9
- .4byte DewfordTown_Hall_MapBorder
- .4byte DewfordTown_Hall_MapBlockdata
- .4byte gTileset_Building
- .4byte gTileset_GenericBuilding
diff --git a/data/layouts/DoubleBattleColosseum/layout.inc b/data/layouts/DoubleBattleColosseum/layout.inc
deleted file mode 100644
index 04dc2e303..000000000
--- a/data/layouts/DoubleBattleColosseum/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-DoubleBattleColosseum_MapBorder:: @ 82E9610
- .incbin "data/layouts/DoubleBattleColosseum/border.bin"
-
-DoubleBattleColosseum_MapBlockdata:: @ 82E9618
- .incbin "data/layouts/DoubleBattleColosseum/map.bin"
-
- .align 2
-DoubleBattleColosseum_Layout:: @ 82E9714
- .4byte 0xe
- .4byte 0x9
- .4byte DoubleBattleColosseum_MapBorder
- .4byte DoubleBattleColosseum_MapBlockdata
- .4byte gTileset_Building
- .4byte gTileset_CableClub
diff --git a/data/layouts/EverGrandeCity/layout.inc b/data/layouts/EverGrandeCity/layout.inc
deleted file mode 100644
index f8465ad0f..000000000
--- a/data/layouts/EverGrandeCity/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-EverGrandeCity_MapBorder:: @ 828FA8C
- .incbin "data/layouts/EverGrandeCity/border.bin"
-
-EverGrandeCity_MapBlockdata:: @ 828FA94
- .incbin "data/layouts/EverGrandeCity/map.bin"
-
- .align 2
-EverGrandeCity_Layout:: @ 8291394
- .4byte 0x28
- .4byte 0x50
- .4byte EverGrandeCity_MapBorder
- .4byte EverGrandeCity_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_EverGrande
diff --git a/data/layouts/EverGrandeCity_ChampionsRoom/layout.inc b/data/layouts/EverGrandeCity_ChampionsRoom/layout.inc
deleted file mode 100644
index befca0f66..000000000
--- a/data/layouts/EverGrandeCity_ChampionsRoom/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-EverGrandeCity_ChampionsRoom_MapBorder:: @ 82D48E8
- .incbin "data/layouts/EverGrandeCity_ChampionsRoom/border.bin"
-
-EverGrandeCity_ChampionsRoom_MapBlockdata:: @ 82D48F0
- .incbin "data/layouts/EverGrandeCity_ChampionsRoom/map.bin"
-
- .align 2
-EverGrandeCity_ChampionsRoom_Layout:: @ 82D4A44
- .4byte 0xd
- .4byte 0xd
- .4byte EverGrandeCity_ChampionsRoom_MapBorder
- .4byte EverGrandeCity_ChampionsRoom_MapBlockdata
- .4byte gTileset_Building
- .4byte gTileset_EliteFour
diff --git a/data/layouts/EverGrandeCity_Corridor4/layout.inc b/data/layouts/EverGrandeCity_Corridor4/layout.inc
deleted file mode 100644
index e21b1481d..000000000
--- a/data/layouts/EverGrandeCity_Corridor4/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-EverGrandeCity_Corridor4_MapBorder:: @ 82FFAAC
- .incbin "data/layouts/EverGrandeCity_Corridor4/border.bin"
-
-EverGrandeCity_Corridor4_MapBlockdata:: @ 82FFAB4
- .incbin "data/layouts/EverGrandeCity_Corridor4/map.bin"
-
- .align 2
-EverGrandeCity_Corridor4_Layout:: @ 82FFDA0
- .4byte 0xb
- .4byte 0x22
- .4byte EverGrandeCity_Corridor4_MapBorder
- .4byte EverGrandeCity_Corridor4_MapBlockdata
- .4byte gTileset_Building
- .4byte gTileset_EliteFour
diff --git a/data/layouts/EverGrandeCity_DrakesRoom/layout.inc b/data/layouts/EverGrandeCity_DrakesRoom/layout.inc
deleted file mode 100644
index aa7d4c7ee..000000000
--- a/data/layouts/EverGrandeCity_DrakesRoom/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-EverGrandeCity_DrakesRoom_MapBorder:: @ 82D475C
- .incbin "data/layouts/EverGrandeCity_DrakesRoom/border.bin"
-
-EverGrandeCity_DrakesRoom_MapBlockdata:: @ 82D4764
- .incbin "data/layouts/EverGrandeCity_DrakesRoom/map.bin"
-
- .align 2
-EverGrandeCity_DrakesRoom_Layout:: @ 82D48D0
- .4byte 0xd
- .4byte 0xe
- .4byte EverGrandeCity_DrakesRoom_MapBorder
- .4byte EverGrandeCity_DrakesRoom_MapBlockdata
- .4byte gTileset_Building
- .4byte gTileset_EliteFour
diff --git a/data/layouts/EverGrandeCity_GlaciasRoom/layout.inc b/data/layouts/EverGrandeCity_GlaciasRoom/layout.inc
deleted file mode 100644
index 9dbcba92e..000000000
--- a/data/layouts/EverGrandeCity_GlaciasRoom/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-EverGrandeCity_GlaciasRoom_MapBorder:: @ 82D45D0
- .incbin "data/layouts/EverGrandeCity_GlaciasRoom/border.bin"
-
-EverGrandeCity_GlaciasRoom_MapBlockdata:: @ 82D45D8
- .incbin "data/layouts/EverGrandeCity_GlaciasRoom/map.bin"
-
- .align 2
-EverGrandeCity_GlaciasRoom_Layout:: @ 82D4744
- .4byte 0xd
- .4byte 0xe
- .4byte EverGrandeCity_GlaciasRoom_MapBorder
- .4byte EverGrandeCity_GlaciasRoom_MapBlockdata
- .4byte gTileset_Building
- .4byte gTileset_EliteFour
diff --git a/data/layouts/EverGrandeCity_HallOfFame/layout.inc b/data/layouts/EverGrandeCity_HallOfFame/layout.inc
deleted file mode 100644
index fe6bfd983..000000000
--- a/data/layouts/EverGrandeCity_HallOfFame/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-EverGrandeCity_HallOfFame_MapBorder:: @ 82FC3DC
- .incbin "data/layouts/EverGrandeCity_HallOfFame/border.bin"
-
-EverGrandeCity_HallOfFame_MapBlockdata:: @ 82FC3E4
- .incbin "data/layouts/EverGrandeCity_HallOfFame/map.bin"
-
- .align 2
-EverGrandeCity_HallOfFame_Layout:: @ 82FC5E4
- .4byte 0xf
- .4byte 0x11
- .4byte EverGrandeCity_HallOfFame_MapBorder
- .4byte EverGrandeCity_HallOfFame_MapBlockdata
- .4byte gTileset_Building
- .4byte gTileset_CableClub
diff --git a/data/layouts/EverGrandeCity_PhoebesRoom/layout.inc b/data/layouts/EverGrandeCity_PhoebesRoom/layout.inc
deleted file mode 100644
index 0757ef56c..000000000
--- a/data/layouts/EverGrandeCity_PhoebesRoom/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-EverGrandeCity_PhoebesRoom_MapBorder:: @ 82D4444
- .incbin "data/layouts/EverGrandeCity_PhoebesRoom/border.bin"
-
-EverGrandeCity_PhoebesRoom_MapBlockdata:: @ 82D444C
- .incbin "data/layouts/EverGrandeCity_PhoebesRoom/map.bin"
-
- .align 2
-EverGrandeCity_PhoebesRoom_Layout:: @ 82D45B8
- .4byte 0xd
- .4byte 0xe
- .4byte EverGrandeCity_PhoebesRoom_MapBorder
- .4byte EverGrandeCity_PhoebesRoom_MapBlockdata
- .4byte gTileset_Building
- .4byte gTileset_EliteFour
diff --git a/data/layouts/EverGrandeCity_PokemonLeague/layout.inc b/data/layouts/EverGrandeCity_PokemonLeague/layout.inc
deleted file mode 100644
index 268f4df65..000000000
--- a/data/layouts/EverGrandeCity_PokemonLeague/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-EverGrandeCity_PokemonLeague_MapBorder:: @ 82F28E0
- .incbin "data/layouts/EverGrandeCity_PokemonLeague/border.bin"
-
-EverGrandeCity_PokemonLeague_MapBlockdata:: @ 82F28E8
- .incbin "data/layouts/EverGrandeCity_PokemonLeague/map.bin"
-
- .align 2
-EverGrandeCity_PokemonLeague_Layout:: @ 82F2AB0
- .4byte 0x13
- .4byte 0xc
- .4byte EverGrandeCity_PokemonLeague_MapBorder
- .4byte EverGrandeCity_PokemonLeague_MapBlockdata
- .4byte gTileset_Building
- .4byte gTileset_PokemonCenter
diff --git a/data/layouts/EverGrandeCity_ShortCorridor/layout.inc b/data/layouts/EverGrandeCity_ShortCorridor/layout.inc
deleted file mode 100644
index cd04f317b..000000000
--- a/data/layouts/EverGrandeCity_ShortCorridor/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-EverGrandeCity_ShortCorridor_MapBorder:: @ 82D4A5C
- .incbin "data/layouts/EverGrandeCity_ShortCorridor/border.bin"
-
-EverGrandeCity_ShortCorridor_MapBlockdata:: @ 82D4A64
- .incbin "data/layouts/EverGrandeCity_ShortCorridor/map.bin"
-
- .align 2
-EverGrandeCity_ShortCorridor_Layout:: @ 82D4B84
- .4byte 0xb
- .4byte 0xd
- .4byte EverGrandeCity_ShortCorridor_MapBorder
- .4byte EverGrandeCity_ShortCorridor_MapBlockdata
- .4byte gTileset_Building
- .4byte gTileset_EliteFour
diff --git a/data/layouts/EverGrandeCity_SidneysRoom/layout.inc b/data/layouts/EverGrandeCity_SidneysRoom/layout.inc
deleted file mode 100644
index 10905e89b..000000000
--- a/data/layouts/EverGrandeCity_SidneysRoom/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-EverGrandeCity_SidneysRoom_MapBorder:: @ 82D42B8
- .incbin "data/layouts/EverGrandeCity_SidneysRoom/border.bin"
-
-EverGrandeCity_SidneysRoom_MapBlockdata:: @ 82D42C0
- .incbin "data/layouts/EverGrandeCity_SidneysRoom/map.bin"
-
- .align 2
-EverGrandeCity_SidneysRoom_Layout:: @ 82D442C
- .4byte 0xd
- .4byte 0xe
- .4byte EverGrandeCity_SidneysRoom_MapBorder
- .4byte EverGrandeCity_SidneysRoom_MapBlockdata
- .4byte gTileset_Building
- .4byte gTileset_EliteFour
diff --git a/data/layouts/FallarborTown/layout.inc b/data/layouts/FallarborTown/layout.inc
deleted file mode 100644
index d8e51258c..000000000
--- a/data/layouts/FallarborTown/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-FallarborTown_MapBorder:: @ 82920AC
- .incbin "data/layouts/FallarborTown/border.bin"
-
-FallarborTown_MapBlockdata:: @ 82920B4
- .incbin "data/layouts/FallarborTown/map.bin"
-
- .align 2
-FallarborTown_Layout:: @ 82923D4
- .4byte 0x14
- .4byte 0x14
- .4byte FallarborTown_MapBorder
- .4byte FallarborTown_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Fallarbor
diff --git a/data/layouts/FieryPath/layout.inc b/data/layouts/FieryPath/layout.inc
deleted file mode 100644
index 5e5e77404..000000000
--- a/data/layouts/FieryPath/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-FieryPath_MapBorder:: @ 82FB574
- .incbin "data/layouts/FieryPath/border.bin"
-
-FieryPath_MapBlockdata:: @ 82FB57C
- .incbin "data/layouts/FieryPath/map.bin"
-
- .align 2
-FieryPath_Layout:: @ 82FBFE0
- .4byte 0x23
- .4byte 0x26
- .4byte FieryPath_MapBorder
- .4byte FieryPath_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Lavaridge
diff --git a/data/layouts/FortreeCity/layout.inc b/data/layouts/FortreeCity/layout.inc
deleted file mode 100644
index 1e5bfcbd3..000000000
--- a/data/layouts/FortreeCity/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-FortreeCity_MapBorder:: @ 828A5AC
- .incbin "data/layouts/FortreeCity/border.bin"
-
-FortreeCity_MapBlockdata:: @ 828A5B4
- .incbin "data/layouts/FortreeCity/map.bin"
-
- .align 2
-FortreeCity_Layout:: @ 828ABF4
- .4byte 0x28
- .4byte 0x14
- .4byte FortreeCity_MapBorder
- .4byte FortreeCity_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Fortree
diff --git a/data/layouts/FortreeCity_DecorationShop/layout.inc b/data/layouts/FortreeCity_DecorationShop/layout.inc
deleted file mode 100644
index b6cc3eba2..000000000
--- a/data/layouts/FortreeCity_DecorationShop/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-FortreeCity_DecorationShop_MapBorder:: @ 82EFAE4
- .incbin "data/layouts/FortreeCity_DecorationShop/border.bin"
-
-FortreeCity_DecorationShop_MapBlockdata:: @ 82EFAEC
- .incbin "data/layouts/FortreeCity_DecorationShop/map.bin"
-
- .align 2
-FortreeCity_DecorationShop_Layout:: @ 82EFB4C
- .4byte 0x8
- .4byte 0x6
- .4byte FortreeCity_DecorationShop_MapBorder
- .4byte FortreeCity_DecorationShop_MapBlockdata
- .4byte gTileset_Building
- .4byte gTileset_GenericBuilding
diff --git a/data/layouts/FortreeCity_Gym/layout.inc b/data/layouts/FortreeCity_Gym/layout.inc
deleted file mode 100644
index 75c619802..000000000
--- a/data/layouts/FortreeCity_Gym/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-FortreeCity_Gym_MapBorder:: @ 82D1B54
- .incbin "data/layouts/FortreeCity_Gym/border.bin"
-
-FortreeCity_Gym_MapBlockdata:: @ 82D1B5C
- .incbin "data/layouts/FortreeCity_Gym/map.bin"
-
- .align 2
-FortreeCity_Gym_Layout:: @ 82D1F44
- .4byte 0x14
- .4byte 0x19
- .4byte FortreeCity_Gym_MapBorder
- .4byte FortreeCity_Gym_MapBlockdata
- .4byte gTileset_Building
- .4byte gTileset_FortreeGym
diff --git a/data/layouts/FortreeCity_House1/layout.inc b/data/layouts/FortreeCity_House1/layout.inc
deleted file mode 100644
index 0c604c064..000000000
--- a/data/layouts/FortreeCity_House1/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-FortreeCity_House1_MapBorder:: @ 82D1AD4
- .incbin "data/layouts/FortreeCity_House1/border.bin"
-
-FortreeCity_House1_MapBlockdata:: @ 82D1ADC
- .incbin "data/layouts/FortreeCity_House1/map.bin"
-
- .align 2
-FortreeCity_House1_Layout:: @ 82D1B3C
- .4byte 0x8
- .4byte 0x6
- .4byte FortreeCity_House1_MapBorder
- .4byte FortreeCity_House1_MapBlockdata
- .4byte gTileset_Building
- .4byte gTileset_GenericBuilding
diff --git a/data/layouts/FortreeCity_House2/layout.inc b/data/layouts/FortreeCity_House2/layout.inc
deleted file mode 100644
index 2ab8ee1c3..000000000
--- a/data/layouts/FortreeCity_House2/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-FortreeCity_House2_MapBorder:: @ 82D1F5C
- .incbin "data/layouts/FortreeCity_House2/border.bin"
-
-FortreeCity_House2_MapBlockdata:: @ 82D1F64
- .incbin "data/layouts/FortreeCity_House2/map.bin"
-
- .align 2
-FortreeCity_House2_Layout:: @ 82D1FC4
- .4byte 0x8
- .4byte 0x6
- .4byte FortreeCity_House2_MapBorder
- .4byte FortreeCity_House2_MapBlockdata
- .4byte gTileset_Building
- .4byte gTileset_GenericBuilding
diff --git a/data/layouts/GraniteCave_1F/layout.inc b/data/layouts/GraniteCave_1F/layout.inc
deleted file mode 100644
index a41a08112..000000000
--- a/data/layouts/GraniteCave_1F/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-GraniteCave_1F_MapBorder:: @ 82D7F70
- .incbin "data/layouts/GraniteCave_1F/border.bin"
-
-GraniteCave_1F_MapBlockdata:: @ 82D7F78
- .incbin "data/layouts/GraniteCave_1F/map.bin"
-
- .align 2
-GraniteCave_1F_Layout:: @ 82D8464
- .4byte 0x2a
- .4byte 0xf
- .4byte GraniteCave_1F_MapBorder
- .4byte GraniteCave_1F_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Cave
diff --git a/data/layouts/GraniteCave_B1F/layout.inc b/data/layouts/GraniteCave_B1F/layout.inc
deleted file mode 100644
index fed45feaa..000000000
--- a/data/layouts/GraniteCave_B1F/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-GraniteCave_B1F_MapBorder:: @ 82D847C
- .incbin "data/layouts/GraniteCave_B1F/border.bin"
-
-GraniteCave_B1F_MapBlockdata:: @ 82D8484
- .incbin "data/layouts/GraniteCave_B1F/map.bin"
-
- .align 2
-GraniteCave_B1F_Layout:: @ 82D8B04
- .4byte 0x20
- .4byte 0x1a
- .4byte GraniteCave_B1F_MapBorder
- .4byte GraniteCave_B1F_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Cave
diff --git a/data/layouts/GraniteCave_B2F/layout.inc b/data/layouts/GraniteCave_B2F/layout.inc
deleted file mode 100644
index 3ec6961df..000000000
--- a/data/layouts/GraniteCave_B2F/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-GraniteCave_B2F_MapBorder:: @ 82D8B1C
- .incbin "data/layouts/GraniteCave_B2F/border.bin"
-
-GraniteCave_B2F_MapBlockdata:: @ 82D8B24
- .incbin "data/layouts/GraniteCave_B2F/map.bin"
-
- .align 2
-GraniteCave_B2F_Layout:: @ 82D91A4
- .4byte 0x20
- .4byte 0x1a
- .4byte GraniteCave_B2F_MapBorder
- .4byte GraniteCave_B2F_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Cave
diff --git a/data/layouts/GraniteCave_StevensRoom/layout.inc b/data/layouts/GraniteCave_StevensRoom/layout.inc
deleted file mode 100644
index fc036e27e..000000000
--- a/data/layouts/GraniteCave_StevensRoom/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-GraniteCave_StevensRoom_MapBorder:: @ 82F9A7C
- .incbin "data/layouts/GraniteCave_StevensRoom/border.bin"
-
-GraniteCave_StevensRoom_MapBlockdata:: @ 82F9A84
- .incbin "data/layouts/GraniteCave_StevensRoom/map.bin"
-
- .align 2
-GraniteCave_StevensRoom_Layout:: @ 82F9C28
- .4byte 0xf
- .4byte 0xe
- .4byte GraniteCave_StevensRoom_MapBorder
- .4byte GraniteCave_StevensRoom_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Cave
diff --git a/data/layouts/Harbor/layout.inc b/data/layouts/Harbor/layout.inc
deleted file mode 100644
index 11d740254..000000000
--- a/data/layouts/Harbor/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-Harbor_MapBorder:: @ 82D0A78
- .incbin "data/layouts/Harbor/border.bin"
-
-Harbor_MapBlockdata:: @ 82D0A80
- .incbin "data/layouts/Harbor/map.bin"
-
- .align 2
-Harbor_Layout:: @ 82D0D50
- .4byte 0x18
- .4byte 0xf
- .4byte Harbor_MapBorder
- .4byte Harbor_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Facility
diff --git a/data/layouts/House1/layout.inc b/data/layouts/House1/layout.inc
deleted file mode 100644
index c92a5232f..000000000
--- a/data/layouts/House1/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-House1_MapBorder:: @ 82CDEC0
- .incbin "data/layouts/House1/border.bin"
-
-House1_MapBlockdata:: @ 82CDEC8
- .incbin "data/layouts/House1/map.bin"
-
- .align 2
-House1_Layout:: @ 82CDF7C
- .4byte 0xa
- .4byte 0x9
- .4byte House1_MapBorder
- .4byte House1_MapBlockdata
- .4byte gTileset_Building
- .4byte gTileset_GenericBuilding
diff --git a/data/layouts/House2/layout.inc b/data/layouts/House2/layout.inc
deleted file mode 100644
index fae098aa3..000000000
--- a/data/layouts/House2/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-House2_MapBorder:: @ 82CDF94
- .incbin "data/layouts/House2/border.bin"
-
-House2_MapBlockdata:: @ 82CDF9C
- .incbin "data/layouts/House2/map.bin"
-
- .align 2
-House2_Layout:: @ 82CE04C
- .4byte 0xb
- .4byte 0x8
- .4byte House2_MapBorder
- .4byte House2_MapBlockdata
- .4byte gTileset_Building
- .4byte gTileset_GenericBuilding
diff --git a/data/layouts/House3/layout.inc b/data/layouts/House3/layout.inc
deleted file mode 100644
index 3664d8849..000000000
--- a/data/layouts/House3/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-House3_MapBorder:: @ 82CE36C
- .incbin "data/layouts/House3/border.bin"
-
-House3_MapBlockdata:: @ 82CE374
- .incbin "data/layouts/House3/map.bin"
-
- .align 2
-House3_Layout:: @ 82CE414
- .4byte 0xa
- .4byte 0x8
- .4byte House3_MapBorder
- .4byte House3_MapBlockdata
- .4byte gTileset_Building
- .4byte gTileset_GenericBuilding
diff --git a/data/layouts/House4/layout.inc b/data/layouts/House4/layout.inc
deleted file mode 100644
index 35f609029..000000000
--- a/data/layouts/House4/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-House4_MapBorder:: @ 82CE990
- .incbin "data/layouts/House4/border.bin"
-
-House4_MapBlockdata:: @ 82CE998
- .incbin "data/layouts/House4/map.bin"
-
- .align 2
-House4_Layout:: @ 82CEA4C
- .4byte 0xa
- .4byte 0x9
- .4byte House4_MapBorder
- .4byte House4_MapBlockdata
- .4byte gTileset_Building
- .4byte gTileset_GenericBuilding
diff --git a/data/layouts/HouseWithBed/layout.inc b/data/layouts/HouseWithBed/layout.inc
deleted file mode 100644
index 6d732d4f7..000000000
--- a/data/layouts/HouseWithBed/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-HouseWithBed_MapBorder:: @ 82D0054
- .incbin "data/layouts/HouseWithBed/border.bin"
-
-HouseWithBed_MapBlockdata:: @ 82D005C
- .incbin "data/layouts/HouseWithBed/map.bin"
-
- .align 2
-HouseWithBed_Layout:: @ 82D00FC
- .4byte 0xa
- .4byte 0x8
- .4byte HouseWithBed_MapBorder
- .4byte HouseWithBed_MapBlockdata
- .4byte gTileset_Building
- .4byte gTileset_GenericBuilding
diff --git a/data/layouts/InsideOfTruck/layout.inc b/data/layouts/InsideOfTruck/layout.inc
deleted file mode 100644
index f32874b46..000000000
--- a/data/layouts/InsideOfTruck/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-InsideOfTruck_MapBorder:: @ 82EA08C
- .incbin "data/layouts/InsideOfTruck/border.bin"
-
-InsideOfTruck_MapBlockdata:: @ 82EA094
- .incbin "data/layouts/InsideOfTruck/map.bin"
-
- .align 2
-InsideOfTruck_Layout:: @ 82EA0C8
- .4byte 0x5
- .4byte 0x5
- .4byte InsideOfTruck_MapBorder
- .4byte InsideOfTruck_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_InsideOfTruck
diff --git a/data/layouts/IslandCave/layout.inc b/data/layouts/IslandCave/layout.inc
deleted file mode 100644
index 095996bc5..000000000
--- a/data/layouts/IslandCave/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-IslandCave_MapBorder:: @ 82F6CF8
- .incbin "data/layouts/IslandCave/border.bin"
-
-IslandCave_MapBlockdata:: @ 82F6D00
- .incbin "data/layouts/IslandCave/map.bin"
-
- .align 2
-IslandCave_Layout:: @ 82F7164
- .4byte 0x11
- .4byte 0x21
- .4byte IslandCave_MapBorder
- .4byte IslandCave_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Cave
diff --git a/data/layouts/JaggedPass/layout.inc b/data/layouts/JaggedPass/layout.inc
deleted file mode 100644
index 8679ed58d..000000000
--- a/data/layouts/JaggedPass/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-JaggedPass_MapBorder:: @ 82FAA8C
- .incbin "data/layouts/JaggedPass/border.bin"
-
-JaggedPass_MapBlockdata:: @ 82FAA94
- .incbin "data/layouts/JaggedPass/map.bin"
-
- .align 2
-JaggedPass_Layout:: @ 82FB55C
- .4byte 0x1e
- .4byte 0x2e
- .4byte JaggedPass_MapBorder
- .4byte JaggedPass_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Lavaridge
diff --git a/data/layouts/LavaridgeTown/layout.inc b/data/layouts/LavaridgeTown/layout.inc
deleted file mode 100644
index c75599acc..000000000
--- a/data/layouts/LavaridgeTown/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-LavaridgeTown_MapBorder:: @ 8291D6C
- .incbin "data/layouts/LavaridgeTown/border.bin"
-
-LavaridgeTown_MapBlockdata:: @ 8291D74
- .incbin "data/layouts/LavaridgeTown/map.bin"
-
- .align 2
-LavaridgeTown_Layout:: @ 8292094
- .4byte 0x14
- .4byte 0x14
- .4byte LavaridgeTown_MapBorder
- .4byte LavaridgeTown_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Lavaridge
diff --git a/data/layouts/LavaridgeTown_Gym_1F/layout.inc b/data/layouts/LavaridgeTown_Gym_1F/layout.inc
deleted file mode 100644
index 4ccf34bae..000000000
--- a/data/layouts/LavaridgeTown_Gym_1F/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-LavaridgeTown_Gym_1F_MapBorder:: @ 82CEB34
- .incbin "data/layouts/LavaridgeTown_Gym_1F/border.bin"
-
-LavaridgeTown_Gym_1F_MapBlockdata:: @ 82CEB3C
- .incbin "data/layouts/LavaridgeTown_Gym_1F/map.bin"
-
- .align 2
-LavaridgeTown_Gym_1F_Layout:: @ 82CED4C
- .4byte 0xb
- .4byte 0x18
- .4byte LavaridgeTown_Gym_1F_MapBorder
- .4byte LavaridgeTown_Gym_1F_MapBlockdata
- .4byte gTileset_Building
- .4byte gTileset_LavaridgeGym
diff --git a/data/layouts/LavaridgeTown_Gym_B1F/layout.inc b/data/layouts/LavaridgeTown_Gym_B1F/layout.inc
deleted file mode 100644
index 4439d7e16..000000000
--- a/data/layouts/LavaridgeTown_Gym_B1F/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-LavaridgeTown_Gym_B1F_MapBorder:: @ 82CED64
- .incbin "data/layouts/LavaridgeTown_Gym_B1F/border.bin"
-
-LavaridgeTown_Gym_B1F_MapBlockdata:: @ 82CED6C
- .incbin "data/layouts/LavaridgeTown_Gym_B1F/map.bin"
-
- .align 2
-LavaridgeTown_Gym_B1F_Layout:: @ 82CEF7C
- .4byte 0xb
- .4byte 0x18
- .4byte LavaridgeTown_Gym_B1F_MapBorder
- .4byte LavaridgeTown_Gym_B1F_MapBlockdata
- .4byte gTileset_Building
- .4byte gTileset_LavaridgeGym
diff --git a/data/layouts/LavaridgeTown_HerbShop/layout.inc b/data/layouts/LavaridgeTown_HerbShop/layout.inc
deleted file mode 100644
index e16d8d26e..000000000
--- a/data/layouts/LavaridgeTown_HerbShop/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-LavaridgeTown_HerbShop_MapBorder:: @ 82CEA64
- .incbin "data/layouts/LavaridgeTown_HerbShop/border.bin"
-
-LavaridgeTown_HerbShop_MapBlockdata:: @ 82CEA6C
- .incbin "data/layouts/LavaridgeTown_HerbShop/map.bin"
-
- .align 2
-LavaridgeTown_HerbShop_Layout:: @ 82CEB1C
- .4byte 0xb
- .4byte 0x8
- .4byte LavaridgeTown_HerbShop_MapBorder
- .4byte LavaridgeTown_HerbShop_MapBlockdata
- .4byte gTileset_Building
- .4byte gTileset_Shop
diff --git a/data/layouts/LavaridgeTown_PokemonCenter_1F/layout.inc b/data/layouts/LavaridgeTown_PokemonCenter_1F/layout.inc
deleted file mode 100644
index 878764cf4..000000000
--- a/data/layouts/LavaridgeTown_PokemonCenter_1F/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-LavaridgeTown_PokemonCenter_1F_MapBorder:: @ 82CEF94
- .incbin "data/layouts/LavaridgeTown_PokemonCenter_1F/border.bin"
-
-LavaridgeTown_PokemonCenter_1F_MapBlockdata:: @ 82CEF9C
- .incbin "data/layouts/LavaridgeTown_PokemonCenter_1F/map.bin"
-
- .align 2
-LavaridgeTown_PokemonCenter_1F_Layout:: @ 82CF098
- .4byte 0xe
- .4byte 0x9
- .4byte LavaridgeTown_PokemonCenter_1F_MapBorder
- .4byte LavaridgeTown_PokemonCenter_1F_MapBlockdata
- .4byte gTileset_Building
- .4byte gTileset_PokemonCenter
diff --git a/data/layouts/LilycoveCity/layout.inc b/data/layouts/LilycoveCity/layout.inc
deleted file mode 100644
index b9dd45070..000000000
--- a/data/layouts/LilycoveCity/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-LilycoveCity_MapBorder:: @ 828AC0C
- .incbin "data/layouts/LilycoveCity/border.bin"
-
-LilycoveCity_MapBlockdata:: @ 828AC14
- .incbin "data/layouts/LilycoveCity/map.bin"
-
- .align 2
-LilycoveCity_Layout:: @ 828C514
- .4byte 0x50
- .4byte 0x28
- .4byte LilycoveCity_MapBorder
- .4byte LilycoveCity_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Lilycove
diff --git a/data/layouts/LilycoveCity_ContestHall/layout.inc b/data/layouts/LilycoveCity_ContestHall/layout.inc
deleted file mode 100644
index 49b886534..000000000
--- a/data/layouts/LilycoveCity_ContestHall/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-LilycoveCity_ContestHall_MapBorder:: @ 82D27E4
- .incbin "data/layouts/LilycoveCity_ContestHall/border.bin"
-
-LilycoveCity_ContestHall_MapBlockdata:: @ 82D27EC
- .incbin "data/layouts/LilycoveCity_ContestHall/map.bin"
-
- .align 2
-LilycoveCity_ContestHall_Layout:: @ 82D3514
- .4byte 0x33
- .4byte 0x21
- .4byte LilycoveCity_ContestHall_MapBorder
- .4byte LilycoveCity_ContestHall_MapBlockdata
- .4byte gTileset_Building
- .4byte gTileset_Contest
diff --git a/data/layouts/LilycoveCity_ContestLobby/layout.inc b/data/layouts/LilycoveCity_ContestLobby/layout.inc
deleted file mode 100644
index 588aa758c..000000000
--- a/data/layouts/LilycoveCity_ContestLobby/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-LilycoveCity_ContestLobby_MapBorder:: @ 82D259C
- .incbin "data/layouts/LilycoveCity_ContestLobby/border.bin"
-
-LilycoveCity_ContestLobby_MapBlockdata:: @ 82D25A4
- .incbin "data/layouts/LilycoveCity_ContestLobby/map.bin"
-
- .align 2
-LilycoveCity_ContestLobby_Layout:: @ 82D27CC
- .4byte 0x17
- .4byte 0xc
- .4byte LilycoveCity_ContestLobby_MapBorder
- .4byte LilycoveCity_ContestLobby_MapBlockdata
- .4byte gTileset_Building
- .4byte gTileset_Contest
diff --git a/data/layouts/LilycoveCity_CoveLilyMotel_1F/layout.inc b/data/layouts/LilycoveCity_CoveLilyMotel_1F/layout.inc
deleted file mode 100644
index 6a995c0be..000000000
--- a/data/layouts/LilycoveCity_CoveLilyMotel_1F/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-LilycoveCity_CoveLilyMotel_1F_MapBorder:: @ 82FC5FC
- .incbin "data/layouts/LilycoveCity_CoveLilyMotel_1F/border.bin"
-
-LilycoveCity_CoveLilyMotel_1F_MapBlockdata:: @ 82FC604
- .incbin "data/layouts/LilycoveCity_CoveLilyMotel_1F/map.bin"
-
- .align 2
-LilycoveCity_CoveLilyMotel_1F_Layout:: @ 82FC6DC
- .4byte 0xc
- .4byte 0x9
- .4byte LilycoveCity_CoveLilyMotel_1F_MapBorder
- .4byte LilycoveCity_CoveLilyMotel_1F_MapBlockdata
- .4byte gTileset_Building
- .4byte gTileset_GenericBuilding
diff --git a/data/layouts/LilycoveCity_CoveLilyMotel_2F/layout.inc b/data/layouts/LilycoveCity_CoveLilyMotel_2F/layout.inc
deleted file mode 100644
index ba54855aa..000000000
--- a/data/layouts/LilycoveCity_CoveLilyMotel_2F/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-LilycoveCity_CoveLilyMotel_2F_MapBorder:: @ 82FC6F4
- .incbin "data/layouts/LilycoveCity_CoveLilyMotel_2F/border.bin"
-
-LilycoveCity_CoveLilyMotel_2F_MapBlockdata:: @ 82FC6FC
- .incbin "data/layouts/LilycoveCity_CoveLilyMotel_2F/map.bin"
-
- .align 2
-LilycoveCity_CoveLilyMotel_2F_Layout:: @ 82FC7D4
- .4byte 0xc
- .4byte 0x9
- .4byte LilycoveCity_CoveLilyMotel_2F_MapBorder
- .4byte LilycoveCity_CoveLilyMotel_2F_MapBlockdata
- .4byte gTileset_Building
- .4byte gTileset_GenericBuilding
diff --git a/data/layouts/LilycoveCity_DepartmentStoreElevator/layout.inc b/data/layouts/LilycoveCity_DepartmentStoreElevator/layout.inc
deleted file mode 100644
index 8e6e35fdf..000000000
--- a/data/layouts/LilycoveCity_DepartmentStoreElevator/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-LilycoveCity_DepartmentStoreElevator_MapBorder:: @ 82F2EC8
- .incbin "data/layouts/LilycoveCity_DepartmentStoreElevator/border.bin"
-
-LilycoveCity_DepartmentStoreElevator_MapBlockdata:: @ 82F2ED0
- .incbin "data/layouts/LilycoveCity_DepartmentStoreElevator/map.bin"
-
- .align 2
-LilycoveCity_DepartmentStoreElevator_Layout:: @ 82F2F00
- .4byte 0x4
- .4byte 0x6
- .4byte LilycoveCity_DepartmentStoreElevator_MapBorder
- .4byte LilycoveCity_DepartmentStoreElevator_MapBlockdata
- .4byte gTileset_Building
- .4byte gTileset_BattleTower
diff --git a/data/layouts/LilycoveCity_DepartmentStoreRooftop/layout.inc b/data/layouts/LilycoveCity_DepartmentStoreRooftop/layout.inc
deleted file mode 100644
index d72a2a96b..000000000
--- a/data/layouts/LilycoveCity_DepartmentStoreRooftop/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-LilycoveCity_DepartmentStoreRooftop_MapBorder:: @ 82F0278
- .incbin "data/layouts/LilycoveCity_DepartmentStoreRooftop/border.bin"
-
-LilycoveCity_DepartmentStoreRooftop_MapBlockdata:: @ 82F0280
- .incbin "data/layouts/LilycoveCity_DepartmentStoreRooftop/map.bin"
-
- .align 2
-LilycoveCity_DepartmentStoreRooftop_Layout:: @ 82F0430
- .4byte 0x12
- .4byte 0xc
- .4byte LilycoveCity_DepartmentStoreRooftop_MapBorder
- .4byte LilycoveCity_DepartmentStoreRooftop_MapBlockdata
- .4byte gTileset_Building
- .4byte gTileset_Shop
diff --git a/data/layouts/LilycoveCity_DepartmentStore_1F/layout.inc b/data/layouts/LilycoveCity_DepartmentStore_1F/layout.inc
deleted file mode 100644
index 146db41fb..000000000
--- a/data/layouts/LilycoveCity_DepartmentStore_1F/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-LilycoveCity_DepartmentStore_1F_MapBorder:: @ 82EFC38
- .incbin "data/layouts/LilycoveCity_DepartmentStore_1F/border.bin"
-
-LilycoveCity_DepartmentStore_1F_MapBlockdata:: @ 82EFC40
- .incbin "data/layouts/LilycoveCity_DepartmentStore_1F/map.bin"
-
- .align 2
-LilycoveCity_DepartmentStore_1F_Layout:: @ 82EFD60
- .4byte 0x12
- .4byte 0x8
- .4byte LilycoveCity_DepartmentStore_1F_MapBorder
- .4byte LilycoveCity_DepartmentStore_1F_MapBlockdata
- .4byte gTileset_Building
- .4byte gTileset_Shop
diff --git a/data/layouts/LilycoveCity_DepartmentStore_2F/layout.inc b/data/layouts/LilycoveCity_DepartmentStore_2F/layout.inc
deleted file mode 100644
index e1cd81700..000000000
--- a/data/layouts/LilycoveCity_DepartmentStore_2F/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-LilycoveCity_DepartmentStore_2F_MapBorder:: @ 82EFD78
- .incbin "data/layouts/LilycoveCity_DepartmentStore_2F/border.bin"
-
-LilycoveCity_DepartmentStore_2F_MapBlockdata:: @ 82EFD80
- .incbin "data/layouts/LilycoveCity_DepartmentStore_2F/map.bin"
-
- .align 2
-LilycoveCity_DepartmentStore_2F_Layout:: @ 82EFEA0
- .4byte 0x12
- .4byte 0x8
- .4byte LilycoveCity_DepartmentStore_2F_MapBorder
- .4byte LilycoveCity_DepartmentStore_2F_MapBlockdata
- .4byte gTileset_Building
- .4byte gTileset_Shop
diff --git a/data/layouts/LilycoveCity_DepartmentStore_3F/layout.inc b/data/layouts/LilycoveCity_DepartmentStore_3F/layout.inc
deleted file mode 100644
index c8f82faee..000000000
--- a/data/layouts/LilycoveCity_DepartmentStore_3F/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-LilycoveCity_DepartmentStore_3F_MapBorder:: @ 82EFEB8
- .incbin "data/layouts/LilycoveCity_DepartmentStore_3F/border.bin"
-
-LilycoveCity_DepartmentStore_3F_MapBlockdata:: @ 82EFEC0
- .incbin "data/layouts/LilycoveCity_DepartmentStore_3F/map.bin"
-
- .align 2
-LilycoveCity_DepartmentStore_3F_Layout:: @ 82EFFE0
- .4byte 0x12
- .4byte 0x8
- .4byte LilycoveCity_DepartmentStore_3F_MapBorder
- .4byte LilycoveCity_DepartmentStore_3F_MapBlockdata
- .4byte gTileset_Building
- .4byte gTileset_Shop
diff --git a/data/layouts/LilycoveCity_DepartmentStore_4F/layout.inc b/data/layouts/LilycoveCity_DepartmentStore_4F/layout.inc
deleted file mode 100644
index fbd10dea0..000000000
--- a/data/layouts/LilycoveCity_DepartmentStore_4F/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-LilycoveCity_DepartmentStore_4F_MapBorder:: @ 82EFFF8
- .incbin "data/layouts/LilycoveCity_DepartmentStore_4F/border.bin"
-
-LilycoveCity_DepartmentStore_4F_MapBlockdata:: @ 82F0000
- .incbin "data/layouts/LilycoveCity_DepartmentStore_4F/map.bin"
-
- .align 2
-LilycoveCity_DepartmentStore_4F_Layout:: @ 82F0120
- .4byte 0x12
- .4byte 0x8
- .4byte LilycoveCity_DepartmentStore_4F_MapBorder
- .4byte LilycoveCity_DepartmentStore_4F_MapBlockdata
- .4byte gTileset_Building
- .4byte gTileset_Shop
diff --git a/data/layouts/LilycoveCity_DepartmentStore_5F/layout.inc b/data/layouts/LilycoveCity_DepartmentStore_5F/layout.inc
deleted file mode 100644
index 877794bb7..000000000
--- a/data/layouts/LilycoveCity_DepartmentStore_5F/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-LilycoveCity_DepartmentStore_5F_MapBorder:: @ 82F0138
- .incbin "data/layouts/LilycoveCity_DepartmentStore_5F/border.bin"
-
-LilycoveCity_DepartmentStore_5F_MapBlockdata:: @ 82F0140
- .incbin "data/layouts/LilycoveCity_DepartmentStore_5F/map.bin"
-
- .align 2
-LilycoveCity_DepartmentStore_5F_Layout:: @ 82F0260
- .4byte 0x12
- .4byte 0x8
- .4byte LilycoveCity_DepartmentStore_5F_MapBorder
- .4byte LilycoveCity_DepartmentStore_5F_MapBlockdata
- .4byte gTileset_Building
- .4byte gTileset_Shop
diff --git a/data/layouts/LilycoveCity_EmptyMap/layout.inc b/data/layouts/LilycoveCity_EmptyMap/layout.inc
deleted file mode 100644
index 9006217c0..000000000
--- a/data/layouts/LilycoveCity_EmptyMap/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-LilycoveCity_EmptyMap_MapBorder:: @ 82D369C
- .incbin "data/layouts/LilycoveCity_EmptyMap/border.bin"
-
-LilycoveCity_EmptyMap_MapBlockdata:: @ 82D36A4
- .incbin "data/layouts/LilycoveCity_EmptyMap/map.bin"
-
- .align 2
-LilycoveCity_EmptyMap_Layout:: @ 82D36A8
- .4byte 0x1
- .4byte 0x1
- .4byte LilycoveCity_EmptyMap_MapBorder
- .4byte LilycoveCity_EmptyMap_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Facility
diff --git a/data/layouts/LilycoveCity_House2/layout.inc b/data/layouts/LilycoveCity_House2/layout.inc
deleted file mode 100644
index a5f900854..000000000
--- a/data/layouts/LilycoveCity_House2/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-LilycoveCity_House2_MapBorder:: @ 82CF4B8
- .incbin "data/layouts/LilycoveCity_House2/border.bin"
-
-LilycoveCity_House2_MapBlockdata:: @ 82CF4C0
- .incbin "data/layouts/LilycoveCity_House2/map.bin"
-
- .align 2
-LilycoveCity_House2_Layout:: @ 82CF540
- .4byte 0x8
- .4byte 0x8
- .4byte LilycoveCity_House2_MapBorder
- .4byte LilycoveCity_House2_MapBlockdata
- .4byte gTileset_Building
- .4byte gTileset_GenericBuilding
diff --git a/data/layouts/LilycoveCity_LilycoveMuseum_1F/layout.inc b/data/layouts/LilycoveCity_LilycoveMuseum_1F/layout.inc
deleted file mode 100644
index 57b9802da..000000000
--- a/data/layouts/LilycoveCity_LilycoveMuseum_1F/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-LilycoveCity_LilycoveMuseum_1F_MapBorder:: @ 82D20D4
- .incbin "data/layouts/LilycoveCity_LilycoveMuseum_1F/border.bin"
-
-LilycoveCity_LilycoveMuseum_1F_MapBlockdata:: @ 82D20DC
- .incbin "data/layouts/LilycoveCity_LilycoveMuseum_1F/map.bin"
-
- .align 2
-LilycoveCity_LilycoveMuseum_1F_Layout:: @ 82D2328
- .4byte 0x15
- .4byte 0xe
- .4byte LilycoveCity_LilycoveMuseum_1F_MapBorder
- .4byte LilycoveCity_LilycoveMuseum_1F_MapBlockdata
- .4byte gTileset_Building
- .4byte gTileset_LilycoveMuseum
diff --git a/data/layouts/LilycoveCity_LilycoveMuseum_2F/layout.inc b/data/layouts/LilycoveCity_LilycoveMuseum_2F/layout.inc
deleted file mode 100644
index 4e426f5f5..000000000
--- a/data/layouts/LilycoveCity_LilycoveMuseum_2F/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-LilycoveCity_LilycoveMuseum_2F_MapBorder:: @ 82D2340
- .incbin "data/layouts/LilycoveCity_LilycoveMuseum_2F/border.bin"
-
-LilycoveCity_LilycoveMuseum_2F_MapBlockdata:: @ 82D2348
- .incbin "data/layouts/LilycoveCity_LilycoveMuseum_2F/map.bin"
-
- .align 2
-LilycoveCity_LilycoveMuseum_2F_Layout:: @ 82D2584
- .4byte 0x16
- .4byte 0xd
- .4byte LilycoveCity_LilycoveMuseum_2F_MapBorder
- .4byte LilycoveCity_LilycoveMuseum_2F_MapBlockdata
- .4byte gTileset_Building
- .4byte gTileset_LilycoveMuseum
diff --git a/data/layouts/LilycoveCity_PokemonTrainerFanClub/layout.inc b/data/layouts/LilycoveCity_PokemonTrainerFanClub/layout.inc
deleted file mode 100644
index 4c93258ae..000000000
--- a/data/layouts/LilycoveCity_PokemonTrainerFanClub/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-LilycoveCity_PokemonTrainerFanClub_MapBorder:: @ 82D352C
- .incbin "data/layouts/LilycoveCity_PokemonTrainerFanClub/border.bin"
-
-LilycoveCity_PokemonTrainerFanClub_MapBlockdata:: @ 82D3534
- .incbin "data/layouts/LilycoveCity_PokemonTrainerFanClub/map.bin"
-
- .align 2
-LilycoveCity_PokemonTrainerFanClub_Layout:: @ 82D3684
- .4byte 0xc
- .4byte 0xe
- .4byte LilycoveCity_PokemonTrainerFanClub_MapBorder
- .4byte LilycoveCity_PokemonTrainerFanClub_MapBlockdata
- .4byte gTileset_Building
- .4byte gTileset_GenericBuilding
diff --git a/data/layouts/LinkContestRoom1/layout.inc b/data/layouts/LinkContestRoom1/layout.inc
deleted file mode 100644
index 1f71a862d..000000000
--- a/data/layouts/LinkContestRoom1/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-LinkContestRoom1_MapBorder:: @ 82E972C
- .incbin "data/layouts/LinkContestRoom1/border.bin"
-
-LinkContestRoom1_MapBlockdata:: @ 82E9734
- .incbin "data/layouts/LinkContestRoom1/map.bin"
-
- .align 2
-LinkContestRoom1_Layout:: @ 82E9880
- .4byte 0xf
- .4byte 0xb
- .4byte LinkContestRoom1_MapBorder
- .4byte LinkContestRoom1_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Contest
diff --git a/data/layouts/LinkContestRoom2/layout.inc b/data/layouts/LinkContestRoom2/layout.inc
deleted file mode 100644
index 77a027169..000000000
--- a/data/layouts/LinkContestRoom2/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-LinkContestRoom2_MapBorder:: @ 82E9970
- .incbin "data/layouts/LinkContestRoom2/border.bin"
-
-LinkContestRoom2_MapBlockdata:: @ 82E9978
- .incbin "data/layouts/LinkContestRoom2/map.bin"
-
- .align 2
-LinkContestRoom2_Layout:: @ 82E9AC4
- .4byte 0xf
- .4byte 0xb
- .4byte LinkContestRoom2_MapBorder
- .4byte LinkContestRoom2_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Contest
diff --git a/data/layouts/LinkContestRoom3/layout.inc b/data/layouts/LinkContestRoom3/layout.inc
deleted file mode 100644
index 250f1f851..000000000
--- a/data/layouts/LinkContestRoom3/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-LinkContestRoom3_MapBorder:: @ 82E9ADC
- .incbin "data/layouts/LinkContestRoom3/border.bin"
-
-LinkContestRoom3_MapBlockdata:: @ 82E9AE4
- .incbin "data/layouts/LinkContestRoom3/map.bin"
-
- .align 2
-LinkContestRoom3_Layout:: @ 82E9C30
- .4byte 0xf
- .4byte 0xb
- .4byte LinkContestRoom3_MapBorder
- .4byte LinkContestRoom3_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Contest
diff --git a/data/layouts/LinkContestRoom4/layout.inc b/data/layouts/LinkContestRoom4/layout.inc
deleted file mode 100644
index f29c386a8..000000000
--- a/data/layouts/LinkContestRoom4/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-LinkContestRoom4_MapBorder:: @ 82E9C48
- .incbin "data/layouts/LinkContestRoom4/border.bin"
-
-LinkContestRoom4_MapBlockdata:: @ 82E9C50
- .incbin "data/layouts/LinkContestRoom4/map.bin"
-
- .align 2
-LinkContestRoom4_Layout:: @ 82E9D9C
- .4byte 0xf
- .4byte 0xb
- .4byte LinkContestRoom4_MapBorder
- .4byte LinkContestRoom4_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Contest
diff --git a/data/layouts/LinkContestRoom5/layout.inc b/data/layouts/LinkContestRoom5/layout.inc
deleted file mode 100644
index 033bc94e4..000000000
--- a/data/layouts/LinkContestRoom5/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-LinkContestRoom5_MapBorder:: @ 82E9DB4
- .incbin "data/layouts/LinkContestRoom5/border.bin"
-
-LinkContestRoom5_MapBlockdata:: @ 82E9DBC
- .incbin "data/layouts/LinkContestRoom5/map.bin"
-
- .align 2
-LinkContestRoom5_Layout:: @ 82E9F08
- .4byte 0xf
- .4byte 0xb
- .4byte LinkContestRoom5_MapBorder
- .4byte LinkContestRoom5_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Contest
diff --git a/data/layouts/LinkContestRoom6/layout.inc b/data/layouts/LinkContestRoom6/layout.inc
deleted file mode 100644
index 8101c42ba..000000000
--- a/data/layouts/LinkContestRoom6/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-LinkContestRoom6_MapBorder:: @ 82E9F20
- .incbin "data/layouts/LinkContestRoom6/border.bin"
-
-LinkContestRoom6_MapBlockdata:: @ 82E9F28
- .incbin "data/layouts/LinkContestRoom6/map.bin"
-
- .align 2
-LinkContestRoom6_Layout:: @ 82EA074
- .4byte 0xf
- .4byte 0xb
- .4byte LinkContestRoom6_MapBorder
- .4byte LinkContestRoom6_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Contest
diff --git a/data/layouts/LittlerootTown/layout.inc b/data/layouts/LittlerootTown/layout.inc
deleted file mode 100644
index 2d29b6839..000000000
--- a/data/layouts/LittlerootTown/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-LittlerootTown_MapBorder:: @ 82913AC
- .incbin "data/layouts/LittlerootTown/border.bin"
-
-LittlerootTown_MapBlockdata:: @ 82913B4
- .incbin "data/layouts/LittlerootTown/map.bin"
-
- .align 2
-LittlerootTown_Layout:: @ 82916D4
- .4byte 0x14
- .4byte 0x14
- .4byte LittlerootTown_MapBorder
- .4byte LittlerootTown_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Petalburg
diff --git a/data/layouts/LittlerootTown_BrendansHouse_1F/layout.inc b/data/layouts/LittlerootTown_BrendansHouse_1F/layout.inc
deleted file mode 100644
index e2470e498..000000000
--- a/data/layouts/LittlerootTown_BrendansHouse_1F/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-LittlerootTown_BrendansHouse_1F_MapBorder:: @ 82CDA1C
- .incbin "data/layouts/LittlerootTown_BrendansHouse_1F/border.bin"
-
-LittlerootTown_BrendansHouse_1F_MapBlockdata:: @ 82CDA24
- .incbin "data/layouts/LittlerootTown_BrendansHouse_1F/map.bin"
-
- .align 2
-LittlerootTown_BrendansHouse_1F_Layout:: @ 82CDAEC
- .4byte 0xb
- .4byte 0x9
- .4byte LittlerootTown_BrendansHouse_1F_MapBorder
- .4byte LittlerootTown_BrendansHouse_1F_MapBlockdata
- .4byte gTileset_Building
- .4byte gTileset_BrendansMaysHouse
diff --git a/data/layouts/LittlerootTown_BrendansHouse_2F/layout.inc b/data/layouts/LittlerootTown_BrendansHouse_2F/layout.inc
deleted file mode 100644
index e848645e5..000000000
--- a/data/layouts/LittlerootTown_BrendansHouse_2F/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-LittlerootTown_BrendansHouse_2F_MapBorder:: @ 82CDB04
- .incbin "data/layouts/LittlerootTown_BrendansHouse_2F/border.bin"
-
-LittlerootTown_BrendansHouse_2F_MapBlockdata:: @ 82CDB0C
- .incbin "data/layouts/LittlerootTown_BrendansHouse_2F/map.bin"
-
- .align 2
-LittlerootTown_BrendansHouse_2F_Layout:: @ 82CDB9C
- .4byte 0x9
- .4byte 0x8
- .4byte LittlerootTown_BrendansHouse_2F_MapBorder
- .4byte LittlerootTown_BrendansHouse_2F_MapBlockdata
- .4byte gTileset_Building
- .4byte gTileset_BrendansMaysHouse
diff --git a/data/layouts/LittlerootTown_MaysHouse_1F/layout.inc b/data/layouts/LittlerootTown_MaysHouse_1F/layout.inc
deleted file mode 100644
index b65b9596c..000000000
--- a/data/layouts/LittlerootTown_MaysHouse_1F/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-LittlerootTown_MaysHouse_1F_MapBorder:: @ 82CDBB4
- .incbin "data/layouts/LittlerootTown_MaysHouse_1F/border.bin"
-
-LittlerootTown_MaysHouse_1F_MapBlockdata:: @ 82CDBBC
- .incbin "data/layouts/LittlerootTown_MaysHouse_1F/map.bin"
-
- .align 2
-LittlerootTown_MaysHouse_1F_Layout:: @ 82CDC84
- .4byte 0xb
- .4byte 0x9
- .4byte LittlerootTown_MaysHouse_1F_MapBorder
- .4byte LittlerootTown_MaysHouse_1F_MapBlockdata
- .4byte gTileset_Building
- .4byte gTileset_BrendansMaysHouse
diff --git a/data/layouts/LittlerootTown_MaysHouse_2F/layout.inc b/data/layouts/LittlerootTown_MaysHouse_2F/layout.inc
deleted file mode 100644
index e732253a9..000000000
--- a/data/layouts/LittlerootTown_MaysHouse_2F/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-LittlerootTown_MaysHouse_2F_MapBorder:: @ 82CDC9C
- .incbin "data/layouts/LittlerootTown_MaysHouse_2F/border.bin"
-
-LittlerootTown_MaysHouse_2F_MapBlockdata:: @ 82CDCA4
- .incbin "data/layouts/LittlerootTown_MaysHouse_2F/map.bin"
-
- .align 2
-LittlerootTown_MaysHouse_2F_Layout:: @ 82CDD34
- .4byte 0x9
- .4byte 0x8
- .4byte LittlerootTown_MaysHouse_2F_MapBorder
- .4byte LittlerootTown_MaysHouse_2F_MapBlockdata
- .4byte gTileset_Building
- .4byte gTileset_BrendansMaysHouse
diff --git a/data/layouts/LittlerootTown_ProfessorBirchsLab/layout.inc b/data/layouts/LittlerootTown_ProfessorBirchsLab/layout.inc
deleted file mode 100644
index 8dc767516..000000000
--- a/data/layouts/LittlerootTown_ProfessorBirchsLab/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-LittlerootTown_ProfessorBirchsLab_MapBorder:: @ 82CDD4C
- .incbin "data/layouts/LittlerootTown_ProfessorBirchsLab/border.bin"
-
-LittlerootTown_ProfessorBirchsLab_MapBlockdata:: @ 82CDD54
- .incbin "data/layouts/LittlerootTown_ProfessorBirchsLab/map.bin"
-
- .align 2
-LittlerootTown_ProfessorBirchsLab_Layout:: @ 82CDEA8
- .4byte 0xd
- .4byte 0xd
- .4byte LittlerootTown_ProfessorBirchsLab_MapBorder
- .4byte LittlerootTown_ProfessorBirchsLab_MapBlockdata
- .4byte gTileset_Building
- .4byte gTileset_Lab
diff --git a/data/layouts/MagmaHideout_1F/layout.inc b/data/layouts/MagmaHideout_1F/layout.inc
deleted file mode 100644
index 3aa438e2f..000000000
--- a/data/layouts/MagmaHideout_1F/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-MagmaHideout_1F_MapBorder:: @ 82FFDB8
- .incbin "data/layouts/MagmaHideout_1F/border.bin"
-
-MagmaHideout_1F_MapBlockdata:: @ 82FFDC0
- .incbin "data/layouts/MagmaHideout_1F/map.bin"
-
- .align 2
-MagmaHideout_1F_Layout:: @ 8300450
- .4byte 0x1c
- .4byte 0x1e
- .4byte MagmaHideout_1F_MapBorder
- .4byte MagmaHideout_1F_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Facility
diff --git a/data/layouts/MagmaHideout_B1F/layout.inc b/data/layouts/MagmaHideout_B1F/layout.inc
deleted file mode 100644
index 9bc8f8860..000000000
--- a/data/layouts/MagmaHideout_B1F/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-MagmaHideout_B1F_MapBorder:: @ 8300468
- .incbin "data/layouts/MagmaHideout_B1F/border.bin"
-
-MagmaHideout_B1F_MapBlockdata:: @ 8300470
- .incbin "data/layouts/MagmaHideout_B1F/map.bin"
-
- .align 2
-MagmaHideout_B1F_Layout:: @ 8301010
- .4byte 0x3e
- .4byte 0x18
- .4byte MagmaHideout_B1F_MapBorder
- .4byte MagmaHideout_B1F_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Facility
diff --git a/data/layouts/MagmaHideout_B2F/layout.inc b/data/layouts/MagmaHideout_B2F/layout.inc
deleted file mode 100644
index b245f7b91..000000000
--- a/data/layouts/MagmaHideout_B2F/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-MagmaHideout_B2F_MapBorder:: @ 8301028
- .incbin "data/layouts/MagmaHideout_B2F/border.bin"
-
-MagmaHideout_B2F_MapBlockdata:: @ 8301030
- .incbin "data/layouts/MagmaHideout_B2F/map.bin"
-
- .align 2
-MagmaHideout_B2F_Layout:: @ 8301690
- .4byte 0x22
- .4byte 0x18
- .4byte MagmaHideout_B2F_MapBorder
- .4byte MagmaHideout_B2F_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Facility
diff --git a/data/layouts/MauvilleCity/layout.inc b/data/layouts/MauvilleCity/layout.inc
deleted file mode 100644
index a40712576..000000000
--- a/data/layouts/MauvilleCity/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-MauvilleCity_MapBorder:: @ 8288C6C
- .incbin "data/layouts/MauvilleCity/border.bin"
-
-MauvilleCity_MapBlockdata:: @ 8288C74
- .incbin "data/layouts/MauvilleCity/map.bin"
-
- .align 2
-MauvilleCity_Layout:: @ 82892B4
- .4byte 0x28
- .4byte 0x14
- .4byte MauvilleCity_MapBorder
- .4byte MauvilleCity_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Mauville
diff --git a/data/layouts/MauvilleCity_BikeShop/layout.inc b/data/layouts/MauvilleCity_BikeShop/layout.inc
deleted file mode 100644
index b4f7c402f..000000000
--- a/data/layouts/MauvilleCity_BikeShop/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-MauvilleCity_BikeShop_MapBorder:: @ 82D0F2C
- .incbin "data/layouts/MauvilleCity_BikeShop/border.bin"
-
-MauvilleCity_BikeShop_MapBlockdata:: @ 82D0F34
- .incbin "data/layouts/MauvilleCity_BikeShop/map.bin"
-
- .align 2
-MauvilleCity_BikeShop_Layout:: @ 82D100C
- .4byte 0xc
- .4byte 0x9
- .4byte MauvilleCity_BikeShop_MapBorder
- .4byte MauvilleCity_BikeShop_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_BikeShop
diff --git a/data/layouts/MauvilleCity_GameCorner/layout.inc b/data/layouts/MauvilleCity_GameCorner/layout.inc
deleted file mode 100644
index 7393c3274..000000000
--- a/data/layouts/MauvilleCity_GameCorner/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-MauvilleCity_GameCorner_MapBorder:: @ 82D1024
- .incbin "data/layouts/MauvilleCity_GameCorner/border.bin"
-
-MauvilleCity_GameCorner_MapBlockdata:: @ 82D102C
- .incbin "data/layouts/MauvilleCity_GameCorner/map.bin"
-
- .align 2
-MauvilleCity_GameCorner_Layout:: @ 82D1210
- .4byte 0x16
- .4byte 0xb
- .4byte MauvilleCity_GameCorner_MapBorder
- .4byte MauvilleCity_GameCorner_MapBlockdata
- .4byte gTileset_Building
- .4byte gTileset_MauvilleGameCorner
diff --git a/data/layouts/MauvilleCity_Gym/layout.inc b/data/layouts/MauvilleCity_Gym/layout.inc
deleted file mode 100644
index 9e8004009..000000000
--- a/data/layouts/MauvilleCity_Gym/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-MauvilleCity_Gym_MapBorder:: @ 82D0D68
- .incbin "data/layouts/MauvilleCity_Gym/border.bin"
-
-MauvilleCity_Gym_MapBlockdata:: @ 82D0D70
- .incbin "data/layouts/MauvilleCity_Gym/map.bin"
-
- .align 2
-MauvilleCity_Gym_Layout:: @ 82D0F14
- .4byte 0xa
- .4byte 0x15
- .4byte MauvilleCity_Gym_MapBorder
- .4byte MauvilleCity_Gym_MapBlockdata
- .4byte gTileset_Building
- .4byte gTileset_MauvilleGym
diff --git a/data/layouts/MeteorFalls_1F_1R/layout.inc b/data/layouts/MeteorFalls_1F_1R/layout.inc
deleted file mode 100644
index 131e63ec0..000000000
--- a/data/layouts/MeteorFalls_1F_1R/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-MeteorFalls_1F_1R_MapBorder:: @ 82D565C
- .incbin "data/layouts/MeteorFalls_1F_1R/border.bin"
-
-MeteorFalls_1F_1R_MapBlockdata:: @ 82D5664
- .incbin "data/layouts/MeteorFalls_1F_1R/map.bin"
-
- .align 2
-MeteorFalls_1F_1R_Layout:: @ 82D603C
- .4byte 0x1e
- .4byte 0x2a
- .4byte MeteorFalls_1F_1R_MapBorder
- .4byte MeteorFalls_1F_1R_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_MeteorFalls
diff --git a/data/layouts/MeteorFalls_1F_2R/layout.inc b/data/layouts/MeteorFalls_1F_2R/layout.inc
deleted file mode 100644
index aacce1de4..000000000
--- a/data/layouts/MeteorFalls_1F_2R/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-MeteorFalls_1F_2R_MapBorder:: @ 82D6054
- .incbin "data/layouts/MeteorFalls_1F_2R/border.bin"
-
-MeteorFalls_1F_2R_MapBlockdata:: @ 82D605C
- .incbin "data/layouts/MeteorFalls_1F_2R/map.bin"
-
- .align 2
-MeteorFalls_1F_2R_Layout:: @ 82D67DC
- .4byte 0x1e
- .4byte 0x20
- .4byte MeteorFalls_1F_2R_MapBorder
- .4byte MeteorFalls_1F_2R_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_MeteorFalls
diff --git a/data/layouts/MeteorFalls_B1F_1R/layout.inc b/data/layouts/MeteorFalls_B1F_1R/layout.inc
deleted file mode 100644
index e5aef8279..000000000
--- a/data/layouts/MeteorFalls_B1F_1R/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-MeteorFalls_B1F_1R_MapBorder:: @ 82D67F4
- .incbin "data/layouts/MeteorFalls_B1F_1R/border.bin"
-
-MeteorFalls_B1F_1R_MapBlockdata:: @ 82D67FC
- .incbin "data/layouts/MeteorFalls_B1F_1R/map.bin"
-
- .align 2
-MeteorFalls_B1F_1R_Layout:: @ 82D7098
- .4byte 0x1d
- .4byte 0x26
- .4byte MeteorFalls_B1F_1R_MapBorder
- .4byte MeteorFalls_B1F_1R_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_MeteorFalls
diff --git a/data/layouts/MeteorFalls_B1F_2R/layout.inc b/data/layouts/MeteorFalls_B1F_2R/layout.inc
deleted file mode 100644
index 8d6f7041a..000000000
--- a/data/layouts/MeteorFalls_B1F_2R/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-MeteorFalls_B1F_2R_MapBorder:: @ 82D70B0
- .incbin "data/layouts/MeteorFalls_B1F_2R/border.bin"
-
-MeteorFalls_B1F_2R_MapBlockdata:: @ 82D70B8
- .incbin "data/layouts/MeteorFalls_B1F_2R/map.bin"
-
- .align 2
-MeteorFalls_B1F_2R_Layout:: @ 82D7244
- .4byte 0xb
- .4byte 0x12
- .4byte MeteorFalls_B1F_2R_MapBorder
- .4byte MeteorFalls_B1F_2R_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_MeteorFalls
diff --git a/data/layouts/MossdeepCity/layout.inc b/data/layouts/MossdeepCity/layout.inc
deleted file mode 100644
index 33ebb078e..000000000
--- a/data/layouts/MossdeepCity/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-MossdeepCity_MapBorder:: @ 828C52C
- .incbin "data/layouts/MossdeepCity/border.bin"
-
-MossdeepCity_MapBlockdata:: @ 828C534
- .incbin "data/layouts/MossdeepCity/map.bin"
-
- .align 2
-MossdeepCity_Layout:: @ 828DE34
- .4byte 0x50
- .4byte 0x28
- .4byte MossdeepCity_MapBorder
- .4byte MossdeepCity_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Mossdeep
diff --git a/data/layouts/MossdeepCity_GameCorner_1F/layout.inc b/data/layouts/MossdeepCity_GameCorner_1F/layout.inc
deleted file mode 100644
index c569215c5..000000000
--- a/data/layouts/MossdeepCity_GameCorner_1F/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-MossdeepCity_GameCorner_1F_MapBorder:: @ 82FEA80
- .incbin "data/layouts/MossdeepCity_GameCorner_1F/border.bin"
-
-MossdeepCity_GameCorner_1F_MapBlockdata:: @ 82FEA88
- .incbin "data/layouts/MossdeepCity_GameCorner_1F/map.bin"
-
- .align 2
-MossdeepCity_GameCorner_1F_Layout:: @ 82FEB38
- .4byte 0xb
- .4byte 0x8
- .4byte MossdeepCity_GameCorner_1F_MapBorder
- .4byte MossdeepCity_GameCorner_1F_MapBlockdata
- .4byte gTileset_Building
- .4byte gTileset_GenericBuilding
diff --git a/data/layouts/MossdeepCity_GameCorner_B1F/layout.inc b/data/layouts/MossdeepCity_GameCorner_B1F/layout.inc
deleted file mode 100644
index 1ab9e6129..000000000
--- a/data/layouts/MossdeepCity_GameCorner_B1F/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-MossdeepCity_GameCorner_B1F_MapBorder:: @ 82FEB50
- .incbin "data/layouts/MossdeepCity_GameCorner_B1F/border.bin"
-
-MossdeepCity_GameCorner_B1F_MapBlockdata:: @ 82FEB58
- .incbin "data/layouts/MossdeepCity_GameCorner_B1F/map.bin"
-
- .align 2
-MossdeepCity_GameCorner_B1F_Layout:: @ 82FEC30
- .4byte 0xc
- .4byte 0x9
- .4byte MossdeepCity_GameCorner_B1F_MapBorder
- .4byte MossdeepCity_GameCorner_B1F_MapBlockdata
- .4byte gTileset_Building
- .4byte gTileset_GenericBuilding
diff --git a/data/layouts/MossdeepCity_Gym/layout.inc b/data/layouts/MossdeepCity_Gym/layout.inc
deleted file mode 100644
index 0d999df58..000000000
--- a/data/layouts/MossdeepCity_Gym/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-MossdeepCity_Gym_MapBorder:: @ 82D36C0
- .incbin "data/layouts/MossdeepCity_Gym/border.bin"
-
-MossdeepCity_Gym_MapBlockdata:: @ 82D36C8
- .incbin "data/layouts/MossdeepCity_Gym/map.bin"
-
- .align 2
-MossdeepCity_Gym_Layout:: @ 82D3B78
- .4byte 0x14
- .4byte 0x1e
- .4byte MossdeepCity_Gym_MapBorder
- .4byte MossdeepCity_Gym_MapBlockdata
- .4byte gTileset_Building
- .4byte gTileset_MossdeepGym
diff --git a/data/layouts/MossdeepCity_SpaceCenter_1F/layout.inc b/data/layouts/MossdeepCity_SpaceCenter_1F/layout.inc
deleted file mode 100644
index 97248346a..000000000
--- a/data/layouts/MossdeepCity_SpaceCenter_1F/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-MossdeepCity_SpaceCenter_1F_MapBorder:: @ 82F6138
- .incbin "data/layouts/MossdeepCity_SpaceCenter_1F/border.bin"
-
-MossdeepCity_SpaceCenter_1F_MapBlockdata:: @ 82F6140
- .incbin "data/layouts/MossdeepCity_SpaceCenter_1F/map.bin"
-
- .align 2
-MossdeepCity_SpaceCenter_1F_Layout:: @ 82F6280
- .4byte 0x10
- .4byte 0xa
- .4byte MossdeepCity_SpaceCenter_1F_MapBorder
- .4byte MossdeepCity_SpaceCenter_1F_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Facility
diff --git a/data/layouts/MossdeepCity_SpaceCenter_2F/layout.inc b/data/layouts/MossdeepCity_SpaceCenter_2F/layout.inc
deleted file mode 100644
index 46c85be57..000000000
--- a/data/layouts/MossdeepCity_SpaceCenter_2F/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-MossdeepCity_SpaceCenter_2F_MapBorder:: @ 82F6298
- .incbin "data/layouts/MossdeepCity_SpaceCenter_2F/border.bin"
-
-MossdeepCity_SpaceCenter_2F_MapBlockdata:: @ 82F62A0
- .incbin "data/layouts/MossdeepCity_SpaceCenter_2F/map.bin"
-
- .align 2
-MossdeepCity_SpaceCenter_2F_Layout:: @ 82F63E0
- .4byte 0x10
- .4byte 0xa
- .4byte MossdeepCity_SpaceCenter_2F_MapBorder
- .4byte MossdeepCity_SpaceCenter_2F_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Facility
diff --git a/data/layouts/MossdeepCity_StevensHouse/layout.inc b/data/layouts/MossdeepCity_StevensHouse/layout.inc
deleted file mode 100644
index ec6c7cc3e..000000000
--- a/data/layouts/MossdeepCity_StevensHouse/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-MossdeepCity_StevensHouse_MapBorder:: @ 83041CC
- .incbin "data/layouts/MossdeepCity_StevensHouse/border.bin"
-
-MossdeepCity_StevensHouse_MapBlockdata:: @ 83041D4
- .incbin "data/layouts/MossdeepCity_StevensHouse/map.bin"
-
- .align 2
-MossdeepCity_StevensHouse_Layout:: @ 8304284
- .4byte 0xb
- .4byte 0x8
- .4byte MossdeepCity_StevensHouse_MapBorder
- .4byte MossdeepCity_StevensHouse_MapBlockdata
- .4byte gTileset_Building
- .4byte gTileset_GenericBuilding
diff --git a/data/layouts/MtChimney/layout.inc b/data/layouts/MtChimney/layout.inc
deleted file mode 100644
index ca97f1797..000000000
--- a/data/layouts/MtChimney/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-MtChimney_MapBorder:: @ 82DA25C
- .incbin "data/layouts/MtChimney/border.bin"
-
-MtChimney_MapBlockdata:: @ 82DA264
- .incbin "data/layouts/MtChimney/map.bin"
-
- .align 2
-MtChimney_Layout:: @ 82DB114
- .4byte 0x28
- .4byte 0x2f
- .4byte MtChimney_MapBorder
- .4byte MtChimney_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Lavaridge
diff --git a/data/layouts/MtPyre_1F/layout.inc b/data/layouts/MtPyre_1F/layout.inc
deleted file mode 100644
index c39f56fa2..000000000
--- a/data/layouts/MtPyre_1F/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-MtPyre_1F_MapBorder:: @ 82DB12C
- .incbin "data/layouts/MtPyre_1F/border.bin"
-
-MtPyre_1F_MapBlockdata:: @ 82DB134
- .incbin "data/layouts/MtPyre_1F/map.bin"
-
- .align 2
-MtPyre_1F_Layout:: @ 82DB478
- .4byte 0x16
- .4byte 0x13
- .4byte MtPyre_1F_MapBorder
- .4byte MtPyre_1F_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Facility
diff --git a/data/layouts/MtPyre_2F/layout.inc b/data/layouts/MtPyre_2F/layout.inc
deleted file mode 100644
index 8b68101c9..000000000
--- a/data/layouts/MtPyre_2F/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-MtPyre_2F_MapBorder:: @ 82DB490
- .incbin "data/layouts/MtPyre_2F/border.bin"
-
-MtPyre_2F_MapBlockdata:: @ 82DB498
- .incbin "data/layouts/MtPyre_2F/map.bin"
-
- .align 2
-MtPyre_2F_Layout:: @ 82DB5EC
- .4byte 0xd
- .4byte 0xd
- .4byte MtPyre_2F_MapBorder
- .4byte MtPyre_2F_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Facility
diff --git a/data/layouts/MtPyre_3F/layout.inc b/data/layouts/MtPyre_3F/layout.inc
deleted file mode 100644
index 459fae9e7..000000000
--- a/data/layouts/MtPyre_3F/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-MtPyre_3F_MapBorder:: @ 82DB604
- .incbin "data/layouts/MtPyre_3F/border.bin"
-
-MtPyre_3F_MapBlockdata:: @ 82DB60C
- .incbin "data/layouts/MtPyre_3F/map.bin"
-
- .align 2
-MtPyre_3F_Layout:: @ 82DB760
- .4byte 0xd
- .4byte 0xd
- .4byte MtPyre_3F_MapBorder
- .4byte MtPyre_3F_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Facility
diff --git a/data/layouts/MtPyre_4F/layout.inc b/data/layouts/MtPyre_4F/layout.inc
deleted file mode 100644
index 97363cb82..000000000
--- a/data/layouts/MtPyre_4F/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-MtPyre_4F_MapBorder:: @ 82DB778
- .incbin "data/layouts/MtPyre_4F/border.bin"
-
-MtPyre_4F_MapBlockdata:: @ 82DB780
- .incbin "data/layouts/MtPyre_4F/map.bin"
-
- .align 2
-MtPyre_4F_Layout:: @ 82DB8D4
- .4byte 0xd
- .4byte 0xd
- .4byte MtPyre_4F_MapBorder
- .4byte MtPyre_4F_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Facility
diff --git a/data/layouts/MtPyre_5F/layout.inc b/data/layouts/MtPyre_5F/layout.inc
deleted file mode 100644
index 252899515..000000000
--- a/data/layouts/MtPyre_5F/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-MtPyre_5F_MapBorder:: @ 82DB8EC
- .incbin "data/layouts/MtPyre_5F/border.bin"
-
-MtPyre_5F_MapBlockdata:: @ 82DB8F4
- .incbin "data/layouts/MtPyre_5F/map.bin"
-
- .align 2
-MtPyre_5F_Layout:: @ 82DBA48
- .4byte 0xd
- .4byte 0xd
- .4byte MtPyre_5F_MapBorder
- .4byte MtPyre_5F_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Facility
diff --git a/data/layouts/MtPyre_6F/layout.inc b/data/layouts/MtPyre_6F/layout.inc
deleted file mode 100644
index 46c419157..000000000
--- a/data/layouts/MtPyre_6F/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-MtPyre_6F_MapBorder:: @ 82DBA60
- .incbin "data/layouts/MtPyre_6F/border.bin"
-
-MtPyre_6F_MapBlockdata:: @ 82DBA68
- .incbin "data/layouts/MtPyre_6F/map.bin"
-
- .align 2
-MtPyre_6F_Layout:: @ 82DBBBC
- .4byte 0xd
- .4byte 0xd
- .4byte MtPyre_6F_MapBorder
- .4byte MtPyre_6F_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Facility
diff --git a/data/layouts/MtPyre_Exterior/layout.inc b/data/layouts/MtPyre_Exterior/layout.inc
deleted file mode 100644
index 09cfeaecf..000000000
--- a/data/layouts/MtPyre_Exterior/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-MtPyre_Exterior_MapBorder:: @ 82FC8C0
- .incbin "data/layouts/MtPyre_Exterior/border.bin"
-
-MtPyre_Exterior_MapBlockdata:: @ 82FC8C8
- .incbin "data/layouts/MtPyre_Exterior/map.bin"
-
- .align 2
-MtPyre_Exterior_Layout:: @ 82FD7EC
- .4byte 0x26
- .4byte 0x33
- .4byte MtPyre_Exterior_MapBorder
- .4byte MtPyre_Exterior_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Facility
diff --git a/data/layouts/MtPyre_Summit/layout.inc b/data/layouts/MtPyre_Summit/layout.inc
deleted file mode 100644
index b587bdee8..000000000
--- a/data/layouts/MtPyre_Summit/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-MtPyre_Summit_MapBorder:: @ 82FD804
- .incbin "data/layouts/MtPyre_Summit/border.bin"
-
-MtPyre_Summit_MapBlockdata:: @ 82FD80C
- .incbin "data/layouts/MtPyre_Summit/map.bin"
-
- .align 2
-MtPyre_Summit_Layout:: @ 82FE680
- .4byte 0x32
- .4byte 0x25
- .4byte MtPyre_Summit_MapBorder
- .4byte MtPyre_Summit_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Facility
diff --git a/data/layouts/NewMauville_Entrance/layout.inc b/data/layouts/NewMauville_Entrance/layout.inc
deleted file mode 100644
index f86a45691..000000000
--- a/data/layouts/NewMauville_Entrance/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-NewMauville_Entrance_MapBorder:: @ 82E57B4
- .incbin "data/layouts/NewMauville_Entrance/border.bin"
-
-NewMauville_Entrance_MapBlockdata:: @ 82E57BC
- .incbin "data/layouts/NewMauville_Entrance/map.bin"
-
- .align 2
-NewMauville_Entrance_Layout:: @ 82E5860
- .4byte 0x9
- .4byte 0x9
- .4byte NewMauville_Entrance_MapBorder
- .4byte NewMauville_Entrance_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Facility
diff --git a/data/layouts/NewMauville_Inside/layout.inc b/data/layouts/NewMauville_Inside/layout.inc
deleted file mode 100644
index 25aa29e7d..000000000
--- a/data/layouts/NewMauville_Inside/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-NewMauville_Inside_MapBorder:: @ 82E5878
- .incbin "data/layouts/NewMauville_Inside/border.bin"
-
-NewMauville_Inside_MapBlockdata:: @ 82E5880
- .incbin "data/layouts/NewMauville_Inside/map.bin"
-
- .align 2
-NewMauville_Inside_Layout:: @ 82E65A4
- .4byte 0x29
- .4byte 0x29
- .4byte NewMauville_Inside_MapBorder
- .4byte NewMauville_Inside_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_BikeShop
diff --git a/data/layouts/OldaleTown/layout.inc b/data/layouts/OldaleTown/layout.inc
deleted file mode 100644
index 621c4bd0d..000000000
--- a/data/layouts/OldaleTown/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-OldaleTown_MapBorder:: @ 82916EC
- .incbin "data/layouts/OldaleTown/border.bin"
-
-OldaleTown_MapBlockdata:: @ 82916F4
- .incbin "data/layouts/OldaleTown/map.bin"
-
- .align 2
-OldaleTown_Layout:: @ 8291A14
- .4byte 0x14
- .4byte 0x14
- .4byte OldaleTown_MapBorder
- .4byte OldaleTown_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Petalburg
diff --git a/data/layouts/PacifidlogTown/layout.inc b/data/layouts/PacifidlogTown/layout.inc
deleted file mode 100644
index c2be2f4cf..000000000
--- a/data/layouts/PacifidlogTown/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-PacifidlogTown_MapBorder:: @ 829272C
- .incbin "data/layouts/PacifidlogTown/border.bin"
-
-PacifidlogTown_MapBlockdata:: @ 8292734
- .incbin "data/layouts/PacifidlogTown/map.bin"
-
- .align 2
-PacifidlogTown_Layout:: @ 8292D74
- .4byte 0x14
- .4byte 0x28
- .4byte PacifidlogTown_MapBorder
- .4byte PacifidlogTown_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Pacifidlog
diff --git a/data/layouts/PacifidlogTown_House1/layout.inc b/data/layouts/PacifidlogTown_House1/layout.inc
deleted file mode 100644
index b09e191ca..000000000
--- a/data/layouts/PacifidlogTown_House1/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-PacifidlogTown_House1_MapBorder:: @ 82CF6AC
- .incbin "data/layouts/PacifidlogTown_House1/border.bin"
-
-PacifidlogTown_House1_MapBlockdata:: @ 82CF6B4
- .incbin "data/layouts/PacifidlogTown_House1/map.bin"
-
- .align 2
-PacifidlogTown_House1_Layout:: @ 82CF768
- .4byte 0xa
- .4byte 0x9
- .4byte PacifidlogTown_House1_MapBorder
- .4byte PacifidlogTown_House1_MapBlockdata
- .4byte gTileset_Building
- .4byte gTileset_GenericBuilding
diff --git a/data/layouts/PacifidlogTown_House2/layout.inc b/data/layouts/PacifidlogTown_House2/layout.inc
deleted file mode 100644
index ecb3d28f0..000000000
--- a/data/layouts/PacifidlogTown_House2/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-PacifidlogTown_House2_MapBorder:: @ 82CF780
- .incbin "data/layouts/PacifidlogTown_House2/border.bin"
-
-PacifidlogTown_House2_MapBlockdata:: @ 82CF788
- .incbin "data/layouts/PacifidlogTown_House2/map.bin"
-
- .align 2
-PacifidlogTown_House2_Layout:: @ 82CF83C
- .4byte 0xa
- .4byte 0x9
- .4byte PacifidlogTown_House2_MapBorder
- .4byte PacifidlogTown_House2_MapBlockdata
- .4byte gTileset_Building
- .4byte gTileset_GenericBuilding
diff --git a/data/layouts/PetalburgCity/layout.inc b/data/layouts/PetalburgCity/layout.inc
deleted file mode 100644
index 76cb0186f..000000000
--- a/data/layouts/PetalburgCity/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-PetalburgCity_MapBorder:: @ 8287264
- .incbin "data/layouts/PetalburgCity/border.bin"
-
-PetalburgCity_MapBlockdata:: @ 828726C
- .incbin "data/layouts/PetalburgCity/map.bin"
-
- .align 2
-PetalburgCity_Layout:: @ 8287974
- .4byte 0x1e
- .4byte 0x1e
- .4byte PetalburgCity_MapBorder
- .4byte PetalburgCity_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Petalburg
diff --git a/data/layouts/PetalburgCity_Gym/layout.inc b/data/layouts/PetalburgCity_Gym/layout.inc
deleted file mode 100644
index 9e5eb5509..000000000
--- a/data/layouts/PetalburgCity_Gym/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-PetalburgCity_Gym_MapBorder:: @ 82CF854
- .incbin "data/layouts/PetalburgCity_Gym/border.bin"
-
-PetalburgCity_Gym_MapBlockdata:: @ 82CF85C
- .incbin "data/layouts/PetalburgCity_Gym/map.bin"
-
- .align 2
-PetalburgCity_Gym_Layout:: @ 82D003C
- .4byte 0x9
- .4byte 0x70
- .4byte PetalburgCity_Gym_MapBorder
- .4byte PetalburgCity_Gym_MapBlockdata
- .4byte gTileset_Building
- .4byte gTileset_PetalburgGym
diff --git a/data/layouts/PetalburgWoods/layout.inc b/data/layouts/PetalburgWoods/layout.inc
deleted file mode 100644
index 47192ac1a..000000000
--- a/data/layouts/PetalburgWoods/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-PetalburgWoods_MapBorder:: @ 82D91BC
- .incbin "data/layouts/PetalburgWoods/border.bin"
-
-PetalburgWoods_MapBlockdata:: @ 82D91C4
- .incbin "data/layouts/PetalburgWoods/map.bin"
-
- .align 2
-PetalburgWoods_Layout:: @ 82DA244
- .4byte 0x30
- .4byte 0x2c
- .4byte PetalburgWoods_MapBorder
- .4byte PetalburgWoods_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Rustboro
diff --git a/data/layouts/PokeMart/layout.inc b/data/layouts/PokeMart/layout.inc
deleted file mode 100644
index 830d398ac..000000000
--- a/data/layouts/PokeMart/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-PokeMart_MapBorder:: @ 82CE29C
- .incbin "data/layouts/PokeMart/border.bin"
-
-PokeMart_MapBlockdata:: @ 82CE2A4
- .incbin "data/layouts/PokeMart/map.bin"
-
- .align 2
-PokeMart_Layout:: @ 82CE354
- .4byte 0xb
- .4byte 0x8
- .4byte PokeMart_MapBorder
- .4byte PokeMart_MapBlockdata
- .4byte gTileset_Building
- .4byte gTileset_Shop
diff --git a/data/layouts/PokemonCenter_1F/layout.inc b/data/layouts/PokemonCenter_1F/layout.inc
deleted file mode 100644
index a4d067758..000000000
--- a/data/layouts/PokemonCenter_1F/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-PokemonCenter_1F_MapBorder:: @ 82CE064
- .incbin "data/layouts/PokemonCenter_1F/border.bin"
-
-PokemonCenter_1F_MapBlockdata:: @ 82CE06C
- .incbin "data/layouts/PokemonCenter_1F/map.bin"
-
- .align 2
-PokemonCenter_1F_Layout:: @ 82CE168
- .4byte 0xe
- .4byte 0x9
- .4byte PokemonCenter_1F_MapBorder
- .4byte PokemonCenter_1F_MapBlockdata
- .4byte gTileset_Building
- .4byte gTileset_PokemonCenter
diff --git a/data/layouts/PokemonCenter_2F/layout.inc b/data/layouts/PokemonCenter_2F/layout.inc
deleted file mode 100644
index 033580519..000000000
--- a/data/layouts/PokemonCenter_2F/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-PokemonCenter_2F_MapBorder:: @ 82CE180
- .incbin "data/layouts/PokemonCenter_2F/border.bin"
-
-PokemonCenter_2F_MapBlockdata:: @ 82CE188
- .incbin "data/layouts/PokemonCenter_2F/map.bin"
-
- .align 2
-PokemonCenter_2F_Layout:: @ 82CE284
- .4byte 0xe
- .4byte 0x9
- .4byte PokemonCenter_2F_MapBorder
- .4byte PokemonCenter_2F_MapBlockdata
- .4byte gTileset_Building
- .4byte gTileset_PokemonCenter
diff --git a/data/layouts/RecordCorner/layout.inc b/data/layouts/RecordCorner/layout.inc
deleted file mode 100644
index 9252de7db..000000000
--- a/data/layouts/RecordCorner/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-RecordCorner_MapBorder:: @ 82E9460
- .incbin "data/layouts/RecordCorner/border.bin"
-
-RecordCorner_MapBlockdata:: @ 82E9468
- .incbin "data/layouts/RecordCorner/map.bin"
-
- .align 2
-RecordCorner_Layout:: @ 82E95F8
- .4byte 0x14
- .4byte 0xa
- .4byte RecordCorner_MapBorder
- .4byte RecordCorner_MapBlockdata
- .4byte gTileset_Building
- .4byte gTileset_CableClub
diff --git a/data/layouts/Route101/layout.inc b/data/layouts/Route101/layout.inc
deleted file mode 100644
index 276a580b0..000000000
--- a/data/layouts/Route101/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-Route101_MapBorder:: @ 8292D8C
- .incbin "data/layouts/Route101/border.bin"
-
-Route101_MapBlockdata:: @ 8292D94
- .incbin "data/layouts/Route101/map.bin"
-
- .align 2
-Route101_Layout:: @ 82930B4
- .4byte 0x14
- .4byte 0x14
- .4byte Route101_MapBorder
- .4byte Route101_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Petalburg
diff --git a/data/layouts/Route102/layout.inc b/data/layouts/Route102/layout.inc
deleted file mode 100644
index c2e36ea4e..000000000
--- a/data/layouts/Route102/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-Route102_MapBorder:: @ 82930CC
- .incbin "data/layouts/Route102/border.bin"
-
-Route102_MapBlockdata:: @ 82930D4
- .incbin "data/layouts/Route102/map.bin"
-
- .align 2
-Route102_Layout:: @ 82938A4
- .4byte 0x32
- .4byte 0x14
- .4byte Route102_MapBorder
- .4byte Route102_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Petalburg
diff --git a/data/layouts/Route103/layout.inc b/data/layouts/Route103/layout.inc
deleted file mode 100644
index 15d321a66..000000000
--- a/data/layouts/Route103/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-Route103_MapBorder:: @ 82938BC
- .incbin "data/layouts/Route103/border.bin"
-
-Route103_MapBlockdata:: @ 82938C4
- .incbin "data/layouts/Route103/map.bin"
-
- .align 2
-Route103_Layout:: @ 8294544
- .4byte 0x50
- .4byte 0x14
- .4byte Route103_MapBorder
- .4byte Route103_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Petalburg
diff --git a/data/layouts/Route104/layout.inc b/data/layouts/Route104/layout.inc
deleted file mode 100644
index c6f807405..000000000
--- a/data/layouts/Route104/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-Route104_MapBorder:: @ 829455C
- .incbin "data/layouts/Route104/border.bin"
-
-Route104_MapBlockdata:: @ 8294564
- .incbin "data/layouts/Route104/map.bin"
-
- .align 2
-Route104_Layout:: @ 8295E64
- .4byte 0x28
- .4byte 0x50
- .4byte Route104_MapBorder
- .4byte Route104_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Rustboro
diff --git a/data/layouts/Route104_MrBrineysHouse/layout.inc b/data/layouts/Route104_MrBrineysHouse/layout.inc
deleted file mode 100644
index c265b931d..000000000
--- a/data/layouts/Route104_MrBrineysHouse/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-Route104_MrBrineysHouse_MapBorder:: @ 82D1FDC
- .incbin "data/layouts/Route104_MrBrineysHouse/border.bin"
-
-Route104_MrBrineysHouse_MapBlockdata:: @ 82D1FE4
- .incbin "data/layouts/Route104_MrBrineysHouse/map.bin"
-
- .align 2
-Route104_MrBrineysHouse_Layout:: @ 82D20BC
- .4byte 0xc
- .4byte 0x9
- .4byte Route104_MrBrineysHouse_MapBorder
- .4byte Route104_MrBrineysHouse_MapBlockdata
- .4byte gTileset_Building
- .4byte gTileset_GenericBuilding
diff --git a/data/layouts/Route104_PrettyPetalFlowerShop/layout.inc b/data/layouts/Route104_PrettyPetalFlowerShop/layout.inc
deleted file mode 100644
index 35012e71b..000000000
--- a/data/layouts/Route104_PrettyPetalFlowerShop/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-Route104_PrettyPetalFlowerShop_MapBorder:: @ 82D4B9C
- .incbin "data/layouts/Route104_PrettyPetalFlowerShop/border.bin"
-
-Route104_PrettyPetalFlowerShop_MapBlockdata:: @ 82D4BA4
- .incbin "data/layouts/Route104_PrettyPetalFlowerShop/map.bin"
-
- .align 2
-Route104_PrettyPetalFlowerShop_Layout:: @ 82D4CB4
- .4byte 0xf
- .4byte 0x9
- .4byte Route104_PrettyPetalFlowerShop_MapBorder
- .4byte Route104_PrettyPetalFlowerShop_MapBlockdata
- .4byte gTileset_Building
- .4byte gTileset_PrettyPetalFlowerShop
diff --git a/data/layouts/Route104_Prototype/layout.inc b/data/layouts/Route104_Prototype/layout.inc
deleted file mode 100644
index 9ddf033e1..000000000
--- a/data/layouts/Route104_Prototype/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-Route104_Prototype_MapBorder:: @ 82F9A58
- .incbin "data/layouts/Route104_Prototype/border.bin"
-
-Route104_Prototype_MapBlockdata:: @ 82F9A60
- .incbin "data/layouts/Route104_Prototype/map.bin"
-
- .align 2
-Route104_Prototype_Layout:: @ 82F9A64
- .4byte 0x1
- .4byte 0x1
- .4byte Route104_Prototype_MapBorder
- .4byte Route104_Prototype_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Rustboro
diff --git a/data/layouts/Route105/layout.inc b/data/layouts/Route105/layout.inc
deleted file mode 100644
index d918e73ff..000000000
--- a/data/layouts/Route105/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-Route105_MapBorder:: @ 8295E7C
- .incbin "data/layouts/Route105/border.bin"
-
-Route105_MapBlockdata:: @ 8295E84
- .incbin "data/layouts/Route105/map.bin"
-
- .align 2
-Route105_Layout:: @ 8297784
- .4byte 0x28
- .4byte 0x50
- .4byte Route105_MapBorder
- .4byte Route105_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Dewford
diff --git a/data/layouts/Route106/layout.inc b/data/layouts/Route106/layout.inc
deleted file mode 100644
index 60ff843f3..000000000
--- a/data/layouts/Route106/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-Route106_MapBorder:: @ 829779C
- .incbin "data/layouts/Route106/border.bin"
-
-Route106_MapBlockdata:: @ 82977A4
- .incbin "data/layouts/Route106/map.bin"
-
- .align 2
-Route106_Layout:: @ 8298424
- .4byte 0x50
- .4byte 0x14
- .4byte Route106_MapBorder
- .4byte Route106_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Dewford
diff --git a/data/layouts/Route107/layout.inc b/data/layouts/Route107/layout.inc
deleted file mode 100644
index 06b6f3020..000000000
--- a/data/layouts/Route107/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-Route107_MapBorder:: @ 829843C
- .incbin "data/layouts/Route107/border.bin"
-
-Route107_MapBlockdata:: @ 8298444
- .incbin "data/layouts/Route107/map.bin"
-
- .align 2
-Route107_Layout:: @ 8298DA4
- .4byte 0x3c
- .4byte 0x14
- .4byte Route107_MapBorder
- .4byte Route107_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Dewford
diff --git a/data/layouts/Route108/layout.inc b/data/layouts/Route108/layout.inc
deleted file mode 100644
index 1c4e97eec..000000000
--- a/data/layouts/Route108/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-Route108_MapBorder:: @ 8298DBC
- .incbin "data/layouts/Route108/border.bin"
-
-Route108_MapBlockdata:: @ 8298DC4
- .incbin "data/layouts/Route108/map.bin"
-
- .align 2
-Route108_Layout:: @ 8299724
- .4byte 0x3c
- .4byte 0x14
- .4byte Route108_MapBorder
- .4byte Route108_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Slateport
diff --git a/data/layouts/Route109/layout.inc b/data/layouts/Route109/layout.inc
deleted file mode 100644
index 9ea7a20ce..000000000
--- a/data/layouts/Route109/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-Route109_MapBorder:: @ 829973C
- .incbin "data/layouts/Route109/border.bin"
-
-Route109_MapBlockdata:: @ 8299744
- .incbin "data/layouts/Route109/map.bin"
-
- .align 2
-Route109_Layout:: @ 829AA04
- .4byte 0x28
- .4byte 0x3c
- .4byte Route109_MapBorder
- .4byte Route109_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Slateport
diff --git a/data/layouts/Route109_SeashoreHouse/layout.inc b/data/layouts/Route109_SeashoreHouse/layout.inc
deleted file mode 100644
index a4c1542ca..000000000
--- a/data/layouts/Route109_SeashoreHouse/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-Route109_SeashoreHouse_MapBorder:: @ 82EDF48
- .incbin "data/layouts/Route109_SeashoreHouse/border.bin"
-
-Route109_SeashoreHouse_MapBlockdata:: @ 82EDF50
- .incbin "data/layouts/Route109_SeashoreHouse/map.bin"
-
- .align 2
-Route109_SeashoreHouse_Layout:: @ 82EE07C
- .4byte 0xf
- .4byte 0xa
- .4byte Route109_SeashoreHouse_MapBorder
- .4byte Route109_SeashoreHouse_MapBlockdata
- .4byte gTileset_Building
- .4byte gTileset_SeashoreHouse
diff --git a/data/layouts/Route110/layout.inc b/data/layouts/Route110/layout.inc
deleted file mode 100644
index df2399715..000000000
--- a/data/layouts/Route110/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-Route110_MapBorder:: @ 829AA1C
- .incbin "data/layouts/Route110/border.bin"
-
-Route110_MapBlockdata:: @ 829AA24
- .incbin "data/layouts/Route110/map.bin"
-
- .align 2
-Route110_Layout:: @ 829C964
- .4byte 0x28
- .4byte 0x64
- .4byte Route110_MapBorder
- .4byte Route110_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Mauville
diff --git a/data/layouts/Route110_SeasideCyclingRoadEntrace/layout.inc b/data/layouts/Route110_SeasideCyclingRoadEntrace/layout.inc
deleted file mode 100644
index 4841f1891..000000000
--- a/data/layouts/Route110_SeasideCyclingRoadEntrace/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-Route110_SeasideCyclingRoadEntrace_MapBorder:: @ 82EFB64
- .incbin "data/layouts/Route110_SeasideCyclingRoadEntrace/border.bin"
-
-Route110_SeasideCyclingRoadEntrace_MapBlockdata:: @ 82EFB6C
- .incbin "data/layouts/Route110_SeasideCyclingRoadEntrace/map.bin"
-
- .align 2
-Route110_SeasideCyclingRoadEntrace_Layout:: @ 82EFC20
- .4byte 0xf
- .4byte 0x6
- .4byte Route110_SeasideCyclingRoadEntrace_MapBorder
- .4byte Route110_SeasideCyclingRoadEntrace_MapBlockdata
- .4byte gTileset_Building
- .4byte gTileset_Shop
diff --git a/data/layouts/Route110_TrickHouseCorridor/layout.inc b/data/layouts/Route110_TrickHouseCorridor/layout.inc
deleted file mode 100644
index a85dd2b14..000000000
--- a/data/layouts/Route110_TrickHouseCorridor/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-Route110_TrickHouseCorridor_MapBorder:: @ 82EE254
- .incbin "data/layouts/Route110_TrickHouseCorridor/border.bin"
-
-Route110_TrickHouseCorridor_MapBlockdata:: @ 82EE25C
- .incbin "data/layouts/Route110_TrickHouseCorridor/map.bin"
-
- .align 2
-Route110_TrickHouseCorridor_Layout:: @ 82EE52C
- .4byte 0xf
- .4byte 0x18
- .4byte Route110_TrickHouseCorridor_MapBorder
- .4byte Route110_TrickHouseCorridor_MapBlockdata
- .4byte gTileset_Building
- .4byte gTileset_GenericBuilding
diff --git a/data/layouts/Route110_TrickHouseEnd/layout.inc b/data/layouts/Route110_TrickHouseEnd/layout.inc
deleted file mode 100644
index d0c414069..000000000
--- a/data/layouts/Route110_TrickHouseEnd/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-Route110_TrickHouseEnd_MapBorder:: @ 82EE174
- .incbin "data/layouts/Route110_TrickHouseEnd/border.bin"
-
-Route110_TrickHouseEnd_MapBlockdata:: @ 82EE17C
- .incbin "data/layouts/Route110_TrickHouseEnd/map.bin"
-
- .align 2
-Route110_TrickHouseEnd_Layout:: @ 82EE23C
- .4byte 0xc
- .4byte 0x8
- .4byte Route110_TrickHouseEnd_MapBorder
- .4byte Route110_TrickHouseEnd_MapBlockdata
- .4byte gTileset_Building
- .4byte gTileset_GenericBuilding
diff --git a/data/layouts/Route110_TrickHouseEntrance/layout.inc b/data/layouts/Route110_TrickHouseEntrance/layout.inc
deleted file mode 100644
index 6ccef43ff..000000000
--- a/data/layouts/Route110_TrickHouseEntrance/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-Route110_TrickHouseEntrance_MapBorder:: @ 82EE094
- .incbin "data/layouts/Route110_TrickHouseEntrance/border.bin"
-
-Route110_TrickHouseEntrance_MapBlockdata:: @ 82EE09C
- .incbin "data/layouts/Route110_TrickHouseEntrance/map.bin"
-
- .align 2
-Route110_TrickHouseEntrance_Layout:: @ 82EE15C
- .4byte 0xc
- .4byte 0x8
- .4byte Route110_TrickHouseEntrance_MapBorder
- .4byte Route110_TrickHouseEntrance_MapBlockdata
- .4byte gTileset_Building
- .4byte gTileset_GenericBuilding
diff --git a/data/layouts/Route110_TrickHousePuzzle1/layout.inc b/data/layouts/Route110_TrickHousePuzzle1/layout.inc
deleted file mode 100644
index 8ad11d641..000000000
--- a/data/layouts/Route110_TrickHousePuzzle1/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-Route110_TrickHousePuzzle1_MapBorder:: @ 82EE544
- .incbin "data/layouts/Route110_TrickHousePuzzle1/border.bin"
-
-Route110_TrickHousePuzzle1_MapBlockdata:: @ 82EE54C
- .incbin "data/layouts/Route110_TrickHousePuzzle1/map.bin"
-
- .align 2
-Route110_TrickHousePuzzle1_Layout:: @ 82EE7E0
- .4byte 0xf
- .4byte 0x16
- .4byte Route110_TrickHousePuzzle1_MapBorder
- .4byte Route110_TrickHousePuzzle1_MapBlockdata
- .4byte gTileset_Building
- .4byte gTileset_TrickHousePuzzle
diff --git a/data/layouts/Route110_TrickHousePuzzle2/layout.inc b/data/layouts/Route110_TrickHousePuzzle2/layout.inc
deleted file mode 100644
index a7750390b..000000000
--- a/data/layouts/Route110_TrickHousePuzzle2/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-Route110_TrickHousePuzzle2_MapBorder:: @ 82EE7F8
- .incbin "data/layouts/Route110_TrickHousePuzzle2/border.bin"
-
-Route110_TrickHousePuzzle2_MapBlockdata:: @ 82EE800
- .incbin "data/layouts/Route110_TrickHousePuzzle2/map.bin"
-
- .align 2
-Route110_TrickHousePuzzle2_Layout:: @ 82EEA94
- .4byte 0xf
- .4byte 0x16
- .4byte Route110_TrickHousePuzzle2_MapBorder
- .4byte Route110_TrickHousePuzzle2_MapBlockdata
- .4byte gTileset_Building
- .4byte gTileset_TrickHousePuzzle
diff --git a/data/layouts/Route110_TrickHousePuzzle3/layout.inc b/data/layouts/Route110_TrickHousePuzzle3/layout.inc
deleted file mode 100644
index 8f49ea03a..000000000
--- a/data/layouts/Route110_TrickHousePuzzle3/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-Route110_TrickHousePuzzle3_MapBorder:: @ 82EEAAC
- .incbin "data/layouts/Route110_TrickHousePuzzle3/border.bin"
-
-Route110_TrickHousePuzzle3_MapBlockdata:: @ 82EEAB4
- .incbin "data/layouts/Route110_TrickHousePuzzle3/map.bin"
-
- .align 2
-Route110_TrickHousePuzzle3_Layout:: @ 82EED48
- .4byte 0xf
- .4byte 0x16
- .4byte Route110_TrickHousePuzzle3_MapBorder
- .4byte Route110_TrickHousePuzzle3_MapBlockdata
- .4byte gTileset_Building
- .4byte gTileset_TrickHousePuzzle
diff --git a/data/layouts/Route110_TrickHousePuzzle4/layout.inc b/data/layouts/Route110_TrickHousePuzzle4/layout.inc
deleted file mode 100644
index 20706bed7..000000000
--- a/data/layouts/Route110_TrickHousePuzzle4/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-Route110_TrickHousePuzzle4_MapBorder:: @ 82EED60
- .incbin "data/layouts/Route110_TrickHousePuzzle4/border.bin"
-
-Route110_TrickHousePuzzle4_MapBlockdata:: @ 82EED68
- .incbin "data/layouts/Route110_TrickHousePuzzle4/map.bin"
-
- .align 2
-Route110_TrickHousePuzzle4_Layout:: @ 82EEFFC
- .4byte 0xf
- .4byte 0x16
- .4byte Route110_TrickHousePuzzle4_MapBorder
- .4byte Route110_TrickHousePuzzle4_MapBlockdata
- .4byte gTileset_Building
- .4byte gTileset_TrickHousePuzzle
diff --git a/data/layouts/Route110_TrickHousePuzzle5/layout.inc b/data/layouts/Route110_TrickHousePuzzle5/layout.inc
deleted file mode 100644
index f01f23322..000000000
--- a/data/layouts/Route110_TrickHousePuzzle5/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-Route110_TrickHousePuzzle5_MapBorder:: @ 82EF014
- .incbin "data/layouts/Route110_TrickHousePuzzle5/border.bin"
-
-Route110_TrickHousePuzzle5_MapBlockdata:: @ 82EF01C
- .incbin "data/layouts/Route110_TrickHousePuzzle5/map.bin"
-
- .align 2
-Route110_TrickHousePuzzle5_Layout:: @ 82EF2B0
- .4byte 0xf
- .4byte 0x16
- .4byte Route110_TrickHousePuzzle5_MapBorder
- .4byte Route110_TrickHousePuzzle5_MapBlockdata
- .4byte gTileset_Building
- .4byte gTileset_TrickHousePuzzle
diff --git a/data/layouts/Route110_TrickHousePuzzle6/layout.inc b/data/layouts/Route110_TrickHousePuzzle6/layout.inc
deleted file mode 100644
index a49bb680f..000000000
--- a/data/layouts/Route110_TrickHousePuzzle6/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-Route110_TrickHousePuzzle6_MapBorder:: @ 82EF2C8
- .incbin "data/layouts/Route110_TrickHousePuzzle6/border.bin"
-
-Route110_TrickHousePuzzle6_MapBlockdata:: @ 82EF2D0
- .incbin "data/layouts/Route110_TrickHousePuzzle6/map.bin"
-
- .align 2
-Route110_TrickHousePuzzle6_Layout:: @ 82EF564
- .4byte 0xf
- .4byte 0x16
- .4byte Route110_TrickHousePuzzle6_MapBorder
- .4byte Route110_TrickHousePuzzle6_MapBlockdata
- .4byte gTileset_Building
- .4byte gTileset_TrickHousePuzzle
diff --git a/data/layouts/Route110_TrickHousePuzzle7/layout.inc b/data/layouts/Route110_TrickHousePuzzle7/layout.inc
deleted file mode 100644
index dcd1b9367..000000000
--- a/data/layouts/Route110_TrickHousePuzzle7/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-Route110_TrickHousePuzzle7_MapBorder:: @ 82EF57C
- .incbin "data/layouts/Route110_TrickHousePuzzle7/border.bin"
-
-Route110_TrickHousePuzzle7_MapBlockdata:: @ 82EF584
- .incbin "data/layouts/Route110_TrickHousePuzzle7/map.bin"
-
- .align 2
-Route110_TrickHousePuzzle7_Layout:: @ 82EF818
- .4byte 0xf
- .4byte 0x16
- .4byte Route110_TrickHousePuzzle7_MapBorder
- .4byte Route110_TrickHousePuzzle7_MapBlockdata
- .4byte gTileset_Building
- .4byte gTileset_TrickHousePuzzle
diff --git a/data/layouts/Route110_TrickHousePuzzle8/layout.inc b/data/layouts/Route110_TrickHousePuzzle8/layout.inc
deleted file mode 100644
index 1c8212684..000000000
--- a/data/layouts/Route110_TrickHousePuzzle8/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-Route110_TrickHousePuzzle8_MapBorder:: @ 82EF830
- .incbin "data/layouts/Route110_TrickHousePuzzle8/border.bin"
-
-Route110_TrickHousePuzzle8_MapBlockdata:: @ 82EF838
- .incbin "data/layouts/Route110_TrickHousePuzzle8/map.bin"
-
- .align 2
-Route110_TrickHousePuzzle8_Layout:: @ 82EFACC
- .4byte 0xf
- .4byte 0x16
- .4byte Route110_TrickHousePuzzle8_MapBorder
- .4byte Route110_TrickHousePuzzle8_MapBlockdata
- .4byte gTileset_Building
- .4byte gTileset_TrickHousePuzzle
diff --git a/data/layouts/Route111/layout.inc b/data/layouts/Route111/layout.inc
deleted file mode 100644
index ff3aa42c4..000000000
--- a/data/layouts/Route111/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-Route111_MapBorder:: @ 829C97C
- .incbin "data/layouts/Route111/border.bin"
-
-Route111_MapBlockdata:: @ 829C984
- .incbin "data/layouts/Route111/map.bin"
-
- .align 2
-Route111_Layout:: @ 829F544
- .4byte 0x28
- .4byte 0x8c
- .4byte Route111_MapBorder
- .4byte Route111_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Mauville
diff --git a/data/layouts/Route112/layout.inc b/data/layouts/Route112/layout.inc
deleted file mode 100644
index fc7caacb7..000000000
--- a/data/layouts/Route112/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-Route112_MapBorder:: @ 829F55C
- .incbin "data/layouts/Route112/border.bin"
-
-Route112_MapBlockdata:: @ 829F564
- .incbin "data/layouts/Route112/map.bin"
-
- .align 2
-Route112_Layout:: @ 82A0824
- .4byte 0x28
- .4byte 0x3c
- .4byte Route112_MapBorder
- .4byte Route112_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Lavaridge
diff --git a/data/layouts/Route113/layout.inc b/data/layouts/Route113/layout.inc
deleted file mode 100644
index f56fc6b9b..000000000
--- a/data/layouts/Route113/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-Route113_MapBorder:: @ 82A083C
- .incbin "data/layouts/Route113/border.bin"
-
-Route113_MapBlockdata:: @ 82A0844
- .incbin "data/layouts/Route113/map.bin"
-
- .align 2
-Route113_Layout:: @ 82A17E4
- .4byte 0x64
- .4byte 0x14
- .4byte Route113_MapBorder
- .4byte Route113_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Fallarbor
diff --git a/data/layouts/Route114/layout.inc b/data/layouts/Route114/layout.inc
deleted file mode 100644
index 440eaf330..000000000
--- a/data/layouts/Route114/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-Route114_MapBorder:: @ 82A17FC
- .incbin "data/layouts/Route114/border.bin"
-
-Route114_MapBlockdata:: @ 82A1804
- .incbin "data/layouts/Route114/map.bin"
-
- .align 2
-Route114_Layout:: @ 82A3104
- .4byte 0x28
- .4byte 0x50
- .4byte Route114_MapBorder
- .4byte Route114_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Fallarbor
diff --git a/data/layouts/Route114_FossilManiacsHouse/layout.inc b/data/layouts/Route114_FossilManiacsHouse/layout.inc
deleted file mode 100644
index 10011c507..000000000
--- a/data/layouts/Route114_FossilManiacsHouse/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-Route114_FossilManiacsHouse_MapBorder:: @ 82D4E24
- .incbin "data/layouts/Route114_FossilManiacsHouse/border.bin"
-
-Route114_FossilManiacsHouse_MapBlockdata:: @ 82D4E2C
- .incbin "data/layouts/Route114_FossilManiacsHouse/map.bin"
-
- .align 2
-Route114_FossilManiacsHouse_Layout:: @ 82D4ECC
- .4byte 0xa
- .4byte 0x8
- .4byte Route114_FossilManiacsHouse_MapBorder
- .4byte Route114_FossilManiacsHouse_MapBlockdata
- .4byte gTileset_Building
- .4byte gTileset_GenericBuilding
diff --git a/data/layouts/Route114_FossilManiacsTunnel/layout.inc b/data/layouts/Route114_FossilManiacsTunnel/layout.inc
deleted file mode 100644
index 0bd281050..000000000
--- a/data/layouts/Route114_FossilManiacsTunnel/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-Route114_FossilManiacsTunnel_MapBorder:: @ 82D4EE4
- .incbin "data/layouts/Route114_FossilManiacsTunnel/border.bin"
-
-Route114_FossilManiacsTunnel_MapBlockdata:: @ 82D4EEC
- .incbin "data/layouts/Route114_FossilManiacsTunnel/map.bin"
-
- .align 2
-Route114_FossilManiacsTunnel_Layout:: @ 82D5190
- .4byte 0xd
- .4byte 0x1a
- .4byte Route114_FossilManiacsTunnel_MapBorder
- .4byte Route114_FossilManiacsTunnel_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Fallarbor
diff --git a/data/layouts/Route114_LanettesHouse/layout.inc b/data/layouts/Route114_LanettesHouse/layout.inc
deleted file mode 100644
index 2018011c3..000000000
--- a/data/layouts/Route114_LanettesHouse/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-Route114_LanettesHouse_MapBorder:: @ 82D51A8
- .incbin "data/layouts/Route114_LanettesHouse/border.bin"
-
-Route114_LanettesHouse_MapBlockdata:: @ 82D51B0
- .incbin "data/layouts/Route114_LanettesHouse/map.bin"
-
- .align 2
-Route114_LanettesHouse_Layout:: @ 82D5260
- .4byte 0xb
- .4byte 0x8
- .4byte Route114_LanettesHouse_MapBorder
- .4byte Route114_LanettesHouse_MapBlockdata
- .4byte gTileset_Building
- .4byte gTileset_Lab
diff --git a/data/layouts/Route115/layout.inc b/data/layouts/Route115/layout.inc
deleted file mode 100644
index fb1b3d99b..000000000
--- a/data/layouts/Route115/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-Route115_MapBorder:: @ 82A311C
- .incbin "data/layouts/Route115/border.bin"
-
-Route115_MapBlockdata:: @ 82A3124
- .incbin "data/layouts/Route115/map.bin"
-
- .align 2
-Route115_Layout:: @ 82A4A24
- .4byte 0x28
- .4byte 0x50
- .4byte Route115_MapBorder
- .4byte Route115_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Fallarbor
diff --git a/data/layouts/Route116/layout.inc b/data/layouts/Route116/layout.inc
deleted file mode 100644
index d7c24705b..000000000
--- a/data/layouts/Route116/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-Route116_MapBorder:: @ 82A4A3C
- .incbin "data/layouts/Route116/border.bin"
-
-Route116_MapBlockdata:: @ 82A4A44
- .incbin "data/layouts/Route116/map.bin"
-
- .align 2
-Route116_Layout:: @ 82A59E4
- .4byte 0x64
- .4byte 0x14
- .4byte Route116_MapBorder
- .4byte Route116_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Rustboro
diff --git a/data/layouts/Route116_TunnelersRestHouse/layout.inc b/data/layouts/Route116_TunnelersRestHouse/layout.inc
deleted file mode 100644
index 7a2a6997c..000000000
--- a/data/layouts/Route116_TunnelersRestHouse/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-Route116_TunnelersRestHouse_MapBorder:: @ 82D5278
- .incbin "data/layouts/Route116_TunnelersRestHouse/border.bin"
-
-Route116_TunnelersRestHouse_MapBlockdata:: @ 82D5280
- .incbin "data/layouts/Route116_TunnelersRestHouse/map.bin"
-
- .align 2
-Route116_TunnelersRestHouse_Layout:: @ 82D5334
- .4byte 0xa
- .4byte 0x9
- .4byte Route116_TunnelersRestHouse_MapBorder
- .4byte Route116_TunnelersRestHouse_MapBlockdata
- .4byte gTileset_Building
- .4byte gTileset_GenericBuilding
diff --git a/data/layouts/Route117/layout.inc b/data/layouts/Route117/layout.inc
deleted file mode 100644
index 552c03c84..000000000
--- a/data/layouts/Route117/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-Route117_MapBorder:: @ 82A59FC
- .incbin "data/layouts/Route117/border.bin"
-
-Route117_MapBlockdata:: @ 82A5A04
- .incbin "data/layouts/Route117/map.bin"
-
- .align 2
-Route117_Layout:: @ 82A6364
- .4byte 0x3c
- .4byte 0x14
- .4byte Route117_MapBorder
- .4byte Route117_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Mauville
diff --git a/data/layouts/Route117_PokemonDayCare/layout.inc b/data/layouts/Route117_PokemonDayCare/layout.inc
deleted file mode 100644
index 2fa028a7b..000000000
--- a/data/layouts/Route117_PokemonDayCare/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-Route117_PokemonDayCare_MapBorder:: @ 82D534C
- .incbin "data/layouts/Route117_PokemonDayCare/border.bin"
-
-Route117_PokemonDayCare_MapBlockdata:: @ 82D5354
- .incbin "data/layouts/Route117_PokemonDayCare/map.bin"
-
- .align 2
-Route117_PokemonDayCare_Layout:: @ 82D542C
- .4byte 0xc
- .4byte 0x9
- .4byte Route117_PokemonDayCare_MapBorder
- .4byte Route117_PokemonDayCare_MapBlockdata
- .4byte gTileset_Building
- .4byte gTileset_PokemonDayCare
diff --git a/data/layouts/Route118/layout.inc b/data/layouts/Route118/layout.inc
deleted file mode 100644
index f61ce1f82..000000000
--- a/data/layouts/Route118/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-Route118_MapBorder:: @ 82A637C
- .incbin "data/layouts/Route118/border.bin"
-
-Route118_MapBlockdata:: @ 82A6384
- .incbin "data/layouts/Route118/map.bin"
-
- .align 2
-Route118_Layout:: @ 82A7004
- .4byte 0x50
- .4byte 0x14
- .4byte Route118_MapBorder
- .4byte Route118_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Mauville
diff --git a/data/layouts/Route119/layout.inc b/data/layouts/Route119/layout.inc
deleted file mode 100644
index ed5f8777a..000000000
--- a/data/layouts/Route119/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-Route119_MapBorder:: @ 82A701C
- .incbin "data/layouts/Route119/border.bin"
-
-Route119_MapBlockdata:: @ 82A7024
- .incbin "data/layouts/Route119/map.bin"
-
- .align 2
-Route119_Layout:: @ 82A9BE4
- .4byte 0x28
- .4byte 0x8c
- .4byte Route119_MapBorder
- .4byte Route119_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Fortree
diff --git a/data/layouts/Route119_WeatherInstitute_1F/layout.inc b/data/layouts/Route119_WeatherInstitute_1F/layout.inc
deleted file mode 100644
index bc0f92dfe..000000000
--- a/data/layouts/Route119_WeatherInstitute_1F/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-Route119_WeatherInstitute_1F_MapBorder:: @ 82F2AC8
- .incbin "data/layouts/Route119_WeatherInstitute_1F/border.bin"
-
-Route119_WeatherInstitute_1F_MapBlockdata:: @ 82F2AD0
- .incbin "data/layouts/Route119_WeatherInstitute_1F/map.bin"
-
- .align 2
-Route119_WeatherInstitute_1F_Layout:: @ 82F2CD8
- .4byte 0x14
- .4byte 0xd
- .4byte Route119_WeatherInstitute_1F_MapBorder
- .4byte Route119_WeatherInstitute_1F_MapBlockdata
- .4byte gTileset_Building
- .4byte gTileset_Lab
diff --git a/data/layouts/Route119_WeatherInstitute_2F/layout.inc b/data/layouts/Route119_WeatherInstitute_2F/layout.inc
deleted file mode 100644
index df864d9de..000000000
--- a/data/layouts/Route119_WeatherInstitute_2F/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-Route119_WeatherInstitute_2F_MapBorder:: @ 82F2CF0
- .incbin "data/layouts/Route119_WeatherInstitute_2F/border.bin"
-
-Route119_WeatherInstitute_2F_MapBlockdata:: @ 82F2CF8
- .incbin "data/layouts/Route119_WeatherInstitute_2F/map.bin"
-
- .align 2
-Route119_WeatherInstitute_2F_Layout:: @ 82F2EB0
- .4byte 0x14
- .4byte 0xb
- .4byte Route119_WeatherInstitute_2F_MapBorder
- .4byte Route119_WeatherInstitute_2F_MapBlockdata
- .4byte gTileset_Building
- .4byte gTileset_Lab
diff --git a/data/layouts/Route120/layout.inc b/data/layouts/Route120/layout.inc
deleted file mode 100644
index bc1d57778..000000000
--- a/data/layouts/Route120/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-Route120_MapBorder:: @ 82A9BFC
- .incbin "data/layouts/Route120/border.bin"
-
-Route120_MapBlockdata:: @ 82A9C04
- .incbin "data/layouts/Route120/map.bin"
-
- .align 2
-Route120_Layout:: @ 82ABB44
- .4byte 0x28
- .4byte 0x64
- .4byte Route120_MapBorder
- .4byte Route120_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Fortree
diff --git a/data/layouts/Route121/layout.inc b/data/layouts/Route121/layout.inc
deleted file mode 100644
index a65e5c17d..000000000
--- a/data/layouts/Route121/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-Route121_MapBorder:: @ 82ABB5C
- .incbin "data/layouts/Route121/border.bin"
-
-Route121_MapBlockdata:: @ 82ABB64
- .incbin "data/layouts/Route121/map.bin"
-
- .align 2
-Route121_Layout:: @ 82AC7E4
- .4byte 0x50
- .4byte 0x14
- .4byte Route121_MapBorder
- .4byte Route121_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Lilycove
diff --git a/data/layouts/Route121_SafariZoneEntrance/layout.inc b/data/layouts/Route121_SafariZoneEntrance/layout.inc
deleted file mode 100644
index db083c158..000000000
--- a/data/layouts/Route121_SafariZoneEntrance/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-Route121_SafariZoneEntrance_MapBorder:: @ 82D5444
- .incbin "data/layouts/Route121_SafariZoneEntrance/border.bin"
-
-Route121_SafariZoneEntrance_MapBlockdata:: @ 82D544C
- .incbin "data/layouts/Route121_SafariZoneEntrance/map.bin"
-
- .align 2
-Route121_SafariZoneEntrance_Layout:: @ 82D5644
- .4byte 0x12
- .4byte 0xe
- .4byte Route121_SafariZoneEntrance_MapBorder
- .4byte Route121_SafariZoneEntrance_MapBlockdata
- .4byte gTileset_Building
- .4byte gTileset_Shop
diff --git a/data/layouts/Route122/layout.inc b/data/layouts/Route122/layout.inc
deleted file mode 100644
index ce89713e3..000000000
--- a/data/layouts/Route122/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-Route122_MapBorder:: @ 82AC7FC
- .incbin "data/layouts/Route122/border.bin"
-
-Route122_MapBlockdata:: @ 82AC804
- .incbin "data/layouts/Route122/map.bin"
-
- .align 2
-Route122_Layout:: @ 82AD484
- .4byte 0x28
- .4byte 0x28
- .4byte Route122_MapBorder
- .4byte Route122_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Lilycove
diff --git a/data/layouts/Route123/layout.inc b/data/layouts/Route123/layout.inc
deleted file mode 100644
index 0acdf7008..000000000
--- a/data/layouts/Route123/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-Route123_MapBorder:: @ 82AD49C
- .incbin "data/layouts/Route123/border.bin"
-
-Route123_MapBlockdata:: @ 82AD4A4
- .incbin "data/layouts/Route123/map.bin"
-
- .align 2
-Route123_Layout:: @ 82AEA84
- .4byte 0x8c
- .4byte 0x14
- .4byte Route123_MapBorder
- .4byte Route123_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Lilycove
diff --git a/data/layouts/Route124/layout.inc b/data/layouts/Route124/layout.inc
deleted file mode 100644
index dddf9ad05..000000000
--- a/data/layouts/Route124/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-Route124_MapBorder:: @ 82AEA9C
- .incbin "data/layouts/Route124/border.bin"
-
-Route124_MapBlockdata:: @ 82AEAA4
- .incbin "data/layouts/Route124/map.bin"
-
- .align 2
-Route124_Layout:: @ 82B1CA4
- .4byte 0x50
- .4byte 0x50
- .4byte Route124_MapBorder
- .4byte Route124_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Mossdeep
diff --git a/data/layouts/Route124_DivingTreasureHuntersHouse/layout.inc b/data/layouts/Route124_DivingTreasureHuntersHouse/layout.inc
deleted file mode 100644
index 31f8a8ebf..000000000
--- a/data/layouts/Route124_DivingTreasureHuntersHouse/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-Route124_DivingTreasureHuntersHouse_MapBorder:: @ 82FC7EC
- .incbin "data/layouts/Route124_DivingTreasureHuntersHouse/border.bin"
-
-Route124_DivingTreasureHuntersHouse_MapBlockdata:: @ 82FC7F4
- .incbin "data/layouts/Route124_DivingTreasureHuntersHouse/map.bin"
-
- .align 2
-Route124_DivingTreasureHuntersHouse_Layout:: @ 82FC8A8
- .4byte 0xa
- .4byte 0x9
- .4byte Route124_DivingTreasureHuntersHouse_MapBorder
- .4byte Route124_DivingTreasureHuntersHouse_MapBlockdata
- .4byte gTileset_Building
- .4byte gTileset_GenericBuilding
diff --git a/data/layouts/Route125/layout.inc b/data/layouts/Route125/layout.inc
deleted file mode 100644
index 43bb875c9..000000000
--- a/data/layouts/Route125/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-Route125_MapBorder:: @ 82B1CBC
- .incbin "data/layouts/Route125/border.bin"
-
-Route125_MapBlockdata:: @ 82B1CC4
- .incbin "data/layouts/Route125/map.bin"
-
- .align 2
-Route125_Layout:: @ 82B35C4
- .4byte 0x50
- .4byte 0x28
- .4byte Route125_MapBorder
- .4byte Route125_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Mossdeep
diff --git a/data/layouts/Route126/layout.inc b/data/layouts/Route126/layout.inc
deleted file mode 100644
index ad03b109b..000000000
--- a/data/layouts/Route126/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-Route126_MapBorder:: @ 82B35DC
- .incbin "data/layouts/Route126/border.bin"
-
-Route126_MapBlockdata:: @ 82B35E4
- .incbin "data/layouts/Route126/map.bin"
-
- .align 2
-Route126_Layout:: @ 82B67E4
- .4byte 0x50
- .4byte 0x50
- .4byte Route126_MapBorder
- .4byte Route126_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Mossdeep
diff --git a/data/layouts/Route127/layout.inc b/data/layouts/Route127/layout.inc
deleted file mode 100644
index dcb0e27bc..000000000
--- a/data/layouts/Route127/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-Route127_MapBorder:: @ 82B67FC
- .incbin "data/layouts/Route127/border.bin"
-
-Route127_MapBlockdata:: @ 82B6804
- .incbin "data/layouts/Route127/map.bin"
-
- .align 2
-Route127_Layout:: @ 82B9A04
- .4byte 0x50
- .4byte 0x50
- .4byte Route127_MapBorder
- .4byte Route127_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Mossdeep
diff --git a/data/layouts/Route128/layout.inc b/data/layouts/Route128/layout.inc
deleted file mode 100644
index 056baadf4..000000000
--- a/data/layouts/Route128/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-Route128_MapBorder:: @ 82B9A1C
- .incbin "data/layouts/Route128/border.bin"
-
-Route128_MapBlockdata:: @ 82B9A24
- .incbin "data/layouts/Route128/map.bin"
-
- .align 2
-Route128_Layout:: @ 82BBFA4
- .4byte 0x78
- .4byte 0x28
- .4byte Route128_MapBorder
- .4byte Route128_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Mossdeep
diff --git a/data/layouts/Route129/layout.inc b/data/layouts/Route129/layout.inc
deleted file mode 100644
index ba264dc1e..000000000
--- a/data/layouts/Route129/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-Route129_MapBorder:: @ 82BBFBC
- .incbin "data/layouts/Route129/border.bin"
-
-Route129_MapBlockdata:: @ 82BBFC4
- .incbin "data/layouts/Route129/map.bin"
-
- .align 2
-Route129_Layout:: @ 82BD8C4
- .4byte 0x50
- .4byte 0x28
- .4byte Route129_MapBorder
- .4byte Route129_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Mossdeep
diff --git a/data/layouts/Route130/layout.inc b/data/layouts/Route130/layout.inc
deleted file mode 100644
index 234824abf..000000000
--- a/data/layouts/Route130/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-Route130_MapBorder:: @ 82F0448
- .incbin "data/layouts/Route130/border.bin"
-
-Route130_MapBlockdata:: @ 82F0450
- .incbin "data/layouts/Route130/map.bin"
-
- .align 2
-Route130_Layout:: @ 82F1D50
- .4byte 0x50
- .4byte 0x28
- .4byte Route130_MapBorder
- .4byte Route130_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Cave
diff --git a/data/layouts/Route131/layout.inc b/data/layouts/Route131/layout.inc
deleted file mode 100644
index 86467c2d4..000000000
--- a/data/layouts/Route131/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-Route131_MapBorder:: @ 82BF1FC
- .incbin "data/layouts/Route131/border.bin"
-
-Route131_MapBlockdata:: @ 82BF204
- .incbin "data/layouts/Route131/map.bin"
-
- .align 2
-Route131_Layout:: @ 82C04C4
- .4byte 0x3c
- .4byte 0x28
- .4byte Route131_MapBorder
- .4byte Route131_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Pacifidlog
diff --git a/data/layouts/Route132/layout.inc b/data/layouts/Route132/layout.inc
deleted file mode 100644
index f59bbc923..000000000
--- a/data/layouts/Route132/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-Route132_MapBorder:: @ 82C04DC
- .incbin "data/layouts/Route132/border.bin"
-
-Route132_MapBlockdata:: @ 82C04E4
- .incbin "data/layouts/Route132/map.bin"
-
- .align 2
-Route132_Layout:: @ 82C1DE4
- .4byte 0x50
- .4byte 0x28
- .4byte Route132_MapBorder
- .4byte Route132_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Pacifidlog
diff --git a/data/layouts/Route133/layout.inc b/data/layouts/Route133/layout.inc
deleted file mode 100644
index e9be93e17..000000000
--- a/data/layouts/Route133/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-Route133_MapBorder:: @ 82C1DFC
- .incbin "data/layouts/Route133/border.bin"
-
-Route133_MapBlockdata:: @ 82C1E04
- .incbin "data/layouts/Route133/map.bin"
-
- .align 2
-Route133_Layout:: @ 82C3704
- .4byte 0x50
- .4byte 0x28
- .4byte Route133_MapBorder
- .4byte Route133_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Pacifidlog
diff --git a/data/layouts/Route134/layout.inc b/data/layouts/Route134/layout.inc
deleted file mode 100644
index 91e9cab8a..000000000
--- a/data/layouts/Route134/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-Route134_MapBorder:: @ 82C371C
- .incbin "data/layouts/Route134/border.bin"
-
-Route134_MapBlockdata:: @ 82C3724
- .incbin "data/layouts/Route134/map.bin"
-
- .align 2
-Route134_Layout:: @ 82C5024
- .4byte 0x50
- .4byte 0x28
- .4byte Route134_MapBorder
- .4byte Route134_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Pacifidlog
diff --git a/data/layouts/RustboroCity/layout.inc b/data/layouts/RustboroCity/layout.inc
deleted file mode 100644
index 7f37d8f74..000000000
--- a/data/layouts/RustboroCity/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-RustboroCity_MapBorder:: @ 82892CC
- .incbin "data/layouts/RustboroCity/border.bin"
-
-RustboroCity_MapBlockdata:: @ 82892D4
- .incbin "data/layouts/RustboroCity/map.bin"
-
- .align 2
-RustboroCity_Layout:: @ 828A594
- .4byte 0x28
- .4byte 0x3c
- .4byte RustboroCity_MapBorder
- .4byte RustboroCity_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Rustboro
diff --git a/data/layouts/RustboroCity_CuttersHouse/layout.inc b/data/layouts/RustboroCity_CuttersHouse/layout.inc
deleted file mode 100644
index c13b660d9..000000000
--- a/data/layouts/RustboroCity_CuttersHouse/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-RustboroCity_CuttersHouse_MapBorder:: @ 82D19EC
- .incbin "data/layouts/RustboroCity_CuttersHouse/border.bin"
-
-RustboroCity_CuttersHouse_MapBlockdata:: @ 82D19F4
- .incbin "data/layouts/RustboroCity_CuttersHouse/map.bin"
-
- .align 2
-RustboroCity_CuttersHouse_Layout:: @ 82D1ABC
- .4byte 0xb
- .4byte 0x9
- .4byte RustboroCity_CuttersHouse_MapBorder
- .4byte RustboroCity_CuttersHouse_MapBlockdata
- .4byte gTileset_Building
- .4byte gTileset_GenericBuilding
diff --git a/data/layouts/RustboroCity_DevonCorp_1F/layout.inc b/data/layouts/RustboroCity_DevonCorp_1F/layout.inc
deleted file mode 100644
index d5c85b2a6..000000000
--- a/data/layouts/RustboroCity_DevonCorp_1F/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-RustboroCity_DevonCorp_1F_MapBorder:: @ 82D1228
- .incbin "data/layouts/RustboroCity_DevonCorp_1F/border.bin"
-
-RustboroCity_DevonCorp_1F_MapBlockdata:: @ 82D1230
- .incbin "data/layouts/RustboroCity_DevonCorp_1F/map.bin"
-
- .align 2
-RustboroCity_DevonCorp_1F_Layout:: @ 82D1388
- .4byte 0x13
- .4byte 0x9
- .4byte RustboroCity_DevonCorp_1F_MapBorder
- .4byte RustboroCity_DevonCorp_1F_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Facility
diff --git a/data/layouts/RustboroCity_DevonCorp_2F/layout.inc b/data/layouts/RustboroCity_DevonCorp_2F/layout.inc
deleted file mode 100644
index aa13c9810..000000000
--- a/data/layouts/RustboroCity_DevonCorp_2F/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-RustboroCity_DevonCorp_2F_MapBorder:: @ 82D13A0
- .incbin "data/layouts/RustboroCity_DevonCorp_2F/border.bin"
-
-RustboroCity_DevonCorp_2F_MapBlockdata:: @ 82D13A8
- .incbin "data/layouts/RustboroCity_DevonCorp_2F/map.bin"
-
- .align 2
-RustboroCity_DevonCorp_2F_Layout:: @ 82D1500
- .4byte 0x13
- .4byte 0x9
- .4byte RustboroCity_DevonCorp_2F_MapBorder
- .4byte RustboroCity_DevonCorp_2F_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Facility
diff --git a/data/layouts/RustboroCity_DevonCorp_3F/layout.inc b/data/layouts/RustboroCity_DevonCorp_3F/layout.inc
deleted file mode 100644
index b033a84f1..000000000
--- a/data/layouts/RustboroCity_DevonCorp_3F/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-RustboroCity_DevonCorp_3F_MapBorder:: @ 82F2768
- .incbin "data/layouts/RustboroCity_DevonCorp_3F/border.bin"
-
-RustboroCity_DevonCorp_3F_MapBlockdata:: @ 82F2770
- .incbin "data/layouts/RustboroCity_DevonCorp_3F/map.bin"
-
- .align 2
-RustboroCity_DevonCorp_3F_Layout:: @ 82F28C8
- .4byte 0x13
- .4byte 0x9
- .4byte RustboroCity_DevonCorp_3F_MapBorder
- .4byte RustboroCity_DevonCorp_3F_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Facility
diff --git a/data/layouts/RustboroCity_Flat1_1F/layout.inc b/data/layouts/RustboroCity_Flat1_1F/layout.inc
deleted file mode 100644
index 449157295..000000000
--- a/data/layouts/RustboroCity_Flat1_1F/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-RustboroCity_Flat1_1F_MapBorder:: @ 82FF8AC
- .incbin "data/layouts/RustboroCity_Flat1_1F/border.bin"
-
-RustboroCity_Flat1_1F_MapBlockdata:: @ 82FF8B4
- .incbin "data/layouts/RustboroCity_Flat1_1F/map.bin"
-
- .align 2
-RustboroCity_Flat1_1F_Layout:: @ 82FF994
- .4byte 0xe
- .4byte 0x8
- .4byte RustboroCity_Flat1_1F_MapBorder
- .4byte RustboroCity_Flat1_1F_MapBlockdata
- .4byte gTileset_Building
- .4byte gTileset_GenericBuilding
diff --git a/data/layouts/RustboroCity_Flat1_2F/layout.inc b/data/layouts/RustboroCity_Flat1_2F/layout.inc
deleted file mode 100644
index 804f8af4f..000000000
--- a/data/layouts/RustboroCity_Flat1_2F/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-RustboroCity_Flat1_2F_MapBorder:: @ 82FF9AC
- .incbin "data/layouts/RustboroCity_Flat1_2F/border.bin"
-
-RustboroCity_Flat1_2F_MapBlockdata:: @ 82FF9B4
- .incbin "data/layouts/RustboroCity_Flat1_2F/map.bin"
-
- .align 2
-RustboroCity_Flat1_2F_Layout:: @ 82FFA94
- .4byte 0xe
- .4byte 0x8
- .4byte RustboroCity_Flat1_2F_MapBorder
- .4byte RustboroCity_Flat1_2F_MapBlockdata
- .4byte gTileset_Building
- .4byte gTileset_GenericBuilding
diff --git a/data/layouts/RustboroCity_Flat2_1F/layout.inc b/data/layouts/RustboroCity_Flat2_1F/layout.inc
deleted file mode 100644
index 8f25d160e..000000000
--- a/data/layouts/RustboroCity_Flat2_1F/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-RustboroCity_Flat2_1F_MapBorder:: @ 82FBFF8
- .incbin "data/layouts/RustboroCity_Flat2_1F/border.bin"
-
-RustboroCity_Flat2_1F_MapBlockdata:: @ 82FC000
- .incbin "data/layouts/RustboroCity_Flat2_1F/map.bin"
-
- .align 2
-RustboroCity_Flat2_1F_Layout:: @ 82FC0FC
- .4byte 0xe
- .4byte 0x9
- .4byte RustboroCity_Flat2_1F_MapBorder
- .4byte RustboroCity_Flat2_1F_MapBlockdata
- .4byte gTileset_Building
- .4byte gTileset_GenericBuilding
diff --git a/data/layouts/RustboroCity_Flat2_2F/layout.inc b/data/layouts/RustboroCity_Flat2_2F/layout.inc
deleted file mode 100644
index 3d08ed34e..000000000
--- a/data/layouts/RustboroCity_Flat2_2F/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-RustboroCity_Flat2_2F_MapBorder:: @ 82FC114
- .incbin "data/layouts/RustboroCity_Flat2_2F/border.bin"
-
-RustboroCity_Flat2_2F_MapBlockdata:: @ 82FC11C
- .incbin "data/layouts/RustboroCity_Flat2_2F/map.bin"
-
- .align 2
-RustboroCity_Flat2_2F_Layout:: @ 82FC218
- .4byte 0xe
- .4byte 0x9
- .4byte RustboroCity_Flat2_2F_MapBorder
- .4byte RustboroCity_Flat2_2F_MapBlockdata
- .4byte gTileset_Building
- .4byte gTileset_GenericBuilding
diff --git a/data/layouts/RustboroCity_Flat2_3F/layout.inc b/data/layouts/RustboroCity_Flat2_3F/layout.inc
deleted file mode 100644
index c4b09da1c..000000000
--- a/data/layouts/RustboroCity_Flat2_3F/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-RustboroCity_Flat2_3F_MapBorder:: @ 82FC230
- .incbin "data/layouts/RustboroCity_Flat2_3F/border.bin"
-
-RustboroCity_Flat2_3F_MapBlockdata:: @ 82FC238
- .incbin "data/layouts/RustboroCity_Flat2_3F/map.bin"
-
- .align 2
-RustboroCity_Flat2_3F_Layout:: @ 82FC334
- .4byte 0xe
- .4byte 0x9
- .4byte RustboroCity_Flat2_3F_MapBorder
- .4byte RustboroCity_Flat2_3F_MapBlockdata
- .4byte gTileset_Building
- .4byte gTileset_GenericBuilding
diff --git a/data/layouts/RustboroCity_Gym/layout.inc b/data/layouts/RustboroCity_Gym/layout.inc
deleted file mode 100644
index 5c17a62ef..000000000
--- a/data/layouts/RustboroCity_Gym/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-RustboroCity_Gym_MapBorder:: @ 82D1518
- .incbin "data/layouts/RustboroCity_Gym/border.bin"
-
-RustboroCity_Gym_MapBlockdata:: @ 82D1520
- .incbin "data/layouts/RustboroCity_Gym/map.bin"
-
- .align 2
-RustboroCity_Gym_Layout:: @ 82D16C4
- .4byte 0xb
- .4byte 0x13
- .4byte RustboroCity_Gym_MapBorder
- .4byte RustboroCity_Gym_MapBlockdata
- .4byte gTileset_Building
- .4byte gTileset_RustboroGym
diff --git a/data/layouts/RustboroCity_House/layout.inc b/data/layouts/RustboroCity_House/layout.inc
deleted file mode 100644
index 9d523190e..000000000
--- a/data/layouts/RustboroCity_House/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-RustboroCity_House_MapBorder:: @ 82D1804
- .incbin "data/layouts/RustboroCity_House/border.bin"
-
-RustboroCity_House_MapBlockdata:: @ 82D180C
- .incbin "data/layouts/RustboroCity_House/map.bin"
-
- .align 2
-RustboroCity_House_Layout:: @ 82D18E4
- .4byte 0xc
- .4byte 0x9
- .4byte RustboroCity_House_MapBorder
- .4byte RustboroCity_House_MapBlockdata
- .4byte gTileset_Building
- .4byte gTileset_GenericBuilding
diff --git a/data/layouts/RustboroCity_House1/layout.inc b/data/layouts/RustboroCity_House1/layout.inc
deleted file mode 100644
index 8635c91af..000000000
--- a/data/layouts/RustboroCity_House1/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-RustboroCity_House1_MapBorder:: @ 82D18FC
- .incbin "data/layouts/RustboroCity_House1/border.bin"
-
-RustboroCity_House1_MapBlockdata:: @ 82D1904
- .incbin "data/layouts/RustboroCity_House1/map.bin"
-
- .align 2
-RustboroCity_House1_Layout:: @ 82D19D4
- .4byte 0xd
- .4byte 0x8
- .4byte RustboroCity_House1_MapBorder
- .4byte RustboroCity_House1_MapBlockdata
- .4byte gTileset_Building
- .4byte gTileset_GenericBuilding
diff --git a/data/layouts/RustboroCity_PokemonSchool/layout.inc b/data/layouts/RustboroCity_PokemonSchool/layout.inc
deleted file mode 100644
index 7c284c712..000000000
--- a/data/layouts/RustboroCity_PokemonSchool/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-RustboroCity_PokemonSchool_MapBorder:: @ 82D16DC
- .incbin "data/layouts/RustboroCity_PokemonSchool/border.bin"
-
-RustboroCity_PokemonSchool_MapBlockdata:: @ 82D16E4
- .incbin "data/layouts/RustboroCity_PokemonSchool/map.bin"
-
- .align 2
-RustboroCity_PokemonSchool_Layout:: @ 82D17EC
- .4byte 0xc
- .4byte 0xb
- .4byte RustboroCity_PokemonSchool_MapBorder
- .4byte RustboroCity_PokemonSchool_MapBlockdata
- .4byte gTileset_Building
- .4byte gTileset_PokemonSchool
diff --git a/data/layouts/RusturfTunnel/layout.inc b/data/layouts/RusturfTunnel/layout.inc
deleted file mode 100644
index 94e2c858b..000000000
--- a/data/layouts/RusturfTunnel/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-RusturfTunnel_MapBorder:: @ 82D725C
- .incbin "data/layouts/RusturfTunnel/border.bin"
-
-RusturfTunnel_MapBlockdata:: @ 82D7264
- .incbin "data/layouts/RusturfTunnel/map.bin"
-
- .align 2
-RusturfTunnel_Layout:: @ 82D7924
- .4byte 0x24
- .4byte 0x18
- .4byte RusturfTunnel_MapBorder
- .4byte RusturfTunnel_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_RusturfTunnel
diff --git a/data/layouts/SSTidalCorridor/layout.inc b/data/layouts/SSTidalCorridor/layout.inc
deleted file mode 100644
index 7e6ce5d5e..000000000
--- a/data/layouts/SSTidalCorridor/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SSTidalCorridor_MapBorder:: @ 82F63F8
- .incbin "data/layouts/SSTidalCorridor/border.bin"
-
-SSTidalCorridor_MapBlockdata:: @ 82F6400
- .incbin "data/layouts/SSTidalCorridor/map.bin"
-
- .align 2
-SSTidalCorridor_Layout:: @ 82F65D4
- .4byte 0x12
- .4byte 0xd
- .4byte SSTidalCorridor_MapBorder
- .4byte SSTidalCorridor_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Ship
diff --git a/data/layouts/SSTidalLowerDeck/layout.inc b/data/layouts/SSTidalLowerDeck/layout.inc
deleted file mode 100644
index 5054d8c1d..000000000
--- a/data/layouts/SSTidalLowerDeck/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SSTidalLowerDeck_MapBorder:: @ 82F65EC
- .incbin "data/layouts/SSTidalLowerDeck/border.bin"
-
-SSTidalLowerDeck_MapBlockdata:: @ 82F65F4
- .incbin "data/layouts/SSTidalLowerDeck/map.bin"
-
- .align 2
-SSTidalLowerDeck_Layout:: @ 82F67B0
- .4byte 0x11
- .4byte 0xd
- .4byte SSTidalLowerDeck_MapBorder
- .4byte SSTidalLowerDeck_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Ship
diff --git a/data/layouts/SSTidalRooms/layout.inc b/data/layouts/SSTidalRooms/layout.inc
deleted file mode 100644
index cbfe5ba5c..000000000
--- a/data/layouts/SSTidalRooms/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SSTidalRooms_MapBorder:: @ 82F67C8
- .incbin "data/layouts/SSTidalRooms/border.bin"
-
-SSTidalRooms_MapBlockdata:: @ 82F67D0
- .incbin "data/layouts/SSTidalRooms/map.bin"
-
- .align 2
-SSTidalRooms_Layout:: @ 82F6CE0
- .4byte 0x24
- .4byte 0x12
- .4byte SSTidalRooms_MapBorder
- .4byte SSTidalRooms_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Ship
diff --git a/data/layouts/SafariZone_Northeast/layout.inc b/data/layouts/SafariZone_Northeast/layout.inc
deleted file mode 100644
index 9fa27626e..000000000
--- a/data/layouts/SafariZone_Northeast/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SafariZone_Northeast_MapBorder:: @ 82EAD80
- .incbin "data/layouts/SafariZone_Northeast/border.bin"
-
-SafariZone_Northeast_MapBlockdata:: @ 82EAD88
- .incbin "data/layouts/SafariZone_Northeast/map.bin"
-
- .align 2
-SafariZone_Northeast_Layout:: @ 82EBA08
- .4byte 0x28
- .4byte 0x28
- .4byte SafariZone_Northeast_MapBorder
- .4byte SafariZone_Northeast_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Lilycove
diff --git a/data/layouts/SafariZone_Northwest/layout.inc b/data/layouts/SafariZone_Northwest/layout.inc
deleted file mode 100644
index b3a82fd0f..000000000
--- a/data/layouts/SafariZone_Northwest/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SafariZone_Northwest_MapBorder:: @ 82EA0E0
- .incbin "data/layouts/SafariZone_Northwest/border.bin"
-
-SafariZone_Northwest_MapBlockdata:: @ 82EA0E8
- .incbin "data/layouts/SafariZone_Northwest/map.bin"
-
- .align 2
-SafariZone_Northwest_Layout:: @ 82EAD68
- .4byte 0x28
- .4byte 0x28
- .4byte SafariZone_Northwest_MapBorder
- .4byte SafariZone_Northwest_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Lilycove
diff --git a/data/layouts/SafariZone_RestHouse/layout.inc b/data/layouts/SafariZone_RestHouse/layout.inc
deleted file mode 100644
index 127289873..000000000
--- a/data/layouts/SafariZone_RestHouse/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SafariZone_RestHouse_MapBorder:: @ 830476C
- .incbin "data/layouts/SafariZone_RestHouse/border.bin"
-
-SafariZone_RestHouse_MapBlockdata:: @ 8304774
- .incbin "data/layouts/SafariZone_RestHouse/map.bin"
-
- .align 2
-SafariZone_RestHouse_Layout:: @ 8304828
- .4byte 0xa
- .4byte 0x9
- .4byte SafariZone_RestHouse_MapBorder
- .4byte SafariZone_RestHouse_MapBlockdata
- .4byte gTileset_Building
- .4byte gTileset_GenericBuilding
diff --git a/data/layouts/SafariZone_Southeast/layout.inc b/data/layouts/SafariZone_Southeast/layout.inc
deleted file mode 100644
index 8893cb6a1..000000000
--- a/data/layouts/SafariZone_Southeast/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SafariZone_Southeast_MapBorder:: @ 82EC6C0
- .incbin "data/layouts/SafariZone_Southeast/border.bin"
-
-SafariZone_Southeast_MapBlockdata:: @ 82EC6C8
- .incbin "data/layouts/SafariZone_Southeast/map.bin"
-
- .align 2
-SafariZone_Southeast_Layout:: @ 82ED348
- .4byte 0x28
- .4byte 0x28
- .4byte SafariZone_Southeast_MapBorder
- .4byte SafariZone_Southeast_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Lilycove
diff --git a/data/layouts/SafariZone_Southwest/layout.inc b/data/layouts/SafariZone_Southwest/layout.inc
deleted file mode 100644
index 58f199ac6..000000000
--- a/data/layouts/SafariZone_Southwest/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SafariZone_Southwest_MapBorder:: @ 82EBA20
- .incbin "data/layouts/SafariZone_Southwest/border.bin"
-
-SafariZone_Southwest_MapBlockdata:: @ 82EBA28
- .incbin "data/layouts/SafariZone_Southwest/map.bin"
-
- .align 2
-SafariZone_Southwest_Layout:: @ 82EC6A8
- .4byte 0x28
- .4byte 0x28
- .4byte SafariZone_Southwest_MapBorder
- .4byte SafariZone_Southwest_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Lilycove
diff --git a/data/layouts/ScorchedSlab/layout.inc b/data/layouts/ScorchedSlab/layout.inc
deleted file mode 100644
index 52d172a89..000000000
--- a/data/layouts/ScorchedSlab/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-ScorchedSlab_MapBorder:: @ 82FF340
- .incbin "data/layouts/ScorchedSlab/border.bin"
-
-ScorchedSlab_MapBlockdata:: @ 82FF348
- .incbin "data/layouts/ScorchedSlab/map.bin"
-
- .align 2
-ScorchedSlab_Layout:: @ 82FF5A0
- .4byte 0xf
- .4byte 0x14
- .4byte ScorchedSlab_MapBorder
- .4byte ScorchedSlab_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Cave
diff --git a/data/layouts/SeafloorCavern_Entrance/layout.inc b/data/layouts/SeafloorCavern_Entrance/layout.inc
deleted file mode 100644
index bfdb7cdbd..000000000
--- a/data/layouts/SeafloorCavern_Entrance/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SeafloorCavern_Entrance_MapBorder:: @ 82DD3D0
- .incbin "data/layouts/SeafloorCavern_Entrance/border.bin"
-
-SeafloorCavern_Entrance_MapBlockdata:: @ 82DD3D8
- .incbin "data/layouts/SeafloorCavern_Entrance/map.bin"
-
- .align 2
-SeafloorCavern_Entrance_Layout:: @ 82DD6F8
- .4byte 0x14
- .4byte 0x14
- .4byte SeafloorCavern_Entrance_MapBorder
- .4byte SeafloorCavern_Entrance_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Cave
diff --git a/data/layouts/SeafloorCavern_Room1/layout.inc b/data/layouts/SeafloorCavern_Room1/layout.inc
deleted file mode 100644
index 3ebfd886f..000000000
--- a/data/layouts/SeafloorCavern_Room1/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SeafloorCavern_Room1_MapBorder:: @ 82DD710
- .incbin "data/layouts/SeafloorCavern_Room1/border.bin"
-
-SeafloorCavern_Room1_MapBlockdata:: @ 82DD718
- .incbin "data/layouts/SeafloorCavern_Room1/map.bin"
-
- .align 2
-SeafloorCavern_Room1_Layout:: @ 82DDA60
- .4byte 0x14
- .4byte 0x15
- .4byte SeafloorCavern_Room1_MapBorder
- .4byte SeafloorCavern_Room1_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Cave
diff --git a/data/layouts/SeafloorCavern_Room2/layout.inc b/data/layouts/SeafloorCavern_Room2/layout.inc
deleted file mode 100644
index 86a7134ed..000000000
--- a/data/layouts/SeafloorCavern_Room2/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SeafloorCavern_Room2_MapBorder:: @ 82DDA78
- .incbin "data/layouts/SeafloorCavern_Room2/border.bin"
-
-SeafloorCavern_Room2_MapBlockdata:: @ 82DDA80
- .incbin "data/layouts/SeafloorCavern_Room2/map.bin"
-
- .align 2
-SeafloorCavern_Room2_Layout:: @ 82DDD74
- .4byte 0x12
- .4byte 0x15
- .4byte SeafloorCavern_Room2_MapBorder
- .4byte SeafloorCavern_Room2_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Cave
diff --git a/data/layouts/SeafloorCavern_Room3/layout.inc b/data/layouts/SeafloorCavern_Room3/layout.inc
deleted file mode 100644
index 0e660f4f3..000000000
--- a/data/layouts/SeafloorCavern_Room3/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SeafloorCavern_Room3_MapBorder:: @ 82DDD8C
- .incbin "data/layouts/SeafloorCavern_Room3/border.bin"
-
-SeafloorCavern_Room3_MapBlockdata:: @ 82DDD94
- .incbin "data/layouts/SeafloorCavern_Room3/map.bin"
-
- .align 2
-SeafloorCavern_Room3_Layout:: @ 82DDFB4
- .4byte 0x10
- .4byte 0x11
- .4byte SeafloorCavern_Room3_MapBorder
- .4byte SeafloorCavern_Room3_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Cave
diff --git a/data/layouts/SeafloorCavern_Room4/layout.inc b/data/layouts/SeafloorCavern_Room4/layout.inc
deleted file mode 100644
index 013e2d74e..000000000
--- a/data/layouts/SeafloorCavern_Room4/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SeafloorCavern_Room4_MapBorder:: @ 82DDFCC
- .incbin "data/layouts/SeafloorCavern_Room4/border.bin"
-
-SeafloorCavern_Room4_MapBlockdata:: @ 82DDFD4
- .incbin "data/layouts/SeafloorCavern_Room4/map.bin"
-
- .align 2
-SeafloorCavern_Room4_Layout:: @ 82DE280
- .4byte 0x12
- .4byte 0x13
- .4byte SeafloorCavern_Room4_MapBorder
- .4byte SeafloorCavern_Room4_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Cave
diff --git a/data/layouts/SeafloorCavern_Room5/layout.inc b/data/layouts/SeafloorCavern_Room5/layout.inc
deleted file mode 100644
index ede193527..000000000
--- a/data/layouts/SeafloorCavern_Room5/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SeafloorCavern_Room5_MapBorder:: @ 82DE298
- .incbin "data/layouts/SeafloorCavern_Room5/border.bin"
-
-SeafloorCavern_Room5_MapBlockdata:: @ 82DE2A0
- .incbin "data/layouts/SeafloorCavern_Room5/map.bin"
-
- .align 2
-SeafloorCavern_Room5_Layout:: @ 82DE5C0
- .4byte 0x14
- .4byte 0x14
- .4byte SeafloorCavern_Room5_MapBorder
- .4byte SeafloorCavern_Room5_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Cave
diff --git a/data/layouts/SeafloorCavern_Room6/layout.inc b/data/layouts/SeafloorCavern_Room6/layout.inc
deleted file mode 100644
index 0b6b1026e..000000000
--- a/data/layouts/SeafloorCavern_Room6/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SeafloorCavern_Room6_MapBorder:: @ 82DE5D8
- .incbin "data/layouts/SeafloorCavern_Room6/border.bin"
-
-SeafloorCavern_Room6_MapBlockdata:: @ 82DE5E0
- .incbin "data/layouts/SeafloorCavern_Room6/map.bin"
-
- .align 2
-SeafloorCavern_Room6_Layout:: @ 82DEA30
- .4byte 0x18
- .4byte 0x17
- .4byte SeafloorCavern_Room6_MapBorder
- .4byte SeafloorCavern_Room6_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Pacifidlog
diff --git a/data/layouts/SeafloorCavern_Room7/layout.inc b/data/layouts/SeafloorCavern_Room7/layout.inc
deleted file mode 100644
index c4d799bfd..000000000
--- a/data/layouts/SeafloorCavern_Room7/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SeafloorCavern_Room7_MapBorder:: @ 82DEA48
- .incbin "data/layouts/SeafloorCavern_Room7/border.bin"
-
-SeafloorCavern_Room7_MapBlockdata:: @ 82DEA50
- .incbin "data/layouts/SeafloorCavern_Room7/map.bin"
-
- .align 2
-SeafloorCavern_Room7_Layout:: @ 82DEED0
- .4byte 0x17
- .4byte 0x19
- .4byte SeafloorCavern_Room7_MapBorder
- .4byte SeafloorCavern_Room7_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Pacifidlog
diff --git a/data/layouts/SeafloorCavern_Room8/layout.inc b/data/layouts/SeafloorCavern_Room8/layout.inc
deleted file mode 100644
index 3c5ba6912..000000000
--- a/data/layouts/SeafloorCavern_Room8/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SeafloorCavern_Room8_MapBorder:: @ 82DEEE8
- .incbin "data/layouts/SeafloorCavern_Room8/border.bin"
-
-SeafloorCavern_Room8_MapBlockdata:: @ 82DEEF0
- .incbin "data/layouts/SeafloorCavern_Room8/map.bin"
-
- .align 2
-SeafloorCavern_Room8_Layout:: @ 82DF024
- .4byte 0xb
- .4byte 0xe
- .4byte SeafloorCavern_Room8_MapBorder
- .4byte SeafloorCavern_Room8_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Cave
diff --git a/data/layouts/SeafloorCavern_Room9/layout.inc b/data/layouts/SeafloorCavern_Room9/layout.inc
deleted file mode 100644
index c0cf63b78..000000000
--- a/data/layouts/SeafloorCavern_Room9/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SeafloorCavern_Room9_MapBorder:: @ 82DF03C
- .incbin "data/layouts/SeafloorCavern_Room9/border.bin"
-
-SeafloorCavern_Room9_MapBlockdata:: @ 82DF044
- .incbin "data/layouts/SeafloorCavern_Room9/map.bin"
-
- .align 2
-SeafloorCavern_Room9_Layout:: @ 82DF9F8
- .4byte 0x1b
- .4byte 0x2e
- .4byte SeafloorCavern_Room9_MapBorder
- .4byte SeafloorCavern_Room9_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Cave
diff --git a/data/layouts/SealedChamber_InnerRoom/layout.inc b/data/layouts/SealedChamber_InnerRoom/layout.inc
deleted file mode 100644
index 2bd90e419..000000000
--- a/data/layouts/SealedChamber_InnerRoom/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SealedChamber_InnerRoom_MapBorder:: @ 82FE698
- .incbin "data/layouts/SealedChamber_InnerRoom/border.bin"
-
-SealedChamber_InnerRoom_MapBlockdata:: @ 82FE6A0
- .incbin "data/layouts/SealedChamber_InnerRoom/map.bin"
-
- .align 2
-SealedChamber_InnerRoom_Layout:: @ 82FEA68
- .4byte 0x15
- .4byte 0x17
- .4byte SealedChamber_InnerRoom_MapBorder
- .4byte SealedChamber_InnerRoom_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Cave
diff --git a/data/layouts/SealedChamber_OuterRoom/layout.inc b/data/layouts/SealedChamber_OuterRoom/layout.inc
deleted file mode 100644
index f248eff53..000000000
--- a/data/layouts/SealedChamber_OuterRoom/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SealedChamber_OuterRoom_MapBorder:: @ 82F7FE8
- .incbin "data/layouts/SealedChamber_OuterRoom/border.bin"
-
-SealedChamber_OuterRoom_MapBlockdata:: @ 82F7FF0
- .incbin "data/layouts/SealedChamber_OuterRoom/map.bin"
-
- .align 2
-SealedChamber_OuterRoom_Layout:: @ 82F83B8
- .4byte 0x15
- .4byte 0x17
- .4byte SealedChamber_OuterRoom_MapBorder
- .4byte SealedChamber_OuterRoom_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Cave
diff --git a/data/layouts/SecretBase_BlueCave1/layout.inc b/data/layouts/SecretBase_BlueCave1/layout.inc
deleted file mode 100644
index e07296cc3..000000000
--- a/data/layouts/SecretBase_BlueCave1/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SecretBase_BlueCave1_MapBorder:: @ 82E7888
- .incbin "data/layouts/SecretBase_BlueCave1/border.bin"
-
-SecretBase_BlueCave1_MapBlockdata:: @ 82E7890
- .incbin "data/layouts/SecretBase_BlueCave1/map.bin"
-
- .align 2
-SecretBase_BlueCave1_Layout:: @ 82E7958
- .4byte 0xb
- .4byte 0x9
- .4byte SecretBase_BlueCave1_MapBorder
- .4byte SecretBase_BlueCave1_MapBlockdata
- .4byte gTileset_SecretBase
- .4byte gTileset_SecretBaseBlueCave
diff --git a/data/layouts/SecretBase_BlueCave2/layout.inc b/data/layouts/SecretBase_BlueCave2/layout.inc
deleted file mode 100644
index 2bed0ca4f..000000000
--- a/data/layouts/SecretBase_BlueCave2/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SecretBase_BlueCave2_MapBorder:: @ 82E7E44
- .incbin "data/layouts/SecretBase_BlueCave2/border.bin"
-
-SecretBase_BlueCave2_MapBlockdata:: @ 82E7E4C
- .incbin "data/layouts/SecretBase_BlueCave2/map.bin"
-
- .align 2
-SecretBase_BlueCave2_Layout:: @ 82E7F20
- .4byte 0xf
- .4byte 0x7
- .4byte SecretBase_BlueCave2_MapBorder
- .4byte SecretBase_BlueCave2_MapBlockdata
- .4byte gTileset_SecretBase
- .4byte gTileset_SecretBaseBlueCave
diff --git a/data/layouts/SecretBase_BlueCave3/layout.inc b/data/layouts/SecretBase_BlueCave3/layout.inc
deleted file mode 100644
index ef34dff34..000000000
--- a/data/layouts/SecretBase_BlueCave3/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SecretBase_BlueCave3_MapBorder:: @ 82E84C4
- .incbin "data/layouts/SecretBase_BlueCave3/border.bin"
-
-SecretBase_BlueCave3_MapBlockdata:: @ 82E84CC
- .incbin "data/layouts/SecretBase_BlueCave3/map.bin"
-
- .align 2
-SecretBase_BlueCave3_Layout:: @ 82E8620
- .4byte 0xa
- .4byte 0x11
- .4byte SecretBase_BlueCave3_MapBorder
- .4byte SecretBase_BlueCave3_MapBlockdata
- .4byte gTileset_SecretBase
- .4byte gTileset_SecretBaseBlueCave
diff --git a/data/layouts/SecretBase_BlueCave4/layout.inc b/data/layouts/SecretBase_BlueCave4/layout.inc
deleted file mode 100644
index b05de46b6..000000000
--- a/data/layouts/SecretBase_BlueCave4/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SecretBase_BlueCave4_MapBorder:: @ 82E8C70
- .incbin "data/layouts/SecretBase_BlueCave4/border.bin"
-
-SecretBase_BlueCave4_MapBlockdata:: @ 82E8C78
- .incbin "data/layouts/SecretBase_BlueCave4/map.bin"
-
- .align 2
-SecretBase_BlueCave4_Layout:: @ 82E8DAC
- .4byte 0x9
- .4byte 0x11
- .4byte SecretBase_BlueCave4_MapBorder
- .4byte SecretBase_BlueCave4_MapBlockdata
- .4byte gTileset_SecretBase
- .4byte gTileset_SecretBaseBlueCave
diff --git a/data/layouts/SecretBase_BrownCave1/layout.inc b/data/layouts/SecretBase_BrownCave1/layout.inc
deleted file mode 100644
index 8b33aa0a0..000000000
--- a/data/layouts/SecretBase_BrownCave1/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SecretBase_BrownCave1_MapBorder:: @ 82E77A0
- .incbin "data/layouts/SecretBase_BrownCave1/border.bin"
-
-SecretBase_BrownCave1_MapBlockdata:: @ 82E77A8
- .incbin "data/layouts/SecretBase_BrownCave1/map.bin"
-
- .align 2
-SecretBase_BrownCave1_Layout:: @ 82E7870
- .4byte 0xb
- .4byte 0x9
- .4byte SecretBase_BrownCave1_MapBorder
- .4byte SecretBase_BrownCave1_MapBlockdata
- .4byte gTileset_SecretBase
- .4byte gTileset_SecretBaseBrownCave
diff --git a/data/layouts/SecretBase_BrownCave2/layout.inc b/data/layouts/SecretBase_BrownCave2/layout.inc
deleted file mode 100644
index afce94e36..000000000
--- a/data/layouts/SecretBase_BrownCave2/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SecretBase_BrownCave2_MapBorder:: @ 82E7D28
- .incbin "data/layouts/SecretBase_BrownCave2/border.bin"
-
-SecretBase_BrownCave2_MapBlockdata:: @ 82E7D30
- .incbin "data/layouts/SecretBase_BrownCave2/map.bin"
-
- .align 2
-SecretBase_BrownCave2_Layout:: @ 82E7E2C
- .4byte 0xe
- .4byte 0x9
- .4byte SecretBase_BrownCave2_MapBorder
- .4byte SecretBase_BrownCave2_MapBlockdata
- .4byte gTileset_SecretBase
- .4byte gTileset_SecretBaseBrownCave
diff --git a/data/layouts/SecretBase_BrownCave3/layout.inc b/data/layouts/SecretBase_BrownCave3/layout.inc
deleted file mode 100644
index 01ad3ff05..000000000
--- a/data/layouts/SecretBase_BrownCave3/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SecretBase_BrownCave3_MapBorder:: @ 82E8358
- .incbin "data/layouts/SecretBase_BrownCave3/border.bin"
-
-SecretBase_BrownCave3_MapBlockdata:: @ 82E8360
- .incbin "data/layouts/SecretBase_BrownCave3/map.bin"
-
- .align 2
-SecretBase_BrownCave3_Layout:: @ 82E84AC
- .4byte 0xf
- .4byte 0xb
- .4byte SecretBase_BrownCave3_MapBorder
- .4byte SecretBase_BrownCave3_MapBlockdata
- .4byte gTileset_SecretBase
- .4byte gTileset_SecretBaseBrownCave
diff --git a/data/layouts/SecretBase_BrownCave4/layout.inc b/data/layouts/SecretBase_BrownCave4/layout.inc
deleted file mode 100644
index cb3b6288c..000000000
--- a/data/layouts/SecretBase_BrownCave4/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SecretBase_BrownCave4_MapBorder:: @ 82E8B00
- .incbin "data/layouts/SecretBase_BrownCave4/border.bin"
-
-SecretBase_BrownCave4_MapBlockdata:: @ 82E8B08
- .incbin "data/layouts/SecretBase_BrownCave4/map.bin"
-
- .align 2
-SecretBase_BrownCave4_Layout:: @ 82E8C58
- .4byte 0xe
- .4byte 0xc
- .4byte SecretBase_BrownCave4_MapBorder
- .4byte SecretBase_BrownCave4_MapBlockdata
- .4byte gTileset_SecretBase
- .4byte gTileset_SecretBaseBrownCave
diff --git a/data/layouts/SecretBase_RedCave1/layout.inc b/data/layouts/SecretBase_RedCave1/layout.inc
deleted file mode 100644
index 0f93b246d..000000000
--- a/data/layouts/SecretBase_RedCave1/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SecretBase_RedCave1_MapBorder:: @ 82E76B8
- .incbin "data/layouts/SecretBase_RedCave1/border.bin"
-
-SecretBase_RedCave1_MapBlockdata:: @ 82E76C0
- .incbin "data/layouts/SecretBase_RedCave1/map.bin"
-
- .align 2
-SecretBase_RedCave1_Layout:: @ 82E7788
- .4byte 0xb
- .4byte 0x9
- .4byte SecretBase_RedCave1_MapBorder
- .4byte SecretBase_RedCave1_MapBlockdata
- .4byte gTileset_SecretBase
- .4byte gTileset_SecretBaseRedCave
diff --git a/data/layouts/SecretBase_RedCave2/layout.inc b/data/layouts/SecretBase_RedCave2/layout.inc
deleted file mode 100644
index f3a14a012..000000000
--- a/data/layouts/SecretBase_RedCave2/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SecretBase_RedCave2_MapBorder:: @ 82E7C28
- .incbin "data/layouts/SecretBase_RedCave2/border.bin"
-
-SecretBase_RedCave2_MapBlockdata:: @ 82E7C30
- .incbin "data/layouts/SecretBase_RedCave2/map.bin"
-
- .align 2
-SecretBase_RedCave2_Layout:: @ 82E7D10
- .4byte 0x7
- .4byte 0x10
- .4byte SecretBase_RedCave2_MapBorder
- .4byte SecretBase_RedCave2_MapBlockdata
- .4byte gTileset_SecretBase
- .4byte gTileset_SecretBaseRedCave
diff --git a/data/layouts/SecretBase_RedCave3/layout.inc b/data/layouts/SecretBase_RedCave3/layout.inc
deleted file mode 100644
index 6cd683f8e..000000000
--- a/data/layouts/SecretBase_RedCave3/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SecretBase_RedCave3_MapBorder:: @ 82E8248
- .incbin "data/layouts/SecretBase_RedCave3/border.bin"
-
-SecretBase_RedCave3_MapBlockdata:: @ 82E8250
- .incbin "data/layouts/SecretBase_RedCave3/map.bin"
-
- .align 2
-SecretBase_RedCave3_Layout:: @ 82E8340
- .4byte 0xf
- .4byte 0x8
- .4byte SecretBase_RedCave3_MapBorder
- .4byte SecretBase_RedCave3_MapBlockdata
- .4byte gTileset_SecretBase
- .4byte gTileset_SecretBaseRedCave
diff --git a/data/layouts/SecretBase_RedCave4/layout.inc b/data/layouts/SecretBase_RedCave4/layout.inc
deleted file mode 100644
index 1baa61276..000000000
--- a/data/layouts/SecretBase_RedCave4/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SecretBase_RedCave4_MapBorder:: @ 82E89D0
- .incbin "data/layouts/SecretBase_RedCave4/border.bin"
-
-SecretBase_RedCave4_MapBlockdata:: @ 82E89D8
- .incbin "data/layouts/SecretBase_RedCave4/map.bin"
-
- .align 2
-SecretBase_RedCave4_Layout:: @ 82E8AE8
- .4byte 0x9
- .4byte 0xf
- .4byte SecretBase_RedCave4_MapBorder
- .4byte SecretBase_RedCave4_MapBlockdata
- .4byte gTileset_SecretBase
- .4byte gTileset_SecretBaseRedCave
diff --git a/data/layouts/SecretBase_Shrub1/layout.inc b/data/layouts/SecretBase_Shrub1/layout.inc
deleted file mode 100644
index 68cbf0df3..000000000
--- a/data/layouts/SecretBase_Shrub1/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SecretBase_Shrub1_MapBorder:: @ 82E7B40
- .incbin "data/layouts/SecretBase_Shrub1/border.bin"
-
-SecretBase_Shrub1_MapBlockdata:: @ 82E7B48
- .incbin "data/layouts/SecretBase_Shrub1/map.bin"
-
- .align 2
-SecretBase_Shrub1_Layout:: @ 82E7C10
- .4byte 0xb
- .4byte 0x9
- .4byte SecretBase_Shrub1_MapBorder
- .4byte SecretBase_Shrub1_MapBlockdata
- .4byte gTileset_SecretBase
- .4byte gTileset_SecretBaseShrub
diff --git a/data/layouts/SecretBase_Shrub2/layout.inc b/data/layouts/SecretBase_Shrub2/layout.inc
deleted file mode 100644
index 8e246a6ad..000000000
--- a/data/layouts/SecretBase_Shrub2/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SecretBase_Shrub2_MapBorder:: @ 82E8154
- .incbin "data/layouts/SecretBase_Shrub2/border.bin"
-
-SecretBase_Shrub2_MapBlockdata:: @ 82E815C
- .incbin "data/layouts/SecretBase_Shrub2/map.bin"
-
- .align 2
-SecretBase_Shrub2_Layout:: @ 82E8230
- .4byte 0xf
- .4byte 0x7
- .4byte SecretBase_Shrub2_MapBorder
- .4byte SecretBase_Shrub2_MapBlockdata
- .4byte gTileset_SecretBase
- .4byte gTileset_SecretBaseShrub
diff --git a/data/layouts/SecretBase_Shrub3/layout.inc b/data/layouts/SecretBase_Shrub3/layout.inc
deleted file mode 100644
index ddae76b6e..000000000
--- a/data/layouts/SecretBase_Shrub3/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SecretBase_Shrub3_MapBorder:: @ 82E8890
- .incbin "data/layouts/SecretBase_Shrub3/border.bin"
-
-SecretBase_Shrub3_MapBlockdata:: @ 82E8898
- .incbin "data/layouts/SecretBase_Shrub3/map.bin"
-
- .align 2
-SecretBase_Shrub3_Layout:: @ 82E89B8
- .4byte 0xd
- .4byte 0xb
- .4byte SecretBase_Shrub3_MapBorder
- .4byte SecretBase_Shrub3_MapBlockdata
- .4byte gTileset_SecretBase
- .4byte gTileset_SecretBaseShrub
diff --git a/data/layouts/SecretBase_Shrub4/layout.inc b/data/layouts/SecretBase_Shrub4/layout.inc
deleted file mode 100644
index 62ddf14f0..000000000
--- a/data/layouts/SecretBase_Shrub4/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SecretBase_Shrub4_MapBorder:: @ 82E90F8
- .incbin "data/layouts/SecretBase_Shrub4/border.bin"
-
-SecretBase_Shrub4_MapBlockdata:: @ 82E9100
- .incbin "data/layouts/SecretBase_Shrub4/map.bin"
-
- .align 2
-SecretBase_Shrub4_Layout:: @ 82E9234
- .4byte 0xe
- .4byte 0xb
- .4byte SecretBase_Shrub4_MapBorder
- .4byte SecretBase_Shrub4_MapBlockdata
- .4byte gTileset_SecretBase
- .4byte gTileset_SecretBaseShrub
diff --git a/data/layouts/SecretBase_Tree1/layout.inc b/data/layouts/SecretBase_Tree1/layout.inc
deleted file mode 100644
index 3b29d0302..000000000
--- a/data/layouts/SecretBase_Tree1/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SecretBase_Tree1_MapBorder:: @ 82E7A58
- .incbin "data/layouts/SecretBase_Tree1/border.bin"
-
-SecretBase_Tree1_MapBlockdata:: @ 82E7A60
- .incbin "data/layouts/SecretBase_Tree1/map.bin"
-
- .align 2
-SecretBase_Tree1_Layout:: @ 82E7B28
- .4byte 0xb
- .4byte 0x9
- .4byte SecretBase_Tree1_MapBorder
- .4byte SecretBase_Tree1_MapBlockdata
- .4byte gTileset_SecretBase
- .4byte gTileset_SecretBaseTree
diff --git a/data/layouts/SecretBase_Tree2/layout.inc b/data/layouts/SecretBase_Tree2/layout.inc
deleted file mode 100644
index 71722bcdb..000000000
--- a/data/layouts/SecretBase_Tree2/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SecretBase_Tree2_MapBorder:: @ 82E8054
- .incbin "data/layouts/SecretBase_Tree2/border.bin"
-
-SecretBase_Tree2_MapBlockdata:: @ 82E805C
- .incbin "data/layouts/SecretBase_Tree2/map.bin"
-
- .align 2
-SecretBase_Tree2_Layout:: @ 82E813C
- .4byte 0x7
- .4byte 0x10
- .4byte SecretBase_Tree2_MapBorder
- .4byte SecretBase_Tree2_MapBlockdata
- .4byte gTileset_SecretBase
- .4byte gTileset_SecretBaseTree
diff --git a/data/layouts/SecretBase_Tree3/layout.inc b/data/layouts/SecretBase_Tree3/layout.inc
deleted file mode 100644
index 425369a5f..000000000
--- a/data/layouts/SecretBase_Tree3/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SecretBase_Tree3_MapBorder:: @ 82E8760
- .incbin "data/layouts/SecretBase_Tree3/border.bin"
-
-SecretBase_Tree3_MapBlockdata:: @ 82E8768
- .incbin "data/layouts/SecretBase_Tree3/map.bin"
-
- .align 2
-SecretBase_Tree3_Layout:: @ 82E8878
- .4byte 0x11
- .4byte 0x8
- .4byte SecretBase_Tree3_MapBorder
- .4byte SecretBase_Tree3_MapBlockdata
- .4byte gTileset_SecretBase
- .4byte gTileset_SecretBaseTree
diff --git a/data/layouts/SecretBase_Tree4/layout.inc b/data/layouts/SecretBase_Tree4/layout.inc
deleted file mode 100644
index 85b921292..000000000
--- a/data/layouts/SecretBase_Tree4/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SecretBase_Tree4_MapBorder:: @ 82E8F50
- .incbin "data/layouts/SecretBase_Tree4/border.bin"
-
-SecretBase_Tree4_MapBlockdata:: @ 82E8F58
- .incbin "data/layouts/SecretBase_Tree4/map.bin"
-
- .align 2
-SecretBase_Tree4_Layout:: @ 82E90E0
- .4byte 0xe
- .4byte 0xe
- .4byte SecretBase_Tree4_MapBorder
- .4byte SecretBase_Tree4_MapBlockdata
- .4byte gTileset_SecretBase
- .4byte gTileset_SecretBaseTree
diff --git a/data/layouts/SecretBase_YellowCave1/layout.inc b/data/layouts/SecretBase_YellowCave1/layout.inc
deleted file mode 100644
index 6ae6cddf1..000000000
--- a/data/layouts/SecretBase_YellowCave1/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SecretBase_YellowCave1_MapBorder:: @ 82E7970
- .incbin "data/layouts/SecretBase_YellowCave1/border.bin"
-
-SecretBase_YellowCave1_MapBlockdata:: @ 82E7978
- .incbin "data/layouts/SecretBase_YellowCave1/map.bin"
-
- .align 2
-SecretBase_YellowCave1_Layout:: @ 82E7A40
- .4byte 0xb
- .4byte 0x9
- .4byte SecretBase_YellowCave1_MapBorder
- .4byte SecretBase_YellowCave1_MapBlockdata
- .4byte gTileset_SecretBase
- .4byte gTileset_SecretBaseYellowCave
diff --git a/data/layouts/SecretBase_YellowCave2/layout.inc b/data/layouts/SecretBase_YellowCave2/layout.inc
deleted file mode 100644
index dc206e31d..000000000
--- a/data/layouts/SecretBase_YellowCave2/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SecretBase_YellowCave2_MapBorder:: @ 82E7F38
- .incbin "data/layouts/SecretBase_YellowCave2/border.bin"
-
-SecretBase_YellowCave2_MapBlockdata:: @ 82E7F40
- .incbin "data/layouts/SecretBase_YellowCave2/map.bin"
-
- .align 2
-SecretBase_YellowCave2_Layout:: @ 82E803C
- .4byte 0xe
- .4byte 0x9
- .4byte SecretBase_YellowCave2_MapBorder
- .4byte SecretBase_YellowCave2_MapBlockdata
- .4byte gTileset_SecretBase
- .4byte gTileset_SecretBaseYellowCave
diff --git a/data/layouts/SecretBase_YellowCave3/layout.inc b/data/layouts/SecretBase_YellowCave3/layout.inc
deleted file mode 100644
index af6b14601..000000000
--- a/data/layouts/SecretBase_YellowCave3/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SecretBase_YellowCave3_MapBorder:: @ 82E8638
- .incbin "data/layouts/SecretBase_YellowCave3/border.bin"
-
-SecretBase_YellowCave3_MapBlockdata:: @ 82E8640
- .incbin "data/layouts/SecretBase_YellowCave3/map.bin"
-
- .align 2
-SecretBase_YellowCave3_Layout:: @ 82E8748
- .4byte 0xc
- .4byte 0xb
- .4byte SecretBase_YellowCave3_MapBorder
- .4byte SecretBase_YellowCave3_MapBlockdata
- .4byte gTileset_SecretBase
- .4byte gTileset_SecretBaseYellowCave
diff --git a/data/layouts/SecretBase_YellowCave4/layout.inc b/data/layouts/SecretBase_YellowCave4/layout.inc
deleted file mode 100644
index 94bf59ab5..000000000
--- a/data/layouts/SecretBase_YellowCave4/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SecretBase_YellowCave4_MapBorder:: @ 82E8DC4
- .incbin "data/layouts/SecretBase_YellowCave4/border.bin"
-
-SecretBase_YellowCave4_MapBlockdata:: @ 82E8DCC
- .incbin "data/layouts/SecretBase_YellowCave4/map.bin"
-
- .align 2
-SecretBase_YellowCave4_Layout:: @ 82E8F38
- .4byte 0xd
- .4byte 0xe
- .4byte SecretBase_YellowCave4_MapBorder
- .4byte SecretBase_YellowCave4_MapBlockdata
- .4byte gTileset_SecretBase
- .4byte gTileset_SecretBaseYellowCave
diff --git a/data/layouts/ShoalCave_HighTideEntranceRoom/layout.inc b/data/layouts/ShoalCave_HighTideEntranceRoom/layout.inc
deleted file mode 100644
index 5745b09c2..000000000
--- a/data/layouts/ShoalCave_HighTideEntranceRoom/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-ShoalCave_HighTideEntranceRoom_MapBorder:: @ 82E3E40
- .incbin "data/layouts/ShoalCave_HighTideEntranceRoom/border.bin"
-
-ShoalCave_HighTideEntranceRoom_MapBlockdata:: @ 82E3E48
- .incbin "data/layouts/ShoalCave_HighTideEntranceRoom/map.bin"
-
- .align 2
-ShoalCave_HighTideEntranceRoom_Layout:: @ 82E47DC
- .4byte 0x23
- .4byte 0x23
- .4byte ShoalCave_HighTideEntranceRoom_MapBorder
- .4byte ShoalCave_HighTideEntranceRoom_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Cave
diff --git a/data/layouts/ShoalCave_HighTideInnerRoom/layout.inc b/data/layouts/ShoalCave_HighTideInnerRoom/layout.inc
deleted file mode 100644
index d95827791..000000000
--- a/data/layouts/ShoalCave_HighTideInnerRoom/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-ShoalCave_HighTideInnerRoom_MapBorder:: @ 82E47F4
- .incbin "data/layouts/ShoalCave_HighTideInnerRoom/border.bin"
-
-ShoalCave_HighTideInnerRoom_MapBlockdata:: @ 82E47FC
- .incbin "data/layouts/ShoalCave_HighTideInnerRoom/map.bin"
-
- .align 2
-ShoalCave_HighTideInnerRoom_Layout:: @ 82E55A4
- .4byte 0x2e
- .4byte 0x26
- .4byte ShoalCave_HighTideInnerRoom_MapBorder
- .4byte ShoalCave_HighTideInnerRoom_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Cave
diff --git a/data/layouts/ShoalCave_LowTideEntranceRoom/layout.inc b/data/layouts/ShoalCave_LowTideEntranceRoom/layout.inc
deleted file mode 100644
index ceb41f7e8..000000000
--- a/data/layouts/ShoalCave_LowTideEntranceRoom/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-ShoalCave_LowTideEntranceRoom_MapBorder:: @ 82E20A8
- .incbin "data/layouts/ShoalCave_LowTideEntranceRoom/border.bin"
-
-ShoalCave_LowTideEntranceRoom_MapBlockdata:: @ 82E20B0
- .incbin "data/layouts/ShoalCave_LowTideEntranceRoom/map.bin"
-
- .align 2
-ShoalCave_LowTideEntranceRoom_Layout:: @ 82E2A44
- .4byte 0x23
- .4byte 0x23
- .4byte ShoalCave_LowTideEntranceRoom_MapBorder
- .4byte ShoalCave_LowTideEntranceRoom_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Cave
diff --git a/data/layouts/ShoalCave_LowTideIceRoom/layout.inc b/data/layouts/ShoalCave_LowTideIceRoom/layout.inc
deleted file mode 100644
index b2ef09f0e..000000000
--- a/data/layouts/ShoalCave_LowTideIceRoom/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-ShoalCave_LowTideIceRoom_MapBorder:: @ 830429C
- .incbin "data/layouts/ShoalCave_LowTideIceRoom/border.bin"
-
-ShoalCave_LowTideIceRoom_MapBlockdata:: @ 83042A4
- .incbin "data/layouts/ShoalCave_LowTideIceRoom/map.bin"
-
- .align 2
-ShoalCave_LowTideIceRoom_Layout:: @ 8304754
- .4byte 0x14
- .4byte 0x1e
- .4byte ShoalCave_LowTideIceRoom_MapBorder
- .4byte ShoalCave_LowTideIceRoom_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Cave
diff --git a/data/layouts/ShoalCave_LowTideInnerRoom/layout.inc b/data/layouts/ShoalCave_LowTideInnerRoom/layout.inc
deleted file mode 100644
index 10a1948ca..000000000
--- a/data/layouts/ShoalCave_LowTideInnerRoom/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-ShoalCave_LowTideInnerRoom_MapBorder:: @ 82E2A5C
- .incbin "data/layouts/ShoalCave_LowTideInnerRoom/border.bin"
-
-ShoalCave_LowTideInnerRoom_MapBlockdata:: @ 82E2A64
- .incbin "data/layouts/ShoalCave_LowTideInnerRoom/map.bin"
-
- .align 2
-ShoalCave_LowTideInnerRoom_Layout:: @ 82E380C
- .4byte 0x2e
- .4byte 0x26
- .4byte ShoalCave_LowTideInnerRoom_MapBorder
- .4byte ShoalCave_LowTideInnerRoom_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Cave
diff --git a/data/layouts/ShoalCave_LowTideLowerRoom/layout.inc b/data/layouts/ShoalCave_LowTideLowerRoom/layout.inc
deleted file mode 100644
index c57b1b20e..000000000
--- a/data/layouts/ShoalCave_LowTideLowerRoom/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-ShoalCave_LowTideLowerRoom_MapBorder:: @ 82E3ABC
- .incbin "data/layouts/ShoalCave_LowTideLowerRoom/border.bin"
-
-ShoalCave_LowTideLowerRoom_MapBlockdata:: @ 82E3AC4
- .incbin "data/layouts/ShoalCave_LowTideLowerRoom/map.bin"
-
- .align 2
-ShoalCave_LowTideLowerRoom_Layout:: @ 82E3E28
- .4byte 0x1f
- .4byte 0xe
- .4byte ShoalCave_LowTideLowerRoom_MapBorder
- .4byte ShoalCave_LowTideLowerRoom_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Cave
diff --git a/data/layouts/ShoalCave_LowTideStairsRoom/layout.inc b/data/layouts/ShoalCave_LowTideStairsRoom/layout.inc
deleted file mode 100644
index ded7e7cfb..000000000
--- a/data/layouts/ShoalCave_LowTideStairsRoom/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-ShoalCave_LowTideStairsRoom_MapBorder:: @ 82E3824
- .incbin "data/layouts/ShoalCave_LowTideStairsRoom/border.bin"
-
-ShoalCave_LowTideStairsRoom_MapBlockdata:: @ 82E382C
- .incbin "data/layouts/ShoalCave_LowTideStairsRoom/map.bin"
-
- .align 2
-ShoalCave_LowTideStairsRoom_Layout:: @ 82E3AA4
- .4byte 0x15
- .4byte 0xf
- .4byte ShoalCave_LowTideStairsRoom_MapBorder
- .4byte ShoalCave_LowTideStairsRoom_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Cave
diff --git a/data/layouts/SingleBattleColosseum/layout.inc b/data/layouts/SingleBattleColosseum/layout.inc
deleted file mode 100644
index 636af1a0f..000000000
--- a/data/layouts/SingleBattleColosseum/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SingleBattleColosseum_MapBorder:: @ 82E924C
- .incbin "data/layouts/SingleBattleColosseum/border.bin"
-
-SingleBattleColosseum_MapBlockdata:: @ 82E9254
- .incbin "data/layouts/SingleBattleColosseum/map.bin"
-
- .align 2
-SingleBattleColosseum_Layout:: @ 82E9350
- .4byte 0xe
- .4byte 0x9
- .4byte SingleBattleColosseum_MapBorder
- .4byte SingleBattleColosseum_MapBlockdata
- .4byte gTileset_Building
- .4byte gTileset_CableClub
diff --git a/data/layouts/SkyPillar_1F/layout.inc b/data/layouts/SkyPillar_1F/layout.inc
deleted file mode 100644
index e53e06ff2..000000000
--- a/data/layouts/SkyPillar_1F/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SkyPillar_1F_MapBorder:: @ 8303158
- .incbin "data/layouts/SkyPillar_1F/border.bin"
-
-SkyPillar_1F_MapBlockdata:: @ 8303160
- .incbin "data/layouts/SkyPillar_1F/map.bin"
-
- .align 2
-SkyPillar_1F_Layout:: @ 83032E8
- .4byte 0xe
- .4byte 0xe
- .4byte SkyPillar_1F_MapBorder
- .4byte SkyPillar_1F_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Pacifidlog
diff --git a/data/layouts/SkyPillar_2F/layout.inc b/data/layouts/SkyPillar_2F/layout.inc
deleted file mode 100644
index 67cf18b57..000000000
--- a/data/layouts/SkyPillar_2F/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SkyPillar_2F_MapBorder:: @ 8303300
- .incbin "data/layouts/SkyPillar_2F/border.bin"
-
-SkyPillar_2F_MapBlockdata:: @ 8303308
- .incbin "data/layouts/SkyPillar_2F/map.bin"
-
- .align 2
-SkyPillar_2F_Layout:: @ 8303490
- .4byte 0xe
- .4byte 0xe
- .4byte SkyPillar_2F_MapBorder
- .4byte SkyPillar_2F_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Pacifidlog
diff --git a/data/layouts/SkyPillar_3F/layout.inc b/data/layouts/SkyPillar_3F/layout.inc
deleted file mode 100644
index 533a1ca2d..000000000
--- a/data/layouts/SkyPillar_3F/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SkyPillar_3F_MapBorder:: @ 83034A8
- .incbin "data/layouts/SkyPillar_3F/border.bin"
-
-SkyPillar_3F_MapBlockdata:: @ 83034B0
- .incbin "data/layouts/SkyPillar_3F/map.bin"
-
- .align 2
-SkyPillar_3F_Layout:: @ 8303638
- .4byte 0xe
- .4byte 0xe
- .4byte SkyPillar_3F_MapBorder
- .4byte SkyPillar_3F_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Pacifidlog
diff --git a/data/layouts/SkyPillar_4F/layout.inc b/data/layouts/SkyPillar_4F/layout.inc
deleted file mode 100644
index c4a651ea1..000000000
--- a/data/layouts/SkyPillar_4F/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SkyPillar_4F_MapBorder:: @ 8303650
- .incbin "data/layouts/SkyPillar_4F/border.bin"
-
-SkyPillar_4F_MapBlockdata:: @ 8303658
- .incbin "data/layouts/SkyPillar_4F/map.bin"
-
- .align 2
-SkyPillar_4F_Layout:: @ 83037E0
- .4byte 0xe
- .4byte 0xe
- .4byte SkyPillar_4F_MapBorder
- .4byte SkyPillar_4F_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Pacifidlog
diff --git a/data/layouts/SkyPillar_5F/layout.inc b/data/layouts/SkyPillar_5F/layout.inc
deleted file mode 100644
index ed9c9b0d0..000000000
--- a/data/layouts/SkyPillar_5F/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SkyPillar_5F_MapBorder:: @ 8304840
- .incbin "data/layouts/SkyPillar_5F/border.bin"
-
-SkyPillar_5F_MapBlockdata:: @ 8304848
- .incbin "data/layouts/SkyPillar_5F/map.bin"
-
- .align 2
-SkyPillar_5F_Layout:: @ 83049D0
- .4byte 0xe
- .4byte 0xe
- .4byte SkyPillar_5F_MapBorder
- .4byte SkyPillar_5F_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Pacifidlog
diff --git a/data/layouts/SkyPillar_Entrance/layout.inc b/data/layouts/SkyPillar_Entrance/layout.inc
deleted file mode 100644
index 1523383e3..000000000
--- a/data/layouts/SkyPillar_Entrance/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SkyPillar_Entrance_MapBorder:: @ 8302988
- .incbin "data/layouts/SkyPillar_Entrance/border.bin"
-
-SkyPillar_Entrance_MapBlockdata:: @ 8302990
- .incbin "data/layouts/SkyPillar_Entrance/map.bin"
-
- .align 2
-SkyPillar_Entrance_Layout:: @ 8302C18
- .4byte 0x12
- .4byte 0x12
- .4byte SkyPillar_Entrance_MapBorder
- .4byte SkyPillar_Entrance_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Cave
diff --git a/data/layouts/SkyPillar_Outside/layout.inc b/data/layouts/SkyPillar_Outside/layout.inc
deleted file mode 100644
index f535e7bc6..000000000
--- a/data/layouts/SkyPillar_Outside/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SkyPillar_Outside_MapBorder:: @ 8302C30
- .incbin "data/layouts/SkyPillar_Outside/border.bin"
-
-SkyPillar_Outside_MapBlockdata:: @ 8302C38
- .incbin "data/layouts/SkyPillar_Outside/map.bin"
-
- .align 2
-SkyPillar_Outside_Layout:: @ 8303140
- .4byte 0x1c
- .4byte 0x17
- .4byte SkyPillar_Outside_MapBorder
- .4byte SkyPillar_Outside_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Pacifidlog
diff --git a/data/layouts/SkyPillar_Top/layout.inc b/data/layouts/SkyPillar_Top/layout.inc
deleted file mode 100644
index ee456e707..000000000
--- a/data/layouts/SkyPillar_Top/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SkyPillar_Top_MapBorder:: @ 83049E8
- .incbin "data/layouts/SkyPillar_Top/border.bin"
-
-SkyPillar_Top_MapBlockdata:: @ 83049F0
- .incbin "data/layouts/SkyPillar_Top/map.bin"
-
- .align 2
-SkyPillar_Top_Layout:: @ 8304F00
- .4byte 0x1b
- .4byte 0x18
- .4byte SkyPillar_Top_MapBorder
- .4byte SkyPillar_Top_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Pacifidlog
diff --git a/data/layouts/SlateportCity/layout.inc b/data/layouts/SlateportCity/layout.inc
deleted file mode 100644
index 2d52b7280..000000000
--- a/data/layouts/SlateportCity/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SlateportCity_MapBorder:: @ 828798C
- .incbin "data/layouts/SlateportCity/border.bin"
-
-SlateportCity_MapBlockdata:: @ 8287994
- .incbin "data/layouts/SlateportCity/map.bin"
-
- .align 2
-SlateportCity_Layout:: @ 8288C54
- .4byte 0x28
- .4byte 0x3c
- .4byte SlateportCity_MapBorder
- .4byte SlateportCity_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Slateport
diff --git a/data/layouts/SlateportCity_OceanicMuseum_1F/layout.inc b/data/layouts/SlateportCity_OceanicMuseum_1F/layout.inc
deleted file mode 100644
index ab05ae00f..000000000
--- a/data/layouts/SlateportCity_OceanicMuseum_1F/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SlateportCity_OceanicMuseum_1F_MapBorder:: @ 82D0768
- .incbin "data/layouts/SlateportCity_OceanicMuseum_1F/border.bin"
-
-SlateportCity_OceanicMuseum_1F_MapBlockdata:: @ 82D0770
- .incbin "data/layouts/SlateportCity_OceanicMuseum_1F/map.bin"
-
- .align 2
-SlateportCity_OceanicMuseum_1F_Layout:: @ 82D08D8
- .4byte 0x14
- .4byte 0x9
- .4byte SlateportCity_OceanicMuseum_1F_MapBorder
- .4byte SlateportCity_OceanicMuseum_1F_MapBlockdata
- .4byte gTileset_Building
- .4byte gTileset_OceanicMuseum
diff --git a/data/layouts/SlateportCity_OceanicMuseum_2F/layout.inc b/data/layouts/SlateportCity_OceanicMuseum_2F/layout.inc
deleted file mode 100644
index 75f2d93ae..000000000
--- a/data/layouts/SlateportCity_OceanicMuseum_2F/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SlateportCity_OceanicMuseum_2F_MapBorder:: @ 82D08F0
- .incbin "data/layouts/SlateportCity_OceanicMuseum_2F/border.bin"
-
-SlateportCity_OceanicMuseum_2F_MapBlockdata:: @ 82D08F8
- .incbin "data/layouts/SlateportCity_OceanicMuseum_2F/map.bin"
-
- .align 2
-SlateportCity_OceanicMuseum_2F_Layout:: @ 82D0A60
- .4byte 0x14
- .4byte 0x9
- .4byte SlateportCity_OceanicMuseum_2F_MapBorder
- .4byte SlateportCity_OceanicMuseum_2F_MapBlockdata
- .4byte gTileset_Building
- .4byte gTileset_OceanicMuseum
diff --git a/data/layouts/SlateportCity_PokemonFanClub/layout.inc b/data/layouts/SlateportCity_PokemonFanClub/layout.inc
deleted file mode 100644
index 3013872d5..000000000
--- a/data/layouts/SlateportCity_PokemonFanClub/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SlateportCity_PokemonFanClub_MapBorder:: @ 82D0614
- .incbin "data/layouts/SlateportCity_PokemonFanClub/border.bin"
-
-SlateportCity_PokemonFanClub_MapBlockdata:: @ 82D061C
- .incbin "data/layouts/SlateportCity_PokemonFanClub/map.bin"
-
- .align 2
-SlateportCity_PokemonFanClub_Layout:: @ 82D0750
- .4byte 0xe
- .4byte 0xb
- .4byte SlateportCity_PokemonFanClub_MapBorder
- .4byte SlateportCity_PokemonFanClub_MapBlockdata
- .4byte gTileset_Building
- .4byte gTileset_PokemonFanClub
diff --git a/data/layouts/SlateportCity_SternsShipyard_1F/layout.inc b/data/layouts/SlateportCity_SternsShipyard_1F/layout.inc
deleted file mode 100644
index 59e301313..000000000
--- a/data/layouts/SlateportCity_SternsShipyard_1F/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SlateportCity_SternsShipyard_1F_MapBorder:: @ 82D0114
- .incbin "data/layouts/SlateportCity_SternsShipyard_1F/border.bin"
-
-SlateportCity_SternsShipyard_1F_MapBlockdata:: @ 82D011C
- .incbin "data/layouts/SlateportCity_SternsShipyard_1F/map.bin"
-
- .align 2
-SlateportCity_SternsShipyard_1F_Layout:: @ 82D0394
- .4byte 0x15
- .4byte 0xf
- .4byte SlateportCity_SternsShipyard_1F_MapBorder
- .4byte SlateportCity_SternsShipyard_1F_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Facility
diff --git a/data/layouts/SlateportCity_SternsShipyard_2F/layout.inc b/data/layouts/SlateportCity_SternsShipyard_2F/layout.inc
deleted file mode 100644
index 4e3bcfb46..000000000
--- a/data/layouts/SlateportCity_SternsShipyard_2F/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SlateportCity_SternsShipyard_2F_MapBorder:: @ 82D03AC
- .incbin "data/layouts/SlateportCity_SternsShipyard_2F/border.bin"
-
-SlateportCity_SternsShipyard_2F_MapBlockdata:: @ 82D03B4
- .incbin "data/layouts/SlateportCity_SternsShipyard_2F/map.bin"
-
- .align 2
-SlateportCity_SternsShipyard_2F_Layout:: @ 82D05B4
- .4byte 0x11
- .4byte 0xf
- .4byte SlateportCity_SternsShipyard_2F_MapBorder
- .4byte SlateportCity_SternsShipyard_2F_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Facility
diff --git a/data/layouts/SootopolisCity/layout.inc b/data/layouts/SootopolisCity/layout.inc
deleted file mode 100644
index d5643288d..000000000
--- a/data/layouts/SootopolisCity/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SootopolisCity_MapBorder:: @ 828DE4C
- .incbin "data/layouts/SootopolisCity/border.bin"
-
-SootopolisCity_MapBlockdata:: @ 828DE54
- .incbin "data/layouts/SootopolisCity/map.bin"
-
- .align 2
-SootopolisCity_Layout:: @ 828FA74
- .4byte 0x3c
- .4byte 0x3c
- .4byte SootopolisCity_MapBorder
- .4byte SootopolisCity_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Sootopolis
diff --git a/data/layouts/SootopolisCity_Gym_1F/layout.inc b/data/layouts/SootopolisCity_Gym_1F/layout.inc
deleted file mode 100644
index a38d2f5a2..000000000
--- a/data/layouts/SootopolisCity_Gym_1F/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SootopolisCity_Gym_1F_MapBorder:: @ 82D3B90
- .incbin "data/layouts/SootopolisCity_Gym_1F/border.bin"
-
-SootopolisCity_Gym_1F_MapBlockdata:: @ 82D3B98
- .incbin "data/layouts/SootopolisCity_Gym_1F/map.bin"
-
- .align 2
-SootopolisCity_Gym_1F_Layout:: @ 82D3F0C
- .4byte 0x11
- .4byte 0x1a
- .4byte SootopolisCity_Gym_1F_MapBorder
- .4byte SootopolisCity_Gym_1F_MapBlockdata
- .4byte gTileset_Building
- .4byte gTileset_SootopolisGym
diff --git a/data/layouts/SootopolisCity_Gym_B1F/layout.inc b/data/layouts/SootopolisCity_Gym_B1F/layout.inc
deleted file mode 100644
index cf568b83a..000000000
--- a/data/layouts/SootopolisCity_Gym_B1F/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SootopolisCity_Gym_B1F_MapBorder:: @ 82D3F24
- .incbin "data/layouts/SootopolisCity_Gym_B1F/border.bin"
-
-SootopolisCity_Gym_B1F_MapBlockdata:: @ 82D3F2C
- .incbin "data/layouts/SootopolisCity_Gym_B1F/map.bin"
-
- .align 2
-SootopolisCity_Gym_B1F_Layout:: @ 82D42A0
- .4byte 0x11
- .4byte 0x1a
- .4byte SootopolisCity_Gym_B1F_MapBorder
- .4byte SootopolisCity_Gym_B1F_MapBlockdata
- .4byte gTileset_Building
- .4byte gTileset_SootopolisGym
diff --git a/data/layouts/SootopolisCity_House1/layout.inc b/data/layouts/SootopolisCity_House1/layout.inc
deleted file mode 100644
index b202d6bd1..000000000
--- a/data/layouts/SootopolisCity_House1/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SootopolisCity_House1_MapBorder:: @ 82FEC48
- .incbin "data/layouts/SootopolisCity_House1/border.bin"
-
-SootopolisCity_House1_MapBlockdata:: @ 82FEC50
- .incbin "data/layouts/SootopolisCity_House1/map.bin"
-
- .align 2
-SootopolisCity_House1_Layout:: @ 82FECC0
- .4byte 0x8
- .4byte 0x7
- .4byte SootopolisCity_House1_MapBorder
- .4byte SootopolisCity_House1_MapBlockdata
- .4byte gTileset_Building
- .4byte gTileset_GenericBuilding
diff --git a/data/layouts/SootopolisCity_House2/layout.inc b/data/layouts/SootopolisCity_House2/layout.inc
deleted file mode 100644
index e57feaf86..000000000
--- a/data/layouts/SootopolisCity_House2/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SootopolisCity_House2_MapBorder:: @ 82FECD8
- .incbin "data/layouts/SootopolisCity_House2/border.bin"
-
-SootopolisCity_House2_MapBlockdata:: @ 82FECE0
- .incbin "data/layouts/SootopolisCity_House2/map.bin"
-
- .align 2
-SootopolisCity_House2_Layout:: @ 82FED50
- .4byte 0x8
- .4byte 0x7
- .4byte SootopolisCity_House2_MapBorder
- .4byte SootopolisCity_House2_MapBlockdata
- .4byte gTileset_Building
- .4byte gTileset_GenericBuilding
diff --git a/data/layouts/SootopolisCity_House3/layout.inc b/data/layouts/SootopolisCity_House3/layout.inc
deleted file mode 100644
index f86339f3b..000000000
--- a/data/layouts/SootopolisCity_House3/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SootopolisCity_House3_MapBorder:: @ 82FED68
- .incbin "data/layouts/SootopolisCity_House3/border.bin"
-
-SootopolisCity_House3_MapBlockdata:: @ 82FED70
- .incbin "data/layouts/SootopolisCity_House3/map.bin"
-
- .align 2
-SootopolisCity_House3_Layout:: @ 82FEDE0
- .4byte 0x8
- .4byte 0x7
- .4byte SootopolisCity_House3_MapBorder
- .4byte SootopolisCity_House3_MapBlockdata
- .4byte gTileset_Building
- .4byte gTileset_GenericBuilding
diff --git a/data/layouts/SootopolisCity_House8/layout.inc b/data/layouts/SootopolisCity_House8/layout.inc
deleted file mode 100644
index 05f0fca93..000000000
--- a/data/layouts/SootopolisCity_House8/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SootopolisCity_House8_MapBorder:: @ 82FC34C
- .incbin "data/layouts/SootopolisCity_House8/border.bin"
-
-SootopolisCity_House8_MapBlockdata:: @ 82FC354
- .incbin "data/layouts/SootopolisCity_House8/map.bin"
-
- .align 2
-SootopolisCity_House8_Layout:: @ 82FC3C4
- .4byte 0x8
- .4byte 0x7
- .4byte SootopolisCity_House8_MapBorder
- .4byte SootopolisCity_House8_MapBlockdata
- .4byte gTileset_Building
- .4byte gTileset_GenericBuilding
diff --git a/data/layouts/SouthernIsland_Exterior/layout.inc b/data/layouts/SouthernIsland_Exterior/layout.inc
deleted file mode 100644
index c043bfaf9..000000000
--- a/data/layouts/SouthernIsland_Exterior/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SouthernIsland_Exterior_MapBorder:: @ 82F9D80
- .incbin "data/layouts/SouthernIsland_Exterior/border.bin"
-
-SouthernIsland_Exterior_MapBlockdata:: @ 82F9D88
- .incbin "data/layouts/SouthernIsland_Exterior/map.bin"
-
- .align 2
-SouthernIsland_Exterior_Layout:: @ 82FA544
- .4byte 0x21
- .4byte 0x1e
- .4byte SouthernIsland_Exterior_MapBorder
- .4byte SouthernIsland_Exterior_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Rustboro
diff --git a/data/layouts/SouthernIsland_Interior/layout.inc b/data/layouts/SouthernIsland_Interior/layout.inc
deleted file mode 100644
index 8a231303c..000000000
--- a/data/layouts/SouthernIsland_Interior/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SouthernIsland_Interior_MapBorder:: @ 82FA55C
- .incbin "data/layouts/SouthernIsland_Interior/border.bin"
-
-SouthernIsland_Interior_MapBlockdata:: @ 82FA564
- .incbin "data/layouts/SouthernIsland_Interior/map.bin"
-
- .align 2
-SouthernIsland_Interior_Layout:: @ 82FAA74
- .4byte 0x1b
- .4byte 0x18
- .4byte SouthernIsland_Interior_MapBorder
- .4byte SouthernIsland_Interior_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Rustboro
diff --git a/data/layouts/TradeCenter/layout.inc b/data/layouts/TradeCenter/layout.inc
deleted file mode 100644
index 906fb254a..000000000
--- a/data/layouts/TradeCenter/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-TradeCenter_MapBorder:: @ 82E9368
- .incbin "data/layouts/TradeCenter/border.bin"
-
-TradeCenter_MapBlockdata:: @ 82E9370
- .incbin "data/layouts/TradeCenter/map.bin"
-
- .align 2
-TradeCenter_Layout:: @ 82E9448
- .4byte 0xc
- .4byte 0x9
- .4byte TradeCenter_MapBorder
- .4byte TradeCenter_MapBlockdata
- .4byte gTileset_Building
- .4byte gTileset_CableClub
diff --git a/data/layouts/Underwater1/layout.inc b/data/layouts/Underwater1/layout.inc
deleted file mode 100644
index e020da990..000000000
--- a/data/layouts/Underwater1/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-Underwater1_MapBorder:: @ 82F2F18
- .incbin "data/layouts/Underwater1/border.bin"
-
-Underwater1_MapBlockdata:: @ 82F2F20
- .incbin "data/layouts/Underwater1/map.bin"
-
- .align 2
-Underwater1_Layout:: @ 82F6120
- .4byte 0x50
- .4byte 0x50
- .4byte Underwater1_MapBorder
- .4byte Underwater1_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Underwater
diff --git a/data/layouts/Underwater2/layout.inc b/data/layouts/Underwater2/layout.inc
deleted file mode 100644
index 6ba018c3b..000000000
--- a/data/layouts/Underwater2/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-Underwater2_MapBorder:: @ 82C503C
- .incbin "data/layouts/Underwater2/border.bin"
-
-Underwater2_MapBlockdata:: @ 82C5044
- .incbin "data/layouts/Underwater2/map.bin"
-
- .align 2
-Underwater2_Layout:: @ 82C8244
- .4byte 0x50
- .4byte 0x50
- .4byte Underwater2_MapBorder
- .4byte Underwater2_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Underwater
diff --git a/data/layouts/Underwater3/layout.inc b/data/layouts/Underwater3/layout.inc
deleted file mode 100644
index be0ebc363..000000000
--- a/data/layouts/Underwater3/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-Underwater3_MapBorder:: @ 82C825C
- .incbin "data/layouts/Underwater3/border.bin"
-
-Underwater3_MapBlockdata:: @ 82C8264
- .incbin "data/layouts/Underwater3/map.bin"
-
- .align 2
-Underwater3_Layout:: @ 82CB464
- .4byte 0x50
- .4byte 0x50
- .4byte Underwater3_MapBorder
- .4byte Underwater3_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Underwater
diff --git a/data/layouts/Underwater4/layout.inc b/data/layouts/Underwater4/layout.inc
deleted file mode 100644
index cef9e4eb8..000000000
--- a/data/layouts/Underwater4/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-Underwater4_MapBorder:: @ 82CB47C
- .incbin "data/layouts/Underwater4/border.bin"
-
-Underwater4_MapBlockdata:: @ 82CB484
- .incbin "data/layouts/Underwater4/map.bin"
-
- .align 2
-Underwater4_Layout:: @ 82CDA04
- .4byte 0x78
- .4byte 0x28
- .4byte Underwater4_MapBorder
- .4byte Underwater4_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Underwater
diff --git a/data/layouts/Underwater_Route134/layout.inc b/data/layouts/Underwater_Route134/layout.inc
deleted file mode 100644
index 523c9f5e3..000000000
--- a/data/layouts/Underwater_Route134/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-Underwater_Route134_MapBorder:: @ 82F7600
- .incbin "data/layouts/Underwater_Route134/border.bin"
-
-Underwater_Route134_MapBlockdata:: @ 82F7608
- .incbin "data/layouts/Underwater_Route134/map.bin"
-
- .align 2
-Underwater_Route134_Layout:: @ 82F7770
- .4byte 0x12
- .4byte 0xa
- .4byte Underwater_Route134_MapBorder
- .4byte Underwater_Route134_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Underwater
diff --git a/data/layouts/Underwater_SeafloorCavern/layout.inc b/data/layouts/Underwater_SeafloorCavern/layout.inc
deleted file mode 100644
index fa9352663..000000000
--- a/data/layouts/Underwater_SeafloorCavern/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-Underwater_SeafloorCavern_MapBorder:: @ 82DD2B4
- .incbin "data/layouts/Underwater_SeafloorCavern/border.bin"
-
-Underwater_SeafloorCavern_MapBlockdata:: @ 82DD2BC
- .incbin "data/layouts/Underwater_SeafloorCavern/map.bin"
-
- .align 2
-Underwater_SeafloorCavern_Layout:: @ 82DD3B8
- .4byte 0xe
- .4byte 0x9
- .4byte Underwater_SeafloorCavern_MapBorder
- .4byte Underwater_SeafloorCavern_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Underwater
diff --git a/data/layouts/Underwater_SealedChamber/layout.inc b/data/layouts/Underwater_SealedChamber/layout.inc
deleted file mode 100644
index 9bf4ac1bf..000000000
--- a/data/layouts/Underwater_SealedChamber/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-Underwater_SealedChamber_MapBorder:: @ 82F7788
- .incbin "data/layouts/Underwater_SealedChamber/border.bin"
-
-Underwater_SealedChamber_MapBlockdata:: @ 82F7790
- .incbin "data/layouts/Underwater_SealedChamber/map.bin"
-
- .align 2
-Underwater_SealedChamber_Layout:: @ 82F7FD0
- .4byte 0x16
- .4byte 0x30
- .4byte Underwater_SealedChamber_MapBorder
- .4byte Underwater_SealedChamber_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Underwater
diff --git a/data/layouts/Underwater_SootopolisCity/layout.inc b/data/layouts/Underwater_SootopolisCity/layout.inc
deleted file mode 100644
index f5049c9d2..000000000
--- a/data/layouts/Underwater_SootopolisCity/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-Underwater_SootopolisCity_MapBorder:: @ 82D793C
- .incbin "data/layouts/Underwater_SootopolisCity/border.bin"
-
-Underwater_SootopolisCity_MapBlockdata:: @ 82D7944
- .incbin "data/layouts/Underwater_SootopolisCity/map.bin"
-
- .align 2
-Underwater_SootopolisCity_Layout:: @ 82D7AD4
- .4byte 0x14
- .4byte 0xa
- .4byte Underwater_SootopolisCity_MapBorder
- .4byte Underwater_SootopolisCity_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Underwater
diff --git a/data/layouts/UnknownMap_082CF564/layout.inc b/data/layouts/UnknownMap_082CF564/layout.inc
deleted file mode 100644
index df2be91f2..000000000
--- a/data/layouts/UnknownMap_082CF564/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-UnknownMap_082CF564_MapBorder::
- .incbin "data/layouts/UnknownMap_082CF564/border.bin"
-
-UnknownMap_082CF564_MapBlockdata::
- .incbin "data/layouts/UnknownMap_082CF564/map.bin"
-
- .align 2
-UnknownMap_082CF564_Layout::
- .4byte 0x1
- .4byte 0x1
- .4byte UnknownMap_082CF564_MapBorder
- .4byte UnknownMap_082CF564_MapBlockdata
- .4byte gTileset_Building
- .4byte gTileset_Contest
diff --git a/data/layouts/UnknownMap_082D05D8/layout.inc b/data/layouts/UnknownMap_082D05D8/layout.inc
deleted file mode 100644
index f35922aea..000000000
--- a/data/layouts/UnknownMap_082D05D8/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-UnknownMap_082D05D8_MapBorder::
- .incbin "data/layouts/UnknownMap_082D05D8/border.bin"
-
-UnknownMap_082D05D8_MapBlockdata::
- .incbin "data/layouts/UnknownMap_082D05D8/map.bin"
-
- .align 2
-UnknownMap_082D05D8_Layout::
- .4byte 0x1
- .4byte 0x1
- .4byte UnknownMap_082D05D8_MapBorder
- .4byte UnknownMap_082D05D8_MapBlockdata
- .4byte gTileset_Building
- .4byte gTileset_Contest
diff --git a/data/layouts/UnknownMap_082D05FC/layout.inc b/data/layouts/UnknownMap_082D05FC/layout.inc
deleted file mode 100644
index 646dab5cf..000000000
--- a/data/layouts/UnknownMap_082D05FC/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-UnknownMap_082D05FC_MapBorder::
- .incbin "data/layouts/UnknownMap_082D05FC/border.bin"
-
-UnknownMap_082D05FC_MapBlockdata::
- .incbin "data/layouts/UnknownMap_082D05FC/map.bin"
-
- .align 2
-UnknownMap_082D05FC_Layout::
- .4byte 0x1
- .4byte 0x1
- .4byte UnknownMap_082D05FC_MapBorder
- .4byte UnknownMap_082D05FC_MapBlockdata
- .4byte gTileset_Building
- .4byte gTileset_Contest
diff --git a/data/layouts/UnknownMap_082E55C8/layout.inc b/data/layouts/UnknownMap_082E55C8/layout.inc
deleted file mode 100644
index c6b6e0347..000000000
--- a/data/layouts/UnknownMap_082E55C8/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-UnknownMap_082E55C8_MapBorder::
- .incbin "data/layouts/UnknownMap_082E55C8/border.bin"
-
-UnknownMap_082E55C8_MapBlockdata::
- .incbin "data/layouts/UnknownMap_082E55C8/map.bin"
-
- .align 2
-UnknownMap_082E55C8_Layout::
- .4byte 0x1
- .4byte 0x1
- .4byte UnknownMap_082E55C8_MapBorder
- .4byte UnknownMap_082E55C8_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Cave
diff --git a/data/layouts/UnknownMap_082E55EC/layout.inc b/data/layouts/UnknownMap_082E55EC/layout.inc
deleted file mode 100644
index 8b1f2c21a..000000000
--- a/data/layouts/UnknownMap_082E55EC/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-UnknownMap_082E55EC_MapBorder::
- .incbin "data/layouts/UnknownMap_082E55EC/border.bin"
-
-UnknownMap_082E55EC_MapBlockdata::
- .incbin "data/layouts/UnknownMap_082E55EC/map.bin"
-
- .align 2
-UnknownMap_082E55EC_Layout::
- .4byte 0x1
- .4byte 0x1
- .4byte UnknownMap_082E55EC_MapBorder
- .4byte UnknownMap_082E55EC_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Cave
diff --git a/data/layouts/UnknownMap_082E5610/layout.inc b/data/layouts/UnknownMap_082E5610/layout.inc
deleted file mode 100644
index 87c11b97b..000000000
--- a/data/layouts/UnknownMap_082E5610/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-UnknownMap_082E5610_MapBorder::
- .incbin "data/layouts/UnknownMap_082E5610/border.bin"
-
-UnknownMap_082E5610_MapBlockdata::
- .incbin "data/layouts/UnknownMap_082E5610/map.bin"
-
- .align 2
-UnknownMap_082E5610_Layout::
- .4byte 0x1
- .4byte 0x1
- .4byte UnknownMap_082E5610_MapBorder
- .4byte UnknownMap_082E5610_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Cave
diff --git a/data/layouts/UnknownMap_082E5634/layout.inc b/data/layouts/UnknownMap_082E5634/layout.inc
deleted file mode 100644
index a4d1675f4..000000000
--- a/data/layouts/UnknownMap_082E5634/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-UnknownMap_082E5634_MapBorder::
- .incbin "data/layouts/UnknownMap_082E5634/border.bin"
-
-UnknownMap_082E5634_MapBlockdata::
- .incbin "data/layouts/UnknownMap_082E5634/map.bin"
-
- .align 2
-UnknownMap_082E5634_Layout::
- .4byte 0x1
- .4byte 0x1
- .4byte UnknownMap_082E5634_MapBorder
- .4byte UnknownMap_082E5634_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Cave
diff --git a/data/layouts/UnknownMap_082E5658/layout.inc b/data/layouts/UnknownMap_082E5658/layout.inc
deleted file mode 100644
index b7608b96d..000000000
--- a/data/layouts/UnknownMap_082E5658/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-UnknownMap_082E5658_MapBorder::
- .incbin "data/layouts/UnknownMap_082E5658/border.bin"
-
-UnknownMap_082E5658_MapBlockdata::
- .incbin "data/layouts/UnknownMap_082E5658/map.bin"
-
- .align 2
-UnknownMap_082E5658_Layout::
- .4byte 0x1
- .4byte 0x1
- .4byte UnknownMap_082E5658_MapBorder
- .4byte UnknownMap_082E5658_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Cave
diff --git a/data/layouts/UnknownMap_082E567C/layout.inc b/data/layouts/UnknownMap_082E567C/layout.inc
deleted file mode 100644
index 6f427bee6..000000000
--- a/data/layouts/UnknownMap_082E567C/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-UnknownMap_082E567C_MapBorder::
- .incbin "data/layouts/UnknownMap_082E567C/border.bin"
-
-UnknownMap_082E567C_MapBlockdata::
- .incbin "data/layouts/UnknownMap_082E567C/map.bin"
-
- .align 2
-UnknownMap_082E567C_Layout::
- .4byte 0x1
- .4byte 0x1
- .4byte UnknownMap_082E567C_MapBorder
- .4byte UnknownMap_082E567C_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Cave
diff --git a/data/layouts/UnknownMap_082E56A0/layout.inc b/data/layouts/UnknownMap_082E56A0/layout.inc
deleted file mode 100644
index 24964ef39..000000000
--- a/data/layouts/UnknownMap_082E56A0/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-UnknownMap_082E56A0_MapBorder::
- .incbin "data/layouts/UnknownMap_082E56A0/border.bin"
-
-UnknownMap_082E56A0_MapBlockdata::
- .incbin "data/layouts/UnknownMap_082E56A0/map.bin"
-
- .align 2
-UnknownMap_082E56A0_Layout::
- .4byte 0x1
- .4byte 0x1
- .4byte UnknownMap_082E56A0_MapBorder
- .4byte UnknownMap_082E56A0_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Cave
diff --git a/data/layouts/UnknownMap_082E56C4/layout.inc b/data/layouts/UnknownMap_082E56C4/layout.inc
deleted file mode 100644
index e0d2eca7d..000000000
--- a/data/layouts/UnknownMap_082E56C4/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-UnknownMap_082E56C4_MapBorder::
- .incbin "data/layouts/UnknownMap_082E56C4/border.bin"
-
-UnknownMap_082E56C4_MapBlockdata::
- .incbin "data/layouts/UnknownMap_082E56C4/map.bin"
-
- .align 2
-UnknownMap_082E56C4_Layout::
- .4byte 0x1
- .4byte 0x1
- .4byte UnknownMap_082E56C4_MapBorder
- .4byte UnknownMap_082E56C4_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Cave
diff --git a/data/layouts/UnknownMap_082E56E8/layout.inc b/data/layouts/UnknownMap_082E56E8/layout.inc
deleted file mode 100644
index c163fd44e..000000000
--- a/data/layouts/UnknownMap_082E56E8/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-UnknownMap_082E56E8_MapBorder::
- .incbin "data/layouts/UnknownMap_082E56E8/border.bin"
-
-UnknownMap_082E56E8_MapBlockdata::
- .incbin "data/layouts/UnknownMap_082E56E8/map.bin"
-
- .align 2
-UnknownMap_082E56E8_Layout::
- .4byte 0x1
- .4byte 0x1
- .4byte UnknownMap_082E56E8_MapBorder
- .4byte UnknownMap_082E56E8_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Cave
diff --git a/data/layouts/UnknownMap_082E570C/layout.inc b/data/layouts/UnknownMap_082E570C/layout.inc
deleted file mode 100644
index 543decba8..000000000
--- a/data/layouts/UnknownMap_082E570C/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-UnknownMap_082E570C_MapBorder::
- .incbin "data/layouts/UnknownMap_082E570C/border.bin"
-
-UnknownMap_082E570C_MapBlockdata::
- .incbin "data/layouts/UnknownMap_082E570C/map.bin"
-
- .align 2
-UnknownMap_082E570C_Layout::
- .4byte 0x1
- .4byte 0x1
- .4byte UnknownMap_082E570C_MapBorder
- .4byte UnknownMap_082E570C_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Cave
diff --git a/data/layouts/UnknownMap_082E5730/layout.inc b/data/layouts/UnknownMap_082E5730/layout.inc
deleted file mode 100644
index e1b39f931..000000000
--- a/data/layouts/UnknownMap_082E5730/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-UnknownMap_082E5730_MapBorder::
- .incbin "data/layouts/UnknownMap_082E5730/border.bin"
-
-UnknownMap_082E5730_MapBlockdata::
- .incbin "data/layouts/UnknownMap_082E5730/map.bin"
-
- .align 2
-UnknownMap_082E5730_Layout::
- .4byte 0x1
- .4byte 0x1
- .4byte UnknownMap_082E5730_MapBorder
- .4byte UnknownMap_082E5730_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Cave
diff --git a/data/layouts/UnknownMap_082E5754/layout.inc b/data/layouts/UnknownMap_082E5754/layout.inc
deleted file mode 100644
index f1b3970f9..000000000
--- a/data/layouts/UnknownMap_082E5754/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-UnknownMap_082E5754_MapBorder::
- .incbin "data/layouts/UnknownMap_082E5754/border.bin"
-
-UnknownMap_082E5754_MapBlockdata::
- .incbin "data/layouts/UnknownMap_082E5754/map.bin"
-
- .align 2
-UnknownMap_082E5754_Layout::
- .4byte 0x1
- .4byte 0x1
- .4byte UnknownMap_082E5754_MapBorder
- .4byte UnknownMap_082E5754_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Cave
diff --git a/data/layouts/UnknownMap_082E5778/layout.inc b/data/layouts/UnknownMap_082E5778/layout.inc
deleted file mode 100644
index 457b16610..000000000
--- a/data/layouts/UnknownMap_082E5778/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-UnknownMap_082E5778_MapBorder::
- .incbin "data/layouts/UnknownMap_082E5778/border.bin"
-
-UnknownMap_082E5778_MapBlockdata::
- .incbin "data/layouts/UnknownMap_082E5778/map.bin"
-
- .align 2
-UnknownMap_082E5778_Layout::
- .4byte 0x1
- .4byte 0x1
- .4byte UnknownMap_082E5778_MapBorder
- .4byte UnknownMap_082E5778_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Cave
diff --git a/data/layouts/UnknownMap_082E579C/layout.inc b/data/layouts/UnknownMap_082E579C/layout.inc
deleted file mode 100644
index 9550a7acc..000000000
--- a/data/layouts/UnknownMap_082E579C/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-UnknownMap_082E579C_MapBorder::
- .incbin "data/layouts/UnknownMap_082E579C/border.bin"
-
-UnknownMap_082E579C_MapBlockdata:
- .incbin "data/layouts/UnknownMap_082E579C/map.bin"
-
- .align 2
-UnknownMap_082E579C_Layout::
- .4byte 0x1
- .4byte 0x1
- .4byte UnknownMap_082E579C_MapBorder
- .4byte UnknownMap_082E579C_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Cave
diff --git a/data/layouts/UnknownMap_082EDF30/layout.inc b/data/layouts/UnknownMap_082EDF30/layout.inc
deleted file mode 100644
index 483b21ac5..000000000
--- a/data/layouts/UnknownMap_082EDF30/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-UnknownMap_082EDF30_MapBorder::
- .incbin "data/layouts/UnknownMap_082EDF30/border.bin"
-
-UnknownMap_082EDF30_MapBlockdata::
- .incbin "data/layouts/UnknownMap_082EDF30/map.bin"
-
- .align 2
-UnknownMap_082EDF30_Layout::
- .4byte 0x3A
- .4byte 0x1A
- .4byte UnknownMap_082EDF30_MapBorder
- .4byte UnknownMap_082EDF30_MapBlockdata
- .4byte gTileset_General
- .4byte 0
diff --git a/data/layouts/UnknownMap_082FF894/layout.inc b/data/layouts/UnknownMap_082FF894/layout.inc
deleted file mode 100644
index b353645bf..000000000
--- a/data/layouts/UnknownMap_082FF894/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-UnknownMap_082FF894_MapBorder::
- .incbin "data/layouts/UnknownMap_082FF894/border.bin"
-
-UnknownMap_082FF894_MapBlockdata::
- .incbin "data/layouts/UnknownMap_082FF894/map.bin"
-
- .align 2
-UnknownMap_082FF894_Layout::
- .4byte 0x13
- .4byte 0x13
- .4byte UnknownMap_082FF894_MapBorder
- .4byte UnknownMap_082FF894_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Cave
diff --git a/data/layouts/UnknownMap_08302970/layout.inc b/data/layouts/UnknownMap_08302970/layout.inc
deleted file mode 100644
index 7e4299a89..000000000
--- a/data/layouts/UnknownMap_08302970/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-UnknownMap_08302970_MapBorder::
- .incbin "data/layouts/UnknownMap_08302970/border.bin"
-
-UnknownMap_08302970_MapBlockdata::
- .incbin "data/layouts/UnknownMap_08302970/map.bin"
-
- .align 2
-UnknownMap_08302970_Layout::
- .4byte 0x3C
- .4byte 0x28
- .4byte UnknownMap_08302970_MapBorder
- .4byte UnknownMap_08302970_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Pacifidlog
diff --git a/data/layouts/UnknownMap_083041B4/layout.inc b/data/layouts/UnknownMap_083041B4/layout.inc
deleted file mode 100644
index 4fd4f176c..000000000
--- a/data/layouts/UnknownMap_083041B4/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-UnknownMap_083041B4_MapBorder::
- .incbin "data/layouts/UnknownMap_083041B4/border.bin"
-
-UnknownMap_083041B4_MapBlockdata::
- .incbin "data/layouts/UnknownMap_083041B4/map.bin"
-
- .align 2
-UnknownMap_083041B4_Layout::
- .4byte 0x1B
- .4byte 0x2E
- .4byte UnknownMap_083041B4_MapBorder
- .4byte UnknownMap_083041B4_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Cave
diff --git a/data/layouts/UnknownMap_25_29/layout.inc b/data/layouts/UnknownMap_25_29/layout.inc
deleted file mode 100644
index 159e6d561..000000000
--- a/data/layouts/UnknownMap_25_29/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-UnknownMap_25_29_MapBorder:: @ 82E9898
- .incbin "data/layouts/UnknownMap_25_29/border.bin"
-
-UnknownMap_25_29_MapBlockdata:: @ 82E98A0
- .incbin "data/layouts/UnknownMap_25_29/map.bin"
-
- .align 2
-UnknownMap_25_29_Layout:: @ 82E98A4
- .4byte 0x1
- .4byte 0x1
- .4byte UnknownMap_25_29_MapBorder
- .4byte UnknownMap_25_29_MapBlockdata
- .4byte gTileset_Building
- .4byte gTileset_Contest
diff --git a/data/layouts/UnknownMap_25_30/layout.inc b/data/layouts/UnknownMap_25_30/layout.inc
deleted file mode 100644
index b721ecfa1..000000000
--- a/data/layouts/UnknownMap_25_30/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-UnknownMap_25_30_MapBorder:: @ 82E98BC
- .incbin "data/layouts/UnknownMap_25_30/border.bin"
-
-UnknownMap_25_30_MapBlockdata:: @ 82E98C4
- .incbin "data/layouts/UnknownMap_25_30/map.bin"
-
- .align 2
-UnknownMap_25_30_Layout:: @ 82E98C8
- .4byte 0x1
- .4byte 0x1
- .4byte UnknownMap_25_30_MapBorder
- .4byte UnknownMap_25_30_MapBlockdata
- .4byte gTileset_Building
- .4byte gTileset_Contest
diff --git a/data/layouts/UnknownMap_25_31/layout.inc b/data/layouts/UnknownMap_25_31/layout.inc
deleted file mode 100644
index 9ac9130f1..000000000
--- a/data/layouts/UnknownMap_25_31/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-UnknownMap_25_31_MapBorder:: @ 82E98E0
- .incbin "data/layouts/UnknownMap_25_31/border.bin"
-
-UnknownMap_25_31_MapBlockdata:: @ 82E98E8
- .incbin "data/layouts/UnknownMap_25_31/map.bin"
-
- .align 2
-UnknownMap_25_31_Layout:: @ 82E98EC
- .4byte 0x1
- .4byte 0x1
- .4byte UnknownMap_25_31_MapBorder
- .4byte UnknownMap_25_31_MapBlockdata
- .4byte gTileset_Building
- .4byte gTileset_Contest
diff --git a/data/layouts/UnknownMap_25_32/layout.inc b/data/layouts/UnknownMap_25_32/layout.inc
deleted file mode 100644
index 3b7b4b459..000000000
--- a/data/layouts/UnknownMap_25_32/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-UnknownMap_25_32_MapBorder:: @ 82E9904
- .incbin "data/layouts/UnknownMap_25_32/border.bin"
-
-UnknownMap_25_32_MapBlockdata:: @ 82E990C
- .incbin "data/layouts/UnknownMap_25_32/map.bin"
-
- .align 2
-UnknownMap_25_32_Layout:: @ 82E9910
- .4byte 0x1
- .4byte 0x1
- .4byte UnknownMap_25_32_MapBorder
- .4byte UnknownMap_25_32_MapBlockdata
- .4byte gTileset_Building
- .4byte gTileset_Contest
diff --git a/data/layouts/UnknownMap_25_33/layout.inc b/data/layouts/UnknownMap_25_33/layout.inc
deleted file mode 100644
index 6564dfe6b..000000000
--- a/data/layouts/UnknownMap_25_33/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-UnknownMap_25_33_MapBorder:: @ 82E9928
- .incbin "data/layouts/UnknownMap_25_33/border.bin"
-
-UnknownMap_25_33_MapBlockdata:: @ 82E9930
- .incbin "data/layouts/UnknownMap_25_33/map.bin"
-
- .align 2
-UnknownMap_25_33_Layout:: @ 82E9934
- .4byte 0x1
- .4byte 0x1
- .4byte UnknownMap_25_33_MapBorder
- .4byte UnknownMap_25_33_MapBlockdata
- .4byte gTileset_Building
- .4byte gTileset_Contest
diff --git a/data/layouts/UnknownMap_25_34/layout.inc b/data/layouts/UnknownMap_25_34/layout.inc
deleted file mode 100644
index 178449d2f..000000000
--- a/data/layouts/UnknownMap_25_34/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-UnknownMap_25_34_MapBorder:: @ 82E994C
- .incbin "data/layouts/UnknownMap_25_34/border.bin"
-
-UnknownMap_25_34_MapBlockdata:: @ 82E9954
- .incbin "data/layouts/UnknownMap_25_34/map.bin"
-
- .align 2
-UnknownMap_25_34_Layout:: @ 82E9958
- .4byte 0x1
- .4byte 0x1
- .4byte UnknownMap_25_34_MapBorder
- .4byte UnknownMap_25_34_MapBlockdata
- .4byte gTileset_Building
- .4byte gTileset_Contest
diff --git a/data/layouts/UnreferencedMap/layout.inc b/data/layouts/UnreferencedMap/layout.inc
deleted file mode 100644
index 14edbb25d..000000000
--- a/data/layouts/UnreferencedMap/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-UnreferencedMap_MapBorder:: @ 82BD8DC
- .incbin "data/layouts/UnreferencedMap/border.bin"
-
-UnreferencedMap_MapBlockdata: @ 82BD8E4
- .incbin "data/layouts/UnreferencedMap/map.bin"
-
- .align 2
-UnreferencedMap_Layout:: @ 82BF1E4
- .4byte 0x50
- .4byte 0x28
- .4byte UnreferencedMap_MapBorder
- .4byte UnreferencedMap_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Cave
diff --git a/data/layouts/VerdanturfTown/layout.inc b/data/layouts/VerdanturfTown/layout.inc
deleted file mode 100644
index 1e69e75c1..000000000
--- a/data/layouts/VerdanturfTown/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-VerdanturfTown_MapBorder:: @ 82923EC
- .incbin "data/layouts/VerdanturfTown/border.bin"
-
-VerdanturfTown_MapBlockdata:: @ 82923F4
- .incbin "data/layouts/VerdanturfTown/map.bin"
-
- .align 2
-VerdanturfTown_Layout:: @ 8292714
- .4byte 0x14
- .4byte 0x14
- .4byte VerdanturfTown_MapBorder
- .4byte VerdanturfTown_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Mauville
diff --git a/data/layouts/VerdanturfTown_WandasHouse/layout.inc b/data/layouts/VerdanturfTown_WandasHouse/layout.inc
deleted file mode 100644
index a6922408b..000000000
--- a/data/layouts/VerdanturfTown_WandasHouse/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-VerdanturfTown_WandasHouse_MapBorder:: @ 82CF57C
- .incbin "data/layouts/VerdanturfTown_WandasHouse/border.bin"
-
-VerdanturfTown_WandasHouse_MapBlockdata:: @ 82CF584
- .incbin "data/layouts/VerdanturfTown_WandasHouse/map.bin"
-
- .align 2
-VerdanturfTown_WandasHouse_Layout:: @ 82CF694
- .4byte 0x11
- .4byte 0x8
- .4byte VerdanturfTown_WandasHouse_MapBorder
- .4byte VerdanturfTown_WandasHouse_MapBlockdata
- .4byte gTileset_Building
- .4byte gTileset_GenericBuilding
diff --git a/data/layouts/VictoryRoad_1F/layout.inc b/data/layouts/VictoryRoad_1F/layout.inc
deleted file mode 100644
index 5d0bd41d1..000000000
--- a/data/layouts/VictoryRoad_1F/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-VictoryRoad_1F_MapBorder:: @ 82E105C
- .incbin "data/layouts/VictoryRoad_1F/border.bin"
-
-VictoryRoad_1F_MapBlockdata:: @ 82E1064
- .incbin "data/layouts/VictoryRoad_1F/map.bin"
-
- .align 2
-VictoryRoad_1F_Layout:: @ 82E2090
- .4byte 0x2e
- .4byte 0x2d
- .4byte VictoryRoad_1F_MapBorder
- .4byte VictoryRoad_1F_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Cave
diff --git a/data/layouts/VictoryRoad_B1F/layout.inc b/data/layouts/VictoryRoad_B1F/layout.inc
deleted file mode 100644
index 1613743cf..000000000
--- a/data/layouts/VictoryRoad_B1F/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-VictoryRoad_B1F_MapBorder:: @ 82F83D0
- .incbin "data/layouts/VictoryRoad_B1F/border.bin"
-
-VictoryRoad_B1F_MapBlockdata:: @ 82F83D8
- .incbin "data/layouts/VictoryRoad_B1F/map.bin"
-
- .align 2
-VictoryRoad_B1F_Layout:: @ 82F8EFC
- .4byte 0x2e
- .4byte 0x1f
- .4byte VictoryRoad_B1F_MapBorder
- .4byte VictoryRoad_B1F_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Cave
diff --git a/data/layouts/VictoryRoad_B2F/layout.inc b/data/layouts/VictoryRoad_B2F/layout.inc
deleted file mode 100644
index ff4ddb865..000000000
--- a/data/layouts/VictoryRoad_B2F/layout.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-VictoryRoad_B2F_MapBorder:: @ 82F8F14
- .incbin "data/layouts/VictoryRoad_B2F/border.bin"
-
-VictoryRoad_B2F_MapBlockdata:: @ 82F8F1C
- .incbin "data/layouts/VictoryRoad_B2F/map.bin"
-
- .align 2
-VictoryRoad_B2F_Layout:: @ 82F9A40
- .4byte 0x2e
- .4byte 0x1f
- .4byte VictoryRoad_B2F_MapBorder
- .4byte VictoryRoad_B2F_MapBlockdata
- .4byte gTileset_General
- .4byte gTileset_Cave
diff --git a/data/layouts/layouts.json b/data/layouts/layouts.json
new file mode 100644
index 000000000..0c1480c47
--- /dev/null
+++ b/data/layouts/layouts.json
@@ -0,0 +1,3325 @@
+{
+ "layouts_table_label": "gMapLayouts",
+ "layouts": [
+ {
+ "id": "LAYOUT_PETALBURG_CITY",
+ "name": "PetalburgCity_Layout",
+ "width": 30,
+ "height": 30,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Petalburg",
+ "border_filepath": "data/layouts/PetalburgCity/border.bin",
+ "blockdata_filepath": "data/layouts/PetalburgCity/map.bin"
+ },
+ {
+ "id": "LAYOUT_SLATEPORT_CITY",
+ "name": "SlateportCity_Layout",
+ "width": 40,
+ "height": 60,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Slateport",
+ "border_filepath": "data/layouts/SlateportCity/border.bin",
+ "blockdata_filepath": "data/layouts/SlateportCity/map.bin"
+ },
+ {
+ "id": "LAYOUT_MAUVILLE_CITY",
+ "name": "MauvilleCity_Layout",
+ "width": 40,
+ "height": 20,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Mauville",
+ "border_filepath": "data/layouts/MauvilleCity/border.bin",
+ "blockdata_filepath": "data/layouts/MauvilleCity/map.bin"
+ },
+ {
+ "id": "LAYOUT_RUSTBORO_CITY",
+ "name": "RustboroCity_Layout",
+ "width": 40,
+ "height": 60,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Rustboro",
+ "border_filepath": "data/layouts/RustboroCity/border.bin",
+ "blockdata_filepath": "data/layouts/RustboroCity/map.bin"
+ },
+ {
+ "id": "LAYOUT_FORTREE_CITY",
+ "name": "FortreeCity_Layout",
+ "width": 40,
+ "height": 20,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Fortree",
+ "border_filepath": "data/layouts/FortreeCity/border.bin",
+ "blockdata_filepath": "data/layouts/FortreeCity/map.bin"
+ },
+ {
+ "id": "LAYOUT_LILYCOVE_CITY",
+ "name": "LilycoveCity_Layout",
+ "width": 80,
+ "height": 40,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Lilycove",
+ "border_filepath": "data/layouts/LilycoveCity/border.bin",
+ "blockdata_filepath": "data/layouts/LilycoveCity/map.bin"
+ },
+ {
+ "id": "LAYOUT_MOSSDEEP_CITY",
+ "name": "MossdeepCity_Layout",
+ "width": 80,
+ "height": 40,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Mossdeep",
+ "border_filepath": "data/layouts/MossdeepCity/border.bin",
+ "blockdata_filepath": "data/layouts/MossdeepCity/map.bin"
+ },
+ {
+ "id": "LAYOUT_SOOTOPOLIS_CITY",
+ "name": "SootopolisCity_Layout",
+ "width": 60,
+ "height": 60,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Sootopolis",
+ "border_filepath": "data/layouts/SootopolisCity/border.bin",
+ "blockdata_filepath": "data/layouts/SootopolisCity/map.bin"
+ },
+ {
+ "id": "LAYOUT_EVER_GRANDE_CITY",
+ "name": "EverGrandeCity_Layout",
+ "width": 40,
+ "height": 80,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_EverGrande",
+ "border_filepath": "data/layouts/EverGrandeCity/border.bin",
+ "blockdata_filepath": "data/layouts/EverGrandeCity/map.bin"
+ },
+ {
+ "id": "LAYOUT_LITTLEROOT_TOWN",
+ "name": "LittlerootTown_Layout",
+ "width": 20,
+ "height": 20,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Petalburg",
+ "border_filepath": "data/layouts/LittlerootTown/border.bin",
+ "blockdata_filepath": "data/layouts/LittlerootTown/map.bin"
+ },
+ {
+ "id": "LAYOUT_OLDALE_TOWN",
+ "name": "OldaleTown_Layout",
+ "width": 20,
+ "height": 20,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Petalburg",
+ "border_filepath": "data/layouts/OldaleTown/border.bin",
+ "blockdata_filepath": "data/layouts/OldaleTown/map.bin"
+ },
+ {
+ "id": "LAYOUT_DEWFORD_TOWN",
+ "name": "DewfordTown_Layout",
+ "width": 20,
+ "height": 20,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Dewford",
+ "border_filepath": "data/layouts/DewfordTown/border.bin",
+ "blockdata_filepath": "data/layouts/DewfordTown/map.bin"
+ },
+ {
+ "id": "LAYOUT_LAVARIDGE_TOWN",
+ "name": "LavaridgeTown_Layout",
+ "width": 20,
+ "height": 20,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Lavaridge",
+ "border_filepath": "data/layouts/LavaridgeTown/border.bin",
+ "blockdata_filepath": "data/layouts/LavaridgeTown/map.bin"
+ },
+ {
+ "id": "LAYOUT_FALLARBOR_TOWN",
+ "name": "FallarborTown_Layout",
+ "width": 20,
+ "height": 20,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Fallarbor",
+ "border_filepath": "data/layouts/FallarborTown/border.bin",
+ "blockdata_filepath": "data/layouts/FallarborTown/map.bin"
+ },
+ {
+ "id": "LAYOUT_VERDANTURF_TOWN",
+ "name": "VerdanturfTown_Layout",
+ "width": 20,
+ "height": 20,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Mauville",
+ "border_filepath": "data/layouts/VerdanturfTown/border.bin",
+ "blockdata_filepath": "data/layouts/VerdanturfTown/map.bin"
+ },
+ {
+ "id": "LAYOUT_PACIFIDLOG_TOWN",
+ "name": "PacifidlogTown_Layout",
+ "width": 20,
+ "height": 40,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Pacifidlog",
+ "border_filepath": "data/layouts/PacifidlogTown/border.bin",
+ "blockdata_filepath": "data/layouts/PacifidlogTown/map.bin"
+ },
+ {
+ "id": "LAYOUT_ROUTE101",
+ "name": "Route101_Layout",
+ "width": 20,
+ "height": 20,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Petalburg",
+ "border_filepath": "data/layouts/Route101/border.bin",
+ "blockdata_filepath": "data/layouts/Route101/map.bin"
+ },
+ {
+ "id": "LAYOUT_ROUTE102",
+ "name": "Route102_Layout",
+ "width": 50,
+ "height": 20,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Petalburg",
+ "border_filepath": "data/layouts/Route102/border.bin",
+ "blockdata_filepath": "data/layouts/Route102/map.bin"
+ },
+ {
+ "id": "LAYOUT_ROUTE103",
+ "name": "Route103_Layout",
+ "width": 80,
+ "height": 20,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Petalburg",
+ "border_filepath": "data/layouts/Route103/border.bin",
+ "blockdata_filepath": "data/layouts/Route103/map.bin"
+ },
+ {
+ "id": "LAYOUT_ROUTE104",
+ "name": "Route104_Layout",
+ "width": 40,
+ "height": 80,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Rustboro",
+ "border_filepath": "data/layouts/Route104/border.bin",
+ "blockdata_filepath": "data/layouts/Route104/map.bin"
+ },
+ {
+ "id": "LAYOUT_ROUTE105",
+ "name": "Route105_Layout",
+ "width": 40,
+ "height": 80,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Dewford",
+ "border_filepath": "data/layouts/Route105/border.bin",
+ "blockdata_filepath": "data/layouts/Route105/map.bin"
+ },
+ {
+ "id": "LAYOUT_ROUTE106",
+ "name": "Route106_Layout",
+ "width": 80,
+ "height": 20,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Dewford",
+ "border_filepath": "data/layouts/Route106/border.bin",
+ "blockdata_filepath": "data/layouts/Route106/map.bin"
+ },
+ {
+ "id": "LAYOUT_ROUTE107",
+ "name": "Route107_Layout",
+ "width": 60,
+ "height": 20,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Dewford",
+ "border_filepath": "data/layouts/Route107/border.bin",
+ "blockdata_filepath": "data/layouts/Route107/map.bin"
+ },
+ {
+ "id": "LAYOUT_ROUTE108",
+ "name": "Route108_Layout",
+ "width": 60,
+ "height": 20,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Slateport",
+ "border_filepath": "data/layouts/Route108/border.bin",
+ "blockdata_filepath": "data/layouts/Route108/map.bin"
+ },
+ {
+ "id": "LAYOUT_ROUTE109",
+ "name": "Route109_Layout",
+ "width": 40,
+ "height": 60,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Slateport",
+ "border_filepath": "data/layouts/Route109/border.bin",
+ "blockdata_filepath": "data/layouts/Route109/map.bin"
+ },
+ {
+ "id": "LAYOUT_ROUTE110",
+ "name": "Route110_Layout",
+ "width": 40,
+ "height": 100,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Mauville",
+ "border_filepath": "data/layouts/Route110/border.bin",
+ "blockdata_filepath": "data/layouts/Route110/map.bin"
+ },
+ {
+ "id": "LAYOUT_ROUTE111",
+ "name": "Route111_Layout",
+ "width": 40,
+ "height": 140,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Mauville",
+ "border_filepath": "data/layouts/Route111/border.bin",
+ "blockdata_filepath": "data/layouts/Route111/map.bin"
+ },
+ {
+ "id": "LAYOUT_ROUTE112",
+ "name": "Route112_Layout",
+ "width": 40,
+ "height": 60,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Lavaridge",
+ "border_filepath": "data/layouts/Route112/border.bin",
+ "blockdata_filepath": "data/layouts/Route112/map.bin"
+ },
+ {
+ "id": "LAYOUT_ROUTE113",
+ "name": "Route113_Layout",
+ "width": 100,
+ "height": 20,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Fallarbor",
+ "border_filepath": "data/layouts/Route113/border.bin",
+ "blockdata_filepath": "data/layouts/Route113/map.bin"
+ },
+ {
+ "id": "LAYOUT_ROUTE114",
+ "name": "Route114_Layout",
+ "width": 40,
+ "height": 80,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Fallarbor",
+ "border_filepath": "data/layouts/Route114/border.bin",
+ "blockdata_filepath": "data/layouts/Route114/map.bin"
+ },
+ {
+ "id": "LAYOUT_ROUTE115",
+ "name": "Route115_Layout",
+ "width": 40,
+ "height": 80,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Fallarbor",
+ "border_filepath": "data/layouts/Route115/border.bin",
+ "blockdata_filepath": "data/layouts/Route115/map.bin"
+ },
+ {
+ "id": "LAYOUT_ROUTE116",
+ "name": "Route116_Layout",
+ "width": 100,
+ "height": 20,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Rustboro",
+ "border_filepath": "data/layouts/Route116/border.bin",
+ "blockdata_filepath": "data/layouts/Route116/map.bin"
+ },
+ {
+ "id": "LAYOUT_ROUTE117",
+ "name": "Route117_Layout",
+ "width": 60,
+ "height": 20,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Mauville",
+ "border_filepath": "data/layouts/Route117/border.bin",
+ "blockdata_filepath": "data/layouts/Route117/map.bin"
+ },
+ {
+ "id": "LAYOUT_ROUTE118",
+ "name": "Route118_Layout",
+ "width": 80,
+ "height": 20,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Mauville",
+ "border_filepath": "data/layouts/Route118/border.bin",
+ "blockdata_filepath": "data/layouts/Route118/map.bin"
+ },
+ {
+ "id": "LAYOUT_ROUTE119",
+ "name": "Route119_Layout",
+ "width": 40,
+ "height": 140,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Fortree",
+ "border_filepath": "data/layouts/Route119/border.bin",
+ "blockdata_filepath": "data/layouts/Route119/map.bin"
+ },
+ {
+ "id": "LAYOUT_ROUTE120",
+ "name": "Route120_Layout",
+ "width": 40,
+ "height": 100,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Fortree",
+ "border_filepath": "data/layouts/Route120/border.bin",
+ "blockdata_filepath": "data/layouts/Route120/map.bin"
+ },
+ {
+ "id": "LAYOUT_ROUTE121",
+ "name": "Route121_Layout",
+ "width": 80,
+ "height": 20,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Lilycove",
+ "border_filepath": "data/layouts/Route121/border.bin",
+ "blockdata_filepath": "data/layouts/Route121/map.bin"
+ },
+ {
+ "id": "LAYOUT_ROUTE122",
+ "name": "Route122_Layout",
+ "width": 40,
+ "height": 40,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Lilycove",
+ "border_filepath": "data/layouts/Route122/border.bin",
+ "blockdata_filepath": "data/layouts/Route122/map.bin"
+ },
+ {
+ "id": "LAYOUT_ROUTE123",
+ "name": "Route123_Layout",
+ "width": 140,
+ "height": 20,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Lilycove",
+ "border_filepath": "data/layouts/Route123/border.bin",
+ "blockdata_filepath": "data/layouts/Route123/map.bin"
+ },
+ {
+ "id": "LAYOUT_ROUTE124",
+ "name": "Route124_Layout",
+ "width": 80,
+ "height": 80,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Mossdeep",
+ "border_filepath": "data/layouts/Route124/border.bin",
+ "blockdata_filepath": "data/layouts/Route124/map.bin"
+ },
+ {
+ "id": "LAYOUT_ROUTE125",
+ "name": "Route125_Layout",
+ "width": 80,
+ "height": 40,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Mossdeep",
+ "border_filepath": "data/layouts/Route125/border.bin",
+ "blockdata_filepath": "data/layouts/Route125/map.bin"
+ },
+ {
+ "id": "LAYOUT_ROUTE126",
+ "name": "Route126_Layout",
+ "width": 80,
+ "height": 80,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Mossdeep",
+ "border_filepath": "data/layouts/Route126/border.bin",
+ "blockdata_filepath": "data/layouts/Route126/map.bin"
+ },
+ {
+ "id": "LAYOUT_ROUTE127",
+ "name": "Route127_Layout",
+ "width": 80,
+ "height": 80,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Mossdeep",
+ "border_filepath": "data/layouts/Route127/border.bin",
+ "blockdata_filepath": "data/layouts/Route127/map.bin"
+ },
+ {
+ "id": "LAYOUT_ROUTE128",
+ "name": "Route128_Layout",
+ "width": 120,
+ "height": 40,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Mossdeep",
+ "border_filepath": "data/layouts/Route128/border.bin",
+ "blockdata_filepath": "data/layouts/Route128/map.bin"
+ },
+ {
+ "id": "LAYOUT_ROUTE129",
+ "name": "Route129_Layout",
+ "width": 80,
+ "height": 40,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Mossdeep",
+ "border_filepath": "data/layouts/Route129/border.bin",
+ "blockdata_filepath": "data/layouts/Route129/map.bin"
+ },
+ {
+ "id": "LAYOUT_UNREFERENCED_MAP",
+ "name": "UnreferencedMap_Layout",
+ "width": 80,
+ "height": 40,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Cave",
+ "border_filepath": "data/layouts/UnreferencedMap/border.bin",
+ "blockdata_filepath": "data/layouts/UnreferencedMap/map.bin"
+ },
+ {
+ "id": "LAYOUT_ROUTE131",
+ "name": "Route131_Layout",
+ "width": 60,
+ "height": 40,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Pacifidlog",
+ "border_filepath": "data/layouts/Route131/border.bin",
+ "blockdata_filepath": "data/layouts/Route131/map.bin"
+ },
+ {
+ "id": "LAYOUT_ROUTE132",
+ "name": "Route132_Layout",
+ "width": 80,
+ "height": 40,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Pacifidlog",
+ "border_filepath": "data/layouts/Route132/border.bin",
+ "blockdata_filepath": "data/layouts/Route132/map.bin"
+ },
+ {
+ "id": "LAYOUT_ROUTE133",
+ "name": "Route133_Layout",
+ "width": 80,
+ "height": 40,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Pacifidlog",
+ "border_filepath": "data/layouts/Route133/border.bin",
+ "blockdata_filepath": "data/layouts/Route133/map.bin"
+ },
+ {
+ "id": "LAYOUT_ROUTE134",
+ "name": "Route134_Layout",
+ "width": 80,
+ "height": 40,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Pacifidlog",
+ "border_filepath": "data/layouts/Route134/border.bin",
+ "blockdata_filepath": "data/layouts/Route134/map.bin"
+ },
+ {
+ "id": "LAYOUT_UNDERWATER2",
+ "name": "Underwater2_Layout",
+ "width": 80,
+ "height": 80,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Underwater",
+ "border_filepath": "data/layouts/Underwater2/border.bin",
+ "blockdata_filepath": "data/layouts/Underwater2/map.bin"
+ },
+ {
+ "id": "LAYOUT_UNDERWATER3",
+ "name": "Underwater3_Layout",
+ "width": 80,
+ "height": 80,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Underwater",
+ "border_filepath": "data/layouts/Underwater3/border.bin",
+ "blockdata_filepath": "data/layouts/Underwater3/map.bin"
+ },
+ {
+ "id": "LAYOUT_UNDERWATER4",
+ "name": "Underwater4_Layout",
+ "width": 120,
+ "height": 40,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Underwater",
+ "border_filepath": "data/layouts/Underwater4/border.bin",
+ "blockdata_filepath": "data/layouts/Underwater4/map.bin"
+ },
+ {
+ "id": "LAYOUT_LITTLEROOT_TOWN_BRENDANS_HOUSE_1F",
+ "name": "LittlerootTown_BrendansHouse_1F_Layout",
+ "width": 11,
+ "height": 9,
+ "primary_tileset": "gTileset_Building",
+ "secondary_tileset": "gTileset_BrendansMaysHouse",
+ "border_filepath": "data/layouts/LittlerootTown_BrendansHouse_1F/border.bin",
+ "blockdata_filepath": "data/layouts/LittlerootTown_BrendansHouse_1F/map.bin"
+ },
+ {
+ "id": "LAYOUT_LITTLEROOT_TOWN_BRENDANS_HOUSE_2F",
+ "name": "LittlerootTown_BrendansHouse_2F_Layout",
+ "width": 9,
+ "height": 8,
+ "primary_tileset": "gTileset_Building",
+ "secondary_tileset": "gTileset_BrendansMaysHouse",
+ "border_filepath": "data/layouts/LittlerootTown_BrendansHouse_2F/border.bin",
+ "blockdata_filepath": "data/layouts/LittlerootTown_BrendansHouse_2F/map.bin"
+ },
+ {
+ "id": "LAYOUT_LITTLEROOT_TOWN_MAYS_HOUSE_1F",
+ "name": "LittlerootTown_MaysHouse_1F_Layout",
+ "width": 11,
+ "height": 9,
+ "primary_tileset": "gTileset_Building",
+ "secondary_tileset": "gTileset_BrendansMaysHouse",
+ "border_filepath": "data/layouts/LittlerootTown_MaysHouse_1F/border.bin",
+ "blockdata_filepath": "data/layouts/LittlerootTown_MaysHouse_1F/map.bin"
+ },
+ {
+ "id": "LAYOUT_LITTLEROOT_TOWN_MAYS_HOUSE_2F",
+ "name": "LittlerootTown_MaysHouse_2F_Layout",
+ "width": 9,
+ "height": 8,
+ "primary_tileset": "gTileset_Building",
+ "secondary_tileset": "gTileset_BrendansMaysHouse",
+ "border_filepath": "data/layouts/LittlerootTown_MaysHouse_2F/border.bin",
+ "blockdata_filepath": "data/layouts/LittlerootTown_MaysHouse_2F/map.bin"
+ },
+ {
+ "id": "LAYOUT_LITTLEROOT_TOWN_PROFESSOR_BIRCHS_LAB",
+ "name": "LittlerootTown_ProfessorBirchsLab_Layout",
+ "width": 13,
+ "height": 13,
+ "primary_tileset": "gTileset_Building",
+ "secondary_tileset": "gTileset_Lab",
+ "border_filepath": "data/layouts/LittlerootTown_ProfessorBirchsLab/border.bin",
+ "blockdata_filepath": "data/layouts/LittlerootTown_ProfessorBirchsLab/map.bin"
+ },
+ {
+ "id": "LAYOUT_HOUSE1",
+ "name": "House1_Layout",
+ "width": 10,
+ "height": 9,
+ "primary_tileset": "gTileset_Building",
+ "secondary_tileset": "gTileset_GenericBuilding",
+ "border_filepath": "data/layouts/House1/border.bin",
+ "blockdata_filepath": "data/layouts/House1/map.bin"
+ },
+ {
+ "id": "LAYOUT_HOUSE2",
+ "name": "House2_Layout",
+ "width": 11,
+ "height": 8,
+ "primary_tileset": "gTileset_Building",
+ "secondary_tileset": "gTileset_GenericBuilding",
+ "border_filepath": "data/layouts/House2/border.bin",
+ "blockdata_filepath": "data/layouts/House2/map.bin"
+ },
+ {
+ "id": "LAYOUT_POKEMON_CENTER_1F",
+ "name": "PokemonCenter_1F_Layout",
+ "width": 14,
+ "height": 9,
+ "primary_tileset": "gTileset_Building",
+ "secondary_tileset": "gTileset_PokemonCenter",
+ "border_filepath": "data/layouts/PokemonCenter_1F/border.bin",
+ "blockdata_filepath": "data/layouts/PokemonCenter_1F/map.bin"
+ },
+ {
+ "id": "LAYOUT_POKEMON_CENTER_2F",
+ "name": "PokemonCenter_2F_Layout",
+ "width": 14,
+ "height": 9,
+ "primary_tileset": "gTileset_Building",
+ "secondary_tileset": "gTileset_PokemonCenter",
+ "border_filepath": "data/layouts/PokemonCenter_2F/border.bin",
+ "blockdata_filepath": "data/layouts/PokemonCenter_2F/map.bin"
+ },
+ {
+ "id": "LAYOUT_POKE_MART",
+ "name": "PokeMart_Layout",
+ "width": 11,
+ "height": 8,
+ "primary_tileset": "gTileset_Building",
+ "secondary_tileset": "gTileset_Shop",
+ "border_filepath": "data/layouts/PokeMart/border.bin",
+ "blockdata_filepath": "data/layouts/PokeMart/map.bin"
+ },
+ {
+ "id": "LAYOUT_HOUSE3",
+ "name": "House3_Layout",
+ "width": 10,
+ "height": 8,
+ "primary_tileset": "gTileset_Building",
+ "secondary_tileset": "gTileset_GenericBuilding",
+ "border_filepath": "data/layouts/House3/border.bin",
+ "blockdata_filepath": "data/layouts/House3/map.bin"
+ },
+ {
+ "id": "LAYOUT_DEWFORD_TOWN_GYM",
+ "name": "DewfordTown_Gym_Layout",
+ "width": 18,
+ "height": 28,
+ "primary_tileset": "gTileset_Building",
+ "secondary_tileset": "gTileset_DewfordGym",
+ "border_filepath": "data/layouts/DewfordTown_Gym/border.bin",
+ "blockdata_filepath": "data/layouts/DewfordTown_Gym/map.bin"
+ },
+ {
+ "id": "LAYOUT_DEWFORD_TOWN_HALL",
+ "name": "DewfordTown_Hall_Layout",
+ "width": 17,
+ "height": 9,
+ "primary_tileset": "gTileset_Building",
+ "secondary_tileset": "gTileset_GenericBuilding",
+ "border_filepath": "data/layouts/DewfordTown_Hall/border.bin",
+ "blockdata_filepath": "data/layouts/DewfordTown_Hall/map.bin"
+ },
+ {
+ "id": "LAYOUT_HOUSE4",
+ "name": "House4_Layout",
+ "width": 10,
+ "height": 9,
+ "primary_tileset": "gTileset_Building",
+ "secondary_tileset": "gTileset_GenericBuilding",
+ "border_filepath": "data/layouts/House4/border.bin",
+ "blockdata_filepath": "data/layouts/House4/map.bin"
+ },
+ {
+ "id": "LAYOUT_LAVARIDGE_TOWN_HERB_SHOP",
+ "name": "LavaridgeTown_HerbShop_Layout",
+ "width": 11,
+ "height": 8,
+ "primary_tileset": "gTileset_Building",
+ "secondary_tileset": "gTileset_Shop",
+ "border_filepath": "data/layouts/LavaridgeTown_HerbShop/border.bin",
+ "blockdata_filepath": "data/layouts/LavaridgeTown_HerbShop/map.bin"
+ },
+ {
+ "id": "LAYOUT_LAVARIDGE_TOWN_GYM_1F",
+ "name": "LavaridgeTown_Gym_1F_Layout",
+ "width": 11,
+ "height": 24,
+ "primary_tileset": "gTileset_Building",
+ "secondary_tileset": "gTileset_LavaridgeGym",
+ "border_filepath": "data/layouts/LavaridgeTown_Gym_1F/border.bin",
+ "blockdata_filepath": "data/layouts/LavaridgeTown_Gym_1F/map.bin"
+ },
+ {
+ "id": "LAYOUT_LAVARIDGE_TOWN_GYM_B1F",
+ "name": "LavaridgeTown_Gym_B1F_Layout",
+ "width": 11,
+ "height": 24,
+ "primary_tileset": "gTileset_Building",
+ "secondary_tileset": "gTileset_LavaridgeGym",
+ "border_filepath": "data/layouts/LavaridgeTown_Gym_B1F/border.bin",
+ "blockdata_filepath": "data/layouts/LavaridgeTown_Gym_B1F/map.bin"
+ },
+ {
+ "id": "LAYOUT_LAVARIDGE_TOWN_POKEMON_CENTER_1F",
+ "name": "LavaridgeTown_PokemonCenter_1F_Layout",
+ "width": 14,
+ "height": 9,
+ "primary_tileset": "gTileset_Building",
+ "secondary_tileset": "gTileset_PokemonCenter",
+ "border_filepath": "data/layouts/LavaridgeTown_PokemonCenter_1F/border.bin",
+ "blockdata_filepath": "data/layouts/LavaridgeTown_PokemonCenter_1F/map.bin"
+ },
+ {
+ "id": "LAYOUT_CONTEST_LOBBY",
+ "name": "ContestLobby_Layout",
+ "width": 15,
+ "height": 7,
+ "primary_tileset": "gTileset_Building",
+ "secondary_tileset": "gTileset_Contest",
+ "border_filepath": "data/layouts/ContestLobby/border.bin",
+ "blockdata_filepath": "data/layouts/ContestLobby/map.bin"
+ },
+ {
+ "id": "LAYOUT_CONTEST_HALL",
+ "name": "ContestHall_Layout",
+ "width": 21,
+ "height": 18,
+ "primary_tileset": "gTileset_Building",
+ "secondary_tileset": "gTileset_Contest",
+ "border_filepath": "data/layouts/ContestHall/border.bin",
+ "blockdata_filepath": "data/layouts/ContestHall/map.bin"
+ },
+ {
+ "id": "LAYOUT_LILYCOVE_CITY_HOUSE2",
+ "name": "LilycoveCity_House2_Layout",
+ "width": 8,
+ "height": 8,
+ "primary_tileset": "gTileset_Building",
+ "secondary_tileset": "gTileset_GenericBuilding",
+ "border_filepath": "data/layouts/LilycoveCity_House2/border.bin",
+ "blockdata_filepath": "data/layouts/LilycoveCity_House2/map.bin"
+ },
+ {
+ "id": "LAYOUT_UNKNOWN_MAP_082CF564",
+ "name": "UnknownMap_082CF564_Layout",
+ "width": 1,
+ "height": 1,
+ "primary_tileset": "gTileset_Building",
+ "secondary_tileset": "gTileset_Contest",
+ "border_filepath": "data/layouts/UnknownMap_082CF564/border.bin",
+ "blockdata_filepath": "data/layouts/UnknownMap_082CF564/map.bin"
+ },
+ {
+ "id": "LAYOUT_VERDANTURF_TOWN_WANDAS_HOUSE",
+ "name": "VerdanturfTown_WandasHouse_Layout",
+ "width": 17,
+ "height": 8,
+ "primary_tileset": "gTileset_Building",
+ "secondary_tileset": "gTileset_GenericBuilding",
+ "border_filepath": "data/layouts/VerdanturfTown_WandasHouse/border.bin",
+ "blockdata_filepath": "data/layouts/VerdanturfTown_WandasHouse/map.bin"
+ },
+ {
+ "id": "LAYOUT_PACIFIDLOG_TOWN_HOUSE1",
+ "name": "PacifidlogTown_House1_Layout",
+ "width": 10,
+ "height": 9,
+ "primary_tileset": "gTileset_Building",
+ "secondary_tileset": "gTileset_GenericBuilding",
+ "border_filepath": "data/layouts/PacifidlogTown_House1/border.bin",
+ "blockdata_filepath": "data/layouts/PacifidlogTown_House1/map.bin"
+ },
+ {
+ "id": "LAYOUT_PACIFIDLOG_TOWN_HOUSE2",
+ "name": "PacifidlogTown_House2_Layout",
+ "width": 10,
+ "height": 9,
+ "primary_tileset": "gTileset_Building",
+ "secondary_tileset": "gTileset_GenericBuilding",
+ "border_filepath": "data/layouts/PacifidlogTown_House2/border.bin",
+ "blockdata_filepath": "data/layouts/PacifidlogTown_House2/map.bin"
+ },
+ {
+ "id": "LAYOUT_PETALBURG_CITY_GYM",
+ "name": "PetalburgCity_Gym_Layout",
+ "width": 9,
+ "height": 112,
+ "primary_tileset": "gTileset_Building",
+ "secondary_tileset": "gTileset_PetalburgGym",
+ "border_filepath": "data/layouts/PetalburgCity_Gym/border.bin",
+ "blockdata_filepath": "data/layouts/PetalburgCity_Gym/map.bin"
+ },
+ {
+ "id": "LAYOUT_HOUSE_WITH_BED",
+ "name": "HouseWithBed_Layout",
+ "width": 10,
+ "height": 8,
+ "primary_tileset": "gTileset_Building",
+ "secondary_tileset": "gTileset_GenericBuilding",
+ "border_filepath": "data/layouts/HouseWithBed/border.bin",
+ "blockdata_filepath": "data/layouts/HouseWithBed/map.bin"
+ },
+ {
+ "id": "LAYOUT_SLATEPORT_CITY_STERNS_SHIPYARD_1F",
+ "name": "SlateportCity_SternsShipyard_1F_Layout",
+ "width": 21,
+ "height": 15,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Facility",
+ "border_filepath": "data/layouts/SlateportCity_SternsShipyard_1F/border.bin",
+ "blockdata_filepath": "data/layouts/SlateportCity_SternsShipyard_1F/map.bin"
+ },
+ {
+ "id": "LAYOUT_SLATEPORT_CITY_STERNS_SHIPYARD_2F",
+ "name": "SlateportCity_SternsShipyard_2F_Layout",
+ "width": 17,
+ "height": 15,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Facility",
+ "border_filepath": "data/layouts/SlateportCity_SternsShipyard_2F/border.bin",
+ "blockdata_filepath": "data/layouts/SlateportCity_SternsShipyard_2F/map.bin"
+ },
+ {
+ "id": "LAYOUT_UNKNOWN_MAP_082D05D8",
+ "name": "UnknownMap_082D05D8_Layout",
+ "width": 1,
+ "height": 1,
+ "primary_tileset": "gTileset_Building",
+ "secondary_tileset": "gTileset_Contest",
+ "border_filepath": "data/layouts/UnknownMap_082D05D8/border.bin",
+ "blockdata_filepath": "data/layouts/UnknownMap_082D05D8/map.bin"
+ },
+ {
+ "id": "LAYOUT_UNKNOWN_MAP_082D05FC",
+ "name": "UnknownMap_082D05FC_Layout",
+ "width": 1,
+ "height": 1,
+ "primary_tileset": "gTileset_Building",
+ "secondary_tileset": "gTileset_Contest",
+ "border_filepath": "data/layouts/UnknownMap_082D05FC/border.bin",
+ "blockdata_filepath": "data/layouts/UnknownMap_082D05FC/map.bin"
+ },
+ {
+ "id": "LAYOUT_SLATEPORT_CITY_POKEMON_FAN_CLUB",
+ "name": "SlateportCity_PokemonFanClub_Layout",
+ "width": 14,
+ "height": 11,
+ "primary_tileset": "gTileset_Building",
+ "secondary_tileset": "gTileset_PokemonFanClub",
+ "border_filepath": "data/layouts/SlateportCity_PokemonFanClub/border.bin",
+ "blockdata_filepath": "data/layouts/SlateportCity_PokemonFanClub/map.bin"
+ },
+ {
+ "id": "LAYOUT_SLATEPORT_CITY_OCEANIC_MUSEUM_1F",
+ "name": "SlateportCity_OceanicMuseum_1F_Layout",
+ "width": 20,
+ "height": 9,
+ "primary_tileset": "gTileset_Building",
+ "secondary_tileset": "gTileset_OceanicMuseum",
+ "border_filepath": "data/layouts/SlateportCity_OceanicMuseum_1F/border.bin",
+ "blockdata_filepath": "data/layouts/SlateportCity_OceanicMuseum_1F/map.bin"
+ },
+ {
+ "id": "LAYOUT_SLATEPORT_CITY_OCEANIC_MUSEUM_2F",
+ "name": "SlateportCity_OceanicMuseum_2F_Layout",
+ "width": 20,
+ "height": 9,
+ "primary_tileset": "gTileset_Building",
+ "secondary_tileset": "gTileset_OceanicMuseum",
+ "border_filepath": "data/layouts/SlateportCity_OceanicMuseum_2F/border.bin",
+ "blockdata_filepath": "data/layouts/SlateportCity_OceanicMuseum_2F/map.bin"
+ },
+ {
+ "id": "LAYOUT_HARBOR",
+ "name": "Harbor_Layout",
+ "width": 24,
+ "height": 15,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Facility",
+ "border_filepath": "data/layouts/Harbor/border.bin",
+ "blockdata_filepath": "data/layouts/Harbor/map.bin"
+ },
+ {
+ "id": "LAYOUT_MAUVILLE_CITY_GYM",
+ "name": "MauvilleCity_Gym_Layout",
+ "width": 10,
+ "height": 21,
+ "primary_tileset": "gTileset_Building",
+ "secondary_tileset": "gTileset_MauvilleGym",
+ "border_filepath": "data/layouts/MauvilleCity_Gym/border.bin",
+ "blockdata_filepath": "data/layouts/MauvilleCity_Gym/map.bin"
+ },
+ {
+ "id": "LAYOUT_MAUVILLE_CITY_BIKE_SHOP",
+ "name": "MauvilleCity_BikeShop_Layout",
+ "width": 12,
+ "height": 9,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_BikeShop",
+ "border_filepath": "data/layouts/MauvilleCity_BikeShop/border.bin",
+ "blockdata_filepath": "data/layouts/MauvilleCity_BikeShop/map.bin"
+ },
+ {
+ "id": "LAYOUT_MAUVILLE_CITY_GAME_CORNER",
+ "name": "MauvilleCity_GameCorner_Layout",
+ "width": 22,
+ "height": 11,
+ "primary_tileset": "gTileset_Building",
+ "secondary_tileset": "gTileset_MauvilleGameCorner",
+ "border_filepath": "data/layouts/MauvilleCity_GameCorner/border.bin",
+ "blockdata_filepath": "data/layouts/MauvilleCity_GameCorner/map.bin"
+ },
+ {
+ "id": "LAYOUT_RUSTBORO_CITY_DEVON_CORP_1F",
+ "name": "RustboroCity_DevonCorp_1F_Layout",
+ "width": 19,
+ "height": 9,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Facility",
+ "border_filepath": "data/layouts/RustboroCity_DevonCorp_1F/border.bin",
+ "blockdata_filepath": "data/layouts/RustboroCity_DevonCorp_1F/map.bin"
+ },
+ {
+ "id": "LAYOUT_RUSTBORO_CITY_DEVON_CORP_2F",
+ "name": "RustboroCity_DevonCorp_2F_Layout",
+ "width": 19,
+ "height": 9,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Facility",
+ "border_filepath": "data/layouts/RustboroCity_DevonCorp_2F/border.bin",
+ "blockdata_filepath": "data/layouts/RustboroCity_DevonCorp_2F/map.bin"
+ },
+ {
+ "id": "LAYOUT_RUSTBORO_CITY_GYM",
+ "name": "RustboroCity_Gym_Layout",
+ "width": 11,
+ "height": 19,
+ "primary_tileset": "gTileset_Building",
+ "secondary_tileset": "gTileset_RustboroGym",
+ "border_filepath": "data/layouts/RustboroCity_Gym/border.bin",
+ "blockdata_filepath": "data/layouts/RustboroCity_Gym/map.bin"
+ },
+ {
+ "id": "LAYOUT_RUSTBORO_CITY_POKEMON_SCHOOL",
+ "name": "RustboroCity_PokemonSchool_Layout",
+ "width": 12,
+ "height": 11,
+ "primary_tileset": "gTileset_Building",
+ "secondary_tileset": "gTileset_PokemonSchool",
+ "border_filepath": "data/layouts/RustboroCity_PokemonSchool/border.bin",
+ "blockdata_filepath": "data/layouts/RustboroCity_PokemonSchool/map.bin"
+ },
+ {
+ "id": "LAYOUT_RUSTBORO_CITY_HOUSE",
+ "name": "RustboroCity_House_Layout",
+ "width": 12,
+ "height": 9,
+ "primary_tileset": "gTileset_Building",
+ "secondary_tileset": "gTileset_GenericBuilding",
+ "border_filepath": "data/layouts/RustboroCity_House/border.bin",
+ "blockdata_filepath": "data/layouts/RustboroCity_House/map.bin"
+ },
+ {
+ "id": "LAYOUT_RUSTBORO_CITY_HOUSE1",
+ "name": "RustboroCity_House1_Layout",
+ "width": 13,
+ "height": 8,
+ "primary_tileset": "gTileset_Building",
+ "secondary_tileset": "gTileset_GenericBuilding",
+ "border_filepath": "data/layouts/RustboroCity_House1/border.bin",
+ "blockdata_filepath": "data/layouts/RustboroCity_House1/map.bin"
+ },
+ {
+ "id": "LAYOUT_RUSTBORO_CITY_CUTTERS_HOUSE",
+ "name": "RustboroCity_CuttersHouse_Layout",
+ "width": 11,
+ "height": 9,
+ "primary_tileset": "gTileset_Building",
+ "secondary_tileset": "gTileset_GenericBuilding",
+ "border_filepath": "data/layouts/RustboroCity_CuttersHouse/border.bin",
+ "blockdata_filepath": "data/layouts/RustboroCity_CuttersHouse/map.bin"
+ },
+ {
+ "id": "LAYOUT_FORTREE_CITY_HOUSE1",
+ "name": "FortreeCity_House1_Layout",
+ "width": 8,
+ "height": 6,
+ "primary_tileset": "gTileset_Building",
+ "secondary_tileset": "gTileset_GenericBuilding",
+ "border_filepath": "data/layouts/FortreeCity_House1/border.bin",
+ "blockdata_filepath": "data/layouts/FortreeCity_House1/map.bin"
+ },
+ {
+ "id": "LAYOUT_FORTREE_CITY_GYM",
+ "name": "FortreeCity_Gym_Layout",
+ "width": 20,
+ "height": 25,
+ "primary_tileset": "gTileset_Building",
+ "secondary_tileset": "gTileset_FortreeGym",
+ "border_filepath": "data/layouts/FortreeCity_Gym/border.bin",
+ "blockdata_filepath": "data/layouts/FortreeCity_Gym/map.bin"
+ },
+ {
+ "id": "LAYOUT_FORTREE_CITY_HOUSE2",
+ "name": "FortreeCity_House2_Layout",
+ "width": 8,
+ "height": 6,
+ "primary_tileset": "gTileset_Building",
+ "secondary_tileset": "gTileset_GenericBuilding",
+ "border_filepath": "data/layouts/FortreeCity_House2/border.bin",
+ "blockdata_filepath": "data/layouts/FortreeCity_House2/map.bin"
+ },
+ {
+ "id": "LAYOUT_ROUTE104_MR_BRINEYS_HOUSE",
+ "name": "Route104_MrBrineysHouse_Layout",
+ "width": 12,
+ "height": 9,
+ "primary_tileset": "gTileset_Building",
+ "secondary_tileset": "gTileset_GenericBuilding",
+ "border_filepath": "data/layouts/Route104_MrBrineysHouse/border.bin",
+ "blockdata_filepath": "data/layouts/Route104_MrBrineysHouse/map.bin"
+ },
+ {
+ "id": "LAYOUT_LILYCOVE_CITY_LILYCOVE_MUSEUM_1F",
+ "name": "LilycoveCity_LilycoveMuseum_1F_Layout",
+ "width": 21,
+ "height": 14,
+ "primary_tileset": "gTileset_Building",
+ "secondary_tileset": "gTileset_LilycoveMuseum",
+ "border_filepath": "data/layouts/LilycoveCity_LilycoveMuseum_1F/border.bin",
+ "blockdata_filepath": "data/layouts/LilycoveCity_LilycoveMuseum_1F/map.bin"
+ },
+ {
+ "id": "LAYOUT_LILYCOVE_CITY_LILYCOVE_MUSEUM_2F",
+ "name": "LilycoveCity_LilycoveMuseum_2F_Layout",
+ "width": 22,
+ "height": 13,
+ "primary_tileset": "gTileset_Building",
+ "secondary_tileset": "gTileset_LilycoveMuseum",
+ "border_filepath": "data/layouts/LilycoveCity_LilycoveMuseum_2F/border.bin",
+ "blockdata_filepath": "data/layouts/LilycoveCity_LilycoveMuseum_2F/map.bin"
+ },
+ {
+ "id": "LAYOUT_LILYCOVE_CITY_CONTEST_LOBBY",
+ "name": "LilycoveCity_ContestLobby_Layout",
+ "width": 23,
+ "height": 12,
+ "primary_tileset": "gTileset_Building",
+ "secondary_tileset": "gTileset_Contest",
+ "border_filepath": "data/layouts/LilycoveCity_ContestLobby/border.bin",
+ "blockdata_filepath": "data/layouts/LilycoveCity_ContestLobby/map.bin"
+ },
+ {
+ "id": "LAYOUT_LILYCOVE_CITY_CONTEST_HALL",
+ "name": "LilycoveCity_ContestHall_Layout",
+ "width": 51,
+ "height": 33,
+ "primary_tileset": "gTileset_Building",
+ "secondary_tileset": "gTileset_Contest",
+ "border_filepath": "data/layouts/LilycoveCity_ContestHall/border.bin",
+ "blockdata_filepath": "data/layouts/LilycoveCity_ContestHall/map.bin"
+ },
+ {
+ "id": "LAYOUT_LILYCOVE_CITY_POKEMON_TRAINER_FAN_CLUB",
+ "name": "LilycoveCity_PokemonTrainerFanClub_Layout",
+ "width": 12,
+ "height": 14,
+ "primary_tileset": "gTileset_Building",
+ "secondary_tileset": "gTileset_GenericBuilding",
+ "border_filepath": "data/layouts/LilycoveCity_PokemonTrainerFanClub/border.bin",
+ "blockdata_filepath": "data/layouts/LilycoveCity_PokemonTrainerFanClub/map.bin"
+ },
+ {
+ "id": "LAYOUT_LILYCOVE_CITY_EMPTY_MAP",
+ "name": "LilycoveCity_EmptyMap_Layout",
+ "width": 1,
+ "height": 1,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Facility",
+ "border_filepath": "data/layouts/LilycoveCity_EmptyMap/border.bin",
+ "blockdata_filepath": "data/layouts/LilycoveCity_EmptyMap/map.bin"
+ },
+ {
+ "id": "LAYOUT_MOSSDEEP_CITY_GYM",
+ "name": "MossdeepCity_Gym_Layout",
+ "width": 20,
+ "height": 30,
+ "primary_tileset": "gTileset_Building",
+ "secondary_tileset": "gTileset_MossdeepGym",
+ "border_filepath": "data/layouts/MossdeepCity_Gym/border.bin",
+ "blockdata_filepath": "data/layouts/MossdeepCity_Gym/map.bin"
+ },
+ {
+ "id": "LAYOUT_SOOTOPOLIS_CITY_GYM_1F",
+ "name": "SootopolisCity_Gym_1F_Layout",
+ "width": 17,
+ "height": 26,
+ "primary_tileset": "gTileset_Building",
+ "secondary_tileset": "gTileset_SootopolisGym",
+ "border_filepath": "data/layouts/SootopolisCity_Gym_1F/border.bin",
+ "blockdata_filepath": "data/layouts/SootopolisCity_Gym_1F/map.bin"
+ },
+ {
+ "id": "LAYOUT_SOOTOPOLIS_CITY_GYM_B1F",
+ "name": "SootopolisCity_Gym_B1F_Layout",
+ "width": 17,
+ "height": 26,
+ "primary_tileset": "gTileset_Building",
+ "secondary_tileset": "gTileset_SootopolisGym",
+ "border_filepath": "data/layouts/SootopolisCity_Gym_B1F/border.bin",
+ "blockdata_filepath": "data/layouts/SootopolisCity_Gym_B1F/map.bin"
+ },
+ {
+ "id": "LAYOUT_EVER_GRANDE_CITY_SIDNEYS_ROOM",
+ "name": "EverGrandeCity_SidneysRoom_Layout",
+ "width": 13,
+ "height": 14,
+ "primary_tileset": "gTileset_Building",
+ "secondary_tileset": "gTileset_EliteFour",
+ "border_filepath": "data/layouts/EverGrandeCity_SidneysRoom/border.bin",
+ "blockdata_filepath": "data/layouts/EverGrandeCity_SidneysRoom/map.bin"
+ },
+ {
+ "id": "LAYOUT_EVER_GRANDE_CITY_PHOEBES_ROOM",
+ "name": "EverGrandeCity_PhoebesRoom_Layout",
+ "width": 13,
+ "height": 14,
+ "primary_tileset": "gTileset_Building",
+ "secondary_tileset": "gTileset_EliteFour",
+ "border_filepath": "data/layouts/EverGrandeCity_PhoebesRoom/border.bin",
+ "blockdata_filepath": "data/layouts/EverGrandeCity_PhoebesRoom/map.bin"
+ },
+ {
+ "id": "LAYOUT_EVER_GRANDE_CITY_GLACIAS_ROOM",
+ "name": "EverGrandeCity_GlaciasRoom_Layout",
+ "width": 13,
+ "height": 14,
+ "primary_tileset": "gTileset_Building",
+ "secondary_tileset": "gTileset_EliteFour",
+ "border_filepath": "data/layouts/EverGrandeCity_GlaciasRoom/border.bin",
+ "blockdata_filepath": "data/layouts/EverGrandeCity_GlaciasRoom/map.bin"
+ },
+ {
+ "id": "LAYOUT_EVER_GRANDE_CITY_DRAKES_ROOM",
+ "name": "EverGrandeCity_DrakesRoom_Layout",
+ "width": 13,
+ "height": 14,
+ "primary_tileset": "gTileset_Building",
+ "secondary_tileset": "gTileset_EliteFour",
+ "border_filepath": "data/layouts/EverGrandeCity_DrakesRoom/border.bin",
+ "blockdata_filepath": "data/layouts/EverGrandeCity_DrakesRoom/map.bin"
+ },
+ {
+ "id": "LAYOUT_EVER_GRANDE_CITY_CHAMPIONS_ROOM",
+ "name": "EverGrandeCity_ChampionsRoom_Layout",
+ "width": 13,
+ "height": 13,
+ "primary_tileset": "gTileset_Building",
+ "secondary_tileset": "gTileset_EliteFour",
+ "border_filepath": "data/layouts/EverGrandeCity_ChampionsRoom/border.bin",
+ "blockdata_filepath": "data/layouts/EverGrandeCity_ChampionsRoom/map.bin"
+ },
+ {
+ "id": "LAYOUT_EVER_GRANDE_CITY_SHORT_CORRIDOR",
+ "name": "EverGrandeCity_ShortCorridor_Layout",
+ "width": 11,
+ "height": 13,
+ "primary_tileset": "gTileset_Building",
+ "secondary_tileset": "gTileset_EliteFour",
+ "border_filepath": "data/layouts/EverGrandeCity_ShortCorridor/border.bin",
+ "blockdata_filepath": "data/layouts/EverGrandeCity_ShortCorridor/map.bin"
+ },
+ {
+ "id": "LAYOUT_ROUTE104_PRETTY_PETAL_FLOWER_SHOP",
+ "name": "Route104_PrettyPetalFlowerShop_Layout",
+ "width": 15,
+ "height": 9,
+ "primary_tileset": "gTileset_Building",
+ "secondary_tileset": "gTileset_PrettyPetalFlowerShop",
+ "border_filepath": "data/layouts/Route104_PrettyPetalFlowerShop/border.bin",
+ "blockdata_filepath": "data/layouts/Route104_PrettyPetalFlowerShop/map.bin"
+ },
+ {
+ "id": "LAYOUT_CABLE_CAR_STATION",
+ "name": "CableCarStation_Layout",
+ "width": 13,
+ "height": 12,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Facility",
+ "border_filepath": "data/layouts/CableCarStation/border.bin",
+ "blockdata_filepath": "data/layouts/CableCarStation/map.bin"
+ },
+ {
+ "id": "LAYOUT_ROUTE114_FOSSIL_MANIACS_HOUSE",
+ "name": "Route114_FossilManiacsHouse_Layout",
+ "width": 10,
+ "height": 8,
+ "primary_tileset": "gTileset_Building",
+ "secondary_tileset": "gTileset_GenericBuilding",
+ "border_filepath": "data/layouts/Route114_FossilManiacsHouse/border.bin",
+ "blockdata_filepath": "data/layouts/Route114_FossilManiacsHouse/map.bin"
+ },
+ {
+ "id": "LAYOUT_ROUTE114_FOSSIL_MANIACS_TUNNEL",
+ "name": "Route114_FossilManiacsTunnel_Layout",
+ "width": 13,
+ "height": 26,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Fallarbor",
+ "border_filepath": "data/layouts/Route114_FossilManiacsTunnel/border.bin",
+ "blockdata_filepath": "data/layouts/Route114_FossilManiacsTunnel/map.bin"
+ },
+ {
+ "id": "LAYOUT_ROUTE114_LANETTES_HOUSE",
+ "name": "Route114_LanettesHouse_Layout",
+ "width": 11,
+ "height": 8,
+ "primary_tileset": "gTileset_Building",
+ "secondary_tileset": "gTileset_Lab",
+ "border_filepath": "data/layouts/Route114_LanettesHouse/border.bin",
+ "blockdata_filepath": "data/layouts/Route114_LanettesHouse/map.bin"
+ },
+ {
+ "id": "LAYOUT_ROUTE116_TUNNELERS_REST_HOUSE",
+ "name": "Route116_TunnelersRestHouse_Layout",
+ "width": 10,
+ "height": 9,
+ "primary_tileset": "gTileset_Building",
+ "secondary_tileset": "gTileset_GenericBuilding",
+ "border_filepath": "data/layouts/Route116_TunnelersRestHouse/border.bin",
+ "blockdata_filepath": "data/layouts/Route116_TunnelersRestHouse/map.bin"
+ },
+ {
+ "id": "LAYOUT_ROUTE117_POKEMON_DAY_CARE",
+ "name": "Route117_PokemonDayCare_Layout",
+ "width": 12,
+ "height": 9,
+ "primary_tileset": "gTileset_Building",
+ "secondary_tileset": "gTileset_PokemonDayCare",
+ "border_filepath": "data/layouts/Route117_PokemonDayCare/border.bin",
+ "blockdata_filepath": "data/layouts/Route117_PokemonDayCare/map.bin"
+ },
+ {
+ "id": "LAYOUT_ROUTE121_SAFARI_ZONE_ENTRANCE",
+ "name": "Route121_SafariZoneEntrance_Layout",
+ "width": 18,
+ "height": 14,
+ "primary_tileset": "gTileset_Building",
+ "secondary_tileset": "gTileset_Shop",
+ "border_filepath": "data/layouts/Route121_SafariZoneEntrance/border.bin",
+ "blockdata_filepath": "data/layouts/Route121_SafariZoneEntrance/map.bin"
+ },
+ {
+ "id": "LAYOUT_METEOR_FALLS_1F_1R",
+ "name": "MeteorFalls_1F_1R_Layout",
+ "width": 30,
+ "height": 42,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_MeteorFalls",
+ "border_filepath": "data/layouts/MeteorFalls_1F_1R/border.bin",
+ "blockdata_filepath": "data/layouts/MeteorFalls_1F_1R/map.bin"
+ },
+ {
+ "id": "LAYOUT_METEOR_FALLS_1F_2R",
+ "name": "MeteorFalls_1F_2R_Layout",
+ "width": 30,
+ "height": 32,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_MeteorFalls",
+ "border_filepath": "data/layouts/MeteorFalls_1F_2R/border.bin",
+ "blockdata_filepath": "data/layouts/MeteorFalls_1F_2R/map.bin"
+ },
+ {
+ "id": "LAYOUT_METEOR_FALLS_B1F_1R",
+ "name": "MeteorFalls_B1F_1R_Layout",
+ "width": 29,
+ "height": 38,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_MeteorFalls",
+ "border_filepath": "data/layouts/MeteorFalls_B1F_1R/border.bin",
+ "blockdata_filepath": "data/layouts/MeteorFalls_B1F_1R/map.bin"
+ },
+ {
+ "id": "LAYOUT_METEOR_FALLS_B1F_2R",
+ "name": "MeteorFalls_B1F_2R_Layout",
+ "width": 11,
+ "height": 18,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_MeteorFalls",
+ "border_filepath": "data/layouts/MeteorFalls_B1F_2R/border.bin",
+ "blockdata_filepath": "data/layouts/MeteorFalls_B1F_2R/map.bin"
+ },
+ {
+ "id": "LAYOUT_RUSTURF_TUNNEL",
+ "name": "RusturfTunnel_Layout",
+ "width": 36,
+ "height": 24,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_RusturfTunnel",
+ "border_filepath": "data/layouts/RusturfTunnel/border.bin",
+ "blockdata_filepath": "data/layouts/RusturfTunnel/map.bin"
+ },
+ {
+ "id": "LAYOUT_UNDERWATER_SOOTOPOLIS_CITY",
+ "name": "Underwater_SootopolisCity_Layout",
+ "width": 20,
+ "height": 10,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Underwater",
+ "border_filepath": "data/layouts/Underwater_SootopolisCity/border.bin",
+ "blockdata_filepath": "data/layouts/Underwater_SootopolisCity/map.bin"
+ },
+ {
+ "id": "LAYOUT_DESERT_RUINS",
+ "name": "DesertRuins_Layout",
+ "width": 17,
+ "height": 33,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Cave",
+ "border_filepath": "data/layouts/DesertRuins/border.bin",
+ "blockdata_filepath": "data/layouts/DesertRuins/map.bin"
+ },
+ {
+ "id": "LAYOUT_GRANITE_CAVE_1F",
+ "name": "GraniteCave_1F_Layout",
+ "width": 42,
+ "height": 15,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Cave",
+ "border_filepath": "data/layouts/GraniteCave_1F/border.bin",
+ "blockdata_filepath": "data/layouts/GraniteCave_1F/map.bin"
+ },
+ {
+ "id": "LAYOUT_GRANITE_CAVE_B1F",
+ "name": "GraniteCave_B1F_Layout",
+ "width": 32,
+ "height": 26,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Cave",
+ "border_filepath": "data/layouts/GraniteCave_B1F/border.bin",
+ "blockdata_filepath": "data/layouts/GraniteCave_B1F/map.bin"
+ },
+ {
+ "id": "LAYOUT_GRANITE_CAVE_B2F",
+ "name": "GraniteCave_B2F_Layout",
+ "width": 32,
+ "height": 26,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Cave",
+ "border_filepath": "data/layouts/GraniteCave_B2F/border.bin",
+ "blockdata_filepath": "data/layouts/GraniteCave_B2F/map.bin"
+ },
+ {
+ "id": "LAYOUT_PETALBURG_WOODS",
+ "name": "PetalburgWoods_Layout",
+ "width": 48,
+ "height": 44,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Rustboro",
+ "border_filepath": "data/layouts/PetalburgWoods/border.bin",
+ "blockdata_filepath": "data/layouts/PetalburgWoods/map.bin"
+ },
+ {
+ "id": "LAYOUT_MT_CHIMNEY",
+ "name": "MtChimney_Layout",
+ "width": 40,
+ "height": 47,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Lavaridge",
+ "border_filepath": "data/layouts/MtChimney/border.bin",
+ "blockdata_filepath": "data/layouts/MtChimney/map.bin"
+ },
+ {
+ "id": "LAYOUT_MT_PYRE_1F",
+ "name": "MtPyre_1F_Layout",
+ "width": 22,
+ "height": 19,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Facility",
+ "border_filepath": "data/layouts/MtPyre_1F/border.bin",
+ "blockdata_filepath": "data/layouts/MtPyre_1F/map.bin"
+ },
+ {
+ "id": "LAYOUT_MT_PYRE_2F",
+ "name": "MtPyre_2F_Layout",
+ "width": 13,
+ "height": 13,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Facility",
+ "border_filepath": "data/layouts/MtPyre_2F/border.bin",
+ "blockdata_filepath": "data/layouts/MtPyre_2F/map.bin"
+ },
+ {
+ "id": "LAYOUT_MT_PYRE_3F",
+ "name": "MtPyre_3F_Layout",
+ "width": 13,
+ "height": 13,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Facility",
+ "border_filepath": "data/layouts/MtPyre_3F/border.bin",
+ "blockdata_filepath": "data/layouts/MtPyre_3F/map.bin"
+ },
+ {
+ "id": "LAYOUT_MT_PYRE_4F",
+ "name": "MtPyre_4F_Layout",
+ "width": 13,
+ "height": 13,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Facility",
+ "border_filepath": "data/layouts/MtPyre_4F/border.bin",
+ "blockdata_filepath": "data/layouts/MtPyre_4F/map.bin"
+ },
+ {
+ "id": "LAYOUT_MT_PYRE_5F",
+ "name": "MtPyre_5F_Layout",
+ "width": 13,
+ "height": 13,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Facility",
+ "border_filepath": "data/layouts/MtPyre_5F/border.bin",
+ "blockdata_filepath": "data/layouts/MtPyre_5F/map.bin"
+ },
+ {
+ "id": "LAYOUT_MT_PYRE_6F",
+ "name": "MtPyre_6F_Layout",
+ "width": 13,
+ "height": 13,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Facility",
+ "border_filepath": "data/layouts/MtPyre_6F/border.bin",
+ "blockdata_filepath": "data/layouts/MtPyre_6F/map.bin"
+ },
+ {
+ "id": "LAYOUT_AQUA_HIDEOUT_1F",
+ "name": "AquaHideout_1F_Layout",
+ "width": 28,
+ "height": 30,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Facility",
+ "border_filepath": "data/layouts/AquaHideout_1F/border.bin",
+ "blockdata_filepath": "data/layouts/AquaHideout_1F/map.bin"
+ },
+ {
+ "id": "LAYOUT_AQUA_HIDEOUT_B1F",
+ "name": "AquaHideout_B1F_Layout",
+ "width": 51,
+ "height": 24,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Facility",
+ "border_filepath": "data/layouts/AquaHideout_B1F/border.bin",
+ "blockdata_filepath": "data/layouts/AquaHideout_B1F/map.bin"
+ },
+ {
+ "id": "LAYOUT_AQUA_HIDEOUT_B2F",
+ "name": "AquaHideout_B2F_Layout",
+ "width": 34,
+ "height": 24,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Facility",
+ "border_filepath": "data/layouts/AquaHideout_B2F/border.bin",
+ "blockdata_filepath": "data/layouts/AquaHideout_B2F/map.bin"
+ },
+ {
+ "id": "LAYOUT_UNDERWATER_SEAFLOOR_CAVERN",
+ "name": "Underwater_SeafloorCavern_Layout",
+ "width": 14,
+ "height": 9,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Underwater",
+ "border_filepath": "data/layouts/Underwater_SeafloorCavern/border.bin",
+ "blockdata_filepath": "data/layouts/Underwater_SeafloorCavern/map.bin"
+ },
+ {
+ "id": "LAYOUT_SEAFLOOR_CAVERN_ENTRANCE",
+ "name": "SeafloorCavern_Entrance_Layout",
+ "width": 20,
+ "height": 20,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Cave",
+ "border_filepath": "data/layouts/SeafloorCavern_Entrance/border.bin",
+ "blockdata_filepath": "data/layouts/SeafloorCavern_Entrance/map.bin"
+ },
+ {
+ "id": "LAYOUT_SEAFLOOR_CAVERN_ROOM1",
+ "name": "SeafloorCavern_Room1_Layout",
+ "width": 20,
+ "height": 21,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Cave",
+ "border_filepath": "data/layouts/SeafloorCavern_Room1/border.bin",
+ "blockdata_filepath": "data/layouts/SeafloorCavern_Room1/map.bin"
+ },
+ {
+ "id": "LAYOUT_SEAFLOOR_CAVERN_ROOM2",
+ "name": "SeafloorCavern_Room2_Layout",
+ "width": 18,
+ "height": 21,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Cave",
+ "border_filepath": "data/layouts/SeafloorCavern_Room2/border.bin",
+ "blockdata_filepath": "data/layouts/SeafloorCavern_Room2/map.bin"
+ },
+ {
+ "id": "LAYOUT_SEAFLOOR_CAVERN_ROOM3",
+ "name": "SeafloorCavern_Room3_Layout",
+ "width": 16,
+ "height": 17,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Cave",
+ "border_filepath": "data/layouts/SeafloorCavern_Room3/border.bin",
+ "blockdata_filepath": "data/layouts/SeafloorCavern_Room3/map.bin"
+ },
+ {
+ "id": "LAYOUT_SEAFLOOR_CAVERN_ROOM4",
+ "name": "SeafloorCavern_Room4_Layout",
+ "width": 18,
+ "height": 19,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Cave",
+ "border_filepath": "data/layouts/SeafloorCavern_Room4/border.bin",
+ "blockdata_filepath": "data/layouts/SeafloorCavern_Room4/map.bin"
+ },
+ {
+ "id": "LAYOUT_SEAFLOOR_CAVERN_ROOM5",
+ "name": "SeafloorCavern_Room5_Layout",
+ "width": 20,
+ "height": 20,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Cave",
+ "border_filepath": "data/layouts/SeafloorCavern_Room5/border.bin",
+ "blockdata_filepath": "data/layouts/SeafloorCavern_Room5/map.bin"
+ },
+ {
+ "id": "LAYOUT_SEAFLOOR_CAVERN_ROOM6",
+ "name": "SeafloorCavern_Room6_Layout",
+ "width": 24,
+ "height": 23,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Pacifidlog",
+ "border_filepath": "data/layouts/SeafloorCavern_Room6/border.bin",
+ "blockdata_filepath": "data/layouts/SeafloorCavern_Room6/map.bin"
+ },
+ {
+ "id": "LAYOUT_SEAFLOOR_CAVERN_ROOM7",
+ "name": "SeafloorCavern_Room7_Layout",
+ "width": 23,
+ "height": 25,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Pacifidlog",
+ "border_filepath": "data/layouts/SeafloorCavern_Room7/border.bin",
+ "blockdata_filepath": "data/layouts/SeafloorCavern_Room7/map.bin"
+ },
+ {
+ "id": "LAYOUT_SEAFLOOR_CAVERN_ROOM8",
+ "name": "SeafloorCavern_Room8_Layout",
+ "width": 11,
+ "height": 14,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Cave",
+ "border_filepath": "data/layouts/SeafloorCavern_Room8/border.bin",
+ "blockdata_filepath": "data/layouts/SeafloorCavern_Room8/map.bin"
+ },
+ {
+ "id": "LAYOUT_SEAFLOOR_CAVERN_ROOM9",
+ "name": "SeafloorCavern_Room9_Layout",
+ "width": 27,
+ "height": 46,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Cave",
+ "border_filepath": "data/layouts/SeafloorCavern_Room9/border.bin",
+ "blockdata_filepath": "data/layouts/SeafloorCavern_Room9/map.bin"
+ },
+ {
+ "id": "LAYOUT_CAVE_OF_ORIGIN_ENTRANCE",
+ "name": "CaveOfOrigin_Entrance_Layout",
+ "width": 19,
+ "height": 26,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Cave",
+ "border_filepath": "data/layouts/CaveOfOrigin_Entrance/border.bin",
+ "blockdata_filepath": "data/layouts/CaveOfOrigin_Entrance/map.bin"
+ },
+ {
+ "id": "LAYOUT_CAVE_OF_ORIGIN_1F",
+ "name": "CaveOfOrigin_1F_Layout",
+ "width": 23,
+ "height": 23,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Cave",
+ "border_filepath": "data/layouts/CaveOfOrigin_1F/border.bin",
+ "blockdata_filepath": "data/layouts/CaveOfOrigin_1F/map.bin"
+ },
+ {
+ "id": "LAYOUT_CAVE_OF_ORIGIN_B1F",
+ "name": "CaveOfOrigin_B1F_Layout",
+ "width": 23,
+ "height": 23,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Cave",
+ "border_filepath": "data/layouts/CaveOfOrigin_B1F/border.bin",
+ "blockdata_filepath": "data/layouts/CaveOfOrigin_B1F/map.bin"
+ },
+ {
+ "id": "LAYOUT_CAVE_OF_ORIGIN_B2F",
+ "name": "CaveOfOrigin_B2F_Layout",
+ "width": 21,
+ "height": 21,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Cave",
+ "border_filepath": "data/layouts/CaveOfOrigin_B2F/border.bin",
+ "blockdata_filepath": "data/layouts/CaveOfOrigin_B2F/map.bin"
+ },
+ {
+ "id": "LAYOUT_CAVE_OF_ORIGIN_B3F",
+ "name": "CaveOfOrigin_B3F_Layout",
+ "width": 19,
+ "height": 21,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Cave",
+ "border_filepath": "data/layouts/CaveOfOrigin_B3F/border.bin",
+ "blockdata_filepath": "data/layouts/CaveOfOrigin_B3F/map.bin"
+ },
+ {
+ "id": "LAYOUT_CAVE_OF_ORIGIN_B4F",
+ "name": "CaveOfOrigin_B4F_Layout",
+ "width": 19,
+ "height": 19,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Cave",
+ "border_filepath": "data/layouts/CaveOfOrigin_B4F/border.bin",
+ "blockdata_filepath": "data/layouts/CaveOfOrigin_B4F/map.bin"
+ },
+ {
+ "id": "LAYOUT_VICTORY_ROAD_1F",
+ "name": "VictoryRoad_1F_Layout",
+ "width": 46,
+ "height": 45,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Cave",
+ "border_filepath": "data/layouts/VictoryRoad_1F/border.bin",
+ "blockdata_filepath": "data/layouts/VictoryRoad_1F/map.bin"
+ },
+ {
+ "id": "LAYOUT_SHOAL_CAVE_LOW_TIDE_ENTRANCE_ROOM",
+ "name": "ShoalCave_LowTideEntranceRoom_Layout",
+ "width": 35,
+ "height": 35,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Cave",
+ "border_filepath": "data/layouts/ShoalCave_LowTideEntranceRoom/border.bin",
+ "blockdata_filepath": "data/layouts/ShoalCave_LowTideEntranceRoom/map.bin"
+ },
+ {
+ "id": "LAYOUT_SHOAL_CAVE_LOW_TIDE_INNER_ROOM",
+ "name": "ShoalCave_LowTideInnerRoom_Layout",
+ "width": 46,
+ "height": 38,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Cave",
+ "border_filepath": "data/layouts/ShoalCave_LowTideInnerRoom/border.bin",
+ "blockdata_filepath": "data/layouts/ShoalCave_LowTideInnerRoom/map.bin"
+ },
+ {
+ "id": "LAYOUT_SHOAL_CAVE_LOW_TIDE_STAIRS_ROOM",
+ "name": "ShoalCave_LowTideStairsRoom_Layout",
+ "width": 21,
+ "height": 15,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Cave",
+ "border_filepath": "data/layouts/ShoalCave_LowTideStairsRoom/border.bin",
+ "blockdata_filepath": "data/layouts/ShoalCave_LowTideStairsRoom/map.bin"
+ },
+ {
+ "id": "LAYOUT_SHOAL_CAVE_LOW_TIDE_LOWER_ROOM",
+ "name": "ShoalCave_LowTideLowerRoom_Layout",
+ "width": 31,
+ "height": 14,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Cave",
+ "border_filepath": "data/layouts/ShoalCave_LowTideLowerRoom/border.bin",
+ "blockdata_filepath": "data/layouts/ShoalCave_LowTideLowerRoom/map.bin"
+ },
+ {
+ "id": "LAYOUT_SHOAL_CAVE_HIGH_TIDE_ENTRANCE_ROOM",
+ "name": "ShoalCave_HighTideEntranceRoom_Layout",
+ "width": 35,
+ "height": 35,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Cave",
+ "border_filepath": "data/layouts/ShoalCave_HighTideEntranceRoom/border.bin",
+ "blockdata_filepath": "data/layouts/ShoalCave_HighTideEntranceRoom/map.bin"
+ },
+ {
+ "id": "LAYOUT_SHOAL_CAVE_HIGH_TIDE_INNER_ROOM",
+ "name": "ShoalCave_HighTideInnerRoom_Layout",
+ "width": 46,
+ "height": 38,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Cave",
+ "border_filepath": "data/layouts/ShoalCave_HighTideInnerRoom/border.bin",
+ "blockdata_filepath": "data/layouts/ShoalCave_HighTideInnerRoom/map.bin"
+ },
+ {
+ "id": "LAYOUT_UNKNOWN_MAP_082E55C8",
+ "name": "UnknownMap_082E55C8_Layout",
+ "width": 1,
+ "height": 1,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Cave",
+ "border_filepath": "data/layouts/UnknownMap_082E55C8/border.bin",
+ "blockdata_filepath": "data/layouts/UnknownMap_082E55C8/map.bin"
+ },
+ {
+ "id": "LAYOUT_UNKNOWN_MAP_082E55EC",
+ "name": "UnknownMap_082E55EC_Layout",
+ "width": 1,
+ "height": 1,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Cave",
+ "border_filepath": "data/layouts/UnknownMap_082E55EC/border.bin",
+ "blockdata_filepath": "data/layouts/UnknownMap_082E55EC/map.bin"
+ },
+ {
+ "id": "LAYOUT_UNKNOWN_MAP_082E5610",
+ "name": "UnknownMap_082E5610_Layout",
+ "width": 1,
+ "height": 1,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Cave",
+ "border_filepath": "data/layouts/UnknownMap_082E5610/border.bin",
+ "blockdata_filepath": "data/layouts/UnknownMap_082E5610/map.bin"
+ },
+ {
+ "id": "LAYOUT_UNKNOWN_MAP_082E5634",
+ "name": "UnknownMap_082E5634_Layout",
+ "width": 1,
+ "height": 1,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Cave",
+ "border_filepath": "data/layouts/UnknownMap_082E5634/border.bin",
+ "blockdata_filepath": "data/layouts/UnknownMap_082E5634/map.bin"
+ },
+ {
+ "id": "LAYOUT_UNKNOWN_MAP_082E5658",
+ "name": "UnknownMap_082E5658_Layout",
+ "width": 1,
+ "height": 1,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Cave",
+ "border_filepath": "data/layouts/UnknownMap_082E5658/border.bin",
+ "blockdata_filepath": "data/layouts/UnknownMap_082E5658/map.bin"
+ },
+ {
+ "id": "LAYOUT_UNKNOWN_MAP_082E567C",
+ "name": "UnknownMap_082E567C_Layout",
+ "width": 1,
+ "height": 1,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Cave",
+ "border_filepath": "data/layouts/UnknownMap_082E567C/border.bin",
+ "blockdata_filepath": "data/layouts/UnknownMap_082E567C/map.bin"
+ },
+ {
+ "id": "LAYOUT_UNKNOWN_MAP_082E56A0",
+ "name": "UnknownMap_082E56A0_Layout",
+ "width": 1,
+ "height": 1,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Cave",
+ "border_filepath": "data/layouts/UnknownMap_082E56A0/border.bin",
+ "blockdata_filepath": "data/layouts/UnknownMap_082E56A0/map.bin"
+ },
+ {
+ "id": "LAYOUT_UNKNOWN_MAP_082E56C4",
+ "name": "UnknownMap_082E56C4_Layout",
+ "width": 1,
+ "height": 1,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Cave",
+ "border_filepath": "data/layouts/UnknownMap_082E56C4/border.bin",
+ "blockdata_filepath": "data/layouts/UnknownMap_082E56C4/map.bin"
+ },
+ {
+ "id": "LAYOUT_UNKNOWN_MAP_082E56E8",
+ "name": "UnknownMap_082E56E8_Layout",
+ "width": 1,
+ "height": 1,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Cave",
+ "border_filepath": "data/layouts/UnknownMap_082E56E8/border.bin",
+ "blockdata_filepath": "data/layouts/UnknownMap_082E56E8/map.bin"
+ },
+ {
+ "id": "LAYOUT_UNKNOWN_MAP_082E570C",
+ "name": "UnknownMap_082E570C_Layout",
+ "width": 1,
+ "height": 1,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Cave",
+ "border_filepath": "data/layouts/UnknownMap_082E570C/border.bin",
+ "blockdata_filepath": "data/layouts/UnknownMap_082E570C/map.bin"
+ },
+ {
+ "id": "LAYOUT_UNKNOWN_MAP_082E5730",
+ "name": "UnknownMap_082E5730_Layout",
+ "width": 1,
+ "height": 1,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Cave",
+ "border_filepath": "data/layouts/UnknownMap_082E5730/border.bin",
+ "blockdata_filepath": "data/layouts/UnknownMap_082E5730/map.bin"
+ },
+ {
+ "id": "LAYOUT_UNKNOWN_MAP_082E5754",
+ "name": "UnknownMap_082E5754_Layout",
+ "width": 1,
+ "height": 1,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Cave",
+ "border_filepath": "data/layouts/UnknownMap_082E5754/border.bin",
+ "blockdata_filepath": "data/layouts/UnknownMap_082E5754/map.bin"
+ },
+ {
+ "id": "LAYOUT_UNKNOWN_MAP_082E5778",
+ "name": "UnknownMap_082E5778_Layout",
+ "width": 1,
+ "height": 1,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Cave",
+ "border_filepath": "data/layouts/UnknownMap_082E5778/border.bin",
+ "blockdata_filepath": "data/layouts/UnknownMap_082E5778/map.bin"
+ },
+ {
+ "id": "LAYOUT_UNKNOWN_MAP_082E579C",
+ "name": "UnknownMap_082E579C_Layout",
+ "width": 1,
+ "height": 1,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Cave",
+ "border_filepath": "data/layouts/UnknownMap_082E579C/border.bin",
+ "blockdata_filepath": "data/layouts/UnknownMap_082E579C/map.bin"
+ },
+ {
+ "id": "LAYOUT_NEW_MAUVILLE_ENTRANCE",
+ "name": "NewMauville_Entrance_Layout",
+ "width": 9,
+ "height": 9,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Facility",
+ "border_filepath": "data/layouts/NewMauville_Entrance/border.bin",
+ "blockdata_filepath": "data/layouts/NewMauville_Entrance/map.bin"
+ },
+ {
+ "id": "LAYOUT_NEW_MAUVILLE_INSIDE",
+ "name": "NewMauville_Inside_Layout",
+ "width": 41,
+ "height": 41,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_BikeShop",
+ "border_filepath": "data/layouts/NewMauville_Inside/border.bin",
+ "blockdata_filepath": "data/layouts/NewMauville_Inside/map.bin"
+ },
+ {
+ "id": "LAYOUT_ABANDONED_SHIP_DECK",
+ "name": "AbandonedShip_Deck_Layout",
+ "width": 23,
+ "height": 21,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Facility",
+ "border_filepath": "data/layouts/AbandonedShip_Deck/border.bin",
+ "blockdata_filepath": "data/layouts/AbandonedShip_Deck/map.bin"
+ },
+ {
+ "id": "LAYOUT_ABANDONED_SHIP_CORRIDORS_1F",
+ "name": "AbandonedShip_Corridors_1F_Layout",
+ "width": 18,
+ "height": 12,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Ship",
+ "border_filepath": "data/layouts/AbandonedShip_Corridors_1F/border.bin",
+ "blockdata_filepath": "data/layouts/AbandonedShip_Corridors_1F/map.bin"
+ },
+ {
+ "id": "LAYOUT_ABANDONED_SHIP_ROOMS_1F",
+ "name": "AbandonedShip_Rooms_1F_Layout",
+ "width": 18,
+ "height": 17,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Ship",
+ "border_filepath": "data/layouts/AbandonedShip_Rooms_1F/border.bin",
+ "blockdata_filepath": "data/layouts/AbandonedShip_Rooms_1F/map.bin"
+ },
+ {
+ "id": "LAYOUT_ABANDONED_SHIP_CORRIDORS_B1F",
+ "name": "AbandonedShip_Corridors_B1F_Layout",
+ "width": 13,
+ "height": 10,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Ship",
+ "border_filepath": "data/layouts/AbandonedShip_Corridors_B1F/border.bin",
+ "blockdata_filepath": "data/layouts/AbandonedShip_Corridors_B1F/map.bin"
+ },
+ {
+ "id": "LAYOUT_ABANDONED_SHIP_ROOMS_B1F",
+ "name": "AbandonedShip_Rooms_B1F_Layout",
+ "width": 27,
+ "height": 8,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Ship",
+ "border_filepath": "data/layouts/AbandonedShip_Rooms_B1F/border.bin",
+ "blockdata_filepath": "data/layouts/AbandonedShip_Rooms_B1F/map.bin"
+ },
+ {
+ "id": "LAYOUT_ABANDONED_SHIP_ROOMS2_B1F",
+ "name": "AbandonedShip_Rooms2_B1F_Layout",
+ "width": 18,
+ "height": 8,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Ship",
+ "border_filepath": "data/layouts/AbandonedShip_Rooms2_B1F/border.bin",
+ "blockdata_filepath": "data/layouts/AbandonedShip_Rooms2_B1F/map.bin"
+ },
+ {
+ "id": "LAYOUT_ABANDONED_SHIP_UNDERWATER1",
+ "name": "AbandonedShip_Underwater1_Layout",
+ "width": 8,
+ "height": 8,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Ship",
+ "border_filepath": "data/layouts/AbandonedShip_Underwater1/border.bin",
+ "blockdata_filepath": "data/layouts/AbandonedShip_Underwater1/map.bin"
+ },
+ {
+ "id": "LAYOUT_ABANDONED_SHIP_ROOM_B1F",
+ "name": "AbandonedShip_Room_B1F_Layout",
+ "width": 9,
+ "height": 8,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Ship",
+ "border_filepath": "data/layouts/AbandonedShip_Room_B1F/border.bin",
+ "blockdata_filepath": "data/layouts/AbandonedShip_Room_B1F/map.bin"
+ },
+ {
+ "id": "LAYOUT_ABANDONED_SHIP_ROOMS2_1F",
+ "name": "AbandonedShip_Rooms2_1F_Layout",
+ "width": 9,
+ "height": 17,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Ship",
+ "border_filepath": "data/layouts/AbandonedShip_Rooms2_1F/border.bin",
+ "blockdata_filepath": "data/layouts/AbandonedShip_Rooms2_1F/map.bin"
+ },
+ {
+ "id": "LAYOUT_ABANDONED_SHIP_CAPTAINS_OFFICE",
+ "name": "AbandonedShip_CaptainsOffice_Layout",
+ "width": 9,
+ "height": 7,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Facility",
+ "border_filepath": "data/layouts/AbandonedShip_CaptainsOffice/border.bin",
+ "blockdata_filepath": "data/layouts/AbandonedShip_CaptainsOffice/map.bin"
+ },
+ {
+ "id": "LAYOUT_ABANDONED_SHIP_UNDERWATER2",
+ "name": "AbandonedShip_Underwater2_Layout",
+ "width": 21,
+ "height": 7,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Ship",
+ "border_filepath": "data/layouts/AbandonedShip_Underwater2/border.bin",
+ "blockdata_filepath": "data/layouts/AbandonedShip_Underwater2/map.bin"
+ },
+ {
+ "id": "LAYOUT_SECRET_BASE_RED_CAVE1",
+ "name": "SecretBase_RedCave1_Layout",
+ "width": 11,
+ "height": 9,
+ "primary_tileset": "gTileset_SecretBase",
+ "secondary_tileset": "gTileset_SecretBaseRedCave",
+ "border_filepath": "data/layouts/SecretBase_RedCave1/border.bin",
+ "blockdata_filepath": "data/layouts/SecretBase_RedCave1/map.bin"
+ },
+ {
+ "id": "LAYOUT_SECRET_BASE_BROWN_CAVE1",
+ "name": "SecretBase_BrownCave1_Layout",
+ "width": 11,
+ "height": 9,
+ "primary_tileset": "gTileset_SecretBase",
+ "secondary_tileset": "gTileset_SecretBaseBrownCave",
+ "border_filepath": "data/layouts/SecretBase_BrownCave1/border.bin",
+ "blockdata_filepath": "data/layouts/SecretBase_BrownCave1/map.bin"
+ },
+ {
+ "id": "LAYOUT_SECRET_BASE_BLUE_CAVE1",
+ "name": "SecretBase_BlueCave1_Layout",
+ "width": 11,
+ "height": 9,
+ "primary_tileset": "gTileset_SecretBase",
+ "secondary_tileset": "gTileset_SecretBaseBlueCave",
+ "border_filepath": "data/layouts/SecretBase_BlueCave1/border.bin",
+ "blockdata_filepath": "data/layouts/SecretBase_BlueCave1/map.bin"
+ },
+ {
+ "id": "LAYOUT_SECRET_BASE_YELLOW_CAVE1",
+ "name": "SecretBase_YellowCave1_Layout",
+ "width": 11,
+ "height": 9,
+ "primary_tileset": "gTileset_SecretBase",
+ "secondary_tileset": "gTileset_SecretBaseYellowCave",
+ "border_filepath": "data/layouts/SecretBase_YellowCave1/border.bin",
+ "blockdata_filepath": "data/layouts/SecretBase_YellowCave1/map.bin"
+ },
+ {
+ "id": "LAYOUT_SECRET_BASE_TREE1",
+ "name": "SecretBase_Tree1_Layout",
+ "width": 11,
+ "height": 9,
+ "primary_tileset": "gTileset_SecretBase",
+ "secondary_tileset": "gTileset_SecretBaseTree",
+ "border_filepath": "data/layouts/SecretBase_Tree1/border.bin",
+ "blockdata_filepath": "data/layouts/SecretBase_Tree1/map.bin"
+ },
+ {
+ "id": "LAYOUT_SECRET_BASE_SHRUB1",
+ "name": "SecretBase_Shrub1_Layout",
+ "width": 11,
+ "height": 9,
+ "primary_tileset": "gTileset_SecretBase",
+ "secondary_tileset": "gTileset_SecretBaseShrub",
+ "border_filepath": "data/layouts/SecretBase_Shrub1/border.bin",
+ "blockdata_filepath": "data/layouts/SecretBase_Shrub1/map.bin"
+ },
+ {
+ "id": "LAYOUT_SECRET_BASE_RED_CAVE2",
+ "name": "SecretBase_RedCave2_Layout",
+ "width": 7,
+ "height": 16,
+ "primary_tileset": "gTileset_SecretBase",
+ "secondary_tileset": "gTileset_SecretBaseRedCave",
+ "border_filepath": "data/layouts/SecretBase_RedCave2/border.bin",
+ "blockdata_filepath": "data/layouts/SecretBase_RedCave2/map.bin"
+ },
+ {
+ "id": "LAYOUT_SECRET_BASE_BROWN_CAVE2",
+ "name": "SecretBase_BrownCave2_Layout",
+ "width": 14,
+ "height": 9,
+ "primary_tileset": "gTileset_SecretBase",
+ "secondary_tileset": "gTileset_SecretBaseBrownCave",
+ "border_filepath": "data/layouts/SecretBase_BrownCave2/border.bin",
+ "blockdata_filepath": "data/layouts/SecretBase_BrownCave2/map.bin"
+ },
+ {
+ "id": "LAYOUT_SECRET_BASE_BLUE_CAVE2",
+ "name": "SecretBase_BlueCave2_Layout",
+ "width": 15,
+ "height": 7,
+ "primary_tileset": "gTileset_SecretBase",
+ "secondary_tileset": "gTileset_SecretBaseBlueCave",
+ "border_filepath": "data/layouts/SecretBase_BlueCave2/border.bin",
+ "blockdata_filepath": "data/layouts/SecretBase_BlueCave2/map.bin"
+ },
+ {
+ "id": "LAYOUT_SECRET_BASE_YELLOW_CAVE2",
+ "name": "SecretBase_YellowCave2_Layout",
+ "width": 14,
+ "height": 9,
+ "primary_tileset": "gTileset_SecretBase",
+ "secondary_tileset": "gTileset_SecretBaseYellowCave",
+ "border_filepath": "data/layouts/SecretBase_YellowCave2/border.bin",
+ "blockdata_filepath": "data/layouts/SecretBase_YellowCave2/map.bin"
+ },
+ {
+ "id": "LAYOUT_SECRET_BASE_TREE2",
+ "name": "SecretBase_Tree2_Layout",
+ "width": 7,
+ "height": 16,
+ "primary_tileset": "gTileset_SecretBase",
+ "secondary_tileset": "gTileset_SecretBaseTree",
+ "border_filepath": "data/layouts/SecretBase_Tree2/border.bin",
+ "blockdata_filepath": "data/layouts/SecretBase_Tree2/map.bin"
+ },
+ {
+ "id": "LAYOUT_SECRET_BASE_SHRUB2",
+ "name": "SecretBase_Shrub2_Layout",
+ "width": 15,
+ "height": 7,
+ "primary_tileset": "gTileset_SecretBase",
+ "secondary_tileset": "gTileset_SecretBaseShrub",
+ "border_filepath": "data/layouts/SecretBase_Shrub2/border.bin",
+ "blockdata_filepath": "data/layouts/SecretBase_Shrub2/map.bin"
+ },
+ {
+ "id": "LAYOUT_SECRET_BASE_RED_CAVE3",
+ "name": "SecretBase_RedCave3_Layout",
+ "width": 15,
+ "height": 8,
+ "primary_tileset": "gTileset_SecretBase",
+ "secondary_tileset": "gTileset_SecretBaseRedCave",
+ "border_filepath": "data/layouts/SecretBase_RedCave3/border.bin",
+ "blockdata_filepath": "data/layouts/SecretBase_RedCave3/map.bin"
+ },
+ {
+ "id": "LAYOUT_SECRET_BASE_BROWN_CAVE3",
+ "name": "SecretBase_BrownCave3_Layout",
+ "width": 15,
+ "height": 11,
+ "primary_tileset": "gTileset_SecretBase",
+ "secondary_tileset": "gTileset_SecretBaseBrownCave",
+ "border_filepath": "data/layouts/SecretBase_BrownCave3/border.bin",
+ "blockdata_filepath": "data/layouts/SecretBase_BrownCave3/map.bin"
+ },
+ {
+ "id": "LAYOUT_SECRET_BASE_BLUE_CAVE3",
+ "name": "SecretBase_BlueCave3_Layout",
+ "width": 10,
+ "height": 17,
+ "primary_tileset": "gTileset_SecretBase",
+ "secondary_tileset": "gTileset_SecretBaseBlueCave",
+ "border_filepath": "data/layouts/SecretBase_BlueCave3/border.bin",
+ "blockdata_filepath": "data/layouts/SecretBase_BlueCave3/map.bin"
+ },
+ {
+ "id": "LAYOUT_SECRET_BASE_YELLOW_CAVE3",
+ "name": "SecretBase_YellowCave3_Layout",
+ "width": 12,
+ "height": 11,
+ "primary_tileset": "gTileset_SecretBase",
+ "secondary_tileset": "gTileset_SecretBaseYellowCave",
+ "border_filepath": "data/layouts/SecretBase_YellowCave3/border.bin",
+ "blockdata_filepath": "data/layouts/SecretBase_YellowCave3/map.bin"
+ },
+ {
+ "id": "LAYOUT_SECRET_BASE_TREE3",
+ "name": "SecretBase_Tree3_Layout",
+ "width": 17,
+ "height": 8,
+ "primary_tileset": "gTileset_SecretBase",
+ "secondary_tileset": "gTileset_SecretBaseTree",
+ "border_filepath": "data/layouts/SecretBase_Tree3/border.bin",
+ "blockdata_filepath": "data/layouts/SecretBase_Tree3/map.bin"
+ },
+ {
+ "id": "LAYOUT_SECRET_BASE_SHRUB3",
+ "name": "SecretBase_Shrub3_Layout",
+ "width": 13,
+ "height": 11,
+ "primary_tileset": "gTileset_SecretBase",
+ "secondary_tileset": "gTileset_SecretBaseShrub",
+ "border_filepath": "data/layouts/SecretBase_Shrub3/border.bin",
+ "blockdata_filepath": "data/layouts/SecretBase_Shrub3/map.bin"
+ },
+ {
+ "id": "LAYOUT_SECRET_BASE_RED_CAVE4",
+ "name": "SecretBase_RedCave4_Layout",
+ "width": 9,
+ "height": 15,
+ "primary_tileset": "gTileset_SecretBase",
+ "secondary_tileset": "gTileset_SecretBaseRedCave",
+ "border_filepath": "data/layouts/SecretBase_RedCave4/border.bin",
+ "blockdata_filepath": "data/layouts/SecretBase_RedCave4/map.bin"
+ },
+ {
+ "id": "LAYOUT_SECRET_BASE_BROWN_CAVE4",
+ "name": "SecretBase_BrownCave4_Layout",
+ "width": 14,
+ "height": 12,
+ "primary_tileset": "gTileset_SecretBase",
+ "secondary_tileset": "gTileset_SecretBaseBrownCave",
+ "border_filepath": "data/layouts/SecretBase_BrownCave4/border.bin",
+ "blockdata_filepath": "data/layouts/SecretBase_BrownCave4/map.bin"
+ },
+ {
+ "id": "LAYOUT_SECRET_BASE_BLUE_CAVE4",
+ "name": "SecretBase_BlueCave4_Layout",
+ "width": 9,
+ "height": 17,
+ "primary_tileset": "gTileset_SecretBase",
+ "secondary_tileset": "gTileset_SecretBaseBlueCave",
+ "border_filepath": "data/layouts/SecretBase_BlueCave4/border.bin",
+ "blockdata_filepath": "data/layouts/SecretBase_BlueCave4/map.bin"
+ },
+ {
+ "id": "LAYOUT_SECRET_BASE_YELLOW_CAVE4",
+ "name": "SecretBase_YellowCave4_Layout",
+ "width": 13,
+ "height": 14,
+ "primary_tileset": "gTileset_SecretBase",
+ "secondary_tileset": "gTileset_SecretBaseYellowCave",
+ "border_filepath": "data/layouts/SecretBase_YellowCave4/border.bin",
+ "blockdata_filepath": "data/layouts/SecretBase_YellowCave4/map.bin"
+ },
+ {
+ "id": "LAYOUT_SECRET_BASE_TREE4",
+ "name": "SecretBase_Tree4_Layout",
+ "width": 14,
+ "height": 14,
+ "primary_tileset": "gTileset_SecretBase",
+ "secondary_tileset": "gTileset_SecretBaseTree",
+ "border_filepath": "data/layouts/SecretBase_Tree4/border.bin",
+ "blockdata_filepath": "data/layouts/SecretBase_Tree4/map.bin"
+ },
+ {
+ "id": "LAYOUT_SECRET_BASE_SHRUB4",
+ "name": "SecretBase_Shrub4_Layout",
+ "width": 14,
+ "height": 11,
+ "primary_tileset": "gTileset_SecretBase",
+ "secondary_tileset": "gTileset_SecretBaseShrub",
+ "border_filepath": "data/layouts/SecretBase_Shrub4/border.bin",
+ "blockdata_filepath": "data/layouts/SecretBase_Shrub4/map.bin"
+ },
+ {
+ "id": "LAYOUT_SINGLE_BATTLE_COLOSSEUM",
+ "name": "SingleBattleColosseum_Layout",
+ "width": 14,
+ "height": 9,
+ "primary_tileset": "gTileset_Building",
+ "secondary_tileset": "gTileset_CableClub",
+ "border_filepath": "data/layouts/SingleBattleColosseum/border.bin",
+ "blockdata_filepath": "data/layouts/SingleBattleColosseum/map.bin"
+ },
+ {
+ "id": "LAYOUT_TRADE_CENTER",
+ "name": "TradeCenter_Layout",
+ "width": 12,
+ "height": 9,
+ "primary_tileset": "gTileset_Building",
+ "secondary_tileset": "gTileset_CableClub",
+ "border_filepath": "data/layouts/TradeCenter/border.bin",
+ "blockdata_filepath": "data/layouts/TradeCenter/map.bin"
+ },
+ {
+ "id": "LAYOUT_RECORD_CORNER",
+ "name": "RecordCorner_Layout",
+ "width": 20,
+ "height": 10,
+ "primary_tileset": "gTileset_Building",
+ "secondary_tileset": "gTileset_CableClub",
+ "border_filepath": "data/layouts/RecordCorner/border.bin",
+ "blockdata_filepath": "data/layouts/RecordCorner/map.bin"
+ },
+ {
+ "id": "LAYOUT_DOUBLE_BATTLE_COLOSSEUM",
+ "name": "DoubleBattleColosseum_Layout",
+ "width": 14,
+ "height": 9,
+ "primary_tileset": "gTileset_Building",
+ "secondary_tileset": "gTileset_CableClub",
+ "border_filepath": "data/layouts/DoubleBattleColosseum/border.bin",
+ "blockdata_filepath": "data/layouts/DoubleBattleColosseum/map.bin"
+ },
+ {
+ "id": "LAYOUT_LINK_CONTEST_ROOM1",
+ "name": "LinkContestRoom1_Layout",
+ "width": 15,
+ "height": 11,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Contest",
+ "border_filepath": "data/layouts/LinkContestRoom1/border.bin",
+ "blockdata_filepath": "data/layouts/LinkContestRoom1/map.bin"
+ },
+ {
+ "id": "LAYOUT_UNKNOWN_MAP_25_29",
+ "name": "UnknownMap_25_29_Layout",
+ "width": 1,
+ "height": 1,
+ "primary_tileset": "gTileset_Building",
+ "secondary_tileset": "gTileset_Contest",
+ "border_filepath": "data/layouts/UnknownMap_25_29/border.bin",
+ "blockdata_filepath": "data/layouts/UnknownMap_25_29/map.bin"
+ },
+ {
+ "id": "LAYOUT_UNKNOWN_MAP_25_30",
+ "name": "UnknownMap_25_30_Layout",
+ "width": 1,
+ "height": 1,
+ "primary_tileset": "gTileset_Building",
+ "secondary_tileset": "gTileset_Contest",
+ "border_filepath": "data/layouts/UnknownMap_25_30/border.bin",
+ "blockdata_filepath": "data/layouts/UnknownMap_25_30/map.bin"
+ },
+ {
+ "id": "LAYOUT_UNKNOWN_MAP_25_31",
+ "name": "UnknownMap_25_31_Layout",
+ "width": 1,
+ "height": 1,
+ "primary_tileset": "gTileset_Building",
+ "secondary_tileset": "gTileset_Contest",
+ "border_filepath": "data/layouts/UnknownMap_25_31/border.bin",
+ "blockdata_filepath": "data/layouts/UnknownMap_25_31/map.bin"
+ },
+ {
+ "id": "LAYOUT_UNKNOWN_MAP_25_32",
+ "name": "UnknownMap_25_32_Layout",
+ "width": 1,
+ "height": 1,
+ "primary_tileset": "gTileset_Building",
+ "secondary_tileset": "gTileset_Contest",
+ "border_filepath": "data/layouts/UnknownMap_25_32/border.bin",
+ "blockdata_filepath": "data/layouts/UnknownMap_25_32/map.bin"
+ },
+ {
+ "id": "LAYOUT_UNKNOWN_MAP_25_33",
+ "name": "UnknownMap_25_33_Layout",
+ "width": 1,
+ "height": 1,
+ "primary_tileset": "gTileset_Building",
+ "secondary_tileset": "gTileset_Contest",
+ "border_filepath": "data/layouts/UnknownMap_25_33/border.bin",
+ "blockdata_filepath": "data/layouts/UnknownMap_25_33/map.bin"
+ },
+ {
+ "id": "LAYOUT_UNKNOWN_MAP_25_34",
+ "name": "UnknownMap_25_34_Layout",
+ "width": 1,
+ "height": 1,
+ "primary_tileset": "gTileset_Building",
+ "secondary_tileset": "gTileset_Contest",
+ "border_filepath": "data/layouts/UnknownMap_25_34/border.bin",
+ "blockdata_filepath": "data/layouts/UnknownMap_25_34/map.bin"
+ },
+ {
+ "id": "LAYOUT_LINK_CONTEST_ROOM2",
+ "name": "LinkContestRoom2_Layout",
+ "width": 15,
+ "height": 11,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Contest",
+ "border_filepath": "data/layouts/LinkContestRoom2/border.bin",
+ "blockdata_filepath": "data/layouts/LinkContestRoom2/map.bin"
+ },
+ {
+ "id": "LAYOUT_LINK_CONTEST_ROOM3",
+ "name": "LinkContestRoom3_Layout",
+ "width": 15,
+ "height": 11,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Contest",
+ "border_filepath": "data/layouts/LinkContestRoom3/border.bin",
+ "blockdata_filepath": "data/layouts/LinkContestRoom3/map.bin"
+ },
+ {
+ "id": "LAYOUT_LINK_CONTEST_ROOM4",
+ "name": "LinkContestRoom4_Layout",
+ "width": 15,
+ "height": 11,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Contest",
+ "border_filepath": "data/layouts/LinkContestRoom4/border.bin",
+ "blockdata_filepath": "data/layouts/LinkContestRoom4/map.bin"
+ },
+ {
+ "id": "LAYOUT_LINK_CONTEST_ROOM5",
+ "name": "LinkContestRoom5_Layout",
+ "width": 15,
+ "height": 11,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Contest",
+ "border_filepath": "data/layouts/LinkContestRoom5/border.bin",
+ "blockdata_filepath": "data/layouts/LinkContestRoom5/map.bin"
+ },
+ {
+ "id": "LAYOUT_LINK_CONTEST_ROOM6",
+ "name": "LinkContestRoom6_Layout",
+ "width": 15,
+ "height": 11,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Contest",
+ "border_filepath": "data/layouts/LinkContestRoom6/border.bin",
+ "blockdata_filepath": "data/layouts/LinkContestRoom6/map.bin"
+ },
+ {
+ "id": "LAYOUT_INSIDE_OF_TRUCK",
+ "name": "InsideOfTruck_Layout",
+ "width": 5,
+ "height": 5,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_InsideOfTruck",
+ "border_filepath": "data/layouts/InsideOfTruck/border.bin",
+ "blockdata_filepath": "data/layouts/InsideOfTruck/map.bin"
+ },
+ {
+ "id": "LAYOUT_SAFARI_ZONE_NORTHWEST",
+ "name": "SafariZone_Northwest_Layout",
+ "width": 40,
+ "height": 40,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Lilycove",
+ "border_filepath": "data/layouts/SafariZone_Northwest/border.bin",
+ "blockdata_filepath": "data/layouts/SafariZone_Northwest/map.bin"
+ },
+ {
+ "id": "LAYOUT_SAFARI_ZONE_NORTHEAST",
+ "name": "SafariZone_Northeast_Layout",
+ "width": 40,
+ "height": 40,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Lilycove",
+ "border_filepath": "data/layouts/SafariZone_Northeast/border.bin",
+ "blockdata_filepath": "data/layouts/SafariZone_Northeast/map.bin"
+ },
+ {
+ "id": "LAYOUT_SAFARI_ZONE_SOUTHWEST",
+ "name": "SafariZone_Southwest_Layout",
+ "width": 40,
+ "height": 40,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Lilycove",
+ "border_filepath": "data/layouts/SafariZone_Southwest/border.bin",
+ "blockdata_filepath": "data/layouts/SafariZone_Southwest/map.bin"
+ },
+ {
+ "id": "LAYOUT_SAFARI_ZONE_SOUTHEAST",
+ "name": "SafariZone_Southeast_Layout",
+ "width": 40,
+ "height": 40,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Lilycove",
+ "border_filepath": "data/layouts/SafariZone_Southeast/border.bin",
+ "blockdata_filepath": "data/layouts/SafariZone_Southeast/map.bin"
+ },
+ {
+ "id": "LAYOUT_UNKNOWN_MAP_082EDF30",
+ "name": "UnknownMap_082EDF30_Layout",
+ "width": 58,
+ "height": 26,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "0",
+ "border_filepath": "data/layouts/UnknownMap_082EDF30/border.bin",
+ "blockdata_filepath": "data/layouts/UnknownMap_082EDF30/map.bin"
+ },
+ {
+ "id": "LAYOUT_ROUTE109_SEASHORE_HOUSE",
+ "name": "Route109_SeashoreHouse_Layout",
+ "width": 15,
+ "height": 10,
+ "primary_tileset": "gTileset_Building",
+ "secondary_tileset": "gTileset_SeashoreHouse",
+ "border_filepath": "data/layouts/Route109_SeashoreHouse/border.bin",
+ "blockdata_filepath": "data/layouts/Route109_SeashoreHouse/map.bin"
+ },
+ {
+ "id": "LAYOUT_ROUTE110_TRICK_HOUSE_ENTRANCE",
+ "name": "Route110_TrickHouseEntrance_Layout",
+ "width": 12,
+ "height": 8,
+ "primary_tileset": "gTileset_Building",
+ "secondary_tileset": "gTileset_GenericBuilding",
+ "border_filepath": "data/layouts/Route110_TrickHouseEntrance/border.bin",
+ "blockdata_filepath": "data/layouts/Route110_TrickHouseEntrance/map.bin"
+ },
+ {
+ "id": "LAYOUT_ROUTE110_TRICK_HOUSE_END",
+ "name": "Route110_TrickHouseEnd_Layout",
+ "width": 12,
+ "height": 8,
+ "primary_tileset": "gTileset_Building",
+ "secondary_tileset": "gTileset_GenericBuilding",
+ "border_filepath": "data/layouts/Route110_TrickHouseEnd/border.bin",
+ "blockdata_filepath": "data/layouts/Route110_TrickHouseEnd/map.bin"
+ },
+ {
+ "id": "LAYOUT_ROUTE110_TRICK_HOUSE_CORRIDOR",
+ "name": "Route110_TrickHouseCorridor_Layout",
+ "width": 15,
+ "height": 24,
+ "primary_tileset": "gTileset_Building",
+ "secondary_tileset": "gTileset_GenericBuilding",
+ "border_filepath": "data/layouts/Route110_TrickHouseCorridor/border.bin",
+ "blockdata_filepath": "data/layouts/Route110_TrickHouseCorridor/map.bin"
+ },
+ {
+ "id": "LAYOUT_ROUTE110_TRICK_HOUSE_PUZZLE1",
+ "name": "Route110_TrickHousePuzzle1_Layout",
+ "width": 15,
+ "height": 22,
+ "primary_tileset": "gTileset_Building",
+ "secondary_tileset": "gTileset_TrickHousePuzzle",
+ "border_filepath": "data/layouts/Route110_TrickHousePuzzle1/border.bin",
+ "blockdata_filepath": "data/layouts/Route110_TrickHousePuzzle1/map.bin"
+ },
+ {
+ "id": "LAYOUT_ROUTE110_TRICK_HOUSE_PUZZLE2",
+ "name": "Route110_TrickHousePuzzle2_Layout",
+ "width": 15,
+ "height": 22,
+ "primary_tileset": "gTileset_Building",
+ "secondary_tileset": "gTileset_TrickHousePuzzle",
+ "border_filepath": "data/layouts/Route110_TrickHousePuzzle2/border.bin",
+ "blockdata_filepath": "data/layouts/Route110_TrickHousePuzzle2/map.bin"
+ },
+ {
+ "id": "LAYOUT_ROUTE110_TRICK_HOUSE_PUZZLE3",
+ "name": "Route110_TrickHousePuzzle3_Layout",
+ "width": 15,
+ "height": 22,
+ "primary_tileset": "gTileset_Building",
+ "secondary_tileset": "gTileset_TrickHousePuzzle",
+ "border_filepath": "data/layouts/Route110_TrickHousePuzzle3/border.bin",
+ "blockdata_filepath": "data/layouts/Route110_TrickHousePuzzle3/map.bin"
+ },
+ {
+ "id": "LAYOUT_ROUTE110_TRICK_HOUSE_PUZZLE4",
+ "name": "Route110_TrickHousePuzzle4_Layout",
+ "width": 15,
+ "height": 22,
+ "primary_tileset": "gTileset_Building",
+ "secondary_tileset": "gTileset_TrickHousePuzzle",
+ "border_filepath": "data/layouts/Route110_TrickHousePuzzle4/border.bin",
+ "blockdata_filepath": "data/layouts/Route110_TrickHousePuzzle4/map.bin"
+ },
+ {
+ "id": "LAYOUT_ROUTE110_TRICK_HOUSE_PUZZLE5",
+ "name": "Route110_TrickHousePuzzle5_Layout",
+ "width": 15,
+ "height": 22,
+ "primary_tileset": "gTileset_Building",
+ "secondary_tileset": "gTileset_TrickHousePuzzle",
+ "border_filepath": "data/layouts/Route110_TrickHousePuzzle5/border.bin",
+ "blockdata_filepath": "data/layouts/Route110_TrickHousePuzzle5/map.bin"
+ },
+ {
+ "id": "LAYOUT_ROUTE110_TRICK_HOUSE_PUZZLE6",
+ "name": "Route110_TrickHousePuzzle6_Layout",
+ "width": 15,
+ "height": 22,
+ "primary_tileset": "gTileset_Building",
+ "secondary_tileset": "gTileset_TrickHousePuzzle",
+ "border_filepath": "data/layouts/Route110_TrickHousePuzzle6/border.bin",
+ "blockdata_filepath": "data/layouts/Route110_TrickHousePuzzle6/map.bin"
+ },
+ {
+ "id": "LAYOUT_ROUTE110_TRICK_HOUSE_PUZZLE7",
+ "name": "Route110_TrickHousePuzzle7_Layout",
+ "width": 15,
+ "height": 22,
+ "primary_tileset": "gTileset_Building",
+ "secondary_tileset": "gTileset_TrickHousePuzzle",
+ "border_filepath": "data/layouts/Route110_TrickHousePuzzle7/border.bin",
+ "blockdata_filepath": "data/layouts/Route110_TrickHousePuzzle7/map.bin"
+ },
+ {
+ "id": "LAYOUT_ROUTE110_TRICK_HOUSE_PUZZLE8",
+ "name": "Route110_TrickHousePuzzle8_Layout",
+ "width": 15,
+ "height": 22,
+ "primary_tileset": "gTileset_Building",
+ "secondary_tileset": "gTileset_TrickHousePuzzle",
+ "border_filepath": "data/layouts/Route110_TrickHousePuzzle8/border.bin",
+ "blockdata_filepath": "data/layouts/Route110_TrickHousePuzzle8/map.bin"
+ },
+ {
+ "id": "LAYOUT_FORTREE_CITY_DECORATION_SHOP",
+ "name": "FortreeCity_DecorationShop_Layout",
+ "width": 8,
+ "height": 6,
+ "primary_tileset": "gTileset_Building",
+ "secondary_tileset": "gTileset_GenericBuilding",
+ "border_filepath": "data/layouts/FortreeCity_DecorationShop/border.bin",
+ "blockdata_filepath": "data/layouts/FortreeCity_DecorationShop/map.bin"
+ },
+ {
+ "id": "LAYOUT_ROUTE110_SEASIDE_CYCLING_ROAD_ENTRACE",
+ "name": "Route110_SeasideCyclingRoadEntrace_Layout",
+ "width": 15,
+ "height": 6,
+ "primary_tileset": "gTileset_Building",
+ "secondary_tileset": "gTileset_Shop",
+ "border_filepath": "data/layouts/Route110_SeasideCyclingRoadEntrace/border.bin",
+ "blockdata_filepath": "data/layouts/Route110_SeasideCyclingRoadEntrace/map.bin"
+ },
+ {
+ "id": "LAYOUT_LILYCOVE_CITY_DEPARTMENT_STORE_1F",
+ "name": "LilycoveCity_DepartmentStore_1F_Layout",
+ "width": 18,
+ "height": 8,
+ "primary_tileset": "gTileset_Building",
+ "secondary_tileset": "gTileset_Shop",
+ "border_filepath": "data/layouts/LilycoveCity_DepartmentStore_1F/border.bin",
+ "blockdata_filepath": "data/layouts/LilycoveCity_DepartmentStore_1F/map.bin"
+ },
+ {
+ "id": "LAYOUT_LILYCOVE_CITY_DEPARTMENT_STORE_2F",
+ "name": "LilycoveCity_DepartmentStore_2F_Layout",
+ "width": 18,
+ "height": 8,
+ "primary_tileset": "gTileset_Building",
+ "secondary_tileset": "gTileset_Shop",
+ "border_filepath": "data/layouts/LilycoveCity_DepartmentStore_2F/border.bin",
+ "blockdata_filepath": "data/layouts/LilycoveCity_DepartmentStore_2F/map.bin"
+ },
+ {
+ "id": "LAYOUT_LILYCOVE_CITY_DEPARTMENT_STORE_3F",
+ "name": "LilycoveCity_DepartmentStore_3F_Layout",
+ "width": 18,
+ "height": 8,
+ "primary_tileset": "gTileset_Building",
+ "secondary_tileset": "gTileset_Shop",
+ "border_filepath": "data/layouts/LilycoveCity_DepartmentStore_3F/border.bin",
+ "blockdata_filepath": "data/layouts/LilycoveCity_DepartmentStore_3F/map.bin"
+ },
+ {
+ "id": "LAYOUT_LILYCOVE_CITY_DEPARTMENT_STORE_4F",
+ "name": "LilycoveCity_DepartmentStore_4F_Layout",
+ "width": 18,
+ "height": 8,
+ "primary_tileset": "gTileset_Building",
+ "secondary_tileset": "gTileset_Shop",
+ "border_filepath": "data/layouts/LilycoveCity_DepartmentStore_4F/border.bin",
+ "blockdata_filepath": "data/layouts/LilycoveCity_DepartmentStore_4F/map.bin"
+ },
+ {
+ "id": "LAYOUT_LILYCOVE_CITY_DEPARTMENT_STORE_5F",
+ "name": "LilycoveCity_DepartmentStore_5F_Layout",
+ "width": 18,
+ "height": 8,
+ "primary_tileset": "gTileset_Building",
+ "secondary_tileset": "gTileset_Shop",
+ "border_filepath": "data/layouts/LilycoveCity_DepartmentStore_5F/border.bin",
+ "blockdata_filepath": "data/layouts/LilycoveCity_DepartmentStore_5F/map.bin"
+ },
+ {
+ "id": "LAYOUT_LILYCOVE_CITY_DEPARTMENT_STORE_ROOFTOP",
+ "name": "LilycoveCity_DepartmentStoreRooftop_Layout",
+ "width": 18,
+ "height": 12,
+ "primary_tileset": "gTileset_Building",
+ "secondary_tileset": "gTileset_Shop",
+ "border_filepath": "data/layouts/LilycoveCity_DepartmentStoreRooftop/border.bin",
+ "blockdata_filepath": "data/layouts/LilycoveCity_DepartmentStoreRooftop/map.bin"
+ },
+ {
+ "id": "LAYOUT_ROUTE130",
+ "name": "Route130_Layout",
+ "width": 80,
+ "height": 40,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Cave",
+ "border_filepath": "data/layouts/Route130/border.bin",
+ "blockdata_filepath": "data/layouts/Route130/map.bin"
+ },
+ {
+ "id": "LAYOUT_BATTLE_TOWER_LOBBY",
+ "name": "BattleTower_Lobby_Layout",
+ "width": 14,
+ "height": 9,
+ "primary_tileset": "gTileset_Building",
+ "secondary_tileset": "gTileset_BattleTower",
+ "border_filepath": "data/layouts/BattleTower_Lobby/border.bin",
+ "blockdata_filepath": "data/layouts/BattleTower_Lobby/map.bin"
+ },
+ {
+ "id": "LAYOUT_BATTLE_TOWER_OUTSIDE",
+ "name": "BattleTower_Outside_Layout",
+ "width": 29,
+ "height": 30,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Dewford",
+ "border_filepath": "data/layouts/BattleTower_Outside/border.bin",
+ "blockdata_filepath": "data/layouts/BattleTower_Outside/map.bin"
+ },
+ {
+ "id": "LAYOUT_BATTLE_TOWER_ELEVATOR",
+ "name": "BattleTower_Elevator_Layout",
+ "width": 4,
+ "height": 7,
+ "primary_tileset": "gTileset_Building",
+ "secondary_tileset": "gTileset_BattleTower",
+ "border_filepath": "data/layouts/BattleTower_Elevator/border.bin",
+ "blockdata_filepath": "data/layouts/BattleTower_Elevator/map.bin"
+ },
+ {
+ "id": "LAYOUT_BATTLE_TOWER_CORRIDOR",
+ "name": "BattleTower_Corridor_Layout",
+ "width": 17,
+ "height": 5,
+ "primary_tileset": "gTileset_Building",
+ "secondary_tileset": "gTileset_BattleTower",
+ "border_filepath": "data/layouts/BattleTower_Corridor/border.bin",
+ "blockdata_filepath": "data/layouts/BattleTower_Corridor/map.bin"
+ },
+ {
+ "id": "LAYOUT_BATTLE_TOWER_BATTLE_ROOM",
+ "name": "BattleTower_BattleRoom_Layout",
+ "width": 10,
+ "height": 9,
+ "primary_tileset": "gTileset_Building",
+ "secondary_tileset": "gTileset_BattleTower",
+ "border_filepath": "data/layouts/BattleTower_BattleRoom/border.bin",
+ "blockdata_filepath": "data/layouts/BattleTower_BattleRoom/map.bin"
+ },
+ {
+ "id": "LAYOUT_RUSTBORO_CITY_DEVON_CORP_3F",
+ "name": "RustboroCity_DevonCorp_3F_Layout",
+ "width": 19,
+ "height": 9,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Facility",
+ "border_filepath": "data/layouts/RustboroCity_DevonCorp_3F/border.bin",
+ "blockdata_filepath": "data/layouts/RustboroCity_DevonCorp_3F/map.bin"
+ },
+ {
+ "id": "LAYOUT_EVER_GRANDE_CITY_POKEMON_LEAGUE",
+ "name": "EverGrandeCity_PokemonLeague_Layout",
+ "width": 19,
+ "height": 12,
+ "primary_tileset": "gTileset_Building",
+ "secondary_tileset": "gTileset_PokemonCenter",
+ "border_filepath": "data/layouts/EverGrandeCity_PokemonLeague/border.bin",
+ "blockdata_filepath": "data/layouts/EverGrandeCity_PokemonLeague/map.bin"
+ },
+ {
+ "id": "LAYOUT_ROUTE119_WEATHER_INSTITUTE_1F",
+ "name": "Route119_WeatherInstitute_1F_Layout",
+ "width": 20,
+ "height": 13,
+ "primary_tileset": "gTileset_Building",
+ "secondary_tileset": "gTileset_Lab",
+ "border_filepath": "data/layouts/Route119_WeatherInstitute_1F/border.bin",
+ "blockdata_filepath": "data/layouts/Route119_WeatherInstitute_1F/map.bin"
+ },
+ {
+ "id": "LAYOUT_ROUTE119_WEATHER_INSTITUTE_2F",
+ "name": "Route119_WeatherInstitute_2F_Layout",
+ "width": 20,
+ "height": 11,
+ "primary_tileset": "gTileset_Building",
+ "secondary_tileset": "gTileset_Lab",
+ "border_filepath": "data/layouts/Route119_WeatherInstitute_2F/border.bin",
+ "blockdata_filepath": "data/layouts/Route119_WeatherInstitute_2F/map.bin"
+ },
+ {
+ "id": "LAYOUT_LILYCOVE_CITY_DEPARTMENT_STORE_ELEVATOR",
+ "name": "LilycoveCity_DepartmentStoreElevator_Layout",
+ "width": 4,
+ "height": 6,
+ "primary_tileset": "gTileset_Building",
+ "secondary_tileset": "gTileset_BattleTower",
+ "border_filepath": "data/layouts/LilycoveCity_DepartmentStoreElevator/border.bin",
+ "blockdata_filepath": "data/layouts/LilycoveCity_DepartmentStoreElevator/map.bin"
+ },
+ {
+ "id": "LAYOUT_UNDERWATER1",
+ "name": "Underwater1_Layout",
+ "width": 80,
+ "height": 80,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Underwater",
+ "border_filepath": "data/layouts/Underwater1/border.bin",
+ "blockdata_filepath": "data/layouts/Underwater1/map.bin"
+ },
+ {
+ "id": "LAYOUT_MOSSDEEP_CITY_SPACE_CENTER_1F",
+ "name": "MossdeepCity_SpaceCenter_1F_Layout",
+ "width": 16,
+ "height": 10,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Facility",
+ "border_filepath": "data/layouts/MossdeepCity_SpaceCenter_1F/border.bin",
+ "blockdata_filepath": "data/layouts/MossdeepCity_SpaceCenter_1F/map.bin"
+ },
+ {
+ "id": "LAYOUT_MOSSDEEP_CITY_SPACE_CENTER_2F",
+ "name": "MossdeepCity_SpaceCenter_2F_Layout",
+ "width": 16,
+ "height": 10,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Facility",
+ "border_filepath": "data/layouts/MossdeepCity_SpaceCenter_2F/border.bin",
+ "blockdata_filepath": "data/layouts/MossdeepCity_SpaceCenter_2F/map.bin"
+ },
+ {
+ "id": "LAYOUT_SS_TIDAL_CORRIDOR",
+ "name": "SSTidalCorridor_Layout",
+ "width": 18,
+ "height": 13,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Ship",
+ "border_filepath": "data/layouts/SSTidalCorridor/border.bin",
+ "blockdata_filepath": "data/layouts/SSTidalCorridor/map.bin"
+ },
+ {
+ "id": "LAYOUT_SS_TIDAL_LOWER_DECK",
+ "name": "SSTidalLowerDeck_Layout",
+ "width": 17,
+ "height": 13,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Ship",
+ "border_filepath": "data/layouts/SSTidalLowerDeck/border.bin",
+ "blockdata_filepath": "data/layouts/SSTidalLowerDeck/map.bin"
+ },
+ {
+ "id": "LAYOUT_SS_TIDAL_ROOMS",
+ "name": "SSTidalRooms_Layout",
+ "width": 36,
+ "height": 18,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Ship",
+ "border_filepath": "data/layouts/SSTidalRooms/border.bin",
+ "blockdata_filepath": "data/layouts/SSTidalRooms/map.bin"
+ },
+ {
+ "id": "LAYOUT_ISLAND_CAVE",
+ "name": "IslandCave_Layout",
+ "width": 17,
+ "height": 33,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Cave",
+ "border_filepath": "data/layouts/IslandCave/border.bin",
+ "blockdata_filepath": "data/layouts/IslandCave/map.bin"
+ },
+ {
+ "id": "LAYOUT_ANCIENT_TOMB",
+ "name": "AncientTomb_Layout",
+ "width": 17,
+ "height": 33,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Cave",
+ "border_filepath": "data/layouts/AncientTomb/border.bin",
+ "blockdata_filepath": "data/layouts/AncientTomb/map.bin"
+ },
+ {
+ "id": "LAYOUT_UNDERWATER_ROUTE134",
+ "name": "Underwater_Route134_Layout",
+ "width": 18,
+ "height": 10,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Underwater",
+ "border_filepath": "data/layouts/Underwater_Route134/border.bin",
+ "blockdata_filepath": "data/layouts/Underwater_Route134/map.bin"
+ },
+ {
+ "id": "LAYOUT_UNDERWATER_SEALED_CHAMBER",
+ "name": "Underwater_SealedChamber_Layout",
+ "width": 22,
+ "height": 48,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Underwater",
+ "border_filepath": "data/layouts/Underwater_SealedChamber/border.bin",
+ "blockdata_filepath": "data/layouts/Underwater_SealedChamber/map.bin"
+ },
+ {
+ "id": "LAYOUT_SEALED_CHAMBER_OUTER_ROOM",
+ "name": "SealedChamber_OuterRoom_Layout",
+ "width": 21,
+ "height": 23,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Cave",
+ "border_filepath": "data/layouts/SealedChamber_OuterRoom/border.bin",
+ "blockdata_filepath": "data/layouts/SealedChamber_OuterRoom/map.bin"
+ },
+ {
+ "id": "LAYOUT_VICTORY_ROAD_B1F",
+ "name": "VictoryRoad_B1F_Layout",
+ "width": 46,
+ "height": 31,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Cave",
+ "border_filepath": "data/layouts/VictoryRoad_B1F/border.bin",
+ "blockdata_filepath": "data/layouts/VictoryRoad_B1F/map.bin"
+ },
+ {
+ "id": "LAYOUT_VICTORY_ROAD_B2F",
+ "name": "VictoryRoad_B2F_Layout",
+ "width": 46,
+ "height": 31,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Cave",
+ "border_filepath": "data/layouts/VictoryRoad_B2F/border.bin",
+ "blockdata_filepath": "data/layouts/VictoryRoad_B2F/map.bin"
+ },
+ {
+ "id": "LAYOUT_ROUTE104_PROTOTYPE",
+ "name": "Route104_Prototype_Layout",
+ "width": 1,
+ "height": 1,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Rustboro",
+ "border_filepath": "data/layouts/Route104_Prototype/border.bin",
+ "blockdata_filepath": "data/layouts/Route104_Prototype/map.bin"
+ },
+ {
+ "id": "LAYOUT_GRANITE_CAVE_STEVENS_ROOM",
+ "name": "GraniteCave_StevensRoom_Layout",
+ "width": 15,
+ "height": 14,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Cave",
+ "border_filepath": "data/layouts/GraniteCave_StevensRoom/border.bin",
+ "blockdata_filepath": "data/layouts/GraniteCave_StevensRoom/map.bin"
+ },
+ {
+ "id": "LAYOUT_ABANDONED_SHIP_HIDDEN_FLOOR_CORRIDORS",
+ "name": "AbandonedShip_HiddenFloorCorridors_Layout",
+ "width": 13,
+ "height": 11,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Ship",
+ "border_filepath": "data/layouts/AbandonedShip_HiddenFloorCorridors/border.bin",
+ "blockdata_filepath": "data/layouts/AbandonedShip_HiddenFloorCorridors/map.bin"
+ },
+ {
+ "id": "LAYOUT_SOUTHERN_ISLAND_EXTERIOR",
+ "name": "SouthernIsland_Exterior_Layout",
+ "width": 33,
+ "height": 30,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Rustboro",
+ "border_filepath": "data/layouts/SouthernIsland_Exterior/border.bin",
+ "blockdata_filepath": "data/layouts/SouthernIsland_Exterior/map.bin"
+ },
+ {
+ "id": "LAYOUT_SOUTHERN_ISLAND_INTERIOR",
+ "name": "SouthernIsland_Interior_Layout",
+ "width": 27,
+ "height": 24,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Rustboro",
+ "border_filepath": "data/layouts/SouthernIsland_Interior/border.bin",
+ "blockdata_filepath": "data/layouts/SouthernIsland_Interior/map.bin"
+ },
+ {
+ "id": "LAYOUT_JAGGED_PASS",
+ "name": "JaggedPass_Layout",
+ "width": 30,
+ "height": 46,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Lavaridge",
+ "border_filepath": "data/layouts/JaggedPass/border.bin",
+ "blockdata_filepath": "data/layouts/JaggedPass/map.bin"
+ },
+ {
+ "id": "LAYOUT_FIERY_PATH",
+ "name": "FieryPath_Layout",
+ "width": 35,
+ "height": 38,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Lavaridge",
+ "border_filepath": "data/layouts/FieryPath/border.bin",
+ "blockdata_filepath": "data/layouts/FieryPath/map.bin"
+ },
+ {
+ "id": "LAYOUT_RUSTBORO_CITY_FLAT2_1F",
+ "name": "RustboroCity_Flat2_1F_Layout",
+ "width": 14,
+ "height": 9,
+ "primary_tileset": "gTileset_Building",
+ "secondary_tileset": "gTileset_GenericBuilding",
+ "border_filepath": "data/layouts/RustboroCity_Flat2_1F/border.bin",
+ "blockdata_filepath": "data/layouts/RustboroCity_Flat2_1F/map.bin"
+ },
+ {
+ "id": "LAYOUT_RUSTBORO_CITY_FLAT2_2F",
+ "name": "RustboroCity_Flat2_2F_Layout",
+ "width": 14,
+ "height": 9,
+ "primary_tileset": "gTileset_Building",
+ "secondary_tileset": "gTileset_GenericBuilding",
+ "border_filepath": "data/layouts/RustboroCity_Flat2_2F/border.bin",
+ "blockdata_filepath": "data/layouts/RustboroCity_Flat2_2F/map.bin"
+ },
+ {
+ "id": "LAYOUT_RUSTBORO_CITY_FLAT2_3F",
+ "name": "RustboroCity_Flat2_3F_Layout",
+ "width": 14,
+ "height": 9,
+ "primary_tileset": "gTileset_Building",
+ "secondary_tileset": "gTileset_GenericBuilding",
+ "border_filepath": "data/layouts/RustboroCity_Flat2_3F/border.bin",
+ "blockdata_filepath": "data/layouts/RustboroCity_Flat2_3F/map.bin"
+ },
+ {
+ "id": "LAYOUT_SOOTOPOLIS_CITY_HOUSE8",
+ "name": "SootopolisCity_House8_Layout",
+ "width": 8,
+ "height": 7,
+ "primary_tileset": "gTileset_Building",
+ "secondary_tileset": "gTileset_GenericBuilding",
+ "border_filepath": "data/layouts/SootopolisCity_House8/border.bin",
+ "blockdata_filepath": "data/layouts/SootopolisCity_House8/map.bin"
+ },
+ {
+ "id": "LAYOUT_EVER_GRANDE_CITY_HALL_OF_FAME",
+ "name": "EverGrandeCity_HallOfFame_Layout",
+ "width": 15,
+ "height": 17,
+ "primary_tileset": "gTileset_Building",
+ "secondary_tileset": "gTileset_CableClub",
+ "border_filepath": "data/layouts/EverGrandeCity_HallOfFame/border.bin",
+ "blockdata_filepath": "data/layouts/EverGrandeCity_HallOfFame/map.bin"
+ },
+ {
+ "id": "LAYOUT_LILYCOVE_CITY_COVE_LILY_MOTEL_1F",
+ "name": "LilycoveCity_CoveLilyMotel_1F_Layout",
+ "width": 12,
+ "height": 9,
+ "primary_tileset": "gTileset_Building",
+ "secondary_tileset": "gTileset_GenericBuilding",
+ "border_filepath": "data/layouts/LilycoveCity_CoveLilyMotel_1F/border.bin",
+ "blockdata_filepath": "data/layouts/LilycoveCity_CoveLilyMotel_1F/map.bin"
+ },
+ {
+ "id": "LAYOUT_LILYCOVE_CITY_COVE_LILY_MOTEL_2F",
+ "name": "LilycoveCity_CoveLilyMotel_2F_Layout",
+ "width": 12,
+ "height": 9,
+ "primary_tileset": "gTileset_Building",
+ "secondary_tileset": "gTileset_GenericBuilding",
+ "border_filepath": "data/layouts/LilycoveCity_CoveLilyMotel_2F/border.bin",
+ "blockdata_filepath": "data/layouts/LilycoveCity_CoveLilyMotel_2F/map.bin"
+ },
+ {
+ "id": "LAYOUT_ROUTE124_DIVING_TREASURE_HUNTERS_HOUSE",
+ "name": "Route124_DivingTreasureHuntersHouse_Layout",
+ "width": 10,
+ "height": 9,
+ "primary_tileset": "gTileset_Building",
+ "secondary_tileset": "gTileset_GenericBuilding",
+ "border_filepath": "data/layouts/Route124_DivingTreasureHuntersHouse/border.bin",
+ "blockdata_filepath": "data/layouts/Route124_DivingTreasureHuntersHouse/map.bin"
+ },
+ {
+ "id": "LAYOUT_MT_PYRE_EXTERIOR",
+ "name": "MtPyre_Exterior_Layout",
+ "width": 38,
+ "height": 51,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Facility",
+ "border_filepath": "data/layouts/MtPyre_Exterior/border.bin",
+ "blockdata_filepath": "data/layouts/MtPyre_Exterior/map.bin"
+ },
+ {
+ "id": "LAYOUT_MT_PYRE_SUMMIT",
+ "name": "MtPyre_Summit_Layout",
+ "width": 50,
+ "height": 37,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Facility",
+ "border_filepath": "data/layouts/MtPyre_Summit/border.bin",
+ "blockdata_filepath": "data/layouts/MtPyre_Summit/map.bin"
+ },
+ {
+ "id": "LAYOUT_SEALED_CHAMBER_INNER_ROOM",
+ "name": "SealedChamber_InnerRoom_Layout",
+ "width": 21,
+ "height": 23,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Cave",
+ "border_filepath": "data/layouts/SealedChamber_InnerRoom/border.bin",
+ "blockdata_filepath": "data/layouts/SealedChamber_InnerRoom/map.bin"
+ },
+ {
+ "id": "LAYOUT_MOSSDEEP_CITY_GAME_CORNER_1F",
+ "name": "MossdeepCity_GameCorner_1F_Layout",
+ "width": 11,
+ "height": 8,
+ "primary_tileset": "gTileset_Building",
+ "secondary_tileset": "gTileset_GenericBuilding",
+ "border_filepath": "data/layouts/MossdeepCity_GameCorner_1F/border.bin",
+ "blockdata_filepath": "data/layouts/MossdeepCity_GameCorner_1F/map.bin"
+ },
+ {
+ "id": "LAYOUT_MOSSDEEP_CITY_GAME_CORNER_B1F",
+ "name": "MossdeepCity_GameCorner_B1F_Layout",
+ "width": 12,
+ "height": 9,
+ "primary_tileset": "gTileset_Building",
+ "secondary_tileset": "gTileset_GenericBuilding",
+ "border_filepath": "data/layouts/MossdeepCity_GameCorner_B1F/border.bin",
+ "blockdata_filepath": "data/layouts/MossdeepCity_GameCorner_B1F/map.bin"
+ },
+ {
+ "id": "LAYOUT_SOOTOPOLIS_CITY_HOUSE1",
+ "name": "SootopolisCity_House1_Layout",
+ "width": 8,
+ "height": 7,
+ "primary_tileset": "gTileset_Building",
+ "secondary_tileset": "gTileset_GenericBuilding",
+ "border_filepath": "data/layouts/SootopolisCity_House1/border.bin",
+ "blockdata_filepath": "data/layouts/SootopolisCity_House1/map.bin"
+ },
+ {
+ "id": "LAYOUT_SOOTOPOLIS_CITY_HOUSE2",
+ "name": "SootopolisCity_House2_Layout",
+ "width": 8,
+ "height": 7,
+ "primary_tileset": "gTileset_Building",
+ "secondary_tileset": "gTileset_GenericBuilding",
+ "border_filepath": "data/layouts/SootopolisCity_House2/border.bin",
+ "blockdata_filepath": "data/layouts/SootopolisCity_House2/map.bin"
+ },
+ {
+ "id": "LAYOUT_SOOTOPOLIS_CITY_HOUSE3",
+ "name": "SootopolisCity_House3_Layout",
+ "width": 8,
+ "height": 7,
+ "primary_tileset": "gTileset_Building",
+ "secondary_tileset": "gTileset_GenericBuilding",
+ "border_filepath": "data/layouts/SootopolisCity_House3/border.bin",
+ "blockdata_filepath": "data/layouts/SootopolisCity_House3/map.bin"
+ },
+ {
+ "id": "LAYOUT_ABANDONED_SHIP_HIDDEN_FLOOR_ROOMS",
+ "name": "AbandonedShip_HiddenFloorRooms_Layout",
+ "width": 44,
+ "height": 15,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Ship",
+ "border_filepath": "data/layouts/AbandonedShip_HiddenFloorRooms/border.bin",
+ "blockdata_filepath": "data/layouts/AbandonedShip_HiddenFloorRooms/map.bin"
+ },
+ {
+ "id": "LAYOUT_SCORCHED_SLAB",
+ "name": "ScorchedSlab_Layout",
+ "width": 15,
+ "height": 20,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Cave",
+ "border_filepath": "data/layouts/ScorchedSlab/border.bin",
+ "blockdata_filepath": "data/layouts/ScorchedSlab/map.bin"
+ },
+ {
+ "id": "LAYOUT_UNKNOWN_MAP_082FF894",
+ "name": "UnknownMap_082FF894_Layout",
+ "width": 19,
+ "height": 19,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Cave",
+ "border_filepath": "data/layouts/UnknownMap_082FF894/border.bin",
+ "blockdata_filepath": "data/layouts/UnknownMap_082FF894/map.bin"
+ },
+ {
+ "id": "LAYOUT_RUSTBORO_CITY_FLAT1_1F",
+ "name": "RustboroCity_Flat1_1F_Layout",
+ "width": 14,
+ "height": 8,
+ "primary_tileset": "gTileset_Building",
+ "secondary_tileset": "gTileset_GenericBuilding",
+ "border_filepath": "data/layouts/RustboroCity_Flat1_1F/border.bin",
+ "blockdata_filepath": "data/layouts/RustboroCity_Flat1_1F/map.bin"
+ },
+ {
+ "id": "LAYOUT_RUSTBORO_CITY_FLAT1_2F",
+ "name": "RustboroCity_Flat1_2F_Layout",
+ "width": 14,
+ "height": 8,
+ "primary_tileset": "gTileset_Building",
+ "secondary_tileset": "gTileset_GenericBuilding",
+ "border_filepath": "data/layouts/RustboroCity_Flat1_2F/border.bin",
+ "blockdata_filepath": "data/layouts/RustboroCity_Flat1_2F/map.bin"
+ },
+ {
+ "id": "LAYOUT_EVER_GRANDE_CITY_CORRIDOR4",
+ "name": "EverGrandeCity_Corridor4_Layout",
+ "width": 11,
+ "height": 34,
+ "primary_tileset": "gTileset_Building",
+ "secondary_tileset": "gTileset_EliteFour",
+ "border_filepath": "data/layouts/EverGrandeCity_Corridor4/border.bin",
+ "blockdata_filepath": "data/layouts/EverGrandeCity_Corridor4/map.bin"
+ },
+ {
+ "id": "LAYOUT_MAGMA_HIDEOUT_1F",
+ "name": "MagmaHideout_1F_Layout",
+ "width": 28,
+ "height": 30,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Facility",
+ "border_filepath": "data/layouts/MagmaHideout_1F/border.bin",
+ "blockdata_filepath": "data/layouts/MagmaHideout_1F/map.bin"
+ },
+ {
+ "id": "LAYOUT_MAGMA_HIDEOUT_B1F",
+ "name": "MagmaHideout_B1F_Layout",
+ "width": 62,
+ "height": 24,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Facility",
+ "border_filepath": "data/layouts/MagmaHideout_B1F/border.bin",
+ "blockdata_filepath": "data/layouts/MagmaHideout_B1F/map.bin"
+ },
+ {
+ "id": "LAYOUT_MAGMA_HIDEOUT_B2F",
+ "name": "MagmaHideout_B2F_Layout",
+ "width": 34,
+ "height": 24,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Facility",
+ "border_filepath": "data/layouts/MagmaHideout_B2F/border.bin",
+ "blockdata_filepath": "data/layouts/MagmaHideout_B2F/map.bin"
+ },
+ {
+ "id": "LAYOUT_UNKNOWN_MAP_08302970",
+ "name": "UnknownMap_08302970_Layout",
+ "width": 60,
+ "height": 40,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Pacifidlog",
+ "border_filepath": "data/layouts/UnknownMap_08302970/border.bin",
+ "blockdata_filepath": "data/layouts/UnknownMap_08302970/map.bin"
+ },
+ {
+ "id": "LAYOUT_SKY_PILLAR_ENTRANCE",
+ "name": "SkyPillar_Entrance_Layout",
+ "width": 18,
+ "height": 18,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Cave",
+ "border_filepath": "data/layouts/SkyPillar_Entrance/border.bin",
+ "blockdata_filepath": "data/layouts/SkyPillar_Entrance/map.bin"
+ },
+ {
+ "id": "LAYOUT_SKY_PILLAR_OUTSIDE",
+ "name": "SkyPillar_Outside_Layout",
+ "width": 28,
+ "height": 23,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Pacifidlog",
+ "border_filepath": "data/layouts/SkyPillar_Outside/border.bin",
+ "blockdata_filepath": "data/layouts/SkyPillar_Outside/map.bin"
+ },
+ {
+ "id": "LAYOUT_SKY_PILLAR_1F",
+ "name": "SkyPillar_1F_Layout",
+ "width": 14,
+ "height": 14,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Pacifidlog",
+ "border_filepath": "data/layouts/SkyPillar_1F/border.bin",
+ "blockdata_filepath": "data/layouts/SkyPillar_1F/map.bin"
+ },
+ {
+ "id": "LAYOUT_SKY_PILLAR_2F",
+ "name": "SkyPillar_2F_Layout",
+ "width": 14,
+ "height": 14,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Pacifidlog",
+ "border_filepath": "data/layouts/SkyPillar_2F/border.bin",
+ "blockdata_filepath": "data/layouts/SkyPillar_2F/map.bin"
+ },
+ {
+ "id": "LAYOUT_SKY_PILLAR_3F",
+ "name": "SkyPillar_3F_Layout",
+ "width": 14,
+ "height": 14,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Pacifidlog",
+ "border_filepath": "data/layouts/SkyPillar_3F/border.bin",
+ "blockdata_filepath": "data/layouts/SkyPillar_3F/map.bin"
+ },
+ {
+ "id": "LAYOUT_SKY_PILLAR_4F",
+ "name": "SkyPillar_4F_Layout",
+ "width": 14,
+ "height": 14,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Pacifidlog",
+ "border_filepath": "data/layouts/SkyPillar_4F/border.bin",
+ "blockdata_filepath": "data/layouts/SkyPillar_4F/map.bin"
+ },
+ {
+ "id": "LAYOUT_UNKNOWN_MAP_083041B4",
+ "name": "UnknownMap_083041B4_Layout",
+ "width": 27,
+ "height": 46,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Cave",
+ "border_filepath": "data/layouts/UnknownMap_083041B4/border.bin",
+ "blockdata_filepath": "data/layouts/UnknownMap_083041B4/map.bin"
+ },
+ {
+ "id": "LAYOUT_MOSSDEEP_CITY_STEVENS_HOUSE",
+ "name": "MossdeepCity_StevensHouse_Layout",
+ "width": 11,
+ "height": 8,
+ "primary_tileset": "gTileset_Building",
+ "secondary_tileset": "gTileset_GenericBuilding",
+ "border_filepath": "data/layouts/MossdeepCity_StevensHouse/border.bin",
+ "blockdata_filepath": "data/layouts/MossdeepCity_StevensHouse/map.bin"
+ },
+ {
+ "id": "LAYOUT_SHOAL_CAVE_LOW_TIDE_ICE_ROOM",
+ "name": "ShoalCave_LowTideIceRoom_Layout",
+ "width": 20,
+ "height": 30,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Cave",
+ "border_filepath": "data/layouts/ShoalCave_LowTideIceRoom/border.bin",
+ "blockdata_filepath": "data/layouts/ShoalCave_LowTideIceRoom/map.bin"
+ },
+ {
+ "id": "LAYOUT_SAFARI_ZONE_REST_HOUSE",
+ "name": "SafariZone_RestHouse_Layout",
+ "width": 10,
+ "height": 9,
+ "primary_tileset": "gTileset_Building",
+ "secondary_tileset": "gTileset_GenericBuilding",
+ "border_filepath": "data/layouts/SafariZone_RestHouse/border.bin",
+ "blockdata_filepath": "data/layouts/SafariZone_RestHouse/map.bin"
+ },
+ {
+ "id": "LAYOUT_SKY_PILLAR_5F",
+ "name": "SkyPillar_5F_Layout",
+ "width": 14,
+ "height": 14,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Pacifidlog",
+ "border_filepath": "data/layouts/SkyPillar_5F/border.bin",
+ "blockdata_filepath": "data/layouts/SkyPillar_5F/map.bin"
+ },
+ {
+ "id": "LAYOUT_SKY_PILLAR_TOP",
+ "name": "SkyPillar_Top_Layout",
+ "width": 27,
+ "height": 24,
+ "primary_tileset": "gTileset_General",
+ "secondary_tileset": "gTileset_Pacifidlog",
+ "border_filepath": "data/layouts/SkyPillar_Top/border.bin",
+ "blockdata_filepath": "data/layouts/SkyPillar_Top/map.bin"
+ }
+ ]
+} \ No newline at end of file
diff --git a/data/layouts_table.inc b/data/layouts_table.inc
deleted file mode 100644
index cda6e5423..000000000
--- a/data/layouts_table.inc
+++ /dev/null
@@ -1,334 +0,0 @@
- .align 2
-gMapLayouts:: @ 8304F18
- .4byte PetalburgCity_Layout
- .4byte SlateportCity_Layout
- .4byte MauvilleCity_Layout
- .4byte RustboroCity_Layout
- .4byte FortreeCity_Layout
- .4byte LilycoveCity_Layout
- .4byte MossdeepCity_Layout
- .4byte SootopolisCity_Layout
- .4byte EverGrandeCity_Layout
- .4byte LittlerootTown_Layout
- .4byte OldaleTown_Layout
- .4byte DewfordTown_Layout
- .4byte LavaridgeTown_Layout
- .4byte FallarborTown_Layout
- .4byte VerdanturfTown_Layout
- .4byte PacifidlogTown_Layout
- .4byte Route101_Layout
- .4byte Route102_Layout
- .4byte Route103_Layout
- .4byte Route104_Layout
- .4byte Route105_Layout
- .4byte Route106_Layout
- .4byte Route107_Layout
- .4byte Route108_Layout
- .4byte Route109_Layout
- .4byte Route110_Layout
- .4byte Route111_Layout
- .4byte Route112_Layout
- .4byte Route113_Layout
- .4byte Route114_Layout
- .4byte Route115_Layout
- .4byte Route116_Layout
- .4byte Route117_Layout
- .4byte Route118_Layout
- .4byte Route119_Layout
- .4byte Route120_Layout
- .4byte Route121_Layout
- .4byte Route122_Layout
- .4byte Route123_Layout
- .4byte Route124_Layout
- .4byte Route125_Layout
- .4byte Route126_Layout
- .4byte Route127_Layout
- .4byte Route128_Layout
- .4byte Route129_Layout
- .4byte UnreferencedMap_Layout
- .4byte Route131_Layout
- .4byte Route132_Layout
- .4byte Route133_Layout
- .4byte Route134_Layout
- .4byte Underwater2_Layout
- .4byte Underwater3_Layout
- .4byte Underwater4_Layout
- .4byte LittlerootTown_BrendansHouse_1F_Layout
- .4byte LittlerootTown_BrendansHouse_2F_Layout
- .4byte LittlerootTown_MaysHouse_1F_Layout
- .4byte LittlerootTown_MaysHouse_2F_Layout
- .4byte LittlerootTown_ProfessorBirchsLab_Layout
- .4byte House1_Layout
- .4byte House2_Layout
- .4byte PokemonCenter_1F_Layout
- .4byte PokemonCenter_2F_Layout
- .4byte PokeMart_Layout
- .4byte House3_Layout
- .4byte DewfordTown_Gym_Layout
- .4byte DewfordTown_Hall_Layout
- .4byte House4_Layout
- .4byte LavaridgeTown_HerbShop_Layout
- .4byte LavaridgeTown_Gym_1F_Layout
- .4byte LavaridgeTown_Gym_B1F_Layout
- .4byte LavaridgeTown_PokemonCenter_1F_Layout
- .4byte ContestLobby_Layout
- .4byte ContestHall_Layout
- .4byte LilycoveCity_House2_Layout
- .4byte UnknownMap_082CF564_Layout
- .4byte VerdanturfTown_WandasHouse_Layout
- .4byte PacifidlogTown_House1_Layout
- .4byte PacifidlogTown_House2_Layout
- .4byte PetalburgCity_Gym_Layout
- .4byte HouseWithBed_Layout
- .4byte SlateportCity_SternsShipyard_1F_Layout
- .4byte SlateportCity_SternsShipyard_2F_Layout
- .4byte UnknownMap_082D05D8_Layout
- .4byte UnknownMap_082D05FC_Layout
- .4byte SlateportCity_PokemonFanClub_Layout
- .4byte SlateportCity_OceanicMuseum_1F_Layout
- .4byte SlateportCity_OceanicMuseum_2F_Layout
- .4byte Harbor_Layout
- .4byte MauvilleCity_Gym_Layout
- .4byte MauvilleCity_BikeShop_Layout
- .4byte MauvilleCity_GameCorner_Layout
- .4byte RustboroCity_DevonCorp_1F_Layout
- .4byte RustboroCity_DevonCorp_2F_Layout
- .4byte RustboroCity_Gym_Layout
- .4byte RustboroCity_PokemonSchool_Layout
- .4byte RustboroCity_House_Layout
- .4byte RustboroCity_House1_Layout
- .4byte RustboroCity_CuttersHouse_Layout
- .4byte FortreeCity_House1_Layout
- .4byte FortreeCity_Gym_Layout
- .4byte FortreeCity_House2_Layout
- .4byte Route104_MrBrineysHouse_Layout
- .4byte LilycoveCity_LilycoveMuseum_1F_Layout
- .4byte LilycoveCity_LilycoveMuseum_2F_Layout
- .4byte LilycoveCity_ContestLobby_Layout
- .4byte LilycoveCity_ContestHall_Layout
- .4byte LilycoveCity_PokemonTrainerFanClub_Layout
- .4byte LilycoveCity_EmptyMap_Layout
- .4byte MossdeepCity_Gym_Layout
- .4byte SootopolisCity_Gym_1F_Layout
- .4byte SootopolisCity_Gym_B1F_Layout
- .4byte EverGrandeCity_SidneysRoom_Layout
- .4byte EverGrandeCity_PhoebesRoom_Layout
- .4byte EverGrandeCity_GlaciasRoom_Layout
- .4byte EverGrandeCity_DrakesRoom_Layout
- .4byte EverGrandeCity_ChampionsRoom_Layout
- .4byte EverGrandeCity_ShortCorridor_Layout
- .4byte Route104_PrettyPetalFlowerShop_Layout
- .4byte CableCarStation_Layout
- .4byte Route114_FossilManiacsHouse_Layout
- .4byte Route114_FossilManiacsTunnel_Layout
- .4byte Route114_LanettesHouse_Layout
- .4byte Route116_TunnelersRestHouse_Layout
- .4byte Route117_PokemonDayCare_Layout
- .4byte Route121_SafariZoneEntrance_Layout
- .4byte MeteorFalls_1F_1R_Layout
- .4byte MeteorFalls_1F_2R_Layout
- .4byte MeteorFalls_B1F_1R_Layout
- .4byte MeteorFalls_B1F_2R_Layout
- .4byte RusturfTunnel_Layout
- .4byte Underwater_SootopolisCity_Layout
- .4byte DesertRuins_Layout
- .4byte GraniteCave_1F_Layout
- .4byte GraniteCave_B1F_Layout
- .4byte GraniteCave_B2F_Layout
- .4byte PetalburgWoods_Layout
- .4byte MtChimney_Layout
- .4byte MtPyre_1F_Layout
- .4byte MtPyre_2F_Layout
- .4byte MtPyre_3F_Layout
- .4byte MtPyre_4F_Layout
- .4byte MtPyre_5F_Layout
- .4byte MtPyre_6F_Layout
- .4byte AquaHideout_1F_Layout
- .4byte AquaHideout_B1F_Layout
- .4byte AquaHideout_B2F_Layout
- .4byte Underwater_SeafloorCavern_Layout
- .4byte SeafloorCavern_Entrance_Layout
- .4byte SeafloorCavern_Room1_Layout
- .4byte SeafloorCavern_Room2_Layout
- .4byte SeafloorCavern_Room3_Layout
- .4byte SeafloorCavern_Room4_Layout
- .4byte SeafloorCavern_Room5_Layout
- .4byte SeafloorCavern_Room6_Layout
- .4byte SeafloorCavern_Room7_Layout
- .4byte SeafloorCavern_Room8_Layout
- .4byte SeafloorCavern_Room9_Layout
- .4byte CaveOfOrigin_Entrance_Layout
- .4byte CaveOfOrigin_1F_Layout
- .4byte CaveOfOrigin_B1F_Layout
- .4byte CaveOfOrigin_B2F_Layout
- .4byte CaveOfOrigin_B3F_Layout
- .4byte CaveOfOrigin_B4F_Layout
- .4byte VictoryRoad_1F_Layout
- .4byte ShoalCave_LowTideEntranceRoom_Layout
- .4byte ShoalCave_LowTideInnerRoom_Layout
- .4byte ShoalCave_LowTideStairsRoom_Layout
- .4byte ShoalCave_LowTideLowerRoom_Layout
- .4byte ShoalCave_HighTideEntranceRoom_Layout
- .4byte ShoalCave_HighTideInnerRoom_Layout
- .4byte UnknownMap_082E55C8_Layout @ unused maps
- .4byte UnknownMap_082E55EC_Layout
- .4byte UnknownMap_082E5610_Layout
- .4byte UnknownMap_082E5634_Layout
- .4byte UnknownMap_082E5658_Layout
- .4byte UnknownMap_082E567C_Layout
- .4byte UnknownMap_082E56A0_Layout
- .4byte UnknownMap_082E56C4_Layout
- .4byte UnknownMap_082E56E8_Layout
- .4byte UnknownMap_082E570C_Layout
- .4byte UnknownMap_082E5730_Layout
- .4byte UnknownMap_082E5754_Layout
- .4byte UnknownMap_082E5778_Layout
- .4byte UnknownMap_082E579C_Layout
- .4byte NewMauville_Entrance_Layout
- .4byte NewMauville_Inside_Layout
- .4byte AbandonedShip_Deck_Layout
- .4byte AbandonedShip_Corridors_1F_Layout
- .4byte AbandonedShip_Rooms_1F_Layout
- .4byte AbandonedShip_Corridors_B1F_Layout
- .4byte AbandonedShip_Rooms_B1F_Layout
- .4byte AbandonedShip_Rooms2_B1F_Layout
- .4byte AbandonedShip_Underwater1_Layout
- .4byte AbandonedShip_Room_B1F_Layout
- .4byte AbandonedShip_Rooms2_1F_Layout
- .4byte AbandonedShip_CaptainsOffice_Layout
- .4byte AbandonedShip_Underwater2_Layout
- .4byte SecretBase_RedCave1_Layout
- .4byte SecretBase_BrownCave1_Layout
- .4byte SecretBase_BlueCave1_Layout
- .4byte SecretBase_YellowCave1_Layout
- .4byte SecretBase_Tree1_Layout
- .4byte SecretBase_Shrub1_Layout
- .4byte SecretBase_RedCave2_Layout
- .4byte SecretBase_BrownCave2_Layout
- .4byte SecretBase_BlueCave2_Layout
- .4byte SecretBase_YellowCave2_Layout
- .4byte SecretBase_Tree2_Layout
- .4byte SecretBase_Shrub2_Layout
- .4byte SecretBase_RedCave3_Layout
- .4byte SecretBase_BrownCave3_Layout
- .4byte SecretBase_BlueCave3_Layout
- .4byte SecretBase_YellowCave3_Layout
- .4byte SecretBase_Tree3_Layout
- .4byte SecretBase_Shrub3_Layout
- .4byte SecretBase_RedCave4_Layout
- .4byte SecretBase_BrownCave4_Layout
- .4byte SecretBase_BlueCave4_Layout
- .4byte SecretBase_YellowCave4_Layout
- .4byte SecretBase_Tree4_Layout
- .4byte SecretBase_Shrub4_Layout
- .4byte SingleBattleColosseum_Layout
- .4byte TradeCenter_Layout
- .4byte RecordCorner_Layout
- .4byte DoubleBattleColosseum_Layout
- .4byte LinkContestRoom1_Layout
- .4byte UnknownMap_25_29_Layout
- .4byte UnknownMap_25_30_Layout
- .4byte UnknownMap_25_31_Layout
- .4byte UnknownMap_25_32_Layout
- .4byte UnknownMap_25_33_Layout
- .4byte UnknownMap_25_34_Layout
- .4byte LinkContestRoom2_Layout
- .4byte LinkContestRoom3_Layout
- .4byte LinkContestRoom4_Layout
- .4byte LinkContestRoom5_Layout
- .4byte LinkContestRoom6_Layout
- .4byte InsideOfTruck_Layout
- .4byte SafariZone_Northwest_Layout
- .4byte SafariZone_Northeast_Layout
- .4byte SafariZone_Southwest_Layout
- .4byte SafariZone_Southeast_Layout
- .4byte UnknownMap_082EDF30_Layout
- .4byte Route109_SeashoreHouse_Layout
- .4byte Route110_TrickHouseEntrance_Layout
- .4byte Route110_TrickHouseEnd_Layout
- .4byte Route110_TrickHouseCorridor_Layout
- .4byte Route110_TrickHousePuzzle1_Layout
- .4byte Route110_TrickHousePuzzle2_Layout
- .4byte Route110_TrickHousePuzzle3_Layout
- .4byte Route110_TrickHousePuzzle4_Layout
- .4byte Route110_TrickHousePuzzle5_Layout
- .4byte Route110_TrickHousePuzzle6_Layout
- .4byte Route110_TrickHousePuzzle7_Layout
- .4byte Route110_TrickHousePuzzle8_Layout
- .4byte FortreeCity_DecorationShop_Layout
- .4byte Route110_SeasideCyclingRoadEntrace_Layout
- .4byte LilycoveCity_DepartmentStore_1F_Layout
- .4byte LilycoveCity_DepartmentStore_2F_Layout
- .4byte LilycoveCity_DepartmentStore_3F_Layout
- .4byte LilycoveCity_DepartmentStore_4F_Layout
- .4byte LilycoveCity_DepartmentStore_5F_Layout
- .4byte LilycoveCity_DepartmentStoreRooftop_Layout
- .4byte Route130_Layout
- .4byte BattleTower_Lobby_Layout
- .4byte BattleTower_Outside_Layout
- .4byte BattleTower_Elevator_Layout
- .4byte BattleTower_Corridor_Layout
- .4byte BattleTower_BattleRoom_Layout
- .4byte RustboroCity_DevonCorp_3F_Layout
- .4byte EverGrandeCity_PokemonLeague_Layout
- .4byte Route119_WeatherInstitute_1F_Layout
- .4byte Route119_WeatherInstitute_2F_Layout
- .4byte LilycoveCity_DepartmentStoreElevator_Layout
- .4byte Underwater1_Layout
- .4byte MossdeepCity_SpaceCenter_1F_Layout
- .4byte MossdeepCity_SpaceCenter_2F_Layout
- .4byte SSTidalCorridor_Layout
- .4byte SSTidalLowerDeck_Layout
- .4byte SSTidalRooms_Layout
- .4byte IslandCave_Layout
- .4byte AncientTomb_Layout
- .4byte Underwater_Route134_Layout
- .4byte Underwater_SealedChamber_Layout
- .4byte SealedChamber_OuterRoom_Layout
- .4byte VictoryRoad_B1F_Layout
- .4byte VictoryRoad_B2F_Layout
- .4byte Route104_Prototype_Layout
- .4byte GraniteCave_StevensRoom_Layout
- .4byte AbandonedShip_HiddenFloorCorridors_Layout
- .4byte SouthernIsland_Exterior_Layout
- .4byte SouthernIsland_Interior_Layout
- .4byte JaggedPass_Layout
- .4byte FieryPath_Layout
- .4byte RustboroCity_Flat2_1F_Layout
- .4byte RustboroCity_Flat2_2F_Layout
- .4byte RustboroCity_Flat2_3F_Layout
- .4byte SootopolisCity_House8_Layout
- .4byte EverGrandeCity_HallOfFame_Layout
- .4byte LilycoveCity_CoveLilyMotel_1F_Layout
- .4byte LilycoveCity_CoveLilyMotel_2F_Layout
- .4byte Route124_DivingTreasureHuntersHouse_Layout
- .4byte MtPyre_Exterior_Layout
- .4byte MtPyre_Summit_Layout
- .4byte SealedChamber_InnerRoom_Layout
- .4byte MossdeepCity_GameCorner_1F_Layout
- .4byte MossdeepCity_GameCorner_B1F_Layout
- .4byte SootopolisCity_House1_Layout
- .4byte SootopolisCity_House2_Layout
- .4byte SootopolisCity_House3_Layout
- .4byte AbandonedShip_HiddenFloorRooms_Layout
- .4byte ScorchedSlab_Layout
- .4byte UnknownMap_082FF894_Layout
- .4byte RustboroCity_Flat1_1F_Layout
- .4byte RustboroCity_Flat1_2F_Layout
- .4byte EverGrandeCity_Corridor4_Layout
- .4byte MagmaHideout_1F_Layout
- .4byte MagmaHideout_B1F_Layout
- .4byte MagmaHideout_B2F_Layout
- .4byte UnknownMap_08302970_Layout
- .4byte SkyPillar_Entrance_Layout
- .4byte SkyPillar_Outside_Layout
- .4byte SkyPillar_1F_Layout
- .4byte SkyPillar_2F_Layout
- .4byte SkyPillar_3F_Layout
- .4byte SkyPillar_4F_Layout
- .4byte UnknownMap_083041B4_Layout
- .4byte MossdeepCity_StevensHouse_Layout
- .4byte ShoalCave_LowTideIceRoom_Layout
- .4byte SafariZone_RestHouse_Layout
- .4byte SkyPillar_5F_Layout
- .4byte SkyPillar_Top_Layout
diff --git a/data/map_events.s b/data/map_events.s
index 27ff67eb5..57423f91b 100644
--- a/data/map_events.s
+++ b/data/map_events.s
@@ -13,397 +13,4 @@
.section .rodata
- .include "data/maps/PetalburgCity/events.inc"
- .include "data/maps/SlateportCity/events.inc"
- .include "data/maps/MauvilleCity/events.inc"
- .include "data/maps/RustboroCity/events.inc"
- .include "data/maps/FortreeCity/events.inc"
- .include "data/maps/LilycoveCity/events.inc"
- .include "data/maps/MossdeepCity/events.inc"
- .include "data/maps/SootopolisCity/events.inc"
- .include "data/maps/EverGrandeCity/events.inc"
- .include "data/maps/LittlerootTown/events.inc"
- .include "data/maps/OldaleTown/events.inc"
- .include "data/maps/DewfordTown/events.inc"
- .include "data/maps/LavaridgeTown/events.inc"
- .include "data/maps/FallarborTown/events.inc"
- .include "data/maps/VerdanturfTown/events.inc"
- .include "data/maps/PacifidlogTown/events.inc"
- .include "data/maps/Route101/events.inc"
- .include "data/maps/Route102/events.inc"
- .include "data/maps/Route103/events.inc"
- .include "data/maps/Route104/events.inc"
- .include "data/maps/Route105/events.inc"
- .include "data/maps/Route106/events.inc"
- .include "data/maps/Route107/events.inc"
- .include "data/maps/Route108/events.inc"
- .include "data/maps/Route109/events.inc"
- .include "data/maps/Route110/events.inc"
- .include "data/maps/Route111/events.inc"
- .include "data/maps/Route112/events.inc"
- .include "data/maps/Route113/events.inc"
- .include "data/maps/Route114/events.inc"
- .include "data/maps/Route115/events.inc"
- .include "data/maps/Route116/events.inc"
- .include "data/maps/Route117/events.inc"
- .include "data/maps/Route118/events.inc"
- .include "data/maps/Route119/events.inc"
- .include "data/maps/Route120/events.inc"
- .include "data/maps/Route121/events.inc"
- .include "data/maps/Route122/events.inc"
- .include "data/maps/Route123/events.inc"
- .include "data/maps/Route124/events.inc"
- .include "data/maps/Route125/events.inc"
- .include "data/maps/Route126/events.inc"
- .include "data/maps/Route127/events.inc"
- .include "data/maps/Route128/events.inc"
- .include "data/maps/Route129/events.inc"
- .include "data/maps/Route130/events.inc"
- .include "data/maps/Route131/events.inc"
- .include "data/maps/Route132/events.inc"
- .include "data/maps/Route133/events.inc"
- .include "data/maps/Route134/events.inc"
- .include "data/maps/Underwater1/events.inc"
- .include "data/maps/Underwater2/events.inc"
- .include "data/maps/Underwater3/events.inc"
- .include "data/maps/Underwater4/events.inc"
- .include "data/maps/LittlerootTown_BrendansHouse_1F/events.inc"
- .include "data/maps/LittlerootTown_BrendansHouse_2F/events.inc"
- .include "data/maps/LittlerootTown_MaysHouse_1F/events.inc"
- .include "data/maps/LittlerootTown_MaysHouse_2F/events.inc"
- .include "data/maps/LittlerootTown_ProfessorBirchsLab/events.inc"
- .include "data/maps/OldaleTown_House1/events.inc"
- .include "data/maps/OldaleTown_House2/events.inc"
- .include "data/maps/OldaleTown_PokemonCenter_1F/events.inc"
- .include "data/maps/OldaleTown_PokemonCenter_2F/events.inc"
- .include "data/maps/OldaleTown_Mart/events.inc"
- .include "data/maps/DewfordTown_House1/events.inc"
- .include "data/maps/DewfordTown_PokemonCenter_1F/events.inc"
- .include "data/maps/DewfordTown_PokemonCenter_2F/events.inc"
- .include "data/maps/DewfordTown_Gym/events.inc"
- .include "data/maps/DewfordTown_Hall/events.inc"
- .include "data/maps/DewfordTown_House2/events.inc"
- .include "data/maps/LavaridgeTown_HerbShop/events.inc"
- .include "data/maps/LavaridgeTown_Gym_1F/events.inc"
- .include "data/maps/LavaridgeTown_Gym_B1F/events.inc"
- .include "data/maps/LavaridgeTown_House/events.inc"
- .include "data/maps/LavaridgeTown_Mart/events.inc"
- .include "data/maps/LavaridgeTown_PokemonCenter_1F/events.inc"
- .include "data/maps/LavaridgeTown_PokemonCenter_2F/events.inc"
- .include "data/maps/FallarborTown_Mart/events.inc"
- .include "data/maps/FallarborTown_ContestLobby/events.inc"
- .include "data/maps/FallarborTown_ContestHall/events.inc"
- .include "data/maps/FallarborTown_PokemonCenter_1F/events.inc"
- .include "data/maps/FallarborTown_PokemonCenter_2F/events.inc"
- .include "data/maps/FallarborTown_House1/events.inc"
- .include "data/maps/FallarborTown_House2/events.inc"
- .include "data/maps/VerdanturfTown_ContestLobby/events.inc"
- .include "data/maps/VerdanturfTown_ContestHall/events.inc"
- .include "data/maps/VerdanturfTown_Mart/events.inc"
- .include "data/maps/VerdanturfTown_PokemonCenter_1F/events.inc"
- .include "data/maps/VerdanturfTown_PokemonCenter_2F/events.inc"
- .include "data/maps/VerdanturfTown_WandasHouse/events.inc"
- .include "data/maps/VerdanturfTown_FriendshipRatersHouse/events.inc"
- .include "data/maps/VerdanturfTown_House/events.inc"
- .include "data/maps/PacifidlogTown_PokemonCenter_1F/events.inc"
- .include "data/maps/PacifidlogTown_PokemonCenter_2F/events.inc"
- .include "data/maps/PacifidlogTown_House1/events.inc"
- .include "data/maps/PacifidlogTown_House2/events.inc"
- .include "data/maps/PacifidlogTown_House3/events.inc"
- .include "data/maps/PacifidlogTown_House4/events.inc"
- .include "data/maps/PacifidlogTown_House5/events.inc"
- .include "data/maps/PetalburgCity_WallysHouse/events.inc"
- .include "data/maps/PetalburgCity_Gym/events.inc"
- .include "data/maps/PetalburgCity_House1/events.inc"
- .include "data/maps/PetalburgCity_House2/events.inc"
- .include "data/maps/PetalburgCity_PokemonCenter_1F/events.inc"
- .include "data/maps/PetalburgCity_PokemonCenter_2F/events.inc"
- .include "data/maps/PetalburgCity_Mart/events.inc"
- .include "data/maps/SlateportCity_SternsShipyard_1F/events.inc"
- .include "data/maps/SlateportCity_SternsShipyard_2F/events.inc"
- .include "data/maps/SlateportCity_ContestLobby/events.inc"
- .include "data/maps/SlateportCity_ContestHall/events.inc"
- .include "data/maps/SlateportCity_House1/events.inc"
- .include "data/maps/SlateportCity_PokemonFanClub/events.inc"
- .include "data/maps/SlateportCity_OceanicMuseum_1F/events.inc"
- .include "data/maps/SlateportCity_OceanicMuseum_2F/events.inc"
- .include "data/maps/SlateportCity_Harbor/events.inc"
- .include "data/maps/SlateportCity_House2/events.inc"
- .include "data/maps/SlateportCity_PokemonCenter_1F/events.inc"
- .include "data/maps/SlateportCity_PokemonCenter_2F/events.inc"
- .include "data/maps/SlateportCity_Mart/events.inc"
- .include "data/maps/MauvilleCity_Gym/events.inc"
- .include "data/maps/MauvilleCity_BikeShop/events.inc"
- .include "data/maps/MauvilleCity_House1/events.inc"
- .include "data/maps/MauvilleCity_GameCorner/events.inc"
- .include "data/maps/MauvilleCity_House2/events.inc"
- .include "data/maps/MauvilleCity_PokemonCenter_1F/events.inc"
- .include "data/maps/MauvilleCity_PokemonCenter_2F/events.inc"
- .include "data/maps/MauvilleCity_Mart/events.inc"
- .include "data/maps/RustboroCity_DevonCorp_1F/events.inc"
- .include "data/maps/RustboroCity_DevonCorp_2F/events.inc"
- .include "data/maps/RustboroCity_DevonCorp_3F/events.inc"
- .include "data/maps/RustboroCity_Gym/events.inc"
- .include "data/maps/RustboroCity_PokemonSchool/events.inc"
- .include "data/maps/RustboroCity_PokemonCenter_1F/events.inc"
- .include "data/maps/RustboroCity_PokemonCenter_2F/events.inc"
- .include "data/maps/RustboroCity_Mart/events.inc"
- .include "data/maps/RustboroCity_Flat1_1F/events.inc"
- .include "data/maps/RustboroCity_Flat1_2F/events.inc"
- .include "data/maps/RustboroCity_House1/events.inc"
- .include "data/maps/RustboroCity_CuttersHouse/events.inc"
- .include "data/maps/RustboroCity_House2/events.inc"
- .include "data/maps/RustboroCity_Flat2_1F/events.inc"
- .include "data/maps/RustboroCity_Flat2_2F/events.inc"
- .include "data/maps/RustboroCity_Flat2_3F/events.inc"
- .include "data/maps/RustboroCity_House3/events.inc"
- .include "data/maps/FortreeCity_House1/events.inc"
- .include "data/maps/FortreeCity_Gym/events.inc"
- .include "data/maps/FortreeCity_PokemonCenter_1F/events.inc"
- .include "data/maps/FortreeCity_PokemonCenter_2F/events.inc"
- .include "data/maps/FortreeCity_Mart/events.inc"
- .include "data/maps/FortreeCity_House2/events.inc"
- .include "data/maps/FortreeCity_House3/events.inc"
- .include "data/maps/FortreeCity_House4/events.inc"
- .include "data/maps/FortreeCity_House5/events.inc"
- .include "data/maps/FortreeCity_DecorationShop/events.inc"
- .include "data/maps/LilycoveCity_CoveLilyMotel_1F/events.inc"
- .include "data/maps/LilycoveCity_CoveLilyMotel_2F/events.inc"
- .include "data/maps/LilycoveCity_LilycoveMuseum_1F/events.inc"
- .include "data/maps/LilycoveCity_LilycoveMuseum_2F/events.inc"
- .include "data/maps/LilycoveCity_ContestLobby/events.inc"
- .include "data/maps/LilycoveCity_ContestHall/events.inc"
- .include "data/maps/LilycoveCity_PokemonCenter_1F/events.inc"
- .include "data/maps/LilycoveCity_PokemonCenter_2F/events.inc"
- .include "data/maps/LilycoveCity_UnusedMart/events.inc"
- .include "data/maps/LilycoveCity_PokemonTrainerFanClub/events.inc"
- .include "data/maps/LilycoveCity_Harbor/events.inc"
- .include "data/maps/LilycoveCity_EmptyMap/events.inc"
- .include "data/maps/LilycoveCity_MoveDeletersHouse/events.inc"
- .include "data/maps/LilycoveCity_House1/events.inc"
- .include "data/maps/LilycoveCity_House2/events.inc"
- .include "data/maps/LilycoveCity_House3/events.inc"
- .include "data/maps/LilycoveCity_House4/events.inc"
- .include "data/maps/LilycoveCity_DepartmentStore_1F/events.inc"
- .include "data/maps/LilycoveCity_DepartmentStore_2F/events.inc"
- .include "data/maps/LilycoveCity_DepartmentStore_3F/events.inc"
- .include "data/maps/LilycoveCity_DepartmentStore_4F/events.inc"
- .include "data/maps/LilycoveCity_DepartmentStore_5F/events.inc"
- .include "data/maps/LilycoveCity_DepartmentStoreRooftop/events.inc"
- .include "data/maps/LilycoveCity_DepartmentStoreElevator/events.inc"
- .include "data/maps/MossdeepCity_Gym/events.inc"
- .include "data/maps/MossdeepCity_House1/events.inc"
- .include "data/maps/MossdeepCity_House2/events.inc"
- .include "data/maps/MossdeepCity_PokemonCenter_1F/events.inc"
- .include "data/maps/MossdeepCity_PokemonCenter_2F/events.inc"
- .include "data/maps/MossdeepCity_Mart/events.inc"
- .include "data/maps/MossdeepCity_House3/events.inc"
- .include "data/maps/MossdeepCity_StevensHouse/events.inc"
- .include "data/maps/MossdeepCity_House4/events.inc"
- .include "data/maps/MossdeepCity_SpaceCenter_1F/events.inc"
- .include "data/maps/MossdeepCity_SpaceCenter_2F/events.inc"
- .include "data/maps/MossdeepCity_GameCorner_1F/events.inc"
- .include "data/maps/MossdeepCity_GameCorner_B1F/events.inc"
- .include "data/maps/SootopolisCity_Gym_1F/events.inc"
- .include "data/maps/SootopolisCity_Gym_B1F/events.inc"
- .include "data/maps/SootopolisCity_PokemonCenter_1F/events.inc"
- .include "data/maps/SootopolisCity_PokemonCenter_2F/events.inc"
- .include "data/maps/SootopolisCity_Mart/events.inc"
- .include "data/maps/SootopolisCity_House1/events.inc"
- .include "data/maps/SootopolisCity_House2/events.inc"
- .include "data/maps/SootopolisCity_House3/events.inc"
- .include "data/maps/SootopolisCity_House4/events.inc"
- .include "data/maps/SootopolisCity_House5/events.inc"
- .include "data/maps/SootopolisCity_House6/events.inc"
- .include "data/maps/SootopolisCity_House7/events.inc"
- .include "data/maps/SootopolisCity_House8/events.inc"
- .include "data/maps/EverGrandeCity_SidneysRoom/events.inc"
- .include "data/maps/EverGrandeCity_PhoebesRoom/events.inc"
- .include "data/maps/EverGrandeCity_GlaciasRoom/events.inc"
- .include "data/maps/EverGrandeCity_DrakesRoom/events.inc"
- .include "data/maps/EverGrandeCity_ChampionsRoom/events.inc"
- .include "data/maps/EverGrandeCity_Corridor1/events.inc"
- .include "data/maps/EverGrandeCity_Corridor2/events.inc"
- .include "data/maps/EverGrandeCity_Corridor3/events.inc"
- .include "data/maps/EverGrandeCity_Corridor4/events.inc"
- .include "data/maps/EverGrandeCity_Corridor5/events.inc"
- .include "data/maps/EverGrandeCity_PokemonLeague/events.inc"
- .include "data/maps/EverGrandeCity_HallOfFame/events.inc"
- .include "data/maps/EverGrandeCity_PokemonCenter_1F/events.inc"
- .include "data/maps/EverGrandeCity_PokemonCenter_2F/events.inc"
- .include "data/maps/Route104_MrBrineysHouse/events.inc"
- .include "data/maps/Route104_PrettyPetalFlowerShop/events.inc"
- .include "data/maps/Route111_WinstrateFamilysHouse/events.inc"
- .include "data/maps/Route111_OldLadysRestStop/events.inc"
- .include "data/maps/Route112_CableCarStation/events.inc"
- .include "data/maps/MtChimney_CableCarStation/events.inc"
- .include "data/maps/Route114_FossilManiacsHouse/events.inc"
- .include "data/maps/Route114_FossilManiacsTunnel/events.inc"
- .include "data/maps/Route114_LanettesHouse/events.inc"
- .include "data/maps/Route116_TunnelersRestHouse/events.inc"
- .include "data/maps/Route117_PokemonDayCare/events.inc"
- .include "data/maps/Route121_SafariZoneEntrance/events.inc"
- .include "data/maps/MeteorFalls_1F_1R/events.inc"
- .include "data/maps/MeteorFalls_1F_2R/events.inc"
- .include "data/maps/MeteorFalls_B1F_1R/events.inc"
- .include "data/maps/MeteorFalls_B1F_2R/events.inc"
- .include "data/maps/RusturfTunnel/events.inc"
- .include "data/maps/Underwater_SootopolisCity/events.inc"
- .include "data/maps/DesertRuins/events.inc"
- .include "data/maps/GraniteCave_1F/events.inc"
- .include "data/maps/GraniteCave_B1F/events.inc"
- .include "data/maps/GraniteCave_B2F/events.inc"
- .include "data/maps/GraniteCave_StevensRoom/events.inc"
- .include "data/maps/PetalburgWoods/events.inc"
- .include "data/maps/MtChimney/events.inc"
- .include "data/maps/JaggedPass/events.inc"
- .include "data/maps/FieryPath/events.inc"
- .include "data/maps/MtPyre_1F/events.inc"
- .include "data/maps/MtPyre_2F/events.inc"
- .include "data/maps/MtPyre_3F/events.inc"
- .include "data/maps/MtPyre_4F/events.inc"
- .include "data/maps/MtPyre_5F/events.inc"
- .include "data/maps/MtPyre_6F/events.inc"
- .include "data/maps/MtPyre_Exterior/events.inc"
- .include "data/maps/MtPyre_Summit/events.inc"
- .include "data/maps/AquaHideout_1F/events.inc"
- .include "data/maps/AquaHideout_B1F/events.inc"
- .include "data/maps/AquaHideout_B2F/events.inc"
- .include "data/maps/Underwater_SeafloorCavern/events.inc"
- .include "data/maps/SeafloorCavern_Entrance/events.inc"
- .include "data/maps/SeafloorCavern_Room1/events.inc"
- .include "data/maps/SeafloorCavern_Room2/events.inc"
- .include "data/maps/SeafloorCavern_Room3/events.inc"
- .include "data/maps/SeafloorCavern_Room4/events.inc"
- .include "data/maps/SeafloorCavern_Room5/events.inc"
- .include "data/maps/SeafloorCavern_Room6/events.inc"
- .include "data/maps/SeafloorCavern_Room7/events.inc"
- .include "data/maps/SeafloorCavern_Room8/events.inc"
- .include "data/maps/SeafloorCavern_Room9/events.inc"
- .include "data/maps/CaveOfOrigin_Entrance/events.inc"
- .include "data/maps/CaveOfOrigin_1F/events.inc"
- .include "data/maps/CaveOfOrigin_B1F/events.inc"
- .include "data/maps/CaveOfOrigin_B2F/events.inc"
- .include "data/maps/CaveOfOrigin_B3F/events.inc"
- .include "data/maps/CaveOfOrigin_B4F/events.inc"
- .include "data/maps/VictoryRoad_1F/events.inc"
- .include "data/maps/VictoryRoad_B1F/events.inc"
- .include "data/maps/VictoryRoad_B2F/events.inc"
- .include "data/maps/ShoalCave_LowTideEntranceRoom/events.inc"
- .include "data/maps/ShoalCave_LowTideInnerRoom/events.inc"
- .include "data/maps/ShoalCave_LowTideStairsRoom/events.inc"
- .include "data/maps/ShoalCave_LowTideLowerRoom/events.inc"
- .include "data/maps/ShoalCave_HighTideEntranceRoom/events.inc"
- .include "data/maps/ShoalCave_HighTideInnerRoom/events.inc"
- .include "data/maps/NewMauville_Entrance/events.inc"
- .include "data/maps/NewMauville_Inside/events.inc"
- .include "data/maps/AbandonedShip_Deck/events.inc"
- .include "data/maps/AbandonedShip_Corridors_1F/events.inc"
- .include "data/maps/AbandonedShip_Rooms_1F/events.inc"
- .include "data/maps/AbandonedShip_Corridors_B1F/events.inc"
- .include "data/maps/AbandonedShip_Rooms_B1F/events.inc"
- .include "data/maps/AbandonedShip_Rooms2_B1F/events.inc"
- .include "data/maps/AbandonedShip_Underwater1/events.inc"
- .include "data/maps/AbandonedShip_Room_B1F/events.inc"
- .include "data/maps/AbandonedShip_Rooms2_1F/events.inc"
- .include "data/maps/AbandonedShip_CaptainsOffice/events.inc"
- .include "data/maps/AbandonedShip_Underwater2/events.inc"
- .include "data/maps/AbandonedShip_HiddenFloorCorridors/events.inc"
- .include "data/maps/AbandonedShip_HiddenFloorRooms/events.inc"
- .include "data/maps/IslandCave/events.inc"
- .include "data/maps/AncientTomb/events.inc"
- .include "data/maps/Underwater_Route134/events.inc"
- .include "data/maps/Underwater_SealedChamber/events.inc"
- .include "data/maps/SealedChamber_OuterRoom/events.inc"
- .include "data/maps/SealedChamber_InnerRoom/events.inc"
- .include "data/maps/ScorchedSlab/events.inc"
- .include "data/maps/MagmaHideout_1F/events.inc"
- .include "data/maps/MagmaHideout_B1F/events.inc"
- .include "data/maps/MagmaHideout_B2F/events.inc"
- .include "data/maps/SkyPillar_Entrance/events.inc"
- .include "data/maps/SkyPillar_Outside/events.inc"
- .include "data/maps/SkyPillar_1F/events.inc"
- .include "data/maps/SkyPillar_2F/events.inc"
- .include "data/maps/SkyPillar_3F/events.inc"
- .include "data/maps/SkyPillar_4F/events.inc"
- .include "data/maps/ShoalCave_LowTideIceRoom/events.inc"
- .include "data/maps/SkyPillar_5F/events.inc"
- .include "data/maps/SkyPillar_Top/events.inc"
- .include "data/maps/SecretBase_RedCave1/events.inc"
- .include "data/maps/SecretBase_BrownCave1/events.inc"
- .include "data/maps/SecretBase_BlueCave1/events.inc"
- .include "data/maps/SecretBase_YellowCave1/events.inc"
- .include "data/maps/SecretBase_Tree1/events.inc"
- .include "data/maps/SecretBase_Shrub1/events.inc"
- .include "data/maps/SecretBase_RedCave2/events.inc"
- .include "data/maps/SecretBase_BrownCave2/events.inc"
- .include "data/maps/SecretBase_BlueCave2/events.inc"
- .include "data/maps/SecretBase_YellowCave2/events.inc"
- .include "data/maps/SecretBase_Tree2/events.inc"
- .include "data/maps/SecretBase_Shrub2/events.inc"
- .include "data/maps/SecretBase_RedCave3/events.inc"
- .include "data/maps/SecretBase_BrownCave3/events.inc"
- .include "data/maps/SecretBase_BlueCave3/events.inc"
- .include "data/maps/SecretBase_YellowCave3/events.inc"
- .include "data/maps/SecretBase_Tree3/events.inc"
- .include "data/maps/SecretBase_Shrub3/events.inc"
- .include "data/maps/SecretBase_RedCave4/events.inc"
- .include "data/maps/SecretBase_BrownCave4/events.inc"
- .include "data/maps/SecretBase_BlueCave4/events.inc"
- .include "data/maps/SecretBase_YellowCave4/events.inc"
- .include "data/maps/SecretBase_Tree4/events.inc"
- .include "data/maps/SecretBase_Shrub4/events.inc"
- .include "data/maps/SingleBattleColosseum/events.inc"
- .include "data/maps/TradeCenter/events.inc"
- .include "data/maps/RecordCorner/events.inc"
- .include "data/maps/DoubleBattleColosseum/events.inc"
- .include "data/maps/LinkContestRoom1/events.inc"
- .include "data/maps/LinkContestRoom2/events.inc"
- .include "data/maps/LinkContestRoom3/events.inc"
- .include "data/maps/LinkContestRoom4/events.inc"
- .include "data/maps/LinkContestRoom5/events.inc"
- .include "data/maps/LinkContestRoom6/events.inc"
- .include "data/maps/UnknownMap_25_29/events.inc"
- .include "data/maps/UnknownMap_25_30/events.inc"
- .include "data/maps/UnknownMap_25_31/events.inc"
- .include "data/maps/UnknownMap_25_32/events.inc"
- .include "data/maps/UnknownMap_25_33/events.inc"
- .include "data/maps/UnknownMap_25_34/events.inc"
- .include "data/maps/InsideOfTruck/events.inc"
- .include "data/maps/SSTidalCorridor/events.inc"
- .include "data/maps/SSTidalLowerDeck/events.inc"
- .include "data/maps/SSTidalRooms/events.inc"
- .include "data/maps/SafariZone_Northwest/events.inc"
- .include "data/maps/SafariZone_Northeast/events.inc"
- .include "data/maps/SafariZone_Southwest/events.inc"
- .include "data/maps/SafariZone_Southeast/events.inc"
- .include "data/maps/BattleTower_Outside/events.inc"
- .include "data/maps/BattleTower_Lobby/events.inc"
- .include "data/maps/BattleTower_Elevator/events.inc"
- .include "data/maps/BattleTower_Corridor/events.inc"
- .include "data/maps/BattleTower_BattleRoom/events.inc"
- .include "data/maps/SouthernIsland_Exterior/events.inc"
- .include "data/maps/SouthernIsland_Interior/events.inc"
- .include "data/maps/SafariZone_RestHouse/events.inc"
- .include "data/maps/Route104_Prototype/events.inc"
- .include "data/maps/Route104_PrototypePrettyPetalFlowerShop/events.inc"
- .include "data/maps/Route109_SeashoreHouse/events.inc"
- .include "data/maps/Route110_TrickHouseEntrance/events.inc"
- .include "data/maps/Route110_TrickHouseEnd/events.inc"
- .include "data/maps/Route110_TrickHouseCorridor/events.inc"
- .include "data/maps/Route110_TrickHousePuzzle1/events.inc"
- .include "data/maps/Route110_TrickHousePuzzle2/events.inc"
- .include "data/maps/Route110_TrickHousePuzzle3/events.inc"
- .include "data/maps/Route110_TrickHousePuzzle4/events.inc"
- .include "data/maps/Route110_TrickHousePuzzle5/events.inc"
- .include "data/maps/Route110_TrickHousePuzzle6/events.inc"
- .include "data/maps/Route110_TrickHousePuzzle7/events.inc"
- .include "data/maps/Route110_TrickHousePuzzle8/events.inc"
- .include "data/maps/Route110_SeasideCyclingRoadSouthEntrance/events.inc"
- .include "data/maps/Route110_SeasideCyclingRoadNorthEntrance/events.inc"
- .include "data/maps/Route113_GlassWorkshop/events.inc"
- .include "data/maps/Route123_BerryMastersHouse/events.inc"
- .include "data/maps/Route119_WeatherInstitute_1F/events.inc"
- .include "data/maps/Route119_WeatherInstitute_2F/events.inc"
- .include "data/maps/Route119_House/events.inc"
- .include "data/maps/Route124_DivingTreasureHuntersHouse/events.inc"
+ .include "data/maps/events.inc"
diff --git a/data/maps.s b/data/maps.s
index 883e44f5d..0d9eff61b 100644
--- a/data/maps.s
+++ b/data/maps.s
@@ -1,3 +1,4 @@
+#include "constants/layouts.h"
#include "constants/map_types.h"
#include "constants/maps.h"
#include "constants/region_map_sections.h"
@@ -8,8 +9,8 @@
.section .rodata
- .include "data/layouts.inc"
- .include "data/layouts_table.inc"
+ .include "data/layouts/layouts.inc"
+ .include "data/layouts/layouts_table.inc"
.include "data/maps/headers.inc"
.include "data/maps/groups.inc"
.include "data/maps/connections.inc"
diff --git a/data/maps/.gitignore b/data/maps/.gitignore
new file mode 100755
index 000000000..59405b176
--- /dev/null
+++ b/data/maps/.gitignore
@@ -0,0 +1,7 @@
+connections.inc
+events.inc
+groups.inc
+headers.inc
+**/connections.inc
+**/events.inc
+**/header.inc
diff --git a/data/maps/AbandonedShip_CaptainsOffice/events.inc b/data/maps/AbandonedShip_CaptainsOffice/events.inc
deleted file mode 100644
index 47db14d42..000000000
--- a/data/maps/AbandonedShip_CaptainsOffice/events.inc
+++ /dev/null
@@ -1,10 +0,0 @@
-AbandonedShip_CaptainsOffice_EventObjects:: @ 838E45C
- object_event 1, EVENT_OBJ_GFX_SCIENTIST_1, 0, 3, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, AbandonedShip_CaptainsOffice_EventScript_15EAF5, 0
- object_event 2, EVENT_OBJ_GFX_ITEM_BALL, 0, 0, 6, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, AbandonedShip_CaptainsOffice_EventScript_1B18BE, FLAG_ITEM_ABANDONED_SHIP_CAPTAINS_OFFICE_1
-
-AbandonedShip_CaptainsOffice_MapWarps:: @ 838E48C
- warp_def 7, 6, 3, 4, MAP_ABANDONED_SHIP_DECK
- warp_def 8, 6, 3, 4, MAP_ABANDONED_SHIP_DECK
-
-AbandonedShip_CaptainsOffice_MapEvents:: @ 838E49C
- map_events AbandonedShip_CaptainsOffice_EventObjects, AbandonedShip_CaptainsOffice_MapWarps, 0x0, 0x0
diff --git a/data/maps/AbandonedShip_CaptainsOffice/header.inc b/data/maps/AbandonedShip_CaptainsOffice/header.inc
deleted file mode 100644
index 178d527b2..000000000
--- a/data/maps/AbandonedShip_CaptainsOffice/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-AbandonedShip_CaptainsOffice:: @ 8307454
- .4byte AbandonedShip_CaptainsOffice_Layout
- .4byte AbandonedShip_CaptainsOffice_MapEvents
- .4byte AbandonedShip_CaptainsOffice_MapScripts
- .4byte 0x0
- .2byte MUS_DAN02
- .2byte 196
- .byte MAPSEC_ABANDONED_SHIP
- .byte 0
- .byte WEATHER_SHADE
- .byte MAP_TYPE_UNDERGROUND
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/AbandonedShip_CaptainsOffice/map.json b/data/maps/AbandonedShip_CaptainsOffice/map.json
new file mode 100644
index 000000000..9ba54183a
--- /dev/null
+++ b/data/maps/AbandonedShip_CaptainsOffice/map.json
@@ -0,0 +1,59 @@
+{
+ "id": "MAP_ABANDONED_SHIP_CAPTAINS_OFFICE",
+ "name": "AbandonedShip_CaptainsOffice",
+ "layout": "LAYOUT_ABANDONED_SHIP_CAPTAINS_OFFICE",
+ "music": "MUS_DAN02",
+ "region_map_section": "MAPSEC_ABANDONED_SHIP",
+ "requires_flash": false,
+ "weather": "WEATHER_SHADE",
+ "map_type": "MAP_TYPE_UNDERGROUND",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_SCIENTIST_1",
+ "x": 3,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "AbandonedShip_CaptainsOffice_EventScript_15EAF5",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ITEM_BALL",
+ "x": 0,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "AbandonedShip_CaptainsOffice_EventScript_1B18BE",
+ "flag": "FLAG_ITEM_ABANDONED_SHIP_CAPTAINS_OFFICE_1"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 7,
+ "y": 6,
+ "elevation": 3,
+ "dest_map": "MAP_ABANDONED_SHIP_DECK",
+ "dest_warp_id": 4
+ },
+ {
+ "x": 8,
+ "y": 6,
+ "elevation": 3,
+ "dest_map": "MAP_ABANDONED_SHIP_DECK",
+ "dest_warp_id": 4
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/AbandonedShip_Corridors_1F/events.inc b/data/maps/AbandonedShip_Corridors_1F/events.inc
deleted file mode 100644
index a9d46dcb6..000000000
--- a/data/maps/AbandonedShip_Corridors_1F/events.inc
+++ /dev/null
@@ -1,20 +0,0 @@
-AbandonedShip_Corridors_1F_EventObjects:: @ 838E120
- object_event 1, EVENT_OBJ_GFX_YOUNGSTER, 0, 17, 7, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, AbandonedShip_Corridors_1F_EventScript_15E965, 0
- object_event 2, EVENT_OBJ_GFX_TUBER_M, 0, 5, 10, 3, MOVEMENT_TYPE_WALK_SEQUENCE_UP_LEFT_DOWN_RIGHT, 4, 7, 1, 3, AbandonedShip_Corridors_1F_EventScript_15E96E, 0
-
-AbandonedShip_Corridors_1F_MapWarps:: @ 838E150
- warp_def 9, 11, 3, 2, MAP_ABANDONED_SHIP_DECK
- warp_def 8, 11, 3, 2, MAP_ABANDONED_SHIP_DECK
- warp_def 0, 11, 3, 3, MAP_ABANDONED_SHIP_DECK
- warp_def 1, 11, 3, 3, MAP_ABANDONED_SHIP_DECK
- warp_def 11, 9, 3, 0, MAP_ABANDONED_SHIP_ROOMS_1F
- warp_def 14, 9, 3, 3, MAP_ABANDONED_SHIP_ROOMS_1F
- warp_def 11, 3, 3, 2, MAP_ABANDONED_SHIP_ROOMS_1F
- warp_def 14, 3, 3, 4, MAP_ABANDONED_SHIP_ROOMS_1F
- warp_def 3, 9, 3, 0, MAP_ABANDONED_SHIP_ROOMS2_1F
- warp_def 16, 2, 3, 7, MAP_ABANDONED_SHIP_CORRIDORS_B1F
- warp_def 5, 2, 3, 6, MAP_ABANDONED_SHIP_CORRIDORS_B1F
- warp_def 3, 3, 3, 2, MAP_ABANDONED_SHIP_ROOMS2_1F
-
-AbandonedShip_Corridors_1F_MapEvents:: @ 838E1B0
- map_events AbandonedShip_Corridors_1F_EventObjects, AbandonedShip_Corridors_1F_MapWarps, 0x0, 0x0
diff --git a/data/maps/AbandonedShip_Corridors_1F/header.inc b/data/maps/AbandonedShip_Corridors_1F/header.inc
deleted file mode 100644
index 6e437485a..000000000
--- a/data/maps/AbandonedShip_Corridors_1F/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-AbandonedShip_Corridors_1F:: @ 8307374
- .4byte AbandonedShip_Corridors_1F_Layout
- .4byte AbandonedShip_Corridors_1F_MapEvents
- .4byte AbandonedShip_Corridors_1F_MapScripts
- .4byte 0x0
- .2byte MUS_DAN02
- .2byte 188
- .byte MAPSEC_ABANDONED_SHIP
- .byte 0
- .byte WEATHER_SHADE
- .byte MAP_TYPE_UNDERGROUND
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/AbandonedShip_Corridors_1F/map.json b/data/maps/AbandonedShip_Corridors_1F/map.json
new file mode 100644
index 000000000..96d49a702
--- /dev/null
+++ b/data/maps/AbandonedShip_Corridors_1F/map.json
@@ -0,0 +1,129 @@
+{
+ "id": "MAP_ABANDONED_SHIP_CORRIDORS_1F",
+ "name": "AbandonedShip_Corridors_1F",
+ "layout": "LAYOUT_ABANDONED_SHIP_CORRIDORS_1F",
+ "music": "MUS_DAN02",
+ "region_map_section": "MAPSEC_ABANDONED_SHIP",
+ "requires_flash": false,
+ "weather": "WEATHER_SHADE",
+ "map_type": "MAP_TYPE_UNDERGROUND",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_YOUNGSTER",
+ "x": 17,
+ "y": 7,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "AbandonedShip_Corridors_1F_EventScript_15E965",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_TUBER_M",
+ "x": 5,
+ "y": 10,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WALK_SEQUENCE_UP_LEFT_DOWN_RIGHT",
+ "movement_range_x": 4,
+ "movement_range_y": 7,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "3",
+ "script": "AbandonedShip_Corridors_1F_EventScript_15E96E",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 9,
+ "y": 11,
+ "elevation": 3,
+ "dest_map": "MAP_ABANDONED_SHIP_DECK",
+ "dest_warp_id": 2
+ },
+ {
+ "x": 8,
+ "y": 11,
+ "elevation": 3,
+ "dest_map": "MAP_ABANDONED_SHIP_DECK",
+ "dest_warp_id": 2
+ },
+ {
+ "x": 0,
+ "y": 11,
+ "elevation": 3,
+ "dest_map": "MAP_ABANDONED_SHIP_DECK",
+ "dest_warp_id": 3
+ },
+ {
+ "x": 1,
+ "y": 11,
+ "elevation": 3,
+ "dest_map": "MAP_ABANDONED_SHIP_DECK",
+ "dest_warp_id": 3
+ },
+ {
+ "x": 11,
+ "y": 9,
+ "elevation": 3,
+ "dest_map": "MAP_ABANDONED_SHIP_ROOMS_1F",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 14,
+ "y": 9,
+ "elevation": 3,
+ "dest_map": "MAP_ABANDONED_SHIP_ROOMS_1F",
+ "dest_warp_id": 3
+ },
+ {
+ "x": 11,
+ "y": 3,
+ "elevation": 3,
+ "dest_map": "MAP_ABANDONED_SHIP_ROOMS_1F",
+ "dest_warp_id": 2
+ },
+ {
+ "x": 14,
+ "y": 3,
+ "elevation": 3,
+ "dest_map": "MAP_ABANDONED_SHIP_ROOMS_1F",
+ "dest_warp_id": 4
+ },
+ {
+ "x": 3,
+ "y": 9,
+ "elevation": 3,
+ "dest_map": "MAP_ABANDONED_SHIP_ROOMS2_1F",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 16,
+ "y": 2,
+ "elevation": 3,
+ "dest_map": "MAP_ABANDONED_SHIP_CORRIDORS_B1F",
+ "dest_warp_id": 7
+ },
+ {
+ "x": 5,
+ "y": 2,
+ "elevation": 3,
+ "dest_map": "MAP_ABANDONED_SHIP_CORRIDORS_B1F",
+ "dest_warp_id": 6
+ },
+ {
+ "x": 3,
+ "y": 3,
+ "elevation": 3,
+ "dest_map": "MAP_ABANDONED_SHIP_ROOMS2_1F",
+ "dest_warp_id": 2
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/AbandonedShip_Corridors_B1F/events.inc b/data/maps/AbandonedShip_Corridors_B1F/events.inc
deleted file mode 100644
index cd8c266b1..000000000
--- a/data/maps/AbandonedShip_Corridors_B1F/events.inc
+++ /dev/null
@@ -1,19 +0,0 @@
-AbandonedShip_Corridors_B1F_EventObjects:: @ 838E238
- object_event 1, EVENT_OBJ_GFX_TUBER_M, 0, 2, 8, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, AbandonedShip_Corridors_B1F_EventScript_15E9CA, 0
- object_event 2, EVENT_OBJ_GFX_SAILOR, 0, 9, 6, 3, MOVEMENT_TYPE_FACE_LEFT_AND_RIGHT, 0, 0, 1, 4, AbandonedShip_Corridors_B1F_EventScript_15EA1E, 0
-
-AbandonedShip_Corridors_B1F_MapWarps:: @ 838E268
- warp_def 6, 4, 3, 2, MAP_ABANDONED_SHIP_ROOMS2_B1F
- warp_def 3, 4, 3, 0, MAP_ABANDONED_SHIP_ROOMS2_B1F
- warp_def 5, 7, 3, 0, MAP_ABANDONED_SHIP_ROOMS_B1F
- warp_def 8, 7, 3, 1, MAP_ABANDONED_SHIP_ROOMS_B1F
- warp_def 11, 7, 3, 2, MAP_ABANDONED_SHIP_ROOMS_B1F
- warp_def 11, 4, 3, 0, MAP_ABANDONED_SHIP_ROOM_B1F
- warp_def 0, 2, 3, 10, MAP_ABANDONED_SHIP_CORRIDORS_1F
- warp_def 8, 2, 3, 9, MAP_ABANDONED_SHIP_CORRIDORS_1F
-
-AbandonedShip_Corridors_B1F_MapBGEvents:: @ 838E2A8
- bg_event 11, 4, 3, BG_EVENT_PLAYER_FACING_ANY, AbandonedShip_Corridors_B1F_EventScript_15E9D3
-
-AbandonedShip_Corridors_B1F_MapEvents:: @ 838E2B4
- map_events AbandonedShip_Corridors_B1F_EventObjects, AbandonedShip_Corridors_B1F_MapWarps, 0x0, AbandonedShip_Corridors_B1F_MapBGEvents
diff --git a/data/maps/AbandonedShip_Corridors_B1F/header.inc b/data/maps/AbandonedShip_Corridors_B1F/header.inc
deleted file mode 100644
index 884c1cc0d..000000000
--- a/data/maps/AbandonedShip_Corridors_B1F/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-AbandonedShip_Corridors_B1F:: @ 83073AC
- .4byte AbandonedShip_Corridors_B1F_Layout
- .4byte AbandonedShip_Corridors_B1F_MapEvents
- .4byte AbandonedShip_Corridors_B1F_MapScripts
- .4byte 0x0
- .2byte MUS_DAN02
- .2byte 190
- .byte MAPSEC_ABANDONED_SHIP
- .byte 0
- .byte WEATHER_SHADE
- .byte MAP_TYPE_UNDERGROUND
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/AbandonedShip_Corridors_B1F/map.json b/data/maps/AbandonedShip_Corridors_B1F/map.json
new file mode 100644
index 000000000..2461f4f46
--- /dev/null
+++ b/data/maps/AbandonedShip_Corridors_B1F/map.json
@@ -0,0 +1,110 @@
+{
+ "id": "MAP_ABANDONED_SHIP_CORRIDORS_B1F",
+ "name": "AbandonedShip_Corridors_B1F",
+ "layout": "LAYOUT_ABANDONED_SHIP_CORRIDORS_B1F",
+ "music": "MUS_DAN02",
+ "region_map_section": "MAPSEC_ABANDONED_SHIP",
+ "requires_flash": false,
+ "weather": "WEATHER_SHADE",
+ "map_type": "MAP_TYPE_UNDERGROUND",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_TUBER_M",
+ "x": 2,
+ "y": 8,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "AbandonedShip_Corridors_B1F_EventScript_15E9CA",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_SAILOR",
+ "x": 9,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT_AND_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "4",
+ "script": "AbandonedShip_Corridors_B1F_EventScript_15EA1E",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 6,
+ "y": 4,
+ "elevation": 3,
+ "dest_map": "MAP_ABANDONED_SHIP_ROOMS2_B1F",
+ "dest_warp_id": 2
+ },
+ {
+ "x": 3,
+ "y": 4,
+ "elevation": 3,
+ "dest_map": "MAP_ABANDONED_SHIP_ROOMS2_B1F",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 5,
+ "y": 7,
+ "elevation": 3,
+ "dest_map": "MAP_ABANDONED_SHIP_ROOMS_B1F",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 8,
+ "y": 7,
+ "elevation": 3,
+ "dest_map": "MAP_ABANDONED_SHIP_ROOMS_B1F",
+ "dest_warp_id": 1
+ },
+ {
+ "x": 11,
+ "y": 7,
+ "elevation": 3,
+ "dest_map": "MAP_ABANDONED_SHIP_ROOMS_B1F",
+ "dest_warp_id": 2
+ },
+ {
+ "x": 11,
+ "y": 4,
+ "elevation": 3,
+ "dest_map": "MAP_ABANDONED_SHIP_ROOM_B1F",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 0,
+ "y": 2,
+ "elevation": 3,
+ "dest_map": "MAP_ABANDONED_SHIP_CORRIDORS_1F",
+ "dest_warp_id": 10
+ },
+ {
+ "x": 8,
+ "y": 2,
+ "elevation": 3,
+ "dest_map": "MAP_ABANDONED_SHIP_CORRIDORS_1F",
+ "dest_warp_id": 9
+ }
+ ],
+ "coord_events": [],
+ "bg_events": [
+ {
+ "type": "sign",
+ "x": 11,
+ "y": 4,
+ "elevation": 3,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "AbandonedShip_Corridors_B1F_EventScript_15E9D3"
+ }
+ ]
+} \ No newline at end of file
diff --git a/data/maps/AbandonedShip_Deck/events.inc b/data/maps/AbandonedShip_Deck/events.inc
deleted file mode 100644
index 15f54114b..000000000
--- a/data/maps/AbandonedShip_Deck/events.inc
+++ /dev/null
@@ -1,9 +0,0 @@
-AbandonedShip_Deck_MapWarps:: @ 838E0E4
- warp_def 13, 15, 3, 0, MAP_ROUTE108
- warp_def 14, 15, 3, 0, MAP_ROUTE108
- warp_def 13, 9, 3, 1, MAP_ABANDONED_SHIP_CORRIDORS_1F
- warp_def 8, 9, 3, 2, MAP_ABANDONED_SHIP_CORRIDORS_1F
- warp_def 12, 5, 3, 0, MAP_ABANDONED_SHIP_CAPTAINS_OFFICE
-
-AbandonedShip_Deck_MapEvents:: @ 838E10C
- map_events 0x0, AbandonedShip_Deck_MapWarps, 0x0, 0x0
diff --git a/data/maps/AbandonedShip_Deck/header.inc b/data/maps/AbandonedShip_Deck/header.inc
deleted file mode 100644
index 3454cac63..000000000
--- a/data/maps/AbandonedShip_Deck/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-AbandonedShip_Deck:: @ 8307358
- .4byte AbandonedShip_Deck_Layout
- .4byte AbandonedShip_Deck_MapEvents
- .4byte AbandonedShip_Deck_MapScripts
- .4byte 0x0
- .2byte MUS_DAN02
- .2byte 187
- .byte MAPSEC_ABANDONED_SHIP
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_UNDERGROUND
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/AbandonedShip_Deck/map.json b/data/maps/AbandonedShip_Deck/map.json
new file mode 100644
index 000000000..f6cd97821
--- /dev/null
+++ b/data/maps/AbandonedShip_Deck/map.json
@@ -0,0 +1,53 @@
+{
+ "id": "MAP_ABANDONED_SHIP_DECK",
+ "name": "AbandonedShip_Deck",
+ "layout": "LAYOUT_ABANDONED_SHIP_DECK",
+ "music": "MUS_DAN02",
+ "region_map_section": "MAPSEC_ABANDONED_SHIP",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_UNDERGROUND",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [],
+ "warp_events": [
+ {
+ "x": 13,
+ "y": 15,
+ "elevation": 3,
+ "dest_map": "MAP_ROUTE108",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 14,
+ "y": 15,
+ "elevation": 3,
+ "dest_map": "MAP_ROUTE108",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 13,
+ "y": 9,
+ "elevation": 3,
+ "dest_map": "MAP_ABANDONED_SHIP_CORRIDORS_1F",
+ "dest_warp_id": 1
+ },
+ {
+ "x": 8,
+ "y": 9,
+ "elevation": 3,
+ "dest_map": "MAP_ABANDONED_SHIP_CORRIDORS_1F",
+ "dest_warp_id": 2
+ },
+ {
+ "x": 12,
+ "y": 5,
+ "elevation": 3,
+ "dest_map": "MAP_ABANDONED_SHIP_CAPTAINS_OFFICE",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/AbandonedShip_HiddenFloorCorridors/events.inc b/data/maps/AbandonedShip_HiddenFloorCorridors/events.inc
deleted file mode 100644
index b227d8813..000000000
--- a/data/maps/AbandonedShip_HiddenFloorCorridors/events.inc
+++ /dev/null
@@ -1,16 +0,0 @@
-AbandonedShip_HiddenFloorCorridors_MapWarps:: @ 838E4CC
- warp_def 3, 8, 3, 0, MAP_ABANDONED_SHIP_HIDDEN_FLOOR_ROOMS
- warp_def 6, 8, 3, 2, MAP_ABANDONED_SHIP_HIDDEN_FLOOR_ROOMS
- warp_def 9, 8, 3, 4, MAP_ABANDONED_SHIP_HIDDEN_FLOOR_ROOMS
- warp_def 3, 3, 3, 6, MAP_ABANDONED_SHIP_HIDDEN_FLOOR_ROOMS
- warp_def 6, 3, 3, 7, MAP_ABANDONED_SHIP_HIDDEN_FLOOR_ROOMS
- warp_def 9, 3, 3, 8, MAP_ABANDONED_SHIP_HIDDEN_FLOOR_ROOMS
-
-AbandonedShip_HiddenFloorCorridors_MapBGEvents:: @ 838E4FC
- bg_event 3, 8, 3, BG_EVENT_PLAYER_FACING_ANY, AbandonedShip_HiddenFloorCorridors_EventScript_15EBF3
- bg_event 6, 8, 3, BG_EVENT_PLAYER_FACING_ANY, AbandonedShip_HiddenFloorCorridors_EventScript_15EC2A
- bg_event 3, 4, 0, BG_EVENT_PLAYER_FACING_ANY, AbandonedShip_HiddenFloorCorridors_EventScript_15EC61
- bg_event 9, 4, 0, BG_EVENT_PLAYER_FACING_ANY, AbandonedShip_HiddenFloorCorridors_EventScript_15EC98
-
-AbandonedShip_HiddenFloorCorridors_MapEvents:: @ 838E52C
- map_events 0x0, AbandonedShip_HiddenFloorCorridors_MapWarps, 0x0, AbandonedShip_HiddenFloorCorridors_MapBGEvents
diff --git a/data/maps/AbandonedShip_HiddenFloorCorridors/header.inc b/data/maps/AbandonedShip_HiddenFloorCorridors/header.inc
deleted file mode 100644
index 9894918c6..000000000
--- a/data/maps/AbandonedShip_HiddenFloorCorridors/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-AbandonedShip_HiddenFloorCorridors:: @ 830748C
- .4byte AbandonedShip_HiddenFloorCorridors_Layout
- .4byte AbandonedShip_HiddenFloorCorridors_MapEvents
- .4byte AbandonedShip_HiddenFloorCorridors_MapScripts
- .4byte 0x0
- .2byte MUS_DAN02
- .2byte 290
- .byte MAPSEC_ABANDONED_SHIP
- .byte 0
- .byte WEATHER_SHADE
- .byte MAP_TYPE_UNDERGROUND
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/AbandonedShip_HiddenFloorCorridors/map.json b/data/maps/AbandonedShip_HiddenFloorCorridors/map.json
new file mode 100644
index 000000000..1f91ea0e6
--- /dev/null
+++ b/data/maps/AbandonedShip_HiddenFloorCorridors/map.json
@@ -0,0 +1,93 @@
+{
+ "id": "MAP_ABANDONED_SHIP_HIDDEN_FLOOR_CORRIDORS",
+ "name": "AbandonedShip_HiddenFloorCorridors",
+ "layout": "LAYOUT_ABANDONED_SHIP_HIDDEN_FLOOR_CORRIDORS",
+ "music": "MUS_DAN02",
+ "region_map_section": "MAPSEC_ABANDONED_SHIP",
+ "requires_flash": false,
+ "weather": "WEATHER_SHADE",
+ "map_type": "MAP_TYPE_UNDERGROUND",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [],
+ "warp_events": [
+ {
+ "x": 3,
+ "y": 8,
+ "elevation": 3,
+ "dest_map": "MAP_ABANDONED_SHIP_HIDDEN_FLOOR_ROOMS",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 6,
+ "y": 8,
+ "elevation": 3,
+ "dest_map": "MAP_ABANDONED_SHIP_HIDDEN_FLOOR_ROOMS",
+ "dest_warp_id": 2
+ },
+ {
+ "x": 9,
+ "y": 8,
+ "elevation": 3,
+ "dest_map": "MAP_ABANDONED_SHIP_HIDDEN_FLOOR_ROOMS",
+ "dest_warp_id": 4
+ },
+ {
+ "x": 3,
+ "y": 3,
+ "elevation": 3,
+ "dest_map": "MAP_ABANDONED_SHIP_HIDDEN_FLOOR_ROOMS",
+ "dest_warp_id": 6
+ },
+ {
+ "x": 6,
+ "y": 3,
+ "elevation": 3,
+ "dest_map": "MAP_ABANDONED_SHIP_HIDDEN_FLOOR_ROOMS",
+ "dest_warp_id": 7
+ },
+ {
+ "x": 9,
+ "y": 3,
+ "elevation": 3,
+ "dest_map": "MAP_ABANDONED_SHIP_HIDDEN_FLOOR_ROOMS",
+ "dest_warp_id": 8
+ }
+ ],
+ "coord_events": [],
+ "bg_events": [
+ {
+ "type": "sign",
+ "x": 3,
+ "y": 8,
+ "elevation": 3,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "AbandonedShip_HiddenFloorCorridors_EventScript_15EBF3"
+ },
+ {
+ "type": "sign",
+ "x": 6,
+ "y": 8,
+ "elevation": 3,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "AbandonedShip_HiddenFloorCorridors_EventScript_15EC2A"
+ },
+ {
+ "type": "sign",
+ "x": 3,
+ "y": 4,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "AbandonedShip_HiddenFloorCorridors_EventScript_15EC61"
+ },
+ {
+ "type": "sign",
+ "x": 9,
+ "y": 4,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "AbandonedShip_HiddenFloorCorridors_EventScript_15EC98"
+ }
+ ]
+} \ No newline at end of file
diff --git a/data/maps/AbandonedShip_HiddenFloorRooms/events.inc b/data/maps/AbandonedShip_HiddenFloorRooms/events.inc
deleted file mode 100644
index c6c094edd..000000000
--- a/data/maps/AbandonedShip_HiddenFloorRooms/events.inc
+++ /dev/null
@@ -1,31 +0,0 @@
-AbandonedShip_HiddenFloorRooms_EventObjects:: @ 838E540
- object_event 1, EVENT_OBJ_GFX_ITEM_BALL, 0, 41, 4, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, AbandonedShip_HiddenFloorRooms_EventScript_1B18CB, FLAG_ITEM_ABANDONED_SHIP_HIDDEN_FLOOR_ROOMS_1
- object_event 2, EVENT_OBJ_GFX_ITEM_BALL, 0, 16, 10, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, AbandonedShip_HiddenFloorRooms_EventScript_1B18D8, FLAG_ITEM_ABANDONED_SHIP_HIDDEN_FLOOR_ROOMS_2
- object_event 3, EVENT_OBJ_GFX_ITEM_BALL, 0, 5, 11, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, AbandonedShip_HiddenFloorRooms_EventScript_1B18F2, FLAG_ITEM_ABANDONED_SHIP_HIDDEN_FLOOR_ROOMS_4
- object_event 4, EVENT_OBJ_GFX_ITEM_BALL, 0, 31, 11, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, AbandonedShip_HiddenFloorRooms_EventScript_1B18E5, FLAG_ITEM_ABANDONED_SHIP_HIDDEN_FLOOR_ROOMS_3
-
-AbandonedShip_HiddenFloorRooms_MapWarps:: @ 838E5A0
- warp_def 6, 14, 3, 0, MAP_ABANDONED_SHIP_HIDDEN_FLOOR_CORRIDORS
- warp_def 7, 14, 3, 0, MAP_ABANDONED_SHIP_HIDDEN_FLOOR_CORRIDORS
- warp_def 21, 14, 3, 1, MAP_ABANDONED_SHIP_HIDDEN_FLOOR_CORRIDORS
- warp_def 22, 14, 3, 1, MAP_ABANDONED_SHIP_HIDDEN_FLOOR_CORRIDORS
- warp_def 36, 14, 3, 2, MAP_ABANDONED_SHIP_HIDDEN_FLOOR_CORRIDORS
- warp_def 37, 14, 3, 2, MAP_ABANDONED_SHIP_HIDDEN_FLOOR_CORRIDORS
- warp_def 6, 1, 3, 3, MAP_ABANDONED_SHIP_HIDDEN_FLOOR_CORRIDORS
- warp_def 21, 1, 3, 4, MAP_ABANDONED_SHIP_HIDDEN_FLOOR_CORRIDORS
- warp_def 36, 1, 3, 5, MAP_ABANDONED_SHIP_HIDDEN_FLOOR_CORRIDORS
-
-AbandonedShip_HiddenFloorRooms_MapBGEvents:: @ 838E5E8
- bg_hidden_item_event 42, 10, 3, ITEM_ROOM_1_KEY, FLAG_HIDDEN_ITEM_1F
- bg_hidden_item_event 20, 5, 3, ITEM_ROOM_2_KEY, FLAG_HIDDEN_ITEM_20
- bg_hidden_item_event 1, 12, 3, ITEM_ROOM_4_KEY, FLAG_HIDDEN_ITEM_21
- bg_hidden_item_event 1, 2, 0, ITEM_ROOM_6_KEY, FLAG_HIDDEN_ITEM_22
- bg_event 8, 5, 3, BG_EVENT_PLAYER_FACING_ANY, AbandonedShip_HiddenFloorRooms_EventScript_15EEAB
- bg_event 11, 3, 3, BG_EVENT_PLAYER_FACING_ANY, AbandonedShip_HiddenFloorRooms_EventScript_15EEAB
- bg_event 10, 10, 3, BG_EVENT_PLAYER_FACING_ANY, AbandonedShip_HiddenFloorRooms_EventScript_15EEAB
- bg_event 16, 3, 3, BG_EVENT_PLAYER_FACING_ANY, AbandonedShip_HiddenFloorRooms_EventScript_15EEAB
- bg_event 25, 2, 3, BG_EVENT_PLAYER_FACING_ANY, AbandonedShip_HiddenFloorRooms_EventScript_15EEAB
- bg_event 24, 6, 3, BG_EVENT_PLAYER_FACING_ANY, AbandonedShip_HiddenFloorRooms_EventScript_15EEAB
-
-AbandonedShip_HiddenFloorRooms_MapEvents:: @ 838E660
- map_events AbandonedShip_HiddenFloorRooms_EventObjects, AbandonedShip_HiddenFloorRooms_MapWarps, 0x0, AbandonedShip_HiddenFloorRooms_MapBGEvents
diff --git a/data/maps/AbandonedShip_HiddenFloorRooms/header.inc b/data/maps/AbandonedShip_HiddenFloorRooms/header.inc
deleted file mode 100644
index d1b89c313..000000000
--- a/data/maps/AbandonedShip_HiddenFloorRooms/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-AbandonedShip_HiddenFloorRooms:: @ 83074A8
- .4byte AbandonedShip_HiddenFloorRooms_Layout
- .4byte AbandonedShip_HiddenFloorRooms_MapEvents
- .4byte AbandonedShip_HiddenFloorRooms_MapScripts
- .4byte 0x0
- .2byte MUS_DAN02
- .2byte 311
- .byte MAPSEC_ABANDONED_SHIP
- .byte 0
- .byte WEATHER_SHADE
- .byte MAP_TYPE_UNDERGROUND
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/AbandonedShip_HiddenFloorRooms/map.json b/data/maps/AbandonedShip_HiddenFloorRooms/map.json
new file mode 100644
index 000000000..1e7250a37
--- /dev/null
+++ b/data/maps/AbandonedShip_HiddenFloorRooms/map.json
@@ -0,0 +1,215 @@
+{
+ "id": "MAP_ABANDONED_SHIP_HIDDEN_FLOOR_ROOMS",
+ "name": "AbandonedShip_HiddenFloorRooms",
+ "layout": "LAYOUT_ABANDONED_SHIP_HIDDEN_FLOOR_ROOMS",
+ "music": "MUS_DAN02",
+ "region_map_section": "MAPSEC_ABANDONED_SHIP",
+ "requires_flash": false,
+ "weather": "WEATHER_SHADE",
+ "map_type": "MAP_TYPE_UNDERGROUND",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ITEM_BALL",
+ "x": 41,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "AbandonedShip_HiddenFloorRooms_EventScript_1B18CB",
+ "flag": "FLAG_ITEM_ABANDONED_SHIP_HIDDEN_FLOOR_ROOMS_1"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ITEM_BALL",
+ "x": 16,
+ "y": 10,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "AbandonedShip_HiddenFloorRooms_EventScript_1B18D8",
+ "flag": "FLAG_ITEM_ABANDONED_SHIP_HIDDEN_FLOOR_ROOMS_2"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ITEM_BALL",
+ "x": 5,
+ "y": 11,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "AbandonedShip_HiddenFloorRooms_EventScript_1B18F2",
+ "flag": "FLAG_ITEM_ABANDONED_SHIP_HIDDEN_FLOOR_ROOMS_4"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ITEM_BALL",
+ "x": 31,
+ "y": 11,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "AbandonedShip_HiddenFloorRooms_EventScript_1B18E5",
+ "flag": "FLAG_ITEM_ABANDONED_SHIP_HIDDEN_FLOOR_ROOMS_3"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 6,
+ "y": 14,
+ "elevation": 3,
+ "dest_map": "MAP_ABANDONED_SHIP_HIDDEN_FLOOR_CORRIDORS",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 7,
+ "y": 14,
+ "elevation": 3,
+ "dest_map": "MAP_ABANDONED_SHIP_HIDDEN_FLOOR_CORRIDORS",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 21,
+ "y": 14,
+ "elevation": 3,
+ "dest_map": "MAP_ABANDONED_SHIP_HIDDEN_FLOOR_CORRIDORS",
+ "dest_warp_id": 1
+ },
+ {
+ "x": 22,
+ "y": 14,
+ "elevation": 3,
+ "dest_map": "MAP_ABANDONED_SHIP_HIDDEN_FLOOR_CORRIDORS",
+ "dest_warp_id": 1
+ },
+ {
+ "x": 36,
+ "y": 14,
+ "elevation": 3,
+ "dest_map": "MAP_ABANDONED_SHIP_HIDDEN_FLOOR_CORRIDORS",
+ "dest_warp_id": 2
+ },
+ {
+ "x": 37,
+ "y": 14,
+ "elevation": 3,
+ "dest_map": "MAP_ABANDONED_SHIP_HIDDEN_FLOOR_CORRIDORS",
+ "dest_warp_id": 2
+ },
+ {
+ "x": 6,
+ "y": 1,
+ "elevation": 3,
+ "dest_map": "MAP_ABANDONED_SHIP_HIDDEN_FLOOR_CORRIDORS",
+ "dest_warp_id": 3
+ },
+ {
+ "x": 21,
+ "y": 1,
+ "elevation": 3,
+ "dest_map": "MAP_ABANDONED_SHIP_HIDDEN_FLOOR_CORRIDORS",
+ "dest_warp_id": 4
+ },
+ {
+ "x": 36,
+ "y": 1,
+ "elevation": 3,
+ "dest_map": "MAP_ABANDONED_SHIP_HIDDEN_FLOOR_CORRIDORS",
+ "dest_warp_id": 5
+ }
+ ],
+ "coord_events": [],
+ "bg_events": [
+ {
+ "type": "hidden_item",
+ "x": 42,
+ "y": 10,
+ "elevation": 3,
+ "item": "ITEM_ROOM_1_KEY",
+ "flag": "FLAG_HIDDEN_ITEM_1F"
+ },
+ {
+ "type": "hidden_item",
+ "x": 20,
+ "y": 5,
+ "elevation": 3,
+ "item": "ITEM_ROOM_2_KEY",
+ "flag": "FLAG_HIDDEN_ITEM_20"
+ },
+ {
+ "type": "hidden_item",
+ "x": 1,
+ "y": 12,
+ "elevation": 3,
+ "item": "ITEM_ROOM_4_KEY",
+ "flag": "FLAG_HIDDEN_ITEM_21"
+ },
+ {
+ "type": "hidden_item",
+ "x": 1,
+ "y": 2,
+ "elevation": 0,
+ "item": "ITEM_ROOM_6_KEY",
+ "flag": "FLAG_HIDDEN_ITEM_22"
+ },
+ {
+ "type": "sign",
+ "x": 8,
+ "y": 5,
+ "elevation": 3,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "AbandonedShip_HiddenFloorRooms_EventScript_15EEAB"
+ },
+ {
+ "type": "sign",
+ "x": 11,
+ "y": 3,
+ "elevation": 3,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "AbandonedShip_HiddenFloorRooms_EventScript_15EEAB"
+ },
+ {
+ "type": "sign",
+ "x": 10,
+ "y": 10,
+ "elevation": 3,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "AbandonedShip_HiddenFloorRooms_EventScript_15EEAB"
+ },
+ {
+ "type": "sign",
+ "x": 16,
+ "y": 3,
+ "elevation": 3,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "AbandonedShip_HiddenFloorRooms_EventScript_15EEAB"
+ },
+ {
+ "type": "sign",
+ "x": 25,
+ "y": 2,
+ "elevation": 3,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "AbandonedShip_HiddenFloorRooms_EventScript_15EEAB"
+ },
+ {
+ "type": "sign",
+ "x": 24,
+ "y": 6,
+ "elevation": 3,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "AbandonedShip_HiddenFloorRooms_EventScript_15EEAB"
+ }
+ ]
+} \ No newline at end of file
diff --git a/data/maps/AbandonedShip_Room_B1F/events.inc b/data/maps/AbandonedShip_Room_B1F/events.inc
deleted file mode 100644
index 17cb2e417..000000000
--- a/data/maps/AbandonedShip_Room_B1F/events.inc
+++ /dev/null
@@ -1,9 +0,0 @@
-AbandonedShip_Room_B1F_EventObjects:: @ 838E3AC
- object_event 1, EVENT_OBJ_GFX_ITEM_BALL, 0, 4, 4, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, AbandonedShip_Room_B1F_EventScript_1B18A4, FLAG_ITEM_ABANDONED_SHIP_ROOM_B1F_1
-
-AbandonedShip_Room_B1F_MapWarps:: @ 838E3C4
- warp_def 4, 7, 3, 5, MAP_ABANDONED_SHIP_CORRIDORS_B1F
- warp_def 5, 7, 3, 5, MAP_ABANDONED_SHIP_CORRIDORS_B1F
-
-AbandonedShip_Room_B1F_MapEvents:: @ 838E3D4
- map_events AbandonedShip_Room_B1F_EventObjects, AbandonedShip_Room_B1F_MapWarps, 0x0, 0x0
diff --git a/data/maps/AbandonedShip_Room_B1F/header.inc b/data/maps/AbandonedShip_Room_B1F/header.inc
deleted file mode 100644
index fcfc746c1..000000000
--- a/data/maps/AbandonedShip_Room_B1F/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-AbandonedShip_Room_B1F:: @ 830741C
- .4byte AbandonedShip_Room_B1F_Layout
- .4byte AbandonedShip_Room_B1F_MapEvents
- .4byte AbandonedShip_Room_B1F_MapScripts
- .4byte 0x0
- .2byte MUS_DAN02
- .2byte 194
- .byte MAPSEC_ABANDONED_SHIP
- .byte 0
- .byte WEATHER_SHADE
- .byte MAP_TYPE_UNDERGROUND
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/AbandonedShip_Room_B1F/map.json b/data/maps/AbandonedShip_Room_B1F/map.json
new file mode 100644
index 000000000..179130662
--- /dev/null
+++ b/data/maps/AbandonedShip_Room_B1F/map.json
@@ -0,0 +1,46 @@
+{
+ "id": "MAP_ABANDONED_SHIP_ROOM_B1F",
+ "name": "AbandonedShip_Room_B1F",
+ "layout": "LAYOUT_ABANDONED_SHIP_ROOM_B1F",
+ "music": "MUS_DAN02",
+ "region_map_section": "MAPSEC_ABANDONED_SHIP",
+ "requires_flash": false,
+ "weather": "WEATHER_SHADE",
+ "map_type": "MAP_TYPE_UNDERGROUND",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ITEM_BALL",
+ "x": 4,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "AbandonedShip_Room_B1F_EventScript_1B18A4",
+ "flag": "FLAG_ITEM_ABANDONED_SHIP_ROOM_B1F_1"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 4,
+ "y": 7,
+ "elevation": 3,
+ "dest_map": "MAP_ABANDONED_SHIP_CORRIDORS_B1F",
+ "dest_warp_id": 5
+ },
+ {
+ "x": 5,
+ "y": 7,
+ "elevation": 3,
+ "dest_map": "MAP_ABANDONED_SHIP_CORRIDORS_B1F",
+ "dest_warp_id": 5
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/AbandonedShip_Rooms2_1F/events.inc b/data/maps/AbandonedShip_Rooms2_1F/events.inc
deleted file mode 100644
index 9ce7d09d7..000000000
--- a/data/maps/AbandonedShip_Rooms2_1F/events.inc
+++ /dev/null
@@ -1,12 +0,0 @@
-AbandonedShip_Rooms2_1F_EventObjects:: @ 838E3E8
- object_event 1, EVENT_OBJ_GFX_MAN_5, 0, 7, 13, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 1, 0, AbandonedShip_Rooms2_1F_EventScript_15EA68, 0
- object_event 2, EVENT_OBJ_GFX_WOMAN_5, 0, 6, 13, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 1, 0, AbandonedShip_Rooms2_1F_EventScript_15EAAE, 0
- object_event 3, EVENT_OBJ_GFX_ITEM_BALL, 0, 4, 4, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, AbandonedShip_Rooms2_1F_EventScript_1B18B1, FLAG_ITEM_ABANDONED_SHIP_ROOMS_2_1F_1
-
-AbandonedShip_Rooms2_1F_MapWarps:: @ 838E430
- warp_def 4, 16, 3, 8, MAP_ABANDONED_SHIP_CORRIDORS_1F
- warp_def 5, 16, 3, 8, MAP_ABANDONED_SHIP_CORRIDORS_1F
- warp_def 4, 1, 3, 11, MAP_ABANDONED_SHIP_CORRIDORS_1F
-
-AbandonedShip_Rooms2_1F_MapEvents:: @ 838E448
- map_events AbandonedShip_Rooms2_1F_EventObjects, AbandonedShip_Rooms2_1F_MapWarps, 0x0, 0x0
diff --git a/data/maps/AbandonedShip_Rooms2_1F/header.inc b/data/maps/AbandonedShip_Rooms2_1F/header.inc
deleted file mode 100644
index e76a52fd7..000000000
--- a/data/maps/AbandonedShip_Rooms2_1F/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-AbandonedShip_Rooms2_1F:: @ 8307438
- .4byte AbandonedShip_Rooms2_1F_Layout
- .4byte AbandonedShip_Rooms2_1F_MapEvents
- .4byte AbandonedShip_Rooms2_1F_MapScripts
- .4byte 0x0
- .2byte MUS_DAN02
- .2byte 195
- .byte MAPSEC_ABANDONED_SHIP
- .byte 0
- .byte WEATHER_SHADE
- .byte MAP_TYPE_UNDERGROUND
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/AbandonedShip_Rooms2_1F/map.json b/data/maps/AbandonedShip_Rooms2_1F/map.json
new file mode 100644
index 000000000..792287b70
--- /dev/null
+++ b/data/maps/AbandonedShip_Rooms2_1F/map.json
@@ -0,0 +1,79 @@
+{
+ "id": "MAP_ABANDONED_SHIP_ROOMS2_1F",
+ "name": "AbandonedShip_Rooms2_1F",
+ "layout": "LAYOUT_ABANDONED_SHIP_ROOMS2_1F",
+ "music": "MUS_DAN02",
+ "region_map_section": "MAPSEC_ABANDONED_SHIP",
+ "requires_flash": false,
+ "weather": "WEATHER_SHADE",
+ "map_type": "MAP_TYPE_UNDERGROUND",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_5",
+ "x": 7,
+ "y": 13,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "AbandonedShip_Rooms2_1F_EventScript_15EA68",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_5",
+ "x": 6,
+ "y": 13,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "AbandonedShip_Rooms2_1F_EventScript_15EAAE",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ITEM_BALL",
+ "x": 4,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "AbandonedShip_Rooms2_1F_EventScript_1B18B1",
+ "flag": "FLAG_ITEM_ABANDONED_SHIP_ROOMS_2_1F_1"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 4,
+ "y": 16,
+ "elevation": 3,
+ "dest_map": "MAP_ABANDONED_SHIP_CORRIDORS_1F",
+ "dest_warp_id": 8
+ },
+ {
+ "x": 5,
+ "y": 16,
+ "elevation": 3,
+ "dest_map": "MAP_ABANDONED_SHIP_CORRIDORS_1F",
+ "dest_warp_id": 8
+ },
+ {
+ "x": 4,
+ "y": 1,
+ "elevation": 3,
+ "dest_map": "MAP_ABANDONED_SHIP_CORRIDORS_1F",
+ "dest_warp_id": 11
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/AbandonedShip_Rooms2_B1F/events.inc b/data/maps/AbandonedShip_Rooms2_B1F/events.inc
deleted file mode 100644
index 8b306ca47..000000000
--- a/data/maps/AbandonedShip_Rooms2_B1F/events.inc
+++ /dev/null
@@ -1,12 +0,0 @@
-AbandonedShip_Rooms2_B1F_EventObjects:: @ 838E324
- object_event 1, EVENT_OBJ_GFX_CAMPER, 0, 3, 4, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, AbandonedShip_Rooms2_B1F_EventScript_15EA4E, 0
- object_event 2, EVENT_OBJ_GFX_ITEM_BALL, 0, 13, 3, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, AbandonedShip_Rooms2_B1F_EventScript_1B1897, FLAG_ITEM_ABANDONED_SHIP_ROOMS_2_B1F_1
-
-AbandonedShip_Rooms2_B1F_MapWarps:: @ 838E354
- warp_def 4, 7, 3, 1, MAP_ABANDONED_SHIP_CORRIDORS_B1F
- warp_def 5, 7, 3, 1, MAP_ABANDONED_SHIP_CORRIDORS_B1F
- warp_def 13, 7, 3, 0, MAP_ABANDONED_SHIP_CORRIDORS_B1F
- warp_def 14, 7, 3, 0, MAP_ABANDONED_SHIP_CORRIDORS_B1F
-
-AbandonedShip_Rooms2_B1F_MapEvents:: @ 838E374
- map_events AbandonedShip_Rooms2_B1F_EventObjects, AbandonedShip_Rooms2_B1F_MapWarps, 0x0, 0x0
diff --git a/data/maps/AbandonedShip_Rooms2_B1F/header.inc b/data/maps/AbandonedShip_Rooms2_B1F/header.inc
deleted file mode 100644
index 042b61164..000000000
--- a/data/maps/AbandonedShip_Rooms2_B1F/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-AbandonedShip_Rooms2_B1F:: @ 83073E4
- .4byte AbandonedShip_Rooms2_B1F_Layout
- .4byte AbandonedShip_Rooms2_B1F_MapEvents
- .4byte AbandonedShip_Rooms2_B1F_MapScripts
- .4byte 0x0
- .2byte MUS_DAN02
- .2byte 192
- .byte MAPSEC_ABANDONED_SHIP
- .byte 0
- .byte WEATHER_SHADE
- .byte MAP_TYPE_UNDERGROUND
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/AbandonedShip_Rooms2_B1F/map.json b/data/maps/AbandonedShip_Rooms2_B1F/map.json
new file mode 100644
index 000000000..d41973d6c
--- /dev/null
+++ b/data/maps/AbandonedShip_Rooms2_B1F/map.json
@@ -0,0 +1,73 @@
+{
+ "id": "MAP_ABANDONED_SHIP_ROOMS2_B1F",
+ "name": "AbandonedShip_Rooms2_B1F",
+ "layout": "LAYOUT_ABANDONED_SHIP_ROOMS2_B1F",
+ "music": "MUS_DAN02",
+ "region_map_section": "MAPSEC_ABANDONED_SHIP",
+ "requires_flash": false,
+ "weather": "WEATHER_SHADE",
+ "map_type": "MAP_TYPE_UNDERGROUND",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_CAMPER",
+ "x": 3,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "AbandonedShip_Rooms2_B1F_EventScript_15EA4E",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ITEM_BALL",
+ "x": 13,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "AbandonedShip_Rooms2_B1F_EventScript_1B1897",
+ "flag": "FLAG_ITEM_ABANDONED_SHIP_ROOMS_2_B1F_1"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 4,
+ "y": 7,
+ "elevation": 3,
+ "dest_map": "MAP_ABANDONED_SHIP_CORRIDORS_B1F",
+ "dest_warp_id": 1
+ },
+ {
+ "x": 5,
+ "y": 7,
+ "elevation": 3,
+ "dest_map": "MAP_ABANDONED_SHIP_CORRIDORS_B1F",
+ "dest_warp_id": 1
+ },
+ {
+ "x": 13,
+ "y": 7,
+ "elevation": 3,
+ "dest_map": "MAP_ABANDONED_SHIP_CORRIDORS_B1F",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 14,
+ "y": 7,
+ "elevation": 3,
+ "dest_map": "MAP_ABANDONED_SHIP_CORRIDORS_B1F",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/AbandonedShip_Rooms_1F/events.inc b/data/maps/AbandonedShip_Rooms_1F/events.inc
deleted file mode 100644
index 427d653fd..000000000
--- a/data/maps/AbandonedShip_Rooms_1F/events.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-AbandonedShip_Rooms_1F_EventObjects:: @ 838E1C4
- object_event 1, EVENT_OBJ_GFX_GENTLEMAN, 0, 11, 6, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, AbandonedShip_Rooms_1F_EventScript_15E986, 0
- object_event 2, EVENT_OBJ_GFX_ITEM_BALL, 0, 4, 5, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, AbandonedShip_Rooms_1F_EventScript_1B187D, FLAG_ITEM_ABANDONED_SHIP_ROOMS_1F_1
-
-AbandonedShip_Rooms_1F_MapWarps:: @ 838E1F4
- warp_def 4, 16, 3, 4, MAP_ABANDONED_SHIP_CORRIDORS_1F
- warp_def 5, 16, 3, 4, MAP_ABANDONED_SHIP_CORRIDORS_1F
- warp_def 4, 1, 3, 6, MAP_ABANDONED_SHIP_CORRIDORS_1F
- warp_def 13, 16, 3, 5, MAP_ABANDONED_SHIP_CORRIDORS_1F
- warp_def 13, 1, 3, 7, MAP_ABANDONED_SHIP_CORRIDORS_1F
- warp_def 14, 16, 3, 5, MAP_ABANDONED_SHIP_CORRIDORS_1F
-
-AbandonedShip_Rooms_1F_MapEvents:: @ 838E224
- map_events AbandonedShip_Rooms_1F_EventObjects, AbandonedShip_Rooms_1F_MapWarps, 0x0, 0x0
diff --git a/data/maps/AbandonedShip_Rooms_1F/header.inc b/data/maps/AbandonedShip_Rooms_1F/header.inc
deleted file mode 100644
index c660f4a33..000000000
--- a/data/maps/AbandonedShip_Rooms_1F/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-AbandonedShip_Rooms_1F:: @ 8307390
- .4byte AbandonedShip_Rooms_1F_Layout
- .4byte AbandonedShip_Rooms_1F_MapEvents
- .4byte AbandonedShip_Rooms_1F_MapScripts
- .4byte 0x0
- .2byte MUS_DAN02
- .2byte 189
- .byte MAPSEC_ABANDONED_SHIP
- .byte 0
- .byte WEATHER_SHADE
- .byte MAP_TYPE_UNDERGROUND
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/AbandonedShip_Rooms_1F/map.json b/data/maps/AbandonedShip_Rooms_1F/map.json
new file mode 100644
index 000000000..dbff0fb56
--- /dev/null
+++ b/data/maps/AbandonedShip_Rooms_1F/map.json
@@ -0,0 +1,87 @@
+{
+ "id": "MAP_ABANDONED_SHIP_ROOMS_1F",
+ "name": "AbandonedShip_Rooms_1F",
+ "layout": "LAYOUT_ABANDONED_SHIP_ROOMS_1F",
+ "music": "MUS_DAN02",
+ "region_map_section": "MAPSEC_ABANDONED_SHIP",
+ "requires_flash": false,
+ "weather": "WEATHER_SHADE",
+ "map_type": "MAP_TYPE_UNDERGROUND",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_GENTLEMAN",
+ "x": 11,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "AbandonedShip_Rooms_1F_EventScript_15E986",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ITEM_BALL",
+ "x": 4,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "AbandonedShip_Rooms_1F_EventScript_1B187D",
+ "flag": "FLAG_ITEM_ABANDONED_SHIP_ROOMS_1F_1"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 4,
+ "y": 16,
+ "elevation": 3,
+ "dest_map": "MAP_ABANDONED_SHIP_CORRIDORS_1F",
+ "dest_warp_id": 4
+ },
+ {
+ "x": 5,
+ "y": 16,
+ "elevation": 3,
+ "dest_map": "MAP_ABANDONED_SHIP_CORRIDORS_1F",
+ "dest_warp_id": 4
+ },
+ {
+ "x": 4,
+ "y": 1,
+ "elevation": 3,
+ "dest_map": "MAP_ABANDONED_SHIP_CORRIDORS_1F",
+ "dest_warp_id": 6
+ },
+ {
+ "x": 13,
+ "y": 16,
+ "elevation": 3,
+ "dest_map": "MAP_ABANDONED_SHIP_CORRIDORS_1F",
+ "dest_warp_id": 5
+ },
+ {
+ "x": 13,
+ "y": 1,
+ "elevation": 3,
+ "dest_map": "MAP_ABANDONED_SHIP_CORRIDORS_1F",
+ "dest_warp_id": 7
+ },
+ {
+ "x": 14,
+ "y": 16,
+ "elevation": 3,
+ "dest_map": "MAP_ABANDONED_SHIP_CORRIDORS_1F",
+ "dest_warp_id": 5
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/AbandonedShip_Rooms_B1F/events.inc b/data/maps/AbandonedShip_Rooms_B1F/events.inc
deleted file mode 100644
index bf71689e8..000000000
--- a/data/maps/AbandonedShip_Rooms_B1F/events.inc
+++ /dev/null
@@ -1,11 +0,0 @@
-AbandonedShip_Rooms_B1F_EventObjects:: @ 838E2C8
- object_event 1, EVENT_OBJ_GFX_FAT_MAN, 0, 25, 6, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, AbandonedShip_Rooms_B1F_EventScript_15EA44, 0
- object_event 2, EVENT_OBJ_GFX_ITEM_BALL, 0, 6, 7, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, AbandonedShip_Rooms_B1F_EventScript_1B188A, FLAG_ITEM_ABANDONED_SHIP_ROOMS_B1F_1
-
-AbandonedShip_Rooms_B1F_MapWarps:: @ 838E2F8
- warp_def 4, 1, 3, 2, MAP_ABANDONED_SHIP_CORRIDORS_B1F
- warp_def 13, 1, 3, 3, MAP_ABANDONED_SHIP_CORRIDORS_B1F
- warp_def 22, 1, 3, 4, MAP_ABANDONED_SHIP_CORRIDORS_B1F
-
-AbandonedShip_Rooms_B1F_MapEvents:: @ 838E310
- map_events AbandonedShip_Rooms_B1F_EventObjects, AbandonedShip_Rooms_B1F_MapWarps, 0x0, 0x0
diff --git a/data/maps/AbandonedShip_Rooms_B1F/header.inc b/data/maps/AbandonedShip_Rooms_B1F/header.inc
deleted file mode 100644
index 360864803..000000000
--- a/data/maps/AbandonedShip_Rooms_B1F/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-AbandonedShip_Rooms_B1F:: @ 83073C8
- .4byte AbandonedShip_Rooms_B1F_Layout
- .4byte AbandonedShip_Rooms_B1F_MapEvents
- .4byte AbandonedShip_Rooms_B1F_MapScripts
- .4byte 0x0
- .2byte MUS_DAN02
- .2byte 191
- .byte MAPSEC_ABANDONED_SHIP
- .byte 0
- .byte WEATHER_SHADE
- .byte MAP_TYPE_UNDERGROUND
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/AbandonedShip_Rooms_B1F/map.json b/data/maps/AbandonedShip_Rooms_B1F/map.json
new file mode 100644
index 000000000..276c9af99
--- /dev/null
+++ b/data/maps/AbandonedShip_Rooms_B1F/map.json
@@ -0,0 +1,66 @@
+{
+ "id": "MAP_ABANDONED_SHIP_ROOMS_B1F",
+ "name": "AbandonedShip_Rooms_B1F",
+ "layout": "LAYOUT_ABANDONED_SHIP_ROOMS_B1F",
+ "music": "MUS_DAN02",
+ "region_map_section": "MAPSEC_ABANDONED_SHIP",
+ "requires_flash": false,
+ "weather": "WEATHER_SHADE",
+ "map_type": "MAP_TYPE_UNDERGROUND",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_FAT_MAN",
+ "x": 25,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "AbandonedShip_Rooms_B1F_EventScript_15EA44",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ITEM_BALL",
+ "x": 6,
+ "y": 7,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "AbandonedShip_Rooms_B1F_EventScript_1B188A",
+ "flag": "FLAG_ITEM_ABANDONED_SHIP_ROOMS_B1F_1"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 4,
+ "y": 1,
+ "elevation": 3,
+ "dest_map": "MAP_ABANDONED_SHIP_CORRIDORS_B1F",
+ "dest_warp_id": 2
+ },
+ {
+ "x": 13,
+ "y": 1,
+ "elevation": 3,
+ "dest_map": "MAP_ABANDONED_SHIP_CORRIDORS_B1F",
+ "dest_warp_id": 3
+ },
+ {
+ "x": 22,
+ "y": 1,
+ "elevation": 3,
+ "dest_map": "MAP_ABANDONED_SHIP_CORRIDORS_B1F",
+ "dest_warp_id": 4
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/AbandonedShip_Underwater1/events.inc b/data/maps/AbandonedShip_Underwater1/events.inc
deleted file mode 100644
index 17a89c2aa..000000000
--- a/data/maps/AbandonedShip_Underwater1/events.inc
+++ /dev/null
@@ -1,6 +0,0 @@
-AbandonedShip_Underwater1_MapWarps:: @ 838E388
- warp_def 3, 7, 3, 0, MAP_ABANDONED_SHIP_UNDERWATER2
- warp_def 4, 7, 3, 0, MAP_ABANDONED_SHIP_UNDERWATER2
-
-AbandonedShip_Underwater1_MapEvents:: @ 838E398
- map_events 0x0, AbandonedShip_Underwater1_MapWarps, 0x0, 0x0
diff --git a/data/maps/AbandonedShip_Underwater1/header.inc b/data/maps/AbandonedShip_Underwater1/header.inc
deleted file mode 100644
index 12f2c380b..000000000
--- a/data/maps/AbandonedShip_Underwater1/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-AbandonedShip_Underwater1:: @ 8307400
- .4byte AbandonedShip_Underwater1_Layout
- .4byte AbandonedShip_Underwater1_MapEvents
- .4byte AbandonedShip_Underwater1_MapScripts
- .4byte 0x0
- .2byte MUS_DEEPDEEP
- .2byte 193
- .byte MAPSEC_ABANDONED_SHIP
- .byte 0
- .byte WEATHER_BUBBLES
- .byte MAP_TYPE_UNDERWATER
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/AbandonedShip_Underwater1/map.json b/data/maps/AbandonedShip_Underwater1/map.json
new file mode 100644
index 000000000..a3e1bafb6
--- /dev/null
+++ b/data/maps/AbandonedShip_Underwater1/map.json
@@ -0,0 +1,32 @@
+{
+ "id": "MAP_ABANDONED_SHIP_UNDERWATER1",
+ "name": "AbandonedShip_Underwater1",
+ "layout": "LAYOUT_ABANDONED_SHIP_UNDERWATER1",
+ "music": "MUS_DEEPDEEP",
+ "region_map_section": "MAPSEC_ABANDONED_SHIP",
+ "requires_flash": false,
+ "weather": "WEATHER_BUBBLES",
+ "map_type": "MAP_TYPE_UNDERWATER",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [],
+ "warp_events": [
+ {
+ "x": 3,
+ "y": 7,
+ "elevation": 3,
+ "dest_map": "MAP_ABANDONED_SHIP_UNDERWATER2",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 4,
+ "y": 7,
+ "elevation": 3,
+ "dest_map": "MAP_ABANDONED_SHIP_UNDERWATER2",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/AbandonedShip_Underwater2/events.inc b/data/maps/AbandonedShip_Underwater2/events.inc
deleted file mode 100644
index 6eb94059c..000000000
--- a/data/maps/AbandonedShip_Underwater2/events.inc
+++ /dev/null
@@ -1,5 +0,0 @@
-AbandonedShip_Underwater2_MapWarps:: @ 838E4B0
- warp_def 3, 1, 3, 0, MAP_ABANDONED_SHIP_UNDERWATER1
-
-AbandonedShip_Underwater2_MapEvents:: @ 838E4B8
- map_events 0x0, AbandonedShip_Underwater2_MapWarps, 0x0, 0x0
diff --git a/data/maps/AbandonedShip_Underwater2/header.inc b/data/maps/AbandonedShip_Underwater2/header.inc
deleted file mode 100644
index 435ee67a3..000000000
--- a/data/maps/AbandonedShip_Underwater2/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-AbandonedShip_Underwater2:: @ 8307470
- .4byte AbandonedShip_Underwater2_Layout
- .4byte AbandonedShip_Underwater2_MapEvents
- .4byte AbandonedShip_Underwater2_MapScripts
- .4byte 0x0
- .2byte MUS_DEEPDEEP
- .2byte 197
- .byte MAPSEC_ABANDONED_SHIP
- .byte 0
- .byte WEATHER_BUBBLES
- .byte MAP_TYPE_UNDERWATER
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/AbandonedShip_Underwater2/map.json b/data/maps/AbandonedShip_Underwater2/map.json
new file mode 100644
index 000000000..ddffa3ccd
--- /dev/null
+++ b/data/maps/AbandonedShip_Underwater2/map.json
@@ -0,0 +1,25 @@
+{
+ "id": "MAP_ABANDONED_SHIP_UNDERWATER2",
+ "name": "AbandonedShip_Underwater2",
+ "layout": "LAYOUT_ABANDONED_SHIP_UNDERWATER2",
+ "music": "MUS_DEEPDEEP",
+ "region_map_section": "MAPSEC_ABANDONED_SHIP",
+ "requires_flash": false,
+ "weather": "WEATHER_BUBBLES",
+ "map_type": "MAP_TYPE_UNDERWATER",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [],
+ "warp_events": [
+ {
+ "x": 3,
+ "y": 1,
+ "elevation": 3,
+ "dest_map": "MAP_ABANDONED_SHIP_UNDERWATER1",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/AncientTomb/events.inc b/data/maps/AncientTomb/events.inc
deleted file mode 100644
index 7e3d33c70..000000000
--- a/data/maps/AncientTomb/events.inc
+++ /dev/null
@@ -1,15 +0,0 @@
-AncientTomb_EventObjects:: @ 838E6DC
- object_event 1, EVENT_OBJ_GFX_REGISTEEL, 0, 8, 7, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, AncientTomb_EventScript_15F050, FLAG_HIDE_REGISTEEL
-
-AncientTomb_MapWarps:: @ 838E6F4
- warp_def 8, 29, 3, 0, MAP_ROUTE120
- warp_def 8, 20, 0, 2, MAP_ANCIENT_TOMB
- warp_def 8, 11, 3, 1, MAP_ANCIENT_TOMB
-
-AncientTomb_MapBGEvents:: @ 838E70C
- bg_event 8, 20, 0, BG_EVENT_PLAYER_FACING_ANY, AncientTomb_EventScript_15F021
- bg_event 7, 20, 0, BG_EVENT_PLAYER_FACING_ANY, AncientTomb_EventScript_15F042
- bg_event 9, 20, 0, BG_EVENT_PLAYER_FACING_ANY, AncientTomb_EventScript_15F042
-
-AncientTomb_MapEvents:: @ 838E730
- map_events AncientTomb_EventObjects, AncientTomb_MapWarps, 0x0, AncientTomb_MapBGEvents
diff --git a/data/maps/AncientTomb/header.inc b/data/maps/AncientTomb/header.inc
deleted file mode 100644
index 30487ab6b..000000000
--- a/data/maps/AncientTomb/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-AncientTomb:: @ 83074E0
- .4byte AncientTomb_Layout
- .4byte AncientTomb_MapEvents
- .4byte AncientTomb_MapScripts
- .4byte 0x0
- .2byte MUS_MABOROSI
- .2byte 282
- .byte MAPSEC_ANCIENT_TOMB
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_UNDERGROUND
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/AncientTomb/map.json b/data/maps/AncientTomb/map.json
new file mode 100644
index 000000000..b9f8d49df
--- /dev/null
+++ b/data/maps/AncientTomb/map.json
@@ -0,0 +1,78 @@
+{
+ "id": "MAP_ANCIENT_TOMB",
+ "name": "AncientTomb",
+ "layout": "LAYOUT_ANCIENT_TOMB",
+ "music": "MUS_MABOROSI",
+ "region_map_section": "MAPSEC_ANCIENT_TOMB",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_UNDERGROUND",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_REGISTEEL",
+ "x": 8,
+ "y": 7,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "AncientTomb_EventScript_15F050",
+ "flag": "FLAG_HIDE_REGISTEEL"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 8,
+ "y": 29,
+ "elevation": 3,
+ "dest_map": "MAP_ROUTE120",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 8,
+ "y": 20,
+ "elevation": 0,
+ "dest_map": "MAP_ANCIENT_TOMB",
+ "dest_warp_id": 2
+ },
+ {
+ "x": 8,
+ "y": 11,
+ "elevation": 3,
+ "dest_map": "MAP_ANCIENT_TOMB",
+ "dest_warp_id": 1
+ }
+ ],
+ "coord_events": [],
+ "bg_events": [
+ {
+ "type": "sign",
+ "x": 8,
+ "y": 20,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "AncientTomb_EventScript_15F021"
+ },
+ {
+ "type": "sign",
+ "x": 7,
+ "y": 20,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "AncientTomb_EventScript_15F042"
+ },
+ {
+ "type": "sign",
+ "x": 9,
+ "y": 20,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "AncientTomb_EventScript_15F042"
+ }
+ ]
+} \ No newline at end of file
diff --git a/data/maps/AquaHideout_1F/events.inc b/data/maps/AquaHideout_1F/events.inc
deleted file mode 100644
index 89bd9cdae..000000000
--- a/data/maps/AquaHideout_1F/events.inc
+++ /dev/null
@@ -1,12 +0,0 @@
-AquaHideout_1F_EventObjects:: @ 838CD0C
- object_event 1, EVENT_OBJ_GFX_VAR_1, 0, 13, 11, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, AquaHideout_1F_EventScript_15D7CE, FLAG_HIDE_GRUNT_1_BLOCKING_HIDEOUT
- object_event 2, EVENT_OBJ_GFX_VAR_1, 0, 14, 11, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, AquaHideout_1F_EventScript_15D7ED, FLAG_HIDE_GRUNT_2_BLOCKING_HIDEOUT
- object_event 3, EVENT_OBJ_GFX_VAR_1, 0, 20, 4, 3, MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_LEFT_UP_RIGHT, 13, 5, 1, 3, AquaHideout_1F_EventScript_15D80C, FLAG_HIDE_GRUNTS_HIDEOUTS
-
-AquaHideout_1F_MapWarps:: @ 838CD54
- warp_def 13, 27, 1, 6, MAP_LILYCOVE_CITY
- warp_def 14, 27, 1, 6, MAP_LILYCOVE_CITY
- warp_def 22, 1, 3, 0, MAP_AQUA_HIDEOUT_B1F
-
-AquaHideout_1F_MapEvents:: @ 838CD6C
- map_events AquaHideout_1F_EventObjects, AquaHideout_1F_MapWarps, 0x0, 0x0
diff --git a/data/maps/AquaHideout_1F/header.inc b/data/maps/AquaHideout_1F/header.inc
deleted file mode 100644
index 68c4b3a67..000000000
--- a/data/maps/AquaHideout_1F/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-AquaHideout_1F:: @ 8306FF4
- .4byte AquaHideout_1F_Layout
- .4byte AquaHideout_1F_MapEvents
- .4byte AquaHideout_1F_MapScripts
- .4byte 0x0
- .2byte MUS_AJITO
- .2byte 144
- .byte MAPSEC_EVIL_TEAM_HIDEOUT
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_AQUA
diff --git a/data/maps/AquaHideout_1F/map.json b/data/maps/AquaHideout_1F/map.json
new file mode 100644
index 000000000..711a88409
--- /dev/null
+++ b/data/maps/AquaHideout_1F/map.json
@@ -0,0 +1,79 @@
+{
+ "id": "MAP_AQUA_HIDEOUT_1F",
+ "name": "AquaHideout_1F",
+ "layout": "LAYOUT_AQUA_HIDEOUT_1F",
+ "music": "MUS_AJITO",
+ "region_map_section": "MAPSEC_EVIL_TEAM_HIDEOUT",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_AQUA",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_1",
+ "x": 13,
+ "y": 11,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "AquaHideout_1F_EventScript_15D7CE",
+ "flag": "FLAG_HIDE_GRUNT_1_BLOCKING_HIDEOUT"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_1",
+ "x": 14,
+ "y": 11,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "AquaHideout_1F_EventScript_15D7ED",
+ "flag": "FLAG_HIDE_GRUNT_2_BLOCKING_HIDEOUT"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_1",
+ "x": 20,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_LEFT_UP_RIGHT",
+ "movement_range_x": 13,
+ "movement_range_y": 5,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "3",
+ "script": "AquaHideout_1F_EventScript_15D80C",
+ "flag": "FLAG_HIDE_GRUNTS_HIDEOUTS"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 13,
+ "y": 27,
+ "elevation": 1,
+ "dest_map": "MAP_LILYCOVE_CITY",
+ "dest_warp_id": 6
+ },
+ {
+ "x": 14,
+ "y": 27,
+ "elevation": 1,
+ "dest_map": "MAP_LILYCOVE_CITY",
+ "dest_warp_id": 6
+ },
+ {
+ "x": 22,
+ "y": 1,
+ "elevation": 3,
+ "dest_map": "MAP_AQUA_HIDEOUT_B1F",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/AquaHideout_B1F/events.inc b/data/maps/AquaHideout_B1F/events.inc
deleted file mode 100644
index b1ef6b598..000000000
--- a/data/maps/AquaHideout_B1F/events.inc
+++ /dev/null
@@ -1,39 +0,0 @@
-AquaHideout_B1F_EventObjects:: @ 838CD80
- object_event 1, EVENT_OBJ_GFX_VAR_1, 0, 27, 18, 3, MOVEMENT_TYPE_ROTATE_CLOCKWISE, 0, 0, 1, 3, AquaHideout_B1F_EventScript_15D850, FLAG_HIDE_GRUNTS_HIDEOUTS
- object_event 2, EVENT_OBJ_GFX_VAR_1, 0, 6, 6, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 1, 5, AquaHideout_B1F_EventScript_15D875, FLAG_HIDE_GRUNTS_HIDEOUTS
- object_event 3, EVENT_OBJ_GFX_ITEM_BALL, 0, 29, 12, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, AquaHideout_B1F_EventScript_1B19A8, FLAG_ITEM_AQUA_HIDEOUT_B1F_1
- object_event 4, EVENT_OBJ_GFX_VAR_2, 0, 20, 18, 3, MOVEMENT_TYPE_WALK_LEFT_AND_RIGHT, 4, 0, 1, 4, AquaHideout_B1F_EventScript_15D89A, FLAG_HIDE_GRUNTS_HIDEOUTS
- object_event 5, EVENT_OBJ_GFX_ITEM_BALL, 0, 15, 9, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, AquaHideout_B1F_EventScript_1B198E, FLAG_ITEM_AQUA_HIDEOUT_B1F_2
- object_event 6, EVENT_OBJ_GFX_ITEM_BALL, 0, 16, 9, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, AquaHideout_B1F_EventScript_1A04FD, FLAG_HIDE_ELECTRODE_1_HIDEOUT
- object_event 7, EVENT_OBJ_GFX_ITEM_BALL, 0, 15, 10, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, AquaHideout_B1F_EventScript_1B199B, FLAG_ITEM_AQUA_HIDEOUT_B1F_3
- object_event 8, EVENT_OBJ_GFX_ITEM_BALL, 0, 16, 10, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, AquaHideout_B1F_EventScript_1A051B, FLAG_HIDE_ELECTRODE_2_HIDEOUT
-
-AquaHideout_B1F_MapWarps:: @ 838CE40
- warp_def 29, 1, 3, 2, MAP_AQUA_HIDEOUT_1F
- warp_def 18, 1, 3, 0, MAP_AQUA_HIDEOUT_B2F
- warp_def 12, 1, 3, 1, MAP_AQUA_HIDEOUT_B2F
- warp_def 3, 3, 3, 2, MAP_AQUA_HIDEOUT_B2F
- warp_def 31, 4, 3, 7, MAP_AQUA_HIDEOUT_B1F
- warp_def 27, 4, 3, 8, MAP_AQUA_HIDEOUT_B1F
- warp_def 20, 4, 3, 10, MAP_AQUA_HIDEOUT_B1F
- warp_def 27, 12, 3, 4, MAP_AQUA_HIDEOUT_B1F
- warp_def 3, 15, 3, 5, MAP_AQUA_HIDEOUT_B1F
- warp_def 3, 20, 3, 12, MAP_AQUA_HIDEOUT_B1F
- warp_def 32, 19, 3, 6, MAP_AQUA_HIDEOUT_B1F
- warp_def 23, 10, 3, 22, MAP_AQUA_HIDEOUT_B1F
- warp_def 45, 3, 3, 9, MAP_AQUA_HIDEOUT_B1F
- warp_def 42, 5, 3, 18, MAP_AQUA_HIDEOUT_B1F
- warp_def 45, 5, 3, 12, MAP_AQUA_HIDEOUT_B1F
- warp_def 48, 5, 3, 16, MAP_AQUA_HIDEOUT_B1F
- warp_def 42, 9, 3, 15, MAP_AQUA_HIDEOUT_B1F
- warp_def 45, 9, 3, 20, MAP_AQUA_HIDEOUT_B1F
- warp_def 48, 9, 3, 13, MAP_AQUA_HIDEOUT_B1F
- warp_def 42, 13, 3, 24, MAP_AQUA_HIDEOUT_B1F
- warp_def 45, 13, 3, 17, MAP_AQUA_HIDEOUT_B1F
- warp_def 48, 13, 3, 12, MAP_AQUA_HIDEOUT_B1F
- warp_def 42, 17, 3, 11, MAP_AQUA_HIDEOUT_B1F
- warp_def 45, 17, 3, 17, MAP_AQUA_HIDEOUT_B1F
- warp_def 48, 17, 3, 19, MAP_AQUA_HIDEOUT_B1F
-
-AquaHideout_B1F_MapEvents:: @ 838CF08
- map_events AquaHideout_B1F_EventObjects, AquaHideout_B1F_MapWarps, 0x0, 0x0
diff --git a/data/maps/AquaHideout_B1F/header.inc b/data/maps/AquaHideout_B1F/header.inc
deleted file mode 100644
index d7ed443d2..000000000
--- a/data/maps/AquaHideout_B1F/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-AquaHideout_B1F:: @ 8307010
- .4byte AquaHideout_B1F_Layout
- .4byte AquaHideout_B1F_MapEvents
- .4byte AquaHideout_B1F_MapScripts
- .4byte 0x0
- .2byte MUS_AJITO
- .2byte 145
- .byte MAPSEC_EVIL_TEAM_HIDEOUT
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_AQUA
diff --git a/data/maps/AquaHideout_B1F/map.json b/data/maps/AquaHideout_B1F/map.json
new file mode 100644
index 000000000..1bf19ee24
--- /dev/null
+++ b/data/maps/AquaHideout_B1F/map.json
@@ -0,0 +1,298 @@
+{
+ "id": "MAP_AQUA_HIDEOUT_B1F",
+ "name": "AquaHideout_B1F",
+ "layout": "LAYOUT_AQUA_HIDEOUT_B1F",
+ "music": "MUS_AJITO",
+ "region_map_section": "MAPSEC_EVIL_TEAM_HIDEOUT",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_AQUA",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_1",
+ "x": 27,
+ "y": 18,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_ROTATE_CLOCKWISE",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "3",
+ "script": "AquaHideout_B1F_EventScript_15D850",
+ "flag": "FLAG_HIDE_GRUNTS_HIDEOUTS"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_1",
+ "x": 6,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "5",
+ "script": "AquaHideout_B1F_EventScript_15D875",
+ "flag": "FLAG_HIDE_GRUNTS_HIDEOUTS"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ITEM_BALL",
+ "x": 29,
+ "y": 12,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "AquaHideout_B1F_EventScript_1B19A8",
+ "flag": "FLAG_ITEM_AQUA_HIDEOUT_B1F_1"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_2",
+ "x": 20,
+ "y": 18,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WALK_LEFT_AND_RIGHT",
+ "movement_range_x": 4,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "4",
+ "script": "AquaHideout_B1F_EventScript_15D89A",
+ "flag": "FLAG_HIDE_GRUNTS_HIDEOUTS"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ITEM_BALL",
+ "x": 15,
+ "y": 9,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "AquaHideout_B1F_EventScript_1B198E",
+ "flag": "FLAG_ITEM_AQUA_HIDEOUT_B1F_2"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ITEM_BALL",
+ "x": 16,
+ "y": 9,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "AquaHideout_B1F_EventScript_1A04FD",
+ "flag": "FLAG_HIDE_ELECTRODE_1_HIDEOUT"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ITEM_BALL",
+ "x": 15,
+ "y": 10,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "AquaHideout_B1F_EventScript_1B199B",
+ "flag": "FLAG_ITEM_AQUA_HIDEOUT_B1F_3"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ITEM_BALL",
+ "x": 16,
+ "y": 10,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "AquaHideout_B1F_EventScript_1A051B",
+ "flag": "FLAG_HIDE_ELECTRODE_2_HIDEOUT"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 29,
+ "y": 1,
+ "elevation": 3,
+ "dest_map": "MAP_AQUA_HIDEOUT_1F",
+ "dest_warp_id": 2
+ },
+ {
+ "x": 18,
+ "y": 1,
+ "elevation": 3,
+ "dest_map": "MAP_AQUA_HIDEOUT_B2F",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 12,
+ "y": 1,
+ "elevation": 3,
+ "dest_map": "MAP_AQUA_HIDEOUT_B2F",
+ "dest_warp_id": 1
+ },
+ {
+ "x": 3,
+ "y": 3,
+ "elevation": 3,
+ "dest_map": "MAP_AQUA_HIDEOUT_B2F",
+ "dest_warp_id": 2
+ },
+ {
+ "x": 31,
+ "y": 4,
+ "elevation": 3,
+ "dest_map": "MAP_AQUA_HIDEOUT_B1F",
+ "dest_warp_id": 7
+ },
+ {
+ "x": 27,
+ "y": 4,
+ "elevation": 3,
+ "dest_map": "MAP_AQUA_HIDEOUT_B1F",
+ "dest_warp_id": 8
+ },
+ {
+ "x": 20,
+ "y": 4,
+ "elevation": 3,
+ "dest_map": "MAP_AQUA_HIDEOUT_B1F",
+ "dest_warp_id": 10
+ },
+ {
+ "x": 27,
+ "y": 12,
+ "elevation": 3,
+ "dest_map": "MAP_AQUA_HIDEOUT_B1F",
+ "dest_warp_id": 4
+ },
+ {
+ "x": 3,
+ "y": 15,
+ "elevation": 3,
+ "dest_map": "MAP_AQUA_HIDEOUT_B1F",
+ "dest_warp_id": 5
+ },
+ {
+ "x": 3,
+ "y": 20,
+ "elevation": 3,
+ "dest_map": "MAP_AQUA_HIDEOUT_B1F",
+ "dest_warp_id": 12
+ },
+ {
+ "x": 32,
+ "y": 19,
+ "elevation": 3,
+ "dest_map": "MAP_AQUA_HIDEOUT_B1F",
+ "dest_warp_id": 6
+ },
+ {
+ "x": 23,
+ "y": 10,
+ "elevation": 3,
+ "dest_map": "MAP_AQUA_HIDEOUT_B1F",
+ "dest_warp_id": 22
+ },
+ {
+ "x": 45,
+ "y": 3,
+ "elevation": 3,
+ "dest_map": "MAP_AQUA_HIDEOUT_B1F",
+ "dest_warp_id": 9
+ },
+ {
+ "x": 42,
+ "y": 5,
+ "elevation": 3,
+ "dest_map": "MAP_AQUA_HIDEOUT_B1F",
+ "dest_warp_id": 18
+ },
+ {
+ "x": 45,
+ "y": 5,
+ "elevation": 3,
+ "dest_map": "MAP_AQUA_HIDEOUT_B1F",
+ "dest_warp_id": 12
+ },
+ {
+ "x": 48,
+ "y": 5,
+ "elevation": 3,
+ "dest_map": "MAP_AQUA_HIDEOUT_B1F",
+ "dest_warp_id": 16
+ },
+ {
+ "x": 42,
+ "y": 9,
+ "elevation": 3,
+ "dest_map": "MAP_AQUA_HIDEOUT_B1F",
+ "dest_warp_id": 15
+ },
+ {
+ "x": 45,
+ "y": 9,
+ "elevation": 3,
+ "dest_map": "MAP_AQUA_HIDEOUT_B1F",
+ "dest_warp_id": 20
+ },
+ {
+ "x": 48,
+ "y": 9,
+ "elevation": 3,
+ "dest_map": "MAP_AQUA_HIDEOUT_B1F",
+ "dest_warp_id": 13
+ },
+ {
+ "x": 42,
+ "y": 13,
+ "elevation": 3,
+ "dest_map": "MAP_AQUA_HIDEOUT_B1F",
+ "dest_warp_id": 24
+ },
+ {
+ "x": 45,
+ "y": 13,
+ "elevation": 3,
+ "dest_map": "MAP_AQUA_HIDEOUT_B1F",
+ "dest_warp_id": 17
+ },
+ {
+ "x": 48,
+ "y": 13,
+ "elevation": 3,
+ "dest_map": "MAP_AQUA_HIDEOUT_B1F",
+ "dest_warp_id": 12
+ },
+ {
+ "x": 42,
+ "y": 17,
+ "elevation": 3,
+ "dest_map": "MAP_AQUA_HIDEOUT_B1F",
+ "dest_warp_id": 11
+ },
+ {
+ "x": 45,
+ "y": 17,
+ "elevation": 3,
+ "dest_map": "MAP_AQUA_HIDEOUT_B1F",
+ "dest_warp_id": 17
+ },
+ {
+ "x": 48,
+ "y": 17,
+ "elevation": 3,
+ "dest_map": "MAP_AQUA_HIDEOUT_B1F",
+ "dest_warp_id": 19
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/AquaHideout_B2F/events.inc b/data/maps/AquaHideout_B2F/events.inc
deleted file mode 100644
index ac44e95b8..000000000
--- a/data/maps/AquaHideout_B2F/events.inc
+++ /dev/null
@@ -1,25 +0,0 @@
-AquaHideout_B2F_EventObjects:: @ 838CF1C
- object_event 1, EVENT_OBJ_GFX_VAR_1, 0, 23, 19, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, AquaHideout_B2F_EventScript_15D8E1, FLAG_HIDE_GRUNTS_HIDEOUTS
- object_event 2, EVENT_OBJ_GFX_VAR_1, 0, 23, 10, 3, MOVEMENT_TYPE_WALK_SEQUENCE_UP_LEFT_DOWN_RIGHT, 4, 3, 1, 3, AquaHideout_B2F_EventScript_15D962, FLAG_HIDE_GRUNTS_HIDEOUTS
- object_event 3, EVENT_OBJ_GFX_ITEM_BALL, 0, 3, 13, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, AquaHideout_B2F_EventScript_1B19B5, FLAG_ITEM_AQUA_HIDEOUT_B2F_1
- object_event 4, EVENT_OBJ_GFX_SUBMARINE_SHADOW, 0, 19, 20, 1, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, 0x0, FLAG_HIDE_SUBMARINE_SHADOW_HIDEOUT
- object_event 5, EVENT_OBJ_GFX_VAR_2, 0, 10, 6, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 1, 4, AquaHideout_B2F_EventScript_15D987, FLAG_HIDE_GRUNTS_HIDEOUTS
-
-AquaHideout_B2F_MapWarps:: @ 838CF94
- warp_def 18, 1, 3, 1, MAP_AQUA_HIDEOUT_B1F
- warp_def 12, 1, 3, 2, MAP_AQUA_HIDEOUT_B1F
- warp_def 3, 3, 3, 3, MAP_AQUA_HIDEOUT_B1F
- warp_def 31, 8, 3, 5, MAP_AQUA_HIDEOUT_B2F
- warp_def 8, 8, 3, 8, MAP_AQUA_HIDEOUT_B2F
- warp_def 5, 8, 3, 3, MAP_AQUA_HIDEOUT_B2F
- warp_def 18, 13, 3, 7, MAP_AQUA_HIDEOUT_B2F
- warp_def 12, 13, 3, 6, MAP_AQUA_HIDEOUT_B2F
- warp_def 31, 17, 3, 4, MAP_AQUA_HIDEOUT_B2F
- warp_def 32, 20, 3, 4, MAP_AQUA_HIDEOUT_B1F
-
-AquaHideout_B2F_MapCoordEvents:: @ 838CFE4
- coord_event 28, 17, 3, VAR_TEMP_1, 0, AquaHideout_B2F_EventScript_15D8BD
- coord_event 28, 16, 3, VAR_TEMP_1, 0, AquaHideout_B2F_EventScript_15D8BD
-
-AquaHideout_B2F_MapEvents:: @ 838D004
- map_events AquaHideout_B2F_EventObjects, AquaHideout_B2F_MapWarps, AquaHideout_B2F_MapCoordEvents, 0x0
diff --git a/data/maps/AquaHideout_B2F/header.inc b/data/maps/AquaHideout_B2F/header.inc
deleted file mode 100644
index 22e30f598..000000000
--- a/data/maps/AquaHideout_B2F/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-AquaHideout_B2F:: @ 830702C
- .4byte AquaHideout_B2F_Layout
- .4byte AquaHideout_B2F_MapEvents
- .4byte AquaHideout_B2F_MapScripts
- .4byte 0x0
- .2byte MUS_AJITO
- .2byte 146
- .byte MAPSEC_EVIL_TEAM_HIDEOUT
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_AQUA
diff --git a/data/maps/AquaHideout_B2F/map.json b/data/maps/AquaHideout_B2F/map.json
new file mode 100644
index 000000000..c15429c2a
--- /dev/null
+++ b/data/maps/AquaHideout_B2F/map.json
@@ -0,0 +1,173 @@
+{
+ "id": "MAP_AQUA_HIDEOUT_B2F",
+ "name": "AquaHideout_B2F",
+ "layout": "LAYOUT_AQUA_HIDEOUT_B2F",
+ "music": "MUS_AJITO",
+ "region_map_section": "MAPSEC_EVIL_TEAM_HIDEOUT",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_AQUA",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_1",
+ "x": 23,
+ "y": 19,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "AquaHideout_B2F_EventScript_15D8E1",
+ "flag": "FLAG_HIDE_GRUNTS_HIDEOUTS"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_1",
+ "x": 23,
+ "y": 10,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WALK_SEQUENCE_UP_LEFT_DOWN_RIGHT",
+ "movement_range_x": 4,
+ "movement_range_y": 3,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "3",
+ "script": "AquaHideout_B2F_EventScript_15D962",
+ "flag": "FLAG_HIDE_GRUNTS_HIDEOUTS"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ITEM_BALL",
+ "x": 3,
+ "y": 13,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "AquaHideout_B2F_EventScript_1B19B5",
+ "flag": "FLAG_ITEM_AQUA_HIDEOUT_B2F_1"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_SUBMARINE_SHADOW",
+ "x": 19,
+ "y": 20,
+ "elevation": 1,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_HIDE_SUBMARINE_SHADOW_HIDEOUT"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_2",
+ "x": 10,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "4",
+ "script": "AquaHideout_B2F_EventScript_15D987",
+ "flag": "FLAG_HIDE_GRUNTS_HIDEOUTS"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 18,
+ "y": 1,
+ "elevation": 3,
+ "dest_map": "MAP_AQUA_HIDEOUT_B1F",
+ "dest_warp_id": 1
+ },
+ {
+ "x": 12,
+ "y": 1,
+ "elevation": 3,
+ "dest_map": "MAP_AQUA_HIDEOUT_B1F",
+ "dest_warp_id": 2
+ },
+ {
+ "x": 3,
+ "y": 3,
+ "elevation": 3,
+ "dest_map": "MAP_AQUA_HIDEOUT_B1F",
+ "dest_warp_id": 3
+ },
+ {
+ "x": 31,
+ "y": 8,
+ "elevation": 3,
+ "dest_map": "MAP_AQUA_HIDEOUT_B2F",
+ "dest_warp_id": 5
+ },
+ {
+ "x": 8,
+ "y": 8,
+ "elevation": 3,
+ "dest_map": "MAP_AQUA_HIDEOUT_B2F",
+ "dest_warp_id": 8
+ },
+ {
+ "x": 5,
+ "y": 8,
+ "elevation": 3,
+ "dest_map": "MAP_AQUA_HIDEOUT_B2F",
+ "dest_warp_id": 3
+ },
+ {
+ "x": 18,
+ "y": 13,
+ "elevation": 3,
+ "dest_map": "MAP_AQUA_HIDEOUT_B2F",
+ "dest_warp_id": 7
+ },
+ {
+ "x": 12,
+ "y": 13,
+ "elevation": 3,
+ "dest_map": "MAP_AQUA_HIDEOUT_B2F",
+ "dest_warp_id": 6
+ },
+ {
+ "x": 31,
+ "y": 17,
+ "elevation": 3,
+ "dest_map": "MAP_AQUA_HIDEOUT_B2F",
+ "dest_warp_id": 4
+ },
+ {
+ "x": 32,
+ "y": 20,
+ "elevation": 3,
+ "dest_map": "MAP_AQUA_HIDEOUT_B1F",
+ "dest_warp_id": 4
+ }
+ ],
+ "coord_events": [
+ {
+ "type": "trigger",
+ "x": 28,
+ "y": 17,
+ "elevation": 3,
+ "var": "VAR_TEMP_1",
+ "var_value": "0",
+ "script": "AquaHideout_B2F_EventScript_15D8BD"
+ },
+ {
+ "type": "trigger",
+ "x": 28,
+ "y": 16,
+ "elevation": 3,
+ "var": "VAR_TEMP_1",
+ "var_value": "0",
+ "script": "AquaHideout_B2F_EventScript_15D8BD"
+ }
+ ],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/BattleTower_BattleRoom/events.inc b/data/maps/BattleTower_BattleRoom/events.inc
deleted file mode 100644
index 6b7cb0c6d..000000000
--- a/data/maps/BattleTower_BattleRoom/events.inc
+++ /dev/null
@@ -1,10 +0,0 @@
-BattleTower_BattleRoom_EventObjects:: @ 8391DAC
- object_event 1, EVENT_OBJ_GFX_VAR_0, 0, 5, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_HIDE_BATTLE_TOWER_OPPONENT
- object_event 2, EVENT_OBJ_GFX_TEALA, 0, 1, 7, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, 0x0, 0
-
-BattleTower_BattleRoom_MapWarps:: @ 8391DDC
- warp_def 5, 8, 0, 2, MAP_BATTLE_TOWER_LOBBY
- warp_def 6, 8, 0, 2, MAP_BATTLE_TOWER_LOBBY
-
-BattleTower_BattleRoom_MapEvents:: @ 8391DEC
- map_events BattleTower_BattleRoom_EventObjects, BattleTower_BattleRoom_MapWarps, 0x0, 0x0
diff --git a/data/maps/BattleTower_BattleRoom/header.inc b/data/maps/BattleTower_BattleRoom/header.inc
deleted file mode 100644
index f21ded0e5..000000000
--- a/data/maps/BattleTower_BattleRoom/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-BattleTower_BattleRoom:: @ 8307C88
- .4byte BattleTower_BattleRoom_Layout
- .4byte BattleTower_BattleRoom_MapEvents
- .4byte BattleTower_BattleRoom_MapScripts
- .4byte 0x0
- .2byte MUS_B_TOWER
- .2byte 269
- .byte MAPSEC_BATTLE_TOWER
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_BATTLE_TOWER
diff --git a/data/maps/BattleTower_BattleRoom/map.json b/data/maps/BattleTower_BattleRoom/map.json
new file mode 100644
index 000000000..e01643833
--- /dev/null
+++ b/data/maps/BattleTower_BattleRoom/map.json
@@ -0,0 +1,59 @@
+{
+ "id": "MAP_BATTLE_TOWER_BATTLE_ROOM",
+ "name": "BattleTower_BattleRoom",
+ "layout": "LAYOUT_BATTLE_TOWER_BATTLE_ROOM",
+ "music": "MUS_B_TOWER",
+ "region_map_section": "MAPSEC_BATTLE_TOWER",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_BATTLE_TOWER",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_0",
+ "x": 5,
+ "y": 1,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_HIDE_BATTLE_TOWER_OPPONENT"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_TEALA",
+ "x": 1,
+ "y": 7,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 5,
+ "y": 8,
+ "elevation": 0,
+ "dest_map": "MAP_BATTLE_TOWER_LOBBY",
+ "dest_warp_id": 2
+ },
+ {
+ "x": 6,
+ "y": 8,
+ "elevation": 0,
+ "dest_map": "MAP_BATTLE_TOWER_LOBBY",
+ "dest_warp_id": 2
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/BattleTower_Corridor/events.inc b/data/maps/BattleTower_Corridor/events.inc
deleted file mode 100644
index fa312b4df..000000000
--- a/data/maps/BattleTower_Corridor/events.inc
+++ /dev/null
@@ -1,5 +0,0 @@
-BattleTower_Corridor_EventObjects:: @ 8391D80
- object_event 1, EVENT_OBJ_GFX_TEALA, 0, 9, 2, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, 0x0, 0
-
-BattleTower_Corridor_MapEvents:: @ 8391D98
- map_events BattleTower_Corridor_EventObjects, 0x0, 0x0, 0x0
diff --git a/data/maps/BattleTower_Corridor/header.inc b/data/maps/BattleTower_Corridor/header.inc
deleted file mode 100644
index 8d5b0719f..000000000
--- a/data/maps/BattleTower_Corridor/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-BattleTower_Corridor:: @ 8307C6C
- .4byte BattleTower_Corridor_Layout
- .4byte BattleTower_Corridor_MapEvents
- .4byte BattleTower_Corridor_MapScripts
- .4byte 0x0
- .2byte MUS_B_TOWER
- .2byte 268
- .byte MAPSEC_BATTLE_TOWER
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/BattleTower_Corridor/map.json b/data/maps/BattleTower_Corridor/map.json
new file mode 100644
index 000000000..bc61ba6e5
--- /dev/null
+++ b/data/maps/BattleTower_Corridor/map.json
@@ -0,0 +1,31 @@
+{
+ "id": "MAP_BATTLE_TOWER_CORRIDOR",
+ "name": "BattleTower_Corridor",
+ "layout": "LAYOUT_BATTLE_TOWER_CORRIDOR",
+ "music": "MUS_B_TOWER",
+ "region_map_section": "MAPSEC_BATTLE_TOWER",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_TEALA",
+ "x": 9,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/BattleTower_Elevator/events.inc b/data/maps/BattleTower_Elevator/events.inc
deleted file mode 100644
index 8c9012067..000000000
--- a/data/maps/BattleTower_Elevator/events.inc
+++ /dev/null
@@ -1,5 +0,0 @@
-BattleTower_Elevator_EventObjects:: @ 8391D54
- object_event 1, EVENT_OBJ_GFX_TEALA, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, 0x0, 0
-
-BattleTower_Elevator_MapEvents:: @ 8391D6C
- map_events BattleTower_Elevator_EventObjects, 0x0, 0x0, 0x0
diff --git a/data/maps/BattleTower_Elevator/header.inc b/data/maps/BattleTower_Elevator/header.inc
deleted file mode 100644
index 05cb41342..000000000
--- a/data/maps/BattleTower_Elevator/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-BattleTower_Elevator:: @ 8307C50
- .4byte BattleTower_Elevator_Layout
- .4byte BattleTower_Elevator_MapEvents
- .4byte BattleTower_Elevator_MapScripts
- .4byte 0x0
- .2byte MUS_B_TOWER
- .2byte 267
- .byte MAPSEC_BATTLE_TOWER
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/BattleTower_Elevator/map.json b/data/maps/BattleTower_Elevator/map.json
new file mode 100644
index 000000000..fa1eed087
--- /dev/null
+++ b/data/maps/BattleTower_Elevator/map.json
@@ -0,0 +1,31 @@
+{
+ "id": "MAP_BATTLE_TOWER_ELEVATOR",
+ "name": "BattleTower_Elevator",
+ "layout": "LAYOUT_BATTLE_TOWER_ELEVATOR",
+ "music": "MUS_B_TOWER",
+ "region_map_section": "MAPSEC_BATTLE_TOWER",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_TEALA",
+ "x": 1,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/BattleTower_Lobby/events.inc b/data/maps/BattleTower_Lobby/events.inc
deleted file mode 100644
index a07d608ed..000000000
--- a/data/maps/BattleTower_Lobby/events.inc
+++ /dev/null
@@ -1,18 +0,0 @@
-BattleTower_Lobby_EventObjects:: @ 8391C8C
- object_event 1, EVENT_OBJ_GFX_TEALA, 0, 6, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, BattleTower_Lobby_EventScript_16049E, 0
- object_event 2, EVENT_OBJ_GFX_MAN_5, 0, 12, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, BattleTower_Lobby_EventScript_1606A5, 0
- object_event 3, EVENT_OBJ_GFX_WOMAN_7, 0, 10, 8, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, BattleTower_Lobby_EventScript_160715, 0
- object_event 4, EVENT_OBJ_GFX_BOY_1, 0, 1, 2, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, BattleTower_Lobby_EventScript_16071E, 0
- object_event 5, EVENT_OBJ_GFX_REPORTER_F, 0, 4, 7, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, BattleTower_Lobby_EventScript_1AE1FF, FLAG_HIDE_REPORTER_BATTLE_TOWER
- object_event 6, EVENT_OBJ_GFX_MAN_2, 0, 7, 6, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, BattleTower_Lobby_EventScript_160733, FLAG_HIDE_AWARD_MAN_BATTLE_TOWER
-
-BattleTower_Lobby_MapWarps:: @ 8391D1C
- warp_def 6, 8, 0, 0, MAP_BATTLE_TOWER_OUTSIDE
- warp_def 7, 8, 0, 0, MAP_BATTLE_TOWER_OUTSIDE
- warp_def 6, 1, 0, 0, MAP_BATTLE_TOWER_BATTLE_ROOM
-
-BattleTower_Lobby_MapBGEvents:: @ 8391D34
- bg_event 3, 5, 3, BG_EVENT_PLAYER_FACING_NORTH, BattleTower_Lobby_EventScript_160727
-
-BattleTower_Lobby_MapEvents:: @ 8391D40
- map_events BattleTower_Lobby_EventObjects, BattleTower_Lobby_MapWarps, 0x0, BattleTower_Lobby_MapBGEvents
diff --git a/data/maps/BattleTower_Lobby/header.inc b/data/maps/BattleTower_Lobby/header.inc
deleted file mode 100644
index 2a4caadcb..000000000
--- a/data/maps/BattleTower_Lobby/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-BattleTower_Lobby:: @ 8307C34
- .4byte BattleTower_Lobby_Layout
- .4byte BattleTower_Lobby_MapEvents
- .4byte BattleTower_Lobby_MapScripts
- .4byte 0x0
- .2byte MUS_B_TOWER
- .2byte 265
- .byte MAPSEC_BATTLE_TOWER
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/BattleTower_Lobby/map.json b/data/maps/BattleTower_Lobby/map.json
new file mode 100644
index 000000000..8a155bb78
--- /dev/null
+++ b/data/maps/BattleTower_Lobby/map.json
@@ -0,0 +1,127 @@
+{
+ "id": "MAP_BATTLE_TOWER_LOBBY",
+ "name": "BattleTower_Lobby",
+ "layout": "LAYOUT_BATTLE_TOWER_LOBBY",
+ "music": "MUS_B_TOWER",
+ "region_map_section": "MAPSEC_BATTLE_TOWER",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_TEALA",
+ "x": 6,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "BattleTower_Lobby_EventScript_16049E",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_5",
+ "x": 12,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "BattleTower_Lobby_EventScript_1606A5",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_7",
+ "x": 10,
+ "y": 8,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "BattleTower_Lobby_EventScript_160715",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BOY_1",
+ "x": 1,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "BattleTower_Lobby_EventScript_16071E",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_REPORTER_F",
+ "x": 4,
+ "y": 7,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "BattleTower_Lobby_EventScript_1AE1FF",
+ "flag": "FLAG_HIDE_REPORTER_BATTLE_TOWER"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_2",
+ "x": 7,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "BattleTower_Lobby_EventScript_160733",
+ "flag": "FLAG_HIDE_AWARD_MAN_BATTLE_TOWER"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 6,
+ "y": 8,
+ "elevation": 0,
+ "dest_map": "MAP_BATTLE_TOWER_OUTSIDE",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 7,
+ "y": 8,
+ "elevation": 0,
+ "dest_map": "MAP_BATTLE_TOWER_OUTSIDE",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 6,
+ "y": 1,
+ "elevation": 0,
+ "dest_map": "MAP_BATTLE_TOWER_BATTLE_ROOM",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [],
+ "bg_events": [
+ {
+ "type": "sign",
+ "x": 3,
+ "y": 5,
+ "elevation": 3,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH",
+ "script": "BattleTower_Lobby_EventScript_160727"
+ }
+ ]
+} \ No newline at end of file
diff --git a/data/maps/BattleTower_Outside/events.inc b/data/maps/BattleTower_Outside/events.inc
deleted file mode 100644
index f7eaa89f9..000000000
--- a/data/maps/BattleTower_Outside/events.inc
+++ /dev/null
@@ -1,15 +0,0 @@
-BattleTower_Outside_EventObjects:: @ 8391BEC
- object_event 1, EVENT_OBJ_GFX_BUG_CATCHER, 0, 18, 11, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, BattleTower_Outside_EventScript_160263, 0
- object_event 2, EVENT_OBJ_GFX_WOMAN_5, 0, 11, 14, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, BattleTower_Outside_EventScript_16026C, 0
- object_event 3, EVENT_OBJ_GFX_BOY_2, 0, 10, 11, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, BattleTower_Outside_EventScript_160275, 0
- object_event 4, EVENT_OBJ_GFX_SS_TIDAL, 0, 19, 26, 1, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 0, 0, 0x0, 0
- object_event 5, EVENT_OBJ_GFX_BEAUTY, 0, 19, 24, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 0, 0, BattleTower_Outside_EventScript_160168, 0
-
-BattleTower_Outside_MapWarps:: @ 8391C64
- warp_def 14, 8, 0, 0, MAP_BATTLE_TOWER_LOBBY
-
-BattleTower_Outside_MapBGEvents:: @ 8391C6C
- bg_event 16, 13, 0, BG_EVENT_PLAYER_FACING_ANY, BattleTower_Outside_EventScript_16025A
-
-BattleTower_Outside_MapEvents:: @ 8391C78
- map_events BattleTower_Outside_EventObjects, BattleTower_Outside_MapWarps, 0x0, BattleTower_Outside_MapBGEvents
diff --git a/data/maps/BattleTower_Outside/header.inc b/data/maps/BattleTower_Outside/header.inc
deleted file mode 100644
index ed95d9358..000000000
--- a/data/maps/BattleTower_Outside/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-BattleTower_Outside:: @ 8307C18
- .4byte BattleTower_Outside_Layout
- .4byte BattleTower_Outside_MapEvents
- .4byte BattleTower_Outside_MapScripts
- .4byte 0x0
- .2byte MUS_B_TOWER
- .2byte 266
- .byte MAPSEC_BATTLE_TOWER
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_ROUTE
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/BattleTower_Outside/map.json b/data/maps/BattleTower_Outside/map.json
new file mode 100644
index 000000000..8fe21534b
--- /dev/null
+++ b/data/maps/BattleTower_Outside/map.json
@@ -0,0 +1,100 @@
+{
+ "id": "MAP_BATTLE_TOWER_OUTSIDE",
+ "name": "BattleTower_Outside",
+ "layout": "LAYOUT_BATTLE_TOWER_OUTSIDE",
+ "music": "MUS_B_TOWER",
+ "region_map_section": "MAPSEC_BATTLE_TOWER",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_ROUTE",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BUG_CATCHER",
+ "x": 18,
+ "y": 11,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "BattleTower_Outside_EventScript_160263",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_5",
+ "x": 11,
+ "y": 14,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "BattleTower_Outside_EventScript_16026C",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BOY_2",
+ "x": 10,
+ "y": 11,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "BattleTower_Outside_EventScript_160275",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_SS_TIDAL",
+ "x": 19,
+ "y": 26,
+ "elevation": 1,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BEAUTY",
+ "x": 19,
+ "y": 24,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "BattleTower_Outside_EventScript_160168",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 14,
+ "y": 8,
+ "elevation": 0,
+ "dest_map": "MAP_BATTLE_TOWER_LOBBY",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [],
+ "bg_events": [
+ {
+ "type": "sign",
+ "x": 16,
+ "y": 13,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "BattleTower_Outside_EventScript_16025A"
+ }
+ ]
+} \ No newline at end of file
diff --git a/data/maps/CaveOfOrigin_1F/events.inc b/data/maps/CaveOfOrigin_1F/events.inc
deleted file mode 100644
index 5fe7e2c39..000000000
--- a/data/maps/CaveOfOrigin_1F/events.inc
+++ /dev/null
@@ -1,11 +0,0 @@
-CaveOfOrigin_1F_MapWarps:: @ 838D718
- warp_def 11, 17, 3, 1, MAP_CAVE_OF_ORIGIN_ENTRANCE
- warp_def 14, 5, 3, 0, MAP_CAVE_OF_ORIGIN_B1F
-
-CaveOfOrigin_1F_MapCoordEvents:: @ 838D728
- coord_event 7, 11, 3, VAR_TEMP_1, 0, CaveOfOrigin_1F_EventScript_1A04AF
- coord_event 6, 11, 3, VAR_TEMP_1, 0, CaveOfOrigin_1F_EventScript_1A04AF
- coord_event 5, 11, 3, VAR_TEMP_1, 0, CaveOfOrigin_1F_EventScript_1A04AF
-
-CaveOfOrigin_1F_MapEvents:: @ 838D758
- map_events 0x0, CaveOfOrigin_1F_MapWarps, CaveOfOrigin_1F_MapCoordEvents, 0x0
diff --git a/data/maps/CaveOfOrigin_1F/header.inc b/data/maps/CaveOfOrigin_1F/header.inc
deleted file mode 100644
index 20c0aa739..000000000
--- a/data/maps/CaveOfOrigin_1F/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-CaveOfOrigin_1F:: @ 8307198
- .4byte CaveOfOrigin_1F_Layout
- .4byte CaveOfOrigin_1F_MapEvents
- .4byte CaveOfOrigin_1F_MapScripts
- .4byte 0x0
- .2byte MUS_DAN03
- .2byte 159
- .byte MAPSEC_CAVE_OF_ORIGIN
- .byte 1
- .byte WEATHER_NONE
- .byte MAP_TYPE_UNDERGROUND
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/CaveOfOrigin_1F/map.json b/data/maps/CaveOfOrigin_1F/map.json
new file mode 100644
index 000000000..1c5957605
--- /dev/null
+++ b/data/maps/CaveOfOrigin_1F/map.json
@@ -0,0 +1,60 @@
+{
+ "id": "MAP_CAVE_OF_ORIGIN_1F",
+ "name": "CaveOfOrigin_1F",
+ "layout": "LAYOUT_CAVE_OF_ORIGIN_1F",
+ "music": "MUS_DAN03",
+ "region_map_section": "MAPSEC_CAVE_OF_ORIGIN",
+ "requires_flash": true,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_UNDERGROUND",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [],
+ "warp_events": [
+ {
+ "x": 11,
+ "y": 17,
+ "elevation": 3,
+ "dest_map": "MAP_CAVE_OF_ORIGIN_ENTRANCE",
+ "dest_warp_id": 1
+ },
+ {
+ "x": 14,
+ "y": 5,
+ "elevation": 3,
+ "dest_map": "MAP_CAVE_OF_ORIGIN_B1F",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [
+ {
+ "type": "trigger",
+ "x": 7,
+ "y": 11,
+ "elevation": 3,
+ "var": "VAR_TEMP_1",
+ "var_value": "0",
+ "script": "CaveOfOrigin_1F_EventScript_1A04AF"
+ },
+ {
+ "type": "trigger",
+ "x": 6,
+ "y": 11,
+ "elevation": 3,
+ "var": "VAR_TEMP_1",
+ "var_value": "0",
+ "script": "CaveOfOrigin_1F_EventScript_1A04AF"
+ },
+ {
+ "type": "trigger",
+ "x": 5,
+ "y": 11,
+ "elevation": 3,
+ "var": "VAR_TEMP_1",
+ "var_value": "0",
+ "script": "CaveOfOrigin_1F_EventScript_1A04AF"
+ }
+ ],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/CaveOfOrigin_B1F/events.inc b/data/maps/CaveOfOrigin_B1F/events.inc
deleted file mode 100644
index 4f9864804..000000000
--- a/data/maps/CaveOfOrigin_B1F/events.inc
+++ /dev/null
@@ -1,11 +0,0 @@
-CaveOfOrigin_B1F_MapWarps:: @ 838D76C
- warp_def 13, 5, 3, 1, MAP_CAVE_OF_ORIGIN_1F
- warp_def 5, 11, 3, 0, MAP_CAVE_OF_ORIGIN_B2F
-
-CaveOfOrigin_B1F_MapCoordEvents:: @ 838D77C
- coord_event 12, 15, 3, VAR_TEMP_1, 0, CaveOfOrigin_B1F_EventScript_1A04AF
- coord_event 12, 16, 3, VAR_TEMP_1, 0, CaveOfOrigin_B1F_EventScript_1A04AF
- coord_event 12, 17, 3, VAR_TEMP_1, 0, CaveOfOrigin_B1F_EventScript_1A04AF
-
-CaveOfOrigin_B1F_MapEvents:: @ 838D7AC
- map_events 0x0, CaveOfOrigin_B1F_MapWarps, CaveOfOrigin_B1F_MapCoordEvents, 0x0
diff --git a/data/maps/CaveOfOrigin_B1F/header.inc b/data/maps/CaveOfOrigin_B1F/header.inc
deleted file mode 100644
index 45300c02d..000000000
--- a/data/maps/CaveOfOrigin_B1F/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-CaveOfOrigin_B1F:: @ 83071B4
- .4byte CaveOfOrigin_B1F_Layout
- .4byte CaveOfOrigin_B1F_MapEvents
- .4byte CaveOfOrigin_B1F_MapScripts
- .4byte 0x0
- .2byte MUS_DAN03
- .2byte 160
- .byte MAPSEC_CAVE_OF_ORIGIN
- .byte 1
- .byte WEATHER_NONE
- .byte MAP_TYPE_UNDERGROUND
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/CaveOfOrigin_B1F/map.json b/data/maps/CaveOfOrigin_B1F/map.json
new file mode 100644
index 000000000..d0c378768
--- /dev/null
+++ b/data/maps/CaveOfOrigin_B1F/map.json
@@ -0,0 +1,60 @@
+{
+ "id": "MAP_CAVE_OF_ORIGIN_B1F",
+ "name": "CaveOfOrigin_B1F",
+ "layout": "LAYOUT_CAVE_OF_ORIGIN_B1F",
+ "music": "MUS_DAN03",
+ "region_map_section": "MAPSEC_CAVE_OF_ORIGIN",
+ "requires_flash": true,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_UNDERGROUND",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [],
+ "warp_events": [
+ {
+ "x": 13,
+ "y": 5,
+ "elevation": 3,
+ "dest_map": "MAP_CAVE_OF_ORIGIN_1F",
+ "dest_warp_id": 1
+ },
+ {
+ "x": 5,
+ "y": 11,
+ "elevation": 3,
+ "dest_map": "MAP_CAVE_OF_ORIGIN_B2F",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [
+ {
+ "type": "trigger",
+ "x": 12,
+ "y": 15,
+ "elevation": 3,
+ "var": "VAR_TEMP_1",
+ "var_value": "0",
+ "script": "CaveOfOrigin_B1F_EventScript_1A04AF"
+ },
+ {
+ "type": "trigger",
+ "x": 12,
+ "y": 16,
+ "elevation": 3,
+ "var": "VAR_TEMP_1",
+ "var_value": "0",
+ "script": "CaveOfOrigin_B1F_EventScript_1A04AF"
+ },
+ {
+ "type": "trigger",
+ "x": 12,
+ "y": 17,
+ "elevation": 3,
+ "var": "VAR_TEMP_1",
+ "var_value": "0",
+ "script": "CaveOfOrigin_B1F_EventScript_1A04AF"
+ }
+ ],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/CaveOfOrigin_B2F/events.inc b/data/maps/CaveOfOrigin_B2F/events.inc
deleted file mode 100644
index 03889799e..000000000
--- a/data/maps/CaveOfOrigin_B2F/events.inc
+++ /dev/null
@@ -1,11 +0,0 @@
-CaveOfOrigin_B2F_MapWarps:: @ 838D7C0
- warp_def 5, 10, 3, 1, MAP_CAVE_OF_ORIGIN_B1F
- warp_def 8, 14, 3, 0, MAP_CAVE_OF_ORIGIN_B3F
-
-CaveOfOrigin_B2F_MapCoordEvents:: @ 838D7D0
- coord_event 10, 6, 3, VAR_TEMP_1, 0, CaveOfOrigin_B2F_EventScript_1A04AF
- coord_event 10, 5, 3, VAR_TEMP_1, 0, CaveOfOrigin_B2F_EventScript_1A04AF
- coord_event 14, 13, 3, VAR_TEMP_2, 0, CaveOfOrigin_B2F_EventScript_1A04BB
-
-CaveOfOrigin_B2F_MapEvents:: @ 838D800
- map_events 0x0, CaveOfOrigin_B2F_MapWarps, CaveOfOrigin_B2F_MapCoordEvents, 0x0
diff --git a/data/maps/CaveOfOrigin_B2F/header.inc b/data/maps/CaveOfOrigin_B2F/header.inc
deleted file mode 100644
index fb1bf9e45..000000000
--- a/data/maps/CaveOfOrigin_B2F/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-CaveOfOrigin_B2F:: @ 83071D0
- .4byte CaveOfOrigin_B2F_Layout
- .4byte CaveOfOrigin_B2F_MapEvents
- .4byte CaveOfOrigin_B2F_MapScripts
- .4byte 0x0
- .2byte MUS_DAN03
- .2byte 161
- .byte MAPSEC_CAVE_OF_ORIGIN
- .byte 1
- .byte WEATHER_FOG_1
- .byte MAP_TYPE_UNDERGROUND
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/CaveOfOrigin_B2F/map.json b/data/maps/CaveOfOrigin_B2F/map.json
new file mode 100644
index 000000000..793424743
--- /dev/null
+++ b/data/maps/CaveOfOrigin_B2F/map.json
@@ -0,0 +1,60 @@
+{
+ "id": "MAP_CAVE_OF_ORIGIN_B2F",
+ "name": "CaveOfOrigin_B2F",
+ "layout": "LAYOUT_CAVE_OF_ORIGIN_B2F",
+ "music": "MUS_DAN03",
+ "region_map_section": "MAPSEC_CAVE_OF_ORIGIN",
+ "requires_flash": true,
+ "weather": "WEATHER_FOG_1",
+ "map_type": "MAP_TYPE_UNDERGROUND",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [],
+ "warp_events": [
+ {
+ "x": 5,
+ "y": 10,
+ "elevation": 3,
+ "dest_map": "MAP_CAVE_OF_ORIGIN_B1F",
+ "dest_warp_id": 1
+ },
+ {
+ "x": 8,
+ "y": 14,
+ "elevation": 3,
+ "dest_map": "MAP_CAVE_OF_ORIGIN_B3F",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [
+ {
+ "type": "trigger",
+ "x": 10,
+ "y": 6,
+ "elevation": 3,
+ "var": "VAR_TEMP_1",
+ "var_value": "0",
+ "script": "CaveOfOrigin_B2F_EventScript_1A04AF"
+ },
+ {
+ "type": "trigger",
+ "x": 10,
+ "y": 5,
+ "elevation": 3,
+ "var": "VAR_TEMP_1",
+ "var_value": "0",
+ "script": "CaveOfOrigin_B2F_EventScript_1A04AF"
+ },
+ {
+ "type": "trigger",
+ "x": 14,
+ "y": 13,
+ "elevation": 3,
+ "var": "VAR_TEMP_2",
+ "var_value": "0",
+ "script": "CaveOfOrigin_B2F_EventScript_1A04BB"
+ }
+ ],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/CaveOfOrigin_B3F/events.inc b/data/maps/CaveOfOrigin_B3F/events.inc
deleted file mode 100644
index fb8737421..000000000
--- a/data/maps/CaveOfOrigin_B3F/events.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-CaveOfOrigin_B3F_EventObjects:: @ 838D814
- object_event 1, EVENT_OBJ_GFX_ITEM_BALL, 0, 6, 5, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, CaveOfOrigin_B3F_EventScript_1B1A44, FLAG_ITEM_CAVE_OF_ORIGIN_B3F_1
-
-CaveOfOrigin_B3F_MapWarps:: @ 838D82C
- warp_def 7, 14, 3, 1, MAP_CAVE_OF_ORIGIN_B2F
- warp_def 12, 6, 3, 0, MAP_CAVE_OF_ORIGIN_B4F
-
-CaveOfOrigin_B3F_MapCoordEvents:: @ 838D83C
- coord_event 5, 11, 3, VAR_TEMP_1, 0, CaveOfOrigin_B3F_EventScript_1A04AF
- coord_event 8, 6, 3, VAR_TEMP_2, 0, CaveOfOrigin_B3F_EventScript_1A04BB
- coord_event 8, 5, 3, VAR_TEMP_2, 0, CaveOfOrigin_B3F_EventScript_1A04BB
-
-CaveOfOrigin_B3F_MapEvents:: @ 838D86C
- map_events CaveOfOrigin_B3F_EventObjects, CaveOfOrigin_B3F_MapWarps, CaveOfOrigin_B3F_MapCoordEvents, 0x0
diff --git a/data/maps/CaveOfOrigin_B3F/header.inc b/data/maps/CaveOfOrigin_B3F/header.inc
deleted file mode 100644
index 5e6359852..000000000
--- a/data/maps/CaveOfOrigin_B3F/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-CaveOfOrigin_B3F:: @ 83071EC
- .4byte CaveOfOrigin_B3F_Layout
- .4byte CaveOfOrigin_B3F_MapEvents
- .4byte CaveOfOrigin_B3F_MapScripts
- .4byte 0x0
- .2byte MUS_DAN03
- .2byte 162
- .byte MAPSEC_CAVE_OF_ORIGIN
- .byte 1
- .byte WEATHER_FOG_1
- .byte MAP_TYPE_UNDERGROUND
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/CaveOfOrigin_B3F/map.json b/data/maps/CaveOfOrigin_B3F/map.json
new file mode 100644
index 000000000..d6989c689
--- /dev/null
+++ b/data/maps/CaveOfOrigin_B3F/map.json
@@ -0,0 +1,74 @@
+{
+ "id": "MAP_CAVE_OF_ORIGIN_B3F",
+ "name": "CaveOfOrigin_B3F",
+ "layout": "LAYOUT_CAVE_OF_ORIGIN_B3F",
+ "music": "MUS_DAN03",
+ "region_map_section": "MAPSEC_CAVE_OF_ORIGIN",
+ "requires_flash": true,
+ "weather": "WEATHER_FOG_1",
+ "map_type": "MAP_TYPE_UNDERGROUND",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ITEM_BALL",
+ "x": 6,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "CaveOfOrigin_B3F_EventScript_1B1A44",
+ "flag": "FLAG_ITEM_CAVE_OF_ORIGIN_B3F_1"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 7,
+ "y": 14,
+ "elevation": 3,
+ "dest_map": "MAP_CAVE_OF_ORIGIN_B2F",
+ "dest_warp_id": 1
+ },
+ {
+ "x": 12,
+ "y": 6,
+ "elevation": 3,
+ "dest_map": "MAP_CAVE_OF_ORIGIN_B4F",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [
+ {
+ "type": "trigger",
+ "x": 5,
+ "y": 11,
+ "elevation": 3,
+ "var": "VAR_TEMP_1",
+ "var_value": "0",
+ "script": "CaveOfOrigin_B3F_EventScript_1A04AF"
+ },
+ {
+ "type": "trigger",
+ "x": 8,
+ "y": 6,
+ "elevation": 3,
+ "var": "VAR_TEMP_2",
+ "var_value": "0",
+ "script": "CaveOfOrigin_B3F_EventScript_1A04BB"
+ },
+ {
+ "type": "trigger",
+ "x": 8,
+ "y": 5,
+ "elevation": 3,
+ "var": "VAR_TEMP_2",
+ "var_value": "0",
+ "script": "CaveOfOrigin_B3F_EventScript_1A04BB"
+ }
+ ],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/CaveOfOrigin_B4F/events.inc b/data/maps/CaveOfOrigin_B4F/events.inc
deleted file mode 100644
index 4679edb0e..000000000
--- a/data/maps/CaveOfOrigin_B4F/events.inc
+++ /dev/null
@@ -1,13 +0,0 @@
-CaveOfOrigin_B4F_EventObjects:: @ 838D880
- object_event 1, EVENT_OBJ_GFX_VAR_8, 0, 9, 10, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_HIDE_LEGEND_MON_CAVE_OF_ORIGIN
-
-CaveOfOrigin_B4F_MapWarps:: @ 838D898
- warp_def 12, 5, 3, 1, MAP_CAVE_OF_ORIGIN_B3F
-
-CaveOfOrigin_B4F_MapCoordEvents:: @ 838D8A0
- coord_event 9, 13, 3, VAR_CAVE_OF_ORIGIN_B4F_STATE, 0, CaveOfOrigin_B4F_EventScript_15DDD7
- coord_event 13, 9, 3, VAR_TEMP_5, 0, CaveOfOrigin_B4F_EventScript_1A04A0
- coord_event 5, 9, 3, VAR_TEMP_5, 0, CaveOfOrigin_B4F_EventScript_1A04A0
-
-CaveOfOrigin_B4F_MapEvents:: @ 838D8D0
- map_events CaveOfOrigin_B4F_EventObjects, CaveOfOrigin_B4F_MapWarps, CaveOfOrigin_B4F_MapCoordEvents, 0x0
diff --git a/data/maps/CaveOfOrigin_B4F/header.inc b/data/maps/CaveOfOrigin_B4F/header.inc
deleted file mode 100644
index 00e51495e..000000000
--- a/data/maps/CaveOfOrigin_B4F/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-CaveOfOrigin_B4F:: @ 8307208
- .4byte CaveOfOrigin_B4F_Layout
- .4byte CaveOfOrigin_B4F_MapEvents
- .4byte CaveOfOrigin_B4F_MapScripts
- .4byte 0x0
- .2byte SE_STOP
- .2byte 163
- .byte MAPSEC_CAVE_OF_ORIGIN
- .byte 0
- .byte WEATHER_FOG_1
- .byte MAP_TYPE_UNDERGROUND
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/CaveOfOrigin_B4F/map.json b/data/maps/CaveOfOrigin_B4F/map.json
new file mode 100644
index 000000000..31376fa77
--- /dev/null
+++ b/data/maps/CaveOfOrigin_B4F/map.json
@@ -0,0 +1,67 @@
+{
+ "id": "MAP_CAVE_OF_ORIGIN_B4F",
+ "name": "CaveOfOrigin_B4F",
+ "layout": "LAYOUT_CAVE_OF_ORIGIN_B4F",
+ "music": "SE_STOP",
+ "region_map_section": "MAPSEC_CAVE_OF_ORIGIN",
+ "requires_flash": false,
+ "weather": "WEATHER_FOG_1",
+ "map_type": "MAP_TYPE_UNDERGROUND",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_8",
+ "x": 9,
+ "y": 10,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_HIDE_LEGEND_MON_CAVE_OF_ORIGIN"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 12,
+ "y": 5,
+ "elevation": 3,
+ "dest_map": "MAP_CAVE_OF_ORIGIN_B3F",
+ "dest_warp_id": 1
+ }
+ ],
+ "coord_events": [
+ {
+ "type": "trigger",
+ "x": 9,
+ "y": 13,
+ "elevation": 3,
+ "var": "VAR_CAVE_OF_ORIGIN_B4F_STATE",
+ "var_value": "0",
+ "script": "CaveOfOrigin_B4F_EventScript_15DDD7"
+ },
+ {
+ "type": "trigger",
+ "x": 13,
+ "y": 9,
+ "elevation": 3,
+ "var": "VAR_TEMP_5",
+ "var_value": "0",
+ "script": "CaveOfOrigin_B4F_EventScript_1A04A0"
+ },
+ {
+ "type": "trigger",
+ "x": 5,
+ "y": 9,
+ "elevation": 3,
+ "var": "VAR_TEMP_5",
+ "var_value": "0",
+ "script": "CaveOfOrigin_B4F_EventScript_1A04A0"
+ }
+ ],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/CaveOfOrigin_Entrance/events.inc b/data/maps/CaveOfOrigin_Entrance/events.inc
deleted file mode 100644
index cab14e4d7..000000000
--- a/data/maps/CaveOfOrigin_Entrance/events.inc
+++ /dev/null
@@ -1,6 +0,0 @@
-CaveOfOrigin_Entrance_MapWarps:: @ 838D6F4
- warp_def 9, 20, 3, 3, MAP_SOOTOPOLIS_CITY
- warp_def 9, 5, 3, 0, MAP_CAVE_OF_ORIGIN_1F
-
-CaveOfOrigin_Entrance_MapEvents:: @ 838D704
- map_events 0x0, CaveOfOrigin_Entrance_MapWarps, 0x0, 0x0
diff --git a/data/maps/CaveOfOrigin_Entrance/header.inc b/data/maps/CaveOfOrigin_Entrance/header.inc
deleted file mode 100644
index 29c356a24..000000000
--- a/data/maps/CaveOfOrigin_Entrance/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-CaveOfOrigin_Entrance:: @ 830717C
- .4byte CaveOfOrigin_Entrance_Layout
- .4byte CaveOfOrigin_Entrance_MapEvents
- .4byte CaveOfOrigin_Entrance_MapScripts
- .4byte 0x0
- .2byte MUS_DAN03
- .2byte 158
- .byte MAPSEC_CAVE_OF_ORIGIN
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_UNDERGROUND
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/CaveOfOrigin_Entrance/map.json b/data/maps/CaveOfOrigin_Entrance/map.json
new file mode 100644
index 000000000..160d8f11f
--- /dev/null
+++ b/data/maps/CaveOfOrigin_Entrance/map.json
@@ -0,0 +1,32 @@
+{
+ "id": "MAP_CAVE_OF_ORIGIN_ENTRANCE",
+ "name": "CaveOfOrigin_Entrance",
+ "layout": "LAYOUT_CAVE_OF_ORIGIN_ENTRANCE",
+ "music": "MUS_DAN03",
+ "region_map_section": "MAPSEC_CAVE_OF_ORIGIN",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_UNDERGROUND",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [],
+ "warp_events": [
+ {
+ "x": 9,
+ "y": 20,
+ "elevation": 3,
+ "dest_map": "MAP_SOOTOPOLIS_CITY",
+ "dest_warp_id": 3
+ },
+ {
+ "x": 9,
+ "y": 5,
+ "elevation": 3,
+ "dest_map": "MAP_CAVE_OF_ORIGIN_1F",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/DesertRuins/events.inc b/data/maps/DesertRuins/events.inc
deleted file mode 100644
index b3070e794..000000000
--- a/data/maps/DesertRuins/events.inc
+++ /dev/null
@@ -1,15 +0,0 @@
-DesertRuins_EventObjects:: @ 838BEBC
- object_event 1, EVENT_OBJ_GFX_REGIROCK, 0, 8, 7, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, DesertRuins_EventScript_15CB85, FLAG_HIDE_REGIROCK
-
-DesertRuins_MapWarps:: @ 838BED4
- warp_def 8, 29, 3, 1, MAP_ROUTE111
- warp_def 8, 20, 0, 2, MAP_DESERT_RUINS
- warp_def 8, 11, 3, 1, MAP_DESERT_RUINS
-
-DesertRuins_MapBGEvents:: @ 838BEEC
- bg_event 8, 20, 0, BG_EVENT_PLAYER_FACING_ANY, DesertRuins_EventScript_15CB56
- bg_event 7, 20, 0, BG_EVENT_PLAYER_FACING_ANY, DesertRuins_EventScript_15CB77
- bg_event 9, 20, 0, BG_EVENT_PLAYER_FACING_ANY, DesertRuins_EventScript_15CB77
-
-DesertRuins_MapEvents:: @ 838BF10
- map_events DesertRuins_EventObjects, DesertRuins_MapWarps, 0x0, DesertRuins_MapBGEvents
diff --git a/data/maps/DesertRuins/header.inc b/data/maps/DesertRuins/header.inc
deleted file mode 100644
index 5e42b6c1a..000000000
--- a/data/maps/DesertRuins/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-DesertRuins:: @ 8306E18
- .4byte DesertRuins_Layout
- .4byte DesertRuins_MapEvents
- .4byte DesertRuins_MapScripts
- .4byte 0x0
- .2byte MUS_MABOROSI
- .2byte 132
- .byte MAPSEC_DESERT_RUINS
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_UNDERGROUND
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/DesertRuins/map.json b/data/maps/DesertRuins/map.json
new file mode 100644
index 000000000..6f9f801eb
--- /dev/null
+++ b/data/maps/DesertRuins/map.json
@@ -0,0 +1,78 @@
+{
+ "id": "MAP_DESERT_RUINS",
+ "name": "DesertRuins",
+ "layout": "LAYOUT_DESERT_RUINS",
+ "music": "MUS_MABOROSI",
+ "region_map_section": "MAPSEC_DESERT_RUINS",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_UNDERGROUND",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_REGIROCK",
+ "x": 8,
+ "y": 7,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "DesertRuins_EventScript_15CB85",
+ "flag": "FLAG_HIDE_REGIROCK"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 8,
+ "y": 29,
+ "elevation": 3,
+ "dest_map": "MAP_ROUTE111",
+ "dest_warp_id": 1
+ },
+ {
+ "x": 8,
+ "y": 20,
+ "elevation": 0,
+ "dest_map": "MAP_DESERT_RUINS",
+ "dest_warp_id": 2
+ },
+ {
+ "x": 8,
+ "y": 11,
+ "elevation": 3,
+ "dest_map": "MAP_DESERT_RUINS",
+ "dest_warp_id": 1
+ }
+ ],
+ "coord_events": [],
+ "bg_events": [
+ {
+ "type": "sign",
+ "x": 8,
+ "y": 20,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "DesertRuins_EventScript_15CB56"
+ },
+ {
+ "type": "sign",
+ "x": 7,
+ "y": 20,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "DesertRuins_EventScript_15CB77"
+ },
+ {
+ "type": "sign",
+ "x": 9,
+ "y": 20,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "DesertRuins_EventScript_15CB77"
+ }
+ ]
+} \ No newline at end of file
diff --git a/data/maps/DewfordTown/connections.inc b/data/maps/DewfordTown/connections.inc
deleted file mode 100644
index 52339411b..000000000
--- a/data/maps/DewfordTown/connections.inc
+++ /dev/null
@@ -1,7 +0,0 @@
-DewfordTown_MapConnectionsList:: @ 8308650
- connection up, -60, MAP_ROUTE106
- connection right, 0, MAP_ROUTE107
-
-DewfordTown_MapConnections:: @ 8308668
- .4byte 0x2
- .4byte DewfordTown_MapConnectionsList
diff --git a/data/maps/DewfordTown/events.inc b/data/maps/DewfordTown/events.inc
deleted file mode 100644
index c034ab5ab..000000000
--- a/data/maps/DewfordTown/events.inc
+++ /dev/null
@@ -1,23 +0,0 @@
-DewfordTown_EventObjects:: @ 8380B88
- object_event 1, EVENT_OBJ_GFX_WOMAN_3, 0, 7, 12, 3, MOVEMENT_TYPE_WANDER_LEFT_AND_RIGHT, 1, 0, 0, 0, DewfordTown_EventScript_14E0A2, 0
- object_event 2, EVENT_OBJ_GFX_OLD_MAN_1, 0, 12, 9, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 1, 0, 3, DewfordTown_EventScript_14E002, FLAG_HIDE_MR_BRINEY_DEWFORD_TOWN
- object_event 3, EVENT_OBJ_GFX_FISHERMAN, 0, 12, 14, 3, MOVEMENT_TYPE_WANDER_LEFT_AND_RIGHT, 1, 0, 0, 0, DewfordTown_EventScript_14E0C6, 0
- object_event 4, EVENT_OBJ_GFX_MR_BRINEYS_BOAT, 0, 12, 8, 1, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_HIDE_MR_BRINEY_BOAT_DEWFORD
- object_event 5, EVENT_OBJ_GFX_BOY_1, 0, 1, 6, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, DewfordTown_EventScript_14E413, 0
-
-DewfordTown_MapWarps:: @ 8380C00
- warp_def 3, 3, 0, 0, MAP_DEWFORD_TOWN_HALL
- warp_def 2, 10, 0, 0, MAP_DEWFORD_TOWN_POKEMON_CENTER_1F
- warp_def 8, 17, 0, 0, MAP_DEWFORD_TOWN_GYM
- warp_def 17, 14, 0, 0, MAP_DEWFORD_TOWN_HOUSE1
- warp_def 8, 8, 0, 0, MAP_DEWFORD_TOWN_HOUSE2
-
-DewfordTown_MapBGEvents:: @ 8380C28
- bg_event 10, 10, 0, BG_EVENT_PLAYER_FACING_ANY, DewfordTown_EventScript_14E0AB
- bg_event 11, 16, 0, BG_EVENT_PLAYER_FACING_ANY, DewfordTown_EventScript_14E0B4
- bg_event 4, 10, 0, BG_EVENT_PLAYER_FACING_NORTH, DewfordTown_EventScript_1A00EA
- bg_event 3, 10, 0, BG_EVENT_PLAYER_FACING_NORTH, DewfordTown_EventScript_1A00EA
- bg_event 2, 4, 0, BG_EVENT_PLAYER_FACING_ANY, DewfordTown_EventScript_14E0BD
-
-DewfordTown_MapEvents:: @ 8380C64
- map_events DewfordTown_EventObjects, DewfordTown_MapWarps, 0x0, DewfordTown_MapBGEvents
diff --git a/data/maps/DewfordTown/header.inc b/data/maps/DewfordTown/header.inc
deleted file mode 100644
index f66ffc56b..000000000
--- a/data/maps/DewfordTown/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-DewfordTown:: @ 830557C
- .4byte DewfordTown_Layout
- .4byte DewfordTown_MapEvents
- .4byte DewfordTown_MapScripts
- .4byte DewfordTown_MapConnections
- .2byte MUS_HIGHTOWN
- .2byte 12
- .byte MAPSEC_DEWFORD_TOWN
- .byte 0
- .byte WEATHER_SUNNY
- .byte MAP_TYPE_TOWN
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/DewfordTown/map.json b/data/maps/DewfordTown/map.json
new file mode 100644
index 000000000..12baca163
--- /dev/null
+++ b/data/maps/DewfordTown/map.json
@@ -0,0 +1,171 @@
+{
+ "id": "MAP_DEWFORD_TOWN",
+ "name": "DewfordTown",
+ "layout": "LAYOUT_DEWFORD_TOWN",
+ "music": "MUS_HIGHTOWN",
+ "region_map_section": "MAPSEC_DEWFORD_TOWN",
+ "requires_flash": false,
+ "weather": "WEATHER_SUNNY",
+ "map_type": "MAP_TYPE_TOWN",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": [
+ {
+ "direction": "up",
+ "offset": -60,
+ "map": "MAP_ROUTE106"
+ },
+ {
+ "direction": "right",
+ "offset": 0,
+ "map": "MAP_ROUTE107"
+ }
+ ],
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_3",
+ "x": 7,
+ "y": 12,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_LEFT_AND_RIGHT",
+ "movement_range_x": 1,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "DewfordTown_EventScript_14E0A2",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_OLD_MAN_1",
+ "x": 12,
+ "y": 9,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "3",
+ "script": "DewfordTown_EventScript_14E002",
+ "flag": "FLAG_HIDE_MR_BRINEY_DEWFORD_TOWN"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_FISHERMAN",
+ "x": 12,
+ "y": 14,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_LEFT_AND_RIGHT",
+ "movement_range_x": 1,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "DewfordTown_EventScript_14E0C6",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MR_BRINEYS_BOAT",
+ "x": 12,
+ "y": 8,
+ "elevation": 1,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_HIDE_MR_BRINEY_BOAT_DEWFORD"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BOY_1",
+ "x": 1,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "DewfordTown_EventScript_14E413",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 3,
+ "y": 3,
+ "elevation": 0,
+ "dest_map": "MAP_DEWFORD_TOWN_HALL",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 2,
+ "y": 10,
+ "elevation": 0,
+ "dest_map": "MAP_DEWFORD_TOWN_POKEMON_CENTER_1F",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 8,
+ "y": 17,
+ "elevation": 0,
+ "dest_map": "MAP_DEWFORD_TOWN_GYM",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 17,
+ "y": 14,
+ "elevation": 0,
+ "dest_map": "MAP_DEWFORD_TOWN_HOUSE1",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 8,
+ "y": 8,
+ "elevation": 0,
+ "dest_map": "MAP_DEWFORD_TOWN_HOUSE2",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [],
+ "bg_events": [
+ {
+ "type": "sign",
+ "x": 10,
+ "y": 10,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "DewfordTown_EventScript_14E0AB"
+ },
+ {
+ "type": "sign",
+ "x": 11,
+ "y": 16,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "DewfordTown_EventScript_14E0B4"
+ },
+ {
+ "type": "sign",
+ "x": 4,
+ "y": 10,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH",
+ "script": "DewfordTown_EventScript_1A00EA"
+ },
+ {
+ "type": "sign",
+ "x": 3,
+ "y": 10,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH",
+ "script": "DewfordTown_EventScript_1A00EA"
+ },
+ {
+ "type": "sign",
+ "x": 2,
+ "y": 4,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "DewfordTown_EventScript_14E0BD"
+ }
+ ]
+} \ No newline at end of file
diff --git a/data/maps/DewfordTown_Gym/events.inc b/data/maps/DewfordTown_Gym/events.inc
deleted file mode 100644
index ce6cc9c37..000000000
--- a/data/maps/DewfordTown_Gym/events.inc
+++ /dev/null
@@ -1,19 +0,0 @@
-DewfordTown_Gym_EventObjects:: @ 8385FBC
- object_event 1, EVENT_OBJ_GFX_BRAWLY, 0, 14, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, DewfordTown_Gym_EventScript_153152, 0
- object_event 2, EVENT_OBJ_GFX_BLACK_BELT, 0, 2, 17, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 1, 3, DewfordTown_Gym_EventScript_1531D9, 0
- object_event 3, EVENT_OBJ_GFX_GIRL_3, 0, 1, 10, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 1, 3, DewfordTown_Gym_EventScript_1531FB, 0
- object_event 4, EVENT_OBJ_GFX_GIRL_3, 0, 12, 24, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 1, 2, DewfordTown_Gym_EventScript_15321D, 0
- object_event 5, EVENT_OBJ_GFX_MAN_2, 0, 5, 24, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, DewfordTown_Gym_EventScript_15323F, 0
-
-DewfordTown_Gym_MapWarps:: @ 8386034
- warp_def 5, 27, 0, 2, MAP_DEWFORD_TOWN
- warp_def 6, 27, 0, 2, MAP_DEWFORD_TOWN
-
-DewfordTown_Gym_MapBGEvents:: @ 8386044
- bg_event 7, 21, 0, BG_EVENT_PLAYER_FACING_NORTH, DewfordTown_Gym_EventScript_15325E
- bg_event 10, 21, 0, BG_EVENT_PLAYER_FACING_NORTH, DewfordTown_Gym_EventScript_15326E
- bg_event 4, 24, 0, BG_EVENT_PLAYER_FACING_NORTH, DewfordTown_Gym_EventScript_15325E
- bg_event 7, 24, 0, BG_EVENT_PLAYER_FACING_NORTH, DewfordTown_Gym_EventScript_15326E
-
-DewfordTown_Gym_MapEvents:: @ 8386074
- map_events DewfordTown_Gym_EventObjects, DewfordTown_Gym_MapWarps, 0x0, DewfordTown_Gym_MapBGEvents
diff --git a/data/maps/DewfordTown_Gym/header.inc b/data/maps/DewfordTown_Gym/header.inc
deleted file mode 100644
index cbc2c1504..000000000
--- a/data/maps/DewfordTown_Gym/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-DewfordTown_Gym:: @ 8305B9C
- .4byte DewfordTown_Gym_Layout
- .4byte DewfordTown_Gym_MapEvents
- .4byte DewfordTown_Gym_MapScripts
- .4byte 0x0
- .2byte MUS_GIM
- .2byte 65
- .byte MAPSEC_DEWFORD_TOWN
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_GYM
diff --git a/data/maps/DewfordTown_Gym/map.json b/data/maps/DewfordTown_Gym/map.json
new file mode 100644
index 000000000..8d466ac25
--- /dev/null
+++ b/data/maps/DewfordTown_Gym/map.json
@@ -0,0 +1,131 @@
+{
+ "id": "MAP_DEWFORD_TOWN_GYM",
+ "name": "DewfordTown_Gym",
+ "layout": "LAYOUT_DEWFORD_TOWN_GYM",
+ "music": "MUS_GIM",
+ "region_map_section": "MAPSEC_DEWFORD_TOWN",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_GYM",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BRAWLY",
+ "x": 14,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "DewfordTown_Gym_EventScript_153152",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BLACK_BELT",
+ "x": 2,
+ "y": 17,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "3",
+ "script": "DewfordTown_Gym_EventScript_1531D9",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_GIRL_3",
+ "x": 1,
+ "y": 10,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "3",
+ "script": "DewfordTown_Gym_EventScript_1531FB",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_GIRL_3",
+ "x": 12,
+ "y": 24,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "2",
+ "script": "DewfordTown_Gym_EventScript_15321D",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_2",
+ "x": 5,
+ "y": 24,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "DewfordTown_Gym_EventScript_15323F",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 5,
+ "y": 27,
+ "elevation": 0,
+ "dest_map": "MAP_DEWFORD_TOWN",
+ "dest_warp_id": 2
+ },
+ {
+ "x": 6,
+ "y": 27,
+ "elevation": 0,
+ "dest_map": "MAP_DEWFORD_TOWN",
+ "dest_warp_id": 2
+ }
+ ],
+ "coord_events": [],
+ "bg_events": [
+ {
+ "type": "sign",
+ "x": 7,
+ "y": 21,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH",
+ "script": "DewfordTown_Gym_EventScript_15325E"
+ },
+ {
+ "type": "sign",
+ "x": 10,
+ "y": 21,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH",
+ "script": "DewfordTown_Gym_EventScript_15326E"
+ },
+ {
+ "type": "sign",
+ "x": 4,
+ "y": 24,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH",
+ "script": "DewfordTown_Gym_EventScript_15325E"
+ },
+ {
+ "type": "sign",
+ "x": 7,
+ "y": 24,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH",
+ "script": "DewfordTown_Gym_EventScript_15326E"
+ }
+ ]
+} \ No newline at end of file
diff --git a/data/maps/DewfordTown_Hall/events.inc b/data/maps/DewfordTown_Hall/events.inc
deleted file mode 100644
index d0753ecff..000000000
--- a/data/maps/DewfordTown_Hall/events.inc
+++ /dev/null
@@ -1,21 +0,0 @@
-DewfordTown_Hall_EventObjects:: @ 8386088
- object_event 1, EVENT_OBJ_GFX_GIRL_2, 0, 4, 6, 0, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, DewfordTown_Hall_EventScript_153293, 0
- object_event 2, EVENT_OBJ_GFX_WOMAN_3, 0, 1, 5, 0, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, DewfordTown_Hall_EventScript_1532BC, 0
- object_event 3, EVENT_OBJ_GFX_MAN_1, 0, 5, 4, 0, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, DewfordTown_Hall_EventScript_1532CD, 0
- object_event 4, EVENT_OBJ_GFX_OLD_MAN_1, 0, 9, 3, 0, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, DewfordTown_Hall_EventScript_15330A, 0
- object_event 5, EVENT_OBJ_GFX_LITTLE_GIRL_1, 0, 5, 2, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, DewfordTown_Hall_EventScript_153326, 0
- object_event 6, EVENT_OBJ_GFX_LITTLE_BOY_2, 0, 14, 7, 0, MOVEMENT_TYPE_WANDER_LEFT_AND_RIGHT, 1, 0, 0, 0, DewfordTown_Hall_EventScript_153342, 0
- object_event 7, EVENT_OBJ_GFX_SCHOOL_KID_M, 0, 12, 3, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, DewfordTown_Hall_EventScript_1533F2, 0
- object_event 8, EVENT_OBJ_GFX_PSYCHIC_M, 0, 15, 3, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, DewfordTown_Hall_EventScript_1533FE, 0
- object_event 9, EVENT_OBJ_GFX_MANIAC, 0, 8, 6, 3, MOVEMENT_TYPE_WANDER_LEFT_AND_RIGHT, 1, 0, 0, 0, DewfordTown_Hall_EventScript_15359D, FLAG_HIDE_SLUDGE_BOMB_MAN_DEWFORD_HALL
-
-DewfordTown_Hall_MapWarps:: @ 8386160
- warp_def 5, 8, 0, 0, MAP_DEWFORD_TOWN
- warp_def 6, 8, 0, 0, MAP_DEWFORD_TOWN
-
-DewfordTown_Hall_MapBGEvents:: @ 8386170
- bg_event 0, 1, 3, BG_EVENT_PLAYER_FACING_ANY, DewfordTown_Hall_EventScript_153353
- bg_event 7, 1, 3, BG_EVENT_PLAYER_FACING_ANY, DewfordTown_Hall_EventScript_153363
-
-DewfordTown_Hall_MapEvents:: @ 8386188
- map_events DewfordTown_Hall_EventObjects, DewfordTown_Hall_MapWarps, 0x0, DewfordTown_Hall_MapBGEvents
diff --git a/data/maps/DewfordTown_Hall/header.inc b/data/maps/DewfordTown_Hall/header.inc
deleted file mode 100644
index 540fc602c..000000000
--- a/data/maps/DewfordTown_Hall/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-DewfordTown_Hall:: @ 8305BB8
- .4byte DewfordTown_Hall_Layout
- .4byte DewfordTown_Hall_MapEvents
- .4byte DewfordTown_Hall_MapScripts
- .4byte 0x0
- .2byte MUS_HIGHTOWN
- .2byte 66
- .byte MAPSEC_DEWFORD_TOWN
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/DewfordTown_Hall/map.json b/data/maps/DewfordTown_Hall/map.json
new file mode 100644
index 000000000..0f82fb6d0
--- /dev/null
+++ b/data/maps/DewfordTown_Hall/map.json
@@ -0,0 +1,167 @@
+{
+ "id": "MAP_DEWFORD_TOWN_HALL",
+ "name": "DewfordTown_Hall",
+ "layout": "LAYOUT_DEWFORD_TOWN_HALL",
+ "music": "MUS_HIGHTOWN",
+ "region_map_section": "MAPSEC_DEWFORD_TOWN",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_GIRL_2",
+ "x": 4,
+ "y": 6,
+ "elevation": 0,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "DewfordTown_Hall_EventScript_153293",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_3",
+ "x": 1,
+ "y": 5,
+ "elevation": 0,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "DewfordTown_Hall_EventScript_1532BC",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_1",
+ "x": 5,
+ "y": 4,
+ "elevation": 0,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "DewfordTown_Hall_EventScript_1532CD",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_OLD_MAN_1",
+ "x": 9,
+ "y": 3,
+ "elevation": 0,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "DewfordTown_Hall_EventScript_15330A",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_LITTLE_GIRL_1",
+ "x": 5,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "DewfordTown_Hall_EventScript_153326",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_LITTLE_BOY_2",
+ "x": 14,
+ "y": 7,
+ "elevation": 0,
+ "movement_type": "MOVEMENT_TYPE_WANDER_LEFT_AND_RIGHT",
+ "movement_range_x": 1,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "DewfordTown_Hall_EventScript_153342",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_SCHOOL_KID_M",
+ "x": 12,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "DewfordTown_Hall_EventScript_1533F2",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_PSYCHIC_M",
+ "x": 15,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "DewfordTown_Hall_EventScript_1533FE",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MANIAC",
+ "x": 8,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_LEFT_AND_RIGHT",
+ "movement_range_x": 1,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "DewfordTown_Hall_EventScript_15359D",
+ "flag": "FLAG_HIDE_SLUDGE_BOMB_MAN_DEWFORD_HALL"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 5,
+ "y": 8,
+ "elevation": 0,
+ "dest_map": "MAP_DEWFORD_TOWN",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 6,
+ "y": 8,
+ "elevation": 0,
+ "dest_map": "MAP_DEWFORD_TOWN",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [],
+ "bg_events": [
+ {
+ "type": "sign",
+ "x": 0,
+ "y": 1,
+ "elevation": 3,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "DewfordTown_Hall_EventScript_153353"
+ },
+ {
+ "type": "sign",
+ "x": 7,
+ "y": 1,
+ "elevation": 3,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "DewfordTown_Hall_EventScript_153363"
+ }
+ ]
+} \ No newline at end of file
diff --git a/data/maps/DewfordTown_House1/events.inc b/data/maps/DewfordTown_House1/events.inc
deleted file mode 100644
index 834b717fa..000000000
--- a/data/maps/DewfordTown_House1/events.inc
+++ /dev/null
@@ -1,11 +0,0 @@
-DewfordTown_House1_EventObjects:: @ 8385E58
- object_event 1, EVENT_OBJ_GFX_WOMAN_4, 0, 6, 3, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, DewfordTown_House1_EventScript_152FF8, 0
- object_event 2, EVENT_OBJ_GFX_MAN_1, 0, 3, 3, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, DewfordTown_House1_EventScript_152FEF, 0
- object_event 3, EVENT_OBJ_GFX_ZIGZAGOON, 0, 4, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 3, 1, 0, 0, DewfordTown_House1_EventScript_153001, 0
-
-DewfordTown_House1_MapWarps:: @ 8385EA0
- warp_def 3, 7, 0, 3, MAP_DEWFORD_TOWN
- warp_def 4, 7, 0, 3, MAP_DEWFORD_TOWN
-
-DewfordTown_House1_MapEvents:: @ 8385EB0
- map_events DewfordTown_House1_EventObjects, DewfordTown_House1_MapWarps, 0x0, 0x0
diff --git a/data/maps/DewfordTown_House1/header.inc b/data/maps/DewfordTown_House1/header.inc
deleted file mode 100644
index 067ac76f4..000000000
--- a/data/maps/DewfordTown_House1/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-DewfordTown_House1:: @ 8305B48
- .4byte House3_Layout
- .4byte DewfordTown_House1_MapEvents
- .4byte DewfordTown_House1_MapScripts
- .4byte 0x0
- .2byte MUS_HIGHTOWN
- .2byte 64
- .byte MAPSEC_DEWFORD_TOWN
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/DewfordTown_House1/map.json b/data/maps/DewfordTown_House1/map.json
new file mode 100644
index 000000000..ea60b5b2a
--- /dev/null
+++ b/data/maps/DewfordTown_House1/map.json
@@ -0,0 +1,72 @@
+{
+ "id": "MAP_DEWFORD_TOWN_HOUSE1",
+ "name": "DewfordTown_House1",
+ "layout": "LAYOUT_HOUSE3",
+ "music": "MUS_HIGHTOWN",
+ "region_map_section": "MAPSEC_DEWFORD_TOWN",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_4",
+ "x": 6,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "DewfordTown_House1_EventScript_152FF8",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_1",
+ "x": 3,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "DewfordTown_House1_EventScript_152FEF",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ZIGZAGOON",
+ "x": 4,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 3,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "DewfordTown_House1_EventScript_153001",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 3,
+ "y": 7,
+ "elevation": 0,
+ "dest_map": "MAP_DEWFORD_TOWN",
+ "dest_warp_id": 3
+ },
+ {
+ "x": 4,
+ "y": 7,
+ "elevation": 0,
+ "dest_map": "MAP_DEWFORD_TOWN",
+ "dest_warp_id": 3
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/DewfordTown_House2/events.inc b/data/maps/DewfordTown_House2/events.inc
deleted file mode 100644
index 45193e757..000000000
--- a/data/maps/DewfordTown_House2/events.inc
+++ /dev/null
@@ -1,10 +0,0 @@
-DewfordTown_House2_EventObjects:: @ 838619C
- object_event 1, EVENT_OBJ_GFX_MAN_4, 0, 6, 5, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, DewfordTown_House2_EventScript_1535DC, 0
- object_event 2, EVENT_OBJ_GFX_BOY_2, 0, 2, 3, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, DewfordTown_House2_EventScript_15361F, 0
-
-DewfordTown_House2_MapWarps:: @ 83861CC
- warp_def 3, 8, 0, 4, MAP_DEWFORD_TOWN
- warp_def 4, 8, 0, 4, MAP_DEWFORD_TOWN
-
-DewfordTown_House2_MapEvents:: @ 83861DC
- map_events DewfordTown_House2_EventObjects, DewfordTown_House2_MapWarps, 0x0, 0x0
diff --git a/data/maps/DewfordTown_House2/header.inc b/data/maps/DewfordTown_House2/header.inc
deleted file mode 100644
index 75af834ff..000000000
--- a/data/maps/DewfordTown_House2/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-DewfordTown_House2:: @ 8305BD4
- .4byte House4_Layout
- .4byte DewfordTown_House2_MapEvents
- .4byte DewfordTown_House2_MapScripts
- .4byte 0x0
- .2byte MUS_HIGHTOWN
- .2byte 67
- .byte MAPSEC_DEWFORD_TOWN
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/DewfordTown_House2/map.json b/data/maps/DewfordTown_House2/map.json
new file mode 100644
index 000000000..502361cc0
--- /dev/null
+++ b/data/maps/DewfordTown_House2/map.json
@@ -0,0 +1,59 @@
+{
+ "id": "MAP_DEWFORD_TOWN_HOUSE2",
+ "name": "DewfordTown_House2",
+ "layout": "LAYOUT_HOUSE4",
+ "music": "MUS_HIGHTOWN",
+ "region_map_section": "MAPSEC_DEWFORD_TOWN",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_4",
+ "x": 6,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "DewfordTown_House2_EventScript_1535DC",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BOY_2",
+ "x": 2,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "DewfordTown_House2_EventScript_15361F",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 3,
+ "y": 8,
+ "elevation": 0,
+ "dest_map": "MAP_DEWFORD_TOWN",
+ "dest_warp_id": 4
+ },
+ {
+ "x": 4,
+ "y": 8,
+ "elevation": 0,
+ "dest_map": "MAP_DEWFORD_TOWN",
+ "dest_warp_id": 4
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/DewfordTown_PokemonCenter_1F/events.inc b/data/maps/DewfordTown_PokemonCenter_1F/events.inc
deleted file mode 100644
index 296b3374b..000000000
--- a/data/maps/DewfordTown_PokemonCenter_1F/events.inc
+++ /dev/null
@@ -1,12 +0,0 @@
-DewfordTown_PokemonCenter_1F_EventObjects:: @ 8385EC4
- object_event 1, EVENT_OBJ_GFX_NURSE, 0, 7, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, DewfordTown_PokemonCenter_1F_EventScript_153023, 0
- object_event 2, EVENT_OBJ_GFX_WOMAN_2, 0, 10, 6, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, DewfordTown_PokemonCenter_1F_EventScript_153031, 0
- object_event 3, EVENT_OBJ_GFX_MAN_4, 0, 5, 5, 0, MOVEMENT_TYPE_WANDER_LEFT_AND_RIGHT, 2, 1, 0, 0, DewfordTown_PokemonCenter_1F_EventScript_15303A, 0
-
-DewfordTown_PokemonCenter_1F_MapWarps:: @ 8385F0C
- warp_def 7, 8, 3, 1, MAP_DEWFORD_TOWN
- warp_def 6, 8, 3, 1, MAP_DEWFORD_TOWN
- warp_def 1, 6, 4, 0, MAP_DEWFORD_TOWN_POKEMON_CENTER_2F
-
-DewfordTown_PokemonCenter_1F_MapEvents:: @ 8385F24
- map_events DewfordTown_PokemonCenter_1F_EventObjects, DewfordTown_PokemonCenter_1F_MapWarps, 0x0, 0x0
diff --git a/data/maps/DewfordTown_PokemonCenter_1F/header.inc b/data/maps/DewfordTown_PokemonCenter_1F/header.inc
deleted file mode 100644
index 84cf5a83e..000000000
--- a/data/maps/DewfordTown_PokemonCenter_1F/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-DewfordTown_PokemonCenter_1F:: @ 8305B64
- .4byte PokemonCenter_1F_Layout
- .4byte DewfordTown_PokemonCenter_1F_MapEvents
- .4byte DewfordTown_PokemonCenter_1F_MapScripts
- .4byte 0x0
- .2byte MUS_POKECEN
- .2byte 61
- .byte MAPSEC_DEWFORD_TOWN
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/DewfordTown_PokemonCenter_1F/map.json b/data/maps/DewfordTown_PokemonCenter_1F/map.json
new file mode 100644
index 000000000..6d45f5e01
--- /dev/null
+++ b/data/maps/DewfordTown_PokemonCenter_1F/map.json
@@ -0,0 +1,79 @@
+{
+ "id": "MAP_DEWFORD_TOWN_POKEMON_CENTER_1F",
+ "name": "DewfordTown_PokemonCenter_1F",
+ "layout": "LAYOUT_POKEMON_CENTER_1F",
+ "music": "MUS_POKECEN",
+ "region_map_section": "MAPSEC_DEWFORD_TOWN",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_NURSE",
+ "x": 7,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "DewfordTown_PokemonCenter_1F_EventScript_153023",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_2",
+ "x": 10,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "DewfordTown_PokemonCenter_1F_EventScript_153031",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_4",
+ "x": 5,
+ "y": 5,
+ "elevation": 0,
+ "movement_type": "MOVEMENT_TYPE_WANDER_LEFT_AND_RIGHT",
+ "movement_range_x": 2,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "DewfordTown_PokemonCenter_1F_EventScript_15303A",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 7,
+ "y": 8,
+ "elevation": 3,
+ "dest_map": "MAP_DEWFORD_TOWN",
+ "dest_warp_id": 1
+ },
+ {
+ "x": 6,
+ "y": 8,
+ "elevation": 3,
+ "dest_map": "MAP_DEWFORD_TOWN",
+ "dest_warp_id": 1
+ },
+ {
+ "x": 1,
+ "y": 6,
+ "elevation": 4,
+ "dest_map": "MAP_DEWFORD_TOWN_POKEMON_CENTER_2F",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/DewfordTown_PokemonCenter_2F/events.inc b/data/maps/DewfordTown_PokemonCenter_2F/events.inc
deleted file mode 100644
index d26fc4351..000000000
--- a/data/maps/DewfordTown_PokemonCenter_2F/events.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-DewfordTown_PokemonCenter_2F_EventObjects:: @ 8385F38
- object_event 1, EVENT_OBJ_GFX_TEALA, 0, 4, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, DewfordTown_PokemonCenter_2F_EventScript_153053, 0
- object_event 2, EVENT_OBJ_GFX_TEALA, 0, 7, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, DewfordTown_PokemonCenter_2F_EventScript_153059, 0
- object_event 3, EVENT_OBJ_GFX_TEALA, 0, 10, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, DewfordTown_PokemonCenter_2F_EventScript_15305F, 0
-
-DewfordTown_PokemonCenter_2F_MapWarps:: @ 8385F80
- warp_def 1, 5, 4, 2, MAP_DEWFORD_TOWN_POKEMON_CENTER_1F
- warp_def 5, 1, 0, 0, MAP_SINGLE_BATTLE_COLOSSEUM
- warp_def 8, 1, 0, 0, MAP_TRADE_CENTER
- warp_def 11, 1, 0, 0, MAP_RECORD_CORNER
- warp_def 0, 0, 0, 0, MAP_DOUBLE_BATTLE_COLOSSEUM
-
-DewfordTown_PokemonCenter_2F_MapEvents:: @ 8385FA8
- map_events DewfordTown_PokemonCenter_2F_EventObjects, DewfordTown_PokemonCenter_2F_MapWarps, 0x0, 0x0
diff --git a/data/maps/DewfordTown_PokemonCenter_2F/header.inc b/data/maps/DewfordTown_PokemonCenter_2F/header.inc
deleted file mode 100644
index 90ccaa9d1..000000000
--- a/data/maps/DewfordTown_PokemonCenter_2F/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-DewfordTown_PokemonCenter_2F:: @ 8305B80
- .4byte PokemonCenter_2F_Layout
- .4byte DewfordTown_PokemonCenter_2F_MapEvents
- .4byte DewfordTown_PokemonCenter_2F_MapScripts
- .4byte 0x0
- .2byte MUS_POKECEN
- .2byte 62
- .byte MAPSEC_DEWFORD_TOWN
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/DewfordTown_PokemonCenter_2F/map.json b/data/maps/DewfordTown_PokemonCenter_2F/map.json
new file mode 100644
index 000000000..68322ae20
--- /dev/null
+++ b/data/maps/DewfordTown_PokemonCenter_2F/map.json
@@ -0,0 +1,93 @@
+{
+ "id": "MAP_DEWFORD_TOWN_POKEMON_CENTER_2F",
+ "name": "DewfordTown_PokemonCenter_2F",
+ "layout": "LAYOUT_POKEMON_CENTER_2F",
+ "music": "MUS_POKECEN",
+ "region_map_section": "MAPSEC_DEWFORD_TOWN",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_TEALA",
+ "x": 4,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "DewfordTown_PokemonCenter_2F_EventScript_153053",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_TEALA",
+ "x": 7,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "DewfordTown_PokemonCenter_2F_EventScript_153059",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_TEALA",
+ "x": 10,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "DewfordTown_PokemonCenter_2F_EventScript_15305F",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 1,
+ "y": 5,
+ "elevation": 4,
+ "dest_map": "MAP_DEWFORD_TOWN_POKEMON_CENTER_1F",
+ "dest_warp_id": 2
+ },
+ {
+ "x": 5,
+ "y": 1,
+ "elevation": 0,
+ "dest_map": "MAP_SINGLE_BATTLE_COLOSSEUM",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 8,
+ "y": 1,
+ "elevation": 0,
+ "dest_map": "MAP_TRADE_CENTER",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 11,
+ "y": 1,
+ "elevation": 0,
+ "dest_map": "MAP_RECORD_CORNER",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 0,
+ "y": 0,
+ "elevation": 0,
+ "dest_map": "MAP_DOUBLE_BATTLE_COLOSSEUM",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/DoubleBattleColosseum/events.inc b/data/maps/DoubleBattleColosseum/events.inc
deleted file mode 100644
index 1c6f9e983..000000000
--- a/data/maps/DoubleBattleColosseum/events.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-DoubleBattleColosseum_MapWarps:: @ 8391428
- warp_def 5, 8, 3, 127, MAP_NONE
- warp_def 6, 8, 3, 127, MAP_NONE
- warp_def 7, 8, 3, 127, MAP_NONE
- warp_def 8, 8, 3, 127, MAP_NONE
-
-DoubleBattleColosseum_MapCoordEvents:: @ 8391448
- coord_event 3, 4, 3, VAR_TEMP_0, 0, DoubleBattleColosseum_EventScript_1A4383
- coord_event 3, 6, 3, VAR_TEMP_0, 0, DoubleBattleColosseum_EventScript_1A43B9
- coord_event 10, 4, 3, VAR_TEMP_0, 0, DoubleBattleColosseum_EventScript_1A439E
- coord_event 10, 6, 3, VAR_TEMP_0, 0, DoubleBattleColosseum_EventScript_1A43D4
-
-DoubleBattleColosseum_MapEvents:: @ 8391488
- map_events 0x0, DoubleBattleColosseum_MapWarps, DoubleBattleColosseum_MapCoordEvents, 0x0
diff --git a/data/maps/DoubleBattleColosseum/header.inc b/data/maps/DoubleBattleColosseum/header.inc
deleted file mode 100644
index d9bc47e23..000000000
--- a/data/maps/DoubleBattleColosseum/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-DoubleBattleColosseum:: @ 83079CC
- .4byte DoubleBattleColosseum_Layout
- .4byte DoubleBattleColosseum_MapEvents
- .4byte DoubleBattleColosseum_MapScripts
- .4byte 0x0
- .2byte MUS_RAINBOW
- .2byte 225
- .byte MAPSEC_DYNAMIC
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_BATTLE_TOWER
diff --git a/data/maps/DoubleBattleColosseum/map.json b/data/maps/DoubleBattleColosseum/map.json
new file mode 100644
index 000000000..b7c3bad8f
--- /dev/null
+++ b/data/maps/DoubleBattleColosseum/map.json
@@ -0,0 +1,83 @@
+{
+ "id": "MAP_DOUBLE_BATTLE_COLOSSEUM",
+ "name": "DoubleBattleColosseum",
+ "layout": "LAYOUT_DOUBLE_BATTLE_COLOSSEUM",
+ "music": "MUS_RAINBOW",
+ "region_map_section": "MAPSEC_DYNAMIC",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_BATTLE_TOWER",
+ "connections": null,
+ "object_events": [],
+ "warp_events": [
+ {
+ "x": 5,
+ "y": 8,
+ "elevation": 3,
+ "dest_map": "MAP_NONE",
+ "dest_warp_id": 127
+ },
+ {
+ "x": 6,
+ "y": 8,
+ "elevation": 3,
+ "dest_map": "MAP_NONE",
+ "dest_warp_id": 127
+ },
+ {
+ "x": 7,
+ "y": 8,
+ "elevation": 3,
+ "dest_map": "MAP_NONE",
+ "dest_warp_id": 127
+ },
+ {
+ "x": 8,
+ "y": 8,
+ "elevation": 3,
+ "dest_map": "MAP_NONE",
+ "dest_warp_id": 127
+ }
+ ],
+ "coord_events": [
+ {
+ "type": "trigger",
+ "x": 3,
+ "y": 4,
+ "elevation": 3,
+ "var": "VAR_TEMP_0",
+ "var_value": "0",
+ "script": "DoubleBattleColosseum_EventScript_1A4383"
+ },
+ {
+ "type": "trigger",
+ "x": 3,
+ "y": 6,
+ "elevation": 3,
+ "var": "VAR_TEMP_0",
+ "var_value": "0",
+ "script": "DoubleBattleColosseum_EventScript_1A43B9"
+ },
+ {
+ "type": "trigger",
+ "x": 10,
+ "y": 4,
+ "elevation": 3,
+ "var": "VAR_TEMP_0",
+ "var_value": "0",
+ "script": "DoubleBattleColosseum_EventScript_1A439E"
+ },
+ {
+ "type": "trigger",
+ "x": 10,
+ "y": 6,
+ "elevation": 3,
+ "var": "VAR_TEMP_0",
+ "var_value": "0",
+ "script": "DoubleBattleColosseum_EventScript_1A43D4"
+ }
+ ],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/EverGrandeCity/connections.inc b/data/maps/EverGrandeCity/connections.inc
deleted file mode 100644
index 7833824d8..000000000
--- a/data/maps/EverGrandeCity/connections.inc
+++ /dev/null
@@ -1,6 +0,0 @@
-EverGrandeCity_MapConnectionsList:: @ 8308808
- connection left, 40, MAP_ROUTE128
-
-EverGrandeCity_MapConnections:: @ 8308814
- .4byte 0x1
- .4byte EverGrandeCity_MapConnectionsList
diff --git a/data/maps/EverGrandeCity/events.inc b/data/maps/EverGrandeCity/events.inc
deleted file mode 100644
index 757f33b6c..000000000
--- a/data/maps/EverGrandeCity/events.inc
+++ /dev/null
@@ -1,28 +0,0 @@
-EverGrandeCity_MapWarps:: @ 83807DC
- warp_def 18, 5, 0, 0, MAP_EVER_GRANDE_CITY_POKEMON_LEAGUE
- warp_def 27, 48, 0, 0, MAP_EVER_GRANDE_CITY_POKEMON_CENTER_1F
- warp_def 18, 41, 0, 0, MAP_VICTORY_ROAD_1F
- warp_def 18, 27, 0, 1, MAP_VICTORY_ROAD_1F
-
-EverGrandeCity_MapCoordEvents:: @ 83807FC
- coord_event 17, 58, 1, VAR_TEMP_1, 0, EverGrandeCity_EventScript_14D500
- coord_event 16, 58, 1, VAR_TEMP_1, 0, EverGrandeCity_EventScript_14D500
- coord_event 18, 58, 1, VAR_TEMP_1, 0, EverGrandeCity_EventScript_14D500
- coord_event 19, 58, 1, VAR_TEMP_1, 0, EverGrandeCity_EventScript_14D500
- coord_event 20, 58, 1, VAR_TEMP_1, 0, EverGrandeCity_EventScript_14D500
- coord_event 21, 58, 1, VAR_TEMP_1, 0, EverGrandeCity_EventScript_14D500
- coord_event 22, 58, 1, VAR_TEMP_1, 0, EverGrandeCity_EventScript_14D500
- coord_event 23, 58, 1, VAR_TEMP_1, 0, EverGrandeCity_EventScript_14D500
- coord_event 24, 58, 1, VAR_TEMP_1, 0, EverGrandeCity_EventScript_14D500
- coord_event 25, 58, 1, VAR_TEMP_1, 0, EverGrandeCity_EventScript_14D500
- coord_event 26, 58, 1, VAR_TEMP_1, 0, EverGrandeCity_EventScript_14D500
-
-EverGrandeCity_MapBGEvents:: @ 83808AC
- bg_event 19, 43, 5, BG_EVENT_PLAYER_FACING_ANY, EverGrandeCity_EventScript_14D4E5
- bg_event 29, 48, 0, BG_EVENT_PLAYER_FACING_NORTH, EverGrandeCity_EventScript_1A00EA
- bg_event 18, 52, 5, BG_EVENT_PLAYER_FACING_ANY, EverGrandeCity_EventScript_14D4EE
- bg_event 23, 15, 0, BG_EVENT_PLAYER_FACING_ANY, EverGrandeCity_EventScript_14D4F7
- bg_event 28, 48, 0, BG_EVENT_PLAYER_FACING_NORTH, EverGrandeCity_EventScript_1A00EA
-
-EverGrandeCity_MapEvents:: @ 83808E8
- map_events 0x0, EverGrandeCity_MapWarps, EverGrandeCity_MapCoordEvents, EverGrandeCity_MapBGEvents
diff --git a/data/maps/EverGrandeCity/header.inc b/data/maps/EverGrandeCity/header.inc
deleted file mode 100644
index b80385735..000000000
--- a/data/maps/EverGrandeCity/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-EverGrandeCity:: @ 8305528
- .4byte EverGrandeCity_Layout
- .4byte EverGrandeCity_MapEvents
- .4byte EverGrandeCity_MapScripts
- .4byte EverGrandeCity_MapConnections
- .2byte MUS_RAINBOW
- .2byte 9
- .byte MAPSEC_EVER_GRANDE_CITY
- .byte 0
- .byte WEATHER_SUNNY
- .byte MAP_TYPE_CITY
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/EverGrandeCity/map.json b/data/maps/EverGrandeCity/map.json
new file mode 100644
index 000000000..5b45d25af
--- /dev/null
+++ b/data/maps/EverGrandeCity/map.json
@@ -0,0 +1,193 @@
+{
+ "id": "MAP_EVER_GRANDE_CITY",
+ "name": "EverGrandeCity",
+ "layout": "LAYOUT_EVER_GRANDE_CITY",
+ "music": "MUS_RAINBOW",
+ "region_map_section": "MAPSEC_EVER_GRANDE_CITY",
+ "requires_flash": false,
+ "weather": "WEATHER_SUNNY",
+ "map_type": "MAP_TYPE_CITY",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": [
+ {
+ "direction": "left",
+ "offset": 40,
+ "map": "MAP_ROUTE128"
+ }
+ ],
+ "object_events": [],
+ "warp_events": [
+ {
+ "x": 18,
+ "y": 5,
+ "elevation": 0,
+ "dest_map": "MAP_EVER_GRANDE_CITY_POKEMON_LEAGUE",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 27,
+ "y": 48,
+ "elevation": 0,
+ "dest_map": "MAP_EVER_GRANDE_CITY_POKEMON_CENTER_1F",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 18,
+ "y": 41,
+ "elevation": 0,
+ "dest_map": "MAP_VICTORY_ROAD_1F",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 18,
+ "y": 27,
+ "elevation": 0,
+ "dest_map": "MAP_VICTORY_ROAD_1F",
+ "dest_warp_id": 1
+ }
+ ],
+ "coord_events": [
+ {
+ "type": "trigger",
+ "x": 17,
+ "y": 58,
+ "elevation": 1,
+ "var": "VAR_TEMP_1",
+ "var_value": "0",
+ "script": "EverGrandeCity_EventScript_14D500"
+ },
+ {
+ "type": "trigger",
+ "x": 16,
+ "y": 58,
+ "elevation": 1,
+ "var": "VAR_TEMP_1",
+ "var_value": "0",
+ "script": "EverGrandeCity_EventScript_14D500"
+ },
+ {
+ "type": "trigger",
+ "x": 18,
+ "y": 58,
+ "elevation": 1,
+ "var": "VAR_TEMP_1",
+ "var_value": "0",
+ "script": "EverGrandeCity_EventScript_14D500"
+ },
+ {
+ "type": "trigger",
+ "x": 19,
+ "y": 58,
+ "elevation": 1,
+ "var": "VAR_TEMP_1",
+ "var_value": "0",
+ "script": "EverGrandeCity_EventScript_14D500"
+ },
+ {
+ "type": "trigger",
+ "x": 20,
+ "y": 58,
+ "elevation": 1,
+ "var": "VAR_TEMP_1",
+ "var_value": "0",
+ "script": "EverGrandeCity_EventScript_14D500"
+ },
+ {
+ "type": "trigger",
+ "x": 21,
+ "y": 58,
+ "elevation": 1,
+ "var": "VAR_TEMP_1",
+ "var_value": "0",
+ "script": "EverGrandeCity_EventScript_14D500"
+ },
+ {
+ "type": "trigger",
+ "x": 22,
+ "y": 58,
+ "elevation": 1,
+ "var": "VAR_TEMP_1",
+ "var_value": "0",
+ "script": "EverGrandeCity_EventScript_14D500"
+ },
+ {
+ "type": "trigger",
+ "x": 23,
+ "y": 58,
+ "elevation": 1,
+ "var": "VAR_TEMP_1",
+ "var_value": "0",
+ "script": "EverGrandeCity_EventScript_14D500"
+ },
+ {
+ "type": "trigger",
+ "x": 24,
+ "y": 58,
+ "elevation": 1,
+ "var": "VAR_TEMP_1",
+ "var_value": "0",
+ "script": "EverGrandeCity_EventScript_14D500"
+ },
+ {
+ "type": "trigger",
+ "x": 25,
+ "y": 58,
+ "elevation": 1,
+ "var": "VAR_TEMP_1",
+ "var_value": "0",
+ "script": "EverGrandeCity_EventScript_14D500"
+ },
+ {
+ "type": "trigger",
+ "x": 26,
+ "y": 58,
+ "elevation": 1,
+ "var": "VAR_TEMP_1",
+ "var_value": "0",
+ "script": "EverGrandeCity_EventScript_14D500"
+ }
+ ],
+ "bg_events": [
+ {
+ "type": "sign",
+ "x": 19,
+ "y": 43,
+ "elevation": 5,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "EverGrandeCity_EventScript_14D4E5"
+ },
+ {
+ "type": "sign",
+ "x": 29,
+ "y": 48,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH",
+ "script": "EverGrandeCity_EventScript_1A00EA"
+ },
+ {
+ "type": "sign",
+ "x": 18,
+ "y": 52,
+ "elevation": 5,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "EverGrandeCity_EventScript_14D4EE"
+ },
+ {
+ "type": "sign",
+ "x": 23,
+ "y": 15,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "EverGrandeCity_EventScript_14D4F7"
+ },
+ {
+ "type": "sign",
+ "x": 28,
+ "y": 48,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH",
+ "script": "EverGrandeCity_EventScript_1A00EA"
+ }
+ ]
+} \ No newline at end of file
diff --git a/data/maps/EverGrandeCity_ChampionsRoom/events.inc b/data/maps/EverGrandeCity_ChampionsRoom/events.inc
deleted file mode 100644
index ae5518f5e..000000000
--- a/data/maps/EverGrandeCity_ChampionsRoom/events.inc
+++ /dev/null
@@ -1,11 +0,0 @@
-EverGrandeCity_ChampionsRoom_EventObjects:: @ 838B334
- object_event 1, EVENT_OBJ_GFX_STEVEN, 0, 6, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 0
- object_event 2, EVENT_OBJ_GFX_VAR_0, 0, 6, 12, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, 0x0, FLAG_HIDE_RIVAL_CHAMPIONS_ROOM
- object_event 3, EVENT_OBJ_GFX_PROF_BIRCH, 0, 6, 12, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, 0x0, FLAG_HIDE_BIRCH_CHAMPIONS_ROOM
-
-EverGrandeCity_ChampionsRoom_MapWarps:: @ 838B37C
- warp_def 6, 12, 3, 1, MAP_EVER_GRANDE_CITY_CORRIDOR4
- warp_def 6, 2, 0, 0, MAP_EVER_GRANDE_CITY_HALL_OF_FAME
-
-EverGrandeCity_ChampionsRoom_MapEvents:: @ 838B38C
- map_events EverGrandeCity_ChampionsRoom_EventObjects, EverGrandeCity_ChampionsRoom_MapWarps, 0x0, 0x0
diff --git a/data/maps/EverGrandeCity_ChampionsRoom/header.inc b/data/maps/EverGrandeCity_ChampionsRoom/header.inc
deleted file mode 100644
index 74fc87562..000000000
--- a/data/maps/EverGrandeCity_ChampionsRoom/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-EverGrandeCity_ChampionsRoom:: @ 8306B08
- .4byte EverGrandeCity_ChampionsRoom_Layout
- .4byte EverGrandeCity_ChampionsRoom_MapEvents
- .4byte EverGrandeCity_ChampionsRoom_MapScripts
- .4byte 0x0
- .2byte MUS_C_ROAD
- .2byte 116
- .byte MAPSEC_EVER_GRANDE_CITY
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/EverGrandeCity_ChampionsRoom/map.json b/data/maps/EverGrandeCity_ChampionsRoom/map.json
new file mode 100644
index 000000000..4b581716c
--- /dev/null
+++ b/data/maps/EverGrandeCity_ChampionsRoom/map.json
@@ -0,0 +1,72 @@
+{
+ "id": "MAP_EVER_GRANDE_CITY_CHAMPIONS_ROOM",
+ "name": "EverGrandeCity_ChampionsRoom",
+ "layout": "LAYOUT_EVER_GRANDE_CITY_CHAMPIONS_ROOM",
+ "music": "MUS_C_ROAD",
+ "region_map_section": "MAPSEC_EVER_GRANDE_CITY",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_STEVEN",
+ "x": 6,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_0",
+ "x": 6,
+ "y": 12,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_HIDE_RIVAL_CHAMPIONS_ROOM"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_PROF_BIRCH",
+ "x": 6,
+ "y": 12,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_HIDE_BIRCH_CHAMPIONS_ROOM"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 6,
+ "y": 12,
+ "elevation": 3,
+ "dest_map": "MAP_EVER_GRANDE_CITY_CORRIDOR4",
+ "dest_warp_id": 1
+ },
+ {
+ "x": 6,
+ "y": 2,
+ "elevation": 0,
+ "dest_map": "MAP_EVER_GRANDE_CITY_HALL_OF_FAME",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/EverGrandeCity_Corridor1/events.inc b/data/maps/EverGrandeCity_Corridor1/events.inc
deleted file mode 100644
index f3ec6727e..000000000
--- a/data/maps/EverGrandeCity_Corridor1/events.inc
+++ /dev/null
@@ -1,8 +0,0 @@
-EverGrandeCity_Corridor1_MapWarps:: @ 838B3A0
- warp_def 5, 12, 3, 1, MAP_EVER_GRANDE_CITY_SIDNEYS_ROOM
- warp_def 5, 2, 0, 0, MAP_EVER_GRANDE_CITY_PHOEBES_ROOM
- warp_def 4, 12, 3, 1, MAP_EVER_GRANDE_CITY_SIDNEYS_ROOM
- warp_def 6, 12, 3, 1, MAP_EVER_GRANDE_CITY_SIDNEYS_ROOM
-
-EverGrandeCity_Corridor1_MapEvents:: @ 838B3C0
- map_events 0x0, EverGrandeCity_Corridor1_MapWarps, 0x0, 0x0
diff --git a/data/maps/EverGrandeCity_Corridor1/header.inc b/data/maps/EverGrandeCity_Corridor1/header.inc
deleted file mode 100644
index abb715579..000000000
--- a/data/maps/EverGrandeCity_Corridor1/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-EverGrandeCity_Corridor1:: @ 8306B24
- .4byte EverGrandeCity_ShortCorridor_Layout
- .4byte EverGrandeCity_Corridor1_MapEvents
- .4byte EverGrandeCity_Corridor1_MapScripts
- .4byte 0x0
- .2byte MUS_C_ROAD
- .2byte 117
- .byte MAPSEC_EVER_GRANDE_CITY
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/EverGrandeCity_Corridor1/map.json b/data/maps/EverGrandeCity_Corridor1/map.json
new file mode 100644
index 000000000..d22b9db11
--- /dev/null
+++ b/data/maps/EverGrandeCity_Corridor1/map.json
@@ -0,0 +1,46 @@
+{
+ "id": "MAP_EVER_GRANDE_CITY_CORRIDOR1",
+ "name": "EverGrandeCity_Corridor1",
+ "layout": "LAYOUT_EVER_GRANDE_CITY_SHORT_CORRIDOR",
+ "music": "MUS_C_ROAD",
+ "region_map_section": "MAPSEC_EVER_GRANDE_CITY",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [],
+ "warp_events": [
+ {
+ "x": 5,
+ "y": 12,
+ "elevation": 3,
+ "dest_map": "MAP_EVER_GRANDE_CITY_SIDNEYS_ROOM",
+ "dest_warp_id": 1
+ },
+ {
+ "x": 5,
+ "y": 2,
+ "elevation": 0,
+ "dest_map": "MAP_EVER_GRANDE_CITY_PHOEBES_ROOM",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 4,
+ "y": 12,
+ "elevation": 3,
+ "dest_map": "MAP_EVER_GRANDE_CITY_SIDNEYS_ROOM",
+ "dest_warp_id": 1
+ },
+ {
+ "x": 6,
+ "y": 12,
+ "elevation": 3,
+ "dest_map": "MAP_EVER_GRANDE_CITY_SIDNEYS_ROOM",
+ "dest_warp_id": 1
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/EverGrandeCity_Corridor2/events.inc b/data/maps/EverGrandeCity_Corridor2/events.inc
deleted file mode 100644
index e9a9cdc4c..000000000
--- a/data/maps/EverGrandeCity_Corridor2/events.inc
+++ /dev/null
@@ -1,8 +0,0 @@
-EverGrandeCity_Corridor2_MapWarps:: @ 838B3D4
- warp_def 5, 12, 3, 1, MAP_EVER_GRANDE_CITY_PHOEBES_ROOM
- warp_def 5, 2, 0, 0, MAP_EVER_GRANDE_CITY_GLACIAS_ROOM
- warp_def 4, 12, 3, 1, MAP_EVER_GRANDE_CITY_PHOEBES_ROOM
- warp_def 6, 12, 3, 1, MAP_EVER_GRANDE_CITY_PHOEBES_ROOM
-
-EverGrandeCity_Corridor2_MapEvents:: @ 838B3F4
- map_events 0x0, EverGrandeCity_Corridor2_MapWarps, 0x0, 0x0
diff --git a/data/maps/EverGrandeCity_Corridor2/header.inc b/data/maps/EverGrandeCity_Corridor2/header.inc
deleted file mode 100644
index 84e681fd7..000000000
--- a/data/maps/EverGrandeCity_Corridor2/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-EverGrandeCity_Corridor2:: @ 8306B40
- .4byte EverGrandeCity_ShortCorridor_Layout
- .4byte EverGrandeCity_Corridor2_MapEvents
- .4byte EverGrandeCity_Corridor2_MapScripts
- .4byte 0x0
- .2byte MUS_C_ROAD
- .2byte 117
- .byte MAPSEC_EVER_GRANDE_CITY
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/EverGrandeCity_Corridor2/map.json b/data/maps/EverGrandeCity_Corridor2/map.json
new file mode 100644
index 000000000..6d87a7667
--- /dev/null
+++ b/data/maps/EverGrandeCity_Corridor2/map.json
@@ -0,0 +1,46 @@
+{
+ "id": "MAP_EVER_GRANDE_CITY_CORRIDOR2",
+ "name": "EverGrandeCity_Corridor2",
+ "layout": "LAYOUT_EVER_GRANDE_CITY_SHORT_CORRIDOR",
+ "music": "MUS_C_ROAD",
+ "region_map_section": "MAPSEC_EVER_GRANDE_CITY",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [],
+ "warp_events": [
+ {
+ "x": 5,
+ "y": 12,
+ "elevation": 3,
+ "dest_map": "MAP_EVER_GRANDE_CITY_PHOEBES_ROOM",
+ "dest_warp_id": 1
+ },
+ {
+ "x": 5,
+ "y": 2,
+ "elevation": 0,
+ "dest_map": "MAP_EVER_GRANDE_CITY_GLACIAS_ROOM",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 4,
+ "y": 12,
+ "elevation": 3,
+ "dest_map": "MAP_EVER_GRANDE_CITY_PHOEBES_ROOM",
+ "dest_warp_id": 1
+ },
+ {
+ "x": 6,
+ "y": 12,
+ "elevation": 3,
+ "dest_map": "MAP_EVER_GRANDE_CITY_PHOEBES_ROOM",
+ "dest_warp_id": 1
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/EverGrandeCity_Corridor3/events.inc b/data/maps/EverGrandeCity_Corridor3/events.inc
deleted file mode 100644
index 98d5f7b81..000000000
--- a/data/maps/EverGrandeCity_Corridor3/events.inc
+++ /dev/null
@@ -1,8 +0,0 @@
-EverGrandeCity_Corridor3_MapWarps:: @ 838B408
- warp_def 5, 12, 3, 1, MAP_EVER_GRANDE_CITY_GLACIAS_ROOM
- warp_def 5, 2, 0, 0, MAP_EVER_GRANDE_CITY_DRAKES_ROOM
- warp_def 4, 12, 3, 1, MAP_EVER_GRANDE_CITY_GLACIAS_ROOM
- warp_def 6, 12, 3, 1, MAP_EVER_GRANDE_CITY_GLACIAS_ROOM
-
-EverGrandeCity_Corridor3_MapEvents:: @ 838B428
- map_events 0x0, EverGrandeCity_Corridor3_MapWarps, 0x0, 0x0
diff --git a/data/maps/EverGrandeCity_Corridor3/header.inc b/data/maps/EverGrandeCity_Corridor3/header.inc
deleted file mode 100644
index 240d65727..000000000
--- a/data/maps/EverGrandeCity_Corridor3/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-EverGrandeCity_Corridor3:: @ 8306B5C
- .4byte EverGrandeCity_ShortCorridor_Layout
- .4byte EverGrandeCity_Corridor3_MapEvents
- .4byte EverGrandeCity_Corridor3_MapScripts
- .4byte 0x0
- .2byte MUS_C_ROAD
- .2byte 117
- .byte MAPSEC_EVER_GRANDE_CITY
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/EverGrandeCity_Corridor3/map.json b/data/maps/EverGrandeCity_Corridor3/map.json
new file mode 100644
index 000000000..f83993e77
--- /dev/null
+++ b/data/maps/EverGrandeCity_Corridor3/map.json
@@ -0,0 +1,46 @@
+{
+ "id": "MAP_EVER_GRANDE_CITY_CORRIDOR3",
+ "name": "EverGrandeCity_Corridor3",
+ "layout": "LAYOUT_EVER_GRANDE_CITY_SHORT_CORRIDOR",
+ "music": "MUS_C_ROAD",
+ "region_map_section": "MAPSEC_EVER_GRANDE_CITY",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [],
+ "warp_events": [
+ {
+ "x": 5,
+ "y": 12,
+ "elevation": 3,
+ "dest_map": "MAP_EVER_GRANDE_CITY_GLACIAS_ROOM",
+ "dest_warp_id": 1
+ },
+ {
+ "x": 5,
+ "y": 2,
+ "elevation": 0,
+ "dest_map": "MAP_EVER_GRANDE_CITY_DRAKES_ROOM",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 4,
+ "y": 12,
+ "elevation": 3,
+ "dest_map": "MAP_EVER_GRANDE_CITY_GLACIAS_ROOM",
+ "dest_warp_id": 1
+ },
+ {
+ "x": 6,
+ "y": 12,
+ "elevation": 3,
+ "dest_map": "MAP_EVER_GRANDE_CITY_GLACIAS_ROOM",
+ "dest_warp_id": 1
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/EverGrandeCity_Corridor4/events.inc b/data/maps/EverGrandeCity_Corridor4/events.inc
deleted file mode 100644
index cbcf9f77e..000000000
--- a/data/maps/EverGrandeCity_Corridor4/events.inc
+++ /dev/null
@@ -1,6 +0,0 @@
-EverGrandeCity_Corridor4_MapWarps:: @ 838B43C
- warp_def 5, 33, 3, 1, MAP_EVER_GRANDE_CITY_DRAKES_ROOM
- warp_def 5, 2, 0, 0, MAP_EVER_GRANDE_CITY_CHAMPIONS_ROOM
-
-EverGrandeCity_Corridor4_MapEvents:: @ 838B44C
- map_events 0x0, EverGrandeCity_Corridor4_MapWarps, 0x0, 0x0
diff --git a/data/maps/EverGrandeCity_Corridor4/header.inc b/data/maps/EverGrandeCity_Corridor4/header.inc
deleted file mode 100644
index 3fad2e361..000000000
--- a/data/maps/EverGrandeCity_Corridor4/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-EverGrandeCity_Corridor4:: @ 8306B78
- .4byte EverGrandeCity_Corridor4_Layout
- .4byte EverGrandeCity_Corridor4_MapEvents
- .4byte EverGrandeCity_Corridor4_MapScripts
- .4byte 0x0
- .2byte MUS_C_ROAD
- .2byte 316
- .byte MAPSEC_EVER_GRANDE_CITY
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/EverGrandeCity_Corridor4/map.json b/data/maps/EverGrandeCity_Corridor4/map.json
new file mode 100644
index 000000000..c74147e67
--- /dev/null
+++ b/data/maps/EverGrandeCity_Corridor4/map.json
@@ -0,0 +1,32 @@
+{
+ "id": "MAP_EVER_GRANDE_CITY_CORRIDOR4",
+ "name": "EverGrandeCity_Corridor4",
+ "layout": "LAYOUT_EVER_GRANDE_CITY_CORRIDOR4",
+ "music": "MUS_C_ROAD",
+ "region_map_section": "MAPSEC_EVER_GRANDE_CITY",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [],
+ "warp_events": [
+ {
+ "x": 5,
+ "y": 33,
+ "elevation": 3,
+ "dest_map": "MAP_EVER_GRANDE_CITY_DRAKES_ROOM",
+ "dest_warp_id": 1
+ },
+ {
+ "x": 5,
+ "y": 2,
+ "elevation": 0,
+ "dest_map": "MAP_EVER_GRANDE_CITY_CHAMPIONS_ROOM",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/EverGrandeCity_Corridor5/events.inc b/data/maps/EverGrandeCity_Corridor5/events.inc
deleted file mode 100644
index 5b77148ca..000000000
--- a/data/maps/EverGrandeCity_Corridor5/events.inc
+++ /dev/null
@@ -1,8 +0,0 @@
-EverGrandeCity_Corridor5_MapWarps:: @ 838B460
- warp_def 5, 12, 3, 2, MAP_EVER_GRANDE_CITY_POKEMON_LEAGUE
- warp_def 5, 2, 0, 0, MAP_EVER_GRANDE_CITY_SIDNEYS_ROOM
- warp_def 4, 12, 3, 2, MAP_EVER_GRANDE_CITY_POKEMON_LEAGUE
- warp_def 6, 12, 3, 2, MAP_EVER_GRANDE_CITY_POKEMON_LEAGUE
-
-EverGrandeCity_Corridor5_MapEvents:: @ 838B480
- map_events 0x0, EverGrandeCity_Corridor5_MapWarps, 0x0, 0x0
diff --git a/data/maps/EverGrandeCity_Corridor5/header.inc b/data/maps/EverGrandeCity_Corridor5/header.inc
deleted file mode 100644
index 3496c95be..000000000
--- a/data/maps/EverGrandeCity_Corridor5/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-EverGrandeCity_Corridor5:: @ 8306B94
- .4byte EverGrandeCity_ShortCorridor_Layout
- .4byte EverGrandeCity_Corridor5_MapEvents
- .4byte EverGrandeCity_Corridor5_MapScripts
- .4byte 0x0
- .2byte MUS_C_ROAD
- .2byte 117
- .byte MAPSEC_EVER_GRANDE_CITY
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/EverGrandeCity_Corridor5/map.json b/data/maps/EverGrandeCity_Corridor5/map.json
new file mode 100644
index 000000000..c1968cd1e
--- /dev/null
+++ b/data/maps/EverGrandeCity_Corridor5/map.json
@@ -0,0 +1,46 @@
+{
+ "id": "MAP_EVER_GRANDE_CITY_CORRIDOR5",
+ "name": "EverGrandeCity_Corridor5",
+ "layout": "LAYOUT_EVER_GRANDE_CITY_SHORT_CORRIDOR",
+ "music": "MUS_C_ROAD",
+ "region_map_section": "MAPSEC_EVER_GRANDE_CITY",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [],
+ "warp_events": [
+ {
+ "x": 5,
+ "y": 12,
+ "elevation": 3,
+ "dest_map": "MAP_EVER_GRANDE_CITY_POKEMON_LEAGUE",
+ "dest_warp_id": 2
+ },
+ {
+ "x": 5,
+ "y": 2,
+ "elevation": 0,
+ "dest_map": "MAP_EVER_GRANDE_CITY_SIDNEYS_ROOM",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 4,
+ "y": 12,
+ "elevation": 3,
+ "dest_map": "MAP_EVER_GRANDE_CITY_POKEMON_LEAGUE",
+ "dest_warp_id": 2
+ },
+ {
+ "x": 6,
+ "y": 12,
+ "elevation": 3,
+ "dest_map": "MAP_EVER_GRANDE_CITY_POKEMON_LEAGUE",
+ "dest_warp_id": 2
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/EverGrandeCity_DrakesRoom/events.inc b/data/maps/EverGrandeCity_DrakesRoom/events.inc
deleted file mode 100644
index 9ff011c34..000000000
--- a/data/maps/EverGrandeCity_DrakesRoom/events.inc
+++ /dev/null
@@ -1,9 +0,0 @@
-EverGrandeCity_DrakesRoom_EventObjects:: @ 838B2F8
- object_event 1, EVENT_OBJ_GFX_DRAKE, 0, 6, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, EverGrandeCity_DrakesRoom_EventScript_15B764, 0
-
-EverGrandeCity_DrakesRoom_MapWarps:: @ 838B310
- warp_def 6, 13, 3, 1, MAP_EVER_GRANDE_CITY_CORRIDOR3
- warp_def 6, 2, 0, 0, MAP_EVER_GRANDE_CITY_CORRIDOR4
-
-EverGrandeCity_DrakesRoom_MapEvents:: @ 838B320
- map_events EverGrandeCity_DrakesRoom_EventObjects, EverGrandeCity_DrakesRoom_MapWarps, 0x0, 0x0
diff --git a/data/maps/EverGrandeCity_DrakesRoom/header.inc b/data/maps/EverGrandeCity_DrakesRoom/header.inc
deleted file mode 100644
index 265aac21d..000000000
--- a/data/maps/EverGrandeCity_DrakesRoom/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-EverGrandeCity_DrakesRoom:: @ 8306AEC
- .4byte EverGrandeCity_DrakesRoom_Layout
- .4byte EverGrandeCity_DrakesRoom_MapEvents
- .4byte EverGrandeCity_DrakesRoom_MapScripts
- .4byte 0x0
- .2byte MUS_C_ROAD
- .2byte 115
- .byte MAPSEC_EVER_GRANDE_CITY
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_DRAKE
diff --git a/data/maps/EverGrandeCity_DrakesRoom/map.json b/data/maps/EverGrandeCity_DrakesRoom/map.json
new file mode 100644
index 000000000..e26096649
--- /dev/null
+++ b/data/maps/EverGrandeCity_DrakesRoom/map.json
@@ -0,0 +1,46 @@
+{
+ "id": "MAP_EVER_GRANDE_CITY_DRAKES_ROOM",
+ "name": "EverGrandeCity_DrakesRoom",
+ "layout": "LAYOUT_EVER_GRANDE_CITY_DRAKES_ROOM",
+ "music": "MUS_C_ROAD",
+ "region_map_section": "MAPSEC_EVER_GRANDE_CITY",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_DRAKE",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_DRAKE",
+ "x": 6,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "EverGrandeCity_DrakesRoom_EventScript_15B764",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 6,
+ "y": 13,
+ "elevation": 3,
+ "dest_map": "MAP_EVER_GRANDE_CITY_CORRIDOR3",
+ "dest_warp_id": 1
+ },
+ {
+ "x": 6,
+ "y": 2,
+ "elevation": 0,
+ "dest_map": "MAP_EVER_GRANDE_CITY_CORRIDOR4",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/EverGrandeCity_GlaciasRoom/events.inc b/data/maps/EverGrandeCity_GlaciasRoom/events.inc
deleted file mode 100644
index 55eb82464..000000000
--- a/data/maps/EverGrandeCity_GlaciasRoom/events.inc
+++ /dev/null
@@ -1,9 +0,0 @@
-EverGrandeCity_GlaciasRoom_EventObjects:: @ 838B2BC
- object_event 1, EVENT_OBJ_GFX_GLACIA, 0, 6, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, EverGrandeCity_GlaciasRoom_EventScript_15B6CA, 0
-
-EverGrandeCity_GlaciasRoom_MapWarps:: @ 838B2D4
- warp_def 6, 13, 3, 1, MAP_EVER_GRANDE_CITY_CORRIDOR2
- warp_def 6, 2, 0, 0, MAP_EVER_GRANDE_CITY_CORRIDOR3
-
-EverGrandeCity_GlaciasRoom_MapEvents:: @ 838B2E4
- map_events EverGrandeCity_GlaciasRoom_EventObjects, EverGrandeCity_GlaciasRoom_MapWarps, 0x0, 0x0
diff --git a/data/maps/EverGrandeCity_GlaciasRoom/header.inc b/data/maps/EverGrandeCity_GlaciasRoom/header.inc
deleted file mode 100644
index 6338d9c79..000000000
--- a/data/maps/EverGrandeCity_GlaciasRoom/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-EverGrandeCity_GlaciasRoom:: @ 8306AD0
- .4byte EverGrandeCity_GlaciasRoom_Layout
- .4byte EverGrandeCity_GlaciasRoom_MapEvents
- .4byte EverGrandeCity_GlaciasRoom_MapScripts
- .4byte 0x0
- .2byte MUS_C_ROAD
- .2byte 114
- .byte MAPSEC_EVER_GRANDE_CITY
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_GLACIA
diff --git a/data/maps/EverGrandeCity_GlaciasRoom/map.json b/data/maps/EverGrandeCity_GlaciasRoom/map.json
new file mode 100644
index 000000000..364c524e2
--- /dev/null
+++ b/data/maps/EverGrandeCity_GlaciasRoom/map.json
@@ -0,0 +1,46 @@
+{
+ "id": "MAP_EVER_GRANDE_CITY_GLACIAS_ROOM",
+ "name": "EverGrandeCity_GlaciasRoom",
+ "layout": "LAYOUT_EVER_GRANDE_CITY_GLACIAS_ROOM",
+ "music": "MUS_C_ROAD",
+ "region_map_section": "MAPSEC_EVER_GRANDE_CITY",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_GLACIA",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_GLACIA",
+ "x": 6,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "EverGrandeCity_GlaciasRoom_EventScript_15B6CA",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 6,
+ "y": 13,
+ "elevation": 3,
+ "dest_map": "MAP_EVER_GRANDE_CITY_CORRIDOR2",
+ "dest_warp_id": 1
+ },
+ {
+ "x": 6,
+ "y": 2,
+ "elevation": 0,
+ "dest_map": "MAP_EVER_GRANDE_CITY_CORRIDOR3",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/EverGrandeCity_HallOfFame/events.inc b/data/maps/EverGrandeCity_HallOfFame/events.inc
deleted file mode 100644
index d8547fbda..000000000
--- a/data/maps/EverGrandeCity_HallOfFame/events.inc
+++ /dev/null
@@ -1,8 +0,0 @@
-EverGrandeCity_HallOfFame_EventObjects:: @ 838B528
- object_event 1, EVENT_OBJ_GFX_STEVEN, 0, 6, 16, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, 0x0, 0
-
-EverGrandeCity_HallOfFame_MapWarps:: @ 838B540
- warp_def 7, 11, 3, 1, MAP_EVER_GRANDE_CITY_CHAMPIONS_ROOM
-
-EverGrandeCity_HallOfFame_MapEvents:: @ 838B548
- map_events EverGrandeCity_HallOfFame_EventObjects, EverGrandeCity_HallOfFame_MapWarps, 0x0, 0x0
diff --git a/data/maps/EverGrandeCity_HallOfFame/header.inc b/data/maps/EverGrandeCity_HallOfFame/header.inc
deleted file mode 100644
index 7c960229e..000000000
--- a/data/maps/EverGrandeCity_HallOfFame/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-EverGrandeCity_HallOfFame:: @ 8306BCC
- .4byte EverGrandeCity_HallOfFame_Layout
- .4byte EverGrandeCity_HallOfFame_MapEvents
- .4byte EverGrandeCity_HallOfFame_MapScripts
- .4byte 0x0
- .2byte MUS_EIKOU_R
- .2byte 299
- .byte MAPSEC_EVER_GRANDE_CITY
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/EverGrandeCity_HallOfFame/map.json b/data/maps/EverGrandeCity_HallOfFame/map.json
new file mode 100644
index 000000000..f4b7c36c8
--- /dev/null
+++ b/data/maps/EverGrandeCity_HallOfFame/map.json
@@ -0,0 +1,39 @@
+{
+ "id": "MAP_EVER_GRANDE_CITY_HALL_OF_FAME",
+ "name": "EverGrandeCity_HallOfFame",
+ "layout": "LAYOUT_EVER_GRANDE_CITY_HALL_OF_FAME",
+ "music": "MUS_EIKOU_R",
+ "region_map_section": "MAPSEC_EVER_GRANDE_CITY",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_STEVEN",
+ "x": 6,
+ "y": 16,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 7,
+ "y": 11,
+ "elevation": 3,
+ "dest_map": "MAP_EVER_GRANDE_CITY_CHAMPIONS_ROOM",
+ "dest_warp_id": 1
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/EverGrandeCity_PhoebesRoom/events.inc b/data/maps/EverGrandeCity_PhoebesRoom/events.inc
deleted file mode 100644
index 714de97b8..000000000
--- a/data/maps/EverGrandeCity_PhoebesRoom/events.inc
+++ /dev/null
@@ -1,9 +0,0 @@
-EverGrandeCity_PhoebesRoom_EventObjects:: @ 838B280
- object_event 1, EVENT_OBJ_GFX_PHOEBE, 0, 6, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, EverGrandeCity_PhoebesRoom_EventScript_15B630, 0
-
-EverGrandeCity_PhoebesRoom_MapWarps:: @ 838B298
- warp_def 6, 13, 3, 1, MAP_EVER_GRANDE_CITY_CORRIDOR1
- warp_def 6, 2, 0, 0, MAP_EVER_GRANDE_CITY_CORRIDOR2
-
-EverGrandeCity_PhoebesRoom_MapEvents:: @ 838B2A8
- map_events EverGrandeCity_PhoebesRoom_EventObjects, EverGrandeCity_PhoebesRoom_MapWarps, 0x0, 0x0
diff --git a/data/maps/EverGrandeCity_PhoebesRoom/header.inc b/data/maps/EverGrandeCity_PhoebesRoom/header.inc
deleted file mode 100644
index 754757686..000000000
--- a/data/maps/EverGrandeCity_PhoebesRoom/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-EverGrandeCity_PhoebesRoom:: @ 8306AB4
- .4byte EverGrandeCity_PhoebesRoom_Layout
- .4byte EverGrandeCity_PhoebesRoom_MapEvents
- .4byte EverGrandeCity_PhoebesRoom_MapScripts
- .4byte 0x0
- .2byte MUS_C_ROAD
- .2byte 113
- .byte MAPSEC_EVER_GRANDE_CITY
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_PHOEBE
diff --git a/data/maps/EverGrandeCity_PhoebesRoom/map.json b/data/maps/EverGrandeCity_PhoebesRoom/map.json
new file mode 100644
index 000000000..71b7eba91
--- /dev/null
+++ b/data/maps/EverGrandeCity_PhoebesRoom/map.json
@@ -0,0 +1,46 @@
+{
+ "id": "MAP_EVER_GRANDE_CITY_PHOEBES_ROOM",
+ "name": "EverGrandeCity_PhoebesRoom",
+ "layout": "LAYOUT_EVER_GRANDE_CITY_PHOEBES_ROOM",
+ "music": "MUS_C_ROAD",
+ "region_map_section": "MAPSEC_EVER_GRANDE_CITY",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_PHOEBE",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_PHOEBE",
+ "x": 6,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "EverGrandeCity_PhoebesRoom_EventScript_15B630",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 6,
+ "y": 13,
+ "elevation": 3,
+ "dest_map": "MAP_EVER_GRANDE_CITY_CORRIDOR1",
+ "dest_warp_id": 1
+ },
+ {
+ "x": 6,
+ "y": 2,
+ "elevation": 0,
+ "dest_map": "MAP_EVER_GRANDE_CITY_CORRIDOR2",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/EverGrandeCity_PokemonCenter_1F/events.inc b/data/maps/EverGrandeCity_PokemonCenter_1F/events.inc
deleted file mode 100644
index bf4e1db93..000000000
--- a/data/maps/EverGrandeCity_PokemonCenter_1F/events.inc
+++ /dev/null
@@ -1,12 +0,0 @@
-EverGrandeCity_PokemonCenter_1F_EventObjects:: @ 838B55C
- object_event 1, EVENT_OBJ_GFX_NURSE, 0, 7, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, EverGrandeCity_PokemonCenter_1F_EventScript_15BC70, 0
- object_event 2, EVENT_OBJ_GFX_WOMAN_7, 0, 5, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, EverGrandeCity_PokemonCenter_1F_EventScript_15BC7E, 0
- object_event 3, EVENT_OBJ_GFX_OLD_MAN_1, 0, 10, 7, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, EverGrandeCity_PokemonCenter_1F_EventScript_15BC87, 0
-
-EverGrandeCity_PokemonCenter_1F_MapWarps:: @ 838B5A4
- warp_def 7, 8, 3, 1, MAP_EVER_GRANDE_CITY
- warp_def 6, 8, 3, 1, MAP_EVER_GRANDE_CITY
- warp_def 1, 6, 4, 0, MAP_EVER_GRANDE_CITY_POKEMON_CENTER_2F
-
-EverGrandeCity_PokemonCenter_1F_MapEvents:: @ 838B5BC
- map_events EverGrandeCity_PokemonCenter_1F_EventObjects, EverGrandeCity_PokemonCenter_1F_MapWarps, 0x0, 0x0
diff --git a/data/maps/EverGrandeCity_PokemonCenter_1F/header.inc b/data/maps/EverGrandeCity_PokemonCenter_1F/header.inc
deleted file mode 100644
index f52bbdaaf..000000000
--- a/data/maps/EverGrandeCity_PokemonCenter_1F/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-EverGrandeCity_PokemonCenter_1F:: @ 8306BE8
- .4byte PokemonCenter_1F_Layout
- .4byte EverGrandeCity_PokemonCenter_1F_MapEvents
- .4byte EverGrandeCity_PokemonCenter_1F_MapScripts
- .4byte 0x0
- .2byte MUS_POKECEN
- .2byte 61
- .byte MAPSEC_EVER_GRANDE_CITY
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/EverGrandeCity_PokemonCenter_1F/map.json b/data/maps/EverGrandeCity_PokemonCenter_1F/map.json
new file mode 100644
index 000000000..719252e66
--- /dev/null
+++ b/data/maps/EverGrandeCity_PokemonCenter_1F/map.json
@@ -0,0 +1,79 @@
+{
+ "id": "MAP_EVER_GRANDE_CITY_POKEMON_CENTER_1F",
+ "name": "EverGrandeCity_PokemonCenter_1F",
+ "layout": "LAYOUT_POKEMON_CENTER_1F",
+ "music": "MUS_POKECEN",
+ "region_map_section": "MAPSEC_EVER_GRANDE_CITY",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_NURSE",
+ "x": 7,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "EverGrandeCity_PokemonCenter_1F_EventScript_15BC70",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_7",
+ "x": 5,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "EverGrandeCity_PokemonCenter_1F_EventScript_15BC7E",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_OLD_MAN_1",
+ "x": 10,
+ "y": 7,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "EverGrandeCity_PokemonCenter_1F_EventScript_15BC87",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 7,
+ "y": 8,
+ "elevation": 3,
+ "dest_map": "MAP_EVER_GRANDE_CITY",
+ "dest_warp_id": 1
+ },
+ {
+ "x": 6,
+ "y": 8,
+ "elevation": 3,
+ "dest_map": "MAP_EVER_GRANDE_CITY",
+ "dest_warp_id": 1
+ },
+ {
+ "x": 1,
+ "y": 6,
+ "elevation": 4,
+ "dest_map": "MAP_EVER_GRANDE_CITY_POKEMON_CENTER_2F",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/EverGrandeCity_PokemonCenter_2F/events.inc b/data/maps/EverGrandeCity_PokemonCenter_2F/events.inc
deleted file mode 100644
index cdbcd9f32..000000000
--- a/data/maps/EverGrandeCity_PokemonCenter_2F/events.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-EverGrandeCity_PokemonCenter_2F_EventObjects:: @ 838B5D0
- object_event 1, EVENT_OBJ_GFX_TEALA, 0, 4, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, EverGrandeCity_PokemonCenter_2F_EventScript_15BCA0, 0
- object_event 2, EVENT_OBJ_GFX_TEALA, 0, 7, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, EverGrandeCity_PokemonCenter_2F_EventScript_15BCA6, 0
- object_event 3, EVENT_OBJ_GFX_TEALA, 0, 10, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, EverGrandeCity_PokemonCenter_2F_EventScript_15BCAC, 0
-
-EverGrandeCity_PokemonCenter_2F_MapWarps:: @ 838B618
- warp_def 1, 5, 4, 2, MAP_EVER_GRANDE_CITY_POKEMON_CENTER_1F
- warp_def 5, 1, 0, 0, MAP_SINGLE_BATTLE_COLOSSEUM
- warp_def 8, 1, 0, 0, MAP_TRADE_CENTER
- warp_def 11, 1, 0, 0, MAP_RECORD_CORNER
- warp_def 0, 0, 0, 0, MAP_DOUBLE_BATTLE_COLOSSEUM
-
-EverGrandeCity_PokemonCenter_2F_MapEvents:: @ 838B640
- map_events EverGrandeCity_PokemonCenter_2F_EventObjects, EverGrandeCity_PokemonCenter_2F_MapWarps, 0x0, 0x0
diff --git a/data/maps/EverGrandeCity_PokemonCenter_2F/header.inc b/data/maps/EverGrandeCity_PokemonCenter_2F/header.inc
deleted file mode 100644
index 18f3152a6..000000000
--- a/data/maps/EverGrandeCity_PokemonCenter_2F/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-EverGrandeCity_PokemonCenter_2F:: @ 8306C04
- .4byte PokemonCenter_2F_Layout
- .4byte EverGrandeCity_PokemonCenter_2F_MapEvents
- .4byte EverGrandeCity_PokemonCenter_2F_MapScripts
- .4byte 0x0
- .2byte MUS_POKECEN
- .2byte 62
- .byte MAPSEC_EVER_GRANDE_CITY
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/EverGrandeCity_PokemonCenter_2F/map.json b/data/maps/EverGrandeCity_PokemonCenter_2F/map.json
new file mode 100644
index 000000000..c52dcb52c
--- /dev/null
+++ b/data/maps/EverGrandeCity_PokemonCenter_2F/map.json
@@ -0,0 +1,93 @@
+{
+ "id": "MAP_EVER_GRANDE_CITY_POKEMON_CENTER_2F",
+ "name": "EverGrandeCity_PokemonCenter_2F",
+ "layout": "LAYOUT_POKEMON_CENTER_2F",
+ "music": "MUS_POKECEN",
+ "region_map_section": "MAPSEC_EVER_GRANDE_CITY",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_TEALA",
+ "x": 4,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "EverGrandeCity_PokemonCenter_2F_EventScript_15BCA0",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_TEALA",
+ "x": 7,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "EverGrandeCity_PokemonCenter_2F_EventScript_15BCA6",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_TEALA",
+ "x": 10,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "EverGrandeCity_PokemonCenter_2F_EventScript_15BCAC",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 1,
+ "y": 5,
+ "elevation": 4,
+ "dest_map": "MAP_EVER_GRANDE_CITY_POKEMON_CENTER_1F",
+ "dest_warp_id": 2
+ },
+ {
+ "x": 5,
+ "y": 1,
+ "elevation": 0,
+ "dest_map": "MAP_SINGLE_BATTLE_COLOSSEUM",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 8,
+ "y": 1,
+ "elevation": 0,
+ "dest_map": "MAP_TRADE_CENTER",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 11,
+ "y": 1,
+ "elevation": 0,
+ "dest_map": "MAP_RECORD_CORNER",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 0,
+ "y": 0,
+ "elevation": 0,
+ "dest_map": "MAP_DOUBLE_BATTLE_COLOSSEUM",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/EverGrandeCity_PokemonLeague/events.inc b/data/maps/EverGrandeCity_PokemonLeague/events.inc
deleted file mode 100644
index 711978a5a..000000000
--- a/data/maps/EverGrandeCity_PokemonLeague/events.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-EverGrandeCity_PokemonLeague_EventObjects:: @ 838B494
- object_event 1, EVENT_OBJ_GFX_NURSE, 0, 3, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, EverGrandeCity_PokemonLeague_EventScript_15BA9A, 0
- object_event 2, EVENT_OBJ_GFX_MART_EMPLOYEE, 0, 16, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, EverGrandeCity_PokemonLeague_EventScript_15BAA8, 0
- object_event 3, EVENT_OBJ_GFX_MAN_4, 0, 8, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, EverGrandeCity_PokemonLeague_EventScript_15BAD2, 0
- object_event 4, EVENT_OBJ_GFX_MAN_4, 0, 11, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, EverGrandeCity_PokemonLeague_EventScript_15BAD2, 0
-
-EverGrandeCity_PokemonLeague_MapWarps:: @ 838B4F4
- warp_def 9, 11, 3, 0, MAP_EVER_GRANDE_CITY
- warp_def 10, 11, 3, 0, MAP_EVER_GRANDE_CITY
- warp_def 9, 1, 3, 0, MAP_EVER_GRANDE_CITY_CORRIDOR5
- warp_def 10, 1, 3, 0, MAP_EVER_GRANDE_CITY_CORRIDOR5
-
-EverGrandeCity_PokemonLeague_MapEvents:: @ 838B514
- map_events EverGrandeCity_PokemonLeague_EventObjects, EverGrandeCity_PokemonLeague_MapWarps, 0x0, 0x0
diff --git a/data/maps/EverGrandeCity_PokemonLeague/header.inc b/data/maps/EverGrandeCity_PokemonLeague/header.inc
deleted file mode 100644
index 03d3fe2c8..000000000
--- a/data/maps/EverGrandeCity_PokemonLeague/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-EverGrandeCity_PokemonLeague:: @ 8306BB0
- .4byte EverGrandeCity_PokemonLeague_Layout
- .4byte EverGrandeCity_PokemonLeague_MapEvents
- .4byte EverGrandeCity_PokemonLeague_MapScripts
- .4byte 0x0
- .2byte MUS_POKECEN
- .2byte 271
- .byte MAPSEC_EVER_GRANDE_CITY
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/EverGrandeCity_PokemonLeague/map.json b/data/maps/EverGrandeCity_PokemonLeague/map.json
new file mode 100644
index 000000000..c5cfa4062
--- /dev/null
+++ b/data/maps/EverGrandeCity_PokemonLeague/map.json
@@ -0,0 +1,99 @@
+{
+ "id": "MAP_EVER_GRANDE_CITY_POKEMON_LEAGUE",
+ "name": "EverGrandeCity_PokemonLeague",
+ "layout": "LAYOUT_EVER_GRANDE_CITY_POKEMON_LEAGUE",
+ "music": "MUS_POKECEN",
+ "region_map_section": "MAPSEC_EVER_GRANDE_CITY",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_NURSE",
+ "x": 3,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "EverGrandeCity_PokemonLeague_EventScript_15BA9A",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MART_EMPLOYEE",
+ "x": 16,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "EverGrandeCity_PokemonLeague_EventScript_15BAA8",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_4",
+ "x": 8,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "EverGrandeCity_PokemonLeague_EventScript_15BAD2",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_4",
+ "x": 11,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "EverGrandeCity_PokemonLeague_EventScript_15BAD2",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 9,
+ "y": 11,
+ "elevation": 3,
+ "dest_map": "MAP_EVER_GRANDE_CITY",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 10,
+ "y": 11,
+ "elevation": 3,
+ "dest_map": "MAP_EVER_GRANDE_CITY",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 9,
+ "y": 1,
+ "elevation": 3,
+ "dest_map": "MAP_EVER_GRANDE_CITY_CORRIDOR5",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 10,
+ "y": 1,
+ "elevation": 3,
+ "dest_map": "MAP_EVER_GRANDE_CITY_CORRIDOR5",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/EverGrandeCity_SidneysRoom/events.inc b/data/maps/EverGrandeCity_SidneysRoom/events.inc
deleted file mode 100644
index d64e1f6df..000000000
--- a/data/maps/EverGrandeCity_SidneysRoom/events.inc
+++ /dev/null
@@ -1,9 +0,0 @@
-EverGrandeCity_SidneysRoom_EventObjects:: @ 838B244
- object_event 1, EVENT_OBJ_GFX_SIDNEY, 0, 6, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, EverGrandeCity_SidneysRoom_EventScript_15B596, 0
-
-EverGrandeCity_SidneysRoom_MapWarps:: @ 838B25C
- warp_def 6, 13, 3, 1, MAP_EVER_GRANDE_CITY_CORRIDOR5
- warp_def 6, 2, 0, 0, MAP_EVER_GRANDE_CITY_CORRIDOR1
-
-EverGrandeCity_SidneysRoom_MapEvents:: @ 838B26C
- map_events EverGrandeCity_SidneysRoom_EventObjects, EverGrandeCity_SidneysRoom_MapWarps, 0x0, 0x0
diff --git a/data/maps/EverGrandeCity_SidneysRoom/header.inc b/data/maps/EverGrandeCity_SidneysRoom/header.inc
deleted file mode 100644
index 271b85dc2..000000000
--- a/data/maps/EverGrandeCity_SidneysRoom/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-EverGrandeCity_SidneysRoom:: @ 8306A98
- .4byte EverGrandeCity_SidneysRoom_Layout
- .4byte EverGrandeCity_SidneysRoom_MapEvents
- .4byte EverGrandeCity_SidneysRoom_MapScripts
- .4byte 0x0
- .2byte MUS_C_ROAD
- .2byte 112
- .byte MAPSEC_EVER_GRANDE_CITY
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_SIDNEY
diff --git a/data/maps/EverGrandeCity_SidneysRoom/map.json b/data/maps/EverGrandeCity_SidneysRoom/map.json
new file mode 100644
index 000000000..a3e51d8de
--- /dev/null
+++ b/data/maps/EverGrandeCity_SidneysRoom/map.json
@@ -0,0 +1,46 @@
+{
+ "id": "MAP_EVER_GRANDE_CITY_SIDNEYS_ROOM",
+ "name": "EverGrandeCity_SidneysRoom",
+ "layout": "LAYOUT_EVER_GRANDE_CITY_SIDNEYS_ROOM",
+ "music": "MUS_C_ROAD",
+ "region_map_section": "MAPSEC_EVER_GRANDE_CITY",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_SIDNEY",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_SIDNEY",
+ "x": 6,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "EverGrandeCity_SidneysRoom_EventScript_15B596",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 6,
+ "y": 13,
+ "elevation": 3,
+ "dest_map": "MAP_EVER_GRANDE_CITY_CORRIDOR5",
+ "dest_warp_id": 1
+ },
+ {
+ "x": 6,
+ "y": 2,
+ "elevation": 0,
+ "dest_map": "MAP_EVER_GRANDE_CITY_CORRIDOR1",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/FallarborTown/connections.inc b/data/maps/FallarborTown/connections.inc
deleted file mode 100644
index 369d244fc..000000000
--- a/data/maps/FallarborTown/connections.inc
+++ /dev/null
@@ -1,7 +0,0 @@
-FallarborTown_MapConnectionsList:: @ 8308684
- connection left, 0, MAP_ROUTE114
- connection right, 0, MAP_ROUTE113
-
-FallarborTown_MapConnections:: @ 830869C
- .4byte 0x2
- .4byte FallarborTown_MapConnectionsList
diff --git a/data/maps/FallarborTown/events.inc b/data/maps/FallarborTown/events.inc
deleted file mode 100644
index dec80a540..000000000
--- a/data/maps/FallarborTown/events.inc
+++ /dev/null
@@ -1,25 +0,0 @@
-FallarborTown_EventObjects:: @ 8380E04
- object_event 1, EVENT_OBJ_GFX_GIRL_1, 0, 8, 11, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 1, 0, 0, FallarborTown_EventScript_14E814, 0
- object_event 2, EVENT_OBJ_GFX_OLD_MAN_1, 0, 11, 9, 3, MOVEMENT_TYPE_WANDER_LEFT_AND_RIGHT, 1, 0, 0, 0, FallarborTown_EventScript_14E7F5, 0
- object_event 3, EVENT_OBJ_GFX_GENTLEMAN, 0, 11, 15, 3, MOVEMENT_TYPE_WANDER_UP_AND_DOWN, 1, 1, 0, 0, FallarborTown_EventScript_14E81D, 0
- object_event 4, EVENT_OBJ_GFX_AZURILL, 0, 8, 12, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 0, 0, 0, FallarborTown_EventScript_14E826, FLAG_HIDE_AZURILL_FALLARBOR
-
-FallarborTown_MapWarps:: @ 8380E64
- warp_def 15, 15, 0, 0, MAP_FALLARBOR_TOWN_MART
- warp_def 8, 7, 0, 0, MAP_FALLARBOR_TOWN_CONTEST_LOBBY
- warp_def 14, 7, 0, 0, MAP_FALLARBOR_TOWN_POKEMON_CENTER_1F
- warp_def 6, 17, 0, 0, MAP_FALLARBOR_TOWN_HOUSE1
- warp_def 1, 6, 0, 0, MAP_FALLARBOR_TOWN_HOUSE2
-
-FallarborTown_MapBGEvents:: @ 8380E8C
- bg_event 16, 15, 0, BG_EVENT_PLAYER_FACING_NORTH, FallarborTown_EventScript_1A00E1
- bg_event 15, 7, 0, BG_EVENT_PLAYER_FACING_NORTH, FallarborTown_EventScript_1A00EA
- bg_event 6, 8, 0, BG_EVENT_PLAYER_FACING_ANY, FallarborTown_EventScript_14E839
- bg_event 16, 7, 0, BG_EVENT_PLAYER_FACING_NORTH, FallarborTown_EventScript_1A00EA
- bg_event 10, 11, 0, BG_EVENT_PLAYER_FACING_ANY, FallarborTown_EventScript_14E842
- bg_event 17, 15, 0, BG_EVENT_PLAYER_FACING_NORTH, FallarborTown_EventScript_1A00E1
- bg_event 3, 7, 0, BG_EVENT_PLAYER_FACING_ANY, FallarborTown_EventScript_14E84B
- bg_hidden_item_event 2, 15, 3, ITEM_NUGGET, FLAG_HIDDEN_ITEM_1C
-
-FallarborTown_MapEvents:: @ 8380EEC
- map_events FallarborTown_EventObjects, FallarborTown_MapWarps, 0x0, FallarborTown_MapBGEvents
diff --git a/data/maps/FallarborTown/header.inc b/data/maps/FallarborTown/header.inc
deleted file mode 100644
index 3d825ccb9..000000000
--- a/data/maps/FallarborTown/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-FallarborTown:: @ 83055B4
- .4byte FallarborTown_Layout
- .4byte FallarborTown_MapEvents
- .4byte FallarborTown_MapScripts
- .4byte FallarborTown_MapConnections
- .2byte MUS_TONEKUSA
- .2byte 14
- .byte MAPSEC_FALLARBOR_TOWN
- .byte 0
- .byte WEATHER_SUNNY
- .byte MAP_TYPE_TOWN
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/FallarborTown/map.json b/data/maps/FallarborTown/map.json
new file mode 100644
index 000000000..2241e06b3
--- /dev/null
+++ b/data/maps/FallarborTown/map.json
@@ -0,0 +1,182 @@
+{
+ "id": "MAP_FALLARBOR_TOWN",
+ "name": "FallarborTown",
+ "layout": "LAYOUT_FALLARBOR_TOWN",
+ "music": "MUS_TONEKUSA",
+ "region_map_section": "MAPSEC_FALLARBOR_TOWN",
+ "requires_flash": false,
+ "weather": "WEATHER_SUNNY",
+ "map_type": "MAP_TYPE_TOWN",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": [
+ {
+ "direction": "left",
+ "offset": 0,
+ "map": "MAP_ROUTE114"
+ },
+ {
+ "direction": "right",
+ "offset": 0,
+ "map": "MAP_ROUTE113"
+ }
+ ],
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_GIRL_1",
+ "x": 8,
+ "y": 11,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "FallarborTown_EventScript_14E814",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_OLD_MAN_1",
+ "x": 11,
+ "y": 9,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_LEFT_AND_RIGHT",
+ "movement_range_x": 1,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "FallarborTown_EventScript_14E7F5",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_GENTLEMAN",
+ "x": 11,
+ "y": 15,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_UP_AND_DOWN",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "FallarborTown_EventScript_14E81D",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_AZURILL",
+ "x": 8,
+ "y": 12,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "FallarborTown_EventScript_14E826",
+ "flag": "FLAG_HIDE_AZURILL_FALLARBOR"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 15,
+ "y": 15,
+ "elevation": 0,
+ "dest_map": "MAP_FALLARBOR_TOWN_MART",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 8,
+ "y": 7,
+ "elevation": 0,
+ "dest_map": "MAP_FALLARBOR_TOWN_CONTEST_LOBBY",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 14,
+ "y": 7,
+ "elevation": 0,
+ "dest_map": "MAP_FALLARBOR_TOWN_POKEMON_CENTER_1F",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 6,
+ "y": 17,
+ "elevation": 0,
+ "dest_map": "MAP_FALLARBOR_TOWN_HOUSE1",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 1,
+ "y": 6,
+ "elevation": 0,
+ "dest_map": "MAP_FALLARBOR_TOWN_HOUSE2",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [],
+ "bg_events": [
+ {
+ "type": "sign",
+ "x": 16,
+ "y": 15,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH",
+ "script": "FallarborTown_EventScript_1A00E1"
+ },
+ {
+ "type": "sign",
+ "x": 15,
+ "y": 7,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH",
+ "script": "FallarborTown_EventScript_1A00EA"
+ },
+ {
+ "type": "sign",
+ "x": 6,
+ "y": 8,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "FallarborTown_EventScript_14E839"
+ },
+ {
+ "type": "sign",
+ "x": 16,
+ "y": 7,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH",
+ "script": "FallarborTown_EventScript_1A00EA"
+ },
+ {
+ "type": "sign",
+ "x": 10,
+ "y": 11,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "FallarborTown_EventScript_14E842"
+ },
+ {
+ "type": "sign",
+ "x": 17,
+ "y": 15,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH",
+ "script": "FallarborTown_EventScript_1A00E1"
+ },
+ {
+ "type": "sign",
+ "x": 3,
+ "y": 7,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "FallarborTown_EventScript_14E84B"
+ },
+ {
+ "type": "hidden_item",
+ "x": 2,
+ "y": 15,
+ "elevation": 3,
+ "item": "ITEM_NUGGET",
+ "flag": "FLAG_HIDDEN_ITEM_1C"
+ }
+ ]
+} \ No newline at end of file
diff --git a/data/maps/FallarborTown_ContestHall/events.inc b/data/maps/FallarborTown_ContestHall/events.inc
deleted file mode 100644
index d8c4eee55..000000000
--- a/data/maps/FallarborTown_ContestHall/events.inc
+++ /dev/null
@@ -1,15 +0,0 @@
-FallarborTown_ContestHall_EventObjects:: @ 83867DC
- object_event 1, EVENT_OBJ_GFX_MAN_1, 0, 19, 8, 0, MOVEMENT_TYPE_WANDER_AROUND, 2, 2, 0, 0, FallarborTown_ContestHall_EventScript_153ACF, 0
- object_event 2, EVENT_OBJ_GFX_WOMAN_7, 0, 5, 7, 0, MOVEMENT_TYPE_WANDER_AROUND, 2, 3, 0, 0, FallarborTown_ContestHall_EventScript_153AD8, 0
- object_event 3, EVENT_OBJ_GFX_YOUNGSTER, 0, 0, 15, 0, MOVEMENT_TYPE_WANDER_AROUND, 3, 3, 0, 0, FallarborTown_ContestHall_EventScript_153AE1, 0
-
-FallarborTown_ContestHall_MapWarps:: @ 8386824
- warp_def 10, 17, 0, 2, MAP_FALLARBOR_TOWN_CONTEST_LOBBY
- warp_def 11, 17, 0, 2, MAP_FALLARBOR_TOWN_CONTEST_LOBBY
-
-FallarborTown_ContestHall_MapBGEvents:: @ 8386834
- bg_event 12, 14, 3, BG_EVENT_PLAYER_FACING_ANY, FallarborTown_ContestHall_EventScript_153AEA
- bg_event 8, 14, 3, BG_EVENT_PLAYER_FACING_ANY, FallarborTown_ContestHall_EventScript_153AEA
-
-FallarborTown_ContestHall_MapEvents:: @ 838684C
- map_events FallarborTown_ContestHall_EventObjects, FallarborTown_ContestHall_MapWarps, 0x0, FallarborTown_ContestHall_MapBGEvents
diff --git a/data/maps/FallarborTown_ContestHall/header.inc b/data/maps/FallarborTown_ContestHall/header.inc
deleted file mode 100644
index d7e0889e3..000000000
--- a/data/maps/FallarborTown_ContestHall/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-FallarborTown_ContestHall:: @ 8305CEC
- .4byte ContestHall_Layout
- .4byte FallarborTown_ContestHall_MapEvents
- .4byte FallarborTown_ContestHall_MapScripts
- .4byte 0x0
- .2byte MUS_CONLOBBY
- .2byte 73
- .byte MAPSEC_FALLARBOR_TOWN
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/FallarborTown_ContestHall/map.json b/data/maps/FallarborTown_ContestHall/map.json
new file mode 100644
index 000000000..0c40a8767
--- /dev/null
+++ b/data/maps/FallarborTown_ContestHall/map.json
@@ -0,0 +1,89 @@
+{
+ "id": "MAP_FALLARBOR_TOWN_CONTEST_HALL",
+ "name": "FallarborTown_ContestHall",
+ "layout": "LAYOUT_CONTEST_HALL",
+ "music": "MUS_CONLOBBY",
+ "region_map_section": "MAPSEC_FALLARBOR_TOWN",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_1",
+ "x": 19,
+ "y": 8,
+ "elevation": 0,
+ "movement_type": "MOVEMENT_TYPE_WANDER_AROUND",
+ "movement_range_x": 2,
+ "movement_range_y": 2,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "FallarborTown_ContestHall_EventScript_153ACF",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_7",
+ "x": 5,
+ "y": 7,
+ "elevation": 0,
+ "movement_type": "MOVEMENT_TYPE_WANDER_AROUND",
+ "movement_range_x": 2,
+ "movement_range_y": 3,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "FallarborTown_ContestHall_EventScript_153AD8",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_YOUNGSTER",
+ "x": 0,
+ "y": 15,
+ "elevation": 0,
+ "movement_type": "MOVEMENT_TYPE_WANDER_AROUND",
+ "movement_range_x": 3,
+ "movement_range_y": 3,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "FallarborTown_ContestHall_EventScript_153AE1",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 10,
+ "y": 17,
+ "elevation": 0,
+ "dest_map": "MAP_FALLARBOR_TOWN_CONTEST_LOBBY",
+ "dest_warp_id": 2
+ },
+ {
+ "x": 11,
+ "y": 17,
+ "elevation": 0,
+ "dest_map": "MAP_FALLARBOR_TOWN_CONTEST_LOBBY",
+ "dest_warp_id": 2
+ }
+ ],
+ "coord_events": [],
+ "bg_events": [
+ {
+ "type": "sign",
+ "x": 12,
+ "y": 14,
+ "elevation": 3,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "FallarborTown_ContestHall_EventScript_153AEA"
+ },
+ {
+ "type": "sign",
+ "x": 8,
+ "y": 14,
+ "elevation": 3,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "FallarborTown_ContestHall_EventScript_153AEA"
+ }
+ ]
+} \ No newline at end of file
diff --git a/data/maps/FallarborTown_ContestLobby/events.inc b/data/maps/FallarborTown_ContestLobby/events.inc
deleted file mode 100644
index 0c5d3ca23..000000000
--- a/data/maps/FallarborTown_ContestLobby/events.inc
+++ /dev/null
@@ -1,21 +0,0 @@
-FallarborTown_ContestLobby_EventObjects:: @ 83866F0
- object_event 1, EVENT_OBJ_GFX_TEALA, 0, 5, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, FallarborTown_ContestLobby_EventScript_1539CD, 0
- object_event 2, EVENT_OBJ_GFX_LITTLE_BOY_2, 0, 2, 6, 3, MOVEMENT_TYPE_WANDER_LEFT_AND_RIGHT, 1, 0, 0, 0, FallarborTown_ContestLobby_EventScript_153A8E, 0
- object_event 3, EVENT_OBJ_GFX_LASS, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, FallarborTown_ContestLobby_EventScript_153AB2, 0
- object_event 4, EVENT_OBJ_GFX_OLD_MAN_1, 0, 11, 5, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, FallarborTown_ContestLobby_EventScript_1B778A, 0
- object_event 5, EVENT_OBJ_GFX_REPORTER_M, 0, 7, 5, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, FallarborTown_ContestLobby_EventScript_1AE0B6, FLAG_HIDE_CONTEST_REPORTER_FALLARBOR
- object_event 6, EVENT_OBJ_GFX_ARTIST, 0, 12, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, FallarborTown_ContestLobby_EventScript_153A97, 0
-
-FallarborTown_ContestLobby_MapWarps:: @ 8386780
- warp_def 5, 6, 0, 1, MAP_FALLARBOR_TOWN
- warp_def 6, 6, 0, 1, MAP_FALLARBOR_TOWN
- warp_def 1, 1, 0, 0, MAP_FALLARBOR_TOWN_CONTEST_HALL
-
-FallarborTown_ContestLobby_MapBGEvents:: @ 8386798
- bg_event 10, 3, 0, BG_EVENT_PLAYER_FACING_ANY, FallarborTown_ContestLobby_EventScript_1B7823
- bg_event 12, 5, 0, BG_EVENT_PLAYER_FACING_ANY, FallarborTown_ContestLobby_EventScript_1B7604
- bg_event 11, 1, 3, BG_EVENT_PLAYER_FACING_ANY, FallarborTown_ContestLobby_EventScript_153ABB
- bg_event 13, 1, 0, BG_EVENT_PLAYER_FACING_ANY, FallarborTown_ContestLobby_EventScript_153AC2
-
-FallarborTown_ContestLobby_MapEvents:: @ 83867C8
- map_events FallarborTown_ContestLobby_EventObjects, FallarborTown_ContestLobby_MapWarps, 0x0, FallarborTown_ContestLobby_MapBGEvents
diff --git a/data/maps/FallarborTown_ContestLobby/header.inc b/data/maps/FallarborTown_ContestLobby/header.inc
deleted file mode 100644
index b96b373c3..000000000
--- a/data/maps/FallarborTown_ContestLobby/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-FallarborTown_ContestLobby:: @ 8305CD0
- .4byte ContestLobby_Layout
- .4byte FallarborTown_ContestLobby_MapEvents
- .4byte FallarborTown_ContestLobby_MapScripts
- .4byte 0x0
- .2byte MUS_CONLOBBY
- .2byte 72
- .byte MAPSEC_FALLARBOR_TOWN
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/FallarborTown_ContestLobby/map.json b/data/maps/FallarborTown_ContestLobby/map.json
new file mode 100644
index 000000000..cc0849449
--- /dev/null
+++ b/data/maps/FallarborTown_ContestLobby/map.json
@@ -0,0 +1,151 @@
+{
+ "id": "MAP_FALLARBOR_TOWN_CONTEST_LOBBY",
+ "name": "FallarborTown_ContestLobby",
+ "layout": "LAYOUT_CONTEST_LOBBY",
+ "music": "MUS_CONLOBBY",
+ "region_map_section": "MAPSEC_FALLARBOR_TOWN",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_TEALA",
+ "x": 5,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "FallarborTown_ContestLobby_EventScript_1539CD",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_LITTLE_BOY_2",
+ "x": 2,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_LEFT_AND_RIGHT",
+ "movement_range_x": 1,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "FallarborTown_ContestLobby_EventScript_153A8E",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_LASS",
+ "x": 0,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "FallarborTown_ContestLobby_EventScript_153AB2",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_OLD_MAN_1",
+ "x": 11,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "FallarborTown_ContestLobby_EventScript_1B778A",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_REPORTER_M",
+ "x": 7,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "FallarborTown_ContestLobby_EventScript_1AE0B6",
+ "flag": "FLAG_HIDE_CONTEST_REPORTER_FALLARBOR"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ARTIST",
+ "x": 12,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "FallarborTown_ContestLobby_EventScript_153A97",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 5,
+ "y": 6,
+ "elevation": 0,
+ "dest_map": "MAP_FALLARBOR_TOWN",
+ "dest_warp_id": 1
+ },
+ {
+ "x": 6,
+ "y": 6,
+ "elevation": 0,
+ "dest_map": "MAP_FALLARBOR_TOWN",
+ "dest_warp_id": 1
+ },
+ {
+ "x": 1,
+ "y": 1,
+ "elevation": 0,
+ "dest_map": "MAP_FALLARBOR_TOWN_CONTEST_HALL",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [],
+ "bg_events": [
+ {
+ "type": "sign",
+ "x": 10,
+ "y": 3,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "FallarborTown_ContestLobby_EventScript_1B7823"
+ },
+ {
+ "type": "sign",
+ "x": 12,
+ "y": 5,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "FallarborTown_ContestLobby_EventScript_1B7604"
+ },
+ {
+ "type": "sign",
+ "x": 11,
+ "y": 1,
+ "elevation": 3,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "FallarborTown_ContestLobby_EventScript_153ABB"
+ },
+ {
+ "type": "sign",
+ "x": 13,
+ "y": 1,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "FallarborTown_ContestLobby_EventScript_153AC2"
+ }
+ ]
+} \ No newline at end of file
diff --git a/data/maps/FallarborTown_House1/events.inc b/data/maps/FallarborTown_House1/events.inc
deleted file mode 100644
index e0342279e..000000000
--- a/data/maps/FallarborTown_House1/events.inc
+++ /dev/null
@@ -1,10 +0,0 @@
-FallarborTown_House1_EventObjects:: @ 8386970
- object_event 1, EVENT_OBJ_GFX_SCIENTIST_1, 0, 6, 4, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, FallarborTown_House1_EventScript_153BB5, FLAG_HIDE_PROF_COSMO_FALLARBOR
- object_event 2, EVENT_OBJ_GFX_WOMAN_3, 0, 5, 6, 3, MOVEMENT_TYPE_WANDER_LEFT_AND_RIGHT, 1, 0, 0, 0, FallarborTown_House1_EventScript_153C5E, 0
-
-FallarborTown_House1_MapWarps:: @ 83869A0
- warp_def 3, 8, 0, 3, MAP_FALLARBOR_TOWN
- warp_def 4, 8, 0, 3, MAP_FALLARBOR_TOWN
-
-FallarborTown_House1_MapEvents:: @ 83869B0
- map_events FallarborTown_House1_EventObjects, FallarborTown_House1_MapWarps, 0x0, 0x0
diff --git a/data/maps/FallarborTown_House1/header.inc b/data/maps/FallarborTown_House1/header.inc
deleted file mode 100644
index 8e1881474..000000000
--- a/data/maps/FallarborTown_House1/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-FallarborTown_House1:: @ 8305D40
- .4byte House1_Layout
- .4byte FallarborTown_House1_MapEvents
- .4byte FallarborTown_House1_MapScripts
- .4byte 0x0
- .2byte MUS_TONEKUSA
- .2byte 59
- .byte MAPSEC_FALLARBOR_TOWN
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/FallarborTown_House1/map.json b/data/maps/FallarborTown_House1/map.json
new file mode 100644
index 000000000..d2a9e287d
--- /dev/null
+++ b/data/maps/FallarborTown_House1/map.json
@@ -0,0 +1,59 @@
+{
+ "id": "MAP_FALLARBOR_TOWN_HOUSE1",
+ "name": "FallarborTown_House1",
+ "layout": "LAYOUT_HOUSE1",
+ "music": "MUS_TONEKUSA",
+ "region_map_section": "MAPSEC_FALLARBOR_TOWN",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_SCIENTIST_1",
+ "x": 6,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "FallarborTown_House1_EventScript_153BB5",
+ "flag": "FLAG_HIDE_PROF_COSMO_FALLARBOR"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_3",
+ "x": 5,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_LEFT_AND_RIGHT",
+ "movement_range_x": 1,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "FallarborTown_House1_EventScript_153C5E",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 3,
+ "y": 8,
+ "elevation": 0,
+ "dest_map": "MAP_FALLARBOR_TOWN",
+ "dest_warp_id": 3
+ },
+ {
+ "x": 4,
+ "y": 8,
+ "elevation": 0,
+ "dest_map": "MAP_FALLARBOR_TOWN",
+ "dest_warp_id": 3
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/FallarborTown_House2/events.inc b/data/maps/FallarborTown_House2/events.inc
deleted file mode 100644
index 216afb0df..000000000
--- a/data/maps/FallarborTown_House2/events.inc
+++ /dev/null
@@ -1,9 +0,0 @@
-FallarborTown_House2_EventObjects:: @ 83869C4
- object_event 1, EVENT_OBJ_GFX_FAT_MAN, 0, 4, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, FallarborTown_House2_EventScript_153C91, 0
-
-FallarborTown_House2_MapWarps:: @ 83869DC
- warp_def 3, 7, 0, 4, MAP_FALLARBOR_TOWN
- warp_def 4, 7, 0, 4, MAP_FALLARBOR_TOWN
-
-FallarborTown_House2_MapEvents:: @ 83869EC
- map_events FallarborTown_House2_EventObjects, FallarborTown_House2_MapWarps, 0x0, 0x0
diff --git a/data/maps/FallarborTown_House2/header.inc b/data/maps/FallarborTown_House2/header.inc
deleted file mode 100644
index 7bc6cfb20..000000000
--- a/data/maps/FallarborTown_House2/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-FallarborTown_House2:: @ 8305D5C
- .4byte House2_Layout
- .4byte FallarborTown_House2_MapEvents
- .4byte FallarborTown_House2_MapScripts
- .4byte 0x0
- .2byte MUS_TONEKUSA
- .2byte 60
- .byte MAPSEC_FALLARBOR_TOWN
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/FallarborTown_House2/map.json b/data/maps/FallarborTown_House2/map.json
new file mode 100644
index 000000000..fa3cee306
--- /dev/null
+++ b/data/maps/FallarborTown_House2/map.json
@@ -0,0 +1,46 @@
+{
+ "id": "MAP_FALLARBOR_TOWN_HOUSE2",
+ "name": "FallarborTown_House2",
+ "layout": "LAYOUT_HOUSE2",
+ "music": "MUS_TONEKUSA",
+ "region_map_section": "MAPSEC_FALLARBOR_TOWN",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_FAT_MAN",
+ "x": 4,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "FallarborTown_House2_EventScript_153C91",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 3,
+ "y": 7,
+ "elevation": 0,
+ "dest_map": "MAP_FALLARBOR_TOWN",
+ "dest_warp_id": 4
+ },
+ {
+ "x": 4,
+ "y": 7,
+ "elevation": 0,
+ "dest_map": "MAP_FALLARBOR_TOWN",
+ "dest_warp_id": 4
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/FallarborTown_Mart/events.inc b/data/maps/FallarborTown_Mart/events.inc
deleted file mode 100644
index 9fbea3ed8..000000000
--- a/data/maps/FallarborTown_Mart/events.inc
+++ /dev/null
@@ -1,12 +0,0 @@
-FallarborTown_Mart_EventObjects:: @ 838666C
- object_event 1, EVENT_OBJ_GFX_MART_EMPLOYEE, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, FallarborTown_Mart_EventScript_153967, 0
- object_event 2, EVENT_OBJ_GFX_WOMAN_3, 0, 5, 3, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, FallarborTown_Mart_EventScript_15399C, 0
- object_event 3, EVENT_OBJ_GFX_MAN_3, 0, 9, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, FallarborTown_Mart_EventScript_1539A5, 0
- object_event 4, EVENT_OBJ_GFX_SKITTY, 0, 2, 5, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, FallarborTown_Mart_EventScript_1539AE, 0
-
-FallarborTown_Mart_MapWarps:: @ 83866CC
- warp_def 3, 7, 0, 0, MAP_FALLARBOR_TOWN
- warp_def 4, 7, 0, 0, MAP_FALLARBOR_TOWN
-
-FallarborTown_Mart_MapEvents:: @ 83866DC
- map_events FallarborTown_Mart_EventObjects, FallarborTown_Mart_MapWarps, 0x0, 0x0
diff --git a/data/maps/FallarborTown_Mart/header.inc b/data/maps/FallarborTown_Mart/header.inc
deleted file mode 100644
index 6403e78e3..000000000
--- a/data/maps/FallarborTown_Mart/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-FallarborTown_Mart:: @ 8305CB4
- .4byte PokeMart_Layout
- .4byte FallarborTown_Mart_MapEvents
- .4byte FallarborTown_Mart_MapScripts
- .4byte 0x0
- .2byte MUS_FRIENDLY
- .2byte 63
- .byte MAPSEC_FALLARBOR_TOWN
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/FallarborTown_Mart/map.json b/data/maps/FallarborTown_Mart/map.json
new file mode 100644
index 000000000..bb9f173d5
--- /dev/null
+++ b/data/maps/FallarborTown_Mart/map.json
@@ -0,0 +1,85 @@
+{
+ "id": "MAP_FALLARBOR_TOWN_MART",
+ "name": "FallarborTown_Mart",
+ "layout": "LAYOUT_POKE_MART",
+ "music": "MUS_FRIENDLY",
+ "region_map_section": "MAPSEC_FALLARBOR_TOWN",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MART_EMPLOYEE",
+ "x": 1,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "FallarborTown_Mart_EventScript_153967",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_3",
+ "x": 5,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "FallarborTown_Mart_EventScript_15399C",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_3",
+ "x": 9,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "FallarborTown_Mart_EventScript_1539A5",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_SKITTY",
+ "x": 2,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "FallarborTown_Mart_EventScript_1539AE",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 3,
+ "y": 7,
+ "elevation": 0,
+ "dest_map": "MAP_FALLARBOR_TOWN",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 4,
+ "y": 7,
+ "elevation": 0,
+ "dest_map": "MAP_FALLARBOR_TOWN",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/FallarborTown_PokemonCenter_1F/events.inc b/data/maps/FallarborTown_PokemonCenter_1F/events.inc
deleted file mode 100644
index 50f768c2c..000000000
--- a/data/maps/FallarborTown_PokemonCenter_1F/events.inc
+++ /dev/null
@@ -1,13 +0,0 @@
-FallarborTown_PokemonCenter_1F_EventObjects:: @ 8386860
- object_event 1, EVENT_OBJ_GFX_NURSE, 0, 7, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, FallarborTown_PokemonCenter_1F_EventScript_153B02, 0
- object_event 2, EVENT_OBJ_GFX_GIRL_3, 0, 10, 6, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, FallarborTown_PokemonCenter_1F_EventScript_153B10, 0
- object_event 3, EVENT_OBJ_GFX_OLD_MAN_1, 0, 2, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, FallarborTown_PokemonCenter_1F_EventScript_153B19, 0
- object_event 4, EVENT_OBJ_GFX_WOMAN_3, 0, 10, 2, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, FallarborTown_PokemonCenter_1F_EventScript_153B22, FLAG_HIDE_LANETTE_FALLARBOR
-
-FallarborTown_PokemonCenter_1F_MapWarps:: @ 83868C0
- warp_def 7, 8, 3, 2, MAP_FALLARBOR_TOWN
- warp_def 6, 8, 3, 2, MAP_FALLARBOR_TOWN
- warp_def 1, 6, 4, 0, MAP_FALLARBOR_TOWN_POKEMON_CENTER_2F
-
-FallarborTown_PokemonCenter_1F_MapEvents:: @ 83868D8
- map_events FallarborTown_PokemonCenter_1F_EventObjects, FallarborTown_PokemonCenter_1F_MapWarps, 0x0, 0x0
diff --git a/data/maps/FallarborTown_PokemonCenter_1F/header.inc b/data/maps/FallarborTown_PokemonCenter_1F/header.inc
deleted file mode 100644
index 25a18fc1a..000000000
--- a/data/maps/FallarborTown_PokemonCenter_1F/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-FallarborTown_PokemonCenter_1F:: @ 8305D08
- .4byte PokemonCenter_1F_Layout
- .4byte FallarborTown_PokemonCenter_1F_MapEvents
- .4byte FallarborTown_PokemonCenter_1F_MapScripts
- .4byte 0x0
- .2byte MUS_POKECEN
- .2byte 61
- .byte MAPSEC_FALLARBOR_TOWN
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/FallarborTown_PokemonCenter_1F/map.json b/data/maps/FallarborTown_PokemonCenter_1F/map.json
new file mode 100644
index 000000000..d5c94de23
--- /dev/null
+++ b/data/maps/FallarborTown_PokemonCenter_1F/map.json
@@ -0,0 +1,92 @@
+{
+ "id": "MAP_FALLARBOR_TOWN_POKEMON_CENTER_1F",
+ "name": "FallarborTown_PokemonCenter_1F",
+ "layout": "LAYOUT_POKEMON_CENTER_1F",
+ "music": "MUS_POKECEN",
+ "region_map_section": "MAPSEC_FALLARBOR_TOWN",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_NURSE",
+ "x": 7,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "FallarborTown_PokemonCenter_1F_EventScript_153B02",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_GIRL_3",
+ "x": 10,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "FallarborTown_PokemonCenter_1F_EventScript_153B10",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_OLD_MAN_1",
+ "x": 2,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "FallarborTown_PokemonCenter_1F_EventScript_153B19",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_3",
+ "x": 10,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "FallarborTown_PokemonCenter_1F_EventScript_153B22",
+ "flag": "FLAG_HIDE_LANETTE_FALLARBOR"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 7,
+ "y": 8,
+ "elevation": 3,
+ "dest_map": "MAP_FALLARBOR_TOWN",
+ "dest_warp_id": 2
+ },
+ {
+ "x": 6,
+ "y": 8,
+ "elevation": 3,
+ "dest_map": "MAP_FALLARBOR_TOWN",
+ "dest_warp_id": 2
+ },
+ {
+ "x": 1,
+ "y": 6,
+ "elevation": 4,
+ "dest_map": "MAP_FALLARBOR_TOWN_POKEMON_CENTER_2F",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/FallarborTown_PokemonCenter_2F/events.inc b/data/maps/FallarborTown_PokemonCenter_2F/events.inc
deleted file mode 100644
index df52f9505..000000000
--- a/data/maps/FallarborTown_PokemonCenter_2F/events.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-FallarborTown_PokemonCenter_2F_EventObjects:: @ 83868EC
- object_event 1, EVENT_OBJ_GFX_TEALA, 0, 10, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, FallarborTown_PokemonCenter_2F_EventScript_153BA8, 0
- object_event 2, EVENT_OBJ_GFX_TEALA, 0, 4, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, FallarborTown_PokemonCenter_2F_EventScript_153B9C, 0
- object_event 3, EVENT_OBJ_GFX_TEALA, 0, 7, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, FallarborTown_PokemonCenter_2F_EventScript_153BA2, 0
-
-FallarborTown_PokemonCenter_2F_MapWarps:: @ 8386934
- warp_def 1, 5, 4, 2, MAP_FALLARBOR_TOWN_POKEMON_CENTER_1F
- warp_def 5, 1, 3, 0, MAP_SINGLE_BATTLE_COLOSSEUM
- warp_def 8, 1, 3, 0, MAP_TRADE_CENTER
- warp_def 11, 1, 3, 0, MAP_RECORD_CORNER
- warp_def 0, 0, 0, 0, MAP_DOUBLE_BATTLE_COLOSSEUM
-
-FallarborTown_PokemonCenter_2F_MapEvents:: @ 838695C
- map_events FallarborTown_PokemonCenter_2F_EventObjects, FallarborTown_PokemonCenter_2F_MapWarps, 0x0, 0x0
diff --git a/data/maps/FallarborTown_PokemonCenter_2F/header.inc b/data/maps/FallarborTown_PokemonCenter_2F/header.inc
deleted file mode 100644
index 14c591d65..000000000
--- a/data/maps/FallarborTown_PokemonCenter_2F/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-FallarborTown_PokemonCenter_2F:: @ 8305D24
- .4byte PokemonCenter_2F_Layout
- .4byte FallarborTown_PokemonCenter_2F_MapEvents
- .4byte FallarborTown_PokemonCenter_2F_MapScripts
- .4byte 0x0
- .2byte MUS_POKECEN
- .2byte 62
- .byte MAPSEC_FALLARBOR_TOWN
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/FallarborTown_PokemonCenter_2F/map.json b/data/maps/FallarborTown_PokemonCenter_2F/map.json
new file mode 100644
index 000000000..9fab7e284
--- /dev/null
+++ b/data/maps/FallarborTown_PokemonCenter_2F/map.json
@@ -0,0 +1,93 @@
+{
+ "id": "MAP_FALLARBOR_TOWN_POKEMON_CENTER_2F",
+ "name": "FallarborTown_PokemonCenter_2F",
+ "layout": "LAYOUT_POKEMON_CENTER_2F",
+ "music": "MUS_POKECEN",
+ "region_map_section": "MAPSEC_FALLARBOR_TOWN",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_TEALA",
+ "x": 10,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "FallarborTown_PokemonCenter_2F_EventScript_153BA8",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_TEALA",
+ "x": 4,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "FallarborTown_PokemonCenter_2F_EventScript_153B9C",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_TEALA",
+ "x": 7,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "FallarborTown_PokemonCenter_2F_EventScript_153BA2",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 1,
+ "y": 5,
+ "elevation": 4,
+ "dest_map": "MAP_FALLARBOR_TOWN_POKEMON_CENTER_1F",
+ "dest_warp_id": 2
+ },
+ {
+ "x": 5,
+ "y": 1,
+ "elevation": 3,
+ "dest_map": "MAP_SINGLE_BATTLE_COLOSSEUM",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 8,
+ "y": 1,
+ "elevation": 3,
+ "dest_map": "MAP_TRADE_CENTER",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 11,
+ "y": 1,
+ "elevation": 3,
+ "dest_map": "MAP_RECORD_CORNER",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 0,
+ "y": 0,
+ "elevation": 0,
+ "dest_map": "MAP_DOUBLE_BATTLE_COLOSSEUM",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/FieryPath/events.inc b/data/maps/FieryPath/events.inc
deleted file mode 100644
index 52756fda8..000000000
--- a/data/maps/FieryPath/events.inc
+++ /dev/null
@@ -1,16 +0,0 @@
-FieryPath_EventObjects:: @ 838C718
- object_event 1, EVENT_OBJ_GFX_ITEM_BALL, 0, 8, 3, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, FieryPath_EventScript_1B17EE, FLAG_ITEM_FIERY_PATH_1
- object_event 2, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 10, 15, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, S_PushableBoulder, FLAG_TEMP_11
- object_event 3, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 17, 15, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, S_PushableBoulder, FLAG_TEMP_12
- object_event 4, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 8, 11, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, S_PushableBoulder, FLAG_TEMP_13
- object_event 5, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 3, 12, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, S_PushableBoulder, FLAG_TEMP_14
- object_event 6, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 6, 23, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, S_PushableBoulder, FLAG_TEMP_15
- object_event 7, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 5, 24, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, S_PushableBoulder, FLAG_TEMP_16
- object_event 8, EVENT_OBJ_GFX_ITEM_BALL, 0, 7, 32, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, FieryPath_EventScript_1B17E1, FLAG_ITEM_FIERY_PATH_2
-
-FieryPath_MapWarps:: @ 838C7D8
- warp_def 26, 36, 3, 4, MAP_ROUTE112
- warp_def 26, 4, 3, 5, MAP_ROUTE112
-
-FieryPath_MapEvents:: @ 838C7E8
- map_events FieryPath_EventObjects, FieryPath_MapWarps, 0x0, 0x0
diff --git a/data/maps/FieryPath/header.inc b/data/maps/FieryPath/header.inc
deleted file mode 100644
index 2411a9b19..000000000
--- a/data/maps/FieryPath/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-FieryPath:: @ 8306EF8
- .4byte FieryPath_Layout
- .4byte FieryPath_MapEvents
- .4byte FieryPath_MapScripts
- .4byte 0x0
- .2byte MUS_DAN01
- .2byte 294
- .byte MAPSEC_FIERY_PATH
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_UNDERGROUND
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/FieryPath/map.json b/data/maps/FieryPath/map.json
new file mode 100644
index 000000000..7db7c586a
--- /dev/null
+++ b/data/maps/FieryPath/map.json
@@ -0,0 +1,137 @@
+{
+ "id": "MAP_FIERY_PATH",
+ "name": "FieryPath",
+ "layout": "LAYOUT_FIERY_PATH",
+ "music": "MUS_DAN01",
+ "region_map_section": "MAPSEC_FIERY_PATH",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_UNDERGROUND",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ITEM_BALL",
+ "x": 8,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "FieryPath_EventScript_1B17EE",
+ "flag": "FLAG_ITEM_FIERY_PATH_1"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_PUSHABLE_BOULDER",
+ "x": 10,
+ "y": 15,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "S_PushableBoulder",
+ "flag": "FLAG_TEMP_11"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_PUSHABLE_BOULDER",
+ "x": 17,
+ "y": 15,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "S_PushableBoulder",
+ "flag": "FLAG_TEMP_12"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_PUSHABLE_BOULDER",
+ "x": 8,
+ "y": 11,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "S_PushableBoulder",
+ "flag": "FLAG_TEMP_13"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_PUSHABLE_BOULDER",
+ "x": 3,
+ "y": 12,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "S_PushableBoulder",
+ "flag": "FLAG_TEMP_14"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_PUSHABLE_BOULDER",
+ "x": 6,
+ "y": 23,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "S_PushableBoulder",
+ "flag": "FLAG_TEMP_15"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_PUSHABLE_BOULDER",
+ "x": 5,
+ "y": 24,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "S_PushableBoulder",
+ "flag": "FLAG_TEMP_16"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ITEM_BALL",
+ "x": 7,
+ "y": 32,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "FieryPath_EventScript_1B17E1",
+ "flag": "FLAG_ITEM_FIERY_PATH_2"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 26,
+ "y": 36,
+ "elevation": 3,
+ "dest_map": "MAP_ROUTE112",
+ "dest_warp_id": 4
+ },
+ {
+ "x": 26,
+ "y": 4,
+ "elevation": 3,
+ "dest_map": "MAP_ROUTE112",
+ "dest_warp_id": 5
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/FortreeCity/connections.inc b/data/maps/FortreeCity/connections.inc
deleted file mode 100644
index 4243269aa..000000000
--- a/data/maps/FortreeCity/connections.inc
+++ /dev/null
@@ -1,7 +0,0 @@
-FortreeCity_MapConnectionsList:: @ 8308794
- connection left, 0, MAP_ROUTE119
- connection right, 0, MAP_ROUTE120
-
-FortreeCity_MapConnections:: @ 83087AC
- .4byte 0x2
- .4byte FortreeCity_MapConnectionsList
diff --git a/data/maps/FortreeCity/events.inc b/data/maps/FortreeCity/events.inc
deleted file mode 100644
index e289f7a88..000000000
--- a/data/maps/FortreeCity/events.inc
+++ /dev/null
@@ -1,30 +0,0 @@
-FortreeCity_EventObjects:: @ 8380020
- object_event 1, EVENT_OBJ_GFX_MAN_2, 0, 31, 3, 4, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, FortreeCity_EventScript_14C955, 0
- object_event 2, EVENT_OBJ_GFX_GIRL_1, 0, 32, 16, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, FortreeCity_EventScript_14C97D, 0
- object_event 3, EVENT_OBJ_GFX_WOMAN_7, 0, 32, 10, 3, MOVEMENT_TYPE_WANDER_UP_AND_DOWN, 0, 1, 0, 0, FortreeCity_EventScript_14C95E, 0
- object_event 4, EVENT_OBJ_GFX_BOY_1, 0, 11, 14, 4, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, FortreeCity_EventScript_14C98F, 0
- object_event 5, EVENT_OBJ_GFX_OLD_MAN_2, 0, 8, 10, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, FortreeCity_EventScript_14C986, 0
- object_event 6, EVENT_OBJ_GFX_BOY_5, 0, 9, 16, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, FortreeCity_EventScript_14C998, 0
- object_event 7, EVENT_OBJ_GFX_KECLEON_1, 0, 25, 8, 3, MOVEMENT_TYPE_INVISIBLE, 1, 1, 0, 0, FortreeCity_EventScript_14C9B3, FLAG_HIDE_KECLEON_FORTREE
-
-FortreeCity_MapWarps:: @ 83800C8
- warp_def 5, 6, 0, 0, MAP_FORTREE_CITY_POKEMON_CENTER_1F
- warp_def 10, 3, 0, 0, MAP_FORTREE_CITY_HOUSE1
- warp_def 22, 11, 0, 0, MAP_FORTREE_CITY_GYM
- warp_def 4, 14, 0, 0, MAP_FORTREE_CITY_MART
- warp_def 17, 3, 0, 0, MAP_FORTREE_CITY_HOUSE2
- warp_def 25, 3, 0, 0, MAP_FORTREE_CITY_HOUSE3
- warp_def 32, 2, 0, 0, MAP_FORTREE_CITY_HOUSE4
- warp_def 12, 13, 0, 0, MAP_FORTREE_CITY_HOUSE5
- warp_def 37, 13, 0, 0, MAP_FORTREE_CITY_DECORATION_SHOP
-
-FortreeCity_MapBGEvents:: @ 8380110
- bg_event 6, 9, 0, BG_EVENT_PLAYER_FACING_ANY, FortreeCity_EventScript_14C9A1
- bg_event 7, 6, 0, BG_EVENT_PLAYER_FACING_NORTH, FortreeCity_EventScript_1A00EA
- bg_event 5, 14, 0, BG_EVENT_PLAYER_FACING_NORTH, FortreeCity_EventScript_1A00E1
- bg_event 26, 10, 0, BG_EVENT_PLAYER_FACING_ANY, FortreeCity_EventScript_14C9AA
- bg_event 6, 6, 0, BG_EVENT_PLAYER_FACING_NORTH, FortreeCity_EventScript_1A00EA
- bg_event 6, 14, 0, BG_EVENT_PLAYER_FACING_NORTH, FortreeCity_EventScript_1A00E1
-
-FortreeCity_MapEvents:: @ 8380158
- map_events FortreeCity_EventObjects, FortreeCity_MapWarps, 0x0, FortreeCity_MapBGEvents
diff --git a/data/maps/FortreeCity/header.inc b/data/maps/FortreeCity/header.inc
deleted file mode 100644
index 9a4c6b64c..000000000
--- a/data/maps/FortreeCity/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-FortreeCity:: @ 83054B8
- .4byte FortreeCity_Layout
- .4byte FortreeCity_MapEvents
- .4byte FortreeCity_MapScripts
- .4byte FortreeCity_MapConnections
- .2byte MUS_MACHI_S3
- .2byte 5
- .byte MAPSEC_FORTREE_CITY
- .byte 0
- .byte WEATHER_SUNNY
- .byte MAP_TYPE_CITY
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/FortreeCity/map.json b/data/maps/FortreeCity/map.json
new file mode 100644
index 000000000..8e51423b3
--- /dev/null
+++ b/data/maps/FortreeCity/map.json
@@ -0,0 +1,233 @@
+{
+ "id": "MAP_FORTREE_CITY",
+ "name": "FortreeCity",
+ "layout": "LAYOUT_FORTREE_CITY",
+ "music": "MUS_MACHI_S3",
+ "region_map_section": "MAPSEC_FORTREE_CITY",
+ "requires_flash": false,
+ "weather": "WEATHER_SUNNY",
+ "map_type": "MAP_TYPE_CITY",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": [
+ {
+ "direction": "left",
+ "offset": 0,
+ "map": "MAP_ROUTE119"
+ },
+ {
+ "direction": "right",
+ "offset": 0,
+ "map": "MAP_ROUTE120"
+ }
+ ],
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_2",
+ "x": 31,
+ "y": 3,
+ "elevation": 4,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "FortreeCity_EventScript_14C955",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_GIRL_1",
+ "x": 32,
+ "y": 16,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "FortreeCity_EventScript_14C97D",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_7",
+ "x": 32,
+ "y": 10,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_UP_AND_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "FortreeCity_EventScript_14C95E",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BOY_1",
+ "x": 11,
+ "y": 14,
+ "elevation": 4,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "FortreeCity_EventScript_14C98F",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_OLD_MAN_2",
+ "x": 8,
+ "y": 10,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "FortreeCity_EventScript_14C986",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BOY_5",
+ "x": 9,
+ "y": 16,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "FortreeCity_EventScript_14C998",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_KECLEON_1",
+ "x": 25,
+ "y": 8,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_INVISIBLE",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "FortreeCity_EventScript_14C9B3",
+ "flag": "FLAG_HIDE_KECLEON_FORTREE"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 5,
+ "y": 6,
+ "elevation": 0,
+ "dest_map": "MAP_FORTREE_CITY_POKEMON_CENTER_1F",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 10,
+ "y": 3,
+ "elevation": 0,
+ "dest_map": "MAP_FORTREE_CITY_HOUSE1",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 22,
+ "y": 11,
+ "elevation": 0,
+ "dest_map": "MAP_FORTREE_CITY_GYM",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 4,
+ "y": 14,
+ "elevation": 0,
+ "dest_map": "MAP_FORTREE_CITY_MART",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 17,
+ "y": 3,
+ "elevation": 0,
+ "dest_map": "MAP_FORTREE_CITY_HOUSE2",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 25,
+ "y": 3,
+ "elevation": 0,
+ "dest_map": "MAP_FORTREE_CITY_HOUSE3",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 32,
+ "y": 2,
+ "elevation": 0,
+ "dest_map": "MAP_FORTREE_CITY_HOUSE4",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 12,
+ "y": 13,
+ "elevation": 0,
+ "dest_map": "MAP_FORTREE_CITY_HOUSE5",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 37,
+ "y": 13,
+ "elevation": 0,
+ "dest_map": "MAP_FORTREE_CITY_DECORATION_SHOP",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [],
+ "bg_events": [
+ {
+ "type": "sign",
+ "x": 6,
+ "y": 9,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "FortreeCity_EventScript_14C9A1"
+ },
+ {
+ "type": "sign",
+ "x": 7,
+ "y": 6,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH",
+ "script": "FortreeCity_EventScript_1A00EA"
+ },
+ {
+ "type": "sign",
+ "x": 5,
+ "y": 14,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH",
+ "script": "FortreeCity_EventScript_1A00E1"
+ },
+ {
+ "type": "sign",
+ "x": 26,
+ "y": 10,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "FortreeCity_EventScript_14C9AA"
+ },
+ {
+ "type": "sign",
+ "x": 6,
+ "y": 6,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH",
+ "script": "FortreeCity_EventScript_1A00EA"
+ },
+ {
+ "type": "sign",
+ "x": 6,
+ "y": 14,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH",
+ "script": "FortreeCity_EventScript_1A00E1"
+ }
+ ]
+} \ No newline at end of file
diff --git a/data/maps/FortreeCity_DecorationShop/events.inc b/data/maps/FortreeCity_DecorationShop/events.inc
deleted file mode 100644
index 307e0b520..000000000
--- a/data/maps/FortreeCity_DecorationShop/events.inc
+++ /dev/null
@@ -1,12 +0,0 @@
-FortreeCity_DecorationShop_EventObjects:: @ 83893E0
- object_event 1, EVENT_OBJ_GFX_MAN_3, 0, 6, 5, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, FortreeCity_DecorationShop_EventScript_158258, 0
- object_event 2, EVENT_OBJ_GFX_GIRL_3, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, FortreeCity_DecorationShop_EventScript_158261, 0
- object_event 3, EVENT_OBJ_GFX_MART_EMPLOYEE, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, FortreeCity_DecorationShop_EventScript_15826A, 0
- object_event 4, EVENT_OBJ_GFX_MART_EMPLOYEE, 0, 6, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, FortreeCity_DecorationShop_EventScript_158298, 0
-
-FortreeCity_DecorationShop_MapWarps:: @ 8389440
- warp_def 3, 5, 0, 8, MAP_FORTREE_CITY
- warp_def 4, 5, 0, 8, MAP_FORTREE_CITY
-
-FortreeCity_DecorationShop_MapEvents:: @ 8389450
- map_events FortreeCity_DecorationShop_EventObjects, FortreeCity_DecorationShop_MapWarps, 0x0, 0x0
diff --git a/data/maps/FortreeCity_DecorationShop/header.inc b/data/maps/FortreeCity_DecorationShop/header.inc
deleted file mode 100644
index 0f965f12f..000000000
--- a/data/maps/FortreeCity_DecorationShop/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-FortreeCity_DecorationShop:: @ 8306504
- .4byte FortreeCity_DecorationShop_Layout
- .4byte FortreeCity_DecorationShop_MapEvents
- .4byte FortreeCity_DecorationShop_MapScripts
- .4byte 0x0
- .2byte MUS_MACHI_S3
- .2byte 256
- .byte MAPSEC_FORTREE_CITY
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/FortreeCity_DecorationShop/map.json b/data/maps/FortreeCity_DecorationShop/map.json
new file mode 100644
index 000000000..6d3ea3a85
--- /dev/null
+++ b/data/maps/FortreeCity_DecorationShop/map.json
@@ -0,0 +1,85 @@
+{
+ "id": "MAP_FORTREE_CITY_DECORATION_SHOP",
+ "name": "FortreeCity_DecorationShop",
+ "layout": "LAYOUT_FORTREE_CITY_DECORATION_SHOP",
+ "music": "MUS_MACHI_S3",
+ "region_map_section": "MAPSEC_FORTREE_CITY",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_3",
+ "x": 6,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "FortreeCity_DecorationShop_EventScript_158258",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_GIRL_3",
+ "x": 0,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "FortreeCity_DecorationShop_EventScript_158261",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MART_EMPLOYEE",
+ "x": 1,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "FortreeCity_DecorationShop_EventScript_15826A",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MART_EMPLOYEE",
+ "x": 6,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "FortreeCity_DecorationShop_EventScript_158298",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 3,
+ "y": 5,
+ "elevation": 0,
+ "dest_map": "MAP_FORTREE_CITY",
+ "dest_warp_id": 8
+ },
+ {
+ "x": 4,
+ "y": 5,
+ "elevation": 0,
+ "dest_map": "MAP_FORTREE_CITY",
+ "dest_warp_id": 8
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/FortreeCity_Gym/events.inc b/data/maps/FortreeCity_Gym/events.inc
deleted file mode 100644
index d6728885d..000000000
--- a/data/maps/FortreeCity_Gym/events.inc
+++ /dev/null
@@ -1,18 +0,0 @@
-FortreeCity_Gym_EventObjects:: @ 8389018
- object_event 1, EVENT_OBJ_GFX_WINONA, 0, 4, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, FortreeCity_Gym_EventScript_157EF0, 0
- object_event 2, EVENT_OBJ_GFX_MAN_6, 0, 12, 22, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 1, 3, FortreeCity_Gym_EventScript_157F62, 0
- object_event 3, EVENT_OBJ_GFX_CAMPER, 0, 9, 9, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 1, 3, FortreeCity_Gym_EventScript_157F90, 0
- object_event 4, EVENT_OBJ_GFX_PICNICKER, 0, 18, 19, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 1, 4, FortreeCity_Gym_EventScript_157FA7, 0
- object_event 5, EVENT_OBJ_GFX_MAN_6, 0, 18, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 1, 1, FortreeCity_Gym_EventScript_157F79, 0
- object_event 6, EVENT_OBJ_GFX_MAN_2, 0, 2, 19, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, FortreeCity_Gym_EventScript_157FBE, 0
-
-FortreeCity_Gym_MapWarps:: @ 83890A8
- warp_def 2, 24, 0, 2, MAP_FORTREE_CITY
- warp_def 3, 24, 0, 2, MAP_FORTREE_CITY
-
-FortreeCity_Gym_MapBGEvents:: @ 83890B8
- bg_event 1, 21, 0, BG_EVENT_PLAYER_FACING_NORTH, FortreeCity_Gym_EventScript_157FDD
- bg_event 4, 21, 0, BG_EVENT_PLAYER_FACING_NORTH, FortreeCity_Gym_EventScript_157FED
-
-FortreeCity_Gym_MapEvents:: @ 83890D0
- map_events FortreeCity_Gym_EventObjects, FortreeCity_Gym_MapWarps, 0x0, FortreeCity_Gym_MapBGEvents
diff --git a/data/maps/FortreeCity_Gym/header.inc b/data/maps/FortreeCity_Gym/header.inc
deleted file mode 100644
index 58fd694ba..000000000
--- a/data/maps/FortreeCity_Gym/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-FortreeCity_Gym:: @ 8306424
- .4byte FortreeCity_Gym_Layout
- .4byte FortreeCity_Gym_MapEvents
- .4byte FortreeCity_Gym_MapScripts
- .4byte 0x0
- .2byte MUS_GIM
- .2byte 100
- .byte MAPSEC_FORTREE_CITY
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_GYM
diff --git a/data/maps/FortreeCity_Gym/map.json b/data/maps/FortreeCity_Gym/map.json
new file mode 100644
index 000000000..d2b78027e
--- /dev/null
+++ b/data/maps/FortreeCity_Gym/map.json
@@ -0,0 +1,128 @@
+{
+ "id": "MAP_FORTREE_CITY_GYM",
+ "name": "FortreeCity_Gym",
+ "layout": "LAYOUT_FORTREE_CITY_GYM",
+ "music": "MUS_GIM",
+ "region_map_section": "MAPSEC_FORTREE_CITY",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_GYM",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WINONA",
+ "x": 4,
+ "y": 1,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "FortreeCity_Gym_EventScript_157EF0",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_6",
+ "x": 12,
+ "y": 22,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "3",
+ "script": "FortreeCity_Gym_EventScript_157F62",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_CAMPER",
+ "x": 9,
+ "y": 9,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "3",
+ "script": "FortreeCity_Gym_EventScript_157F90",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_PICNICKER",
+ "x": 18,
+ "y": 19,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "4",
+ "script": "FortreeCity_Gym_EventScript_157FA7",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_6",
+ "x": 18,
+ "y": 1,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "1",
+ "script": "FortreeCity_Gym_EventScript_157F79",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_2",
+ "x": 2,
+ "y": 19,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "FortreeCity_Gym_EventScript_157FBE",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 2,
+ "y": 24,
+ "elevation": 0,
+ "dest_map": "MAP_FORTREE_CITY",
+ "dest_warp_id": 2
+ },
+ {
+ "x": 3,
+ "y": 24,
+ "elevation": 0,
+ "dest_map": "MAP_FORTREE_CITY",
+ "dest_warp_id": 2
+ }
+ ],
+ "coord_events": [],
+ "bg_events": [
+ {
+ "type": "sign",
+ "x": 1,
+ "y": 21,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH",
+ "script": "FortreeCity_Gym_EventScript_157FDD"
+ },
+ {
+ "type": "sign",
+ "x": 4,
+ "y": 21,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH",
+ "script": "FortreeCity_Gym_EventScript_157FED"
+ }
+ ]
+} \ No newline at end of file
diff --git a/data/maps/FortreeCity_House1/events.inc b/data/maps/FortreeCity_House1/events.inc
deleted file mode 100644
index 96384694f..000000000
--- a/data/maps/FortreeCity_House1/events.inc
+++ /dev/null
@@ -1,11 +0,0 @@
-FortreeCity_House1_EventObjects:: @ 8388FAC
- object_event 1, EVENT_OBJ_GFX_WOMAN_1, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, FortreeCity_House1_EventScript_157E13, 0
- object_event 2, EVENT_OBJ_GFX_ZIGZAGOON, 0, 2, 3, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, FortreeCity_House1_EventScript_157EC0, 0
- object_event 3, EVENT_OBJ_GFX_OLD_WOMAN_1, 0, 7, 4, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, FortreeCity_House1_EventScript_157EB7, 0
-
-FortreeCity_House1_MapWarps:: @ 8388FF4
- warp_def 3, 5, 0, 1, MAP_FORTREE_CITY
- warp_def 4, 5, 0, 1, MAP_FORTREE_CITY
-
-FortreeCity_House1_MapEvents:: @ 8389004
- map_events FortreeCity_House1_EventObjects, FortreeCity_House1_MapWarps, 0x0, 0x0
diff --git a/data/maps/FortreeCity_House1/header.inc b/data/maps/FortreeCity_House1/header.inc
deleted file mode 100644
index 7c2adaebb..000000000
--- a/data/maps/FortreeCity_House1/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-FortreeCity_House1:: @ 8306408
- .4byte FortreeCity_House1_Layout
- .4byte FortreeCity_House1_MapEvents
- .4byte FortreeCity_House1_MapScripts
- .4byte 0x0
- .2byte MUS_MACHI_S3
- .2byte 99
- .byte MAPSEC_FORTREE_CITY
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/FortreeCity_House1/map.json b/data/maps/FortreeCity_House1/map.json
new file mode 100644
index 000000000..47f18883c
--- /dev/null
+++ b/data/maps/FortreeCity_House1/map.json
@@ -0,0 +1,72 @@
+{
+ "id": "MAP_FORTREE_CITY_HOUSE1",
+ "name": "FortreeCity_House1",
+ "layout": "LAYOUT_FORTREE_CITY_HOUSE1",
+ "music": "MUS_MACHI_S3",
+ "region_map_section": "MAPSEC_FORTREE_CITY",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_1",
+ "x": 1,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "FortreeCity_House1_EventScript_157E13",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ZIGZAGOON",
+ "x": 2,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "FortreeCity_House1_EventScript_157EC0",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_OLD_WOMAN_1",
+ "x": 7,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "FortreeCity_House1_EventScript_157EB7",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 3,
+ "y": 5,
+ "elevation": 0,
+ "dest_map": "MAP_FORTREE_CITY",
+ "dest_warp_id": 1
+ },
+ {
+ "x": 4,
+ "y": 5,
+ "elevation": 0,
+ "dest_map": "MAP_FORTREE_CITY",
+ "dest_warp_id": 1
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/FortreeCity_House2/events.inc b/data/maps/FortreeCity_House2/events.inc
deleted file mode 100644
index e4e46df46..000000000
--- a/data/maps/FortreeCity_House2/events.inc
+++ /dev/null
@@ -1,9 +0,0 @@
-FortreeCity_House2_EventObjects:: @ 8389278
- object_event 1, EVENT_OBJ_GFX_OLD_WOMAN_1, 0, 2, 3, 3, MOVEMENT_TYPE_WANDER_LEFT_AND_RIGHT, 1, 0, 0, 0, FortreeCity_House2_EventScript_1580B4, 0
-
-FortreeCity_House2_MapWarps:: @ 8389290
- warp_def 3, 5, 0, 4, MAP_FORTREE_CITY
- warp_def 4, 5, 0, 4, MAP_FORTREE_CITY
-
-FortreeCity_House2_MapEvents:: @ 83892A0
- map_events FortreeCity_House2_EventObjects, FortreeCity_House2_MapWarps, 0x0, 0x0
diff --git a/data/maps/FortreeCity_House2/header.inc b/data/maps/FortreeCity_House2/header.inc
deleted file mode 100644
index df45e02e2..000000000
--- a/data/maps/FortreeCity_House2/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-FortreeCity_House2:: @ 8306494
- .4byte FortreeCity_House2_Layout
- .4byte FortreeCity_House2_MapEvents
- .4byte FortreeCity_House2_MapScripts
- .4byte 0x0
- .2byte MUS_MACHI_S3
- .2byte 101
- .byte MAPSEC_FORTREE_CITY
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/FortreeCity_House2/map.json b/data/maps/FortreeCity_House2/map.json
new file mode 100644
index 000000000..6285e9693
--- /dev/null
+++ b/data/maps/FortreeCity_House2/map.json
@@ -0,0 +1,46 @@
+{
+ "id": "MAP_FORTREE_CITY_HOUSE2",
+ "name": "FortreeCity_House2",
+ "layout": "LAYOUT_FORTREE_CITY_HOUSE2",
+ "music": "MUS_MACHI_S3",
+ "region_map_section": "MAPSEC_FORTREE_CITY",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_OLD_WOMAN_1",
+ "x": 2,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_LEFT_AND_RIGHT",
+ "movement_range_x": 1,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "FortreeCity_House2_EventScript_1580B4",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 3,
+ "y": 5,
+ "elevation": 0,
+ "dest_map": "MAP_FORTREE_CITY",
+ "dest_warp_id": 4
+ },
+ {
+ "x": 4,
+ "y": 5,
+ "elevation": 0,
+ "dest_map": "MAP_FORTREE_CITY",
+ "dest_warp_id": 4
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/FortreeCity_House3/events.inc b/data/maps/FortreeCity_House3/events.inc
deleted file mode 100644
index d153b4bf8..000000000
--- a/data/maps/FortreeCity_House3/events.inc
+++ /dev/null
@@ -1,10 +0,0 @@
-FortreeCity_House3_EventObjects:: @ 83892B4
- object_event 1, EVENT_OBJ_GFX_MANIAC, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, FortreeCity_House3_EventScript_15816C, 0
- object_event 2, EVENT_OBJ_GFX_SCHOOL_KID_M, 0, 5, 4, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, FortreeCity_House3_EventScript_158175, 0
-
-FortreeCity_House3_MapWarps:: @ 83892E4
- warp_def 3, 5, 0, 5, MAP_FORTREE_CITY
- warp_def 4, 5, 0, 5, MAP_FORTREE_CITY
-
-FortreeCity_House3_MapEvents:: @ 83892F4
- map_events FortreeCity_House3_EventObjects, FortreeCity_House3_MapWarps, 0x0, 0x0
diff --git a/data/maps/FortreeCity_House3/header.inc b/data/maps/FortreeCity_House3/header.inc
deleted file mode 100644
index c41ac93ef..000000000
--- a/data/maps/FortreeCity_House3/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-FortreeCity_House3:: @ 83064B0
- .4byte FortreeCity_House1_Layout
- .4byte FortreeCity_House3_MapEvents
- .4byte FortreeCity_House3_MapScripts
- .4byte 0x0
- .2byte MUS_MACHI_S3
- .2byte 99
- .byte MAPSEC_FORTREE_CITY
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/FortreeCity_House3/map.json b/data/maps/FortreeCity_House3/map.json
new file mode 100644
index 000000000..7859f5942
--- /dev/null
+++ b/data/maps/FortreeCity_House3/map.json
@@ -0,0 +1,59 @@
+{
+ "id": "MAP_FORTREE_CITY_HOUSE3",
+ "name": "FortreeCity_House3",
+ "layout": "LAYOUT_FORTREE_CITY_HOUSE1",
+ "music": "MUS_MACHI_S3",
+ "region_map_section": "MAPSEC_FORTREE_CITY",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MANIAC",
+ "x": 0,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "FortreeCity_House3_EventScript_15816C",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_SCHOOL_KID_M",
+ "x": 5,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "FortreeCity_House3_EventScript_158175",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 3,
+ "y": 5,
+ "elevation": 0,
+ "dest_map": "MAP_FORTREE_CITY",
+ "dest_warp_id": 5
+ },
+ {
+ "x": 4,
+ "y": 5,
+ "elevation": 0,
+ "dest_map": "MAP_FORTREE_CITY",
+ "dest_warp_id": 5
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/FortreeCity_House4/events.inc b/data/maps/FortreeCity_House4/events.inc
deleted file mode 100644
index c66397c83..000000000
--- a/data/maps/FortreeCity_House4/events.inc
+++ /dev/null
@@ -1,11 +0,0 @@
-FortreeCity_House4_EventObjects:: @ 8389308
- object_event 1, EVENT_OBJ_GFX_WOMAN_5, 0, 6, 4, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, FortreeCity_House4_EventScript_15817F, 0
- object_event 2, EVENT_OBJ_GFX_BOY_3, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, FortreeCity_House4_EventScript_158188, 0
- object_event 3, EVENT_OBJ_GFX_WINGULL, 0, 2, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, FortreeCity_House4_EventScript_15821E, FLAG_HIDE_WINGULL_FORTREE_HOUSE
-
-FortreeCity_House4_MapWarps:: @ 8389350
- warp_def 3, 5, 0, 6, MAP_FORTREE_CITY
- warp_def 4, 5, 0, 6, MAP_FORTREE_CITY
-
-FortreeCity_House4_MapEvents:: @ 8389360
- map_events FortreeCity_House4_EventObjects, FortreeCity_House4_MapWarps, 0x0, 0x0
diff --git a/data/maps/FortreeCity_House4/header.inc b/data/maps/FortreeCity_House4/header.inc
deleted file mode 100644
index 7277a3a50..000000000
--- a/data/maps/FortreeCity_House4/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-FortreeCity_House4:: @ 83064CC
- .4byte FortreeCity_House2_Layout
- .4byte FortreeCity_House4_MapEvents
- .4byte FortreeCity_House4_MapScripts
- .4byte 0x0
- .2byte MUS_MACHI_S3
- .2byte 101
- .byte MAPSEC_FORTREE_CITY
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/FortreeCity_House4/map.json b/data/maps/FortreeCity_House4/map.json
new file mode 100644
index 000000000..544c5e153
--- /dev/null
+++ b/data/maps/FortreeCity_House4/map.json
@@ -0,0 +1,72 @@
+{
+ "id": "MAP_FORTREE_CITY_HOUSE4",
+ "name": "FortreeCity_House4",
+ "layout": "LAYOUT_FORTREE_CITY_HOUSE2",
+ "music": "MUS_MACHI_S3",
+ "region_map_section": "MAPSEC_FORTREE_CITY",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_5",
+ "x": 6,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "FortreeCity_House4_EventScript_15817F",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BOY_3",
+ "x": 1,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "FortreeCity_House4_EventScript_158188",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WINGULL",
+ "x": 2,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "FortreeCity_House4_EventScript_15821E",
+ "flag": "FLAG_HIDE_WINGULL_FORTREE_HOUSE"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 3,
+ "y": 5,
+ "elevation": 0,
+ "dest_map": "MAP_FORTREE_CITY",
+ "dest_warp_id": 6
+ },
+ {
+ "x": 4,
+ "y": 5,
+ "elevation": 0,
+ "dest_map": "MAP_FORTREE_CITY",
+ "dest_warp_id": 6
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/FortreeCity_House5/events.inc b/data/maps/FortreeCity_House5/events.inc
deleted file mode 100644
index 109cdc162..000000000
--- a/data/maps/FortreeCity_House5/events.inc
+++ /dev/null
@@ -1,11 +0,0 @@
-FortreeCity_House5_EventObjects:: @ 8389374
- object_event 1, EVENT_OBJ_GFX_WOMAN_2, 0, 6, 4, 3, MOVEMENT_TYPE_FACE_DOWN_UP_AND_RIGHT, 0, 0, 0, 0, FortreeCity_House5_EventScript_158232, 0
- object_event 2, EVENT_OBJ_GFX_ZIGZAGOON, 0, 6, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, FortreeCity_House5_EventScript_158244, 0
- object_event 3, EVENT_OBJ_GFX_MAN_1, 0, 2, 4, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, FortreeCity_House5_EventScript_15823B, 0
-
-FortreeCity_House5_MapWarps:: @ 83893BC
- warp_def 3, 5, 0, 7, MAP_FORTREE_CITY
- warp_def 4, 5, 0, 7, MAP_FORTREE_CITY
-
-FortreeCity_House5_MapEvents:: @ 83893CC
- map_events FortreeCity_House5_EventObjects, FortreeCity_House5_MapWarps, 0x0, 0x0
diff --git a/data/maps/FortreeCity_House5/header.inc b/data/maps/FortreeCity_House5/header.inc
deleted file mode 100644
index aaebd16f8..000000000
--- a/data/maps/FortreeCity_House5/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-FortreeCity_House5:: @ 83064E8
- .4byte FortreeCity_House1_Layout
- .4byte FortreeCity_House5_MapEvents
- .4byte FortreeCity_House5_MapScripts
- .4byte 0x0
- .2byte MUS_MACHI_S3
- .2byte 99
- .byte MAPSEC_FORTREE_CITY
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/FortreeCity_House5/map.json b/data/maps/FortreeCity_House5/map.json
new file mode 100644
index 000000000..5f8ecdcde
--- /dev/null
+++ b/data/maps/FortreeCity_House5/map.json
@@ -0,0 +1,72 @@
+{
+ "id": "MAP_FORTREE_CITY_HOUSE5",
+ "name": "FortreeCity_House5",
+ "layout": "LAYOUT_FORTREE_CITY_HOUSE1",
+ "music": "MUS_MACHI_S3",
+ "region_map_section": "MAPSEC_FORTREE_CITY",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_2",
+ "x": 6,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN_UP_AND_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "FortreeCity_House5_EventScript_158232",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ZIGZAGOON",
+ "x": 6,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "FortreeCity_House5_EventScript_158244",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_1",
+ "x": 2,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "FortreeCity_House5_EventScript_15823B",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 3,
+ "y": 5,
+ "elevation": 0,
+ "dest_map": "MAP_FORTREE_CITY",
+ "dest_warp_id": 7
+ },
+ {
+ "x": 4,
+ "y": 5,
+ "elevation": 0,
+ "dest_map": "MAP_FORTREE_CITY",
+ "dest_warp_id": 7
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/FortreeCity_Mart/events.inc b/data/maps/FortreeCity_Mart/events.inc
deleted file mode 100644
index 344b70969..000000000
--- a/data/maps/FortreeCity_Mart/events.inc
+++ /dev/null
@@ -1,12 +0,0 @@
-FortreeCity_Mart_EventObjects:: @ 83891F4
- object_event 1, EVENT_OBJ_GFX_MART_EMPLOYEE, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, FortreeCity_Mart_EventScript_158067, 0
- object_event 2, EVENT_OBJ_GFX_WOMAN_3, 0, 9, 3, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, FortreeCity_Mart_EventScript_158098, 0
- object_event 3, EVENT_OBJ_GFX_GIRL_3, 0, 8, 5, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, FortreeCity_Mart_EventScript_1580A1, 0
- object_event 4, EVENT_OBJ_GFX_BOY_2, 0, 5, 6, 3, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 0, 0, FortreeCity_Mart_EventScript_1580AA, 0
-
-FortreeCity_Mart_MapWarps:: @ 8389254
- warp_def 3, 7, 0, 3, MAP_FORTREE_CITY
- warp_def 4, 7, 0, 3, MAP_FORTREE_CITY
-
-FortreeCity_Mart_MapEvents:: @ 8389264
- map_events FortreeCity_Mart_EventObjects, FortreeCity_Mart_MapWarps, 0x0, 0x0
diff --git a/data/maps/FortreeCity_Mart/header.inc b/data/maps/FortreeCity_Mart/header.inc
deleted file mode 100644
index 844355731..000000000
--- a/data/maps/FortreeCity_Mart/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-FortreeCity_Mart:: @ 8306478
- .4byte PokeMart_Layout
- .4byte FortreeCity_Mart_MapEvents
- .4byte FortreeCity_Mart_MapScripts
- .4byte 0x0
- .2byte MUS_FRIENDLY
- .2byte 63
- .byte MAPSEC_FORTREE_CITY
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/FortreeCity_Mart/map.json b/data/maps/FortreeCity_Mart/map.json
new file mode 100644
index 000000000..b12606304
--- /dev/null
+++ b/data/maps/FortreeCity_Mart/map.json
@@ -0,0 +1,85 @@
+{
+ "id": "MAP_FORTREE_CITY_MART",
+ "name": "FortreeCity_Mart",
+ "layout": "LAYOUT_POKE_MART",
+ "music": "MUS_FRIENDLY",
+ "region_map_section": "MAPSEC_FORTREE_CITY",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MART_EMPLOYEE",
+ "x": 1,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "FortreeCity_Mart_EventScript_158067",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_3",
+ "x": 9,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "FortreeCity_Mart_EventScript_158098",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_GIRL_3",
+ "x": 8,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "FortreeCity_Mart_EventScript_1580A1",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BOY_2",
+ "x": 5,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "FortreeCity_Mart_EventScript_1580AA",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 3,
+ "y": 7,
+ "elevation": 0,
+ "dest_map": "MAP_FORTREE_CITY",
+ "dest_warp_id": 3
+ },
+ {
+ "x": 4,
+ "y": 7,
+ "elevation": 0,
+ "dest_map": "MAP_FORTREE_CITY",
+ "dest_warp_id": 3
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/FortreeCity_PokemonCenter_1F/events.inc b/data/maps/FortreeCity_PokemonCenter_1F/events.inc
deleted file mode 100644
index b9aa0b6d2..000000000
--- a/data/maps/FortreeCity_PokemonCenter_1F/events.inc
+++ /dev/null
@@ -1,13 +0,0 @@
-FortreeCity_PokemonCenter_1F_EventObjects:: @ 83890E4
- object_event 1, EVENT_OBJ_GFX_NURSE, 0, 7, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, FortreeCity_PokemonCenter_1F_EventScript_15801B, 0
- object_event 2, EVENT_OBJ_GFX_GENTLEMAN, 0, 4, 7, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, FortreeCity_PokemonCenter_1F_EventScript_158029, 0
- object_event 3, EVENT_OBJ_GFX_MAN_4, 0, 8, 5, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, FortreeCity_PokemonCenter_1F_EventScript_158032, 0
- object_event 4, EVENT_OBJ_GFX_BOY_3, 0, 2, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, FortreeCity_PokemonCenter_1F_EventScript_15803B, 0
-
-FortreeCity_PokemonCenter_1F_MapWarps:: @ 8389144
- warp_def 7, 8, 3, 0, MAP_FORTREE_CITY
- warp_def 6, 8, 3, 0, MAP_FORTREE_CITY
- warp_def 1, 6, 4, 0, MAP_FORTREE_CITY_POKEMON_CENTER_2F
-
-FortreeCity_PokemonCenter_1F_MapEvents:: @ 838915C
- map_events FortreeCity_PokemonCenter_1F_EventObjects, FortreeCity_PokemonCenter_1F_MapWarps, 0x0, 0x0
diff --git a/data/maps/FortreeCity_PokemonCenter_1F/header.inc b/data/maps/FortreeCity_PokemonCenter_1F/header.inc
deleted file mode 100644
index 35b871240..000000000
--- a/data/maps/FortreeCity_PokemonCenter_1F/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-FortreeCity_PokemonCenter_1F:: @ 8306440
- .4byte PokemonCenter_1F_Layout
- .4byte FortreeCity_PokemonCenter_1F_MapEvents
- .4byte FortreeCity_PokemonCenter_1F_MapScripts
- .4byte 0x0
- .2byte MUS_POKECEN
- .2byte 61
- .byte MAPSEC_FORTREE_CITY
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/FortreeCity_PokemonCenter_1F/map.json b/data/maps/FortreeCity_PokemonCenter_1F/map.json
new file mode 100644
index 000000000..11d44415e
--- /dev/null
+++ b/data/maps/FortreeCity_PokemonCenter_1F/map.json
@@ -0,0 +1,92 @@
+{
+ "id": "MAP_FORTREE_CITY_POKEMON_CENTER_1F",
+ "name": "FortreeCity_PokemonCenter_1F",
+ "layout": "LAYOUT_POKEMON_CENTER_1F",
+ "music": "MUS_POKECEN",
+ "region_map_section": "MAPSEC_FORTREE_CITY",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_NURSE",
+ "x": 7,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "FortreeCity_PokemonCenter_1F_EventScript_15801B",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_GENTLEMAN",
+ "x": 4,
+ "y": 7,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "FortreeCity_PokemonCenter_1F_EventScript_158029",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_4",
+ "x": 8,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "FortreeCity_PokemonCenter_1F_EventScript_158032",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BOY_3",
+ "x": 2,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "FortreeCity_PokemonCenter_1F_EventScript_15803B",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 7,
+ "y": 8,
+ "elevation": 3,
+ "dest_map": "MAP_FORTREE_CITY",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 6,
+ "y": 8,
+ "elevation": 3,
+ "dest_map": "MAP_FORTREE_CITY",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 1,
+ "y": 6,
+ "elevation": 4,
+ "dest_map": "MAP_FORTREE_CITY_POKEMON_CENTER_2F",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/FortreeCity_PokemonCenter_2F/events.inc b/data/maps/FortreeCity_PokemonCenter_2F/events.inc
deleted file mode 100644
index 450a9fd27..000000000
--- a/data/maps/FortreeCity_PokemonCenter_2F/events.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-FortreeCity_PokemonCenter_2F_EventObjects:: @ 8389170
- object_event 1, EVENT_OBJ_GFX_TEALA, 0, 4, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, FortreeCity_PokemonCenter_2F_EventScript_158054, 0
- object_event 2, EVENT_OBJ_GFX_TEALA, 0, 7, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, FortreeCity_PokemonCenter_2F_EventScript_15805A, 0
- object_event 3, EVENT_OBJ_GFX_TEALA, 0, 10, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, FortreeCity_PokemonCenter_2F_EventScript_158060, 0
-
-FortreeCity_PokemonCenter_2F_MapWarps:: @ 83891B8
- warp_def 1, 5, 4, 2, MAP_FORTREE_CITY_POKEMON_CENTER_1F
- warp_def 5, 1, 0, 0, MAP_SINGLE_BATTLE_COLOSSEUM
- warp_def 8, 1, 0, 0, MAP_TRADE_CENTER
- warp_def 11, 1, 0, 0, MAP_RECORD_CORNER
- warp_def 0, 0, 0, 0, MAP_DOUBLE_BATTLE_COLOSSEUM
-
-FortreeCity_PokemonCenter_2F_MapEvents:: @ 83891E0
- map_events FortreeCity_PokemonCenter_2F_EventObjects, FortreeCity_PokemonCenter_2F_MapWarps, 0x0, 0x0
diff --git a/data/maps/FortreeCity_PokemonCenter_2F/header.inc b/data/maps/FortreeCity_PokemonCenter_2F/header.inc
deleted file mode 100644
index 4b7a601ed..000000000
--- a/data/maps/FortreeCity_PokemonCenter_2F/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-FortreeCity_PokemonCenter_2F:: @ 830645C
- .4byte PokemonCenter_2F_Layout
- .4byte FortreeCity_PokemonCenter_2F_MapEvents
- .4byte FortreeCity_PokemonCenter_2F_MapScripts
- .4byte 0x0
- .2byte MUS_POKECEN
- .2byte 62
- .byte MAPSEC_FORTREE_CITY
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/FortreeCity_PokemonCenter_2F/map.json b/data/maps/FortreeCity_PokemonCenter_2F/map.json
new file mode 100644
index 000000000..56d6484bb
--- /dev/null
+++ b/data/maps/FortreeCity_PokemonCenter_2F/map.json
@@ -0,0 +1,93 @@
+{
+ "id": "MAP_FORTREE_CITY_POKEMON_CENTER_2F",
+ "name": "FortreeCity_PokemonCenter_2F",
+ "layout": "LAYOUT_POKEMON_CENTER_2F",
+ "music": "MUS_POKECEN",
+ "region_map_section": "MAPSEC_FORTREE_CITY",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_TEALA",
+ "x": 4,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "FortreeCity_PokemonCenter_2F_EventScript_158054",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_TEALA",
+ "x": 7,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "FortreeCity_PokemonCenter_2F_EventScript_15805A",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_TEALA",
+ "x": 10,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "FortreeCity_PokemonCenter_2F_EventScript_158060",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 1,
+ "y": 5,
+ "elevation": 4,
+ "dest_map": "MAP_FORTREE_CITY_POKEMON_CENTER_1F",
+ "dest_warp_id": 2
+ },
+ {
+ "x": 5,
+ "y": 1,
+ "elevation": 0,
+ "dest_map": "MAP_SINGLE_BATTLE_COLOSSEUM",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 8,
+ "y": 1,
+ "elevation": 0,
+ "dest_map": "MAP_TRADE_CENTER",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 11,
+ "y": 1,
+ "elevation": 0,
+ "dest_map": "MAP_RECORD_CORNER",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 0,
+ "y": 0,
+ "elevation": 0,
+ "dest_map": "MAP_DOUBLE_BATTLE_COLOSSEUM",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/GraniteCave_1F/events.inc b/data/maps/GraniteCave_1F/events.inc
deleted file mode 100644
index 67cdbae15..000000000
--- a/data/maps/GraniteCave_1F/events.inc
+++ /dev/null
@@ -1,12 +0,0 @@
-GraniteCave_1F_EventObjects:: @ 838BF24
- object_event 1, EVENT_OBJ_GFX_HIKER, 0, 36, 9, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, GraniteCave_1F_EventScript_15CBA7, 0
- object_event 2, EVENT_OBJ_GFX_ITEM_BALL, 0, 17, 7, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, GraniteCave_1F_EventScript_1B17A0, FLAG_ITEM_GRANITE_CAVE_1F_1
-
-GraniteCave_1F_MapWarps:: @ 838BF54
- warp_def 37, 12, 3, 0, MAP_ROUTE106
- warp_def 35, 3, 3, 0, MAP_GRANITE_CAVE_B1F
- warp_def 17, 11, 3, 1, MAP_GRANITE_CAVE_B1F
- warp_def 5, 10, 3, 0, MAP_GRANITE_CAVE_STEVENS_ROOM
-
-GraniteCave_1F_MapEvents:: @ 838BF74
- map_events GraniteCave_1F_EventObjects, GraniteCave_1F_MapWarps, 0x0, 0x0
diff --git a/data/maps/GraniteCave_1F/header.inc b/data/maps/GraniteCave_1F/header.inc
deleted file mode 100644
index b94051123..000000000
--- a/data/maps/GraniteCave_1F/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-GraniteCave_1F:: @ 8306E34
- .4byte GraniteCave_1F_Layout
- .4byte GraniteCave_1F_MapEvents
- .4byte GraniteCave_1F_MapScripts
- .4byte 0x0
- .2byte MUS_DAN01
- .2byte 133
- .byte MAPSEC_GRANITE_CAVE
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_UNDERGROUND
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/GraniteCave_1F/map.json b/data/maps/GraniteCave_1F/map.json
new file mode 100644
index 000000000..6d83020d3
--- /dev/null
+++ b/data/maps/GraniteCave_1F/map.json
@@ -0,0 +1,73 @@
+{
+ "id": "MAP_GRANITE_CAVE_1F",
+ "name": "GraniteCave_1F",
+ "layout": "LAYOUT_GRANITE_CAVE_1F",
+ "music": "MUS_DAN01",
+ "region_map_section": "MAPSEC_GRANITE_CAVE",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_UNDERGROUND",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_HIKER",
+ "x": 36,
+ "y": 9,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "GraniteCave_1F_EventScript_15CBA7",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ITEM_BALL",
+ "x": 17,
+ "y": 7,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "GraniteCave_1F_EventScript_1B17A0",
+ "flag": "FLAG_ITEM_GRANITE_CAVE_1F_1"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 37,
+ "y": 12,
+ "elevation": 3,
+ "dest_map": "MAP_ROUTE106",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 35,
+ "y": 3,
+ "elevation": 3,
+ "dest_map": "MAP_GRANITE_CAVE_B1F",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 17,
+ "y": 11,
+ "elevation": 3,
+ "dest_map": "MAP_GRANITE_CAVE_B1F",
+ "dest_warp_id": 1
+ },
+ {
+ "x": 5,
+ "y": 10,
+ "elevation": 3,
+ "dest_map": "MAP_GRANITE_CAVE_STEVENS_ROOM",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/GraniteCave_B1F/events.inc b/data/maps/GraniteCave_B1F/events.inc
deleted file mode 100644
index 7516f579e..000000000
--- a/data/maps/GraniteCave_B1F/events.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-GraniteCave_B1F_EventObjects:: @ 838BF88
- object_event 1, EVENT_OBJ_GFX_ITEM_BALL, 0, 15, 21, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, GraniteCave_B1F_EventScript_1B17AD, FLAG_ITEM_GRANITE_CAVE_B1F_1
-
-GraniteCave_B1F_MapWarps:: @ 838BFA0
- warp_def 25, 13, 3, 1, MAP_GRANITE_CAVE_1F
- warp_def 4, 21, 3, 2, MAP_GRANITE_CAVE_1F
- warp_def 29, 13, 3, 0, MAP_GRANITE_CAVE_B2F
- warp_def 28, 21, 3, 1, MAP_GRANITE_CAVE_B2F
- warp_def 8, 5, 3, 2, MAP_GRANITE_CAVE_B2F
- warp_def 12, 3, 3, 3, MAP_GRANITE_CAVE_B2F
- warp_def 29, 2, 3, 4, MAP_GRANITE_CAVE_B2F
-
-GraniteCave_B1F_MapEvents:: @ 838BFD8
- map_events GraniteCave_B1F_EventObjects, GraniteCave_B1F_MapWarps, 0x0, 0x0
diff --git a/data/maps/GraniteCave_B1F/header.inc b/data/maps/GraniteCave_B1F/header.inc
deleted file mode 100644
index 5673b1fdc..000000000
--- a/data/maps/GraniteCave_B1F/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-GraniteCave_B1F:: @ 8306E50
- .4byte GraniteCave_B1F_Layout
- .4byte GraniteCave_B1F_MapEvents
- .4byte GraniteCave_B1F_MapScripts
- .4byte 0x0
- .2byte MUS_DAN01
- .2byte 134
- .byte MAPSEC_GRANITE_CAVE
- .byte 1
- .byte WEATHER_NONE
- .byte MAP_TYPE_UNDERGROUND
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/GraniteCave_B1F/map.json b/data/maps/GraniteCave_B1F/map.json
new file mode 100644
index 000000000..92c124cff
--- /dev/null
+++ b/data/maps/GraniteCave_B1F/map.json
@@ -0,0 +1,81 @@
+{
+ "id": "MAP_GRANITE_CAVE_B1F",
+ "name": "GraniteCave_B1F",
+ "layout": "LAYOUT_GRANITE_CAVE_B1F",
+ "music": "MUS_DAN01",
+ "region_map_section": "MAPSEC_GRANITE_CAVE",
+ "requires_flash": true,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_UNDERGROUND",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ITEM_BALL",
+ "x": 15,
+ "y": 21,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "GraniteCave_B1F_EventScript_1B17AD",
+ "flag": "FLAG_ITEM_GRANITE_CAVE_B1F_1"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 25,
+ "y": 13,
+ "elevation": 3,
+ "dest_map": "MAP_GRANITE_CAVE_1F",
+ "dest_warp_id": 1
+ },
+ {
+ "x": 4,
+ "y": 21,
+ "elevation": 3,
+ "dest_map": "MAP_GRANITE_CAVE_1F",
+ "dest_warp_id": 2
+ },
+ {
+ "x": 29,
+ "y": 13,
+ "elevation": 3,
+ "dest_map": "MAP_GRANITE_CAVE_B2F",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 28,
+ "y": 21,
+ "elevation": 3,
+ "dest_map": "MAP_GRANITE_CAVE_B2F",
+ "dest_warp_id": 1
+ },
+ {
+ "x": 8,
+ "y": 5,
+ "elevation": 3,
+ "dest_map": "MAP_GRANITE_CAVE_B2F",
+ "dest_warp_id": 2
+ },
+ {
+ "x": 12,
+ "y": 3,
+ "elevation": 3,
+ "dest_map": "MAP_GRANITE_CAVE_B2F",
+ "dest_warp_id": 3
+ },
+ {
+ "x": 29,
+ "y": 2,
+ "elevation": 3,
+ "dest_map": "MAP_GRANITE_CAVE_B2F",
+ "dest_warp_id": 4
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/GraniteCave_B2F/events.inc b/data/maps/GraniteCave_B2F/events.inc
deleted file mode 100644
index 7f85264a3..000000000
--- a/data/maps/GraniteCave_B2F/events.inc
+++ /dev/null
@@ -1,24 +0,0 @@
-GraniteCave_B2F_EventObjects:: @ 838BFEC
- object_event 1, EVENT_OBJ_GFX_ITEM_BALL, 0, 4, 4, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, GraniteCave_B2F_EventScript_1B17BA, FLAG_ITEM_GRANITE_CAVE_B2F_1
- object_event 2, EVENT_OBJ_GFX_ITEM_BALL, 0, 29, 4, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, GraniteCave_B2F_EventScript_1B17C7, FLAG_ITEM_GRANITE_CAVE_B2F_2
- object_event 3, EVENT_OBJ_GFX_BREAKABLE_ROCK, 0, 5, 14, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, S_BreakableRock, FLAG_TEMP_11
- object_event 4, EVENT_OBJ_GFX_BREAKABLE_ROCK, 0, 3, 14, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, S_BreakableRock, FLAG_TEMP_12
- object_event 5, EVENT_OBJ_GFX_BREAKABLE_ROCK, 0, 2, 16, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, S_BreakableRock, FLAG_TEMP_13
- object_event 6, EVENT_OBJ_GFX_BREAKABLE_ROCK, 0, 7, 12, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, S_BreakableRock, FLAG_TEMP_14
- object_event 7, EVENT_OBJ_GFX_BREAKABLE_ROCK, 0, 4, 22, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, S_BreakableRock, FLAG_TEMP_15
- object_event 8, EVENT_OBJ_GFX_BREAKABLE_ROCK, 0, 6, 22, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, S_BreakableRock, FLAG_TEMP_16
- object_event 9, EVENT_OBJ_GFX_BREAKABLE_ROCK, 0, 3, 21, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, S_BreakableRock, FLAG_TEMP_17
-
-GraniteCave_B2F_MapWarps:: @ 838C0C4
- warp_def 29, 13, 3, 2, MAP_GRANITE_CAVE_B1F
- warp_def 28, 21, 3, 3, MAP_GRANITE_CAVE_B1F
- warp_def 8, 5, 3, 4, MAP_GRANITE_CAVE_B1F
- warp_def 12, 3, 3, 5, MAP_GRANITE_CAVE_B1F
- warp_def 29, 2, 3, 6, MAP_GRANITE_CAVE_B1F
-
-GraniteCave_B2F_MapBGEvents:: @ 838C0EC
- bg_hidden_item_event 28, 6, 3, ITEM_EVERSTONE, FLAG_HIDDEN_ITEM_30
- bg_hidden_item_event 15, 11, 3, ITEM_EVERSTONE, FLAG_HIDDEN_ITEM_31
-
-GraniteCave_B2F_MapEvents:: @ 838C104
- map_events GraniteCave_B2F_EventObjects, GraniteCave_B2F_MapWarps, 0x0, GraniteCave_B2F_MapBGEvents
diff --git a/data/maps/GraniteCave_B2F/header.inc b/data/maps/GraniteCave_B2F/header.inc
deleted file mode 100644
index 240ff2dc0..000000000
--- a/data/maps/GraniteCave_B2F/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-GraniteCave_B2F:: @ 8306E6C
- .4byte GraniteCave_B2F_Layout
- .4byte GraniteCave_B2F_MapEvents
- .4byte GraniteCave_B2F_MapScripts
- .4byte 0x0
- .2byte MUS_DAN01
- .2byte 135
- .byte MAPSEC_GRANITE_CAVE
- .byte 1
- .byte WEATHER_NONE
- .byte MAP_TYPE_UNDERGROUND
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/GraniteCave_B2F/map.json b/data/maps/GraniteCave_B2F/map.json
new file mode 100644
index 000000000..4c76d1534
--- /dev/null
+++ b/data/maps/GraniteCave_B2F/map.json
@@ -0,0 +1,188 @@
+{
+ "id": "MAP_GRANITE_CAVE_B2F",
+ "name": "GraniteCave_B2F",
+ "layout": "LAYOUT_GRANITE_CAVE_B2F",
+ "music": "MUS_DAN01",
+ "region_map_section": "MAPSEC_GRANITE_CAVE",
+ "requires_flash": true,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_UNDERGROUND",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ITEM_BALL",
+ "x": 4,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "GraniteCave_B2F_EventScript_1B17BA",
+ "flag": "FLAG_ITEM_GRANITE_CAVE_B2F_1"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ITEM_BALL",
+ "x": 29,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "GraniteCave_B2F_EventScript_1B17C7",
+ "flag": "FLAG_ITEM_GRANITE_CAVE_B2F_2"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BREAKABLE_ROCK",
+ "x": 5,
+ "y": 14,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "S_BreakableRock",
+ "flag": "FLAG_TEMP_11"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BREAKABLE_ROCK",
+ "x": 3,
+ "y": 14,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "S_BreakableRock",
+ "flag": "FLAG_TEMP_12"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BREAKABLE_ROCK",
+ "x": 2,
+ "y": 16,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "S_BreakableRock",
+ "flag": "FLAG_TEMP_13"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BREAKABLE_ROCK",
+ "x": 7,
+ "y": 12,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "S_BreakableRock",
+ "flag": "FLAG_TEMP_14"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BREAKABLE_ROCK",
+ "x": 4,
+ "y": 22,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "S_BreakableRock",
+ "flag": "FLAG_TEMP_15"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BREAKABLE_ROCK",
+ "x": 6,
+ "y": 22,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "S_BreakableRock",
+ "flag": "FLAG_TEMP_16"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BREAKABLE_ROCK",
+ "x": 3,
+ "y": 21,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "S_BreakableRock",
+ "flag": "FLAG_TEMP_17"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 29,
+ "y": 13,
+ "elevation": 3,
+ "dest_map": "MAP_GRANITE_CAVE_B1F",
+ "dest_warp_id": 2
+ },
+ {
+ "x": 28,
+ "y": 21,
+ "elevation": 3,
+ "dest_map": "MAP_GRANITE_CAVE_B1F",
+ "dest_warp_id": 3
+ },
+ {
+ "x": 8,
+ "y": 5,
+ "elevation": 3,
+ "dest_map": "MAP_GRANITE_CAVE_B1F",
+ "dest_warp_id": 4
+ },
+ {
+ "x": 12,
+ "y": 3,
+ "elevation": 3,
+ "dest_map": "MAP_GRANITE_CAVE_B1F",
+ "dest_warp_id": 5
+ },
+ {
+ "x": 29,
+ "y": 2,
+ "elevation": 3,
+ "dest_map": "MAP_GRANITE_CAVE_B1F",
+ "dest_warp_id": 6
+ }
+ ],
+ "coord_events": [],
+ "bg_events": [
+ {
+ "type": "hidden_item",
+ "x": 28,
+ "y": 6,
+ "elevation": 3,
+ "item": "ITEM_EVERSTONE",
+ "flag": "FLAG_HIDDEN_ITEM_30"
+ },
+ {
+ "type": "hidden_item",
+ "x": 15,
+ "y": 11,
+ "elevation": 3,
+ "item": "ITEM_EVERSTONE",
+ "flag": "FLAG_HIDDEN_ITEM_31"
+ }
+ ]
+} \ No newline at end of file
diff --git a/data/maps/GraniteCave_StevensRoom/events.inc b/data/maps/GraniteCave_StevensRoom/events.inc
deleted file mode 100644
index 06ea7e6fd..000000000
--- a/data/maps/GraniteCave_StevensRoom/events.inc
+++ /dev/null
@@ -1,8 +0,0 @@
-GraniteCave_StevensRoom_EventObjects:: @ 838C118
- object_event 1, EVENT_OBJ_GFX_STEVEN, 0, 7, 8, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, GraniteCave_StevensRoom_EventScript_15CBFA, FLAG_HIDE_STEVEN_GRANITE_CAVE
-
-GraniteCave_StevensRoom_MapWarps:: @ 838C130
- warp_def 7, 3, 3, 3, MAP_GRANITE_CAVE_1F
-
-GraniteCave_StevensRoom_MapEvents:: @ 838C138
- map_events GraniteCave_StevensRoom_EventObjects, GraniteCave_StevensRoom_MapWarps, 0x0, 0x0
diff --git a/data/maps/GraniteCave_StevensRoom/header.inc b/data/maps/GraniteCave_StevensRoom/header.inc
deleted file mode 100644
index 66fcf26af..000000000
--- a/data/maps/GraniteCave_StevensRoom/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-GraniteCave_StevensRoom:: @ 8306E88
- .4byte GraniteCave_StevensRoom_Layout
- .4byte GraniteCave_StevensRoom_MapEvents
- .4byte GraniteCave_StevensRoom_MapScripts
- .4byte 0x0
- .2byte MUS_DAN01
- .2byte 289
- .byte MAPSEC_GRANITE_CAVE
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_UNDERGROUND
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/GraniteCave_StevensRoom/map.json b/data/maps/GraniteCave_StevensRoom/map.json
new file mode 100644
index 000000000..2a9c53104
--- /dev/null
+++ b/data/maps/GraniteCave_StevensRoom/map.json
@@ -0,0 +1,39 @@
+{
+ "id": "MAP_GRANITE_CAVE_STEVENS_ROOM",
+ "name": "GraniteCave_StevensRoom",
+ "layout": "LAYOUT_GRANITE_CAVE_STEVENS_ROOM",
+ "music": "MUS_DAN01",
+ "region_map_section": "MAPSEC_GRANITE_CAVE",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_UNDERGROUND",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_STEVEN",
+ "x": 7,
+ "y": 8,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "GraniteCave_StevensRoom_EventScript_15CBFA",
+ "flag": "FLAG_HIDE_STEVEN_GRANITE_CAVE"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 7,
+ "y": 3,
+ "elevation": 3,
+ "dest_map": "MAP_GRANITE_CAVE_1F",
+ "dest_warp_id": 3
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/InsideOfTruck/events.inc b/data/maps/InsideOfTruck/events.inc
deleted file mode 100644
index 7000e2927..000000000
--- a/data/maps/InsideOfTruck/events.inc
+++ /dev/null
@@ -1,24 +0,0 @@
-InsideOfTruck_EventObjects:: @ 8391618
- object_event 1, EVENT_OBJ_GFX_MOVING_BOX, 0, 0, 0, 8, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, InsideOfTruck_EventScript_15FC8B, 0
- object_event 2, EVENT_OBJ_GFX_MOVING_BOX, 0, 0, 3, 8, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, InsideOfTruck_EventScript_15FC8B, 0
- object_event 3, EVENT_OBJ_GFX_MOVING_BOX, 0, 2, 3, 8, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, InsideOfTruck_EventScript_15FC8B, 0
-
-InsideOfTruck_MapWarps:: @ 8391660
- warp_def 4, 1, 0, 127, MAP_NONE
- warp_def 4, 2, 0, 127, MAP_NONE
- warp_def 4, 3, 0, 127, MAP_NONE
-
-InsideOfTruck_MapCoordEvents:: @ 8391678
- coord_event 3, 1, 3, VAR_LITTLEROOT_INTRO_STATE, 0, InsideOfTruck_EventScript_15FC29
- coord_event 3, 2, 3, VAR_LITTLEROOT_INTRO_STATE, 0, InsideOfTruck_EventScript_15FC29
- coord_event 3, 3, 3, VAR_LITTLEROOT_INTRO_STATE, 0, InsideOfTruck_EventScript_15FC29
-
-InsideOfTruck_MapBGEvents:: @ 83916A8
- bg_event 1, 0, 0, BG_EVENT_PLAYER_FACING_ANY, InsideOfTruck_EventScript_15FC8B
- bg_event 3, 4, 0, BG_EVENT_PLAYER_FACING_ANY, InsideOfTruck_EventScript_15FC8B
- bg_event 2, 3, 0, BG_EVENT_PLAYER_FACING_ANY, InsideOfTruck_EventScript_15FC8B
- bg_event 0, 1, 0, BG_EVENT_PLAYER_FACING_ANY, InsideOfTruck_EventScript_15FC8B
- bg_event 0, 2, 0, BG_EVENT_PLAYER_FACING_ANY, InsideOfTruck_EventScript_15FC8B
-
-InsideOfTruck_MapEvents:: @ 83916E4
- map_events InsideOfTruck_EventObjects, InsideOfTruck_MapWarps, InsideOfTruck_MapCoordEvents, InsideOfTruck_MapBGEvents
diff --git a/data/maps/InsideOfTruck/header.inc b/data/maps/InsideOfTruck/header.inc
deleted file mode 100644
index 2c2135be5..000000000
--- a/data/maps/InsideOfTruck/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-InsideOfTruck:: @ 8307B38
- .4byte InsideOfTruck_Layout
- .4byte InsideOfTruck_MapEvents
- .4byte InsideOfTruck_MapScripts
- .4byte 0x0
- .2byte SE_STOP
- .2byte 238
- .byte MAPSEC_INSIDE_OF_TRUCK
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/InsideOfTruck/map.json b/data/maps/InsideOfTruck/map.json
new file mode 100644
index 000000000..04065d10b
--- /dev/null
+++ b/data/maps/InsideOfTruck/map.json
@@ -0,0 +1,148 @@
+{
+ "id": "MAP_INSIDE_OF_TRUCK",
+ "name": "InsideOfTruck",
+ "layout": "LAYOUT_INSIDE_OF_TRUCK",
+ "music": "SE_STOP",
+ "region_map_section": "MAPSEC_INSIDE_OF_TRUCK",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MOVING_BOX",
+ "x": 0,
+ "y": 0,
+ "elevation": 8,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "InsideOfTruck_EventScript_15FC8B",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MOVING_BOX",
+ "x": 0,
+ "y": 3,
+ "elevation": 8,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "InsideOfTruck_EventScript_15FC8B",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MOVING_BOX",
+ "x": 2,
+ "y": 3,
+ "elevation": 8,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "InsideOfTruck_EventScript_15FC8B",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 4,
+ "y": 1,
+ "elevation": 0,
+ "dest_map": "MAP_NONE",
+ "dest_warp_id": 127
+ },
+ {
+ "x": 4,
+ "y": 2,
+ "elevation": 0,
+ "dest_map": "MAP_NONE",
+ "dest_warp_id": 127
+ },
+ {
+ "x": 4,
+ "y": 3,
+ "elevation": 0,
+ "dest_map": "MAP_NONE",
+ "dest_warp_id": 127
+ }
+ ],
+ "coord_events": [
+ {
+ "type": "trigger",
+ "x": 3,
+ "y": 1,
+ "elevation": 3,
+ "var": "VAR_LITTLEROOT_INTRO_STATE",
+ "var_value": "0",
+ "script": "InsideOfTruck_EventScript_15FC29"
+ },
+ {
+ "type": "trigger",
+ "x": 3,
+ "y": 2,
+ "elevation": 3,
+ "var": "VAR_LITTLEROOT_INTRO_STATE",
+ "var_value": "0",
+ "script": "InsideOfTruck_EventScript_15FC29"
+ },
+ {
+ "type": "trigger",
+ "x": 3,
+ "y": 3,
+ "elevation": 3,
+ "var": "VAR_LITTLEROOT_INTRO_STATE",
+ "var_value": "0",
+ "script": "InsideOfTruck_EventScript_15FC29"
+ }
+ ],
+ "bg_events": [
+ {
+ "type": "sign",
+ "x": 1,
+ "y": 0,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "InsideOfTruck_EventScript_15FC8B"
+ },
+ {
+ "type": "sign",
+ "x": 3,
+ "y": 4,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "InsideOfTruck_EventScript_15FC8B"
+ },
+ {
+ "type": "sign",
+ "x": 2,
+ "y": 3,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "InsideOfTruck_EventScript_15FC8B"
+ },
+ {
+ "type": "sign",
+ "x": 0,
+ "y": 1,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "InsideOfTruck_EventScript_15FC8B"
+ },
+ {
+ "type": "sign",
+ "x": 0,
+ "y": 2,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "InsideOfTruck_EventScript_15FC8B"
+ }
+ ]
+} \ No newline at end of file
diff --git a/data/maps/IslandCave/events.inc b/data/maps/IslandCave/events.inc
deleted file mode 100644
index 6ef74d72d..000000000
--- a/data/maps/IslandCave/events.inc
+++ /dev/null
@@ -1,15 +0,0 @@
-IslandCave_EventObjects:: @ 838E674
- object_event 1, EVENT_OBJ_GFX_REGICE, 0, 8, 7, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, IslandCave_EventScript_15EF9D, FLAG_HIDE_REGICE
-
-IslandCave_MapWarps:: @ 838E68C
- warp_def 8, 29, 3, 0, MAP_ROUTE105
- warp_def 8, 20, 0, 2, MAP_ISLAND_CAVE
- warp_def 8, 11, 3, 1, MAP_ISLAND_CAVE
-
-IslandCave_MapBGEvents:: @ 838E6A4
- bg_event 8, 20, 0, BG_EVENT_PLAYER_FACING_ANY, IslandCave_EventScript_15EF59
- bg_event 7, 20, 0, BG_EVENT_PLAYER_FACING_ANY, IslandCave_EventScript_15EF7C
- bg_event 9, 20, 0, BG_EVENT_PLAYER_FACING_ANY, IslandCave_EventScript_15EF7C
-
-IslandCave_MapEvents:: @ 838E6C8
- map_events IslandCave_EventObjects, IslandCave_MapWarps, 0x0, IslandCave_MapBGEvents
diff --git a/data/maps/IslandCave/header.inc b/data/maps/IslandCave/header.inc
deleted file mode 100644
index 4630a79aa..000000000
--- a/data/maps/IslandCave/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-IslandCave:: @ 83074C4
- .4byte IslandCave_Layout
- .4byte IslandCave_MapEvents
- .4byte IslandCave_MapScripts
- .4byte 0x0
- .2byte MUS_MABOROSI
- .2byte 281
- .byte MAPSEC_ISLAND_CAVE
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_UNDERGROUND
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/IslandCave/map.json b/data/maps/IslandCave/map.json
new file mode 100644
index 000000000..f519a7003
--- /dev/null
+++ b/data/maps/IslandCave/map.json
@@ -0,0 +1,78 @@
+{
+ "id": "MAP_ISLAND_CAVE",
+ "name": "IslandCave",
+ "layout": "LAYOUT_ISLAND_CAVE",
+ "music": "MUS_MABOROSI",
+ "region_map_section": "MAPSEC_ISLAND_CAVE",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_UNDERGROUND",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_REGICE",
+ "x": 8,
+ "y": 7,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "IslandCave_EventScript_15EF9D",
+ "flag": "FLAG_HIDE_REGICE"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 8,
+ "y": 29,
+ "elevation": 3,
+ "dest_map": "MAP_ROUTE105",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 8,
+ "y": 20,
+ "elevation": 0,
+ "dest_map": "MAP_ISLAND_CAVE",
+ "dest_warp_id": 2
+ },
+ {
+ "x": 8,
+ "y": 11,
+ "elevation": 3,
+ "dest_map": "MAP_ISLAND_CAVE",
+ "dest_warp_id": 1
+ }
+ ],
+ "coord_events": [],
+ "bg_events": [
+ {
+ "type": "sign",
+ "x": 8,
+ "y": 20,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "IslandCave_EventScript_15EF59"
+ },
+ {
+ "type": "sign",
+ "x": 7,
+ "y": 20,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "IslandCave_EventScript_15EF7C"
+ },
+ {
+ "type": "sign",
+ "x": 9,
+ "y": 20,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "IslandCave_EventScript_15EF7C"
+ }
+ ]
+} \ No newline at end of file
diff --git a/data/maps/JaggedPass/events.inc b/data/maps/JaggedPass/events.inc
deleted file mode 100644
index f4c2fa515..000000000
--- a/data/maps/JaggedPass/events.inc
+++ /dev/null
@@ -1,25 +0,0 @@
-JaggedPass_EventObjects:: @ 838C61C
- object_event 1, EVENT_OBJ_GFX_HIKER, 0, 8, 18, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 1, 3, JaggedPass_EventScript_15D285, 0
- object_event 2, EVENT_OBJ_GFX_CAMPER, 0, 16, 22, 3, MOVEMENT_TYPE_FACE_LEFT_AND_RIGHT, 0, 0, 1, 2, JaggedPass_EventScript_15D2DA, 0
- object_event 3, EVENT_OBJ_GFX_ITEM_BALL, 0, 23, 24, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, JaggedPass_EventScript_1B17D4, FLAG_ITEM_JAGGED_PASS_1
- object_event 4, EVENT_OBJ_GFX_PICNICKER, 0, 13, 35, 3, MOVEMENT_TYPE_FACE_UP_AND_LEFT, 1, 1, 1, 3, JaggedPass_EventScript_15D29C, 0
-
-JaggedPass_MapWarps:: @ 838C67C
- warp_def 14, 40, 3, 2, MAP_ROUTE112
- warp_def 15, 40, 3, 3, MAP_ROUTE112
- warp_def 13, 5, 3, 2, MAP_MT_CHIMNEY
- warp_def 14, 5, 3, 3, MAP_MT_CHIMNEY
-
-JaggedPass_MapCoordEvents:: @ 838C69C
- coord_weather_event 13, 15, 3, COORD_EVENT_WEATHER_SUNNY
- coord_weather_event 21, 12, 3, COORD_EVENT_WEATHER_ASH
- coord_weather_event 14, 15, 3, COORD_EVENT_WEATHER_SUNNY
- coord_weather_event 18, 17, 3, COORD_EVENT_WEATHER_SUNNY
- coord_weather_event 22, 19, 3, COORD_EVENT_WEATHER_SUNNY
-
-JaggedPass_MapBGEvents:: @ 838C6EC
- bg_hidden_item_event 8, 10, 3, ITEM_FULL_HEAL, FLAG_HIDDEN_ITEM_4D
- bg_hidden_item_event 7, 29, 3, ITEM_GREAT_BALL, FLAG_HIDDEN_ITEM_4C
-
-JaggedPass_MapEvents:: @ 838C704
- map_events JaggedPass_EventObjects, JaggedPass_MapWarps, JaggedPass_MapCoordEvents, JaggedPass_MapBGEvents
diff --git a/data/maps/JaggedPass/header.inc b/data/maps/JaggedPass/header.inc
deleted file mode 100644
index 8f4d866ce..000000000
--- a/data/maps/JaggedPass/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-JaggedPass:: @ 8306EDC
- .4byte JaggedPass_Layout
- .4byte JaggedPass_MapEvents
- .4byte JaggedPass_MapScripts
- .4byte 0x0
- .2byte MUS_DAN01
- .2byte 293
- .byte MAPSEC_JAGGED_PASS
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_ROUTE
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/JaggedPass/map.json b/data/maps/JaggedPass/map.json
new file mode 100644
index 000000000..63de6d018
--- /dev/null
+++ b/data/maps/JaggedPass/map.json
@@ -0,0 +1,152 @@
+{
+ "id": "MAP_JAGGED_PASS",
+ "name": "JaggedPass",
+ "layout": "LAYOUT_JAGGED_PASS",
+ "music": "MUS_DAN01",
+ "region_map_section": "MAPSEC_JAGGED_PASS",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_ROUTE",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_HIKER",
+ "x": 8,
+ "y": 18,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "3",
+ "script": "JaggedPass_EventScript_15D285",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_CAMPER",
+ "x": 16,
+ "y": 22,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT_AND_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "2",
+ "script": "JaggedPass_EventScript_15D2DA",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ITEM_BALL",
+ "x": 23,
+ "y": 24,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "JaggedPass_EventScript_1B17D4",
+ "flag": "FLAG_ITEM_JAGGED_PASS_1"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_PICNICKER",
+ "x": 13,
+ "y": 35,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP_AND_LEFT",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "3",
+ "script": "JaggedPass_EventScript_15D29C",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 14,
+ "y": 40,
+ "elevation": 3,
+ "dest_map": "MAP_ROUTE112",
+ "dest_warp_id": 2
+ },
+ {
+ "x": 15,
+ "y": 40,
+ "elevation": 3,
+ "dest_map": "MAP_ROUTE112",
+ "dest_warp_id": 3
+ },
+ {
+ "x": 13,
+ "y": 5,
+ "elevation": 3,
+ "dest_map": "MAP_MT_CHIMNEY",
+ "dest_warp_id": 2
+ },
+ {
+ "x": 14,
+ "y": 5,
+ "elevation": 3,
+ "dest_map": "MAP_MT_CHIMNEY",
+ "dest_warp_id": 3
+ }
+ ],
+ "coord_events": [
+ {
+ "type": "weather",
+ "x": 13,
+ "y": 15,
+ "elevation": 3,
+ "weather": "COORD_EVENT_WEATHER_SUNNY"
+ },
+ {
+ "type": "weather",
+ "x": 21,
+ "y": 12,
+ "elevation": 3,
+ "weather": "COORD_EVENT_WEATHER_ASH"
+ },
+ {
+ "type": "weather",
+ "x": 14,
+ "y": 15,
+ "elevation": 3,
+ "weather": "COORD_EVENT_WEATHER_SUNNY"
+ },
+ {
+ "type": "weather",
+ "x": 18,
+ "y": 17,
+ "elevation": 3,
+ "weather": "COORD_EVENT_WEATHER_SUNNY"
+ },
+ {
+ "type": "weather",
+ "x": 22,
+ "y": 19,
+ "elevation": 3,
+ "weather": "COORD_EVENT_WEATHER_SUNNY"
+ }
+ ],
+ "bg_events": [
+ {
+ "type": "hidden_item",
+ "x": 8,
+ "y": 10,
+ "elevation": 3,
+ "item": "ITEM_FULL_HEAL",
+ "flag": "FLAG_HIDDEN_ITEM_4D"
+ },
+ {
+ "type": "hidden_item",
+ "x": 7,
+ "y": 29,
+ "elevation": 3,
+ "item": "ITEM_GREAT_BALL",
+ "flag": "FLAG_HIDDEN_ITEM_4C"
+ }
+ ]
+} \ No newline at end of file
diff --git a/data/maps/LavaridgeTown/connections.inc b/data/maps/LavaridgeTown/connections.inc
deleted file mode 100644
index 5adf84bd2..000000000
--- a/data/maps/LavaridgeTown/connections.inc
+++ /dev/null
@@ -1,6 +0,0 @@
-LavaridgeTown_MapConnectionsList:: @ 8308670
- connection right, -40, MAP_ROUTE112
-
-LavaridgeTown_MapConnections:: @ 830867C
- .4byte 0x1
- .4byte LavaridgeTown_MapConnectionsList
diff --git a/data/maps/LavaridgeTown/events.inc b/data/maps/LavaridgeTown/events.inc
deleted file mode 100644
index 90dfa5417..000000000
--- a/data/maps/LavaridgeTown/events.inc
+++ /dev/null
@@ -1,34 +0,0 @@
-LavaridgeTown_EventObjects:: @ 8380C78
- object_event 1, EVENT_OBJ_GFX_OLD_WOMAN_1, 0, 8, 7, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, LavaridgeTown_EventScript_14E751, 0
- object_event 2, EVENT_OBJ_GFX_OLD_MAN_1, 0, 5, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, LavaridgeTown_EventScript_14E724, 0
- object_event 3, EVENT_OBJ_GFX_OLD_MAN_2, 0, 5, 8, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, LavaridgeTown_EventScript_14E72D, 0
- object_event 4, EVENT_OBJ_GFX_LITTLE_GIRL_1, 0, 10, 13, 3, MOVEMENT_TYPE_WANDER_UP_AND_DOWN, 0, 2, 0, 0, LavaridgeTown_EventScript_14E736, 0
- object_event 5, EVENT_OBJ_GFX_HOT_SPRINGS_OLD_WOMAN, 0, 4, 4, 3, MOVEMENT_TYPE_FACE_DOWN_AND_RIGHT, 0, 0, 0, 0, LavaridgeTown_EventScript_14E73F, 0
- object_event 6, EVENT_OBJ_GFX_HOT_SPRINGS_OLD_WOMAN, 0, 5, 4, 3, MOVEMENT_TYPE_FACE_DOWN_AND_LEFT, 0, 0, 0, 0, LavaridgeTown_EventScript_14E748, 0
- object_event 7, EVENT_OBJ_GFX_VAR_3, 0, 6, 16, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, 0x0, FLAG_HIDE_RIVAL_LAVARIDGE_2
- object_event 8, EVENT_OBJ_GFX_VAR_0, 0, 12, 15, 0, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, LavaridgeTown_EventScript_14E575, FLAG_HIDE_RIVAL_LAVARIDGE_1
- object_event 9, EVENT_OBJ_GFX_OLD_WOMAN_1, 0, 4, 7, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, LavaridgeTown_EventScript_14E75A, 0
-
-LavaridgeTown_MapWarps:: @ 8380D50
- warp_def 12, 15, 0, 0, MAP_LAVARIDGE_TOWN_HERB_SHOP
- warp_def 5, 15, 0, 0, MAP_LAVARIDGE_TOWN_GYM_1F
- warp_def 15, 5, 0, 0, MAP_LAVARIDGE_TOWN_MART
- warp_def 9, 6, 0, 0, MAP_LAVARIDGE_TOWN_POKEMON_CENTER_1F
- warp_def 16, 15, 0, 0, MAP_LAVARIDGE_TOWN_HOUSE
- warp_def 9, 2, 3, 3, MAP_LAVARIDGE_TOWN_POKEMON_CENTER_1F
-
-LavaridgeTown_MapCoordEvents:: @ 8380D80
- coord_event 6, 3, 3, 0, 0, LavaridgeTown_EventScript_14E710
-
-LavaridgeTown_MapBGEvents:: @ 8380D90
- bg_event 14, 16, 0, BG_EVENT_PLAYER_FACING_ANY, LavaridgeTown_EventScript_14E7D7
- bg_event 7, 15, 0, BG_EVENT_PLAYER_FACING_ANY, LavaridgeTown_EventScript_14E7C5
- bg_event 17, 5, 0, BG_EVENT_PLAYER_FACING_NORTH, LavaridgeTown_EventScript_1A00E1
- bg_event 13, 8, 0, BG_EVENT_PLAYER_FACING_ANY, LavaridgeTown_EventScript_14E7BC
- bg_event 10, 6, 0, BG_EVENT_PLAYER_FACING_NORTH, LavaridgeTown_EventScript_1A00EA
- bg_event 16, 5, 0, BG_EVENT_PLAYER_FACING_NORTH, LavaridgeTown_EventScript_1A00E1
- bg_event 11, 6, 0, BG_EVENT_PLAYER_FACING_NORTH, LavaridgeTown_EventScript_1A00EA
- bg_hidden_item_event 4, 5, 3, ITEM_ICE_HEAL, FLAG_HIDDEN_ITEM_0
-
-LavaridgeTown_MapEvents:: @ 8380DF0
- map_events LavaridgeTown_EventObjects, LavaridgeTown_MapWarps, LavaridgeTown_MapCoordEvents, LavaridgeTown_MapBGEvents
diff --git a/data/maps/LavaridgeTown/header.inc b/data/maps/LavaridgeTown/header.inc
deleted file mode 100644
index 4b798b26f..000000000
--- a/data/maps/LavaridgeTown/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-LavaridgeTown:: @ 8305598
- .4byte LavaridgeTown_Layout
- .4byte LavaridgeTown_MapEvents
- .4byte LavaridgeTown_MapScripts
- .4byte LavaridgeTown_MapConnections
- .2byte MUS_MACHI_S4
- .2byte 13
- .byte MAPSEC_LAVARIDGE_TOWN
- .byte 0
- .byte WEATHER_SUNNY
- .byte MAP_TYPE_TOWN
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/LavaridgeTown/map.json b/data/maps/LavaridgeTown/map.json
new file mode 100644
index 000000000..ef3ec701f
--- /dev/null
+++ b/data/maps/LavaridgeTown/map.json
@@ -0,0 +1,259 @@
+{
+ "id": "MAP_LAVARIDGE_TOWN",
+ "name": "LavaridgeTown",
+ "layout": "LAYOUT_LAVARIDGE_TOWN",
+ "music": "MUS_MACHI_S4",
+ "region_map_section": "MAPSEC_LAVARIDGE_TOWN",
+ "requires_flash": false,
+ "weather": "WEATHER_SUNNY",
+ "map_type": "MAP_TYPE_TOWN",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": [
+ {
+ "direction": "right",
+ "offset": -40,
+ "map": "MAP_ROUTE112"
+ }
+ ],
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_OLD_WOMAN_1",
+ "x": 8,
+ "y": 7,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LavaridgeTown_EventScript_14E751",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_OLD_MAN_1",
+ "x": 5,
+ "y": 1,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LavaridgeTown_EventScript_14E724",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_OLD_MAN_2",
+ "x": 5,
+ "y": 8,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LavaridgeTown_EventScript_14E72D",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_LITTLE_GIRL_1",
+ "x": 10,
+ "y": 13,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_UP_AND_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 2,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LavaridgeTown_EventScript_14E736",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_HOT_SPRINGS_OLD_WOMAN",
+ "x": 4,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN_AND_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LavaridgeTown_EventScript_14E73F",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_HOT_SPRINGS_OLD_WOMAN",
+ "x": 5,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN_AND_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LavaridgeTown_EventScript_14E748",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_3",
+ "x": 6,
+ "y": 16,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_HIDE_RIVAL_LAVARIDGE_2"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_0",
+ "x": 12,
+ "y": 15,
+ "elevation": 0,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LavaridgeTown_EventScript_14E575",
+ "flag": "FLAG_HIDE_RIVAL_LAVARIDGE_1"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_OLD_WOMAN_1",
+ "x": 4,
+ "y": 7,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LavaridgeTown_EventScript_14E75A",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 12,
+ "y": 15,
+ "elevation": 0,
+ "dest_map": "MAP_LAVARIDGE_TOWN_HERB_SHOP",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 5,
+ "y": 15,
+ "elevation": 0,
+ "dest_map": "MAP_LAVARIDGE_TOWN_GYM_1F",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 15,
+ "y": 5,
+ "elevation": 0,
+ "dest_map": "MAP_LAVARIDGE_TOWN_MART",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 9,
+ "y": 6,
+ "elevation": 0,
+ "dest_map": "MAP_LAVARIDGE_TOWN_POKEMON_CENTER_1F",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 16,
+ "y": 15,
+ "elevation": 0,
+ "dest_map": "MAP_LAVARIDGE_TOWN_HOUSE",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 9,
+ "y": 2,
+ "elevation": 3,
+ "dest_map": "MAP_LAVARIDGE_TOWN_POKEMON_CENTER_1F",
+ "dest_warp_id": 3
+ }
+ ],
+ "coord_events": [
+ {
+ "type": "trigger",
+ "x": 6,
+ "y": 3,
+ "elevation": 3,
+ "var": "0",
+ "var_value": "0",
+ "script": "LavaridgeTown_EventScript_14E710"
+ }
+ ],
+ "bg_events": [
+ {
+ "type": "sign",
+ "x": 14,
+ "y": 16,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "LavaridgeTown_EventScript_14E7D7"
+ },
+ {
+ "type": "sign",
+ "x": 7,
+ "y": 15,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "LavaridgeTown_EventScript_14E7C5"
+ },
+ {
+ "type": "sign",
+ "x": 17,
+ "y": 5,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH",
+ "script": "LavaridgeTown_EventScript_1A00E1"
+ },
+ {
+ "type": "sign",
+ "x": 13,
+ "y": 8,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "LavaridgeTown_EventScript_14E7BC"
+ },
+ {
+ "type": "sign",
+ "x": 10,
+ "y": 6,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH",
+ "script": "LavaridgeTown_EventScript_1A00EA"
+ },
+ {
+ "type": "sign",
+ "x": 16,
+ "y": 5,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH",
+ "script": "LavaridgeTown_EventScript_1A00E1"
+ },
+ {
+ "type": "sign",
+ "x": 11,
+ "y": 6,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH",
+ "script": "LavaridgeTown_EventScript_1A00EA"
+ },
+ {
+ "type": "hidden_item",
+ "x": 4,
+ "y": 5,
+ "elevation": 3,
+ "item": "ITEM_ICE_HEAL",
+ "flag": "FLAG_HIDDEN_ITEM_0"
+ }
+ ]
+} \ No newline at end of file
diff --git a/data/maps/LavaridgeTown_Gym_1F/events.inc b/data/maps/LavaridgeTown_Gym_1F/events.inc
deleted file mode 100644
index 697fae482..000000000
--- a/data/maps/LavaridgeTown_Gym_1F/events.inc
+++ /dev/null
@@ -1,39 +0,0 @@
-LavaridgeTown_Gym_1F_EventObjects:: @ 838625C
- object_event 1, EVENT_OBJ_GFX_FLANNERY, 0, 8, 10, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, LavaridgeTown_Gym_1F_EventScript_153741, 0
- object_event 2, EVENT_OBJ_GFX_MAN_6, 0, 10, 19, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 3, 1, LavaridgeTown_Gym_1F_EventScript_1537CB, 0
- object_event 3, EVENT_OBJ_GFX_MAN_4, 0, 4, 17, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 3, 1, LavaridgeTown_Gym_1F_EventScript_15383E, 0
- object_event 4, EVENT_OBJ_GFX_MAN_6, 0, 4, 12, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 3, 1, LavaridgeTown_Gym_1F_EventScript_1537ED, 0
- object_event 5, EVENT_OBJ_GFX_GIRL_3, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 3, 1, LavaridgeTown_Gym_1F_EventScript_153823, 0
- object_event 6, EVENT_OBJ_GFX_MAN_2, 0, 6, 23, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, LavaridgeTown_Gym_1F_EventScript_153859, 0
- object_event 7, EVENT_OBJ_GFX_MAN_6, 0, 6, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 3, 1, LavaridgeTown_Gym_1F_EventScript_153808, 0
-
-LavaridgeTown_Gym_1F_MapWarps:: @ 8386304
- warp_def 8, 23, 3, 1, MAP_LAVARIDGE_TOWN
- warp_def 9, 23, 3, 1, MAP_LAVARIDGE_TOWN
- warp_def 3, 21, 3, 0, MAP_LAVARIDGE_TOWN_GYM_B1F
- warp_def 1, 14, 3, 2, MAP_LAVARIDGE_TOWN_GYM_B1F
- warp_def 6, 14, 3, 4, MAP_LAVARIDGE_TOWN_GYM_B1F
- warp_def 1, 6, 3, 3, MAP_LAVARIDGE_TOWN_GYM_B1F
- warp_def 9, 2, 3, 1, MAP_LAVARIDGE_TOWN_GYM_B1F
- warp_def 6, 20, 3, 5, MAP_LAVARIDGE_TOWN_GYM_B1F
- warp_def 0, 23, 3, 6, MAP_LAVARIDGE_TOWN_GYM_B1F
- warp_def 0, 17, 3, 7, MAP_LAVARIDGE_TOWN_GYM_B1F
- warp_def 4, 17, 3, 8, MAP_LAVARIDGE_TOWN_GYM_B1F
- warp_def 0, 11, 3, 9, MAP_LAVARIDGE_TOWN_GYM_B1F
- warp_def 4, 12, 3, 10, MAP_LAVARIDGE_TOWN_GYM_B1F
- warp_def 4, 9, 3, 11, MAP_LAVARIDGE_TOWN_GYM_B1F
- warp_def 0, 2, 3, 12, MAP_LAVARIDGE_TOWN_GYM_B1F
- warp_def 4, 6, 3, 13, MAP_LAVARIDGE_TOWN_GYM_B1F
- warp_def 4, 2, 3, 14, MAP_LAVARIDGE_TOWN_GYM_B1F
- warp_def 10, 19, 3, 15, MAP_LAVARIDGE_TOWN_GYM_B1F
- warp_def 10, 14, 3, 16, MAP_LAVARIDGE_TOWN_GYM_B1F
- warp_def 6, 6, 3, 17, MAP_LAVARIDGE_TOWN_GYM_B1F
- warp_def 6, 2, 3, 18, MAP_LAVARIDGE_TOWN_GYM_B1F
- warp_def 10, 6, 3, 19, MAP_LAVARIDGE_TOWN_GYM_B1F
-
-LavaridgeTown_Gym_1F_MapBGEvents:: @ 83863B4
- bg_event 6, 17, 0, BG_EVENT_PLAYER_FACING_NORTH, LavaridgeTown_Gym_1F_EventScript_153878
- bg_event 10, 17, 0, BG_EVENT_PLAYER_FACING_NORTH, LavaridgeTown_Gym_1F_EventScript_153888
-
-LavaridgeTown_Gym_1F_MapEvents:: @ 83863CC
- map_events LavaridgeTown_Gym_1F_EventObjects, LavaridgeTown_Gym_1F_MapWarps, 0x0, LavaridgeTown_Gym_1F_MapBGEvents
diff --git a/data/maps/LavaridgeTown_Gym_1F/header.inc b/data/maps/LavaridgeTown_Gym_1F/header.inc
deleted file mode 100644
index 609808f0f..000000000
--- a/data/maps/LavaridgeTown_Gym_1F/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-LavaridgeTown_Gym_1F:: @ 8305C0C
- .4byte LavaridgeTown_Gym_1F_Layout
- .4byte LavaridgeTown_Gym_1F_MapEvents
- .4byte LavaridgeTown_Gym_1F_MapScripts
- .4byte 0x0
- .2byte MUS_GIM
- .2byte 69
- .byte MAPSEC_LAVARIDGE_TOWN
- .byte 0
- .byte WEATHER_FOG_1
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_GYM
diff --git a/data/maps/LavaridgeTown_Gym_1F/map.json b/data/maps/LavaridgeTown_Gym_1F/map.json
new file mode 100644
index 000000000..8abb700fe
--- /dev/null
+++ b/data/maps/LavaridgeTown_Gym_1F/map.json
@@ -0,0 +1,281 @@
+{
+ "id": "MAP_LAVARIDGE_TOWN_GYM_1F",
+ "name": "LavaridgeTown_Gym_1F",
+ "layout": "LAYOUT_LAVARIDGE_TOWN_GYM_1F",
+ "music": "MUS_GIM",
+ "region_map_section": "MAPSEC_LAVARIDGE_TOWN",
+ "requires_flash": false,
+ "weather": "WEATHER_FOG_1",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_GYM",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_FLANNERY",
+ "x": 8,
+ "y": 10,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LavaridgeTown_Gym_1F_EventScript_153741",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_6",
+ "x": 10,
+ "y": 19,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "3",
+ "trainer_sight_or_berry_tree_id": "1",
+ "script": "LavaridgeTown_Gym_1F_EventScript_1537CB",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_4",
+ "x": 4,
+ "y": 17,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "3",
+ "trainer_sight_or_berry_tree_id": "1",
+ "script": "LavaridgeTown_Gym_1F_EventScript_15383E",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_6",
+ "x": 4,
+ "y": 12,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "3",
+ "trainer_sight_or_berry_tree_id": "1",
+ "script": "LavaridgeTown_Gym_1F_EventScript_1537ED",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_GIRL_3",
+ "x": 0,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "3",
+ "trainer_sight_or_berry_tree_id": "1",
+ "script": "LavaridgeTown_Gym_1F_EventScript_153823",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_2",
+ "x": 6,
+ "y": 23,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LavaridgeTown_Gym_1F_EventScript_153859",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_6",
+ "x": 6,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "3",
+ "trainer_sight_or_berry_tree_id": "1",
+ "script": "LavaridgeTown_Gym_1F_EventScript_153808",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 8,
+ "y": 23,
+ "elevation": 3,
+ "dest_map": "MAP_LAVARIDGE_TOWN",
+ "dest_warp_id": 1
+ },
+ {
+ "x": 9,
+ "y": 23,
+ "elevation": 3,
+ "dest_map": "MAP_LAVARIDGE_TOWN",
+ "dest_warp_id": 1
+ },
+ {
+ "x": 3,
+ "y": 21,
+ "elevation": 3,
+ "dest_map": "MAP_LAVARIDGE_TOWN_GYM_B1F",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 1,
+ "y": 14,
+ "elevation": 3,
+ "dest_map": "MAP_LAVARIDGE_TOWN_GYM_B1F",
+ "dest_warp_id": 2
+ },
+ {
+ "x": 6,
+ "y": 14,
+ "elevation": 3,
+ "dest_map": "MAP_LAVARIDGE_TOWN_GYM_B1F",
+ "dest_warp_id": 4
+ },
+ {
+ "x": 1,
+ "y": 6,
+ "elevation": 3,
+ "dest_map": "MAP_LAVARIDGE_TOWN_GYM_B1F",
+ "dest_warp_id": 3
+ },
+ {
+ "x": 9,
+ "y": 2,
+ "elevation": 3,
+ "dest_map": "MAP_LAVARIDGE_TOWN_GYM_B1F",
+ "dest_warp_id": 1
+ },
+ {
+ "x": 6,
+ "y": 20,
+ "elevation": 3,
+ "dest_map": "MAP_LAVARIDGE_TOWN_GYM_B1F",
+ "dest_warp_id": 5
+ },
+ {
+ "x": 0,
+ "y": 23,
+ "elevation": 3,
+ "dest_map": "MAP_LAVARIDGE_TOWN_GYM_B1F",
+ "dest_warp_id": 6
+ },
+ {
+ "x": 0,
+ "y": 17,
+ "elevation": 3,
+ "dest_map": "MAP_LAVARIDGE_TOWN_GYM_B1F",
+ "dest_warp_id": 7
+ },
+ {
+ "x": 4,
+ "y": 17,
+ "elevation": 3,
+ "dest_map": "MAP_LAVARIDGE_TOWN_GYM_B1F",
+ "dest_warp_id": 8
+ },
+ {
+ "x": 0,
+ "y": 11,
+ "elevation": 3,
+ "dest_map": "MAP_LAVARIDGE_TOWN_GYM_B1F",
+ "dest_warp_id": 9
+ },
+ {
+ "x": 4,
+ "y": 12,
+ "elevation": 3,
+ "dest_map": "MAP_LAVARIDGE_TOWN_GYM_B1F",
+ "dest_warp_id": 10
+ },
+ {
+ "x": 4,
+ "y": 9,
+ "elevation": 3,
+ "dest_map": "MAP_LAVARIDGE_TOWN_GYM_B1F",
+ "dest_warp_id": 11
+ },
+ {
+ "x": 0,
+ "y": 2,
+ "elevation": 3,
+ "dest_map": "MAP_LAVARIDGE_TOWN_GYM_B1F",
+ "dest_warp_id": 12
+ },
+ {
+ "x": 4,
+ "y": 6,
+ "elevation": 3,
+ "dest_map": "MAP_LAVARIDGE_TOWN_GYM_B1F",
+ "dest_warp_id": 13
+ },
+ {
+ "x": 4,
+ "y": 2,
+ "elevation": 3,
+ "dest_map": "MAP_LAVARIDGE_TOWN_GYM_B1F",
+ "dest_warp_id": 14
+ },
+ {
+ "x": 10,
+ "y": 19,
+ "elevation": 3,
+ "dest_map": "MAP_LAVARIDGE_TOWN_GYM_B1F",
+ "dest_warp_id": 15
+ },
+ {
+ "x": 10,
+ "y": 14,
+ "elevation": 3,
+ "dest_map": "MAP_LAVARIDGE_TOWN_GYM_B1F",
+ "dest_warp_id": 16
+ },
+ {
+ "x": 6,
+ "y": 6,
+ "elevation": 3,
+ "dest_map": "MAP_LAVARIDGE_TOWN_GYM_B1F",
+ "dest_warp_id": 17
+ },
+ {
+ "x": 6,
+ "y": 2,
+ "elevation": 3,
+ "dest_map": "MAP_LAVARIDGE_TOWN_GYM_B1F",
+ "dest_warp_id": 18
+ },
+ {
+ "x": 10,
+ "y": 6,
+ "elevation": 3,
+ "dest_map": "MAP_LAVARIDGE_TOWN_GYM_B1F",
+ "dest_warp_id": 19
+ }
+ ],
+ "coord_events": [],
+ "bg_events": [
+ {
+ "type": "sign",
+ "x": 6,
+ "y": 17,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH",
+ "script": "LavaridgeTown_Gym_1F_EventScript_153878"
+ },
+ {
+ "type": "sign",
+ "x": 10,
+ "y": 17,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH",
+ "script": "LavaridgeTown_Gym_1F_EventScript_153888"
+ }
+ ]
+} \ No newline at end of file
diff --git a/data/maps/LavaridgeTown_Gym_B1F/events.inc b/data/maps/LavaridgeTown_Gym_B1F/events.inc
deleted file mode 100644
index 9492194a8..000000000
--- a/data/maps/LavaridgeTown_Gym_B1F/events.inc
+++ /dev/null
@@ -1,24 +0,0 @@
-LavaridgeTown_Gym_B1F_MapWarps:: @ 83863E0
- warp_def 3, 21, 3, 2, MAP_LAVARIDGE_TOWN_GYM_1F
- warp_def 9, 2, 3, 6, MAP_LAVARIDGE_TOWN_GYM_1F
- warp_def 1, 14, 3, 3, MAP_LAVARIDGE_TOWN_GYM_1F
- warp_def 1, 6, 3, 5, MAP_LAVARIDGE_TOWN_GYM_1F
- warp_def 6, 14, 3, 4, MAP_LAVARIDGE_TOWN_GYM_1F
- warp_def 6, 20, 3, 7, MAP_LAVARIDGE_TOWN_GYM_1F
- warp_def 0, 23, 3, 8, MAP_LAVARIDGE_TOWN_GYM_1F
- warp_def 0, 17, 3, 9, MAP_LAVARIDGE_TOWN_GYM_1F
- warp_def 4, 17, 3, 10, MAP_LAVARIDGE_TOWN_GYM_1F
- warp_def 0, 11, 3, 11, MAP_LAVARIDGE_TOWN_GYM_1F
- warp_def 4, 12, 3, 12, MAP_LAVARIDGE_TOWN_GYM_1F
- warp_def 4, 9, 3, 13, MAP_LAVARIDGE_TOWN_GYM_1F
- warp_def 0, 2, 3, 14, MAP_LAVARIDGE_TOWN_GYM_1F
- warp_def 4, 6, 3, 15, MAP_LAVARIDGE_TOWN_GYM_1F
- warp_def 4, 2, 3, 16, MAP_LAVARIDGE_TOWN_GYM_1F
- warp_def 10, 18, 3, 17, MAP_LAVARIDGE_TOWN_GYM_1F
- warp_def 10, 14, 3, 18, MAP_LAVARIDGE_TOWN_GYM_1F
- warp_def 6, 6, 3, 19, MAP_LAVARIDGE_TOWN_GYM_1F
- warp_def 6, 2, 3, 20, MAP_LAVARIDGE_TOWN_GYM_1F
- warp_def 10, 6, 3, 21, MAP_LAVARIDGE_TOWN_GYM_1F
-
-LavaridgeTown_Gym_B1F_MapEvents:: @ 8386480
- map_events 0x0, LavaridgeTown_Gym_B1F_MapWarps, 0x0, 0x0
diff --git a/data/maps/LavaridgeTown_Gym_B1F/header.inc b/data/maps/LavaridgeTown_Gym_B1F/header.inc
deleted file mode 100644
index df8d98e11..000000000
--- a/data/maps/LavaridgeTown_Gym_B1F/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-LavaridgeTown_Gym_B1F:: @ 8305C28
- .4byte LavaridgeTown_Gym_B1F_Layout
- .4byte LavaridgeTown_Gym_B1F_MapEvents
- .4byte LavaridgeTown_Gym_B1F_MapScripts
- .4byte 0x0
- .2byte MUS_GIM
- .2byte 70
- .byte MAPSEC_LAVARIDGE_TOWN
- .byte 0
- .byte WEATHER_FOG_1
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_GYM
diff --git a/data/maps/LavaridgeTown_Gym_B1F/map.json b/data/maps/LavaridgeTown_Gym_B1F/map.json
new file mode 100644
index 000000000..5b43c5bcb
--- /dev/null
+++ b/data/maps/LavaridgeTown_Gym_B1F/map.json
@@ -0,0 +1,158 @@
+{
+ "id": "MAP_LAVARIDGE_TOWN_GYM_B1F",
+ "name": "LavaridgeTown_Gym_B1F",
+ "layout": "LAYOUT_LAVARIDGE_TOWN_GYM_B1F",
+ "music": "MUS_GIM",
+ "region_map_section": "MAPSEC_LAVARIDGE_TOWN",
+ "requires_flash": false,
+ "weather": "WEATHER_FOG_1",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_GYM",
+ "connections": null,
+ "object_events": [],
+ "warp_events": [
+ {
+ "x": 3,
+ "y": 21,
+ "elevation": 3,
+ "dest_map": "MAP_LAVARIDGE_TOWN_GYM_1F",
+ "dest_warp_id": 2
+ },
+ {
+ "x": 9,
+ "y": 2,
+ "elevation": 3,
+ "dest_map": "MAP_LAVARIDGE_TOWN_GYM_1F",
+ "dest_warp_id": 6
+ },
+ {
+ "x": 1,
+ "y": 14,
+ "elevation": 3,
+ "dest_map": "MAP_LAVARIDGE_TOWN_GYM_1F",
+ "dest_warp_id": 3
+ },
+ {
+ "x": 1,
+ "y": 6,
+ "elevation": 3,
+ "dest_map": "MAP_LAVARIDGE_TOWN_GYM_1F",
+ "dest_warp_id": 5
+ },
+ {
+ "x": 6,
+ "y": 14,
+ "elevation": 3,
+ "dest_map": "MAP_LAVARIDGE_TOWN_GYM_1F",
+ "dest_warp_id": 4
+ },
+ {
+ "x": 6,
+ "y": 20,
+ "elevation": 3,
+ "dest_map": "MAP_LAVARIDGE_TOWN_GYM_1F",
+ "dest_warp_id": 7
+ },
+ {
+ "x": 0,
+ "y": 23,
+ "elevation": 3,
+ "dest_map": "MAP_LAVARIDGE_TOWN_GYM_1F",
+ "dest_warp_id": 8
+ },
+ {
+ "x": 0,
+ "y": 17,
+ "elevation": 3,
+ "dest_map": "MAP_LAVARIDGE_TOWN_GYM_1F",
+ "dest_warp_id": 9
+ },
+ {
+ "x": 4,
+ "y": 17,
+ "elevation": 3,
+ "dest_map": "MAP_LAVARIDGE_TOWN_GYM_1F",
+ "dest_warp_id": 10
+ },
+ {
+ "x": 0,
+ "y": 11,
+ "elevation": 3,
+ "dest_map": "MAP_LAVARIDGE_TOWN_GYM_1F",
+ "dest_warp_id": 11
+ },
+ {
+ "x": 4,
+ "y": 12,
+ "elevation": 3,
+ "dest_map": "MAP_LAVARIDGE_TOWN_GYM_1F",
+ "dest_warp_id": 12
+ },
+ {
+ "x": 4,
+ "y": 9,
+ "elevation": 3,
+ "dest_map": "MAP_LAVARIDGE_TOWN_GYM_1F",
+ "dest_warp_id": 13
+ },
+ {
+ "x": 0,
+ "y": 2,
+ "elevation": 3,
+ "dest_map": "MAP_LAVARIDGE_TOWN_GYM_1F",
+ "dest_warp_id": 14
+ },
+ {
+ "x": 4,
+ "y": 6,
+ "elevation": 3,
+ "dest_map": "MAP_LAVARIDGE_TOWN_GYM_1F",
+ "dest_warp_id": 15
+ },
+ {
+ "x": 4,
+ "y": 2,
+ "elevation": 3,
+ "dest_map": "MAP_LAVARIDGE_TOWN_GYM_1F",
+ "dest_warp_id": 16
+ },
+ {
+ "x": 10,
+ "y": 18,
+ "elevation": 3,
+ "dest_map": "MAP_LAVARIDGE_TOWN_GYM_1F",
+ "dest_warp_id": 17
+ },
+ {
+ "x": 10,
+ "y": 14,
+ "elevation": 3,
+ "dest_map": "MAP_LAVARIDGE_TOWN_GYM_1F",
+ "dest_warp_id": 18
+ },
+ {
+ "x": 6,
+ "y": 6,
+ "elevation": 3,
+ "dest_map": "MAP_LAVARIDGE_TOWN_GYM_1F",
+ "dest_warp_id": 19
+ },
+ {
+ "x": 6,
+ "y": 2,
+ "elevation": 3,
+ "dest_map": "MAP_LAVARIDGE_TOWN_GYM_1F",
+ "dest_warp_id": 20
+ },
+ {
+ "x": 10,
+ "y": 6,
+ "elevation": 3,
+ "dest_map": "MAP_LAVARIDGE_TOWN_GYM_1F",
+ "dest_warp_id": 21
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/LavaridgeTown_HerbShop/events.inc b/data/maps/LavaridgeTown_HerbShop/events.inc
deleted file mode 100644
index 30aa9a965..000000000
--- a/data/maps/LavaridgeTown_HerbShop/events.inc
+++ /dev/null
@@ -1,11 +0,0 @@
-LavaridgeTown_HerbShop_EventObjects:: @ 83861F0
- object_event 1, EVENT_OBJ_GFX_WOMAN_3, 0, 3, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, LavaridgeTown_HerbShop_EventScript_153629, 0
- object_event 2, EVENT_OBJ_GFX_OLD_MAN_2, 0, 7, 5, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, LavaridgeTown_HerbShop_EventScript_153655, 0
- object_event 3, EVENT_OBJ_GFX_OLD_MAN_1, 0, 9, 3, 3, MOVEMENT_TYPE_WANDER_LEFT_AND_RIGHT, 1, 1, 0, 0, LavaridgeTown_HerbShop_EventScript_15364C, 0
-
-LavaridgeTown_HerbShop_MapWarps:: @ 8386238
- warp_def 3, 7, 0, 0, MAP_LAVARIDGE_TOWN
- warp_def 4, 7, 0, 0, MAP_LAVARIDGE_TOWN
-
-LavaridgeTown_HerbShop_MapEvents:: @ 8386248
- map_events LavaridgeTown_HerbShop_EventObjects, LavaridgeTown_HerbShop_MapWarps, 0x0, 0x0
diff --git a/data/maps/LavaridgeTown_HerbShop/header.inc b/data/maps/LavaridgeTown_HerbShop/header.inc
deleted file mode 100644
index a65cc4358..000000000
--- a/data/maps/LavaridgeTown_HerbShop/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-LavaridgeTown_HerbShop:: @ 8305BF0
- .4byte LavaridgeTown_HerbShop_Layout
- .4byte LavaridgeTown_HerbShop_MapEvents
- .4byte LavaridgeTown_HerbShop_MapScripts
- .4byte 0x0
- .2byte MUS_MACHI_S4
- .2byte 68
- .byte MAPSEC_LAVARIDGE_TOWN
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/LavaridgeTown_HerbShop/map.json b/data/maps/LavaridgeTown_HerbShop/map.json
new file mode 100644
index 000000000..041a08509
--- /dev/null
+++ b/data/maps/LavaridgeTown_HerbShop/map.json
@@ -0,0 +1,72 @@
+{
+ "id": "MAP_LAVARIDGE_TOWN_HERB_SHOP",
+ "name": "LavaridgeTown_HerbShop",
+ "layout": "LAYOUT_LAVARIDGE_TOWN_HERB_SHOP",
+ "music": "MUS_MACHI_S4",
+ "region_map_section": "MAPSEC_LAVARIDGE_TOWN",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_3",
+ "x": 3,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LavaridgeTown_HerbShop_EventScript_153629",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_OLD_MAN_2",
+ "x": 7,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LavaridgeTown_HerbShop_EventScript_153655",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_OLD_MAN_1",
+ "x": 9,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_LEFT_AND_RIGHT",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LavaridgeTown_HerbShop_EventScript_15364C",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 3,
+ "y": 7,
+ "elevation": 0,
+ "dest_map": "MAP_LAVARIDGE_TOWN",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 4,
+ "y": 7,
+ "elevation": 0,
+ "dest_map": "MAP_LAVARIDGE_TOWN",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/LavaridgeTown_House/events.inc b/data/maps/LavaridgeTown_House/events.inc
deleted file mode 100644
index d3d4fe6ac..000000000
--- a/data/maps/LavaridgeTown_House/events.inc
+++ /dev/null
@@ -1,10 +0,0 @@
-LavaridgeTown_House_EventObjects:: @ 8386494
- object_event 1, EVENT_OBJ_GFX_OLD_MAN_2, 0, 2, 3, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, LavaridgeTown_House_EventScript_1538AE, 0
- object_event 2, EVENT_OBJ_GFX_ZIGZAGOON, 0, 6, 6, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, LavaridgeTown_House_EventScript_1538B7, 0
-
-LavaridgeTown_House_MapWarps:: @ 83864C4
- warp_def 3, 7, 0, 4, MAP_LAVARIDGE_TOWN
- warp_def 4, 7, 0, 4, MAP_LAVARIDGE_TOWN
-
-LavaridgeTown_House_MapEvents:: @ 83864D4
- map_events LavaridgeTown_House_EventObjects, LavaridgeTown_House_MapWarps, 0x0, 0x0
diff --git a/data/maps/LavaridgeTown_House/header.inc b/data/maps/LavaridgeTown_House/header.inc
deleted file mode 100644
index 15dd76303..000000000
--- a/data/maps/LavaridgeTown_House/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-LavaridgeTown_House:: @ 8305C44
- .4byte House3_Layout
- .4byte LavaridgeTown_House_MapEvents
- .4byte LavaridgeTown_House_MapScripts
- .4byte 0x0
- .2byte MUS_MACHI_S4
- .2byte 64
- .byte MAPSEC_LAVARIDGE_TOWN
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/LavaridgeTown_House/map.json b/data/maps/LavaridgeTown_House/map.json
new file mode 100644
index 000000000..30a9e1505
--- /dev/null
+++ b/data/maps/LavaridgeTown_House/map.json
@@ -0,0 +1,59 @@
+{
+ "id": "MAP_LAVARIDGE_TOWN_HOUSE",
+ "name": "LavaridgeTown_House",
+ "layout": "LAYOUT_HOUSE3",
+ "music": "MUS_MACHI_S4",
+ "region_map_section": "MAPSEC_LAVARIDGE_TOWN",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_OLD_MAN_2",
+ "x": 2,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LavaridgeTown_House_EventScript_1538AE",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ZIGZAGOON",
+ "x": 6,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LavaridgeTown_House_EventScript_1538B7",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 3,
+ "y": 7,
+ "elevation": 0,
+ "dest_map": "MAP_LAVARIDGE_TOWN",
+ "dest_warp_id": 4
+ },
+ {
+ "x": 4,
+ "y": 7,
+ "elevation": 0,
+ "dest_map": "MAP_LAVARIDGE_TOWN",
+ "dest_warp_id": 4
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/LavaridgeTown_Mart/events.inc b/data/maps/LavaridgeTown_Mart/events.inc
deleted file mode 100644
index e0ea1e4a9..000000000
--- a/data/maps/LavaridgeTown_Mart/events.inc
+++ /dev/null
@@ -1,11 +0,0 @@
-LavaridgeTown_Mart_EventObjects:: @ 83864E8
- object_event 1, EVENT_OBJ_GFX_MART_EMPLOYEE, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, LavaridgeTown_Mart_EventScript_1538CB, 0
- object_event 2, EVENT_OBJ_GFX_OLD_MAN_1, 0, 4, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, LavaridgeTown_Mart_EventScript_1538FA, 0
- object_event 3, EVENT_OBJ_GFX_OLD_WOMAN_2, 0, 9, 5, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, LavaridgeTown_Mart_EventScript_153903, 0
-
-LavaridgeTown_Mart_MapWarps:: @ 8386530
- warp_def 3, 7, 0, 2, MAP_LAVARIDGE_TOWN
- warp_def 4, 7, 0, 2, MAP_LAVARIDGE_TOWN
-
-LavaridgeTown_Mart_MapEvents:: @ 8386540
- map_events LavaridgeTown_Mart_EventObjects, LavaridgeTown_Mart_MapWarps, 0x0, 0x0
diff --git a/data/maps/LavaridgeTown_Mart/header.inc b/data/maps/LavaridgeTown_Mart/header.inc
deleted file mode 100644
index fa7d4c92a..000000000
--- a/data/maps/LavaridgeTown_Mart/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-LavaridgeTown_Mart:: @ 8305C60
- .4byte PokeMart_Layout
- .4byte LavaridgeTown_Mart_MapEvents
- .4byte LavaridgeTown_Mart_MapScripts
- .4byte 0x0
- .2byte MUS_FRIENDLY
- .2byte 63
- .byte MAPSEC_LAVARIDGE_TOWN
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/LavaridgeTown_Mart/map.json b/data/maps/LavaridgeTown_Mart/map.json
new file mode 100644
index 000000000..cd194d233
--- /dev/null
+++ b/data/maps/LavaridgeTown_Mart/map.json
@@ -0,0 +1,72 @@
+{
+ "id": "MAP_LAVARIDGE_TOWN_MART",
+ "name": "LavaridgeTown_Mart",
+ "layout": "LAYOUT_POKE_MART",
+ "music": "MUS_FRIENDLY",
+ "region_map_section": "MAPSEC_LAVARIDGE_TOWN",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MART_EMPLOYEE",
+ "x": 1,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LavaridgeTown_Mart_EventScript_1538CB",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_OLD_MAN_1",
+ "x": 4,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LavaridgeTown_Mart_EventScript_1538FA",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_OLD_WOMAN_2",
+ "x": 9,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LavaridgeTown_Mart_EventScript_153903",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 3,
+ "y": 7,
+ "elevation": 0,
+ "dest_map": "MAP_LAVARIDGE_TOWN",
+ "dest_warp_id": 2
+ },
+ {
+ "x": 4,
+ "y": 7,
+ "elevation": 0,
+ "dest_map": "MAP_LAVARIDGE_TOWN",
+ "dest_warp_id": 2
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/LavaridgeTown_PokemonCenter_1F/events.inc b/data/maps/LavaridgeTown_PokemonCenter_1F/events.inc
deleted file mode 100644
index b76fc0b6b..000000000
--- a/data/maps/LavaridgeTown_PokemonCenter_1F/events.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-LavaridgeTown_PokemonCenter_1F_EventObjects:: @ 8386554
- object_event 1, EVENT_OBJ_GFX_NURSE, 0, 7, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, LavaridgeTown_PokemonCenter_1F_EventScript_15391B, 0
- object_event 2, EVENT_OBJ_GFX_YOUNGSTER, 0, 11, 8, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, LavaridgeTown_PokemonCenter_1F_EventScript_153929, 0
- object_event 3, EVENT_OBJ_GFX_WOMAN_4, 0, 10, 6, 0, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, LavaridgeTown_PokemonCenter_1F_EventScript_153932, 0
- object_event 4, EVENT_OBJ_GFX_GENTLEMAN, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, LavaridgeTown_PokemonCenter_1F_EventScript_15393B, 0
-
-LavaridgeTown_PokemonCenter_1F_MapWarps:: @ 83865B4
- warp_def 7, 8, 3, 3, MAP_LAVARIDGE_TOWN
- warp_def 6, 8, 3, 3, MAP_LAVARIDGE_TOWN
- warp_def 1, 6, 4, 0, MAP_LAVARIDGE_TOWN_POKEMON_CENTER_2F
- warp_def 2, 1, 0, 5, MAP_LAVARIDGE_TOWN
-
-LavaridgeTown_PokemonCenter_1F_MapEvents:: @ 83865D4
- map_events LavaridgeTown_PokemonCenter_1F_EventObjects, LavaridgeTown_PokemonCenter_1F_MapWarps, 0x0, 0x0
diff --git a/data/maps/LavaridgeTown_PokemonCenter_1F/header.inc b/data/maps/LavaridgeTown_PokemonCenter_1F/header.inc
deleted file mode 100644
index 921a7d90a..000000000
--- a/data/maps/LavaridgeTown_PokemonCenter_1F/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-LavaridgeTown_PokemonCenter_1F:: @ 8305C7C
- .4byte LavaridgeTown_PokemonCenter_1F_Layout
- .4byte LavaridgeTown_PokemonCenter_1F_MapEvents
- .4byte LavaridgeTown_PokemonCenter_1F_MapScripts
- .4byte 0x0
- .2byte MUS_POKECEN
- .2byte 71
- .byte MAPSEC_LAVARIDGE_TOWN
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/LavaridgeTown_PokemonCenter_1F/map.json b/data/maps/LavaridgeTown_PokemonCenter_1F/map.json
new file mode 100644
index 000000000..c6257850c
--- /dev/null
+++ b/data/maps/LavaridgeTown_PokemonCenter_1F/map.json
@@ -0,0 +1,99 @@
+{
+ "id": "MAP_LAVARIDGE_TOWN_POKEMON_CENTER_1F",
+ "name": "LavaridgeTown_PokemonCenter_1F",
+ "layout": "LAYOUT_LAVARIDGE_TOWN_POKEMON_CENTER_1F",
+ "music": "MUS_POKECEN",
+ "region_map_section": "MAPSEC_LAVARIDGE_TOWN",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_NURSE",
+ "x": 7,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LavaridgeTown_PokemonCenter_1F_EventScript_15391B",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_YOUNGSTER",
+ "x": 11,
+ "y": 8,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LavaridgeTown_PokemonCenter_1F_EventScript_153929",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_4",
+ "x": 10,
+ "y": 6,
+ "elevation": 0,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LavaridgeTown_PokemonCenter_1F_EventScript_153932",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_GENTLEMAN",
+ "x": 1,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LavaridgeTown_PokemonCenter_1F_EventScript_15393B",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 7,
+ "y": 8,
+ "elevation": 3,
+ "dest_map": "MAP_LAVARIDGE_TOWN",
+ "dest_warp_id": 3
+ },
+ {
+ "x": 6,
+ "y": 8,
+ "elevation": 3,
+ "dest_map": "MAP_LAVARIDGE_TOWN",
+ "dest_warp_id": 3
+ },
+ {
+ "x": 1,
+ "y": 6,
+ "elevation": 4,
+ "dest_map": "MAP_LAVARIDGE_TOWN_POKEMON_CENTER_2F",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 2,
+ "y": 1,
+ "elevation": 0,
+ "dest_map": "MAP_LAVARIDGE_TOWN",
+ "dest_warp_id": 5
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/LavaridgeTown_PokemonCenter_2F/events.inc b/data/maps/LavaridgeTown_PokemonCenter_2F/events.inc
deleted file mode 100644
index 2c1d4678a..000000000
--- a/data/maps/LavaridgeTown_PokemonCenter_2F/events.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-LavaridgeTown_PokemonCenter_2F_EventObjects:: @ 83865E8
- object_event 1, EVENT_OBJ_GFX_TEALA, 0, 10, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, LavaridgeTown_PokemonCenter_2F_EventScript_153960, 0
- object_event 2, EVENT_OBJ_GFX_TEALA, 0, 4, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, LavaridgeTown_PokemonCenter_2F_EventScript_153954, 0
- object_event 3, EVENT_OBJ_GFX_TEALA, 0, 7, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, LavaridgeTown_PokemonCenter_2F_EventScript_15395A, 0
-
-LavaridgeTown_PokemonCenter_2F_MapWarps:: @ 8386630
- warp_def 1, 5, 4, 2, MAP_LAVARIDGE_TOWN_POKEMON_CENTER_1F
- warp_def 5, 1, 0, 0, MAP_SINGLE_BATTLE_COLOSSEUM
- warp_def 8, 1, 0, 0, MAP_TRADE_CENTER
- warp_def 11, 1, 0, 0, MAP_RECORD_CORNER
- warp_def 0, 0, 0, 0, MAP_DOUBLE_BATTLE_COLOSSEUM
-
-LavaridgeTown_PokemonCenter_2F_MapEvents:: @ 8386658
- map_events LavaridgeTown_PokemonCenter_2F_EventObjects, LavaridgeTown_PokemonCenter_2F_MapWarps, 0x0, 0x0
diff --git a/data/maps/LavaridgeTown_PokemonCenter_2F/header.inc b/data/maps/LavaridgeTown_PokemonCenter_2F/header.inc
deleted file mode 100644
index 34bfd1a08..000000000
--- a/data/maps/LavaridgeTown_PokemonCenter_2F/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-LavaridgeTown_PokemonCenter_2F:: @ 8305C98
- .4byte PokemonCenter_2F_Layout
- .4byte LavaridgeTown_PokemonCenter_2F_MapEvents
- .4byte LavaridgeTown_PokemonCenter_2F_MapScripts
- .4byte 0x0
- .2byte MUS_POKECEN
- .2byte 62
- .byte MAPSEC_LAVARIDGE_TOWN
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/LavaridgeTown_PokemonCenter_2F/map.json b/data/maps/LavaridgeTown_PokemonCenter_2F/map.json
new file mode 100644
index 000000000..6e32a6da9
--- /dev/null
+++ b/data/maps/LavaridgeTown_PokemonCenter_2F/map.json
@@ -0,0 +1,93 @@
+{
+ "id": "MAP_LAVARIDGE_TOWN_POKEMON_CENTER_2F",
+ "name": "LavaridgeTown_PokemonCenter_2F",
+ "layout": "LAYOUT_POKEMON_CENTER_2F",
+ "music": "MUS_POKECEN",
+ "region_map_section": "MAPSEC_LAVARIDGE_TOWN",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_TEALA",
+ "x": 10,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LavaridgeTown_PokemonCenter_2F_EventScript_153960",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_TEALA",
+ "x": 4,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LavaridgeTown_PokemonCenter_2F_EventScript_153954",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_TEALA",
+ "x": 7,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LavaridgeTown_PokemonCenter_2F_EventScript_15395A",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 1,
+ "y": 5,
+ "elevation": 4,
+ "dest_map": "MAP_LAVARIDGE_TOWN_POKEMON_CENTER_1F",
+ "dest_warp_id": 2
+ },
+ {
+ "x": 5,
+ "y": 1,
+ "elevation": 0,
+ "dest_map": "MAP_SINGLE_BATTLE_COLOSSEUM",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 8,
+ "y": 1,
+ "elevation": 0,
+ "dest_map": "MAP_TRADE_CENTER",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 11,
+ "y": 1,
+ "elevation": 0,
+ "dest_map": "MAP_RECORD_CORNER",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 0,
+ "y": 0,
+ "elevation": 0,
+ "dest_map": "MAP_DOUBLE_BATTLE_COLOSSEUM",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/LilycoveCity/connections.inc b/data/maps/LilycoveCity/connections.inc
deleted file mode 100644
index 4181dbc05..000000000
--- a/data/maps/LilycoveCity/connections.inc
+++ /dev/null
@@ -1,7 +0,0 @@
-LilycoveCity_MapConnectionsList:: @ 83087B4
- connection left, 10, MAP_ROUTE121
- connection right, -10, MAP_ROUTE124
-
-LilycoveCity_MapConnections:: @ 83087CC
- .4byte 0x2
- .4byte LilycoveCity_MapConnectionsList
diff --git a/data/maps/LilycoveCity/events.inc b/data/maps/LilycoveCity/events.inc
deleted file mode 100644
index fe3bd0516..000000000
--- a/data/maps/LilycoveCity/events.inc
+++ /dev/null
@@ -1,53 +0,0 @@
-LilycoveCity_EventObjects:: @ 838016C
- object_event 1, EVENT_OBJ_GFX_SAILOR, 0, 32, 20, 3, MOVEMENT_TYPE_WANDER_UP_AND_DOWN, 0, 1, 0, 0, LilycoveCity_EventScript_14CBEF, 0
- object_event 2, EVENT_OBJ_GFX_GIRL_1, 0, 15, 18, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, LilycoveCity_EventScript_14CBC7, 0
- object_event 3, EVENT_OBJ_GFX_MAN_1, 0, 28, 28, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, LilycoveCity_EventScript_14CBBE, 0
- object_event 4, EVENT_OBJ_GFX_BOY_4, 0, 21, 15, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, LilycoveCity_EventScript_14CBE6, 0
- object_event 5, EVENT_OBJ_GFX_MAN_2, 0, 16, 9, 5, MOVEMENT_TYPE_WANDER_LEFT_AND_RIGHT, 1, 0, 0, 0, LilycoveCity_EventScript_14CC2D, 0
- object_event 6, EVENT_OBJ_GFX_WOMAN_3, 0, 35, 27, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, LilycoveCity_EventScript_14CC0E, 0
- object_event 7, EVENT_OBJ_GFX_OLD_MAN_1, 0, 35, 37, 5, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, LilycoveCity_EventScript_14CC36, 0
- object_event 8, EVENT_OBJ_GFX_OLD_WOMAN_1, 0, 34, 37, 5, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, LilycoveCity_EventScript_14CC3F, 0
- object_event 9, EVENT_OBJ_GFX_OLD_MAN_1, 0, 57, 17, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, LilycoveCity_EventScript_14CC48, 0
- object_event 10, EVENT_OBJ_GFX_VAR_1, 0, 73, 15, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, LilycoveCity_EventScript_14CCE5, FLAG_HIDE_GRUNTS_LILYCOVE
- object_event 11, EVENT_OBJ_GFX_ITEM_BALL, 0, 61, 36, 5, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, LilycoveCity_EventScript_1B1738, FLAG_ITEM_LILYCOVE_1
- object_event 12, EVENT_OBJ_GFX_VAR_1, 0, 43, 18, 3, MOVEMENT_TYPE_WANDER_LEFT_AND_RIGHT, 1, 0, 0, 0, LilycoveCity_EventScript_14CD3D, FLAG_HIDE_GRUNTS_LILYCOVE
- object_event 13, EVENT_OBJ_GFX_VAR_1, 0, 46, 12, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, LilycoveCity_EventScript_14CD22, FLAG_HIDE_GRUNTS_LILYCOVE
- object_event 14, EVENT_OBJ_GFX_VAR_1, 0, 45, 12, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, LilycoveCity_EventScript_14CD2B, FLAG_HIDE_GRUNTS_LILYCOVE
- object_event 15, EVENT_OBJ_GFX_VAR_1, 0, 38, 9, 5, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, LilycoveCity_EventScript_14CD34, FLAG_HIDE_GRUNTS_LILYCOVE
- object_event 16, EVENT_OBJ_GFX_GENTLEMAN, 0, 50, 7, 5, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, LilycoveCity_EventScript_14CB74, 0
- object_event 17, EVENT_OBJ_GFX_VAR_0, 0, 27, 7, 5, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, LilycoveCity_EventScript_14CD46, FLAG_HIDE_RIVAL_LILYCOVE_MART
-
-LilycoveCity_MapWarps:: @ 8380304
- warp_def 27, 6, 0, 0, MAP_LILYCOVE_CITY_DEPARTMENT_STORE_1F
- warp_def 37, 24, 0, 0, MAP_LILYCOVE_CITY_COVE_LILY_MOTEL_1F
- warp_def 24, 14, 0, 0, MAP_LILYCOVE_CITY_POKEMON_CENTER_1F
- warp_def 11, 5, 0, 0, MAP_LILYCOVE_CITY_LILYCOVE_MUSEUM_1F
- warp_def 23, 24, 0, 0, MAP_LILYCOVE_CITY_CONTEST_LOBBY
- warp_def 39, 14, 0, 1, MAP_LILYCOVE_CITY_POKEMON_TRAINER_FAN_CLUB
- warp_def 70, 5, 1, 0, MAP_AQUA_HIDEOUT_1F
- warp_def 36, 6, 0, 0, MAP_LILYCOVE_CITY_MOVE_DELETERS_HOUSE
- warp_def 42, 6, 0, 0, MAP_LILYCOVE_CITY_HOUSE1
- warp_def 55, 15, 0, 0, MAP_LILYCOVE_CITY_HOUSE2
- warp_def 11, 22, 0, 0, MAP_LILYCOVE_CITY_HOUSE3
- warp_def 12, 14, 0, 0, MAP_LILYCOVE_CITY_HOUSE4
- warp_def 12, 32, 0, 0, MAP_LILYCOVE_CITY_HARBOR
- warp_def 12, 5, 0, 1, MAP_LILYCOVE_CITY_LILYCOVE_MUSEUM_1F
- warp_def 71, 5, 1, 0, MAP_MAGMA_HIDEOUT_1F
-
-LilycoveCity_MapBGEvents:: @ 838037C
- bg_event 19, 7, 0, BG_EVENT_PLAYER_FACING_ANY, LilycoveCity_EventScript_14CC82
- bg_event 25, 14, 0, BG_EVENT_PLAYER_FACING_NORTH, LilycoveCity_EventScript_1A00EA
- bg_event 29, 7, 0, BG_EVENT_PLAYER_FACING_ANY, LilycoveCity_EventScript_14CCD3
- bg_event 26, 14, 0, BG_EVENT_PLAYER_FACING_NORTH, LilycoveCity_EventScript_1A00EA
- bg_event 6, 15, 0, BG_EVENT_PLAYER_FACING_ANY, LilycoveCity_EventScript_14CC67
- bg_event 29, 24, 0, BG_EVENT_PLAYER_FACING_ANY, LilycoveCity_EventScript_14CC70
- bg_event 35, 24, 0, BG_EVENT_PLAYER_FACING_ANY, LilycoveCity_EventScript_14CC79
- bg_event 6, 30, 3, BG_EVENT_PLAYER_FACING_ANY, LilycoveCity_EventScript_14CCAC
- bg_event 36, 14, 0, BG_EVENT_PLAYER_FACING_ANY, LilycoveCity_EventScript_14CCCA
- bg_event 34, 6, 0, BG_EVENT_PLAYER_FACING_ANY, LilycoveCity_EventScript_14CCDC
- bg_hidden_item_event 36, 31, 3, ITEM_HEART_SCALE, FLAG_HIDDEN_ITEM_1B
- bg_hidden_item_event 61, 7, 0, ITEM_PP_UP, FLAG_HIDDEN_ITEM_2B
- bg_hidden_item_event 64, 31, 0, ITEM_POKE_BALL, FLAG_HIDDEN_ITEM_4B
-
-LilycoveCity_MapEvents:: @ 8380418
- map_events LilycoveCity_EventObjects, LilycoveCity_MapWarps, 0x0, LilycoveCity_MapBGEvents
diff --git a/data/maps/LilycoveCity/header.inc b/data/maps/LilycoveCity/header.inc
deleted file mode 100644
index 3eca23cdf..000000000
--- a/data/maps/LilycoveCity/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-LilycoveCity:: @ 83054D4
- .4byte LilycoveCity_Layout
- .4byte LilycoveCity_MapEvents
- .4byte LilycoveCity_MapScripts
- .4byte LilycoveCity_MapConnections
- .2byte MUS_MINAMO
- .2byte 6
- .byte MAPSEC_LILYCOVE_CITY
- .byte 0
- .byte WEATHER_SUNNY
- .byte MAP_TYPE_CITY
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/LilycoveCity/map.json b/data/maps/LilycoveCity/map.json
new file mode 100644
index 000000000..8e40cf42a
--- /dev/null
+++ b/data/maps/LilycoveCity/map.json
@@ -0,0 +1,461 @@
+{
+ "id": "MAP_LILYCOVE_CITY",
+ "name": "LilycoveCity",
+ "layout": "LAYOUT_LILYCOVE_CITY",
+ "music": "MUS_MINAMO",
+ "region_map_section": "MAPSEC_LILYCOVE_CITY",
+ "requires_flash": false,
+ "weather": "WEATHER_SUNNY",
+ "map_type": "MAP_TYPE_CITY",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": [
+ {
+ "direction": "left",
+ "offset": 10,
+ "map": "MAP_ROUTE121"
+ },
+ {
+ "direction": "right",
+ "offset": -10,
+ "map": "MAP_ROUTE124"
+ }
+ ],
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_SAILOR",
+ "x": 32,
+ "y": 20,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_UP_AND_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LilycoveCity_EventScript_14CBEF",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_GIRL_1",
+ "x": 15,
+ "y": 18,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LilycoveCity_EventScript_14CBC7",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_1",
+ "x": 28,
+ "y": 28,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LilycoveCity_EventScript_14CBBE",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BOY_4",
+ "x": 21,
+ "y": 15,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LilycoveCity_EventScript_14CBE6",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_2",
+ "x": 16,
+ "y": 9,
+ "elevation": 5,
+ "movement_type": "MOVEMENT_TYPE_WANDER_LEFT_AND_RIGHT",
+ "movement_range_x": 1,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LilycoveCity_EventScript_14CC2D",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_3",
+ "x": 35,
+ "y": 27,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LilycoveCity_EventScript_14CC0E",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_OLD_MAN_1",
+ "x": 35,
+ "y": 37,
+ "elevation": 5,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LilycoveCity_EventScript_14CC36",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_OLD_WOMAN_1",
+ "x": 34,
+ "y": 37,
+ "elevation": 5,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LilycoveCity_EventScript_14CC3F",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_OLD_MAN_1",
+ "x": 57,
+ "y": 17,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LilycoveCity_EventScript_14CC48",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_1",
+ "x": 73,
+ "y": 15,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LilycoveCity_EventScript_14CCE5",
+ "flag": "FLAG_HIDE_GRUNTS_LILYCOVE"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ITEM_BALL",
+ "x": 61,
+ "y": 36,
+ "elevation": 5,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LilycoveCity_EventScript_1B1738",
+ "flag": "FLAG_ITEM_LILYCOVE_1"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_1",
+ "x": 43,
+ "y": 18,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_LEFT_AND_RIGHT",
+ "movement_range_x": 1,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LilycoveCity_EventScript_14CD3D",
+ "flag": "FLAG_HIDE_GRUNTS_LILYCOVE"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_1",
+ "x": 46,
+ "y": 12,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LilycoveCity_EventScript_14CD22",
+ "flag": "FLAG_HIDE_GRUNTS_LILYCOVE"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_1",
+ "x": 45,
+ "y": 12,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LilycoveCity_EventScript_14CD2B",
+ "flag": "FLAG_HIDE_GRUNTS_LILYCOVE"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_1",
+ "x": 38,
+ "y": 9,
+ "elevation": 5,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LilycoveCity_EventScript_14CD34",
+ "flag": "FLAG_HIDE_GRUNTS_LILYCOVE"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_GENTLEMAN",
+ "x": 50,
+ "y": 7,
+ "elevation": 5,
+ "movement_type": "MOVEMENT_TYPE_WANDER_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LilycoveCity_EventScript_14CB74",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_0",
+ "x": 27,
+ "y": 7,
+ "elevation": 5,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LilycoveCity_EventScript_14CD46",
+ "flag": "FLAG_HIDE_RIVAL_LILYCOVE_MART"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 27,
+ "y": 6,
+ "elevation": 0,
+ "dest_map": "MAP_LILYCOVE_CITY_DEPARTMENT_STORE_1F",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 37,
+ "y": 24,
+ "elevation": 0,
+ "dest_map": "MAP_LILYCOVE_CITY_COVE_LILY_MOTEL_1F",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 24,
+ "y": 14,
+ "elevation": 0,
+ "dest_map": "MAP_LILYCOVE_CITY_POKEMON_CENTER_1F",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 11,
+ "y": 5,
+ "elevation": 0,
+ "dest_map": "MAP_LILYCOVE_CITY_LILYCOVE_MUSEUM_1F",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 23,
+ "y": 24,
+ "elevation": 0,
+ "dest_map": "MAP_LILYCOVE_CITY_CONTEST_LOBBY",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 39,
+ "y": 14,
+ "elevation": 0,
+ "dest_map": "MAP_LILYCOVE_CITY_POKEMON_TRAINER_FAN_CLUB",
+ "dest_warp_id": 1
+ },
+ {
+ "x": 70,
+ "y": 5,
+ "elevation": 1,
+ "dest_map": "MAP_AQUA_HIDEOUT_1F",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 36,
+ "y": 6,
+ "elevation": 0,
+ "dest_map": "MAP_LILYCOVE_CITY_MOVE_DELETERS_HOUSE",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 42,
+ "y": 6,
+ "elevation": 0,
+ "dest_map": "MAP_LILYCOVE_CITY_HOUSE1",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 55,
+ "y": 15,
+ "elevation": 0,
+ "dest_map": "MAP_LILYCOVE_CITY_HOUSE2",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 11,
+ "y": 22,
+ "elevation": 0,
+ "dest_map": "MAP_LILYCOVE_CITY_HOUSE3",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 12,
+ "y": 14,
+ "elevation": 0,
+ "dest_map": "MAP_LILYCOVE_CITY_HOUSE4",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 12,
+ "y": 32,
+ "elevation": 0,
+ "dest_map": "MAP_LILYCOVE_CITY_HARBOR",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 12,
+ "y": 5,
+ "elevation": 0,
+ "dest_map": "MAP_LILYCOVE_CITY_LILYCOVE_MUSEUM_1F",
+ "dest_warp_id": 1
+ },
+ {
+ "x": 71,
+ "y": 5,
+ "elevation": 1,
+ "dest_map": "MAP_MAGMA_HIDEOUT_1F",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [],
+ "bg_events": [
+ {
+ "type": "sign",
+ "x": 19,
+ "y": 7,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "LilycoveCity_EventScript_14CC82"
+ },
+ {
+ "type": "sign",
+ "x": 25,
+ "y": 14,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH",
+ "script": "LilycoveCity_EventScript_1A00EA"
+ },
+ {
+ "type": "sign",
+ "x": 29,
+ "y": 7,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "LilycoveCity_EventScript_14CCD3"
+ },
+ {
+ "type": "sign",
+ "x": 26,
+ "y": 14,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH",
+ "script": "LilycoveCity_EventScript_1A00EA"
+ },
+ {
+ "type": "sign",
+ "x": 6,
+ "y": 15,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "LilycoveCity_EventScript_14CC67"
+ },
+ {
+ "type": "sign",
+ "x": 29,
+ "y": 24,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "LilycoveCity_EventScript_14CC70"
+ },
+ {
+ "type": "sign",
+ "x": 35,
+ "y": 24,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "LilycoveCity_EventScript_14CC79"
+ },
+ {
+ "type": "sign",
+ "x": 6,
+ "y": 30,
+ "elevation": 3,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "LilycoveCity_EventScript_14CCAC"
+ },
+ {
+ "type": "sign",
+ "x": 36,
+ "y": 14,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "LilycoveCity_EventScript_14CCCA"
+ },
+ {
+ "type": "sign",
+ "x": 34,
+ "y": 6,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "LilycoveCity_EventScript_14CCDC"
+ },
+ {
+ "type": "hidden_item",
+ "x": 36,
+ "y": 31,
+ "elevation": 3,
+ "item": "ITEM_HEART_SCALE",
+ "flag": "FLAG_HIDDEN_ITEM_1B"
+ },
+ {
+ "type": "hidden_item",
+ "x": 61,
+ "y": 7,
+ "elevation": 0,
+ "item": "ITEM_PP_UP",
+ "flag": "FLAG_HIDDEN_ITEM_2B"
+ },
+ {
+ "type": "hidden_item",
+ "x": 64,
+ "y": 31,
+ "elevation": 0,
+ "item": "ITEM_POKE_BALL",
+ "flag": "FLAG_HIDDEN_ITEM_4B"
+ }
+ ]
+} \ No newline at end of file
diff --git a/data/maps/LilycoveCity_ContestHall/events.inc b/data/maps/LilycoveCity_ContestHall/events.inc
deleted file mode 100644
index a7c58d274..000000000
--- a/data/maps/LilycoveCity_ContestHall/events.inc
+++ /dev/null
@@ -1,50 +0,0 @@
-LilycoveCity_ContestHall_EventObjects:: @ 8389A18
- object_event 1, EVENT_OBJ_GFX_BOY_1, 0, 30, 30, 3, MOVEMENT_TYPE_WANDER_AROUND, 4, 4, 0, 0, LilycoveCity_ContestHall_EventScript_15909B, 0
- object_event 2, EVENT_OBJ_GFX_BOY_3, 0, 11, 7, 3, MOVEMENT_TYPE_WANDER_AROUND, 3, 3, 0, 0, LilycoveCity_ContestHall_EventScript_1590A4, 0
- object_event 3, EVENT_OBJ_GFX_GIRL_3, 0, 40, 8, 3, MOVEMENT_TYPE_WANDER_AROUND, 2, 2, 0, 0, LilycoveCity_ContestHall_EventScript_1590AD, 0
- object_event 4, EVENT_OBJ_GFX_WOMAN_4, 0, 12, 22, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, LilycoveCity_ContestHall_EventScript_1590BF, 0
- object_event 5, EVENT_OBJ_GFX_CONTEST_JUDGE, 0, 15, 22, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, LilycoveCity_ContestHall_EventScript_1590D4, 0
- object_event 6, EVENT_OBJ_GFX_BLACK_BELT, 0, 10, 25, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, LilycoveCity_ContestHall_EventScript_1590E9, 0
- object_event 7, EVENT_OBJ_GFX_OLD_MAN_1, 0, 12, 25, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, LilycoveCity_ContestHall_EventScript_1590FE, 0
- object_event 8, EVENT_OBJ_GFX_MANIAC, 0, 14, 25, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, LilycoveCity_ContestHall_EventScript_159113, 0
- object_event 9, EVENT_OBJ_GFX_WOMAN_6, 0, 16, 25, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, LilycoveCity_ContestHall_EventScript_159128, 0
- object_event 10, EVENT_OBJ_GFX_OLD_WOMAN_1, 0, 8, 24, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, LilycoveCity_ContestHall_EventScript_15913D, 0
- object_event 11, EVENT_OBJ_GFX_WOMAN_7, 0, 18, 24, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, LilycoveCity_ContestHall_EventScript_159170, 0
- object_event 12, EVENT_OBJ_GFX_BOY_1, 0, 8, 22, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, LilycoveCity_ContestHall_EventScript_159146, 0
- object_event 13, EVENT_OBJ_GFX_WOMAN_4, 0, 24, 10, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, LilycoveCity_ContestHall_EventScript_159185, 0
- object_event 14, EVENT_OBJ_GFX_CONTEST_JUDGE, 0, 27, 10, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, LilycoveCity_ContestHall_EventScript_15919A, 0
- object_event 15, EVENT_OBJ_GFX_WOMAN_5, 0, 22, 13, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, LilycoveCity_ContestHall_EventScript_1591AF, 0
- object_event 16, EVENT_OBJ_GFX_LITTLE_GIRL_1, 0, 24, 13, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, LilycoveCity_ContestHall_EventScript_1591C4, 0
- object_event 17, EVENT_OBJ_GFX_PSYCHIC_M, 0, 26, 13, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, LilycoveCity_ContestHall_EventScript_1591D9, 0
- object_event 18, EVENT_OBJ_GFX_WOMAN_2, 0, 28, 13, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, LilycoveCity_ContestHall_EventScript_1591EE, 0
- object_event 19, EVENT_OBJ_GFX_WOMAN_3, 0, 20, 10, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, LilycoveCity_ContestHall_EventScript_159203, 0
- object_event 20, EVENT_OBJ_GFX_WOMAN_1, 0, 30, 11, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, LilycoveCity_ContestHall_EventScript_15922D, 0
- object_event 21, EVENT_OBJ_GFX_MAN_1, 0, 26, 8, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, LilycoveCity_ContestHall_EventScript_159218, 0
- object_event 22, EVENT_OBJ_GFX_CAMPER, 0, 13, 20, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, LilycoveCity_ContestHall_EventScript_15915B, 0
- object_event 23, EVENT_OBJ_GFX_WOMAN_4, 0, 36, 22, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, LilycoveCity_ContestHall_EventScript_159242, 0
- object_event 24, EVENT_OBJ_GFX_CONTEST_JUDGE, 0, 39, 22, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, LilycoveCity_ContestHall_EventScript_159257, 0
- object_event 25, EVENT_OBJ_GFX_BOY_2, 0, 34, 25, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, LilycoveCity_ContestHall_EventScript_15926C, 0
- object_event 26, EVENT_OBJ_GFX_GIRL_2, 0, 36, 25, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, LilycoveCity_ContestHall_EventScript_159281, 0
- object_event 27, EVENT_OBJ_GFX_BOY_3, 0, 38, 25, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, LilycoveCity_ContestHall_EventScript_159296, 0
- object_event 28, EVENT_OBJ_GFX_OLD_WOMAN_1, 0, 40, 25, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, LilycoveCity_ContestHall_EventScript_1592AB, 0
- object_event 29, EVENT_OBJ_GFX_WOMAN_3, 0, 32, 23, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, LilycoveCity_ContestHall_EventScript_1592C0, 0
- object_event 30, EVENT_OBJ_GFX_MAN_1, 0, 37, 20, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, LilycoveCity_ContestHall_EventScript_1592F7, 0
- object_event 31, EVENT_OBJ_GFX_LITTLE_GIRL_2, 0, 42, 24, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, LilycoveCity_ContestHall_EventScript_1592E2, 0
- object_event 32, EVENT_OBJ_GFX_SAILOR, 0, 23, 26, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, LilycoveCity_ContestHall_EventScript_1590B6, 0
-
-LilycoveCity_ContestHall_MapWarps:: @ 8389D18
- warp_def 19, 32, 0, 2, MAP_LILYCOVE_CITY_CONTEST_LOBBY
- warp_def 30, 32, 0, 3, MAP_LILYCOVE_CITY_CONTEST_LOBBY
- warp_def 20, 32, 0, 2, MAP_LILYCOVE_CITY_CONTEST_LOBBY
- warp_def 31, 32, 0, 3, MAP_LILYCOVE_CITY_CONTEST_LOBBY
-
-LilycoveCity_ContestHall_MapBGEvents:: @ 8389D38
- bg_event 27, 16, 0, BG_EVENT_PLAYER_FACING_ANY, LilycoveCity_ContestHall_EventScript_15930C
- bg_event 39, 28, 0, BG_EVENT_PLAYER_FACING_ANY, LilycoveCity_ContestHall_EventScript_159315
- bg_event 11, 28, 0, BG_EVENT_PLAYER_FACING_ANY, LilycoveCity_ContestHall_EventScript_15931E
- bg_event 15, 28, 0, BG_EVENT_PLAYER_FACING_ANY, LilycoveCity_ContestHall_EventScript_15931E
- bg_event 23, 16, 0, BG_EVENT_PLAYER_FACING_ANY, LilycoveCity_ContestHall_EventScript_15930C
- bg_event 35, 28, 0, BG_EVENT_PLAYER_FACING_ANY, LilycoveCity_ContestHall_EventScript_159315
-
-LilycoveCity_ContestHall_MapEvents:: @ 8389D80
- map_events LilycoveCity_ContestHall_EventObjects, LilycoveCity_ContestHall_MapWarps, 0x0, LilycoveCity_ContestHall_MapBGEvents
diff --git a/data/maps/LilycoveCity_ContestHall/header.inc b/data/maps/LilycoveCity_ContestHall/header.inc
deleted file mode 100644
index ade66a18f..000000000
--- a/data/maps/LilycoveCity_ContestHall/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-LilycoveCity_ContestHall:: @ 83065AC
- .4byte LilycoveCity_ContestHall_Layout
- .4byte LilycoveCity_ContestHall_MapEvents
- .4byte LilycoveCity_ContestHall_MapScripts
- .4byte 0x0
- .2byte MUS_CONLOBBY
- .2byte 106
- .byte MAPSEC_LILYCOVE_CITY
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/LilycoveCity_ContestHall/map.json b/data/maps/LilycoveCity_ContestHall/map.json
new file mode 100644
index 000000000..31d149109
--- /dev/null
+++ b/data/maps/LilycoveCity_ContestHall/map.json
@@ -0,0 +1,512 @@
+{
+ "id": "MAP_LILYCOVE_CITY_CONTEST_HALL",
+ "name": "LilycoveCity_ContestHall",
+ "layout": "LAYOUT_LILYCOVE_CITY_CONTEST_HALL",
+ "music": "MUS_CONLOBBY",
+ "region_map_section": "MAPSEC_LILYCOVE_CITY",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BOY_1",
+ "x": 30,
+ "y": 30,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_AROUND",
+ "movement_range_x": 4,
+ "movement_range_y": 4,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LilycoveCity_ContestHall_EventScript_15909B",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BOY_3",
+ "x": 11,
+ "y": 7,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_AROUND",
+ "movement_range_x": 3,
+ "movement_range_y": 3,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LilycoveCity_ContestHall_EventScript_1590A4",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_GIRL_3",
+ "x": 40,
+ "y": 8,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_AROUND",
+ "movement_range_x": 2,
+ "movement_range_y": 2,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LilycoveCity_ContestHall_EventScript_1590AD",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_4",
+ "x": 12,
+ "y": 22,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LilycoveCity_ContestHall_EventScript_1590BF",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_CONTEST_JUDGE",
+ "x": 15,
+ "y": 22,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LilycoveCity_ContestHall_EventScript_1590D4",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BLACK_BELT",
+ "x": 10,
+ "y": 25,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LilycoveCity_ContestHall_EventScript_1590E9",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_OLD_MAN_1",
+ "x": 12,
+ "y": 25,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LilycoveCity_ContestHall_EventScript_1590FE",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MANIAC",
+ "x": 14,
+ "y": 25,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LilycoveCity_ContestHall_EventScript_159113",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_6",
+ "x": 16,
+ "y": 25,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LilycoveCity_ContestHall_EventScript_159128",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_OLD_WOMAN_1",
+ "x": 8,
+ "y": 24,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LilycoveCity_ContestHall_EventScript_15913D",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_7",
+ "x": 18,
+ "y": 24,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LilycoveCity_ContestHall_EventScript_159170",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BOY_1",
+ "x": 8,
+ "y": 22,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LilycoveCity_ContestHall_EventScript_159146",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_4",
+ "x": 24,
+ "y": 10,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LilycoveCity_ContestHall_EventScript_159185",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_CONTEST_JUDGE",
+ "x": 27,
+ "y": 10,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LilycoveCity_ContestHall_EventScript_15919A",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_5",
+ "x": 22,
+ "y": 13,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LilycoveCity_ContestHall_EventScript_1591AF",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_LITTLE_GIRL_1",
+ "x": 24,
+ "y": 13,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LilycoveCity_ContestHall_EventScript_1591C4",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_PSYCHIC_M",
+ "x": 26,
+ "y": 13,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LilycoveCity_ContestHall_EventScript_1591D9",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_2",
+ "x": 28,
+ "y": 13,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LilycoveCity_ContestHall_EventScript_1591EE",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_3",
+ "x": 20,
+ "y": 10,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LilycoveCity_ContestHall_EventScript_159203",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_1",
+ "x": 30,
+ "y": 11,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LilycoveCity_ContestHall_EventScript_15922D",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_1",
+ "x": 26,
+ "y": 8,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LilycoveCity_ContestHall_EventScript_159218",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_CAMPER",
+ "x": 13,
+ "y": 20,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LilycoveCity_ContestHall_EventScript_15915B",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_4",
+ "x": 36,
+ "y": 22,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LilycoveCity_ContestHall_EventScript_159242",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_CONTEST_JUDGE",
+ "x": 39,
+ "y": 22,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LilycoveCity_ContestHall_EventScript_159257",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BOY_2",
+ "x": 34,
+ "y": 25,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LilycoveCity_ContestHall_EventScript_15926C",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_GIRL_2",
+ "x": 36,
+ "y": 25,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LilycoveCity_ContestHall_EventScript_159281",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BOY_3",
+ "x": 38,
+ "y": 25,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LilycoveCity_ContestHall_EventScript_159296",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_OLD_WOMAN_1",
+ "x": 40,
+ "y": 25,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LilycoveCity_ContestHall_EventScript_1592AB",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_3",
+ "x": 32,
+ "y": 23,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LilycoveCity_ContestHall_EventScript_1592C0",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_1",
+ "x": 37,
+ "y": 20,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LilycoveCity_ContestHall_EventScript_1592F7",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_LITTLE_GIRL_2",
+ "x": 42,
+ "y": 24,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LilycoveCity_ContestHall_EventScript_1592E2",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_SAILOR",
+ "x": 23,
+ "y": 26,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LilycoveCity_ContestHall_EventScript_1590B6",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 19,
+ "y": 32,
+ "elevation": 0,
+ "dest_map": "MAP_LILYCOVE_CITY_CONTEST_LOBBY",
+ "dest_warp_id": 2
+ },
+ {
+ "x": 30,
+ "y": 32,
+ "elevation": 0,
+ "dest_map": "MAP_LILYCOVE_CITY_CONTEST_LOBBY",
+ "dest_warp_id": 3
+ },
+ {
+ "x": 20,
+ "y": 32,
+ "elevation": 0,
+ "dest_map": "MAP_LILYCOVE_CITY_CONTEST_LOBBY",
+ "dest_warp_id": 2
+ },
+ {
+ "x": 31,
+ "y": 32,
+ "elevation": 0,
+ "dest_map": "MAP_LILYCOVE_CITY_CONTEST_LOBBY",
+ "dest_warp_id": 3
+ }
+ ],
+ "coord_events": [],
+ "bg_events": [
+ {
+ "type": "sign",
+ "x": 27,
+ "y": 16,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "LilycoveCity_ContestHall_EventScript_15930C"
+ },
+ {
+ "type": "sign",
+ "x": 39,
+ "y": 28,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "LilycoveCity_ContestHall_EventScript_159315"
+ },
+ {
+ "type": "sign",
+ "x": 11,
+ "y": 28,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "LilycoveCity_ContestHall_EventScript_15931E"
+ },
+ {
+ "type": "sign",
+ "x": 15,
+ "y": 28,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "LilycoveCity_ContestHall_EventScript_15931E"
+ },
+ {
+ "type": "sign",
+ "x": 23,
+ "y": 16,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "LilycoveCity_ContestHall_EventScript_15930C"
+ },
+ {
+ "type": "sign",
+ "x": 35,
+ "y": 28,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "LilycoveCity_ContestHall_EventScript_159315"
+ }
+ ]
+} \ No newline at end of file
diff --git a/data/maps/LilycoveCity_ContestLobby/events.inc b/data/maps/LilycoveCity_ContestLobby/events.inc
deleted file mode 100644
index 5e0bc7c7d..000000000
--- a/data/maps/LilycoveCity_ContestLobby/events.inc
+++ /dev/null
@@ -1,32 +0,0 @@
-LilycoveCity_ContestLobby_EventObjects:: @ 838984C
- object_event 1, EVENT_OBJ_GFX_TEALA, 0, 6, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, LilycoveCity_ContestLobby_EventScript_158EB0, 0
- object_event 2, EVENT_OBJ_GFX_TEALA, 0, 7, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, LilycoveCity_ContestLobby_EventScript_158B85, 0
- object_event 3, EVENT_OBJ_GFX_OLD_MAN_1, 0, 17, 9, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, LilycoveCity_ContestLobby_EventScript_1B77AB, 0
- object_event 4, EVENT_OBJ_GFX_ARTIST, 0, 1, 1, 0, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_HIDE_LILYCOVE_CONTEST_ATTENDENT_1
- object_event 5, EVENT_OBJ_GFX_BLACK_BELT, 0, 14, 6, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, LilycoveCity_ContestLobby_EventScript_15901E, 0
- object_event 6, EVENT_OBJ_GFX_GIRL_2, 0, 3, 10, 3, MOVEMENT_TYPE_WANDER_AROUND, 2, 2, 0, 0, LilycoveCity_ContestLobby_EventScript_159027, 0
- object_event 7, EVENT_OBJ_GFX_ARTIST, 0, 20, 2, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, LilycoveCity_ContestLobby_EventScript_159042, 0
- object_event 8, EVENT_OBJ_GFX_REPORTER_M, 0, 8, 10, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, LilycoveCity_ContestLobby_EventScript_1AE0B6, FLAG_HIDE_CONTEST_REPORTER_LILYCOVE
- object_event 9, EVENT_OBJ_GFX_BOY_1, 0, 18, 8, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, LilycoveCity_ContestLobby_EventScript_15907B, 0
- object_event 10, EVENT_OBJ_GFX_GIRL_1, 0, 19, 9, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, LilycoveCity_ContestLobby_EventScript_159084, 0
- object_event 11, EVENT_OBJ_GFX_ARTIST, 0, 13, 1, 0, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_HIDE_ARTIST_LILCOVE_CONTEST
- object_event 12, EVENT_OBJ_GFX_FISHERMAN, 0, 13, 10, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, LilycoveCity_ContestLobby_EventScript_159054, 0
- object_event 13, EVENT_OBJ_GFX_FAT_MAN, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, LilycoveCity_ContestLobby_EventScript_15904B, 0
- object_event 14, EVENT_OBJ_GFX_LITTLE_BOY_1, 0, 7, 7, 3, MOVEMENT_TYPE_WANDER_UP_AND_DOWN, 0, 1, 0, 0, LilycoveCity_ContestLobby_EventScript_15905D, 0
-
-LilycoveCity_ContestLobby_MapWarps:: @ 838999C
- warp_def 6, 11, 0, 4, MAP_LILYCOVE_CITY
- warp_def 7, 11, 0, 4, MAP_LILYCOVE_CITY
- warp_def 1, 1, 0, 0, MAP_LILYCOVE_CITY_CONTEST_HALL
- warp_def 13, 1, 0, 1, MAP_LILYCOVE_CITY_CONTEST_HALL
-
-LilycoveCity_ContestLobby_MapBGEvents:: @ 83899BC
- bg_event 18, 5, 0, BG_EVENT_PLAYER_FACING_ANY, LilycoveCity_ContestLobby_EventScript_1B7835
- bg_event 18, 9, 0, BG_EVENT_PLAYER_FACING_ANY, LilycoveCity_ContestLobby_EventScript_1B7659
- bg_event 15, 1, 0, BG_EVENT_PLAYER_FACING_ANY, LilycoveCity_ContestLobby_EventScript_159066
- bg_event 17, 1, 0, BG_EVENT_PLAYER_FACING_ANY, LilycoveCity_ContestLobby_EventScript_15906D
- bg_event 19, 1, 0, BG_EVENT_PLAYER_FACING_ANY, LilycoveCity_ContestLobby_EventScript_159074
- bg_event 22, 1, 0, BG_EVENT_PLAYER_FACING_ANY, LilycoveCity_ContestLobby_EventScript_15908D
-
-LilycoveCity_ContestLobby_MapEvents:: @ 8389A04
- map_events LilycoveCity_ContestLobby_EventObjects, LilycoveCity_ContestLobby_MapWarps, 0x0, LilycoveCity_ContestLobby_MapBGEvents
diff --git a/data/maps/LilycoveCity_ContestLobby/header.inc b/data/maps/LilycoveCity_ContestLobby/header.inc
deleted file mode 100644
index 62507b9a0..000000000
--- a/data/maps/LilycoveCity_ContestLobby/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-LilycoveCity_ContestLobby:: @ 8306590
- .4byte LilycoveCity_ContestLobby_Layout
- .4byte LilycoveCity_ContestLobby_MapEvents
- .4byte LilycoveCity_ContestLobby_MapScripts
- .4byte 0x0
- .2byte MUS_CONLOBBY
- .2byte 105
- .byte MAPSEC_LILYCOVE_CITY
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/LilycoveCity_ContestLobby/map.json b/data/maps/LilycoveCity_ContestLobby/map.json
new file mode 100644
index 000000000..6d87bca77
--- /dev/null
+++ b/data/maps/LilycoveCity_ContestLobby/map.json
@@ -0,0 +1,278 @@
+{
+ "id": "MAP_LILYCOVE_CITY_CONTEST_LOBBY",
+ "name": "LilycoveCity_ContestLobby",
+ "layout": "LAYOUT_LILYCOVE_CITY_CONTEST_LOBBY",
+ "music": "MUS_CONLOBBY",
+ "region_map_section": "MAPSEC_LILYCOVE_CITY",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_TEALA",
+ "x": 6,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LilycoveCity_ContestLobby_EventScript_158EB0",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_TEALA",
+ "x": 7,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LilycoveCity_ContestLobby_EventScript_158B85",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_OLD_MAN_1",
+ "x": 17,
+ "y": 9,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LilycoveCity_ContestLobby_EventScript_1B77AB",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ARTIST",
+ "x": 1,
+ "y": 1,
+ "elevation": 0,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_HIDE_LILYCOVE_CONTEST_ATTENDENT_1"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BLACK_BELT",
+ "x": 14,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LilycoveCity_ContestLobby_EventScript_15901E",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_GIRL_2",
+ "x": 3,
+ "y": 10,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_AROUND",
+ "movement_range_x": 2,
+ "movement_range_y": 2,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LilycoveCity_ContestLobby_EventScript_159027",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ARTIST",
+ "x": 20,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LilycoveCity_ContestLobby_EventScript_159042",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_REPORTER_M",
+ "x": 8,
+ "y": 10,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LilycoveCity_ContestLobby_EventScript_1AE0B6",
+ "flag": "FLAG_HIDE_CONTEST_REPORTER_LILYCOVE"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BOY_1",
+ "x": 18,
+ "y": 8,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LilycoveCity_ContestLobby_EventScript_15907B",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_GIRL_1",
+ "x": 19,
+ "y": 9,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LilycoveCity_ContestLobby_EventScript_159084",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ARTIST",
+ "x": 13,
+ "y": 1,
+ "elevation": 0,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_HIDE_ARTIST_LILCOVE_CONTEST"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_FISHERMAN",
+ "x": 13,
+ "y": 10,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LilycoveCity_ContestLobby_EventScript_159054",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_FAT_MAN",
+ "x": 1,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LilycoveCity_ContestLobby_EventScript_15904B",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_LITTLE_BOY_1",
+ "x": 7,
+ "y": 7,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_UP_AND_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LilycoveCity_ContestLobby_EventScript_15905D",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 6,
+ "y": 11,
+ "elevation": 0,
+ "dest_map": "MAP_LILYCOVE_CITY",
+ "dest_warp_id": 4
+ },
+ {
+ "x": 7,
+ "y": 11,
+ "elevation": 0,
+ "dest_map": "MAP_LILYCOVE_CITY",
+ "dest_warp_id": 4
+ },
+ {
+ "x": 1,
+ "y": 1,
+ "elevation": 0,
+ "dest_map": "MAP_LILYCOVE_CITY_CONTEST_HALL",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 13,
+ "y": 1,
+ "elevation": 0,
+ "dest_map": "MAP_LILYCOVE_CITY_CONTEST_HALL",
+ "dest_warp_id": 1
+ }
+ ],
+ "coord_events": [],
+ "bg_events": [
+ {
+ "type": "sign",
+ "x": 18,
+ "y": 5,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "LilycoveCity_ContestLobby_EventScript_1B7835"
+ },
+ {
+ "type": "sign",
+ "x": 18,
+ "y": 9,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "LilycoveCity_ContestLobby_EventScript_1B7659"
+ },
+ {
+ "type": "sign",
+ "x": 15,
+ "y": 1,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "LilycoveCity_ContestLobby_EventScript_159066"
+ },
+ {
+ "type": "sign",
+ "x": 17,
+ "y": 1,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "LilycoveCity_ContestLobby_EventScript_15906D"
+ },
+ {
+ "type": "sign",
+ "x": 19,
+ "y": 1,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "LilycoveCity_ContestLobby_EventScript_159074"
+ },
+ {
+ "type": "sign",
+ "x": 22,
+ "y": 1,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "LilycoveCity_ContestLobby_EventScript_15908D"
+ }
+ ]
+} \ No newline at end of file
diff --git a/data/maps/LilycoveCity_CoveLilyMotel_1F/events.inc b/data/maps/LilycoveCity_CoveLilyMotel_1F/events.inc
deleted file mode 100644
index d823696f2..000000000
--- a/data/maps/LilycoveCity_CoveLilyMotel_1F/events.inc
+++ /dev/null
@@ -1,13 +0,0 @@
-LilycoveCity_CoveLilyMotel_1F_EventObjects:: @ 8389464
- object_event 1, EVENT_OBJ_GFX_MAN_1, 0, 10, 3, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, LilycoveCity_CoveLilyMotel_1F_EventScript_1582C5, 0
-
-LilycoveCity_CoveLilyMotel_1F_MapWarps:: @ 838947C
- warp_def 5, 8, 0, 1, MAP_LILYCOVE_CITY
- warp_def 6, 8, 0, 1, MAP_LILYCOVE_CITY
- warp_def 2, 1, 0, 0, MAP_LILYCOVE_CITY_COVE_LILY_MOTEL_2F
-
-LilycoveCity_CoveLilyMotel_1F_MapCoordEvents:: @ 8389494
- coord_event 10, 2, 3, VAR_TEMP_1, 0, LilycoveCity_CoveLilyMotel_1F_EventScript_15834D
-
-LilycoveCity_CoveLilyMotel_1F_MapEvents:: @ 83894A4
- map_events LilycoveCity_CoveLilyMotel_1F_EventObjects, LilycoveCity_CoveLilyMotel_1F_MapWarps, LilycoveCity_CoveLilyMotel_1F_MapCoordEvents, 0x0
diff --git a/data/maps/LilycoveCity_CoveLilyMotel_1F/header.inc b/data/maps/LilycoveCity_CoveLilyMotel_1F/header.inc
deleted file mode 100644
index e60b3ce64..000000000
--- a/data/maps/LilycoveCity_CoveLilyMotel_1F/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-LilycoveCity_CoveLilyMotel_1F:: @ 8306520
- .4byte LilycoveCity_CoveLilyMotel_1F_Layout
- .4byte LilycoveCity_CoveLilyMotel_1F_MapEvents
- .4byte LilycoveCity_CoveLilyMotel_1F_MapScripts
- .4byte 0x0
- .2byte MUS_MINAMO
- .2byte 300
- .byte MAPSEC_LILYCOVE_CITY
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/LilycoveCity_CoveLilyMotel_1F/map.json b/data/maps/LilycoveCity_CoveLilyMotel_1F/map.json
new file mode 100644
index 000000000..92c382057
--- /dev/null
+++ b/data/maps/LilycoveCity_CoveLilyMotel_1F/map.json
@@ -0,0 +1,63 @@
+{
+ "id": "MAP_LILYCOVE_CITY_COVE_LILY_MOTEL_1F",
+ "name": "LilycoveCity_CoveLilyMotel_1F",
+ "layout": "LAYOUT_LILYCOVE_CITY_COVE_LILY_MOTEL_1F",
+ "music": "MUS_MINAMO",
+ "region_map_section": "MAPSEC_LILYCOVE_CITY",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_1",
+ "x": 10,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LilycoveCity_CoveLilyMotel_1F_EventScript_1582C5",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 5,
+ "y": 8,
+ "elevation": 0,
+ "dest_map": "MAP_LILYCOVE_CITY",
+ "dest_warp_id": 1
+ },
+ {
+ "x": 6,
+ "y": 8,
+ "elevation": 0,
+ "dest_map": "MAP_LILYCOVE_CITY",
+ "dest_warp_id": 1
+ },
+ {
+ "x": 2,
+ "y": 1,
+ "elevation": 0,
+ "dest_map": "MAP_LILYCOVE_CITY_COVE_LILY_MOTEL_2F",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [
+ {
+ "type": "trigger",
+ "x": 10,
+ "y": 2,
+ "elevation": 3,
+ "var": "VAR_TEMP_1",
+ "var_value": "0",
+ "script": "LilycoveCity_CoveLilyMotel_1F_EventScript_15834D"
+ }
+ ],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/LilycoveCity_CoveLilyMotel_2F/events.inc b/data/maps/LilycoveCity_CoveLilyMotel_2F/events.inc
deleted file mode 100644
index fcda95632..000000000
--- a/data/maps/LilycoveCity_CoveLilyMotel_2F/events.inc
+++ /dev/null
@@ -1,13 +0,0 @@
-LilycoveCity_CoveLilyMotel_2F_EventObjects:: @ 83894B8
- object_event 1, EVENT_OBJ_GFX_MAN_4, 0, 4, 6, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, LilycoveCity_CoveLilyMotel_2F_EventScript_1583A1, FLAG_HIDE_LILYCOVE_MOTEL_PEOPLE
- object_event 2, EVENT_OBJ_GFX_SCIENTIST_1, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, LilycoveCity_CoveLilyMotel_2F_EventScript_1583F7, FLAG_HIDE_LILYCOVE_MOTEL_PEOPLE
- object_event 3, EVENT_OBJ_GFX_FAT_MAN, 0, 7, 7, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, LilycoveCity_CoveLilyMotel_2F_EventScript_158400, FLAG_HIDE_LILYCOVE_MOTEL_PEOPLE
- object_event 4, EVENT_OBJ_GFX_MAN_5, 0, 10, 3, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, LilycoveCity_CoveLilyMotel_2F_EventScript_1583EE, FLAG_HIDE_LILYCOVE_MOTEL_PEOPLE
- object_event 5, EVENT_OBJ_GFX_BOY_5, 0, 7, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, LilycoveCity_CoveLilyMotel_2F_EventScript_158412, FLAG_HIDE_LILYCOVE_MOTEL_PEOPLE
- object_event 6, EVENT_OBJ_GFX_WOMAN_3, 0, 4, 4, 3, MOVEMENT_TYPE_FACE_LEFT, 1, 1, 0, 0, LilycoveCity_CoveLilyMotel_2F_EventScript_158409, FLAG_HIDE_LILYCOVE_MOTEL_PEOPLE
-
-LilycoveCity_CoveLilyMotel_2F_MapWarps:: @ 8389548
- warp_def 2, 1, 0, 2, MAP_LILYCOVE_CITY_COVE_LILY_MOTEL_1F
-
-LilycoveCity_CoveLilyMotel_2F_MapEvents:: @ 8389550
- map_events LilycoveCity_CoveLilyMotel_2F_EventObjects, LilycoveCity_CoveLilyMotel_2F_MapWarps, 0x0, 0x0
diff --git a/data/maps/LilycoveCity_CoveLilyMotel_2F/header.inc b/data/maps/LilycoveCity_CoveLilyMotel_2F/header.inc
deleted file mode 100644
index 47e8960d4..000000000
--- a/data/maps/LilycoveCity_CoveLilyMotel_2F/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-LilycoveCity_CoveLilyMotel_2F:: @ 830653C
- .4byte LilycoveCity_CoveLilyMotel_2F_Layout
- .4byte LilycoveCity_CoveLilyMotel_2F_MapEvents
- .4byte LilycoveCity_CoveLilyMotel_2F_MapScripts
- .4byte 0x0
- .2byte MUS_MINAMO
- .2byte 301
- .byte MAPSEC_LILYCOVE_CITY
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/LilycoveCity_CoveLilyMotel_2F/map.json b/data/maps/LilycoveCity_CoveLilyMotel_2F/map.json
new file mode 100644
index 000000000..a24cad6ad
--- /dev/null
+++ b/data/maps/LilycoveCity_CoveLilyMotel_2F/map.json
@@ -0,0 +1,104 @@
+{
+ "id": "MAP_LILYCOVE_CITY_COVE_LILY_MOTEL_2F",
+ "name": "LilycoveCity_CoveLilyMotel_2F",
+ "layout": "LAYOUT_LILYCOVE_CITY_COVE_LILY_MOTEL_2F",
+ "music": "MUS_MINAMO",
+ "region_map_section": "MAPSEC_LILYCOVE_CITY",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_4",
+ "x": 4,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LilycoveCity_CoveLilyMotel_2F_EventScript_1583A1",
+ "flag": "FLAG_HIDE_LILYCOVE_MOTEL_PEOPLE"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_SCIENTIST_1",
+ "x": 1,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LilycoveCity_CoveLilyMotel_2F_EventScript_1583F7",
+ "flag": "FLAG_HIDE_LILYCOVE_MOTEL_PEOPLE"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_FAT_MAN",
+ "x": 7,
+ "y": 7,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LilycoveCity_CoveLilyMotel_2F_EventScript_158400",
+ "flag": "FLAG_HIDE_LILYCOVE_MOTEL_PEOPLE"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_5",
+ "x": 10,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LilycoveCity_CoveLilyMotel_2F_EventScript_1583EE",
+ "flag": "FLAG_HIDE_LILYCOVE_MOTEL_PEOPLE"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BOY_5",
+ "x": 7,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LilycoveCity_CoveLilyMotel_2F_EventScript_158412",
+ "flag": "FLAG_HIDE_LILYCOVE_MOTEL_PEOPLE"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_3",
+ "x": 4,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LilycoveCity_CoveLilyMotel_2F_EventScript_158409",
+ "flag": "FLAG_HIDE_LILYCOVE_MOTEL_PEOPLE"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 2,
+ "y": 1,
+ "elevation": 0,
+ "dest_map": "MAP_LILYCOVE_CITY_COVE_LILY_MOTEL_1F",
+ "dest_warp_id": 2
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/LilycoveCity_DepartmentStoreElevator/events.inc b/data/maps/LilycoveCity_DepartmentStoreElevator/events.inc
deleted file mode 100644
index 7e88550d7..000000000
--- a/data/maps/LilycoveCity_DepartmentStoreElevator/events.inc
+++ /dev/null
@@ -1,9 +0,0 @@
-LilycoveCity_DepartmentStoreElevator_EventObjects:: @ 838A624
- object_event 1, EVENT_OBJ_GFX_TEALA, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, LilycoveCity_DepartmentStoreElevator_EventScript_15A39C, 0
-
-LilycoveCity_DepartmentStoreElevator_MapWarps:: @ 838A63C
- warp_def 1, 5, 3, 127, MAP_NONE
- warp_def 2, 5, 3, 127, MAP_NONE
-
-LilycoveCity_DepartmentStoreElevator_MapEvents:: @ 838A64C
- map_events LilycoveCity_DepartmentStoreElevator_EventObjects, LilycoveCity_DepartmentStoreElevator_MapWarps, 0x0, 0x0
diff --git a/data/maps/LilycoveCity_DepartmentStoreElevator/header.inc b/data/maps/LilycoveCity_DepartmentStoreElevator/header.inc
deleted file mode 100644
index 8571ea102..000000000
--- a/data/maps/LilycoveCity_DepartmentStoreElevator/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-LilycoveCity_DepartmentStoreElevator:: @ 83067A4
- .4byte LilycoveCity_DepartmentStoreElevator_Layout
- .4byte LilycoveCity_DepartmentStoreElevator_MapEvents
- .4byte LilycoveCity_DepartmentStoreElevator_MapScripts
- .4byte 0x0
- .2byte MUS_MINAMO
- .2byte 274
- .byte MAPSEC_LILYCOVE_CITY
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/LilycoveCity_DepartmentStoreElevator/map.json b/data/maps/LilycoveCity_DepartmentStoreElevator/map.json
new file mode 100644
index 000000000..146a13d89
--- /dev/null
+++ b/data/maps/LilycoveCity_DepartmentStoreElevator/map.json
@@ -0,0 +1,46 @@
+{
+ "id": "MAP_LILYCOVE_CITY_DEPARTMENT_STORE_ELEVATOR",
+ "name": "LilycoveCity_DepartmentStoreElevator",
+ "layout": "LAYOUT_LILYCOVE_CITY_DEPARTMENT_STORE_ELEVATOR",
+ "music": "MUS_MINAMO",
+ "region_map_section": "MAPSEC_LILYCOVE_CITY",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_TEALA",
+ "x": 0,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LilycoveCity_DepartmentStoreElevator_EventScript_15A39C",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 1,
+ "y": 5,
+ "elevation": 3,
+ "dest_map": "MAP_NONE",
+ "dest_warp_id": 127
+ },
+ {
+ "x": 2,
+ "y": 5,
+ "elevation": 3,
+ "dest_map": "MAP_NONE",
+ "dest_warp_id": 127
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/LilycoveCity_DepartmentStoreRooftop/events.inc b/data/maps/LilycoveCity_DepartmentStoreRooftop/events.inc
deleted file mode 100644
index fbe7205e2..000000000
--- a/data/maps/LilycoveCity_DepartmentStoreRooftop/events.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-LilycoveCity_DepartmentStoreRooftop_EventObjects:: @ 838A5A8
- object_event 1, EVENT_OBJ_GFX_MAN_2, 0, 4, 4, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, LilycoveCity_DepartmentStoreRooftop_EventScript_15A1A0, 0
- object_event 2, EVENT_OBJ_GFX_MAN_4, 0, 7, 5, 3, MOVEMENT_TYPE_WANDER_LEFT_AND_RIGHT, 1, 0, 0, 0, LilycoveCity_DepartmentStoreRooftop_EventScript_15A1C4, 0
- object_event 3, EVENT_OBJ_GFX_ROOFTOP_SALE_WOMAN, 0, 6, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, LilycoveCity_DepartmentStoreRooftop_EventScript_15A167, FLAG_HIDE_ROOFTOP_LADY_LILYCOVE_MART
-
-LilycoveCity_DepartmentStoreRooftop_MapWarps:: @ 838A5F0
- warp_def 13, 3, 0, 2, MAP_LILYCOVE_CITY_DEPARTMENT_STORE_5F
-
-LilycoveCity_DepartmentStoreRooftop_MapBGEvents:: @ 838A5F8
- bg_event 9, 1, 0, BG_EVENT_PLAYER_FACING_ANY, LilycoveCity_DepartmentStoreRooftop_EventScript_15A1CD
- bg_event 10, 1, 0, BG_EVENT_PLAYER_FACING_ANY, LilycoveCity_DepartmentStoreRooftop_EventScript_15A1CD
-
-LilycoveCity_DepartmentStoreRooftop_MapEvents:: @ 838A610
- map_events LilycoveCity_DepartmentStoreRooftop_EventObjects, LilycoveCity_DepartmentStoreRooftop_MapWarps, 0x0, LilycoveCity_DepartmentStoreRooftop_MapBGEvents
diff --git a/data/maps/LilycoveCity_DepartmentStoreRooftop/header.inc b/data/maps/LilycoveCity_DepartmentStoreRooftop/header.inc
deleted file mode 100644
index f42e93df8..000000000
--- a/data/maps/LilycoveCity_DepartmentStoreRooftop/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-LilycoveCity_DepartmentStoreRooftop:: @ 8306788
- .4byte LilycoveCity_DepartmentStoreRooftop_Layout
- .4byte LilycoveCity_DepartmentStoreRooftop_MapEvents
- .4byte LilycoveCity_DepartmentStoreRooftop_MapScripts
- .4byte 0x0
- .2byte MUS_MINAMO
- .2byte 263
- .byte MAPSEC_LILYCOVE_CITY
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/LilycoveCity_DepartmentStoreRooftop/map.json b/data/maps/LilycoveCity_DepartmentStoreRooftop/map.json
new file mode 100644
index 000000000..cb8b47317
--- /dev/null
+++ b/data/maps/LilycoveCity_DepartmentStoreRooftop/map.json
@@ -0,0 +1,82 @@
+{
+ "id": "MAP_LILYCOVE_CITY_DEPARTMENT_STORE_ROOFTOP",
+ "name": "LilycoveCity_DepartmentStoreRooftop",
+ "layout": "LAYOUT_LILYCOVE_CITY_DEPARTMENT_STORE_ROOFTOP",
+ "music": "MUS_MINAMO",
+ "region_map_section": "MAPSEC_LILYCOVE_CITY",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_2",
+ "x": 4,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LilycoveCity_DepartmentStoreRooftop_EventScript_15A1A0",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_4",
+ "x": 7,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_LEFT_AND_RIGHT",
+ "movement_range_x": 1,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LilycoveCity_DepartmentStoreRooftop_EventScript_15A1C4",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ROOFTOP_SALE_WOMAN",
+ "x": 6,
+ "y": 1,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LilycoveCity_DepartmentStoreRooftop_EventScript_15A167",
+ "flag": "FLAG_HIDE_ROOFTOP_LADY_LILYCOVE_MART"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 13,
+ "y": 3,
+ "elevation": 0,
+ "dest_map": "MAP_LILYCOVE_CITY_DEPARTMENT_STORE_5F",
+ "dest_warp_id": 2
+ }
+ ],
+ "coord_events": [],
+ "bg_events": [
+ {
+ "type": "sign",
+ "x": 9,
+ "y": 1,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "LilycoveCity_DepartmentStoreRooftop_EventScript_15A1CD"
+ },
+ {
+ "type": "sign",
+ "x": 10,
+ "y": 1,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "LilycoveCity_DepartmentStoreRooftop_EventScript_15A1CD"
+ }
+ ]
+} \ No newline at end of file
diff --git a/data/maps/LilycoveCity_DepartmentStore_1F/events.inc b/data/maps/LilycoveCity_DepartmentStore_1F/events.inc
deleted file mode 100644
index a7bb9a356..000000000
--- a/data/maps/LilycoveCity_DepartmentStore_1F/events.inc
+++ /dev/null
@@ -1,19 +0,0 @@
-LilycoveCity_DepartmentStore_1F_EventObjects:: @ 838A218
- object_event 1, EVENT_OBJ_GFX_BEAUTY, 0, 8, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, LilycoveCity_DepartmentStore_1F_EventScript_159D55, 0
- object_event 2, EVENT_OBJ_GFX_BEAUTY, 0, 10, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, LilycoveCity_DepartmentStore_1F_EventScript_159D5E, 0
- object_event 3, EVENT_OBJ_GFX_WOMAN_2, 0, 14, 5, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, LilycoveCity_DepartmentStore_1F_EventScript_159ED7, 0
- object_event 4, EVENT_OBJ_GFX_LITTLE_GIRL_2, 0, 4, 4, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, LilycoveCity_DepartmentStore_1F_EventScript_159EE0, 0
- object_event 5, EVENT_OBJ_GFX_MAN_3, 0, 3, 6, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, LilycoveCity_DepartmentStore_1F_EventScript_159EE9, 0
- object_event 6, EVENT_OBJ_GFX_AZUMARILL, 0, 2, 6, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, LilycoveCity_DepartmentStore_1F_EventScript_159EF2, 0
-
-LilycoveCity_DepartmentStore_1F_MapWarps:: @ 838A2A8
- warp_def 8, 7, 0, 0, MAP_LILYCOVE_CITY
- warp_def 9, 7, 0, 0, MAP_LILYCOVE_CITY
- warp_def 16, 1, 0, 0, MAP_LILYCOVE_CITY_DEPARTMENT_STORE_2F
- warp_def 2, 1, 0, 0, MAP_LILYCOVE_CITY_DEPARTMENT_STORE_ELEVATOR
-
-LilycoveCity_DepartmentStore_1F_MapBGEvents:: @ 838A2C8
- bg_event 0, 8, 0, BG_EVENT_PLAYER_FACING_NORTH, LilycoveCity_DepartmentStore_1F_EventScript_159F05
-
-LilycoveCity_DepartmentStore_1F_MapEvents:: @ 838A2D4
- map_events LilycoveCity_DepartmentStore_1F_EventObjects, LilycoveCity_DepartmentStore_1F_MapWarps, 0x0, LilycoveCity_DepartmentStore_1F_MapBGEvents
diff --git a/data/maps/LilycoveCity_DepartmentStore_1F/header.inc b/data/maps/LilycoveCity_DepartmentStore_1F/header.inc
deleted file mode 100644
index 93799798b..000000000
--- a/data/maps/LilycoveCity_DepartmentStore_1F/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-LilycoveCity_DepartmentStore_1F:: @ 83066FC
- .4byte LilycoveCity_DepartmentStore_1F_Layout
- .4byte LilycoveCity_DepartmentStore_1F_MapEvents
- .4byte LilycoveCity_DepartmentStore_1F_MapScripts
- .4byte 0x0
- .2byte MUS_MINAMO
- .2byte 258
- .byte MAPSEC_LILYCOVE_CITY
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/LilycoveCity_DepartmentStore_1F/map.json b/data/maps/LilycoveCity_DepartmentStore_1F/map.json
new file mode 100644
index 000000000..7dea79e10
--- /dev/null
+++ b/data/maps/LilycoveCity_DepartmentStore_1F/map.json
@@ -0,0 +1,134 @@
+{
+ "id": "MAP_LILYCOVE_CITY_DEPARTMENT_STORE_1F",
+ "name": "LilycoveCity_DepartmentStore_1F",
+ "layout": "LAYOUT_LILYCOVE_CITY_DEPARTMENT_STORE_1F",
+ "music": "MUS_MINAMO",
+ "region_map_section": "MAPSEC_LILYCOVE_CITY",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BEAUTY",
+ "x": 8,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LilycoveCity_DepartmentStore_1F_EventScript_159D55",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BEAUTY",
+ "x": 10,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LilycoveCity_DepartmentStore_1F_EventScript_159D5E",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_2",
+ "x": 14,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LilycoveCity_DepartmentStore_1F_EventScript_159ED7",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_LITTLE_GIRL_2",
+ "x": 4,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LilycoveCity_DepartmentStore_1F_EventScript_159EE0",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_3",
+ "x": 3,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LilycoveCity_DepartmentStore_1F_EventScript_159EE9",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_AZUMARILL",
+ "x": 2,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LilycoveCity_DepartmentStore_1F_EventScript_159EF2",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 8,
+ "y": 7,
+ "elevation": 0,
+ "dest_map": "MAP_LILYCOVE_CITY",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 9,
+ "y": 7,
+ "elevation": 0,
+ "dest_map": "MAP_LILYCOVE_CITY",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 16,
+ "y": 1,
+ "elevation": 0,
+ "dest_map": "MAP_LILYCOVE_CITY_DEPARTMENT_STORE_2F",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 2,
+ "y": 1,
+ "elevation": 0,
+ "dest_map": "MAP_LILYCOVE_CITY_DEPARTMENT_STORE_ELEVATOR",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [],
+ "bg_events": [
+ {
+ "type": "sign",
+ "x": 0,
+ "y": 8,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH",
+ "script": "LilycoveCity_DepartmentStore_1F_EventScript_159F05"
+ }
+ ]
+} \ No newline at end of file
diff --git a/data/maps/LilycoveCity_DepartmentStore_2F/events.inc b/data/maps/LilycoveCity_DepartmentStore_2F/events.inc
deleted file mode 100644
index 762a98c1d..000000000
--- a/data/maps/LilycoveCity_DepartmentStore_2F/events.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-LilycoveCity_DepartmentStore_2F_EventObjects:: @ 838A2E8
- object_event 1, EVENT_OBJ_GFX_COOK, 0, 8, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, LilycoveCity_DepartmentStore_2F_EventScript_159F0F, 0
- object_event 2, EVENT_OBJ_GFX_WOMAN_2, 0, 0, 5, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, LilycoveCity_DepartmentStore_2F_EventScript_159F18, 0
- object_event 3, EVENT_OBJ_GFX_SAILOR, 0, 13, 5, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, LilycoveCity_DepartmentStore_2F_EventScript_159F21, 0
- object_event 4, EVENT_OBJ_GFX_WOMAN_4, 0, 10, 6, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, LilycoveCity_DepartmentStore_2F_EventScript_159F5E, 0
- object_event 5, EVENT_OBJ_GFX_WOMAN_4, 0, 7, 6, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, LilycoveCity_DepartmentStore_2F_EventScript_159F2A, 0
-
-LilycoveCity_DepartmentStore_2F_MapWarps:: @ 838A360
- warp_def 16, 1, 0, 2, MAP_LILYCOVE_CITY_DEPARTMENT_STORE_1F
- warp_def 13, 1, 0, 0, MAP_LILYCOVE_CITY_DEPARTMENT_STORE_3F
- warp_def 2, 1, 0, 0, MAP_LILYCOVE_CITY_DEPARTMENT_STORE_ELEVATOR
-
-LilycoveCity_DepartmentStore_2F_MapEvents:: @ 838A378
- map_events LilycoveCity_DepartmentStore_2F_EventObjects, LilycoveCity_DepartmentStore_2F_MapWarps, 0x0, 0x0
diff --git a/data/maps/LilycoveCity_DepartmentStore_2F/header.inc b/data/maps/LilycoveCity_DepartmentStore_2F/header.inc
deleted file mode 100644
index 1ebab31dc..000000000
--- a/data/maps/LilycoveCity_DepartmentStore_2F/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-LilycoveCity_DepartmentStore_2F:: @ 8306718
- .4byte LilycoveCity_DepartmentStore_2F_Layout
- .4byte LilycoveCity_DepartmentStore_2F_MapEvents
- .4byte LilycoveCity_DepartmentStore_2F_MapScripts
- .4byte 0x0
- .2byte MUS_FRIENDLY
- .2byte 259
- .byte MAPSEC_LILYCOVE_CITY
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/LilycoveCity_DepartmentStore_2F/map.json b/data/maps/LilycoveCity_DepartmentStore_2F/map.json
new file mode 100644
index 000000000..77c1c429d
--- /dev/null
+++ b/data/maps/LilycoveCity_DepartmentStore_2F/map.json
@@ -0,0 +1,105 @@
+{
+ "id": "MAP_LILYCOVE_CITY_DEPARTMENT_STORE_2F",
+ "name": "LilycoveCity_DepartmentStore_2F",
+ "layout": "LAYOUT_LILYCOVE_CITY_DEPARTMENT_STORE_2F",
+ "music": "MUS_FRIENDLY",
+ "region_map_section": "MAPSEC_LILYCOVE_CITY",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_COOK",
+ "x": 8,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LilycoveCity_DepartmentStore_2F_EventScript_159F0F",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_2",
+ "x": 0,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LilycoveCity_DepartmentStore_2F_EventScript_159F18",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_SAILOR",
+ "x": 13,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LilycoveCity_DepartmentStore_2F_EventScript_159F21",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_4",
+ "x": 10,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LilycoveCity_DepartmentStore_2F_EventScript_159F5E",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_4",
+ "x": 7,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LilycoveCity_DepartmentStore_2F_EventScript_159F2A",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 16,
+ "y": 1,
+ "elevation": 0,
+ "dest_map": "MAP_LILYCOVE_CITY_DEPARTMENT_STORE_1F",
+ "dest_warp_id": 2
+ },
+ {
+ "x": 13,
+ "y": 1,
+ "elevation": 0,
+ "dest_map": "MAP_LILYCOVE_CITY_DEPARTMENT_STORE_3F",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 2,
+ "y": 1,
+ "elevation": 0,
+ "dest_map": "MAP_LILYCOVE_CITY_DEPARTMENT_STORE_ELEVATOR",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/LilycoveCity_DepartmentStore_3F/events.inc b/data/maps/LilycoveCity_DepartmentStore_3F/events.inc
deleted file mode 100644
index fcf7a410e..000000000
--- a/data/maps/LilycoveCity_DepartmentStore_3F/events.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-LilycoveCity_DepartmentStore_3F_EventObjects:: @ 838A38C
- object_event 1, EVENT_OBJ_GFX_RUNNING_TRIATHLETE_M, 0, 0, 5, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, LilycoveCity_DepartmentStore_3F_EventScript_159FE2, 0
- object_event 2, EVENT_OBJ_GFX_MAN_3, 0, 7, 7, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, LilycoveCity_DepartmentStore_3F_EventScript_159FEB, 0
- object_event 3, EVENT_OBJ_GFX_WOMAN_7, 0, 13, 5, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, LilycoveCity_DepartmentStore_3F_EventScript_159FF4, 0
- object_event 4, EVENT_OBJ_GFX_WOMAN_4, 0, 8, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, LilycoveCity_DepartmentStore_3F_EventScript_159F91, 0
- object_event 5, EVENT_OBJ_GFX_WOMAN_4, 0, 10, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, LilycoveCity_DepartmentStore_3F_EventScript_159FB8, 0
-
-LilycoveCity_DepartmentStore_3F_MapWarps:: @ 838A404
- warp_def 13, 1, 0, 1, MAP_LILYCOVE_CITY_DEPARTMENT_STORE_2F
- warp_def 16, 1, 0, 0, MAP_LILYCOVE_CITY_DEPARTMENT_STORE_4F
- warp_def 2, 1, 0, 0, MAP_LILYCOVE_CITY_DEPARTMENT_STORE_ELEVATOR
-
-LilycoveCity_DepartmentStore_3F_MapEvents:: @ 838A41C
- map_events LilycoveCity_DepartmentStore_3F_EventObjects, LilycoveCity_DepartmentStore_3F_MapWarps, 0x0, 0x0
diff --git a/data/maps/LilycoveCity_DepartmentStore_3F/header.inc b/data/maps/LilycoveCity_DepartmentStore_3F/header.inc
deleted file mode 100644
index 50d1e9585..000000000
--- a/data/maps/LilycoveCity_DepartmentStore_3F/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-LilycoveCity_DepartmentStore_3F:: @ 8306734
- .4byte LilycoveCity_DepartmentStore_3F_Layout
- .4byte LilycoveCity_DepartmentStore_3F_MapEvents
- .4byte LilycoveCity_DepartmentStore_3F_MapScripts
- .4byte 0x0
- .2byte MUS_FRIENDLY
- .2byte 260
- .byte MAPSEC_LILYCOVE_CITY
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/LilycoveCity_DepartmentStore_3F/map.json b/data/maps/LilycoveCity_DepartmentStore_3F/map.json
new file mode 100644
index 000000000..5734db8d1
--- /dev/null
+++ b/data/maps/LilycoveCity_DepartmentStore_3F/map.json
@@ -0,0 +1,105 @@
+{
+ "id": "MAP_LILYCOVE_CITY_DEPARTMENT_STORE_3F",
+ "name": "LilycoveCity_DepartmentStore_3F",
+ "layout": "LAYOUT_LILYCOVE_CITY_DEPARTMENT_STORE_3F",
+ "music": "MUS_FRIENDLY",
+ "region_map_section": "MAPSEC_LILYCOVE_CITY",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_RUNNING_TRIATHLETE_M",
+ "x": 0,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LilycoveCity_DepartmentStore_3F_EventScript_159FE2",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_3",
+ "x": 7,
+ "y": 7,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LilycoveCity_DepartmentStore_3F_EventScript_159FEB",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_7",
+ "x": 13,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LilycoveCity_DepartmentStore_3F_EventScript_159FF4",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_4",
+ "x": 8,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LilycoveCity_DepartmentStore_3F_EventScript_159F91",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_4",
+ "x": 10,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LilycoveCity_DepartmentStore_3F_EventScript_159FB8",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 13,
+ "y": 1,
+ "elevation": 0,
+ "dest_map": "MAP_LILYCOVE_CITY_DEPARTMENT_STORE_2F",
+ "dest_warp_id": 1
+ },
+ {
+ "x": 16,
+ "y": 1,
+ "elevation": 0,
+ "dest_map": "MAP_LILYCOVE_CITY_DEPARTMENT_STORE_4F",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 2,
+ "y": 1,
+ "elevation": 0,
+ "dest_map": "MAP_LILYCOVE_CITY_DEPARTMENT_STORE_ELEVATOR",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/LilycoveCity_DepartmentStore_4F/events.inc b/data/maps/LilycoveCity_DepartmentStore_4F/events.inc
deleted file mode 100644
index e3b47e523..000000000
--- a/data/maps/LilycoveCity_DepartmentStore_4F/events.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-LilycoveCity_DepartmentStore_4F_EventObjects:: @ 838A430
- object_event 1, EVENT_OBJ_GFX_GENTLEMAN, 0, 0, 2, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, LilycoveCity_DepartmentStore_4F_EventScript_159FFE, 0
- object_event 2, EVENT_OBJ_GFX_WOMAN_3, 0, 6, 2, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, LilycoveCity_DepartmentStore_4F_EventScript_15A007, 0
- object_event 3, EVENT_OBJ_GFX_YOUNGSTER, 0, 13, 4, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, LilycoveCity_DepartmentStore_4F_EventScript_15A010, 0
- object_event 4, EVENT_OBJ_GFX_WOMAN_4, 0, 7, 6, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, LilycoveCity_DepartmentStore_4F_EventScript_15A019, 0
- object_event 5, EVENT_OBJ_GFX_WOMAN_4, 0, 9, 6, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, LilycoveCity_DepartmentStore_4F_EventScript_15A03C, 0
-
-LilycoveCity_DepartmentStore_4F_MapWarps:: @ 838A4A8
- warp_def 16, 1, 0, 1, MAP_LILYCOVE_CITY_DEPARTMENT_STORE_3F
- warp_def 13, 1, 0, 0, MAP_LILYCOVE_CITY_DEPARTMENT_STORE_5F
- warp_def 2, 1, 0, 0, MAP_LILYCOVE_CITY_DEPARTMENT_STORE_ELEVATOR
-
-LilycoveCity_DepartmentStore_4F_MapEvents:: @ 838A4C0
- map_events LilycoveCity_DepartmentStore_4F_EventObjects, LilycoveCity_DepartmentStore_4F_MapWarps, 0x0, 0x0
diff --git a/data/maps/LilycoveCity_DepartmentStore_4F/header.inc b/data/maps/LilycoveCity_DepartmentStore_4F/header.inc
deleted file mode 100644
index 025b9c83e..000000000
--- a/data/maps/LilycoveCity_DepartmentStore_4F/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-LilycoveCity_DepartmentStore_4F:: @ 8306750
- .4byte LilycoveCity_DepartmentStore_4F_Layout
- .4byte LilycoveCity_DepartmentStore_4F_MapEvents
- .4byte LilycoveCity_DepartmentStore_4F_MapScripts
- .4byte 0x0
- .2byte MUS_FRIENDLY
- .2byte 261
- .byte MAPSEC_LILYCOVE_CITY
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/LilycoveCity_DepartmentStore_4F/map.json b/data/maps/LilycoveCity_DepartmentStore_4F/map.json
new file mode 100644
index 000000000..62b267e00
--- /dev/null
+++ b/data/maps/LilycoveCity_DepartmentStore_4F/map.json
@@ -0,0 +1,105 @@
+{
+ "id": "MAP_LILYCOVE_CITY_DEPARTMENT_STORE_4F",
+ "name": "LilycoveCity_DepartmentStore_4F",
+ "layout": "LAYOUT_LILYCOVE_CITY_DEPARTMENT_STORE_4F",
+ "music": "MUS_FRIENDLY",
+ "region_map_section": "MAPSEC_LILYCOVE_CITY",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_GENTLEMAN",
+ "x": 0,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LilycoveCity_DepartmentStore_4F_EventScript_159FFE",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_3",
+ "x": 6,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LilycoveCity_DepartmentStore_4F_EventScript_15A007",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_YOUNGSTER",
+ "x": 13,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LilycoveCity_DepartmentStore_4F_EventScript_15A010",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_4",
+ "x": 7,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LilycoveCity_DepartmentStore_4F_EventScript_15A019",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_4",
+ "x": 9,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LilycoveCity_DepartmentStore_4F_EventScript_15A03C",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 16,
+ "y": 1,
+ "elevation": 0,
+ "dest_map": "MAP_LILYCOVE_CITY_DEPARTMENT_STORE_3F",
+ "dest_warp_id": 1
+ },
+ {
+ "x": 13,
+ "y": 1,
+ "elevation": 0,
+ "dest_map": "MAP_LILYCOVE_CITY_DEPARTMENT_STORE_5F",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 2,
+ "y": 1,
+ "elevation": 0,
+ "dest_map": "MAP_LILYCOVE_CITY_DEPARTMENT_STORE_ELEVATOR",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/LilycoveCity_DepartmentStore_5F/events.inc b/data/maps/LilycoveCity_DepartmentStore_5F/events.inc
deleted file mode 100644
index 73e9e6733..000000000
--- a/data/maps/LilycoveCity_DepartmentStore_5F/events.inc
+++ /dev/null
@@ -1,16 +0,0 @@
-LilycoveCity_DepartmentStore_5F_EventObjects:: @ 838A4D4
- object_event 1, EVENT_OBJ_GFX_LITTLE_GIRL_2, 0, 1, 6, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, LilycoveCity_DepartmentStore_5F_EventScript_15A136, 0
- object_event 2, EVENT_OBJ_GFX_WOMAN_2, 0, 7, 7, 3, MOVEMENT_TYPE_FACE_DOWN_AND_LEFT, 1, 1, 0, 0, LilycoveCity_DepartmentStore_5F_EventScript_15A124, 0
- object_event 3, EVENT_OBJ_GFX_WOMAN_4, 0, 7, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, LilycoveCity_DepartmentStore_5F_EventScript_15A061, 0
- object_event 4, EVENT_OBJ_GFX_WOMAN_4, 0, 9, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, LilycoveCity_DepartmentStore_5F_EventScript_15A094, 0
- object_event 5, EVENT_OBJ_GFX_WOMAN_4, 0, 15, 6, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, LilycoveCity_DepartmentStore_5F_EventScript_15A0C2, 0
- object_event 6, EVENT_OBJ_GFX_WOMAN_4, 0, 17, 6, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, LilycoveCity_DepartmentStore_5F_EventScript_15A0F2, 0
- object_event 7, EVENT_OBJ_GFX_WOMAN_3, 0, 9, 5, 3, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 0, 0, LilycoveCity_DepartmentStore_5F_EventScript_15A12D, 0
-
-LilycoveCity_DepartmentStore_5F_MapWarps:: @ 838A57C
- warp_def 13, 1, 0, 1, MAP_LILYCOVE_CITY_DEPARTMENT_STORE_4F
- warp_def 2, 1, 0, 0, MAP_LILYCOVE_CITY_DEPARTMENT_STORE_ELEVATOR
- warp_def 16, 1, 0, 0, MAP_LILYCOVE_CITY_DEPARTMENT_STORE_ROOFTOP
-
-LilycoveCity_DepartmentStore_5F_MapEvents:: @ 838A594
- map_events LilycoveCity_DepartmentStore_5F_EventObjects, LilycoveCity_DepartmentStore_5F_MapWarps, 0x0, 0x0
diff --git a/data/maps/LilycoveCity_DepartmentStore_5F/header.inc b/data/maps/LilycoveCity_DepartmentStore_5F/header.inc
deleted file mode 100644
index 7cc9e86f8..000000000
--- a/data/maps/LilycoveCity_DepartmentStore_5F/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-LilycoveCity_DepartmentStore_5F:: @ 830676C
- .4byte LilycoveCity_DepartmentStore_5F_Layout
- .4byte LilycoveCity_DepartmentStore_5F_MapEvents
- .4byte LilycoveCity_DepartmentStore_5F_MapScripts
- .4byte 0x0
- .2byte MUS_FRIENDLY
- .2byte 262
- .byte MAPSEC_LILYCOVE_CITY
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/LilycoveCity_DepartmentStore_5F/map.json b/data/maps/LilycoveCity_DepartmentStore_5F/map.json
new file mode 100644
index 000000000..32233acd4
--- /dev/null
+++ b/data/maps/LilycoveCity_DepartmentStore_5F/map.json
@@ -0,0 +1,131 @@
+{
+ "id": "MAP_LILYCOVE_CITY_DEPARTMENT_STORE_5F",
+ "name": "LilycoveCity_DepartmentStore_5F",
+ "layout": "LAYOUT_LILYCOVE_CITY_DEPARTMENT_STORE_5F",
+ "music": "MUS_FRIENDLY",
+ "region_map_section": "MAPSEC_LILYCOVE_CITY",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_LITTLE_GIRL_2",
+ "x": 1,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LilycoveCity_DepartmentStore_5F_EventScript_15A136",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_2",
+ "x": 7,
+ "y": 7,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN_AND_LEFT",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LilycoveCity_DepartmentStore_5F_EventScript_15A124",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_4",
+ "x": 7,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LilycoveCity_DepartmentStore_5F_EventScript_15A061",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_4",
+ "x": 9,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LilycoveCity_DepartmentStore_5F_EventScript_15A094",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_4",
+ "x": 15,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LilycoveCity_DepartmentStore_5F_EventScript_15A0C2",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_4",
+ "x": 17,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LilycoveCity_DepartmentStore_5F_EventScript_15A0F2",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_3",
+ "x": 9,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LilycoveCity_DepartmentStore_5F_EventScript_15A12D",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 13,
+ "y": 1,
+ "elevation": 0,
+ "dest_map": "MAP_LILYCOVE_CITY_DEPARTMENT_STORE_4F",
+ "dest_warp_id": 1
+ },
+ {
+ "x": 2,
+ "y": 1,
+ "elevation": 0,
+ "dest_map": "MAP_LILYCOVE_CITY_DEPARTMENT_STORE_ELEVATOR",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 16,
+ "y": 1,
+ "elevation": 0,
+ "dest_map": "MAP_LILYCOVE_CITY_DEPARTMENT_STORE_ROOFTOP",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/LilycoveCity_EmptyMap/events.inc b/data/maps/LilycoveCity_EmptyMap/events.inc
deleted file mode 100644
index 4ac5c42b8..000000000
--- a/data/maps/LilycoveCity_EmptyMap/events.inc
+++ /dev/null
@@ -1,5 +0,0 @@
-LilycoveCity_EmptyMap_MapWarps:: @ 838A028
- warp_def 7, 5, 0, 2, MAP_LILYCOVE_CITY_HARBOR
-
-LilycoveCity_EmptyMap_MapEvents:: @ 838A030
- map_events 0x0, LilycoveCity_EmptyMap_MapWarps, 0x0, 0x0
diff --git a/data/maps/LilycoveCity_EmptyMap/header.inc b/data/maps/LilycoveCity_EmptyMap/header.inc
deleted file mode 100644
index e5c3db22e..000000000
--- a/data/maps/LilycoveCity_EmptyMap/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-LilycoveCity_EmptyMap:: @ 8306654
- .4byte LilycoveCity_EmptyMap_Layout
- .4byte LilycoveCity_EmptyMap_MapEvents
- .4byte LilycoveCity_EmptyMap_MapScripts
- .4byte 0x0
- .2byte MUS_MINAMO
- .2byte 108
- .byte MAPSEC_LILYCOVE_CITY
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/LilycoveCity_EmptyMap/map.json b/data/maps/LilycoveCity_EmptyMap/map.json
new file mode 100644
index 000000000..c762be1ef
--- /dev/null
+++ b/data/maps/LilycoveCity_EmptyMap/map.json
@@ -0,0 +1,25 @@
+{
+ "id": "MAP_LILYCOVE_CITY_EMPTY_MAP",
+ "name": "LilycoveCity_EmptyMap",
+ "layout": "LAYOUT_LILYCOVE_CITY_EMPTY_MAP",
+ "music": "MUS_MINAMO",
+ "region_map_section": "MAPSEC_LILYCOVE_CITY",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [],
+ "warp_events": [
+ {
+ "x": 7,
+ "y": 5,
+ "elevation": 0,
+ "dest_map": "MAP_LILYCOVE_CITY_HARBOR",
+ "dest_warp_id": 2
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/LilycoveCity_Harbor/events.inc b/data/maps/LilycoveCity_Harbor/events.inc
deleted file mode 100644
index 49f63e89a..000000000
--- a/data/maps/LilycoveCity_Harbor/events.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-LilycoveCity_Harbor_EventObjects:: @ 8389F94
- object_event 1, EVENT_OBJ_GFX_BEAUTY, 0, 8, 10, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, LilycoveCity_Harbor_EventScript_1598A2, FLAG_HIDE_FERRY_ATTENDANT_LILYCOVE
- object_event 2, EVENT_OBJ_GFX_SS_TIDAL, 0, 8, 9, 1, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, 0x0, FLAG_HIDE_SS_TIDAL_LILYCOVE_HARBOR
- object_event 3, EVENT_OBJ_GFX_SAILOR, 0, 3, 13, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, LilycoveCity_Harbor_EventScript_159A8D, 0
- object_event 4, EVENT_OBJ_GFX_SAILOR, 0, 8, 10, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_HIDE_FERRY_SAILOR_LILYCOVE
-
-LilycoveCity_Harbor_MapWarps:: @ 8389FF4
- warp_def 11, 14, 0, 12, MAP_LILYCOVE_CITY
- warp_def 12, 14, 0, 12, MAP_LILYCOVE_CITY
- warp_def 20, 15, 0, 0, MAP_LILYCOVE_CITY_EMPTY_MAP
- warp_def 21, 15, 0, 0, MAP_LILYCOVE_CITY_EMPTY_MAP
-
-LilycoveCity_Harbor_MapEvents:: @ 838A014
- map_events LilycoveCity_Harbor_EventObjects, LilycoveCity_Harbor_MapWarps, 0x0, 0x0
diff --git a/data/maps/LilycoveCity_Harbor/header.inc b/data/maps/LilycoveCity_Harbor/header.inc
deleted file mode 100644
index 5d0508895..000000000
--- a/data/maps/LilycoveCity_Harbor/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-LilycoveCity_Harbor:: @ 8306638
- .4byte Harbor_Layout
- .4byte LilycoveCity_Harbor_MapEvents
- .4byte LilycoveCity_Harbor_MapScripts
- .4byte 0x0
- .2byte MUS_MINAMO
- .2byte 88
- .byte MAPSEC_LILYCOVE_CITY
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/LilycoveCity_Harbor/map.json b/data/maps/LilycoveCity_Harbor/map.json
new file mode 100644
index 000000000..a39d10445
--- /dev/null
+++ b/data/maps/LilycoveCity_Harbor/map.json
@@ -0,0 +1,99 @@
+{
+ "id": "MAP_LILYCOVE_CITY_HARBOR",
+ "name": "LilycoveCity_Harbor",
+ "layout": "LAYOUT_HARBOR",
+ "music": "MUS_MINAMO",
+ "region_map_section": "MAPSEC_LILYCOVE_CITY",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BEAUTY",
+ "x": 8,
+ "y": 10,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LilycoveCity_Harbor_EventScript_1598A2",
+ "flag": "FLAG_HIDE_FERRY_ATTENDANT_LILYCOVE"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_SS_TIDAL",
+ "x": 8,
+ "y": 9,
+ "elevation": 1,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_HIDE_SS_TIDAL_LILYCOVE_HARBOR"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_SAILOR",
+ "x": 3,
+ "y": 13,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LilycoveCity_Harbor_EventScript_159A8D",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_SAILOR",
+ "x": 8,
+ "y": 10,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_HIDE_FERRY_SAILOR_LILYCOVE"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 11,
+ "y": 14,
+ "elevation": 0,
+ "dest_map": "MAP_LILYCOVE_CITY",
+ "dest_warp_id": 12
+ },
+ {
+ "x": 12,
+ "y": 14,
+ "elevation": 0,
+ "dest_map": "MAP_LILYCOVE_CITY",
+ "dest_warp_id": 12
+ },
+ {
+ "x": 20,
+ "y": 15,
+ "elevation": 0,
+ "dest_map": "MAP_LILYCOVE_CITY_EMPTY_MAP",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 21,
+ "y": 15,
+ "elevation": 0,
+ "dest_map": "MAP_LILYCOVE_CITY_EMPTY_MAP",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/LilycoveCity_House1/events.inc b/data/maps/LilycoveCity_House1/events.inc
deleted file mode 100644
index 54fb68433..000000000
--- a/data/maps/LilycoveCity_House1/events.inc
+++ /dev/null
@@ -1,10 +0,0 @@
-LilycoveCity_House1_EventObjects:: @ 838A080
- object_event 1, EVENT_OBJ_GFX_OLD_MAN_1, 0, 4, 5, 3, MOVEMENT_TYPE_FACE_LEFT, 1, 1, 0, 0, LilycoveCity_House1_EventScript_159B86, 0
- object_event 2, EVENT_OBJ_GFX_KECLEON_1, 0, 4, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, LilycoveCity_House1_EventScript_159B8F, 0
-
-LilycoveCity_House1_MapWarps:: @ 838A0B0
- warp_def 3, 8, 0, 8, MAP_LILYCOVE_CITY
- warp_def 4, 8, 0, 8, MAP_LILYCOVE_CITY
-
-LilycoveCity_House1_MapEvents:: @ 838A0C0
- map_events LilycoveCity_House1_EventObjects, LilycoveCity_House1_MapWarps, 0x0, 0x0
diff --git a/data/maps/LilycoveCity_House1/header.inc b/data/maps/LilycoveCity_House1/header.inc
deleted file mode 100644
index a4cede932..000000000
--- a/data/maps/LilycoveCity_House1/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-LilycoveCity_House1:: @ 830668C
- .4byte House1_Layout
- .4byte LilycoveCity_House1_MapEvents
- .4byte LilycoveCity_House1_MapScripts
- .4byte 0x0
- .2byte MUS_MINAMO
- .2byte 59
- .byte MAPSEC_LILYCOVE_CITY
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/LilycoveCity_House1/map.json b/data/maps/LilycoveCity_House1/map.json
new file mode 100644
index 000000000..436108db1
--- /dev/null
+++ b/data/maps/LilycoveCity_House1/map.json
@@ -0,0 +1,59 @@
+{
+ "id": "MAP_LILYCOVE_CITY_HOUSE1",
+ "name": "LilycoveCity_House1",
+ "layout": "LAYOUT_HOUSE1",
+ "music": "MUS_MINAMO",
+ "region_map_section": "MAPSEC_LILYCOVE_CITY",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_OLD_MAN_1",
+ "x": 4,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LilycoveCity_House1_EventScript_159B86",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_KECLEON_1",
+ "x": 4,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LilycoveCity_House1_EventScript_159B8F",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 3,
+ "y": 8,
+ "elevation": 0,
+ "dest_map": "MAP_LILYCOVE_CITY",
+ "dest_warp_id": 8
+ },
+ {
+ "x": 4,
+ "y": 8,
+ "elevation": 0,
+ "dest_map": "MAP_LILYCOVE_CITY",
+ "dest_warp_id": 8
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/LilycoveCity_House2/events.inc b/data/maps/LilycoveCity_House2/events.inc
deleted file mode 100644
index 7362a4d53..000000000
--- a/data/maps/LilycoveCity_House2/events.inc
+++ /dev/null
@@ -1,9 +0,0 @@
-LilycoveCity_House2_EventObjects:: @ 838A0D4
- object_event 1, EVENT_OBJ_GFX_FAT_MAN, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, LilycoveCity_House2_EventScript_159BA3, 0
-
-LilycoveCity_House2_MapWarps:: @ 838A0EC
- warp_def 2, 7, 0, 9, MAP_LILYCOVE_CITY
- warp_def 3, 7, 0, 9, MAP_LILYCOVE_CITY
-
-LilycoveCity_House2_MapEvents:: @ 838A0FC
- map_events LilycoveCity_House2_EventObjects, LilycoveCity_House2_MapWarps, 0x0, 0x0
diff --git a/data/maps/LilycoveCity_House2/header.inc b/data/maps/LilycoveCity_House2/header.inc
deleted file mode 100644
index eb9b120e3..000000000
--- a/data/maps/LilycoveCity_House2/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-LilycoveCity_House2:: @ 83066A8
- .4byte LilycoveCity_House2_Layout
- .4byte LilycoveCity_House2_MapEvents
- .4byte LilycoveCity_House2_MapScripts
- .4byte 0x0
- .2byte MUS_MINAMO
- .2byte 74
- .byte MAPSEC_LILYCOVE_CITY
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/LilycoveCity_House2/map.json b/data/maps/LilycoveCity_House2/map.json
new file mode 100644
index 000000000..5bbf047eb
--- /dev/null
+++ b/data/maps/LilycoveCity_House2/map.json
@@ -0,0 +1,46 @@
+{
+ "id": "MAP_LILYCOVE_CITY_HOUSE2",
+ "name": "LilycoveCity_House2",
+ "layout": "LAYOUT_LILYCOVE_CITY_HOUSE2",
+ "music": "MUS_MINAMO",
+ "region_map_section": "MAPSEC_LILYCOVE_CITY",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_FAT_MAN",
+ "x": 0,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LilycoveCity_House2_EventScript_159BA3",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 2,
+ "y": 7,
+ "elevation": 0,
+ "dest_map": "MAP_LILYCOVE_CITY",
+ "dest_warp_id": 9
+ },
+ {
+ "x": 3,
+ "y": 7,
+ "elevation": 0,
+ "dest_map": "MAP_LILYCOVE_CITY",
+ "dest_warp_id": 9
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/LilycoveCity_House3/events.inc b/data/maps/LilycoveCity_House3/events.inc
deleted file mode 100644
index c6922695e..000000000
--- a/data/maps/LilycoveCity_House3/events.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-LilycoveCity_House3_EventObjects:: @ 838A110
- object_event 1, EVENT_OBJ_GFX_BOY_5, 0, 3, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, LilycoveCity_House3_EventScript_159CE5, 0
- object_event 2, EVENT_OBJ_GFX_WOMAN_2, 0, 7, 4, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, LilycoveCity_House3_EventScript_159BF3, 0
- object_event 3, EVENT_OBJ_GFX_BOY_5, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, LilycoveCity_House3_EventScript_159C7D, 0
- object_event 4, EVENT_OBJ_GFX_BOY_5, 0, 2, 5, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 0, 0, LilycoveCity_House3_EventScript_159CB1, 0
- object_event 5, EVENT_OBJ_GFX_BOY_5, 0, 2, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, LilycoveCity_House3_EventScript_159C49, 0
- object_event 6, EVENT_OBJ_GFX_MAN_1, 0, 7, 5, 3, MOVEMENT_TYPE_FACE_LEFT, 1, 1, 0, 0, LilycoveCity_House3_EventScript_159C32, 0
-
-LilycoveCity_House3_MapWarps:: @ 838A1A0
- warp_def 3, 7, 0, 10, MAP_LILYCOVE_CITY
- warp_def 4, 7, 0, 10, MAP_LILYCOVE_CITY
-
-LilycoveCity_House3_MapEvents:: @ 838A1B0
- map_events LilycoveCity_House3_EventObjects, LilycoveCity_House3_MapWarps, 0x0, 0x0
diff --git a/data/maps/LilycoveCity_House3/header.inc b/data/maps/LilycoveCity_House3/header.inc
deleted file mode 100644
index 4bd0a4509..000000000
--- a/data/maps/LilycoveCity_House3/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-LilycoveCity_House3:: @ 83066C4
- .4byte House2_Layout
- .4byte LilycoveCity_House3_MapEvents
- .4byte LilycoveCity_House3_MapScripts
- .4byte 0x0
- .2byte MUS_MINAMO
- .2byte 60
- .byte MAPSEC_LILYCOVE_CITY
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/LilycoveCity_House3/map.json b/data/maps/LilycoveCity_House3/map.json
new file mode 100644
index 000000000..b9a6565ba
--- /dev/null
+++ b/data/maps/LilycoveCity_House3/map.json
@@ -0,0 +1,111 @@
+{
+ "id": "MAP_LILYCOVE_CITY_HOUSE3",
+ "name": "LilycoveCity_House3",
+ "layout": "LAYOUT_HOUSE2",
+ "music": "MUS_MINAMO",
+ "region_map_section": "MAPSEC_LILYCOVE_CITY",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BOY_5",
+ "x": 3,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LilycoveCity_House3_EventScript_159CE5",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_2",
+ "x": 7,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LilycoveCity_House3_EventScript_159BF3",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BOY_5",
+ "x": 1,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LilycoveCity_House3_EventScript_159C7D",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BOY_5",
+ "x": 2,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LilycoveCity_House3_EventScript_159CB1",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BOY_5",
+ "x": 2,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LilycoveCity_House3_EventScript_159C49",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_1",
+ "x": 7,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LilycoveCity_House3_EventScript_159C32",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 3,
+ "y": 7,
+ "elevation": 0,
+ "dest_map": "MAP_LILYCOVE_CITY",
+ "dest_warp_id": 10
+ },
+ {
+ "x": 4,
+ "y": 7,
+ "elevation": 0,
+ "dest_map": "MAP_LILYCOVE_CITY",
+ "dest_warp_id": 10
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/LilycoveCity_House4/events.inc b/data/maps/LilycoveCity_House4/events.inc
deleted file mode 100644
index 82117837c..000000000
--- a/data/maps/LilycoveCity_House4/events.inc
+++ /dev/null
@@ -1,10 +0,0 @@
-LilycoveCity_House4_EventObjects:: @ 838A1C4
- object_event 1, EVENT_OBJ_GFX_MAN_5, 0, 1, 4, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, LilycoveCity_House4_EventScript_159D42, 0
- object_event 2, EVENT_OBJ_GFX_MAN_1, 0, 7, 4, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, LilycoveCity_House4_EventScript_159D4B, 0
-
-LilycoveCity_House4_MapWarps:: @ 838A1F4
- warp_def 3, 8, 0, 11, MAP_LILYCOVE_CITY
- warp_def 4, 8, 0, 11, MAP_LILYCOVE_CITY
-
-LilycoveCity_House4_MapEvents:: @ 838A204
- map_events LilycoveCity_House4_EventObjects, LilycoveCity_House4_MapWarps, 0x0, 0x0
diff --git a/data/maps/LilycoveCity_House4/header.inc b/data/maps/LilycoveCity_House4/header.inc
deleted file mode 100644
index c85aa04aa..000000000
--- a/data/maps/LilycoveCity_House4/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-LilycoveCity_House4:: @ 83066E0
- .4byte House1_Layout
- .4byte LilycoveCity_House4_MapEvents
- .4byte LilycoveCity_House4_MapScripts
- .4byte 0x0
- .2byte MUS_MINAMO
- .2byte 59
- .byte MAPSEC_LILYCOVE_CITY
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/LilycoveCity_House4/map.json b/data/maps/LilycoveCity_House4/map.json
new file mode 100644
index 000000000..7b0393b39
--- /dev/null
+++ b/data/maps/LilycoveCity_House4/map.json
@@ -0,0 +1,59 @@
+{
+ "id": "MAP_LILYCOVE_CITY_HOUSE4",
+ "name": "LilycoveCity_House4",
+ "layout": "LAYOUT_HOUSE1",
+ "music": "MUS_MINAMO",
+ "region_map_section": "MAPSEC_LILYCOVE_CITY",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_5",
+ "x": 1,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LilycoveCity_House4_EventScript_159D42",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_1",
+ "x": 7,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LilycoveCity_House4_EventScript_159D4B",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 3,
+ "y": 8,
+ "elevation": 0,
+ "dest_map": "MAP_LILYCOVE_CITY",
+ "dest_warp_id": 11
+ },
+ {
+ "x": 4,
+ "y": 8,
+ "elevation": 0,
+ "dest_map": "MAP_LILYCOVE_CITY",
+ "dest_warp_id": 11
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/LilycoveCity_LilycoveMuseum_1F/events.inc b/data/maps/LilycoveCity_LilycoveMuseum_1F/events.inc
deleted file mode 100644
index f9fc9231e..000000000
--- a/data/maps/LilycoveCity_LilycoveMuseum_1F/events.inc
+++ /dev/null
@@ -1,37 +0,0 @@
-LilycoveCity_LilycoveMuseum_1F_EventObjects:: @ 8389564
- object_event 1, EVENT_OBJ_GFX_BEAUTY, 0, 5, 12, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, LilycoveCity_LilycoveMuseum_1F_EventScript_15841C, 0
- object_event 2, EVENT_OBJ_GFX_GENTLEMAN, 0, 16, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, LilycoveCity_LilycoveMuseum_1F_EventScript_158425, FLAG_HIDE_LILYCOVE_MUSEUM_CURATOR
- object_event 3, EVENT_OBJ_GFX_SCHOOL_KID_M, 0, 13, 7, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, LilycoveCity_LilycoveMuseum_1F_EventScript_158558, 0
- object_event 4, EVENT_OBJ_GFX_ARTIST, 0, 13, 10, 3, MOVEMENT_TYPE_WANDER_LEFT_AND_RIGHT, 2, 0, 0, 0, LilycoveCity_LilycoveMuseum_1F_EventScript_158561, 0
- object_event 5, EVENT_OBJ_GFX_LITTLE_BOY_1, 0, 2, 8, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, LilycoveCity_LilycoveMuseum_1F_EventScript_15856A, 0
- object_event 6, EVENT_OBJ_GFX_WOMAN_5, 0, 3, 8, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, LilycoveCity_LilycoveMuseum_1F_EventScript_158573, 0
- object_event 7, EVENT_OBJ_GFX_WOMAN_3, 0, 11, 3, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, LilycoveCity_LilycoveMuseum_1F_EventScript_15857C, FLAG_HIDE_LILYCOVE_MUSEUM_PAINTING_LADY
- object_event 8, EVENT_OBJ_GFX_ARTIST, 0, 19, 3, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, LilycoveCity_LilycoveMuseum_1F_EventScript_15858E, FLAG_HIDE_LILYCOVE_MUSEUM_PAINTER
- object_event 9, EVENT_OBJ_GFX_FAT_MAN, 0, 2, 2, 3, MOVEMENT_TYPE_WANDER_AROUND, 2, 2, 0, 0, LilycoveCity_LilycoveMuseum_1F_EventScript_1585A3, FLAG_HIDE_LILYCOVE_MUSEUM_VISITORS
- object_event 10, EVENT_OBJ_GFX_PSYCHIC_M, 0, 6, 2, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, LilycoveCity_LilycoveMuseum_1F_EventScript_158585, FLAG_HIDE_LILYCOVE_MUSEUM_PAINTING_MAN
-
-LilycoveCity_LilycoveMuseum_1F_MapWarps:: @ 8389654
- warp_def 9, 13, 0, 3, MAP_LILYCOVE_CITY
- warp_def 10, 13, 0, 13, MAP_LILYCOVE_CITY
- warp_def 16, 1, 0, 0, MAP_LILYCOVE_CITY_LILYCOVE_MUSEUM_2F
-
-LilycoveCity_LilycoveMuseum_1F_MapBGEvents:: @ 838966C
- bg_event 1, 1, 0, BG_EVENT_PLAYER_FACING_ANY, LilycoveCity_LilycoveMuseum_1F_EventScript_158510
- bg_event 2, 1, 0, BG_EVENT_PLAYER_FACING_ANY, LilycoveCity_LilycoveMuseum_1F_EventScript_158510
- bg_event 5, 1, 0, BG_EVENT_PLAYER_FACING_ANY, LilycoveCity_LilycoveMuseum_1F_EventScript_158534
- bg_event 6, 1, 0, BG_EVENT_PLAYER_FACING_ANY, LilycoveCity_LilycoveMuseum_1F_EventScript_158534
- bg_event 9, 1, 0, BG_EVENT_PLAYER_FACING_ANY, LilycoveCity_LilycoveMuseum_1F_EventScript_158507
- bg_event 3, 6, 0, BG_EVENT_PLAYER_FACING_ANY, LilycoveCity_LilycoveMuseum_1F_EventScript_158519
- bg_event 2, 6, 0, BG_EVENT_PLAYER_FACING_ANY, LilycoveCity_LilycoveMuseum_1F_EventScript_158519
- bg_event 15, 12, 0, BG_EVENT_PLAYER_FACING_ANY, LilycoveCity_LilycoveMuseum_1F_EventScript_15853D
- bg_event 11, 1, 0, BG_EVENT_PLAYER_FACING_ANY, LilycoveCity_LilycoveMuseum_1F_EventScript_158507
- bg_event 6, 6, 0, BG_EVENT_PLAYER_FACING_ANY, LilycoveCity_LilycoveMuseum_1F_EventScript_15852B
- bg_event 17, 9, 0, BG_EVENT_PLAYER_FACING_ANY, LilycoveCity_LilycoveMuseum_1F_EventScript_15854F
- bg_event 19, 1, 0, BG_EVENT_PLAYER_FACING_ANY, LilycoveCity_LilycoveMuseum_1F_EventScript_158522
- bg_event 20, 1, 0, BG_EVENT_PLAYER_FACING_ANY, LilycoveCity_LilycoveMuseum_1F_EventScript_158522
- bg_event 18, 9, 0, BG_EVENT_PLAYER_FACING_ANY, LilycoveCity_LilycoveMuseum_1F_EventScript_15854F
- bg_event 18, 11, 0, BG_EVENT_PLAYER_FACING_ANY, LilycoveCity_LilycoveMuseum_1F_EventScript_158546
- bg_event 16, 9, 0, BG_EVENT_PLAYER_FACING_ANY, LilycoveCity_LilycoveMuseum_1F_EventScript_15854F
-
-LilycoveCity_LilycoveMuseum_1F_MapEvents:: @ 838972C
- map_events LilycoveCity_LilycoveMuseum_1F_EventObjects, LilycoveCity_LilycoveMuseum_1F_MapWarps, 0x0, LilycoveCity_LilycoveMuseum_1F_MapBGEvents
diff --git a/data/maps/LilycoveCity_LilycoveMuseum_1F/header.inc b/data/maps/LilycoveCity_LilycoveMuseum_1F/header.inc
deleted file mode 100644
index 696e823b3..000000000
--- a/data/maps/LilycoveCity_LilycoveMuseum_1F/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-LilycoveCity_LilycoveMuseum_1F:: @ 8306558
- .4byte LilycoveCity_LilycoveMuseum_1F_Layout
- .4byte LilycoveCity_LilycoveMuseum_1F_MapEvents
- .4byte LilycoveCity_LilycoveMuseum_1F_MapScripts
- .4byte 0x0
- .2byte MUS_BIJYUTU
- .2byte 103
- .byte MAPSEC_LILYCOVE_CITY
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/LilycoveCity_LilycoveMuseum_1F/map.json b/data/maps/LilycoveCity_LilycoveMuseum_1F/map.json
new file mode 100644
index 000000000..d24a66165
--- /dev/null
+++ b/data/maps/LilycoveCity_LilycoveMuseum_1F/map.json
@@ -0,0 +1,299 @@
+{
+ "id": "MAP_LILYCOVE_CITY_LILYCOVE_MUSEUM_1F",
+ "name": "LilycoveCity_LilycoveMuseum_1F",
+ "layout": "LAYOUT_LILYCOVE_CITY_LILYCOVE_MUSEUM_1F",
+ "music": "MUS_BIJYUTU",
+ "region_map_section": "MAPSEC_LILYCOVE_CITY",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BEAUTY",
+ "x": 5,
+ "y": 12,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LilycoveCity_LilycoveMuseum_1F_EventScript_15841C",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_GENTLEMAN",
+ "x": 16,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LilycoveCity_LilycoveMuseum_1F_EventScript_158425",
+ "flag": "FLAG_HIDE_LILYCOVE_MUSEUM_CURATOR"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_SCHOOL_KID_M",
+ "x": 13,
+ "y": 7,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LilycoveCity_LilycoveMuseum_1F_EventScript_158558",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ARTIST",
+ "x": 13,
+ "y": 10,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_LEFT_AND_RIGHT",
+ "movement_range_x": 2,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LilycoveCity_LilycoveMuseum_1F_EventScript_158561",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_LITTLE_BOY_1",
+ "x": 2,
+ "y": 8,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LilycoveCity_LilycoveMuseum_1F_EventScript_15856A",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_5",
+ "x": 3,
+ "y": 8,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LilycoveCity_LilycoveMuseum_1F_EventScript_158573",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_3",
+ "x": 11,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LilycoveCity_LilycoveMuseum_1F_EventScript_15857C",
+ "flag": "FLAG_HIDE_LILYCOVE_MUSEUM_PAINTING_LADY"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ARTIST",
+ "x": 19,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LilycoveCity_LilycoveMuseum_1F_EventScript_15858E",
+ "flag": "FLAG_HIDE_LILYCOVE_MUSEUM_PAINTER"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_FAT_MAN",
+ "x": 2,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_AROUND",
+ "movement_range_x": 2,
+ "movement_range_y": 2,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LilycoveCity_LilycoveMuseum_1F_EventScript_1585A3",
+ "flag": "FLAG_HIDE_LILYCOVE_MUSEUM_VISITORS"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_PSYCHIC_M",
+ "x": 6,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LilycoveCity_LilycoveMuseum_1F_EventScript_158585",
+ "flag": "FLAG_HIDE_LILYCOVE_MUSEUM_PAINTING_MAN"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 9,
+ "y": 13,
+ "elevation": 0,
+ "dest_map": "MAP_LILYCOVE_CITY",
+ "dest_warp_id": 3
+ },
+ {
+ "x": 10,
+ "y": 13,
+ "elevation": 0,
+ "dest_map": "MAP_LILYCOVE_CITY",
+ "dest_warp_id": 13
+ },
+ {
+ "x": 16,
+ "y": 1,
+ "elevation": 0,
+ "dest_map": "MAP_LILYCOVE_CITY_LILYCOVE_MUSEUM_2F",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [],
+ "bg_events": [
+ {
+ "type": "sign",
+ "x": 1,
+ "y": 1,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "LilycoveCity_LilycoveMuseum_1F_EventScript_158510"
+ },
+ {
+ "type": "sign",
+ "x": 2,
+ "y": 1,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "LilycoveCity_LilycoveMuseum_1F_EventScript_158510"
+ },
+ {
+ "type": "sign",
+ "x": 5,
+ "y": 1,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "LilycoveCity_LilycoveMuseum_1F_EventScript_158534"
+ },
+ {
+ "type": "sign",
+ "x": 6,
+ "y": 1,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "LilycoveCity_LilycoveMuseum_1F_EventScript_158534"
+ },
+ {
+ "type": "sign",
+ "x": 9,
+ "y": 1,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "LilycoveCity_LilycoveMuseum_1F_EventScript_158507"
+ },
+ {
+ "type": "sign",
+ "x": 3,
+ "y": 6,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "LilycoveCity_LilycoveMuseum_1F_EventScript_158519"
+ },
+ {
+ "type": "sign",
+ "x": 2,
+ "y": 6,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "LilycoveCity_LilycoveMuseum_1F_EventScript_158519"
+ },
+ {
+ "type": "sign",
+ "x": 15,
+ "y": 12,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "LilycoveCity_LilycoveMuseum_1F_EventScript_15853D"
+ },
+ {
+ "type": "sign",
+ "x": 11,
+ "y": 1,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "LilycoveCity_LilycoveMuseum_1F_EventScript_158507"
+ },
+ {
+ "type": "sign",
+ "x": 6,
+ "y": 6,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "LilycoveCity_LilycoveMuseum_1F_EventScript_15852B"
+ },
+ {
+ "type": "sign",
+ "x": 17,
+ "y": 9,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "LilycoveCity_LilycoveMuseum_1F_EventScript_15854F"
+ },
+ {
+ "type": "sign",
+ "x": 19,
+ "y": 1,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "LilycoveCity_LilycoveMuseum_1F_EventScript_158522"
+ },
+ {
+ "type": "sign",
+ "x": 20,
+ "y": 1,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "LilycoveCity_LilycoveMuseum_1F_EventScript_158522"
+ },
+ {
+ "type": "sign",
+ "x": 18,
+ "y": 9,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "LilycoveCity_LilycoveMuseum_1F_EventScript_15854F"
+ },
+ {
+ "type": "sign",
+ "x": 18,
+ "y": 11,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "LilycoveCity_LilycoveMuseum_1F_EventScript_158546"
+ },
+ {
+ "type": "sign",
+ "x": 16,
+ "y": 9,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "LilycoveCity_LilycoveMuseum_1F_EventScript_15854F"
+ }
+ ]
+} \ No newline at end of file
diff --git a/data/maps/LilycoveCity_LilycoveMuseum_2F/events.inc b/data/maps/LilycoveCity_LilycoveMuseum_2F/events.inc
deleted file mode 100644
index ae0a59a89..000000000
--- a/data/maps/LilycoveCity_LilycoveMuseum_2F/events.inc
+++ /dev/null
@@ -1,25 +0,0 @@
-LilycoveCity_LilycoveMuseum_2F_EventObjects:: @ 8389740
- object_event 1, EVENT_OBJ_GFX_GENTLEMAN, 0, 10, 8, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, LilycoveCity_LilycoveMuseum_2F_EventScript_1586D8, 0
- object_event 2, EVENT_OBJ_GFX_GIRL_2, 0, 19, 10, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, LilycoveCity_LilycoveMuseum_2F_EventScript_158805, FLAG_HIDE_LILYCOVE_MUSEUM_PAINTING_GIRL
- object_event 3, EVENT_OBJ_GFX_OLD_MAN_1, 0, 7, 3, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, LilycoveCity_LilycoveMuseum_2F_EventScript_15880E, FLAG_HIDE_LILYCOVE_MUSEUM_VISITORS
- object_event 4, EVENT_OBJ_GFX_BOY_4, 0, 14, 6, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, LilycoveCity_LilycoveMuseum_2F_EventScript_158817, FLAG_HIDE_LILYCOVE_MUSEUM_VISITORS
-
-LilycoveCity_LilycoveMuseum_2F_MapWarps:: @ 83897A0
- warp_def 13, 1, 0, 2, MAP_LILYCOVE_CITY_LILYCOVE_MUSEUM_1F
-
-LilycoveCity_LilycoveMuseum_2F_MapBGEvents:: @ 83897A8
- bg_event 14, 10, 0, BG_EVENT_PLAYER_FACING_ANY, LilycoveCity_LilycoveMuseum_2F_EventScript_15879D
- bg_event 15, 10, 0, BG_EVENT_PLAYER_FACING_ANY, LilycoveCity_LilycoveMuseum_2F_EventScript_15879D
- bg_event 3, 6, 0, BG_EVENT_PLAYER_FACING_ANY, LilycoveCity_LilycoveMuseum_2F_EventScript_1587B0
- bg_event 2, 6, 0, BG_EVENT_PLAYER_FACING_ANY, LilycoveCity_LilycoveMuseum_2F_EventScript_1587B0
- bg_event 10, 6, 0, BG_EVENT_PLAYER_FACING_ANY, LilycoveCity_LilycoveMuseum_2F_EventScript_1587C3
- bg_event 11, 6, 0, BG_EVENT_PLAYER_FACING_ANY, LilycoveCity_LilycoveMuseum_2F_EventScript_1587C3
- bg_event 19, 6, 0, BG_EVENT_PLAYER_FACING_ANY, LilycoveCity_LilycoveMuseum_2F_EventScript_1587D6
- bg_event 18, 6, 0, BG_EVENT_PLAYER_FACING_ANY, LilycoveCity_LilycoveMuseum_2F_EventScript_1587D6
- bg_event 6, 10, 0, BG_EVENT_PLAYER_FACING_ANY, LilycoveCity_LilycoveMuseum_2F_EventScript_1587E9
- bg_event 7, 10, 0, BG_EVENT_PLAYER_FACING_ANY, LilycoveCity_LilycoveMuseum_2F_EventScript_1587E9
- bg_event 11, 2, 0, BG_EVENT_PLAYER_FACING_ANY, LilycoveCity_LilycoveMuseum_2F_EventScript_15853D
- bg_event 15, 2, 0, BG_EVENT_PLAYER_FACING_ANY, LilycoveCity_LilycoveMuseum_2F_EventScript_15853D
-
-LilycoveCity_LilycoveMuseum_2F_MapEvents:: @ 8389838
- map_events LilycoveCity_LilycoveMuseum_2F_EventObjects, LilycoveCity_LilycoveMuseum_2F_MapWarps, 0x0, LilycoveCity_LilycoveMuseum_2F_MapBGEvents
diff --git a/data/maps/LilycoveCity_LilycoveMuseum_2F/header.inc b/data/maps/LilycoveCity_LilycoveMuseum_2F/header.inc
deleted file mode 100644
index 8fe60bc17..000000000
--- a/data/maps/LilycoveCity_LilycoveMuseum_2F/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-LilycoveCity_LilycoveMuseum_2F:: @ 8306574
- .4byte LilycoveCity_LilycoveMuseum_2F_Layout
- .4byte LilycoveCity_LilycoveMuseum_2F_MapEvents
- .4byte LilycoveCity_LilycoveMuseum_2F_MapScripts
- .4byte 0x0
- .2byte MUS_BIJYUTU
- .2byte 104
- .byte MAPSEC_LILYCOVE_CITY
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/LilycoveCity_LilycoveMuseum_2F/map.json b/data/maps/LilycoveCity_LilycoveMuseum_2F/map.json
new file mode 100644
index 000000000..e463c2b09
--- /dev/null
+++ b/data/maps/LilycoveCity_LilycoveMuseum_2F/map.json
@@ -0,0 +1,175 @@
+{
+ "id": "MAP_LILYCOVE_CITY_LILYCOVE_MUSEUM_2F",
+ "name": "LilycoveCity_LilycoveMuseum_2F",
+ "layout": "LAYOUT_LILYCOVE_CITY_LILYCOVE_MUSEUM_2F",
+ "music": "MUS_BIJYUTU",
+ "region_map_section": "MAPSEC_LILYCOVE_CITY",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_GENTLEMAN",
+ "x": 10,
+ "y": 8,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LilycoveCity_LilycoveMuseum_2F_EventScript_1586D8",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_GIRL_2",
+ "x": 19,
+ "y": 10,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LilycoveCity_LilycoveMuseum_2F_EventScript_158805",
+ "flag": "FLAG_HIDE_LILYCOVE_MUSEUM_PAINTING_GIRL"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_OLD_MAN_1",
+ "x": 7,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LilycoveCity_LilycoveMuseum_2F_EventScript_15880E",
+ "flag": "FLAG_HIDE_LILYCOVE_MUSEUM_VISITORS"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BOY_4",
+ "x": 14,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LilycoveCity_LilycoveMuseum_2F_EventScript_158817",
+ "flag": "FLAG_HIDE_LILYCOVE_MUSEUM_VISITORS"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 13,
+ "y": 1,
+ "elevation": 0,
+ "dest_map": "MAP_LILYCOVE_CITY_LILYCOVE_MUSEUM_1F",
+ "dest_warp_id": 2
+ }
+ ],
+ "coord_events": [],
+ "bg_events": [
+ {
+ "type": "sign",
+ "x": 14,
+ "y": 10,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "LilycoveCity_LilycoveMuseum_2F_EventScript_15879D"
+ },
+ {
+ "type": "sign",
+ "x": 15,
+ "y": 10,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "LilycoveCity_LilycoveMuseum_2F_EventScript_15879D"
+ },
+ {
+ "type": "sign",
+ "x": 3,
+ "y": 6,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "LilycoveCity_LilycoveMuseum_2F_EventScript_1587B0"
+ },
+ {
+ "type": "sign",
+ "x": 2,
+ "y": 6,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "LilycoveCity_LilycoveMuseum_2F_EventScript_1587B0"
+ },
+ {
+ "type": "sign",
+ "x": 10,
+ "y": 6,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "LilycoveCity_LilycoveMuseum_2F_EventScript_1587C3"
+ },
+ {
+ "type": "sign",
+ "x": 11,
+ "y": 6,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "LilycoveCity_LilycoveMuseum_2F_EventScript_1587C3"
+ },
+ {
+ "type": "sign",
+ "x": 19,
+ "y": 6,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "LilycoveCity_LilycoveMuseum_2F_EventScript_1587D6"
+ },
+ {
+ "type": "sign",
+ "x": 18,
+ "y": 6,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "LilycoveCity_LilycoveMuseum_2F_EventScript_1587D6"
+ },
+ {
+ "type": "sign",
+ "x": 6,
+ "y": 10,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "LilycoveCity_LilycoveMuseum_2F_EventScript_1587E9"
+ },
+ {
+ "type": "sign",
+ "x": 7,
+ "y": 10,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "LilycoveCity_LilycoveMuseum_2F_EventScript_1587E9"
+ },
+ {
+ "type": "sign",
+ "x": 11,
+ "y": 2,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "LilycoveCity_LilycoveMuseum_2F_EventScript_15853D"
+ },
+ {
+ "type": "sign",
+ "x": 15,
+ "y": 2,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "LilycoveCity_LilycoveMuseum_2F_EventScript_15853D"
+ }
+ ]
+} \ No newline at end of file
diff --git a/data/maps/LilycoveCity_MoveDeletersHouse/events.inc b/data/maps/LilycoveCity_MoveDeletersHouse/events.inc
deleted file mode 100644
index 46bf5506a..000000000
--- a/data/maps/LilycoveCity_MoveDeletersHouse/events.inc
+++ /dev/null
@@ -1,9 +0,0 @@
-LilycoveCity_MoveDeletersHouse_EventObjects:: @ 838A044
- object_event 1, EVENT_OBJ_GFX_OLD_MAN_1, 0, 4, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, LilycoveCity_MoveDeletersHouse_EventScript_159AAE, 0
-
-LilycoveCity_MoveDeletersHouse_MapWarps:: @ 838A05C
- warp_def 3, 7, 0, 7, MAP_LILYCOVE_CITY
- warp_def 4, 7, 0, 7, MAP_LILYCOVE_CITY
-
-LilycoveCity_MoveDeletersHouse_MapEvents:: @ 838A06C
- map_events LilycoveCity_MoveDeletersHouse_EventObjects, LilycoveCity_MoveDeletersHouse_MapWarps, 0x0, 0x0
diff --git a/data/maps/LilycoveCity_MoveDeletersHouse/header.inc b/data/maps/LilycoveCity_MoveDeletersHouse/header.inc
deleted file mode 100644
index d2483b4e5..000000000
--- a/data/maps/LilycoveCity_MoveDeletersHouse/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-LilycoveCity_MoveDeletersHouse:: @ 8306670
- .4byte House2_Layout
- .4byte LilycoveCity_MoveDeletersHouse_MapEvents
- .4byte LilycoveCity_MoveDeletersHouse_MapScripts
- .4byte 0x0
- .2byte MUS_MINAMO
- .2byte 60
- .byte MAPSEC_LILYCOVE_CITY
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/LilycoveCity_MoveDeletersHouse/map.json b/data/maps/LilycoveCity_MoveDeletersHouse/map.json
new file mode 100644
index 000000000..d84c669f7
--- /dev/null
+++ b/data/maps/LilycoveCity_MoveDeletersHouse/map.json
@@ -0,0 +1,46 @@
+{
+ "id": "MAP_LILYCOVE_CITY_MOVE_DELETERS_HOUSE",
+ "name": "LilycoveCity_MoveDeletersHouse",
+ "layout": "LAYOUT_HOUSE2",
+ "music": "MUS_MINAMO",
+ "region_map_section": "MAPSEC_LILYCOVE_CITY",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_OLD_MAN_1",
+ "x": 4,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LilycoveCity_MoveDeletersHouse_EventScript_159AAE",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 3,
+ "y": 7,
+ "elevation": 0,
+ "dest_map": "MAP_LILYCOVE_CITY",
+ "dest_warp_id": 7
+ },
+ {
+ "x": 4,
+ "y": 7,
+ "elevation": 0,
+ "dest_map": "MAP_LILYCOVE_CITY",
+ "dest_warp_id": 7
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/LilycoveCity_PokemonCenter_1F/events.inc b/data/maps/LilycoveCity_PokemonCenter_1F/events.inc
deleted file mode 100644
index 41bc25d85..000000000
--- a/data/maps/LilycoveCity_PokemonCenter_1F/events.inc
+++ /dev/null
@@ -1,12 +0,0 @@
-LilycoveCity_PokemonCenter_1F_EventObjects:: @ 8389D94
- object_event 1, EVENT_OBJ_GFX_NURSE, 0, 7, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, LilycoveCity_PokemonCenter_1F_EventScript_159331, 0
- object_event 2, EVENT_OBJ_GFX_BOY_1, 0, 10, 7, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, LilycoveCity_PokemonCenter_1F_EventScript_15933F, 0
- object_event 3, EVENT_OBJ_GFX_MANIAC, 0, 11, 8, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, LilycoveCity_PokemonCenter_1F_EventScript_159348, 0
-
-LilycoveCity_PokemonCenter_1F_MapWarps:: @ 8389DDC
- warp_def 7, 8, 3, 2, MAP_LILYCOVE_CITY
- warp_def 6, 8, 3, 2, MAP_LILYCOVE_CITY
- warp_def 1, 6, 4, 0, MAP_LILYCOVE_CITY_POKEMON_CENTER_2F
-
-LilycoveCity_PokemonCenter_1F_MapEvents:: @ 8389DF4
- map_events LilycoveCity_PokemonCenter_1F_EventObjects, LilycoveCity_PokemonCenter_1F_MapWarps, 0x0, 0x0
diff --git a/data/maps/LilycoveCity_PokemonCenter_1F/header.inc b/data/maps/LilycoveCity_PokemonCenter_1F/header.inc
deleted file mode 100644
index ec56cfc5d..000000000
--- a/data/maps/LilycoveCity_PokemonCenter_1F/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-LilycoveCity_PokemonCenter_1F:: @ 83065C8
- .4byte PokemonCenter_1F_Layout
- .4byte LilycoveCity_PokemonCenter_1F_MapEvents
- .4byte LilycoveCity_PokemonCenter_1F_MapScripts
- .4byte 0x0
- .2byte MUS_POKECEN
- .2byte 61
- .byte MAPSEC_LILYCOVE_CITY
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/LilycoveCity_PokemonCenter_1F/map.json b/data/maps/LilycoveCity_PokemonCenter_1F/map.json
new file mode 100644
index 000000000..f9c5e37ec
--- /dev/null
+++ b/data/maps/LilycoveCity_PokemonCenter_1F/map.json
@@ -0,0 +1,79 @@
+{
+ "id": "MAP_LILYCOVE_CITY_POKEMON_CENTER_1F",
+ "name": "LilycoveCity_PokemonCenter_1F",
+ "layout": "LAYOUT_POKEMON_CENTER_1F",
+ "music": "MUS_POKECEN",
+ "region_map_section": "MAPSEC_LILYCOVE_CITY",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_NURSE",
+ "x": 7,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LilycoveCity_PokemonCenter_1F_EventScript_159331",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BOY_1",
+ "x": 10,
+ "y": 7,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LilycoveCity_PokemonCenter_1F_EventScript_15933F",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MANIAC",
+ "x": 11,
+ "y": 8,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LilycoveCity_PokemonCenter_1F_EventScript_159348",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 7,
+ "y": 8,
+ "elevation": 3,
+ "dest_map": "MAP_LILYCOVE_CITY",
+ "dest_warp_id": 2
+ },
+ {
+ "x": 6,
+ "y": 8,
+ "elevation": 3,
+ "dest_map": "MAP_LILYCOVE_CITY",
+ "dest_warp_id": 2
+ },
+ {
+ "x": 1,
+ "y": 6,
+ "elevation": 4,
+ "dest_map": "MAP_LILYCOVE_CITY_POKEMON_CENTER_2F",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/LilycoveCity_PokemonCenter_2F/events.inc b/data/maps/LilycoveCity_PokemonCenter_2F/events.inc
deleted file mode 100644
index 406266099..000000000
--- a/data/maps/LilycoveCity_PokemonCenter_2F/events.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-LilycoveCity_PokemonCenter_2F_EventObjects:: @ 8389E08
- object_event 1, EVENT_OBJ_GFX_TEALA, 0, 4, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, LilycoveCity_PokemonCenter_2F_EventScript_159377, 0
- object_event 2, EVENT_OBJ_GFX_TEALA, 0, 7, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, LilycoveCity_PokemonCenter_2F_EventScript_15937D, 0
- object_event 3, EVENT_OBJ_GFX_TEALA, 0, 10, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, LilycoveCity_PokemonCenter_2F_EventScript_159383, 0
-
-LilycoveCity_PokemonCenter_2F_MapWarps:: @ 8389E50
- warp_def 1, 5, 4, 2, MAP_LILYCOVE_CITY_POKEMON_CENTER_1F
- warp_def 5, 1, 0, 0, MAP_SINGLE_BATTLE_COLOSSEUM
- warp_def 8, 1, 0, 0, MAP_TRADE_CENTER
- warp_def 11, 1, 0, 0, MAP_RECORD_CORNER
- warp_def 0, 0, 0, 0, MAP_DOUBLE_BATTLE_COLOSSEUM
-
-LilycoveCity_PokemonCenter_2F_MapEvents:: @ 8389E78
- map_events LilycoveCity_PokemonCenter_2F_EventObjects, LilycoveCity_PokemonCenter_2F_MapWarps, 0x0, 0x0
diff --git a/data/maps/LilycoveCity_PokemonCenter_2F/header.inc b/data/maps/LilycoveCity_PokemonCenter_2F/header.inc
deleted file mode 100644
index a46e9e291..000000000
--- a/data/maps/LilycoveCity_PokemonCenter_2F/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-LilycoveCity_PokemonCenter_2F:: @ 83065E4
- .4byte PokemonCenter_2F_Layout
- .4byte LilycoveCity_PokemonCenter_2F_MapEvents
- .4byte LilycoveCity_PokemonCenter_2F_MapScripts
- .4byte 0x0
- .2byte MUS_POKECEN
- .2byte 62
- .byte MAPSEC_LILYCOVE_CITY
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/LilycoveCity_PokemonCenter_2F/map.json b/data/maps/LilycoveCity_PokemonCenter_2F/map.json
new file mode 100644
index 000000000..bbc4ebb00
--- /dev/null
+++ b/data/maps/LilycoveCity_PokemonCenter_2F/map.json
@@ -0,0 +1,93 @@
+{
+ "id": "MAP_LILYCOVE_CITY_POKEMON_CENTER_2F",
+ "name": "LilycoveCity_PokemonCenter_2F",
+ "layout": "LAYOUT_POKEMON_CENTER_2F",
+ "music": "MUS_POKECEN",
+ "region_map_section": "MAPSEC_LILYCOVE_CITY",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_TEALA",
+ "x": 4,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LilycoveCity_PokemonCenter_2F_EventScript_159377",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_TEALA",
+ "x": 7,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LilycoveCity_PokemonCenter_2F_EventScript_15937D",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_TEALA",
+ "x": 10,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LilycoveCity_PokemonCenter_2F_EventScript_159383",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 1,
+ "y": 5,
+ "elevation": 4,
+ "dest_map": "MAP_LILYCOVE_CITY_POKEMON_CENTER_1F",
+ "dest_warp_id": 2
+ },
+ {
+ "x": 5,
+ "y": 1,
+ "elevation": 0,
+ "dest_map": "MAP_SINGLE_BATTLE_COLOSSEUM",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 8,
+ "y": 1,
+ "elevation": 0,
+ "dest_map": "MAP_TRADE_CENTER",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 11,
+ "y": 1,
+ "elevation": 0,
+ "dest_map": "MAP_RECORD_CORNER",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 0,
+ "y": 0,
+ "elevation": 0,
+ "dest_map": "MAP_DOUBLE_BATTLE_COLOSSEUM",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/LilycoveCity_PokemonTrainerFanClub/events.inc b/data/maps/LilycoveCity_PokemonTrainerFanClub/events.inc
deleted file mode 100644
index e5b68f635..000000000
--- a/data/maps/LilycoveCity_PokemonTrainerFanClub/events.inc
+++ /dev/null
@@ -1,16 +0,0 @@
-LilycoveCity_PokemonTrainerFanClub_EventObjects:: @ 8389EB0
- object_event 1, EVENT_OBJ_GFX_LASS, 0, 3, 11, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, LilycoveCity_PokemonTrainerFanClub_EventScript_1595A6, 0
- object_event 2, EVENT_OBJ_GFX_MAN_5, 0, 8, 10, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, LilycoveCity_PokemonTrainerFanClub_EventScript_15952F, 0
- object_event 3, EVENT_OBJ_GFX_MAN_3, 0, 6, 11, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, LilycoveCity_PokemonTrainerFanClub_EventScript_15961D, 0
- object_event 4, EVENT_OBJ_GFX_LITTLE_GIRL_2, 0, 5, 8, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, LilycoveCity_PokemonTrainerFanClub_EventScript_159694, 0
- object_event 5, EVENT_OBJ_GFX_LITTLE_BOY_1, 0, 7, 11, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, LilycoveCity_PokemonTrainerFanClub_EventScript_15970B, FLAG_HIDE_FANCLUB_LITTLE_BOY
- object_event 6, EVENT_OBJ_GFX_BOY_2, 0, 1, 9, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, LilycoveCity_PokemonTrainerFanClub_EventScript_15976D, FLAG_HIDE_FANCLUB_BOY
- object_event 7, EVENT_OBJ_GFX_WOMAN_4, 0, 3, 10, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, LilycoveCity_PokemonTrainerFanClub_EventScript_1597CF, FLAG_HIDE_FANCLUB_LADY
- object_event 8, EVENT_OBJ_GFX_OLD_WOMAN_1, 0, 10, 10, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, LilycoveCity_PokemonTrainerFanClub_EventScript_159831, FLAG_HIDE_FANCLUB_OLD_LADY
-
-LilycoveCity_PokemonTrainerFanClub_MapWarps:: @ 8389F70
- warp_def 6, 13, 0, 5, MAP_LILYCOVE_CITY
- warp_def 5, 13, 0, 5, MAP_LILYCOVE_CITY
-
-LilycoveCity_PokemonTrainerFanClub_MapEvents:: @ 8389F80
- map_events LilycoveCity_PokemonTrainerFanClub_EventObjects, LilycoveCity_PokemonTrainerFanClub_MapWarps, 0x0, 0x0
diff --git a/data/maps/LilycoveCity_PokemonTrainerFanClub/header.inc b/data/maps/LilycoveCity_PokemonTrainerFanClub/header.inc
deleted file mode 100644
index e5eb0eaa7..000000000
--- a/data/maps/LilycoveCity_PokemonTrainerFanClub/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-LilycoveCity_PokemonTrainerFanClub:: @ 830661C
- .4byte LilycoveCity_PokemonTrainerFanClub_Layout
- .4byte LilycoveCity_PokemonTrainerFanClub_MapEvents
- .4byte LilycoveCity_PokemonTrainerFanClub_MapScripts
- .4byte 0x0
- .2byte MUS_MINAMO
- .2byte 107
- .byte MAPSEC_LILYCOVE_CITY
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/LilycoveCity_PokemonTrainerFanClub/map.json b/data/maps/LilycoveCity_PokemonTrainerFanClub/map.json
new file mode 100644
index 000000000..1e0fe952d
--- /dev/null
+++ b/data/maps/LilycoveCity_PokemonTrainerFanClub/map.json
@@ -0,0 +1,137 @@
+{
+ "id": "MAP_LILYCOVE_CITY_POKEMON_TRAINER_FAN_CLUB",
+ "name": "LilycoveCity_PokemonTrainerFanClub",
+ "layout": "LAYOUT_LILYCOVE_CITY_POKEMON_TRAINER_FAN_CLUB",
+ "music": "MUS_MINAMO",
+ "region_map_section": "MAPSEC_LILYCOVE_CITY",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_LASS",
+ "x": 3,
+ "y": 11,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LilycoveCity_PokemonTrainerFanClub_EventScript_1595A6",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_5",
+ "x": 8,
+ "y": 10,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LilycoveCity_PokemonTrainerFanClub_EventScript_15952F",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_3",
+ "x": 6,
+ "y": 11,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LilycoveCity_PokemonTrainerFanClub_EventScript_15961D",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_LITTLE_GIRL_2",
+ "x": 5,
+ "y": 8,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LilycoveCity_PokemonTrainerFanClub_EventScript_159694",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_LITTLE_BOY_1",
+ "x": 7,
+ "y": 11,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LilycoveCity_PokemonTrainerFanClub_EventScript_15970B",
+ "flag": "FLAG_HIDE_FANCLUB_LITTLE_BOY"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BOY_2",
+ "x": 1,
+ "y": 9,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LilycoveCity_PokemonTrainerFanClub_EventScript_15976D",
+ "flag": "FLAG_HIDE_FANCLUB_BOY"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_4",
+ "x": 3,
+ "y": 10,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LilycoveCity_PokemonTrainerFanClub_EventScript_1597CF",
+ "flag": "FLAG_HIDE_FANCLUB_LADY"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_OLD_WOMAN_1",
+ "x": 10,
+ "y": 10,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LilycoveCity_PokemonTrainerFanClub_EventScript_159831",
+ "flag": "FLAG_HIDE_FANCLUB_OLD_LADY"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 6,
+ "y": 13,
+ "elevation": 0,
+ "dest_map": "MAP_LILYCOVE_CITY",
+ "dest_warp_id": 5
+ },
+ {
+ "x": 5,
+ "y": 13,
+ "elevation": 0,
+ "dest_map": "MAP_LILYCOVE_CITY",
+ "dest_warp_id": 5
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/LilycoveCity_UnusedMart/events.inc b/data/maps/LilycoveCity_UnusedMart/events.inc
deleted file mode 100644
index 4a0127506..000000000
--- a/data/maps/LilycoveCity_UnusedMart/events.inc
+++ /dev/null
@@ -1,6 +0,0 @@
-LilycoveCity_UnusedMart_MapWarps:: @ 8389E8C
- warp_def 3, 7, 0, 0, MAP_LILYCOVE_CITY
- warp_def 4, 7, 0, 0, MAP_LILYCOVE_CITY
-
-LilycoveCity_UnusedMart_MapEvents:: @ 8389E9C
- map_events 0x0, LilycoveCity_UnusedMart_MapWarps, 0x0, 0x0
diff --git a/data/maps/LilycoveCity_UnusedMart/header.inc b/data/maps/LilycoveCity_UnusedMart/header.inc
deleted file mode 100644
index 78e14b53b..000000000
--- a/data/maps/LilycoveCity_UnusedMart/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-LilycoveCity_UnusedMart:: @ 8306600
- .4byte PokeMart_Layout
- .4byte LilycoveCity_UnusedMart_MapEvents
- .4byte LilycoveCity_UnusedMart_MapScripts
- .4byte 0x0
- .2byte MUS_FRIENDLY
- .2byte 63
- .byte MAPSEC_LILYCOVE_CITY
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/LilycoveCity_UnusedMart/map.json b/data/maps/LilycoveCity_UnusedMart/map.json
new file mode 100644
index 000000000..9eb06baa0
--- /dev/null
+++ b/data/maps/LilycoveCity_UnusedMart/map.json
@@ -0,0 +1,32 @@
+{
+ "id": "MAP_LILYCOVE_CITY_UNUSED_MART",
+ "name": "LilycoveCity_UnusedMart",
+ "layout": "LAYOUT_POKE_MART",
+ "music": "MUS_FRIENDLY",
+ "region_map_section": "MAPSEC_LILYCOVE_CITY",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [],
+ "warp_events": [
+ {
+ "x": 3,
+ "y": 7,
+ "elevation": 0,
+ "dest_map": "MAP_LILYCOVE_CITY",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 4,
+ "y": 7,
+ "elevation": 0,
+ "dest_map": "MAP_LILYCOVE_CITY",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/LinkContestRoom1/events.inc b/data/maps/LinkContestRoom1/events.inc
deleted file mode 100644
index 13470e4f5..000000000
--- a/data/maps/LinkContestRoom1/events.inc
+++ /dev/null
@@ -1,18 +0,0 @@
-LinkContestRoom1_EventObjects:: @ 839149C
- object_event 1, EVENT_OBJ_GFX_WOMAN_4, 0, 6, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 0
- object_event 2, EVENT_OBJ_GFX_CONTEST_JUDGE, 0, 7, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 0
- object_event 3, EVENT_OBJ_GFX_VAR_0, 0, 4, 7, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, 0x0, 0
- object_event 4, EVENT_OBJ_GFX_VAR_1, 0, 6, 7, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, 0x0, 0
- object_event 5, EVENT_OBJ_GFX_VAR_2, 0, 8, 7, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, 0x0, 0
- object_event 6, EVENT_OBJ_GFX_VAR_4, 0, 2, 6, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, 0x0, 0
- object_event 7, EVENT_OBJ_GFX_VAR_6, 0, 4, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 0
- object_event 8, EVENT_OBJ_GFX_VAR_7, 0, 5, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 0
- object_event 9, EVENT_OBJ_GFX_VAR_8, 0, 9, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 0
- object_event 10, EVENT_OBJ_GFX_VAR_9, 0, 10, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 0
- object_event 11, EVENT_OBJ_GFX_VAR_A, 0, 12, 5, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, 0x0, 0
- object_event 12, EVENT_OBJ_GFX_VAR_5, 0, 2, 5, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, 0x0, 0
- object_event 13, EVENT_OBJ_GFX_ITEM_BALL, 0, 7, 5, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_LINK_CONTEST_ROOM_POKEBALL
- object_event 14, EVENT_OBJ_GFX_VAR_3, 0, 10, 7, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, 0x0, 0
- object_event 15, EVENT_OBJ_GFX_ARTIST, 0, 12, 6, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, 0x0, 0
-
-LinkContestRoom1_MapEvents:: @ 8391604
diff --git a/data/maps/LinkContestRoom1/header.inc b/data/maps/LinkContestRoom1/header.inc
deleted file mode 100644
index 3ca7d6ed9..000000000
--- a/data/maps/LinkContestRoom1/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-LinkContestRoom1:: @ 83079E8
- .4byte LinkContestRoom1_Layout
- .4byte LinkContestRoom1_MapEvents
- .4byte LinkContestRoom1_MapScripts
- .4byte 0x0
- .2byte MUS_CONTEST0
- .2byte 226
- .byte MAPSEC_DYNAMIC
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/LinkContestRoom1/map.json b/data/maps/LinkContestRoom1/map.json
new file mode 100644
index 000000000..4527b75c2
--- /dev/null
+++ b/data/maps/LinkContestRoom1/map.json
@@ -0,0 +1,213 @@
+{
+ "id": "MAP_LINK_CONTEST_ROOM1",
+ "name": "LinkContestRoom1",
+ "layout": "LAYOUT_LINK_CONTEST_ROOM1",
+ "music": "MUS_CONTEST0",
+ "region_map_section": "MAPSEC_DYNAMIC",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_4",
+ "x": 6,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_CONTEST_JUDGE",
+ "x": 7,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_0",
+ "x": 4,
+ "y": 7,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_1",
+ "x": 6,
+ "y": 7,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_2",
+ "x": 8,
+ "y": 7,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_4",
+ "x": 2,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_6",
+ "x": 4,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_7",
+ "x": 5,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_8",
+ "x": 9,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_9",
+ "x": 10,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_A",
+ "x": 12,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_5",
+ "x": 2,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ITEM_BALL",
+ "x": 7,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_LINK_CONTEST_ROOM_POKEBALL"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_3",
+ "x": 10,
+ "y": 7,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ARTIST",
+ "x": 12,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/LinkContestRoom1/scripts.inc b/data/maps/LinkContestRoom1/scripts.inc
index 2709f558c..8983389c2 100644
--- a/data/maps/LinkContestRoom1/scripts.inc
+++ b/data/maps/LinkContestRoom1/scripts.inc
@@ -1 +1,429 @@
LinkContestRoom1_MapScripts:: @ 815F580
+ map_script 4, LinkContestRoom1_MapScript2_15F610
+ map_script 2, LinkContestRoom1_MapScript2_15F606
+ map_script 3, LinkContestRoom1_MapScript1_15F595
+ map_script 5, LinkContestRoom1_MapScript1_15F5F4
+ .byte 0
+
+LinkContestRoom1_MapScript1_15F595:: @ 815F595
+ call LinkContestRoom1_EventScript_15F5A5
+ setvar VAR_TEMP_0, 1
+ call LinkContestRoom1_EventScript_15F630
+ end
+
+LinkContestRoom1_EventScript_15F5A5:: @ 815F5A5
+ special ScriptGetMultiplayerId
+ compare RESULT, 0
+ call_if_eq LinkContestRoom1_EventScript_15F5E0
+ compare RESULT, 1
+ call_if_eq LinkContestRoom1_EventScript_15F5E4
+ compare RESULT, 2
+ call_if_eq LinkContestRoom1_EventScript_15F5E8
+ compare RESULT, 3
+ call_if_eq LinkContestRoom1_EventScript_15F5EC
+ compare RESULT, 4
+ call_if_eq LinkContestRoom1_EventScript_15F5F0
+ return
+
+LinkContestRoom1_EventScript_15F5E0:: @ 815F5E0
+ savebgm MUS_TEST1
+ return
+
+LinkContestRoom1_EventScript_15F5E4:: @ 815F5E4
+ savebgm MUS_TEST2
+ return
+
+LinkContestRoom1_EventScript_15F5E8:: @ 815F5E8
+ savebgm MUS_TEST3
+ return
+
+LinkContestRoom1_EventScript_15F5EC:: @ 815F5EC
+ savebgm MUS_TEST4
+ return
+
+LinkContestRoom1_EventScript_15F5F0:: @ 815F5F0
+ savebgm MUS_CONTEST0
+ return
+
+LinkContestRoom1_MapScript1_15F5F4:: @ 815F5F4
+ compare VAR_TEMP_9, 1
+ call_if_eq LinkContestRoom1_EventScript_15F600
+ end
+
+LinkContestRoom1_EventScript_15F600:: @ 815F600
+ call LinkContestRoom1_EventScript_15F919
+ return
+
+LinkContestRoom1_MapScript2_15F606:: @ 815F606
+ map_script_2 VAR_LINK_CONTEST_ROOM_STATE, 1, LinkContestRoom1_EventScript_15F61A
+ .2byte 0
+
+LinkContestRoom1_MapScript2_15F610:: @ 815F610
+ map_script_2 VAR_LINK_CONTEST_ROOM_STATE, 1, LinkContestRoom1_EventScript_15F625
+ .2byte 0
+
+LinkContestRoom1_EventScript_15F61A:: @ 815F61A
+ call LinkContestRoom1_EventScript_1A514D
+ call LinkContestRoom1_EventScript_15FB64
+ end
+
+LinkContestRoom1_EventScript_15F625:: @ 815F625
+ hideobjectat 255, MAP_LITTLEROOT_TOWN
+ call LinkContestRoom1_EventScript_15F919
+ end
+
+LinkContestRoom1_EventScript_15F630:: @ 815F630
+ call LinkContestRoom1_EventScript_15F6E6
+ call LinkContestRoom1_EventScript_15F646
+ compare VAR_TEMP_0, 8
+ goto_if_lt LinkContestRoom1_EventScript_15F630
+ return
+
+LinkContestRoom1_EventScript_15F646:: @ 815F646
+ switch VAR_TEMP_0
+ case 1, LinkContestRoom1_EventScript_15F699
+ case 2, LinkContestRoom1_EventScript_15F6A4
+ case 3, LinkContestRoom1_EventScript_15F6AF
+ case 4, LinkContestRoom1_EventScript_15F6BA
+ case 5, LinkContestRoom1_EventScript_15F6C5
+ case 6, LinkContestRoom1_EventScript_15F6D0
+ case 7, LinkContestRoom1_EventScript_15F6DB
+ end
+
+LinkContestRoom1_EventScript_15F699:: @ 815F699
+ copyvar VAR_OBJ_GFX_ID_4, VAR_TEMP_1
+ addvar VAR_TEMP_0, 1
+ return
+
+LinkContestRoom1_EventScript_15F6A4:: @ 815F6A4
+ copyvar VAR_OBJ_GFX_ID_5, VAR_TEMP_1
+ addvar VAR_TEMP_0, 1
+ return
+
+LinkContestRoom1_EventScript_15F6AF:: @ 815F6AF
+ copyvar VAR_OBJ_GFX_ID_6, VAR_TEMP_1
+ addvar VAR_TEMP_0, 1
+ return
+
+LinkContestRoom1_EventScript_15F6BA:: @ 815F6BA
+ copyvar VAR_OBJ_GFX_ID_7, VAR_TEMP_1
+ addvar VAR_TEMP_0, 1
+ return
+
+LinkContestRoom1_EventScript_15F6C5:: @ 815F6C5
+ copyvar VAR_OBJ_GFX_ID_8, VAR_TEMP_1
+ addvar VAR_TEMP_0, 1
+ return
+
+LinkContestRoom1_EventScript_15F6D0:: @ 815F6D0
+ copyvar VAR_OBJ_GFX_ID_9, VAR_TEMP_1
+ addvar VAR_TEMP_0, 1
+ return
+
+LinkContestRoom1_EventScript_15F6DB:: @ 815F6DB
+ copyvar VAR_OBJ_GFX_ID_A, VAR_TEMP_1
+ addvar VAR_TEMP_0, 1
+ return
+
+LinkContestRoom1_EventScript_15F6E6:: @ 815F6E6
+ setvar RESULT, 32
+ special ScriptRandom
+ addvar RESULT, 1
+ switch RESULT
+ case 1, LinkContestRoom1_EventScript_15F859
+ case 2, LinkContestRoom1_EventScript_15F85F
+ case 3, LinkContestRoom1_EventScript_15F865
+ case 4, LinkContestRoom1_EventScript_15F86B
+ case 5, LinkContestRoom1_EventScript_15F871
+ case 6, LinkContestRoom1_EventScript_15F877
+ case 7, LinkContestRoom1_EventScript_15F87D
+ case 8, LinkContestRoom1_EventScript_15F883
+ case 9, LinkContestRoom1_EventScript_15F889
+ case 10, LinkContestRoom1_EventScript_15F88F
+ case 11, LinkContestRoom1_EventScript_15F895
+ case 12, LinkContestRoom1_EventScript_15F89B
+ case 13, LinkContestRoom1_EventScript_15F8A1
+ case 14, LinkContestRoom1_EventScript_15F8A7
+ case 15, LinkContestRoom1_EventScript_15F8AD
+ case 16, LinkContestRoom1_EventScript_15F8B3
+ case 17, LinkContestRoom1_EventScript_15F8B9
+ case 18, LinkContestRoom1_EventScript_15F8BF
+ case 19, LinkContestRoom1_EventScript_15F8C5
+ case 20, LinkContestRoom1_EventScript_15F8CB
+ case 21, LinkContestRoom1_EventScript_15F8D1
+ case 22, LinkContestRoom1_EventScript_15F8D7
+ case 23, LinkContestRoom1_EventScript_15F8DD
+ case 24, LinkContestRoom1_EventScript_15F8E3
+ case 25, LinkContestRoom1_EventScript_15F8E9
+ case 26, LinkContestRoom1_EventScript_15F8EF
+ case 27, LinkContestRoom1_EventScript_15F8F5
+ case 28, LinkContestRoom1_EventScript_15F8FB
+ case 29, LinkContestRoom1_EventScript_15F901
+ case 30, LinkContestRoom1_EventScript_15F907
+ case 31, LinkContestRoom1_EventScript_15F90D
+ case 32, LinkContestRoom1_EventScript_15F913
+ end
+
+LinkContestRoom1_EventScript_15F859:: @ 815F859
+ setvar VAR_TEMP_1, 5
+ return
+
+LinkContestRoom1_EventScript_15F85F:: @ 815F85F
+ setvar VAR_TEMP_1, 6
+ return
+
+LinkContestRoom1_EventScript_15F865:: @ 815F865
+ setvar VAR_TEMP_1, 7
+ return
+
+LinkContestRoom1_EventScript_15F86B:: @ 815F86B
+ setvar VAR_TEMP_1, 8
+ return
+
+LinkContestRoom1_EventScript_15F871:: @ 815F871
+ setvar VAR_TEMP_1, 10
+ return
+
+LinkContestRoom1_EventScript_15F877:: @ 815F877
+ setvar VAR_TEMP_1, 11
+ return
+
+LinkContestRoom1_EventScript_15F87D:: @ 815F87D
+ setvar VAR_TEMP_1, 12
+ return
+
+LinkContestRoom1_EventScript_15F883:: @ 815F883
+ setvar VAR_TEMP_1, 13
+ return
+
+LinkContestRoom1_EventScript_15F889:: @ 815F889
+ setvar VAR_TEMP_1, 14
+ return
+
+LinkContestRoom1_EventScript_15F88F:: @ 815F88F
+ setvar VAR_TEMP_1, 15
+ return
+
+LinkContestRoom1_EventScript_15F895:: @ 815F895
+ setvar VAR_TEMP_1, 17
+ return
+
+LinkContestRoom1_EventScript_15F89B:: @ 815F89B
+ setvar VAR_TEMP_1, 18
+ return
+
+LinkContestRoom1_EventScript_15F8A1:: @ 815F8A1
+ setvar VAR_TEMP_1, 19
+ return
+
+LinkContestRoom1_EventScript_15F8A7:: @ 815F8A7
+ setvar VAR_TEMP_1, 20
+ return
+
+LinkContestRoom1_EventScript_15F8AD:: @ 815F8AD
+ setvar VAR_TEMP_1, 21
+ return
+
+LinkContestRoom1_EventScript_15F8B3:: @ 815F8B3
+ setvar VAR_TEMP_1, 22
+ return
+
+LinkContestRoom1_EventScript_15F8B9:: @ 815F8B9
+ setvar VAR_TEMP_1, 25
+ return
+
+LinkContestRoom1_EventScript_15F8BF:: @ 815F8BF
+ setvar VAR_TEMP_1, 26
+ return
+
+LinkContestRoom1_EventScript_15F8C5:: @ 815F8C5
+ setvar VAR_TEMP_1, 27
+ return
+
+LinkContestRoom1_EventScript_15F8CB:: @ 815F8CB
+ setvar VAR_TEMP_1, 47
+ return
+
+LinkContestRoom1_EventScript_15F8D1:: @ 815F8D1
+ setvar VAR_TEMP_1, 30
+ return
+
+LinkContestRoom1_EventScript_15F8D7:: @ 815F8D7
+ setvar VAR_TEMP_1, 31
+ return
+
+LinkContestRoom1_EventScript_15F8DD:: @ 815F8DD
+ setvar VAR_TEMP_1, 32
+ return
+
+LinkContestRoom1_EventScript_15F8E3:: @ 815F8E3
+ setvar VAR_TEMP_1, 33
+ return
+
+LinkContestRoom1_EventScript_15F8E9:: @ 815F8E9
+ setvar VAR_TEMP_1, 34
+ return
+
+LinkContestRoom1_EventScript_15F8EF:: @ 815F8EF
+ setvar VAR_TEMP_1, 35
+ return
+
+LinkContestRoom1_EventScript_15F8F5:: @ 815F8F5
+ setvar VAR_TEMP_1, 36
+ return
+
+LinkContestRoom1_EventScript_15F8FB:: @ 815F8FB
+ setvar VAR_TEMP_1, 37
+ return
+
+LinkContestRoom1_EventScript_15F901:: @ 815F901
+ setvar VAR_TEMP_1, 38
+ return
+
+LinkContestRoom1_EventScript_15F907:: @ 815F907
+ setvar VAR_TEMP_1, 44
+ return
+
+LinkContestRoom1_EventScript_15F90D:: @ 815F90D
+ setvar VAR_TEMP_1, 45
+ return
+
+LinkContestRoom1_EventScript_15F913:: @ 815F913
+ setvar VAR_TEMP_1, 46
+ return
+
+LinkContestRoom1_EventScript_15F919:: @ 815F919
+ switch VAR_CONTEST_LOCATION
+ case 1, LinkContestRoom1_EventScript_15F956
+ case 2, LinkContestRoom1_EventScript_15F969
+ case 3, LinkContestRoom1_EventScript_15F9C4
+ case 4, LinkContestRoom1_EventScript_15FA70
+ case 5, LinkContestRoom1_EventScript_15FA70
+ return
+
+LinkContestRoom1_EventScript_15F956:: @ 815F956
+ createvobject 5, 20, 3, 2, 3, 1
+ createvobject 46, 24, 11, 2, 3, 1
+ return
+
+LinkContestRoom1_EventScript_15F969:: @ 815F969
+ createvobject 45, 0, 2, 3, 3, 4
+ createvobject 66, 1, 2, 4, 3, 4
+ createvobject 55, 2, 2, 7, 3, 4
+ createvobject 46, 3, 2, 8, 3, 4
+ createvobject 5, 10, 12, 3, 3, 3
+ createvobject 20, 11, 12, 4, 3, 3
+ createvobject 24, 12, 12, 7, 3, 3
+ createvobject 12, 13, 12, 8, 3, 3
+ createvobject 47, 20, 3, 2, 3, 1
+ createvobject 46, 24, 11, 2, 3, 1
+ return
+
+LinkContestRoom1_EventScript_15F9C4:: @ 815F9C4
+ createvobject 45, 0, 2, 3, 3, 4
+ createvobject 66, 1, 2, 4, 3, 4
+ createvobject 55, 2, 2, 7, 3, 4
+ createvobject 48, 3, 2, 8, 3, 4
+ createvobject 5, 10, 12, 3, 3, 3
+ createvobject 20, 11, 12, 4, 3, 3
+ createvobject 24, 12, 12, 7, 3, 3
+ createvobject 45, 13, 12, 8, 3, 3
+ createvobject 22, 20, 3, 2, 3, 1
+ createvobject 23, 20, 6, 2, 3, 1
+ createvobject 34, 20, 7, 2, 3, 1
+ createvobject 46, 24, 8, 2, 3, 1
+ createvobject 48, 24, 11, 2, 3, 1
+ createvobject 11, 25, 3, 9, 3, 2
+ createvobject 35, 26, 4, 9, 3, 2
+ createvobject 17, 27, 5, 9, 3, 2
+ createvobject 41, 28, 9, 9, 3, 2
+ createvobject 38, 29, 10, 9, 3, 2
+ createvobject 83, 30, 11, 9, 3, 2
+ return
+
+LinkContestRoom1_EventScript_15FA70:: @ 815FA70
+ createvobject 45, 0, 2, 3, 3, 4
+ createvobject 66, 1, 2, 4, 3, 4
+ createvobject 55, 2, 2, 7, 3, 4
+ createvobject 12, 3, 2, 8, 3, 4
+ createvobject 39, 4, 1, 3, 3, 4
+ createvobject 34, 6, 1, 5, 3, 4
+ createvobject 26, 7, 1, 6, 3, 4
+ createvobject 48, 9, 1, 8, 3, 4
+ createvobject 5, 10, 12, 3, 3, 3
+ createvobject 20, 11, 12, 4, 3, 3
+ createvobject 24, 12, 12, 7, 3, 3
+ createvobject 45, 13, 12, 8, 3, 3
+ createvobject 50, 14, 13, 3, 3, 3
+ createvobject 52, 15, 13, 4, 3, 3
+ createvobject 65, 17, 13, 6, 3, 3
+ createvobject 83, 18, 13, 7, 3, 3
+ createvobject 116, 19, 13, 8, 3, 3
+ createvobject 25, 20, 3, 2, 3, 1
+ createvobject 31, 21, 6, 2, 3, 1
+ createvobject 33, 22, 7, 2, 3, 1
+ createvobject 46, 24, 11, 2, 3, 1
+ createvobject 49, 25, 3, 9, 3, 2
+ createvobject 35, 26, 4, 9, 3, 2
+ createvobject 48, 27, 5, 9, 3, 2
+ createvobject 41, 28, 9, 9, 3, 2
+ createvobject 38, 29, 10, 9, 3, 2
+ createvobject 83, 30, 11, 9, 3, 2
+ return
+
+LinkContestRoom1_EventScript_15FB64:: @ 815FB64
+ switch VAR_CONTEST_LOCATION
+ case 1, LinkContestRoom1_EventScript_15FBA1
+ case 2, LinkContestRoom1_EventScript_15FBAD
+ case 3, LinkContestRoom1_EventScript_15FBB9
+ case 4, LinkContestRoom1_EventScript_15FBC5
+ case 5, LinkContestRoom1_EventScript_15FBD1
+ return
+
+LinkContestRoom1_EventScript_15FBA1:: @ 815FBA1
+ incrementgamestat GAME_STAT_ENTERED_CONTEST
+ warp MAP_VERDANTURF_TOWN_CONTEST_LOBBY, 255, 5, 4
+ waitstate
+ end
+
+LinkContestRoom1_EventScript_15FBAD:: @ 815FBAD
+ incrementgamestat GAME_STAT_ENTERED_CONTEST
+ warp MAP_FALLARBOR_TOWN_CONTEST_LOBBY, 255, 5, 4
+ waitstate
+ end
+
+LinkContestRoom1_EventScript_15FBB9:: @ 815FBB9
+ incrementgamestat GAME_STAT_ENTERED_CONTEST
+ warp MAP_SLATEPORT_CITY_CONTEST_LOBBY, 255, 5, 4
+ waitstate
+ end
+
+LinkContestRoom1_EventScript_15FBC5:: @ 815FBC5
+ incrementgamestat GAME_STAT_ENTERED_CONTEST
+ warp MAP_LILYCOVE_CITY_CONTEST_LOBBY, 255, 6, 4
+ waitstate
+ end
+
+LinkContestRoom1_EventScript_15FBD1:: @ 815FBD1
+ warp MAP_LILYCOVE_CITY_CONTEST_LOBBY, 255, 7, 4
+ waitstate
+ end
+
+FallarborTown_ContestLobby_EventScript_15FBDB:: @ 815FBDB
+LilycoveCity_ContestLobby_EventScript_15FBDB:: @ 815FBDB
+SlateportCity_ContestLobby_EventScript_15FBDB:: @ 815FBDB
+VerdanturfTown_ContestLobby_EventScript_15FBDB:: @ 815FBDB
+ checkplayergender
+ compare RESULT, 0
+ goto_if_eq FallarborTown_ContestLobby_EventScript_15FBF3
+ compare RESULT, 1
+ goto_if_eq FallarborTown_ContestLobby_EventScript_15FBF9
+ return
+
+FallarborTown_ContestLobby_EventScript_15FBF3:: @ 815FBF3
+ setvar VAR_OBJ_GFX_ID_3, EVENT_OBJ_GFX_RIVAL_BRENDAN_NORMAL
+ return
+
+FallarborTown_ContestLobby_EventScript_15FBF9:: @ 815FBF9
+ setvar VAR_OBJ_GFX_ID_3, EVENT_OBJ_GFX_RIVAL_MAY_NORMAL
+ return
diff --git a/data/maps/LinkContestRoom2/events.inc b/data/maps/LinkContestRoom2/events.inc
deleted file mode 100644
index 562a96523..000000000
--- a/data/maps/LinkContestRoom2/events.inc
+++ /dev/null
@@ -1 +0,0 @@
-LinkContestRoom2_MapEvents:: @ 8391604
diff --git a/data/maps/LinkContestRoom2/header.inc b/data/maps/LinkContestRoom2/header.inc
deleted file mode 100644
index e368f56a2..000000000
--- a/data/maps/LinkContestRoom2/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-LinkContestRoom2:: @ 8307AAC
- .4byte LinkContestRoom2_Layout
- .4byte LinkContestRoom2_MapEvents
- .4byte LinkContestRoom2_MapScripts
- .4byte 0x0
- .2byte MUS_CONTEST0
- .2byte 233
- .byte MAPSEC_DYNAMIC
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/LinkContestRoom2/map.json b/data/maps/LinkContestRoom2/map.json
new file mode 100644
index 000000000..bc020148a
--- /dev/null
+++ b/data/maps/LinkContestRoom2/map.json
@@ -0,0 +1,15 @@
+{
+ "id": "MAP_LINK_CONTEST_ROOM2",
+ "name": "LinkContestRoom2",
+ "layout": "LAYOUT_LINK_CONTEST_ROOM2",
+ "music": "MUS_CONTEST0",
+ "region_map_section": "MAPSEC_DYNAMIC",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "shared_events_map": "LinkContestRoom1",
+ "shared_scripts_map": "LinkContestRoom1"
+} \ No newline at end of file
diff --git a/data/maps/LinkContestRoom2/scripts.inc b/data/maps/LinkContestRoom2/scripts.inc
index f61e3fae6..8b1378917 100644
--- a/data/maps/LinkContestRoom2/scripts.inc
+++ b/data/maps/LinkContestRoom2/scripts.inc
@@ -1 +1 @@
-LinkContestRoom2_MapScripts:: @ 815F580
+
diff --git a/data/maps/LinkContestRoom3/events.inc b/data/maps/LinkContestRoom3/events.inc
deleted file mode 100644
index 8c93f28c9..000000000
--- a/data/maps/LinkContestRoom3/events.inc
+++ /dev/null
@@ -1 +0,0 @@
-LinkContestRoom3_MapEvents:: @ 8391604
diff --git a/data/maps/LinkContestRoom3/header.inc b/data/maps/LinkContestRoom3/header.inc
deleted file mode 100644
index 368f7a8c5..000000000
--- a/data/maps/LinkContestRoom3/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-LinkContestRoom3:: @ 8307AC8
- .4byte LinkContestRoom3_Layout
- .4byte LinkContestRoom3_MapEvents
- .4byte LinkContestRoom3_MapScripts
- .4byte 0x0
- .2byte MUS_CONTEST0
- .2byte 234
- .byte MAPSEC_DYNAMIC
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/LinkContestRoom3/map.json b/data/maps/LinkContestRoom3/map.json
new file mode 100644
index 000000000..9a7446dad
--- /dev/null
+++ b/data/maps/LinkContestRoom3/map.json
@@ -0,0 +1,15 @@
+{
+ "id": "MAP_LINK_CONTEST_ROOM3",
+ "name": "LinkContestRoom3",
+ "layout": "LAYOUT_LINK_CONTEST_ROOM3",
+ "music": "MUS_CONTEST0",
+ "region_map_section": "MAPSEC_DYNAMIC",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "shared_events_map": "LinkContestRoom1",
+ "shared_scripts_map": "LinkContestRoom1"
+} \ No newline at end of file
diff --git a/data/maps/LinkContestRoom3/scripts.inc b/data/maps/LinkContestRoom3/scripts.inc
index 5a34f848a..8b1378917 100644
--- a/data/maps/LinkContestRoom3/scripts.inc
+++ b/data/maps/LinkContestRoom3/scripts.inc
@@ -1 +1 @@
-LinkContestRoom3_MapScripts:: @ 815F580
+
diff --git a/data/maps/LinkContestRoom4/events.inc b/data/maps/LinkContestRoom4/events.inc
deleted file mode 100644
index a5e455811..000000000
--- a/data/maps/LinkContestRoom4/events.inc
+++ /dev/null
@@ -1 +0,0 @@
-LinkContestRoom4_MapEvents:: @ 8391604
diff --git a/data/maps/LinkContestRoom4/header.inc b/data/maps/LinkContestRoom4/header.inc
deleted file mode 100644
index caf0848a4..000000000
--- a/data/maps/LinkContestRoom4/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-LinkContestRoom4:: @ 8307AE4
- .4byte LinkContestRoom4_Layout
- .4byte LinkContestRoom4_MapEvents
- .4byte LinkContestRoom4_MapScripts
- .4byte 0x0
- .2byte MUS_CONTEST0
- .2byte 235
- .byte MAPSEC_DYNAMIC
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/LinkContestRoom4/map.json b/data/maps/LinkContestRoom4/map.json
new file mode 100644
index 000000000..efd3fbedb
--- /dev/null
+++ b/data/maps/LinkContestRoom4/map.json
@@ -0,0 +1,15 @@
+{
+ "id": "MAP_LINK_CONTEST_ROOM4",
+ "name": "LinkContestRoom4",
+ "layout": "LAYOUT_LINK_CONTEST_ROOM4",
+ "music": "MUS_CONTEST0",
+ "region_map_section": "MAPSEC_DYNAMIC",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "shared_events_map": "LinkContestRoom1",
+ "shared_scripts_map": "LinkContestRoom1"
+} \ No newline at end of file
diff --git a/data/maps/LinkContestRoom4/scripts.inc b/data/maps/LinkContestRoom4/scripts.inc
index bf6539bdd..8b1378917 100644
--- a/data/maps/LinkContestRoom4/scripts.inc
+++ b/data/maps/LinkContestRoom4/scripts.inc
@@ -1 +1 @@
-LinkContestRoom4_MapScripts:: @ 815F580
+
diff --git a/data/maps/LinkContestRoom5/events.inc b/data/maps/LinkContestRoom5/events.inc
deleted file mode 100644
index f0f8fa508..000000000
--- a/data/maps/LinkContestRoom5/events.inc
+++ /dev/null
@@ -1 +0,0 @@
-LinkContestRoom5_MapEvents:: @ 8391604
diff --git a/data/maps/LinkContestRoom5/header.inc b/data/maps/LinkContestRoom5/header.inc
deleted file mode 100644
index 5ea615ef4..000000000
--- a/data/maps/LinkContestRoom5/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-LinkContestRoom5:: @ 8307B00
- .4byte LinkContestRoom5_Layout
- .4byte LinkContestRoom5_MapEvents
- .4byte LinkContestRoom5_MapScripts
- .4byte 0x0
- .2byte MUS_CONTEST0
- .2byte 236
- .byte MAPSEC_DYNAMIC
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/LinkContestRoom5/map.json b/data/maps/LinkContestRoom5/map.json
new file mode 100644
index 000000000..042f5286e
--- /dev/null
+++ b/data/maps/LinkContestRoom5/map.json
@@ -0,0 +1,15 @@
+{
+ "id": "MAP_LINK_CONTEST_ROOM5",
+ "name": "LinkContestRoom5",
+ "layout": "LAYOUT_LINK_CONTEST_ROOM5",
+ "music": "MUS_CONTEST0",
+ "region_map_section": "MAPSEC_DYNAMIC",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "shared_events_map": "LinkContestRoom1",
+ "shared_scripts_map": "LinkContestRoom1"
+} \ No newline at end of file
diff --git a/data/maps/LinkContestRoom5/scripts.inc b/data/maps/LinkContestRoom5/scripts.inc
index d3cd5d64b..8b1378917 100644
--- a/data/maps/LinkContestRoom5/scripts.inc
+++ b/data/maps/LinkContestRoom5/scripts.inc
@@ -1 +1 @@
-LinkContestRoom5_MapScripts:: @ 815F580
+
diff --git a/data/maps/LinkContestRoom6/events.inc b/data/maps/LinkContestRoom6/events.inc
deleted file mode 100644
index a8fd4962f..000000000
--- a/data/maps/LinkContestRoom6/events.inc
+++ /dev/null
@@ -1 +0,0 @@
-LinkContestRoom6_MapEvents:: @ 8391604
diff --git a/data/maps/LinkContestRoom6/header.inc b/data/maps/LinkContestRoom6/header.inc
deleted file mode 100644
index 7edebef67..000000000
--- a/data/maps/LinkContestRoom6/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-LinkContestRoom6:: @ 8307B1C
- .4byte LinkContestRoom6_Layout
- .4byte LinkContestRoom6_MapEvents
- .4byte LinkContestRoom6_MapScripts
- .4byte 0x0
- .2byte MUS_CONTEST0
- .2byte 237
- .byte MAPSEC_DYNAMIC
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/LinkContestRoom6/map.json b/data/maps/LinkContestRoom6/map.json
new file mode 100644
index 000000000..e73501882
--- /dev/null
+++ b/data/maps/LinkContestRoom6/map.json
@@ -0,0 +1,15 @@
+{
+ "id": "MAP_LINK_CONTEST_ROOM6",
+ "name": "LinkContestRoom6",
+ "layout": "LAYOUT_LINK_CONTEST_ROOM6",
+ "music": "MUS_CONTEST0",
+ "region_map_section": "MAPSEC_DYNAMIC",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "shared_events_map": "LinkContestRoom1",
+ "shared_scripts_map": "LinkContestRoom1"
+} \ No newline at end of file
diff --git a/data/maps/LinkContestRoom6/scripts.inc b/data/maps/LinkContestRoom6/scripts.inc
index 26296ece6..8b1378917 100644
--- a/data/maps/LinkContestRoom6/scripts.inc
+++ b/data/maps/LinkContestRoom6/scripts.inc
@@ -1 +1 @@
-LinkContestRoom6_MapScripts:: @ 815F580
+
diff --git a/data/maps/LittlerootTown/connections.inc b/data/maps/LittlerootTown/connections.inc
deleted file mode 100644
index 8484aa4b9..000000000
--- a/data/maps/LittlerootTown/connections.inc
+++ /dev/null
@@ -1,6 +0,0 @@
-LittlerootTown_MapConnectionsList:: @ 8308610
- connection up, 0, MAP_ROUTE101
-
-LittlerootTown_MapConnections:: @ 830861C
- .4byte 0x1
- .4byte LittlerootTown_MapConnectionsList
diff --git a/data/maps/LittlerootTown/events.inc b/data/maps/LittlerootTown/events.inc
deleted file mode 100644
index a12324334..000000000
--- a/data/maps/LittlerootTown/events.inc
+++ /dev/null
@@ -1,32 +0,0 @@
-LittlerootTown_EventObjects:: @ 83808FC
- object_event 1, EVENT_OBJ_GFX_LITTLE_BOY_3, 0, 16, 10, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 2, 0, 0, LittlerootTown_EventScript_14D6DF, 0
- object_event 2, EVENT_OBJ_GFX_FAT_MAN, 0, 12, 13, 3, MOVEMENT_TYPE_WANDER_AROUND, 2, 1, 0, 0, LittlerootTown_EventScript_14D6CD, FLAG_HIDE_FAT_MAN_LITTLEROOT
- object_event 3, EVENT_OBJ_GFX_BOY_2, 0, 14, 17, 3, MOVEMENT_TYPE_WANDER_AROUND, 2, 1, 0, 0, LittlerootTown_EventScript_14D6D6, 0
- object_event 4, EVENT_OBJ_GFX_MOM, 0, 5, 8, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, LittlerootTown_EventScript_14DCE2, FLAG_HIDE_MOM_LITTLEROOT
- object_event 5, EVENT_OBJ_GFX_TRUCK, 0, 2, 10, 4, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, 0x0, FLAG_HIDE_MOVING_TRUCK_BRENDAN
- object_event 6, EVENT_OBJ_GFX_TRUCK, 0, 11, 10, 4, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, 0x0, FLAG_HIDE_MOVING_TRUCK_MAY
-
-LittlerootTown_MapWarps:: @ 838098C
- warp_def 14, 8, 0, 1, MAP_LITTLEROOT_TOWN_MAYS_HOUSE_1F
- warp_def 5, 8, 0, 1, MAP_LITTLEROOT_TOWN_BRENDANS_HOUSE_1F
- warp_def 7, 16, 0, 0, MAP_LITTLEROOT_TOWN_PROFESSOR_BIRCHS_LAB
-
-LittlerootTown_MapCoordEvents:: @ 83809A4
- coord_event 10, 1, 3, VAR_LITTLEROOT_STATE, 0, LittlerootTown_EventScript_14D739
- coord_event 11, 1, 3, VAR_LITTLEROOT_STATE, 0, LittlerootTown_EventScript_14D797
- coord_event 11, 1, 3, VAR_LITTLEROOT_STATE, 1, LittlerootTown_EventScript_14D7C7
- coord_event 8, 9, 3, VAR_LITTLEROOT_STATE, 3, LittlerootTown_EventScript_14D89E
- coord_event 9, 9, 3, VAR_LITTLEROOT_STATE, 3, LittlerootTown_EventScript_14D8AA
- coord_event 10, 9, 3, VAR_LITTLEROOT_STATE, 3, LittlerootTown_EventScript_14D886
- coord_event 11, 9, 3, VAR_LITTLEROOT_STATE, 3, LittlerootTown_EventScript_14D892
- coord_event 10, 2, 3, VAR_LITTLEROOT_STATE, 3, LittlerootTown_EventScript_14D860
- coord_event 11, 2, 3, VAR_LITTLEROOT_STATE, 3, LittlerootTown_EventScript_14D873
-
-LittlerootTown_MapBGEvents:: @ 8380A34
- bg_event 15, 13, 0, BG_EVENT_PLAYER_FACING_ANY, LittlerootTown_EventScript_14D7F6
- bg_event 6, 17, 0, BG_EVENT_PLAYER_FACING_ANY, LittlerootTown_EventScript_14D7FF
- bg_event 7, 8, 3, BG_EVENT_PLAYER_FACING_ANY, LittlerootTown_EventScript_14D808
- bg_event 12, 8, 3, BG_EVENT_PLAYER_FACING_ANY, LittlerootTown_EventScript_14D834
-
-LittlerootTown_MapEvents:: @ 8380A64
- map_events LittlerootTown_EventObjects, LittlerootTown_MapWarps, LittlerootTown_MapCoordEvents, LittlerootTown_MapBGEvents
diff --git a/data/maps/LittlerootTown/header.inc b/data/maps/LittlerootTown/header.inc
deleted file mode 100644
index 216583a90..000000000
--- a/data/maps/LittlerootTown/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-LittlerootTown:: @ 8305544
- .4byte LittlerootTown_Layout
- .4byte LittlerootTown_MapEvents
- .4byte LittlerootTown_MapScripts
- .4byte LittlerootTown_MapConnections
- .2byte MUS_MISHIRO
- .2byte 10
- .byte MAPSEC_LITTLEROOT_TOWN
- .byte 0
- .byte WEATHER_SUNNY
- .byte MAP_TYPE_TOWN
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/LittlerootTown/map.json b/data/maps/LittlerootTown/map.json
new file mode 100644
index 000000000..f012ff56f
--- /dev/null
+++ b/data/maps/LittlerootTown/map.json
@@ -0,0 +1,239 @@
+{
+ "id": "MAP_LITTLEROOT_TOWN",
+ "name": "LittlerootTown",
+ "layout": "LAYOUT_LITTLEROOT_TOWN",
+ "music": "MUS_MISHIRO",
+ "region_map_section": "MAPSEC_LITTLEROOT_TOWN",
+ "requires_flash": false,
+ "weather": "WEATHER_SUNNY",
+ "map_type": "MAP_TYPE_TOWN",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": [
+ {
+ "direction": "up",
+ "offset": 0,
+ "map": "MAP_ROUTE101"
+ }
+ ],
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_LITTLE_BOY_3",
+ "x": 16,
+ "y": 10,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 2,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LittlerootTown_EventScript_14D6DF",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_FAT_MAN",
+ "x": 12,
+ "y": 13,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_AROUND",
+ "movement_range_x": 2,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LittlerootTown_EventScript_14D6CD",
+ "flag": "FLAG_HIDE_FAT_MAN_LITTLEROOT"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BOY_2",
+ "x": 14,
+ "y": 17,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_AROUND",
+ "movement_range_x": 2,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LittlerootTown_EventScript_14D6D6",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MOM",
+ "x": 5,
+ "y": 8,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LittlerootTown_EventScript_14DCE2",
+ "flag": "FLAG_HIDE_MOM_LITTLEROOT"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_TRUCK",
+ "x": 2,
+ "y": 10,
+ "elevation": 4,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_HIDE_MOVING_TRUCK_BRENDAN"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_TRUCK",
+ "x": 11,
+ "y": 10,
+ "elevation": 4,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_HIDE_MOVING_TRUCK_MAY"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 14,
+ "y": 8,
+ "elevation": 0,
+ "dest_map": "MAP_LITTLEROOT_TOWN_MAYS_HOUSE_1F",
+ "dest_warp_id": 1
+ },
+ {
+ "x": 5,
+ "y": 8,
+ "elevation": 0,
+ "dest_map": "MAP_LITTLEROOT_TOWN_BRENDANS_HOUSE_1F",
+ "dest_warp_id": 1
+ },
+ {
+ "x": 7,
+ "y": 16,
+ "elevation": 0,
+ "dest_map": "MAP_LITTLEROOT_TOWN_PROFESSOR_BIRCHS_LAB",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [
+ {
+ "type": "trigger",
+ "x": 10,
+ "y": 1,
+ "elevation": 3,
+ "var": "VAR_LITTLEROOT_STATE",
+ "var_value": "0",
+ "script": "LittlerootTown_EventScript_14D739"
+ },
+ {
+ "type": "trigger",
+ "x": 11,
+ "y": 1,
+ "elevation": 3,
+ "var": "VAR_LITTLEROOT_STATE",
+ "var_value": "0",
+ "script": "LittlerootTown_EventScript_14D797"
+ },
+ {
+ "type": "trigger",
+ "x": 11,
+ "y": 1,
+ "elevation": 3,
+ "var": "VAR_LITTLEROOT_STATE",
+ "var_value": "1",
+ "script": "LittlerootTown_EventScript_14D7C7"
+ },
+ {
+ "type": "trigger",
+ "x": 8,
+ "y": 9,
+ "elevation": 3,
+ "var": "VAR_LITTLEROOT_STATE",
+ "var_value": "3",
+ "script": "LittlerootTown_EventScript_14D89E"
+ },
+ {
+ "type": "trigger",
+ "x": 9,
+ "y": 9,
+ "elevation": 3,
+ "var": "VAR_LITTLEROOT_STATE",
+ "var_value": "3",
+ "script": "LittlerootTown_EventScript_14D8AA"
+ },
+ {
+ "type": "trigger",
+ "x": 10,
+ "y": 9,
+ "elevation": 3,
+ "var": "VAR_LITTLEROOT_STATE",
+ "var_value": "3",
+ "script": "LittlerootTown_EventScript_14D886"
+ },
+ {
+ "type": "trigger",
+ "x": 11,
+ "y": 9,
+ "elevation": 3,
+ "var": "VAR_LITTLEROOT_STATE",
+ "var_value": "3",
+ "script": "LittlerootTown_EventScript_14D892"
+ },
+ {
+ "type": "trigger",
+ "x": 10,
+ "y": 2,
+ "elevation": 3,
+ "var": "VAR_LITTLEROOT_STATE",
+ "var_value": "3",
+ "script": "LittlerootTown_EventScript_14D860"
+ },
+ {
+ "type": "trigger",
+ "x": 11,
+ "y": 2,
+ "elevation": 3,
+ "var": "VAR_LITTLEROOT_STATE",
+ "var_value": "3",
+ "script": "LittlerootTown_EventScript_14D873"
+ }
+ ],
+ "bg_events": [
+ {
+ "type": "sign",
+ "x": 15,
+ "y": 13,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "LittlerootTown_EventScript_14D7F6"
+ },
+ {
+ "type": "sign",
+ "x": 6,
+ "y": 17,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "LittlerootTown_EventScript_14D7FF"
+ },
+ {
+ "type": "sign",
+ "x": 7,
+ "y": 8,
+ "elevation": 3,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "LittlerootTown_EventScript_14D808"
+ },
+ {
+ "type": "sign",
+ "x": 12,
+ "y": 8,
+ "elevation": 3,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "LittlerootTown_EventScript_14D834"
+ }
+ ]
+} \ No newline at end of file
diff --git a/data/maps/LittlerootTown_BrendansHouse_1F/events.inc b/data/maps/LittlerootTown_BrendansHouse_1F/events.inc
deleted file mode 100644
index 00ebc746f..000000000
--- a/data/maps/LittlerootTown_BrendansHouse_1F/events.inc
+++ /dev/null
@@ -1,17 +0,0 @@
-LittlerootTown_BrendansHouse_1F_EventObjects:: @ 8385674
- object_event 1, EVENT_OBJ_GFX_MOM, 0, 2, 6, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, LittlerootTown_BrendansHouse_1F_EventScript_1B6BE9, FLAG_HIDE_BRENDAN_MOM_DOWNSTAIRS
- object_event 2, EVENT_OBJ_GFX_MACHOKE_CARRYING_BOX, 0, 1, 3, 3, MOVEMENT_TYPE_WALK_RIGHT_AND_LEFT, 3, 0, 0, 0, LittlerootTown_BrendansHouse_1F_EventScript_1B6CB9, FLAG_HIDE_MACHOKE_MOVER_2
- object_event 3, EVENT_OBJ_GFX_MACHOKE_FACING_AWAY, 0, 4, 5, 3, MOVEMENT_TYPE_WALK_IN_PLACE_UP, 0, 0, 0, 0, LittlerootTown_BrendansHouse_1F_EventScript_1B6CA6, FLAG_HIDE_MACHOKE_MOVER_1
- object_event 4, EVENT_OBJ_GFX_WOMAN_5, 0, 2, 7, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, LittlerootTown_BrendansHouse_1F_EventScript_1529EB, FLAG_HIDE_BRENDAN_MOM
- object_event 5, EVENT_OBJ_GFX_NORMAN, 0, 5, 6, 3, MOVEMENT_TYPE_FACE_LEFT, 1, 1, 0, 0, 0x0, FLAG_HIDE_NORMAN_LITTLEROOT
-
-LittlerootTown_BrendansHouse_1F_MapWarps:: @ 83856EC
- warp_def 9, 8, 0, 1, MAP_LITTLEROOT_TOWN
- warp_def 8, 8, 0, 1, MAP_LITTLEROOT_TOWN
- warp_def 8, 2, 0, 0, MAP_LITTLEROOT_TOWN_BRENDANS_HOUSE_2F
-
-LittlerootTown_BrendansHouse_1F_MapCoordEvents:: @ 8385704
- coord_event 8, 8, 0, VAR_LITTLEROOT_INTRO_STATE, 4, LittlerootTown_BrendansHouse_1F_EventScript_152789
-
-LittlerootTown_BrendansHouse_1F_MapEvents:: @ 8385714
- map_events LittlerootTown_BrendansHouse_1F_EventObjects, LittlerootTown_BrendansHouse_1F_MapWarps, LittlerootTown_BrendansHouse_1F_MapCoordEvents, 0x0
diff --git a/data/maps/LittlerootTown_BrendansHouse_1F/header.inc b/data/maps/LittlerootTown_BrendansHouse_1F/header.inc
deleted file mode 100644
index e9e62d25a..000000000
--- a/data/maps/LittlerootTown_BrendansHouse_1F/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-LittlerootTown_BrendansHouse_1F:: @ 8305A30
- .4byte LittlerootTown_BrendansHouse_1F_Layout
- .4byte LittlerootTown_BrendansHouse_1F_MapEvents
- .4byte LittlerootTown_BrendansHouse_1F_MapScripts
- .4byte 0x0
- .2byte MUS_MISHIRO
- .2byte 54
- .byte MAPSEC_LITTLEROOT_TOWN
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/LittlerootTown_BrendansHouse_1F/map.json b/data/maps/LittlerootTown_BrendansHouse_1F/map.json
new file mode 100644
index 000000000..fa1ac38ad
--- /dev/null
+++ b/data/maps/LittlerootTown_BrendansHouse_1F/map.json
@@ -0,0 +1,115 @@
+{
+ "id": "MAP_LITTLEROOT_TOWN_BRENDANS_HOUSE_1F",
+ "name": "LittlerootTown_BrendansHouse_1F",
+ "layout": "LAYOUT_LITTLEROOT_TOWN_BRENDANS_HOUSE_1F",
+ "music": "MUS_MISHIRO",
+ "region_map_section": "MAPSEC_LITTLEROOT_TOWN",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MOM",
+ "x": 2,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LittlerootTown_BrendansHouse_1F_EventScript_1B6BE9",
+ "flag": "FLAG_HIDE_BRENDAN_MOM_DOWNSTAIRS"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MACHOKE_CARRYING_BOX",
+ "x": 1,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WALK_RIGHT_AND_LEFT",
+ "movement_range_x": 3,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LittlerootTown_BrendansHouse_1F_EventScript_1B6CB9",
+ "flag": "FLAG_HIDE_MACHOKE_MOVER_2"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MACHOKE_FACING_AWAY",
+ "x": 4,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WALK_IN_PLACE_UP",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LittlerootTown_BrendansHouse_1F_EventScript_1B6CA6",
+ "flag": "FLAG_HIDE_MACHOKE_MOVER_1"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_5",
+ "x": 2,
+ "y": 7,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LittlerootTown_BrendansHouse_1F_EventScript_1529EB",
+ "flag": "FLAG_HIDE_BRENDAN_MOM"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_NORMAN",
+ "x": 5,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_HIDE_NORMAN_LITTLEROOT"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 9,
+ "y": 8,
+ "elevation": 0,
+ "dest_map": "MAP_LITTLEROOT_TOWN",
+ "dest_warp_id": 1
+ },
+ {
+ "x": 8,
+ "y": 8,
+ "elevation": 0,
+ "dest_map": "MAP_LITTLEROOT_TOWN",
+ "dest_warp_id": 1
+ },
+ {
+ "x": 8,
+ "y": 2,
+ "elevation": 0,
+ "dest_map": "MAP_LITTLEROOT_TOWN_BRENDANS_HOUSE_2F",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [
+ {
+ "type": "trigger",
+ "x": 8,
+ "y": 8,
+ "elevation": 0,
+ "var": "VAR_LITTLEROOT_INTRO_STATE",
+ "var_value": "4",
+ "script": "LittlerootTown_BrendansHouse_1F_EventScript_152789"
+ }
+ ],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/LittlerootTown_BrendansHouse_2F/events.inc b/data/maps/LittlerootTown_BrendansHouse_2F/events.inc
deleted file mode 100644
index 82215977c..000000000
--- a/data/maps/LittlerootTown_BrendansHouse_2F/events.inc
+++ /dev/null
@@ -1,27 +0,0 @@
-LittlerootTown_BrendansHouse_2F_EventObjects:: @ 8385728
- object_event 1, EVENT_OBJ_GFX_RIVAL_BRENDAN_NORMAL, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_UP, 1, 0, 0, 0, LittlerootTown_BrendansHouse_2F_EventScript_152A9D, FLAG_HIDE_BRENDAN_UPSTAIRS
- object_event 2, EVENT_OBJ_GFX_VAR_0, 0, 0, 0, 0, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2
- object_event 3, EVENT_OBJ_GFX_VAR_1, 0, 0, 1, 0, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3
- object_event 4, EVENT_OBJ_GFX_VAR_2, 0, 0, 2, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4
- object_event 5, EVENT_OBJ_GFX_VAR_3, 0, 0, 3, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5
- object_event 6, EVENT_OBJ_GFX_VAR_4, 0, 0, 4, 0, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6
- object_event 7, EVENT_OBJ_GFX_VAR_5, 0, 0, 5, 4, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7
- object_event 8, EVENT_OBJ_GFX_VAR_6, 0, 1, 0, 0, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8
- object_event 9, EVENT_OBJ_GFX_VAR_7, 0, 1, 1, 0, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9
- object_event 10, EVENT_OBJ_GFX_VAR_8, 0, 1, 2, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10
- object_event 11, EVENT_OBJ_GFX_VAR_9, 0, 1, 3, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11
- object_event 12, EVENT_OBJ_GFX_VAR_A, 0, 1, 4, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12
- object_event 13, EVENT_OBJ_GFX_VAR_B, 0, 1, 5, 0, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13
- object_event 14, EVENT_OBJ_GFX_MOM, 0, 7, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 0, 0, 0, 0x0, FLAG_HIDE_MOM_UPSTAIRS
-
-LittlerootTown_BrendansHouse_2F_MapWarps:: @ 8385878
- warp_def 7, 1, 0, 2, MAP_LITTLEROOT_TOWN_BRENDANS_HOUSE_1F
-
-LittlerootTown_BrendansHouse_2F_MapBGEvents:: @ 8385880
- bg_event 0, 1, 0, BG_EVENT_PLAYER_FACING_NORTH, LittlerootTown_BrendansHouse_2F_EventScript_15281E
- bg_event 1, 1, 0, BG_EVENT_PLAYER_FACING_ANY, LittlerootTown_BrendansHouse_2F_EventScript_152867
- bg_event 5, 1, 0, BG_EVENT_PLAYER_FACING_ANY, LittlerootTown_BrendansHouse_2F_EventScript_1B69D3
- bg_event 3, 1, 0, BG_EVENT_PLAYER_FACING_ANY, LittlerootTown_BrendansHouse_2F_EventScript_152870
-
-LittlerootTown_BrendansHouse_2F_MapEvents:: @ 83858B0
- map_events LittlerootTown_BrendansHouse_2F_EventObjects, LittlerootTown_BrendansHouse_2F_MapWarps, 0x0, LittlerootTown_BrendansHouse_2F_MapBGEvents
diff --git a/data/maps/LittlerootTown_BrendansHouse_2F/header.inc b/data/maps/LittlerootTown_BrendansHouse_2F/header.inc
deleted file mode 100644
index 504504c57..000000000
--- a/data/maps/LittlerootTown_BrendansHouse_2F/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-LittlerootTown_BrendansHouse_2F:: @ 8305A4C
- .4byte LittlerootTown_BrendansHouse_2F_Layout
- .4byte LittlerootTown_BrendansHouse_2F_MapEvents
- .4byte LittlerootTown_BrendansHouse_2F_MapScripts
- .4byte 0x0
- .2byte MUS_MISHIRO
- .2byte 55
- .byte MAPSEC_LITTLEROOT_TOWN
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/LittlerootTown_BrendansHouse_2F/map.json b/data/maps/LittlerootTown_BrendansHouse_2F/map.json
new file mode 100644
index 000000000..40ef52b9a
--- /dev/null
+++ b/data/maps/LittlerootTown_BrendansHouse_2F/map.json
@@ -0,0 +1,241 @@
+{
+ "id": "MAP_LITTLEROOT_TOWN_BRENDANS_HOUSE_2F",
+ "name": "LittlerootTown_BrendansHouse_2F",
+ "layout": "LAYOUT_LITTLEROOT_TOWN_BRENDANS_HOUSE_2F",
+ "music": "MUS_MISHIRO",
+ "region_map_section": "MAPSEC_LITTLEROOT_TOWN",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_RIVAL_BRENDAN_NORMAL",
+ "x": 0,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP",
+ "movement_range_x": 1,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LittlerootTown_BrendansHouse_2F_EventScript_152A9D",
+ "flag": "FLAG_HIDE_BRENDAN_UPSTAIRS"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_0",
+ "x": 0,
+ "y": 0,
+ "elevation": 0,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_2"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_1",
+ "x": 0,
+ "y": 1,
+ "elevation": 0,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_3"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_2",
+ "x": 0,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_4"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_3",
+ "x": 0,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_5"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_4",
+ "x": 0,
+ "y": 4,
+ "elevation": 0,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_6"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_5",
+ "x": 0,
+ "y": 5,
+ "elevation": 4,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_7"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_6",
+ "x": 1,
+ "y": 0,
+ "elevation": 0,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_8"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_7",
+ "x": 1,
+ "y": 1,
+ "elevation": 0,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_9"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_8",
+ "x": 1,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_10"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_9",
+ "x": 1,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_11"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_A",
+ "x": 1,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_12"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_B",
+ "x": 1,
+ "y": 5,
+ "elevation": 0,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_13"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MOM",
+ "x": 7,
+ "y": 1,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 1,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_HIDE_MOM_UPSTAIRS"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 7,
+ "y": 1,
+ "elevation": 0,
+ "dest_map": "MAP_LITTLEROOT_TOWN_BRENDANS_HOUSE_1F",
+ "dest_warp_id": 2
+ }
+ ],
+ "coord_events": [],
+ "bg_events": [
+ {
+ "type": "sign",
+ "x": 0,
+ "y": 1,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH",
+ "script": "LittlerootTown_BrendansHouse_2F_EventScript_15281E"
+ },
+ {
+ "type": "sign",
+ "x": 1,
+ "y": 1,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "LittlerootTown_BrendansHouse_2F_EventScript_152867"
+ },
+ {
+ "type": "sign",
+ "x": 5,
+ "y": 1,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "LittlerootTown_BrendansHouse_2F_EventScript_1B69D3"
+ },
+ {
+ "type": "sign",
+ "x": 3,
+ "y": 1,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "LittlerootTown_BrendansHouse_2F_EventScript_152870"
+ }
+ ]
+} \ No newline at end of file
diff --git a/data/maps/LittlerootTown_MaysHouse_1F/events.inc b/data/maps/LittlerootTown_MaysHouse_1F/events.inc
deleted file mode 100644
index e31790eb9..000000000
--- a/data/maps/LittlerootTown_MaysHouse_1F/events.inc
+++ /dev/null
@@ -1,17 +0,0 @@
-LittlerootTown_MaysHouse_1F_EventObjects:: @ 83858C4
- object_event 1, EVENT_OBJ_GFX_MOM, 0, 8, 6, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, LittlerootTown_MaysHouse_1F_EventScript_1B6BE9, FLAG_HIDE_MAY_MOM_DOWNSTAIRS
- object_event 2, EVENT_OBJ_GFX_MACHOKE_FACING_AWAY, 0, 6, 5, 3, MOVEMENT_TYPE_WALK_IN_PLACE_UP, 0, 0, 0, 0, LittlerootTown_MaysHouse_1F_EventScript_1B6CA6, FLAG_HIDE_MACHOKE_MOVER_1
- object_event 3, EVENT_OBJ_GFX_MACHOKE_CARRYING_BOX, 0, 9, 3, 3, MOVEMENT_TYPE_WALK_LEFT_AND_RIGHT, 3, 0, 0, 0, LittlerootTown_MaysHouse_1F_EventScript_1B6CB9, FLAG_HIDE_MACHOKE_MOVER_2
- object_event 4, EVENT_OBJ_GFX_WOMAN_5, 0, 8, 7, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, LittlerootTown_MaysHouse_1F_EventScript_1529EB, FLAG_HIDE_MAY_MOM
- object_event 5, EVENT_OBJ_GFX_NORMAN, 0, 5, 6, 3, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 0, 0, 0x0, FLAG_HIDE_NORMAN_LITTLEROOT
-
-LittlerootTown_MaysHouse_1F_MapWarps:: @ 838593C
- warp_def 1, 8, 0, 0, MAP_LITTLEROOT_TOWN
- warp_def 2, 8, 0, 0, MAP_LITTLEROOT_TOWN
- warp_def 2, 2, 0, 0, MAP_LITTLEROOT_TOWN_MAYS_HOUSE_2F
-
-LittlerootTown_MaysHouse_1F_MapCoordEvents:: @ 8385954
- coord_event 2, 8, 0, VAR_LITTLEROOT_INTRO_STATE, 4, LittlerootTown_MaysHouse_1F_EventScript_152A35
-
-LittlerootTown_MaysHouse_1F_MapEvents:: @ 8385964
- map_events LittlerootTown_MaysHouse_1F_EventObjects, LittlerootTown_MaysHouse_1F_MapWarps, LittlerootTown_MaysHouse_1F_MapCoordEvents, 0x0
diff --git a/data/maps/LittlerootTown_MaysHouse_1F/header.inc b/data/maps/LittlerootTown_MaysHouse_1F/header.inc
deleted file mode 100644
index cbf0cc22b..000000000
--- a/data/maps/LittlerootTown_MaysHouse_1F/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-LittlerootTown_MaysHouse_1F:: @ 8305A68
- .4byte LittlerootTown_MaysHouse_1F_Layout
- .4byte LittlerootTown_MaysHouse_1F_MapEvents
- .4byte LittlerootTown_MaysHouse_1F_MapScripts
- .4byte 0x0
- .2byte MUS_MISHIRO
- .2byte 56
- .byte MAPSEC_LITTLEROOT_TOWN
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/LittlerootTown_MaysHouse_1F/map.json b/data/maps/LittlerootTown_MaysHouse_1F/map.json
new file mode 100644
index 000000000..f2416f54c
--- /dev/null
+++ b/data/maps/LittlerootTown_MaysHouse_1F/map.json
@@ -0,0 +1,115 @@
+{
+ "id": "MAP_LITTLEROOT_TOWN_MAYS_HOUSE_1F",
+ "name": "LittlerootTown_MaysHouse_1F",
+ "layout": "LAYOUT_LITTLEROOT_TOWN_MAYS_HOUSE_1F",
+ "music": "MUS_MISHIRO",
+ "region_map_section": "MAPSEC_LITTLEROOT_TOWN",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MOM",
+ "x": 8,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LittlerootTown_MaysHouse_1F_EventScript_1B6BE9",
+ "flag": "FLAG_HIDE_MAY_MOM_DOWNSTAIRS"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MACHOKE_FACING_AWAY",
+ "x": 6,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WALK_IN_PLACE_UP",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LittlerootTown_MaysHouse_1F_EventScript_1B6CA6",
+ "flag": "FLAG_HIDE_MACHOKE_MOVER_1"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MACHOKE_CARRYING_BOX",
+ "x": 9,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WALK_LEFT_AND_RIGHT",
+ "movement_range_x": 3,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LittlerootTown_MaysHouse_1F_EventScript_1B6CB9",
+ "flag": "FLAG_HIDE_MACHOKE_MOVER_2"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_5",
+ "x": 8,
+ "y": 7,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LittlerootTown_MaysHouse_1F_EventScript_1529EB",
+ "flag": "FLAG_HIDE_MAY_MOM"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_NORMAN",
+ "x": 5,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_HIDE_NORMAN_LITTLEROOT"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 1,
+ "y": 8,
+ "elevation": 0,
+ "dest_map": "MAP_LITTLEROOT_TOWN",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 2,
+ "y": 8,
+ "elevation": 0,
+ "dest_map": "MAP_LITTLEROOT_TOWN",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 2,
+ "y": 2,
+ "elevation": 0,
+ "dest_map": "MAP_LITTLEROOT_TOWN_MAYS_HOUSE_2F",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [
+ {
+ "type": "trigger",
+ "x": 2,
+ "y": 8,
+ "elevation": 0,
+ "var": "VAR_LITTLEROOT_INTRO_STATE",
+ "var_value": "4",
+ "script": "LittlerootTown_MaysHouse_1F_EventScript_152A35"
+ }
+ ],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/LittlerootTown_MaysHouse_2F/events.inc b/data/maps/LittlerootTown_MaysHouse_2F/events.inc
deleted file mode 100644
index b0c88e6b7..000000000
--- a/data/maps/LittlerootTown_MaysHouse_2F/events.inc
+++ /dev/null
@@ -1,28 +0,0 @@
-LittlerootTown_MaysHouse_2F_EventObjects:: @ 8385978
- object_event 1, EVENT_OBJ_GFX_RIVAL_MAY_NORMAL, 0, 8, 2, 3, MOVEMENT_TYPE_FACE_UP, 1, 0, 0, 0, LittlerootTown_MaysHouse_2F_EventScript_152A9D, FLAG_HIDE_MAY_UPSTAIRS
- object_event 2, EVENT_OBJ_GFX_VAR_0, 0, 0, 6, 0, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2
- object_event 3, EVENT_OBJ_GFX_VAR_1, 0, 1, 6, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3
- object_event 4, EVENT_OBJ_GFX_VAR_2, 0, 2, 6, 0, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4
- object_event 5, EVENT_OBJ_GFX_VAR_3, 0, 3, 6, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5
- object_event 6, EVENT_OBJ_GFX_VAR_4, 0, 4, 6, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6
- object_event 7, EVENT_OBJ_GFX_VAR_5, 0, 5, 6, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7
- object_event 8, EVENT_OBJ_GFX_VAR_6, 0, 0, 7, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8
- object_event 9, EVENT_OBJ_GFX_VAR_7, 0, 1, 7, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9
- object_event 10, EVENT_OBJ_GFX_VAR_8, 0, 2, 7, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10
- object_event 11, EVENT_OBJ_GFX_VAR_9, 0, 3, 7, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11
- object_event 12, EVENT_OBJ_GFX_VAR_A, 0, 4, 7, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12
- object_event 13, EVENT_OBJ_GFX_VAR_B, 0, 5, 7, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13
- object_event 14, EVENT_OBJ_GFX_MOM, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 0, 0, 0, 0x0, FLAG_HIDE_MOM_UPSTAIRS
- object_event 15, EVENT_OBJ_GFX_PICHU_DOLL, 0, 3, 4, 4, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, 0x0, FLAG_HIDE_MAY_PICHU_DOLL
-
-LittlerootTown_MaysHouse_2F_MapWarps:: @ 8385AE0
- warp_def 1, 1, 0, 2, MAP_LITTLEROOT_TOWN_MAYS_HOUSE_1F
-
-LittlerootTown_MaysHouse_2F_MapBGEvents:: @ 8385AE8
- bg_event 5, 1, 0, BG_EVENT_PLAYER_FACING_ANY, LittlerootTown_MaysHouse_2F_EventScript_152870
- bg_event 7, 1, 0, BG_EVENT_PLAYER_FACING_ANY, LittlerootTown_MaysHouse_2F_EventScript_152867
- bg_event 3, 1, 0, BG_EVENT_PLAYER_FACING_ANY, LittlerootTown_MaysHouse_2F_EventScript_1B69DF
- bg_event 8, 1, 0, BG_EVENT_PLAYER_FACING_ANY, LittlerootTown_MaysHouse_2F_EventScript_152C39
-
-LittlerootTown_MaysHouse_2F_MapEvents:: @ 8385B18
- map_events LittlerootTown_MaysHouse_2F_EventObjects, LittlerootTown_MaysHouse_2F_MapWarps, 0x0, LittlerootTown_MaysHouse_2F_MapBGEvents
diff --git a/data/maps/LittlerootTown_MaysHouse_2F/header.inc b/data/maps/LittlerootTown_MaysHouse_2F/header.inc
deleted file mode 100644
index c67985a20..000000000
--- a/data/maps/LittlerootTown_MaysHouse_2F/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-LittlerootTown_MaysHouse_2F:: @ 8305A84
- .4byte LittlerootTown_MaysHouse_2F_Layout
- .4byte LittlerootTown_MaysHouse_2F_MapEvents
- .4byte LittlerootTown_MaysHouse_2F_MapScripts
- .4byte 0x0
- .2byte MUS_MISHIRO
- .2byte 57
- .byte MAPSEC_LITTLEROOT_TOWN
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/LittlerootTown_MaysHouse_2F/map.json b/data/maps/LittlerootTown_MaysHouse_2F/map.json
new file mode 100644
index 000000000..db982aaf5
--- /dev/null
+++ b/data/maps/LittlerootTown_MaysHouse_2F/map.json
@@ -0,0 +1,254 @@
+{
+ "id": "MAP_LITTLEROOT_TOWN_MAYS_HOUSE_2F",
+ "name": "LittlerootTown_MaysHouse_2F",
+ "layout": "LAYOUT_LITTLEROOT_TOWN_MAYS_HOUSE_2F",
+ "music": "MUS_MISHIRO",
+ "region_map_section": "MAPSEC_LITTLEROOT_TOWN",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_RIVAL_MAY_NORMAL",
+ "x": 8,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP",
+ "movement_range_x": 1,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LittlerootTown_MaysHouse_2F_EventScript_152A9D",
+ "flag": "FLAG_HIDE_MAY_UPSTAIRS"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_0",
+ "x": 0,
+ "y": 6,
+ "elevation": 0,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_2"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_1",
+ "x": 1,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_3"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_2",
+ "x": 2,
+ "y": 6,
+ "elevation": 0,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_4"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_3",
+ "x": 3,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_5"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_4",
+ "x": 4,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_6"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_5",
+ "x": 5,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_7"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_6",
+ "x": 0,
+ "y": 7,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_8"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_7",
+ "x": 1,
+ "y": 7,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_9"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_8",
+ "x": 2,
+ "y": 7,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_10"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_9",
+ "x": 3,
+ "y": 7,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_11"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_A",
+ "x": 4,
+ "y": 7,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_12"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_B",
+ "x": 5,
+ "y": 7,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_13"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MOM",
+ "x": 1,
+ "y": 1,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 1,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_HIDE_MOM_UPSTAIRS"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_PICHU_DOLL",
+ "x": 3,
+ "y": 4,
+ "elevation": 4,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_HIDE_MAY_PICHU_DOLL"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 1,
+ "y": 1,
+ "elevation": 0,
+ "dest_map": "MAP_LITTLEROOT_TOWN_MAYS_HOUSE_1F",
+ "dest_warp_id": 2
+ }
+ ],
+ "coord_events": [],
+ "bg_events": [
+ {
+ "type": "sign",
+ "x": 5,
+ "y": 1,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "LittlerootTown_MaysHouse_2F_EventScript_152870"
+ },
+ {
+ "type": "sign",
+ "x": 7,
+ "y": 1,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "LittlerootTown_MaysHouse_2F_EventScript_152867"
+ },
+ {
+ "type": "sign",
+ "x": 3,
+ "y": 1,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "LittlerootTown_MaysHouse_2F_EventScript_1B69DF"
+ },
+ {
+ "type": "sign",
+ "x": 8,
+ "y": 1,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "LittlerootTown_MaysHouse_2F_EventScript_152C39"
+ }
+ ]
+} \ No newline at end of file
diff --git a/data/maps/LittlerootTown_ProfessorBirchsLab/events.inc b/data/maps/LittlerootTown_ProfessorBirchsLab/events.inc
deleted file mode 100644
index e7cdfad32..000000000
--- a/data/maps/LittlerootTown_ProfessorBirchsLab/events.inc
+++ /dev/null
@@ -1,28 +0,0 @@
-LittlerootTown_ProfessorBirchsLab_EventObjects:: @ 8385B2C
- object_event 1, EVENT_OBJ_GFX_SCIENTIST_1, 0, 9, 8, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, LittlerootTown_ProfessorBirchsLab_EventScript_152D63, 0
- object_event 2, EVENT_OBJ_GFX_PROF_BIRCH, 0, 6, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, LittlerootTown_ProfessorBirchsLab_EventScript_152D9A, FLAG_HIDE_BIRCH_IN_LAB
- object_event 3, EVENT_OBJ_GFX_VAR_0, 0, 7, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, LittlerootTown_ProfessorBirchsLab_EventScript_152EA3, FLAG_HIDE_RIVAL_BIRCH_LAB
-
-LittlerootTown_ProfessorBirchsLab_MapWarps:: @ 8385B74
- warp_def 6, 12, 0, 2, MAP_LITTLEROOT_TOWN
- warp_def 7, 12, 0, 2, MAP_LITTLEROOT_TOWN
-
-LittlerootTown_ProfessorBirchsLab_MapBGEvents:: @ 8385B84
- bg_event 10, 7, 0, BG_EVENT_PLAYER_FACING_NORTH, LittlerootTown_ProfessorBirchsLab_EventScript_152E9A
- bg_event 11, 7, 0, BG_EVENT_PLAYER_FACING_NORTH, LittlerootTown_ProfessorBirchsLab_EventScript_152E9A
- bg_event 7, 1, 0, BG_EVENT_PLAYER_FACING_ANY, LittlerootTown_ProfessorBirchsLab_EventScript_152EE2
- bg_event 8, 1, 0, BG_EVENT_PLAYER_FACING_ANY, LittlerootTown_ProfessorBirchsLab_EventScript_152EE2
- bg_event 1, 1, 0, BG_EVENT_PLAYER_FACING_ANY, LittlerootTown_ProfessorBirchsLab_EventScript_152ED9
- bg_event 0, 7, 0, BG_EVENT_PLAYER_FACING_ANY, LittlerootTown_ProfessorBirchsLab_EventScript_152ED9
- bg_event 1, 7, 0, BG_EVENT_PLAYER_FACING_ANY, LittlerootTown_ProfessorBirchsLab_EventScript_152ED9
- bg_event 2, 7, 0, BG_EVENT_PLAYER_FACING_ANY, LittlerootTown_ProfessorBirchsLab_EventScript_152ED9
- bg_event 3, 7, 0, BG_EVENT_PLAYER_FACING_ANY, LittlerootTown_ProfessorBirchsLab_EventScript_152ED9
- bg_event 4, 1, 0, BG_EVENT_PLAYER_FACING_ANY, LittlerootTown_ProfessorBirchsLab_EventScript_152ED0
- bg_event 3, 1, 0, BG_EVENT_PLAYER_FACING_ANY, LittlerootTown_ProfessorBirchsLab_EventScript_152ED0
- bg_event 1, 10, 0, BG_EVENT_PLAYER_FACING_ANY, LittlerootTown_ProfessorBirchsLab_EventScript_152ED0
- bg_event 1, 9, 0, BG_EVENT_PLAYER_FACING_ANY, LittlerootTown_ProfessorBirchsLab_EventScript_152ED0
- bg_event 11, 10, 0, BG_EVENT_PLAYER_FACING_ANY, LittlerootTown_ProfessorBirchsLab_EventScript_152ED0
- bg_event 11, 9, 0, BG_EVENT_PLAYER_FACING_ANY, LittlerootTown_ProfessorBirchsLab_EventScript_152ED0
-
-LittlerootTown_ProfessorBirchsLab_MapEvents:: @ 8385C38
- map_events LittlerootTown_ProfessorBirchsLab_EventObjects, LittlerootTown_ProfessorBirchsLab_MapWarps, 0x0, LittlerootTown_ProfessorBirchsLab_MapBGEvents
diff --git a/data/maps/LittlerootTown_ProfessorBirchsLab/header.inc b/data/maps/LittlerootTown_ProfessorBirchsLab/header.inc
deleted file mode 100644
index d07616c83..000000000
--- a/data/maps/LittlerootTown_ProfessorBirchsLab/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-LittlerootTown_ProfessorBirchsLab:: @ 8305AA0
- .4byte LittlerootTown_ProfessorBirchsLab_Layout
- .4byte LittlerootTown_ProfessorBirchsLab_MapEvents
- .4byte LittlerootTown_ProfessorBirchsLab_MapScripts
- .4byte 0x0
- .2byte MUS_ODAMAKI
- .2byte 58
- .byte MAPSEC_LITTLEROOT_TOWN
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/LittlerootTown_ProfessorBirchsLab/map.json b/data/maps/LittlerootTown_ProfessorBirchsLab/map.json
new file mode 100644
index 000000000..11681f61e
--- /dev/null
+++ b/data/maps/LittlerootTown_ProfessorBirchsLab/map.json
@@ -0,0 +1,193 @@
+{
+ "id": "MAP_LITTLEROOT_TOWN_PROFESSOR_BIRCHS_LAB",
+ "name": "LittlerootTown_ProfessorBirchsLab",
+ "layout": "LAYOUT_LITTLEROOT_TOWN_PROFESSOR_BIRCHS_LAB",
+ "music": "MUS_ODAMAKI",
+ "region_map_section": "MAPSEC_LITTLEROOT_TOWN",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_SCIENTIST_1",
+ "x": 9,
+ "y": 8,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LittlerootTown_ProfessorBirchsLab_EventScript_152D63",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_PROF_BIRCH",
+ "x": 6,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LittlerootTown_ProfessorBirchsLab_EventScript_152D9A",
+ "flag": "FLAG_HIDE_BIRCH_IN_LAB"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_0",
+ "x": 7,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "LittlerootTown_ProfessorBirchsLab_EventScript_152EA3",
+ "flag": "FLAG_HIDE_RIVAL_BIRCH_LAB"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 6,
+ "y": 12,
+ "elevation": 0,
+ "dest_map": "MAP_LITTLEROOT_TOWN",
+ "dest_warp_id": 2
+ },
+ {
+ "x": 7,
+ "y": 12,
+ "elevation": 0,
+ "dest_map": "MAP_LITTLEROOT_TOWN",
+ "dest_warp_id": 2
+ }
+ ],
+ "coord_events": [],
+ "bg_events": [
+ {
+ "type": "sign",
+ "x": 10,
+ "y": 7,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH",
+ "script": "LittlerootTown_ProfessorBirchsLab_EventScript_152E9A"
+ },
+ {
+ "type": "sign",
+ "x": 11,
+ "y": 7,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH",
+ "script": "LittlerootTown_ProfessorBirchsLab_EventScript_152E9A"
+ },
+ {
+ "type": "sign",
+ "x": 7,
+ "y": 1,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "LittlerootTown_ProfessorBirchsLab_EventScript_152EE2"
+ },
+ {
+ "type": "sign",
+ "x": 8,
+ "y": 1,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "LittlerootTown_ProfessorBirchsLab_EventScript_152EE2"
+ },
+ {
+ "type": "sign",
+ "x": 1,
+ "y": 1,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "LittlerootTown_ProfessorBirchsLab_EventScript_152ED9"
+ },
+ {
+ "type": "sign",
+ "x": 0,
+ "y": 7,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "LittlerootTown_ProfessorBirchsLab_EventScript_152ED9"
+ },
+ {
+ "type": "sign",
+ "x": 1,
+ "y": 7,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "LittlerootTown_ProfessorBirchsLab_EventScript_152ED9"
+ },
+ {
+ "type": "sign",
+ "x": 2,
+ "y": 7,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "LittlerootTown_ProfessorBirchsLab_EventScript_152ED9"
+ },
+ {
+ "type": "sign",
+ "x": 3,
+ "y": 7,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "LittlerootTown_ProfessorBirchsLab_EventScript_152ED9"
+ },
+ {
+ "type": "sign",
+ "x": 4,
+ "y": 1,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "LittlerootTown_ProfessorBirchsLab_EventScript_152ED0"
+ },
+ {
+ "type": "sign",
+ "x": 3,
+ "y": 1,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "LittlerootTown_ProfessorBirchsLab_EventScript_152ED0"
+ },
+ {
+ "type": "sign",
+ "x": 1,
+ "y": 10,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "LittlerootTown_ProfessorBirchsLab_EventScript_152ED0"
+ },
+ {
+ "type": "sign",
+ "x": 1,
+ "y": 9,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "LittlerootTown_ProfessorBirchsLab_EventScript_152ED0"
+ },
+ {
+ "type": "sign",
+ "x": 11,
+ "y": 10,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "LittlerootTown_ProfessorBirchsLab_EventScript_152ED0"
+ },
+ {
+ "type": "sign",
+ "x": 11,
+ "y": 9,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "LittlerootTown_ProfessorBirchsLab_EventScript_152ED0"
+ }
+ ]
+} \ No newline at end of file
diff --git a/data/maps/MagmaHideout_1F/events.inc b/data/maps/MagmaHideout_1F/events.inc
deleted file mode 100644
index b9ae7e567..000000000
--- a/data/maps/MagmaHideout_1F/events.inc
+++ /dev/null
@@ -1,11 +0,0 @@
-MagmaHideout_1F_EventObjects:: @ 838E9BC
- object_event 1, EVENT_OBJ_GFX_VAR_1, 0, 13, 19, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, MagmaHideout_1F_EventScript_15D7CE, FLAG_HIDE_GRUNT_1_BLOCKING_HIDEOUT
- object_event 2, EVENT_OBJ_GFX_VAR_1, 0, 14, 19, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, MagmaHideout_1F_EventScript_15D7ED, FLAG_HIDE_GRUNT_2_BLOCKING_HIDEOUT
- object_event 3, EVENT_OBJ_GFX_VAR_1, 0, 20, 3, 3, MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_LEFT_UP_RIGHT, 14, 6, 1, 3, MagmaHideout_1F_EventScript_15D80C, 0
-
-MagmaHideout_1F_MapWarps:: @ 838EA04
- warp_def 13, 27, 1, 14, MAP_LILYCOVE_CITY
- warp_def 13, 1, 3, 0, MAP_MAGMA_HIDEOUT_B1F
-
-MagmaHideout_1F_MapEvents:: @ 838EA14
- map_events MagmaHideout_1F_EventObjects, MagmaHideout_1F_MapWarps, 0x0, 0x0
diff --git a/data/maps/MagmaHideout_1F/header.inc b/data/maps/MagmaHideout_1F/header.inc
deleted file mode 100644
index b2235e2e5..000000000
--- a/data/maps/MagmaHideout_1F/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-MagmaHideout_1F:: @ 8307588
- .4byte MagmaHideout_1F_Layout
- .4byte MagmaHideout_1F_MapEvents
- .4byte MagmaHideout_1F_MapScripts
- .4byte 0x0
- .2byte MUS_AJITO
- .2byte 317
- .byte MAPSEC_EVIL_TEAM_HIDEOUT
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_MAGMA
diff --git a/data/maps/MagmaHideout_1F/map.json b/data/maps/MagmaHideout_1F/map.json
new file mode 100644
index 000000000..37996e6e8
--- /dev/null
+++ b/data/maps/MagmaHideout_1F/map.json
@@ -0,0 +1,72 @@
+{
+ "id": "MAP_MAGMA_HIDEOUT_1F",
+ "name": "MagmaHideout_1F",
+ "layout": "LAYOUT_MAGMA_HIDEOUT_1F",
+ "music": "MUS_AJITO",
+ "region_map_section": "MAPSEC_EVIL_TEAM_HIDEOUT",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_MAGMA",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_1",
+ "x": 13,
+ "y": 19,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "MagmaHideout_1F_EventScript_15D7CE",
+ "flag": "FLAG_HIDE_GRUNT_1_BLOCKING_HIDEOUT"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_1",
+ "x": 14,
+ "y": 19,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "MagmaHideout_1F_EventScript_15D7ED",
+ "flag": "FLAG_HIDE_GRUNT_2_BLOCKING_HIDEOUT"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_1",
+ "x": 20,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_LEFT_UP_RIGHT",
+ "movement_range_x": 14,
+ "movement_range_y": 6,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "3",
+ "script": "MagmaHideout_1F_EventScript_15D80C",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 13,
+ "y": 27,
+ "elevation": 1,
+ "dest_map": "MAP_LILYCOVE_CITY",
+ "dest_warp_id": 14
+ },
+ {
+ "x": 13,
+ "y": 1,
+ "elevation": 3,
+ "dest_map": "MAP_MAGMA_HIDEOUT_B1F",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/MagmaHideout_B1F/events.inc b/data/maps/MagmaHideout_B1F/events.inc
deleted file mode 100644
index 1301f69f4..000000000
--- a/data/maps/MagmaHideout_B1F/events.inc
+++ /dev/null
@@ -1,43 +0,0 @@
-MagmaHideout_B1F_EventObjects:: @ 838EA28
- object_event 1, EVENT_OBJ_GFX_VAR_1, 0, 33, 3, 3, MOVEMENT_TYPE_FACE_LEFT, 1, 1, 1, 5, MagmaHideout_B1F_EventScript_15D850, 0
- object_event 2, EVENT_OBJ_GFX_VAR_1, 0, 41, 17, 3, MOVEMENT_TYPE_ROTATE_COUNTERCLOCKWISE, 1, 1, 1, 3, MagmaHideout_B1F_EventScript_15D875, 0
- object_event 3, EVENT_OBJ_GFX_VAR_2, 0, 33, 19, 3, MOVEMENT_TYPE_WALK_LEFT_AND_RIGHT, 4, 1, 1, 3, MagmaHideout_B1F_EventScript_15D89A, 0
- object_event 4, EVENT_OBJ_GFX_ITEM_BALL, 0, 26, 10, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, MagmaHideout_B1F_EventScript_1B19C2, FLAG_ITEM_MAGMA_HIDEOUT_B1F_1
- object_event 5, EVENT_OBJ_GFX_ITEM_BALL, 0, 14, 18, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, MagmaHideout_B1F_EventScript_1B19DC, FLAG_ITEM_MAGMA_HIDEOUT_B1F_2
- object_event 6, EVENT_OBJ_GFX_ITEM_BALL, 0, 27, 10, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, MagmaHideout_B1F_EventScript_1A04FD, FLAG_HIDE_ELECTRODE_1_HIDEOUT
- object_event 7, EVENT_OBJ_GFX_ITEM_BALL, 0, 26, 11, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, MagmaHideout_B1F_EventScript_1B19CF, FLAG_ITEM_MAGMA_HIDEOUT_B1F_3
- object_event 8, EVENT_OBJ_GFX_ITEM_BALL, 0, 27, 11, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, MagmaHideout_B1F_EventScript_1A051B, FLAG_HIDE_ELECTRODE_2_HIDEOUT
-
-MagmaHideout_B1F_MapWarps:: @ 838EAE8
- warp_def 3, 3, 3, 1, MAP_MAGMA_HIDEOUT_1F
- warp_def 14, 3, 3, 0, MAP_MAGMA_HIDEOUT_B2F
- warp_def 23, 1, 3, 1, MAP_MAGMA_HIDEOUT_B2F
- warp_def 29, 1, 3, 2, MAP_MAGMA_HIDEOUT_B2F
- warp_def 8, 5, 3, 6, MAP_MAGMA_HIDEOUT_B1F
- warp_def 8, 7, 3, 9, MAP_MAGMA_HIDEOUT_B1F
- warp_def 14, 8, 3, 4, MAP_MAGMA_HIDEOUT_B1F
- warp_def 23, 5, 3, 10, MAP_MAGMA_HIDEOUT_B1F
- warp_def 39, 5, 3, 13, MAP_MAGMA_HIDEOUT_B1F
- warp_def 16, 16, 3, 5, MAP_MAGMA_HIDEOUT_B1F
- warp_def 21, 14, 3, 7, MAP_MAGMA_HIDEOUT_B1F
- warp_def 21, 20, 3, 12, MAP_MAGMA_HIDEOUT_B1F
- warp_def 38, 11, 3, 11, MAP_MAGMA_HIDEOUT_B1F
- warp_def 43, 19, 3, 8, MAP_MAGMA_HIDEOUT_B1F
- warp_def 34, 11, 3, 28, MAP_MAGMA_HIDEOUT_B1F
- warp_def 41, 11, 3, 16, MAP_MAGMA_HIDEOUT_B1F
- warp_def 56, 3, 3, 15, MAP_MAGMA_HIDEOUT_B1F
- warp_def 56, 5, 3, 16, MAP_MAGMA_HIDEOUT_B1F
- warp_def 53, 5, 3, 22, MAP_MAGMA_HIDEOUT_B1F
- warp_def 59, 5, 3, 20, MAP_MAGMA_HIDEOUT_B1F
- warp_def 53, 9, 3, 19, MAP_MAGMA_HIDEOUT_B1F
- warp_def 56, 9, 3, 24, MAP_MAGMA_HIDEOUT_B1F
- warp_def 59, 9, 3, 18, MAP_MAGMA_HIDEOUT_B1F
- warp_def 53, 13, 3, 17, MAP_MAGMA_HIDEOUT_B1F
- warp_def 56, 13, 3, 21, MAP_MAGMA_HIDEOUT_B1F
- warp_def 59, 13, 3, 26, MAP_MAGMA_HIDEOUT_B1F
- warp_def 53, 17, 3, 25, MAP_MAGMA_HIDEOUT_B1F
- warp_def 56, 17, 3, 21, MAP_MAGMA_HIDEOUT_B1F
- warp_def 59, 17, 3, 14, MAP_MAGMA_HIDEOUT_B1F
-
-MagmaHideout_B1F_MapEvents:: @ 838EBD0
- map_events MagmaHideout_B1F_EventObjects, MagmaHideout_B1F_MapWarps, 0x0, 0x0
diff --git a/data/maps/MagmaHideout_B1F/header.inc b/data/maps/MagmaHideout_B1F/header.inc
deleted file mode 100644
index 2a64f4324..000000000
--- a/data/maps/MagmaHideout_B1F/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-MagmaHideout_B1F:: @ 83075A4
- .4byte MagmaHideout_B1F_Layout
- .4byte MagmaHideout_B1F_MapEvents
- .4byte MagmaHideout_B1F_MapScripts
- .4byte 0x0
- .2byte MUS_AJITO
- .2byte 318
- .byte MAPSEC_EVIL_TEAM_HIDEOUT
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_MAGMA
diff --git a/data/maps/MagmaHideout_B1F/map.json b/data/maps/MagmaHideout_B1F/map.json
new file mode 100644
index 000000000..4a63a0bd8
--- /dev/null
+++ b/data/maps/MagmaHideout_B1F/map.json
@@ -0,0 +1,326 @@
+{
+ "id": "MAP_MAGMA_HIDEOUT_B1F",
+ "name": "MagmaHideout_B1F",
+ "layout": "LAYOUT_MAGMA_HIDEOUT_B1F",
+ "music": "MUS_AJITO",
+ "region_map_section": "MAPSEC_EVIL_TEAM_HIDEOUT",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_MAGMA",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_1",
+ "x": 33,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "5",
+ "script": "MagmaHideout_B1F_EventScript_15D850",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_1",
+ "x": 41,
+ "y": 17,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_ROTATE_COUNTERCLOCKWISE",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "3",
+ "script": "MagmaHideout_B1F_EventScript_15D875",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_2",
+ "x": 33,
+ "y": 19,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WALK_LEFT_AND_RIGHT",
+ "movement_range_x": 4,
+ "movement_range_y": 1,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "3",
+ "script": "MagmaHideout_B1F_EventScript_15D89A",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ITEM_BALL",
+ "x": 26,
+ "y": 10,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "MagmaHideout_B1F_EventScript_1B19C2",
+ "flag": "FLAG_ITEM_MAGMA_HIDEOUT_B1F_1"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ITEM_BALL",
+ "x": 14,
+ "y": 18,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "MagmaHideout_B1F_EventScript_1B19DC",
+ "flag": "FLAG_ITEM_MAGMA_HIDEOUT_B1F_2"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ITEM_BALL",
+ "x": 27,
+ "y": 10,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "MagmaHideout_B1F_EventScript_1A04FD",
+ "flag": "FLAG_HIDE_ELECTRODE_1_HIDEOUT"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ITEM_BALL",
+ "x": 26,
+ "y": 11,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "MagmaHideout_B1F_EventScript_1B19CF",
+ "flag": "FLAG_ITEM_MAGMA_HIDEOUT_B1F_3"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ITEM_BALL",
+ "x": 27,
+ "y": 11,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "MagmaHideout_B1F_EventScript_1A051B",
+ "flag": "FLAG_HIDE_ELECTRODE_2_HIDEOUT"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 3,
+ "y": 3,
+ "elevation": 3,
+ "dest_map": "MAP_MAGMA_HIDEOUT_1F",
+ "dest_warp_id": 1
+ },
+ {
+ "x": 14,
+ "y": 3,
+ "elevation": 3,
+ "dest_map": "MAP_MAGMA_HIDEOUT_B2F",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 23,
+ "y": 1,
+ "elevation": 3,
+ "dest_map": "MAP_MAGMA_HIDEOUT_B2F",
+ "dest_warp_id": 1
+ },
+ {
+ "x": 29,
+ "y": 1,
+ "elevation": 3,
+ "dest_map": "MAP_MAGMA_HIDEOUT_B2F",
+ "dest_warp_id": 2
+ },
+ {
+ "x": 8,
+ "y": 5,
+ "elevation": 3,
+ "dest_map": "MAP_MAGMA_HIDEOUT_B1F",
+ "dest_warp_id": 6
+ },
+ {
+ "x": 8,
+ "y": 7,
+ "elevation": 3,
+ "dest_map": "MAP_MAGMA_HIDEOUT_B1F",
+ "dest_warp_id": 9
+ },
+ {
+ "x": 14,
+ "y": 8,
+ "elevation": 3,
+ "dest_map": "MAP_MAGMA_HIDEOUT_B1F",
+ "dest_warp_id": 4
+ },
+ {
+ "x": 23,
+ "y": 5,
+ "elevation": 3,
+ "dest_map": "MAP_MAGMA_HIDEOUT_B1F",
+ "dest_warp_id": 10
+ },
+ {
+ "x": 39,
+ "y": 5,
+ "elevation": 3,
+ "dest_map": "MAP_MAGMA_HIDEOUT_B1F",
+ "dest_warp_id": 13
+ },
+ {
+ "x": 16,
+ "y": 16,
+ "elevation": 3,
+ "dest_map": "MAP_MAGMA_HIDEOUT_B1F",
+ "dest_warp_id": 5
+ },
+ {
+ "x": 21,
+ "y": 14,
+ "elevation": 3,
+ "dest_map": "MAP_MAGMA_HIDEOUT_B1F",
+ "dest_warp_id": 7
+ },
+ {
+ "x": 21,
+ "y": 20,
+ "elevation": 3,
+ "dest_map": "MAP_MAGMA_HIDEOUT_B1F",
+ "dest_warp_id": 12
+ },
+ {
+ "x": 38,
+ "y": 11,
+ "elevation": 3,
+ "dest_map": "MAP_MAGMA_HIDEOUT_B1F",
+ "dest_warp_id": 11
+ },
+ {
+ "x": 43,
+ "y": 19,
+ "elevation": 3,
+ "dest_map": "MAP_MAGMA_HIDEOUT_B1F",
+ "dest_warp_id": 8
+ },
+ {
+ "x": 34,
+ "y": 11,
+ "elevation": 3,
+ "dest_map": "MAP_MAGMA_HIDEOUT_B1F",
+ "dest_warp_id": 28
+ },
+ {
+ "x": 41,
+ "y": 11,
+ "elevation": 3,
+ "dest_map": "MAP_MAGMA_HIDEOUT_B1F",
+ "dest_warp_id": 16
+ },
+ {
+ "x": 56,
+ "y": 3,
+ "elevation": 3,
+ "dest_map": "MAP_MAGMA_HIDEOUT_B1F",
+ "dest_warp_id": 15
+ },
+ {
+ "x": 56,
+ "y": 5,
+ "elevation": 3,
+ "dest_map": "MAP_MAGMA_HIDEOUT_B1F",
+ "dest_warp_id": 16
+ },
+ {
+ "x": 53,
+ "y": 5,
+ "elevation": 3,
+ "dest_map": "MAP_MAGMA_HIDEOUT_B1F",
+ "dest_warp_id": 22
+ },
+ {
+ "x": 59,
+ "y": 5,
+ "elevation": 3,
+ "dest_map": "MAP_MAGMA_HIDEOUT_B1F",
+ "dest_warp_id": 20
+ },
+ {
+ "x": 53,
+ "y": 9,
+ "elevation": 3,
+ "dest_map": "MAP_MAGMA_HIDEOUT_B1F",
+ "dest_warp_id": 19
+ },
+ {
+ "x": 56,
+ "y": 9,
+ "elevation": 3,
+ "dest_map": "MAP_MAGMA_HIDEOUT_B1F",
+ "dest_warp_id": 24
+ },
+ {
+ "x": 59,
+ "y": 9,
+ "elevation": 3,
+ "dest_map": "MAP_MAGMA_HIDEOUT_B1F",
+ "dest_warp_id": 18
+ },
+ {
+ "x": 53,
+ "y": 13,
+ "elevation": 3,
+ "dest_map": "MAP_MAGMA_HIDEOUT_B1F",
+ "dest_warp_id": 17
+ },
+ {
+ "x": 56,
+ "y": 13,
+ "elevation": 3,
+ "dest_map": "MAP_MAGMA_HIDEOUT_B1F",
+ "dest_warp_id": 21
+ },
+ {
+ "x": 59,
+ "y": 13,
+ "elevation": 3,
+ "dest_map": "MAP_MAGMA_HIDEOUT_B1F",
+ "dest_warp_id": 26
+ },
+ {
+ "x": 53,
+ "y": 17,
+ "elevation": 3,
+ "dest_map": "MAP_MAGMA_HIDEOUT_B1F",
+ "dest_warp_id": 25
+ },
+ {
+ "x": 56,
+ "y": 17,
+ "elevation": 3,
+ "dest_map": "MAP_MAGMA_HIDEOUT_B1F",
+ "dest_warp_id": 21
+ },
+ {
+ "x": 59,
+ "y": 17,
+ "elevation": 3,
+ "dest_map": "MAP_MAGMA_HIDEOUT_B1F",
+ "dest_warp_id": 14
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/MagmaHideout_B2F/events.inc b/data/maps/MagmaHideout_B2F/events.inc
deleted file mode 100644
index f4d2b459e..000000000
--- a/data/maps/MagmaHideout_B2F/events.inc
+++ /dev/null
@@ -1,25 +0,0 @@
-MagmaHideout_B2F_EventObjects:: @ 838EBE4
- object_event 1, EVENT_OBJ_GFX_VAR_1, 0, 8, 19, 3, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 0, 0, MagmaHideout_B2F_EventScript_15D8E1, FLAG_HIDE_GRUNTS_HIDEOUTS
- object_event 2, EVENT_OBJ_GFX_VAR_1, 0, 31, 11, 3, MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_UP_RIGHT_DOWN, 7, 4, 1, 3, MagmaHideout_B2F_EventScript_15D962, FLAG_HIDE_GRUNTS_HIDEOUTS
- object_event 3, EVENT_OBJ_GFX_SUBMARINE_SHADOW, 0, 12, 20, 1, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 0, 0, 0x0, FLAG_HIDE_SUBMARINE_SHADOW_HIDEOUT
- object_event 4, EVENT_OBJ_GFX_VAR_2, 0, 13, 3, 3, MOVEMENT_TYPE_FACE_LEFT, 1, 1, 1, 4, MagmaHideout_B2F_EventScript_15D987, FLAG_HIDE_GRUNTS_HIDEOUTS
- object_event 5, EVENT_OBJ_GFX_ITEM_BALL, 0, 31, 20, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, MagmaHideout_B2F_EventScript_1B19E9, FLAG_ITEM_MAGMA_HIDEOUT_B2F_1
-
-MagmaHideout_B2F_MapWarps:: @ 838EC5C
- warp_def 3, 3, 3, 1, MAP_MAGMA_HIDEOUT_B1F
- warp_def 12, 1, 3, 2, MAP_MAGMA_HIDEOUT_B1F
- warp_def 18, 1, 3, 3, MAP_MAGMA_HIDEOUT_B1F
- warp_def 2, 14, 3, 4, MAP_MAGMA_HIDEOUT_B1F
- warp_def 12, 13, 3, 5, MAP_MAGMA_HIDEOUT_B2F
- warp_def 17, 13, 3, 4, MAP_MAGMA_HIDEOUT_B2F
- warp_def 31, 4, 3, 7, MAP_MAGMA_HIDEOUT_B2F
- warp_def 31, 16, 3, 6, MAP_MAGMA_HIDEOUT_B2F
-
-MagmaHideout_B2F_MapCoordEvents:: @ 838EC9C
- coord_event 7, 16, 3, VAR_TEMP_1, 0, MagmaHideout_B2F_EventScript_15D8BD
- coord_event 6, 16, 3, VAR_TEMP_1, 0, MagmaHideout_B2F_EventScript_15D8BD
- coord_event 5, 16, 3, VAR_TEMP_1, 0, MagmaHideout_B2F_EventScript_15D8BD
- coord_event 4, 16, 3, VAR_TEMP_1, 0, MagmaHideout_B2F_EventScript_15D8BD
-
-MagmaHideout_B2F_MapEvents:: @ 838ECDC
- map_events MagmaHideout_B2F_EventObjects, MagmaHideout_B2F_MapWarps, MagmaHideout_B2F_MapCoordEvents, 0x0
diff --git a/data/maps/MagmaHideout_B2F/header.inc b/data/maps/MagmaHideout_B2F/header.inc
deleted file mode 100644
index adfd83008..000000000
--- a/data/maps/MagmaHideout_B2F/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-MagmaHideout_B2F:: @ 83075C0
- .4byte MagmaHideout_B2F_Layout
- .4byte MagmaHideout_B2F_MapEvents
- .4byte MagmaHideout_B2F_MapScripts
- .4byte 0x0
- .2byte MUS_AJITO
- .2byte 319
- .byte MAPSEC_EVIL_TEAM_HIDEOUT
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_MAGMA
diff --git a/data/maps/MagmaHideout_B2F/map.json b/data/maps/MagmaHideout_B2F/map.json
new file mode 100644
index 000000000..121b86c48
--- /dev/null
+++ b/data/maps/MagmaHideout_B2F/map.json
@@ -0,0 +1,177 @@
+{
+ "id": "MAP_MAGMA_HIDEOUT_B2F",
+ "name": "MagmaHideout_B2F",
+ "layout": "LAYOUT_MAGMA_HIDEOUT_B2F",
+ "music": "MUS_AJITO",
+ "region_map_section": "MAPSEC_EVIL_TEAM_HIDEOUT",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_MAGMA",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_1",
+ "x": 8,
+ "y": 19,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "MagmaHideout_B2F_EventScript_15D8E1",
+ "flag": "FLAG_HIDE_GRUNTS_HIDEOUTS"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_1",
+ "x": 31,
+ "y": 11,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_UP_RIGHT_DOWN",
+ "movement_range_x": 7,
+ "movement_range_y": 4,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "3",
+ "script": "MagmaHideout_B2F_EventScript_15D962",
+ "flag": "FLAG_HIDE_GRUNTS_HIDEOUTS"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_SUBMARINE_SHADOW",
+ "x": 12,
+ "y": 20,
+ "elevation": 1,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_HIDE_SUBMARINE_SHADOW_HIDEOUT"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_2",
+ "x": 13,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "4",
+ "script": "MagmaHideout_B2F_EventScript_15D987",
+ "flag": "FLAG_HIDE_GRUNTS_HIDEOUTS"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ITEM_BALL",
+ "x": 31,
+ "y": 20,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "MagmaHideout_B2F_EventScript_1B19E9",
+ "flag": "FLAG_ITEM_MAGMA_HIDEOUT_B2F_1"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 3,
+ "y": 3,
+ "elevation": 3,
+ "dest_map": "MAP_MAGMA_HIDEOUT_B1F",
+ "dest_warp_id": 1
+ },
+ {
+ "x": 12,
+ "y": 1,
+ "elevation": 3,
+ "dest_map": "MAP_MAGMA_HIDEOUT_B1F",
+ "dest_warp_id": 2
+ },
+ {
+ "x": 18,
+ "y": 1,
+ "elevation": 3,
+ "dest_map": "MAP_MAGMA_HIDEOUT_B1F",
+ "dest_warp_id": 3
+ },
+ {
+ "x": 2,
+ "y": 14,
+ "elevation": 3,
+ "dest_map": "MAP_MAGMA_HIDEOUT_B1F",
+ "dest_warp_id": 4
+ },
+ {
+ "x": 12,
+ "y": 13,
+ "elevation": 3,
+ "dest_map": "MAP_MAGMA_HIDEOUT_B2F",
+ "dest_warp_id": 5
+ },
+ {
+ "x": 17,
+ "y": 13,
+ "elevation": 3,
+ "dest_map": "MAP_MAGMA_HIDEOUT_B2F",
+ "dest_warp_id": 4
+ },
+ {
+ "x": 31,
+ "y": 4,
+ "elevation": 3,
+ "dest_map": "MAP_MAGMA_HIDEOUT_B2F",
+ "dest_warp_id": 7
+ },
+ {
+ "x": 31,
+ "y": 16,
+ "elevation": 3,
+ "dest_map": "MAP_MAGMA_HIDEOUT_B2F",
+ "dest_warp_id": 6
+ }
+ ],
+ "coord_events": [
+ {
+ "type": "trigger",
+ "x": 7,
+ "y": 16,
+ "elevation": 3,
+ "var": "VAR_TEMP_1",
+ "var_value": "0",
+ "script": "MagmaHideout_B2F_EventScript_15D8BD"
+ },
+ {
+ "type": "trigger",
+ "x": 6,
+ "y": 16,
+ "elevation": 3,
+ "var": "VAR_TEMP_1",
+ "var_value": "0",
+ "script": "MagmaHideout_B2F_EventScript_15D8BD"
+ },
+ {
+ "type": "trigger",
+ "x": 5,
+ "y": 16,
+ "elevation": 3,
+ "var": "VAR_TEMP_1",
+ "var_value": "0",
+ "script": "MagmaHideout_B2F_EventScript_15D8BD"
+ },
+ {
+ "type": "trigger",
+ "x": 4,
+ "y": 16,
+ "elevation": 3,
+ "var": "VAR_TEMP_1",
+ "var_value": "0",
+ "script": "MagmaHideout_B2F_EventScript_15D8BD"
+ }
+ ],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/MauvilleCity/connections.inc b/data/maps/MauvilleCity/connections.inc
deleted file mode 100644
index cc06f45e7..000000000
--- a/data/maps/MauvilleCity/connections.inc
+++ /dev/null
@@ -1,9 +0,0 @@
-MauvilleCity_MapConnectionsList:: @ 8308730
- connection up, 0, MAP_ROUTE111
- connection down, 0, MAP_ROUTE110
- connection left, 0, MAP_ROUTE117
- connection right, 0, MAP_ROUTE118
-
-MauvilleCity_MapConnections:: @ 8308760
- .4byte 0x4
- .4byte MauvilleCity_MapConnectionsList
diff --git a/data/maps/MauvilleCity/events.inc b/data/maps/MauvilleCity/events.inc
deleted file mode 100644
index cd0d99bbf..000000000
--- a/data/maps/MauvilleCity/events.inc
+++ /dev/null
@@ -1,32 +0,0 @@
-MauvilleCity_EventObjects:: @ 837FB90
- object_event 1, EVENT_OBJ_GFX_BOY_3, 0, 29, 16, 3, MOVEMENT_TYPE_WANDER_LEFT_AND_RIGHT, 1, 1, 0, 0, MauvilleCity_EventScript_14C05A, 0
- object_event 2, EVENT_OBJ_GFX_BOY_4, 0, 24, 10, 3, MOVEMENT_TYPE_WANDER_LEFT_AND_RIGHT, 1, 0, 0, 0, MauvilleCity_EventScript_14C075, 0
- object_event 3, EVENT_OBJ_GFX_MANIAC, 0, 14, 11, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, MauvilleCity_EventScript_14C063, 0
- object_event 4, EVENT_OBJ_GFX_WOMAN_5, 0, 18, 6, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, MauvilleCity_EventScript_14C06C, 0
- object_event 5, EVENT_OBJ_GFX_SCHOOL_KID_M, 0, 17, 14, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, MauvilleCity_EventScript_14C0A2, 0
- object_event 6, EVENT_OBJ_GFX_WALLY, 0, 8, 6, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, MauvilleCity_EventScript_14C0F9, FLAG_HIDE_WALLY_MAUVILLE
- object_event 7, EVENT_OBJ_GFX_MAN_3, 0, 9, 6, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, MauvilleCity_EventScript_14C0C4, FLAG_HIDE_WALLY_FATHER_MAUVILLE
- object_event 8, EVENT_OBJ_GFX_WATTSON, 0, 29, 9, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, MauvilleCity_EventScript_14C2F2, FLAG_HIDE_WATTSON_MAUVILLE
- object_event 9, EVENT_OBJ_GFX_ITEM_BALL, 0, 28, 19, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, MauvilleCity_EventScript_1B171E, FLAG_ITEM_MAUVILLE_1
-
-MauvilleCity_MapWarps:: @ 837FC68
- warp_def 8, 5, 0, 0, MAP_MAUVILLE_CITY_GYM
- warp_def 22, 5, 0, 0, MAP_MAUVILLE_CITY_POKEMON_CENTER_1F
- warp_def 35, 5, 0, 0, MAP_MAUVILLE_CITY_BIKE_SHOP
- warp_def 23, 14, 0, 0, MAP_MAUVILLE_CITY_MART
- warp_def 32, 14, 0, 0, MAP_MAUVILLE_CITY_HOUSE1
- warp_def 8, 13, 0, 0, MAP_MAUVILLE_CITY_GAME_CORNER
- warp_def 19, 14, 0, 0, MAP_MAUVILLE_CITY_HOUSE2
-
-MauvilleCity_MapBGEvents:: @ 837FCA0
- bg_event 23, 5, 0, BG_EVENT_PLAYER_FACING_NORTH, MauvilleCity_EventScript_1A00EA
- bg_event 11, 6, 3, BG_EVENT_PLAYER_FACING_ANY, MauvilleCity_EventScript_14C087
- bg_event 24, 14, 0, BG_EVENT_PLAYER_FACING_NORTH, MauvilleCity_EventScript_1A00E1
- bg_event 25, 14, 0, BG_EVENT_PLAYER_FACING_NORTH, MauvilleCity_EventScript_1A00E1
- bg_event 24, 5, 0, BG_EVENT_PLAYER_FACING_NORTH, MauvilleCity_EventScript_1A00EA
- bg_event 19, 7, 0, BG_EVENT_PLAYER_FACING_ANY, MauvilleCity_EventScript_14C07E
- bg_event 33, 6, 0, BG_EVENT_PLAYER_FACING_ANY, MauvilleCity_EventScript_14C090
- bg_event 11, 15, 0, BG_EVENT_PLAYER_FACING_ANY, MauvilleCity_EventScript_14C099
-
-MauvilleCity_MapEvents:: @ 837FD00
- map_events MauvilleCity_EventObjects, MauvilleCity_MapWarps, 0x0, MauvilleCity_MapBGEvents
diff --git a/data/maps/MauvilleCity/header.inc b/data/maps/MauvilleCity/header.inc
deleted file mode 100644
index 73d8c1330..000000000
--- a/data/maps/MauvilleCity/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-MauvilleCity:: @ 8305480
- .4byte MauvilleCity_Layout
- .4byte MauvilleCity_MapEvents
- .4byte MauvilleCity_MapScripts
- .4byte MauvilleCity_MapConnections
- .2byte MUS_GOTOWN
- .2byte 3
- .byte MAPSEC_MAUVILLE_CITY
- .byte 0
- .byte WEATHER_SUNNY
- .byte MAP_TYPE_CITY
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/MauvilleCity/map.json b/data/maps/MauvilleCity/map.json
new file mode 100644
index 000000000..fb3887037
--- /dev/null
+++ b/data/maps/MauvilleCity/map.json
@@ -0,0 +1,271 @@
+{
+ "id": "MAP_MAUVILLE_CITY",
+ "name": "MauvilleCity",
+ "layout": "LAYOUT_MAUVILLE_CITY",
+ "music": "MUS_GOTOWN",
+ "region_map_section": "MAPSEC_MAUVILLE_CITY",
+ "requires_flash": false,
+ "weather": "WEATHER_SUNNY",
+ "map_type": "MAP_TYPE_CITY",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": [
+ {
+ "direction": "up",
+ "offset": 0,
+ "map": "MAP_ROUTE111"
+ },
+ {
+ "direction": "down",
+ "offset": 0,
+ "map": "MAP_ROUTE110"
+ },
+ {
+ "direction": "left",
+ "offset": 0,
+ "map": "MAP_ROUTE117"
+ },
+ {
+ "direction": "right",
+ "offset": 0,
+ "map": "MAP_ROUTE118"
+ }
+ ],
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BOY_3",
+ "x": 29,
+ "y": 16,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_LEFT_AND_RIGHT",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "MauvilleCity_EventScript_14C05A",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BOY_4",
+ "x": 24,
+ "y": 10,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_LEFT_AND_RIGHT",
+ "movement_range_x": 1,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "MauvilleCity_EventScript_14C075",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MANIAC",
+ "x": 14,
+ "y": 11,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "MauvilleCity_EventScript_14C063",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_5",
+ "x": 18,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "MauvilleCity_EventScript_14C06C",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_SCHOOL_KID_M",
+ "x": 17,
+ "y": 14,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "MauvilleCity_EventScript_14C0A2",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WALLY",
+ "x": 8,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "MauvilleCity_EventScript_14C0F9",
+ "flag": "FLAG_HIDE_WALLY_MAUVILLE"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_3",
+ "x": 9,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "MauvilleCity_EventScript_14C0C4",
+ "flag": "FLAG_HIDE_WALLY_FATHER_MAUVILLE"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WATTSON",
+ "x": 29,
+ "y": 9,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "MauvilleCity_EventScript_14C2F2",
+ "flag": "FLAG_HIDE_WATTSON_MAUVILLE"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ITEM_BALL",
+ "x": 28,
+ "y": 19,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "MauvilleCity_EventScript_1B171E",
+ "flag": "FLAG_ITEM_MAUVILLE_1"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 8,
+ "y": 5,
+ "elevation": 0,
+ "dest_map": "MAP_MAUVILLE_CITY_GYM",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 22,
+ "y": 5,
+ "elevation": 0,
+ "dest_map": "MAP_MAUVILLE_CITY_POKEMON_CENTER_1F",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 35,
+ "y": 5,
+ "elevation": 0,
+ "dest_map": "MAP_MAUVILLE_CITY_BIKE_SHOP",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 23,
+ "y": 14,
+ "elevation": 0,
+ "dest_map": "MAP_MAUVILLE_CITY_MART",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 32,
+ "y": 14,
+ "elevation": 0,
+ "dest_map": "MAP_MAUVILLE_CITY_HOUSE1",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 8,
+ "y": 13,
+ "elevation": 0,
+ "dest_map": "MAP_MAUVILLE_CITY_GAME_CORNER",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 19,
+ "y": 14,
+ "elevation": 0,
+ "dest_map": "MAP_MAUVILLE_CITY_HOUSE2",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [],
+ "bg_events": [
+ {
+ "type": "sign",
+ "x": 23,
+ "y": 5,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH",
+ "script": "MauvilleCity_EventScript_1A00EA"
+ },
+ {
+ "type": "sign",
+ "x": 11,
+ "y": 6,
+ "elevation": 3,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "MauvilleCity_EventScript_14C087"
+ },
+ {
+ "type": "sign",
+ "x": 24,
+ "y": 14,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH",
+ "script": "MauvilleCity_EventScript_1A00E1"
+ },
+ {
+ "type": "sign",
+ "x": 25,
+ "y": 14,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH",
+ "script": "MauvilleCity_EventScript_1A00E1"
+ },
+ {
+ "type": "sign",
+ "x": 24,
+ "y": 5,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH",
+ "script": "MauvilleCity_EventScript_1A00EA"
+ },
+ {
+ "type": "sign",
+ "x": 19,
+ "y": 7,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "MauvilleCity_EventScript_14C07E"
+ },
+ {
+ "type": "sign",
+ "x": 33,
+ "y": 6,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "MauvilleCity_EventScript_14C090"
+ },
+ {
+ "type": "sign",
+ "x": 11,
+ "y": 15,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "MauvilleCity_EventScript_14C099"
+ }
+ ]
+} \ No newline at end of file
diff --git a/data/maps/MauvilleCity_BikeShop/events.inc b/data/maps/MauvilleCity_BikeShop/events.inc
deleted file mode 100644
index 242db7632..000000000
--- a/data/maps/MauvilleCity_BikeShop/events.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-MauvilleCity_BikeShop_EventObjects:: @ 8388318
- object_event 1, EVENT_OBJ_GFX_MAN_2, 0, 2, 5, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, MauvilleCity_BikeShop_EventScript_156796, 0
- object_event 2, EVENT_OBJ_GFX_MAN_6, 0, 7, 6, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, MauvilleCity_BikeShop_EventScript_15690B, 0
-
-MauvilleCity_BikeShop_MapWarps:: @ 8388348
- warp_def 3, 8, 0, 2, MAP_MAUVILLE_CITY
- warp_def 4, 8, 0, 2, MAP_MAUVILLE_CITY
-
-MauvilleCity_BikeShop_MapBGEvents:: @ 8388358
- bg_event 8, 1, 0, BG_EVENT_PLAYER_FACING_ANY, MauvilleCity_BikeShop_EventScript_156914
- bg_event 11, 1, 0, BG_EVENT_PLAYER_FACING_ANY, MauvilleCity_BikeShop_EventScript_156988
-
-MauvilleCity_BikeShop_MapEvents:: @ 8388370
- map_events MauvilleCity_BikeShop_EventObjects, MauvilleCity_BikeShop_MapWarps, 0x0, MauvilleCity_BikeShop_MapBGEvents
diff --git a/data/maps/MauvilleCity_BikeShop/header.inc b/data/maps/MauvilleCity_BikeShop/header.inc
deleted file mode 100644
index 5d27cb8e7..000000000
--- a/data/maps/MauvilleCity_BikeShop/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-MauvilleCity_BikeShop:: @ 8306168
- .4byte MauvilleCity_BikeShop_Layout
- .4byte MauvilleCity_BikeShop_MapEvents
- .4byte MauvilleCity_BikeShop_MapScripts
- .4byte 0x0
- .2byte MUS_GOTOWN
- .2byte 90
- .byte MAPSEC_MAUVILLE_CITY
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/MauvilleCity_BikeShop/map.json b/data/maps/MauvilleCity_BikeShop/map.json
new file mode 100644
index 000000000..2d33f59b1
--- /dev/null
+++ b/data/maps/MauvilleCity_BikeShop/map.json
@@ -0,0 +1,76 @@
+{
+ "id": "MAP_MAUVILLE_CITY_BIKE_SHOP",
+ "name": "MauvilleCity_BikeShop",
+ "layout": "LAYOUT_MAUVILLE_CITY_BIKE_SHOP",
+ "music": "MUS_GOTOWN",
+ "region_map_section": "MAPSEC_MAUVILLE_CITY",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_2",
+ "x": 2,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "MauvilleCity_BikeShop_EventScript_156796",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_6",
+ "x": 7,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "MauvilleCity_BikeShop_EventScript_15690B",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 3,
+ "y": 8,
+ "elevation": 0,
+ "dest_map": "MAP_MAUVILLE_CITY",
+ "dest_warp_id": 2
+ },
+ {
+ "x": 4,
+ "y": 8,
+ "elevation": 0,
+ "dest_map": "MAP_MAUVILLE_CITY",
+ "dest_warp_id": 2
+ }
+ ],
+ "coord_events": [],
+ "bg_events": [
+ {
+ "type": "sign",
+ "x": 8,
+ "y": 1,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "MauvilleCity_BikeShop_EventScript_156914"
+ },
+ {
+ "type": "sign",
+ "x": 11,
+ "y": 1,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "MauvilleCity_BikeShop_EventScript_156988"
+ }
+ ]
+} \ No newline at end of file
diff --git a/data/maps/MauvilleCity_GameCorner/events.inc b/data/maps/MauvilleCity_GameCorner/events.inc
deleted file mode 100644
index 521074d8e..000000000
--- a/data/maps/MauvilleCity_GameCorner/events.inc
+++ /dev/null
@@ -1,46 +0,0 @@
-MauvilleCity_GameCorner_EventObjects:: @ 83883C0
- object_event 1, EVENT_OBJ_GFX_WOMAN_3, 0, 12, 7, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, MauvilleCity_GameCorner_EventScript_156F84, 0
- object_event 2, EVENT_OBJ_GFX_GENTLEMAN, 0, 16, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, MauvilleCity_GameCorner_EventScript_156F8D, 0
- object_event 3, EVENT_OBJ_GFX_BEAUTY, 0, 11, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, MauvilleCity_GameCorner_EventScript_156A34, 0
- object_event 4, EVENT_OBJ_GFX_BEAUTY, 0, 14, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, MauvilleCity_GameCorner_EventScript_156B6C, 0
- object_event 5, EVENT_OBJ_GFX_GIRL_2, 0, 7, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, MauvilleCity_GameCorner_EventScript_156F96, 0
- object_event 6, EVENT_OBJ_GFX_MAN_3, 0, 19, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, MauvilleCity_GameCorner_EventScript_15707C, 0
- object_event 7, EVENT_OBJ_GFX_OLD_MAN_2, 0, 20, 8, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, MauvilleCity_GameCorner_EventScript_1570D8, 0
- object_event 8, EVENT_OBJ_GFX_COOK, 0, 6, 8, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, MauvilleCity_GameCorner_EventScript_1570E8, 0
- object_event 9, EVENT_OBJ_GFX_BEAUTY, 0, 13, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, MauvilleCity_GameCorner_EventScript_156D1A, 0
- object_event 10, EVENT_OBJ_GFX_MAN_4, 0, 1, 7, 3, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 0, 0, MauvilleCity_GameCorner_EventScript_1570F8, 0
- object_event 11, EVENT_OBJ_GFX_MANIAC, 0, 9, 8, 3, MOVEMENT_TYPE_FACE_LEFT, 1, 1, 0, 0, MauvilleCity_GameCorner_EventScript_157115, 0
- object_event 12, EVENT_OBJ_GFX_WOMAN_7, 0, 4, 6, 3, MOVEMENT_TYPE_FACE_LEFT, 1, 1, 0, 0, MauvilleCity_GameCorner_EventScript_157125, 0
-
-MauvilleCity_GameCorner_MapWarps:: @ 83884E0
- warp_def 11, 10, 3, 5, MAP_MAUVILLE_CITY
- warp_def 12, 10, 3, 5, MAP_MAUVILLE_CITY
-
-MauvilleCity_GameCorner_MapBGEvents:: @ 83884F0
- bg_event 2, 6, 0, BG_EVENT_PLAYER_FACING_EAST, MauvilleCity_GameCorner_EventScript_157135
- bg_event 2, 8, 0, BG_EVENT_PLAYER_FACING_EAST, MauvilleCity_GameCorner_EventScript_157155
- bg_event 2, 9, 0, BG_EVENT_PLAYER_FACING_EAST, MauvilleCity_GameCorner_EventScript_157175
- bg_event 3, 7, 0, BG_EVENT_PLAYER_FACING_WEST, MauvilleCity_GameCorner_EventScript_157195
- bg_event 3, 8, 0, BG_EVENT_PLAYER_FACING_WEST, MauvilleCity_GameCorner_EventScript_1571B5
- bg_event 3, 9, 0, BG_EVENT_PLAYER_FACING_WEST, MauvilleCity_GameCorner_EventScript_1571D5
- bg_event 7, 6, 0, BG_EVENT_PLAYER_FACING_EAST, MauvilleCity_GameCorner_EventScript_1571F5
- bg_event 7, 7, 0, BG_EVENT_PLAYER_FACING_EAST, MauvilleCity_GameCorner_EventScript_157215
- bg_event 7, 9, 0, BG_EVENT_PLAYER_FACING_EAST, MauvilleCity_GameCorner_EventScript_157235
- bg_event 8, 6, 0, BG_EVENT_PLAYER_FACING_WEST, MauvilleCity_GameCorner_EventScript_157255
- bg_event 8, 7, 0, BG_EVENT_PLAYER_FACING_WEST, MauvilleCity_GameCorner_EventScript_157275
- bg_event 8, 9, 0, BG_EVENT_PLAYER_FACING_WEST, MauvilleCity_GameCorner_EventScript_157295
- bg_event 14, 6, 0, BG_EVENT_PLAYER_FACING_ANY, MauvilleCity_GameCorner_EventScript_1C407E
- bg_event 15, 6, 0, BG_EVENT_PLAYER_FACING_ANY, MauvilleCity_GameCorner_EventScript_1C407E
- bg_event 14, 7, 0, BG_EVENT_PLAYER_FACING_ANY, MauvilleCity_GameCorner_EventScript_1C407E
- bg_event 15, 7, 0, BG_EVENT_PLAYER_FACING_ANY, MauvilleCity_GameCorner_EventScript_1C407E
- bg_event 14, 8, 0, BG_EVENT_PLAYER_FACING_ANY, MauvilleCity_GameCorner_EventScript_1C407E
- bg_event 15, 8, 0, BG_EVENT_PLAYER_FACING_ANY, MauvilleCity_GameCorner_EventScript_1C407E
- bg_event 18, 6, 0, BG_EVENT_PLAYER_FACING_ANY, MauvilleCity_GameCorner_EventScript_1C40AC
- bg_event 19, 6, 0, BG_EVENT_PLAYER_FACING_ANY, MauvilleCity_GameCorner_EventScript_1C40AC
- bg_event 18, 7, 0, BG_EVENT_PLAYER_FACING_ANY, MauvilleCity_GameCorner_EventScript_1C40AC
- bg_event 19, 7, 0, BG_EVENT_PLAYER_FACING_ANY, MauvilleCity_GameCorner_EventScript_1C40AC
- bg_event 18, 8, 0, BG_EVENT_PLAYER_FACING_ANY, MauvilleCity_GameCorner_EventScript_1C40AC
- bg_event 19, 8, 0, BG_EVENT_PLAYER_FACING_ANY, MauvilleCity_GameCorner_EventScript_1C40AC
-
-MauvilleCity_GameCorner_MapEvents:: @ 8388610
- map_events MauvilleCity_GameCorner_EventObjects, MauvilleCity_GameCorner_MapWarps, 0x0, MauvilleCity_GameCorner_MapBGEvents
diff --git a/data/maps/MauvilleCity_GameCorner/header.inc b/data/maps/MauvilleCity_GameCorner/header.inc
deleted file mode 100644
index 436a96c9c..000000000
--- a/data/maps/MauvilleCity_GameCorner/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-MauvilleCity_GameCorner:: @ 83061A0
- .4byte MauvilleCity_GameCorner_Layout
- .4byte MauvilleCity_GameCorner_MapEvents
- .4byte MauvilleCity_GameCorner_MapScripts
- .4byte 0x0
- .2byte MUS_CASINO
- .2byte 91
- .byte MAPSEC_MAUVILLE_CITY
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/MauvilleCity_GameCorner/map.json b/data/maps/MauvilleCity_GameCorner/map.json
new file mode 100644
index 000000000..710a912a2
--- /dev/null
+++ b/data/maps/MauvilleCity_GameCorner/map.json
@@ -0,0 +1,382 @@
+{
+ "id": "MAP_MAUVILLE_CITY_GAME_CORNER",
+ "name": "MauvilleCity_GameCorner",
+ "layout": "LAYOUT_MAUVILLE_CITY_GAME_CORNER",
+ "music": "MUS_CASINO",
+ "region_map_section": "MAPSEC_MAUVILLE_CITY",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_3",
+ "x": 12,
+ "y": 7,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "MauvilleCity_GameCorner_EventScript_156F84",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_GENTLEMAN",
+ "x": 16,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "MauvilleCity_GameCorner_EventScript_156F8D",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BEAUTY",
+ "x": 11,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "MauvilleCity_GameCorner_EventScript_156A34",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BEAUTY",
+ "x": 14,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "MauvilleCity_GameCorner_EventScript_156B6C",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_GIRL_2",
+ "x": 7,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "MauvilleCity_GameCorner_EventScript_156F96",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_3",
+ "x": 19,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "MauvilleCity_GameCorner_EventScript_15707C",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_OLD_MAN_2",
+ "x": 20,
+ "y": 8,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "MauvilleCity_GameCorner_EventScript_1570D8",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_COOK",
+ "x": 6,
+ "y": 8,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "MauvilleCity_GameCorner_EventScript_1570E8",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BEAUTY",
+ "x": 13,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "MauvilleCity_GameCorner_EventScript_156D1A",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_4",
+ "x": 1,
+ "y": 7,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "MauvilleCity_GameCorner_EventScript_1570F8",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MANIAC",
+ "x": 9,
+ "y": 8,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "MauvilleCity_GameCorner_EventScript_157115",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_7",
+ "x": 4,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "MauvilleCity_GameCorner_EventScript_157125",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 11,
+ "y": 10,
+ "elevation": 3,
+ "dest_map": "MAP_MAUVILLE_CITY",
+ "dest_warp_id": 5
+ },
+ {
+ "x": 12,
+ "y": 10,
+ "elevation": 3,
+ "dest_map": "MAP_MAUVILLE_CITY",
+ "dest_warp_id": 5
+ }
+ ],
+ "coord_events": [],
+ "bg_events": [
+ {
+ "type": "sign",
+ "x": 2,
+ "y": 6,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_EAST",
+ "script": "MauvilleCity_GameCorner_EventScript_157135"
+ },
+ {
+ "type": "sign",
+ "x": 2,
+ "y": 8,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_EAST",
+ "script": "MauvilleCity_GameCorner_EventScript_157155"
+ },
+ {
+ "type": "sign",
+ "x": 2,
+ "y": 9,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_EAST",
+ "script": "MauvilleCity_GameCorner_EventScript_157175"
+ },
+ {
+ "type": "sign",
+ "x": 3,
+ "y": 7,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_WEST",
+ "script": "MauvilleCity_GameCorner_EventScript_157195"
+ },
+ {
+ "type": "sign",
+ "x": 3,
+ "y": 8,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_WEST",
+ "script": "MauvilleCity_GameCorner_EventScript_1571B5"
+ },
+ {
+ "type": "sign",
+ "x": 3,
+ "y": 9,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_WEST",
+ "script": "MauvilleCity_GameCorner_EventScript_1571D5"
+ },
+ {
+ "type": "sign",
+ "x": 7,
+ "y": 6,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_EAST",
+ "script": "MauvilleCity_GameCorner_EventScript_1571F5"
+ },
+ {
+ "type": "sign",
+ "x": 7,
+ "y": 7,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_EAST",
+ "script": "MauvilleCity_GameCorner_EventScript_157215"
+ },
+ {
+ "type": "sign",
+ "x": 7,
+ "y": 9,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_EAST",
+ "script": "MauvilleCity_GameCorner_EventScript_157235"
+ },
+ {
+ "type": "sign",
+ "x": 8,
+ "y": 6,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_WEST",
+ "script": "MauvilleCity_GameCorner_EventScript_157255"
+ },
+ {
+ "type": "sign",
+ "x": 8,
+ "y": 7,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_WEST",
+ "script": "MauvilleCity_GameCorner_EventScript_157275"
+ },
+ {
+ "type": "sign",
+ "x": 8,
+ "y": 9,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_WEST",
+ "script": "MauvilleCity_GameCorner_EventScript_157295"
+ },
+ {
+ "type": "sign",
+ "x": 14,
+ "y": 6,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "MauvilleCity_GameCorner_EventScript_1C407E"
+ },
+ {
+ "type": "sign",
+ "x": 15,
+ "y": 6,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "MauvilleCity_GameCorner_EventScript_1C407E"
+ },
+ {
+ "type": "sign",
+ "x": 14,
+ "y": 7,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "MauvilleCity_GameCorner_EventScript_1C407E"
+ },
+ {
+ "type": "sign",
+ "x": 15,
+ "y": 7,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "MauvilleCity_GameCorner_EventScript_1C407E"
+ },
+ {
+ "type": "sign",
+ "x": 14,
+ "y": 8,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "MauvilleCity_GameCorner_EventScript_1C407E"
+ },
+ {
+ "type": "sign",
+ "x": 15,
+ "y": 8,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "MauvilleCity_GameCorner_EventScript_1C407E"
+ },
+ {
+ "type": "sign",
+ "x": 18,
+ "y": 6,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "MauvilleCity_GameCorner_EventScript_1C40AC"
+ },
+ {
+ "type": "sign",
+ "x": 19,
+ "y": 6,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "MauvilleCity_GameCorner_EventScript_1C40AC"
+ },
+ {
+ "type": "sign",
+ "x": 18,
+ "y": 7,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "MauvilleCity_GameCorner_EventScript_1C40AC"
+ },
+ {
+ "type": "sign",
+ "x": 19,
+ "y": 7,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "MauvilleCity_GameCorner_EventScript_1C40AC"
+ },
+ {
+ "type": "sign",
+ "x": 18,
+ "y": 8,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "MauvilleCity_GameCorner_EventScript_1C40AC"
+ },
+ {
+ "type": "sign",
+ "x": 19,
+ "y": 8,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "MauvilleCity_GameCorner_EventScript_1C40AC"
+ }
+ ]
+} \ No newline at end of file
diff --git a/data/maps/MauvilleCity_Gym/events.inc b/data/maps/MauvilleCity_Gym/events.inc
deleted file mode 100644
index 0d0104cf6..000000000
--- a/data/maps/MauvilleCity_Gym/events.inc
+++ /dev/null
@@ -1,23 +0,0 @@
-MauvilleCity_Gym_EventObjects:: @ 838821C
- object_event 1, EVENT_OBJ_GFX_WATTSON, 0, 4, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, MauvilleCity_Gym_EventScript_1565AB, FLAG_HIDE_WATTSON_MAUVILLE_GYM
- object_event 2, EVENT_OBJ_GFX_MAN_6, 0, 6, 9, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 1, 2, MauvilleCity_Gym_EventScript_1566FD, 0
- object_event 3, EVENT_OBJ_GFX_GIRL_3, 0, 7, 11, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 1, 1, MauvilleCity_Gym_EventScript_15672B, 0
- object_event 4, EVENT_OBJ_GFX_YOUNGSTER, 0, 1, 13, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 1, 1, MauvilleCity_Gym_EventScript_156714, 0
- object_event 5, EVENT_OBJ_GFX_MAN_6, 0, 2, 15, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 1, 2, MauvilleCity_Gym_EventScript_1566E6, 0
- object_event 6, EVENT_OBJ_GFX_MAN_2, 0, 7, 20, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, MauvilleCity_Gym_EventScript_156742, 0
-
-MauvilleCity_Gym_MapWarps:: @ 83882AC
- warp_def 4, 20, 0, 0, MAP_MAUVILLE_CITY
- warp_def 5, 20, 0, 0, MAP_MAUVILLE_CITY
-
-MauvilleCity_Gym_MapCoordEvents:: @ 83882BC
- coord_event 0, 9, 3, VAR_TEMP_0, 0, MauvilleCity_Gym_EventScript_15664B
- coord_event 8, 11, 3, VAR_TEMP_0, 0, MauvilleCity_Gym_EventScript_156670
- coord_event 4, 15, 3, VAR_TEMP_0, 0, MauvilleCity_Gym_EventScript_156695
-
-MauvilleCity_Gym_MapBGEvents:: @ 83882EC
- bg_event 3, 18, 0, BG_EVENT_PLAYER_FACING_NORTH, MauvilleCity_Gym_EventScript_156761
- bg_event 6, 18, 0, BG_EVENT_PLAYER_FACING_NORTH, MauvilleCity_Gym_EventScript_156771
-
-MauvilleCity_Gym_MapEvents:: @ 8388304
- map_events MauvilleCity_Gym_EventObjects, MauvilleCity_Gym_MapWarps, MauvilleCity_Gym_MapCoordEvents, MauvilleCity_Gym_MapBGEvents
diff --git a/data/maps/MauvilleCity_Gym/header.inc b/data/maps/MauvilleCity_Gym/header.inc
deleted file mode 100644
index 3dca4129a..000000000
--- a/data/maps/MauvilleCity_Gym/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-MauvilleCity_Gym:: @ 830614C
- .4byte MauvilleCity_Gym_Layout
- .4byte MauvilleCity_Gym_MapEvents
- .4byte MauvilleCity_Gym_MapScripts
- .4byte 0x0
- .2byte MUS_GIM
- .2byte 89
- .byte MAPSEC_MAUVILLE_CITY
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_GYM
diff --git a/data/maps/MauvilleCity_Gym/map.json b/data/maps/MauvilleCity_Gym/map.json
new file mode 100644
index 000000000..d68b4ac5b
--- /dev/null
+++ b/data/maps/MauvilleCity_Gym/map.json
@@ -0,0 +1,156 @@
+{
+ "id": "MAP_MAUVILLE_CITY_GYM",
+ "name": "MauvilleCity_Gym",
+ "layout": "LAYOUT_MAUVILLE_CITY_GYM",
+ "music": "MUS_GIM",
+ "region_map_section": "MAPSEC_MAUVILLE_CITY",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_GYM",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WATTSON",
+ "x": 4,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "MauvilleCity_Gym_EventScript_1565AB",
+ "flag": "FLAG_HIDE_WATTSON_MAUVILLE_GYM"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_6",
+ "x": 6,
+ "y": 9,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "2",
+ "script": "MauvilleCity_Gym_EventScript_1566FD",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_GIRL_3",
+ "x": 7,
+ "y": 11,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "1",
+ "script": "MauvilleCity_Gym_EventScript_15672B",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_YOUNGSTER",
+ "x": 1,
+ "y": 13,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "1",
+ "script": "MauvilleCity_Gym_EventScript_156714",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_6",
+ "x": 2,
+ "y": 15,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "2",
+ "script": "MauvilleCity_Gym_EventScript_1566E6",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_2",
+ "x": 7,
+ "y": 20,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "MauvilleCity_Gym_EventScript_156742",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 4,
+ "y": 20,
+ "elevation": 0,
+ "dest_map": "MAP_MAUVILLE_CITY",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 5,
+ "y": 20,
+ "elevation": 0,
+ "dest_map": "MAP_MAUVILLE_CITY",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [
+ {
+ "type": "trigger",
+ "x": 0,
+ "y": 9,
+ "elevation": 3,
+ "var": "VAR_TEMP_0",
+ "var_value": "0",
+ "script": "MauvilleCity_Gym_EventScript_15664B"
+ },
+ {
+ "type": "trigger",
+ "x": 8,
+ "y": 11,
+ "elevation": 3,
+ "var": "VAR_TEMP_0",
+ "var_value": "0",
+ "script": "MauvilleCity_Gym_EventScript_156670"
+ },
+ {
+ "type": "trigger",
+ "x": 4,
+ "y": 15,
+ "elevation": 3,
+ "var": "VAR_TEMP_0",
+ "var_value": "0",
+ "script": "MauvilleCity_Gym_EventScript_156695"
+ }
+ ],
+ "bg_events": [
+ {
+ "type": "sign",
+ "x": 3,
+ "y": 18,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH",
+ "script": "MauvilleCity_Gym_EventScript_156761"
+ },
+ {
+ "type": "sign",
+ "x": 6,
+ "y": 18,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH",
+ "script": "MauvilleCity_Gym_EventScript_156771"
+ }
+ ]
+} \ No newline at end of file
diff --git a/data/maps/MauvilleCity_House1/events.inc b/data/maps/MauvilleCity_House1/events.inc
deleted file mode 100644
index 1555f7069..000000000
--- a/data/maps/MauvilleCity_House1/events.inc
+++ /dev/null
@@ -1,9 +0,0 @@
-MauvilleCity_House1_EventObjects:: @ 8388384
- object_event 1, EVENT_OBJ_GFX_SCIENTIST_1, 0, 4, 4, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, MauvilleCity_House1_EventScript_1569FD, 0
-
-MauvilleCity_House1_MapWarps:: @ 838839C
- warp_def 3, 7, 0, 4, MAP_MAUVILLE_CITY
- warp_def 4, 7, 0, 4, MAP_MAUVILLE_CITY
-
-MauvilleCity_House1_MapEvents:: @ 83883AC
- map_events MauvilleCity_House1_EventObjects, MauvilleCity_House1_MapWarps, 0x0, 0x0
diff --git a/data/maps/MauvilleCity_House1/header.inc b/data/maps/MauvilleCity_House1/header.inc
deleted file mode 100644
index d9e54375d..000000000
--- a/data/maps/MauvilleCity_House1/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-MauvilleCity_House1:: @ 8306184
- .4byte House2_Layout
- .4byte MauvilleCity_House1_MapEvents
- .4byte MauvilleCity_House1_MapScripts
- .4byte 0x0
- .2byte MUS_GOTOWN
- .2byte 60
- .byte MAPSEC_MAUVILLE_CITY
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/MauvilleCity_House1/map.json b/data/maps/MauvilleCity_House1/map.json
new file mode 100644
index 000000000..ad7d843c0
--- /dev/null
+++ b/data/maps/MauvilleCity_House1/map.json
@@ -0,0 +1,46 @@
+{
+ "id": "MAP_MAUVILLE_CITY_HOUSE1",
+ "name": "MauvilleCity_House1",
+ "layout": "LAYOUT_HOUSE2",
+ "music": "MUS_GOTOWN",
+ "region_map_section": "MAPSEC_MAUVILLE_CITY",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_SCIENTIST_1",
+ "x": 4,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "MauvilleCity_House1_EventScript_1569FD",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 3,
+ "y": 7,
+ "elevation": 0,
+ "dest_map": "MAP_MAUVILLE_CITY",
+ "dest_warp_id": 4
+ },
+ {
+ "x": 4,
+ "y": 7,
+ "elevation": 0,
+ "dest_map": "MAP_MAUVILLE_CITY",
+ "dest_warp_id": 4
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/MauvilleCity_House2/events.inc b/data/maps/MauvilleCity_House2/events.inc
deleted file mode 100644
index 8b44f4f1a..000000000
--- a/data/maps/MauvilleCity_House2/events.inc
+++ /dev/null
@@ -1,9 +0,0 @@
-MauvilleCity_House2_EventObjects:: @ 8388624
- object_event 1, EVENT_OBJ_GFX_WOMAN_4, 0, 4, 5, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, MauvilleCity_House2_EventScript_1572C0, 0
-
-MauvilleCity_House2_MapWarps:: @ 838863C
- warp_def 3, 8, 0, 6, MAP_MAUVILLE_CITY
- warp_def 4, 8, 0, 6, MAP_MAUVILLE_CITY
-
-MauvilleCity_House2_MapEvents:: @ 838864C
- map_events MauvilleCity_House2_EventObjects, MauvilleCity_House2_MapWarps, 0x0, 0x0
diff --git a/data/maps/MauvilleCity_House2/header.inc b/data/maps/MauvilleCity_House2/header.inc
deleted file mode 100644
index 395e22561..000000000
--- a/data/maps/MauvilleCity_House2/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-MauvilleCity_House2:: @ 83061BC
- .4byte House1_Layout
- .4byte MauvilleCity_House2_MapEvents
- .4byte MauvilleCity_House2_MapScripts
- .4byte 0x0
- .2byte MUS_GOTOWN
- .2byte 59
- .byte MAPSEC_MAUVILLE_CITY
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/MauvilleCity_House2/map.json b/data/maps/MauvilleCity_House2/map.json
new file mode 100644
index 000000000..58d88282f
--- /dev/null
+++ b/data/maps/MauvilleCity_House2/map.json
@@ -0,0 +1,46 @@
+{
+ "id": "MAP_MAUVILLE_CITY_HOUSE2",
+ "name": "MauvilleCity_House2",
+ "layout": "LAYOUT_HOUSE1",
+ "music": "MUS_GOTOWN",
+ "region_map_section": "MAPSEC_MAUVILLE_CITY",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_4",
+ "x": 4,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "MauvilleCity_House2_EventScript_1572C0",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 3,
+ "y": 8,
+ "elevation": 0,
+ "dest_map": "MAP_MAUVILLE_CITY",
+ "dest_warp_id": 6
+ },
+ {
+ "x": 4,
+ "y": 8,
+ "elevation": 0,
+ "dest_map": "MAP_MAUVILLE_CITY",
+ "dest_warp_id": 6
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/MauvilleCity_Mart/events.inc b/data/maps/MauvilleCity_Mart/events.inc
deleted file mode 100644
index 15ad6437c..000000000
--- a/data/maps/MauvilleCity_Mart/events.inc
+++ /dev/null
@@ -1,11 +0,0 @@
-MauvilleCity_Mart_EventObjects:: @ 83887A0
- object_event 1, EVENT_OBJ_GFX_MART_EMPLOYEE, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, MauvilleCity_Mart_EventScript_1573BE, 0
- object_event 2, EVENT_OBJ_GFX_OLD_MAN_1, 0, 5, 4, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, MauvilleCity_Mart_EventScript_1573F4, 0
- object_event 3, EVENT_OBJ_GFX_MAN_4, 0, 5, 5, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, MauvilleCity_Mart_EventScript_1573FD, 0
-
-MauvilleCity_Mart_MapWarps:: @ 83887E8
- warp_def 3, 7, 0, 3, MAP_MAUVILLE_CITY
- warp_def 4, 7, 0, 3, MAP_MAUVILLE_CITY
-
-MauvilleCity_Mart_MapEvents:: @ 83887F8
- map_events MauvilleCity_Mart_EventObjects, MauvilleCity_Mart_MapWarps, 0x0, 0x0
diff --git a/data/maps/MauvilleCity_Mart/header.inc b/data/maps/MauvilleCity_Mart/header.inc
deleted file mode 100644
index 3f81ded38..000000000
--- a/data/maps/MauvilleCity_Mart/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-MauvilleCity_Mart:: @ 8306210
- .4byte PokeMart_Layout
- .4byte MauvilleCity_Mart_MapEvents
- .4byte MauvilleCity_Mart_MapScripts
- .4byte 0x0
- .2byte MUS_FRIENDLY
- .2byte 63
- .byte MAPSEC_MAUVILLE_CITY
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/MauvilleCity_Mart/map.json b/data/maps/MauvilleCity_Mart/map.json
new file mode 100644
index 000000000..14e637a85
--- /dev/null
+++ b/data/maps/MauvilleCity_Mart/map.json
@@ -0,0 +1,72 @@
+{
+ "id": "MAP_MAUVILLE_CITY_MART",
+ "name": "MauvilleCity_Mart",
+ "layout": "LAYOUT_POKE_MART",
+ "music": "MUS_FRIENDLY",
+ "region_map_section": "MAPSEC_MAUVILLE_CITY",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MART_EMPLOYEE",
+ "x": 1,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "MauvilleCity_Mart_EventScript_1573BE",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_OLD_MAN_1",
+ "x": 5,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "MauvilleCity_Mart_EventScript_1573F4",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_4",
+ "x": 5,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "MauvilleCity_Mart_EventScript_1573FD",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 3,
+ "y": 7,
+ "elevation": 0,
+ "dest_map": "MAP_MAUVILLE_CITY",
+ "dest_warp_id": 3
+ },
+ {
+ "x": 4,
+ "y": 7,
+ "elevation": 0,
+ "dest_map": "MAP_MAUVILLE_CITY",
+ "dest_warp_id": 3
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/MauvilleCity_PokemonCenter_1F/events.inc b/data/maps/MauvilleCity_PokemonCenter_1F/events.inc
deleted file mode 100644
index 966cc2b8a..000000000
--- a/data/maps/MauvilleCity_PokemonCenter_1F/events.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-MauvilleCity_PokemonCenter_1F_EventObjects:: @ 8388660
- object_event 1, EVENT_OBJ_GFX_NURSE, 0, 7, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, MauvilleCity_PokemonCenter_1F_EventScript_157369, 0
- object_event 2, EVENT_OBJ_GFX_VAR_0, 0, 2, 3, 3, MOVEMENT_TYPE_FACE_LEFT, 1, 0, 0, 0, MauvilleCity_PokemonCenter_1F_EventScript_1AE744, 0
- object_event 3, EVENT_OBJ_GFX_WOMAN_1, 0, 8, 6, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, MauvilleCity_PokemonCenter_1F_EventScript_157377, 0
- object_event 4, EVENT_OBJ_GFX_WOMAN_7, 0, 11, 4, 3, MOVEMENT_TYPE_WANDER_UP_AND_DOWN, 0, 1, 0, 0, MauvilleCity_PokemonCenter_1F_EventScript_157380, 0
- object_event 5, EVENT_OBJ_GFX_YOUNGSTER, 0, 2, 8, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, MauvilleCity_PokemonCenter_1F_EventScript_157389, 0
-
-MauvilleCity_PokemonCenter_1F_MapWarps:: @ 83886D8
- warp_def 7, 8, 3, 1, MAP_MAUVILLE_CITY
- warp_def 6, 8, 3, 1, MAP_MAUVILLE_CITY
- warp_def 1, 6, 4, 0, MAP_MAUVILLE_CITY_POKEMON_CENTER_2F
-
-MauvilleCity_PokemonCenter_1F_MapEvents:: @ 83886F0
- map_events MauvilleCity_PokemonCenter_1F_EventObjects, MauvilleCity_PokemonCenter_1F_MapWarps, 0x0, 0x0
diff --git a/data/maps/MauvilleCity_PokemonCenter_1F/header.inc b/data/maps/MauvilleCity_PokemonCenter_1F/header.inc
deleted file mode 100644
index 3e3c3f730..000000000
--- a/data/maps/MauvilleCity_PokemonCenter_1F/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-MauvilleCity_PokemonCenter_1F:: @ 83061D8
- .4byte PokemonCenter_1F_Layout
- .4byte MauvilleCity_PokemonCenter_1F_MapEvents
- .4byte MauvilleCity_PokemonCenter_1F_MapScripts
- .4byte 0x0
- .2byte MUS_POKECEN
- .2byte 61
- .byte MAPSEC_MAUVILLE_CITY
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/MauvilleCity_PokemonCenter_1F/map.json b/data/maps/MauvilleCity_PokemonCenter_1F/map.json
new file mode 100644
index 000000000..cf578fc29
--- /dev/null
+++ b/data/maps/MauvilleCity_PokemonCenter_1F/map.json
@@ -0,0 +1,105 @@
+{
+ "id": "MAP_MAUVILLE_CITY_POKEMON_CENTER_1F",
+ "name": "MauvilleCity_PokemonCenter_1F",
+ "layout": "LAYOUT_POKEMON_CENTER_1F",
+ "music": "MUS_POKECEN",
+ "region_map_section": "MAPSEC_MAUVILLE_CITY",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_NURSE",
+ "x": 7,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "MauvilleCity_PokemonCenter_1F_EventScript_157369",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_0",
+ "x": 2,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 1,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "MauvilleCity_PokemonCenter_1F_EventScript_1AE744",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_1",
+ "x": 8,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "MauvilleCity_PokemonCenter_1F_EventScript_157377",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_7",
+ "x": 11,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_UP_AND_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "MauvilleCity_PokemonCenter_1F_EventScript_157380",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_YOUNGSTER",
+ "x": 2,
+ "y": 8,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "MauvilleCity_PokemonCenter_1F_EventScript_157389",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 7,
+ "y": 8,
+ "elevation": 3,
+ "dest_map": "MAP_MAUVILLE_CITY",
+ "dest_warp_id": 1
+ },
+ {
+ "x": 6,
+ "y": 8,
+ "elevation": 3,
+ "dest_map": "MAP_MAUVILLE_CITY",
+ "dest_warp_id": 1
+ },
+ {
+ "x": 1,
+ "y": 6,
+ "elevation": 4,
+ "dest_map": "MAP_MAUVILLE_CITY_POKEMON_CENTER_2F",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/MauvilleCity_PokemonCenter_2F/events.inc b/data/maps/MauvilleCity_PokemonCenter_2F/events.inc
deleted file mode 100644
index 77bf817c7..000000000
--- a/data/maps/MauvilleCity_PokemonCenter_2F/events.inc
+++ /dev/null
@@ -1,15 +0,0 @@
-MauvilleCity_PokemonCenter_2F_EventObjects:: @ 8388704
- object_event 1, EVENT_OBJ_GFX_TEALA, 0, 4, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, MauvilleCity_PokemonCenter_2F_EventScript_1573A2, 0
- object_event 2, EVENT_OBJ_GFX_TEALA, 0, 7, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, MauvilleCity_PokemonCenter_2F_EventScript_1573A8, 0
- object_event 3, EVENT_OBJ_GFX_TEALA, 0, 10, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, MauvilleCity_PokemonCenter_2F_EventScript_1573AE, 0
- object_event 4, EVENT_OBJ_GFX_YOUNGSTER, 0, 6, 7, 3, MOVEMENT_TYPE_WANDER_LEFT_AND_RIGHT, 1, 0, 0, 0, MauvilleCity_PokemonCenter_2F_EventScript_1573B4, 0
-
-MauvilleCity_PokemonCenter_2F_MapWarps:: @ 8388764
- warp_def 1, 5, 4, 2, MAP_MAUVILLE_CITY_POKEMON_CENTER_1F
- warp_def 5, 1, 0, 0, MAP_SINGLE_BATTLE_COLOSSEUM
- warp_def 8, 1, 0, 0, MAP_TRADE_CENTER
- warp_def 11, 1, 0, 0, MAP_RECORD_CORNER
- warp_def 0, 0, 0, 0, MAP_DOUBLE_BATTLE_COLOSSEUM
-
-MauvilleCity_PokemonCenter_2F_MapEvents:: @ 838878C
- map_events MauvilleCity_PokemonCenter_2F_EventObjects, MauvilleCity_PokemonCenter_2F_MapWarps, 0x0, 0x0
diff --git a/data/maps/MauvilleCity_PokemonCenter_2F/header.inc b/data/maps/MauvilleCity_PokemonCenter_2F/header.inc
deleted file mode 100644
index 48659f5c8..000000000
--- a/data/maps/MauvilleCity_PokemonCenter_2F/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-MauvilleCity_PokemonCenter_2F:: @ 83061F4
- .4byte PokemonCenter_2F_Layout
- .4byte MauvilleCity_PokemonCenter_2F_MapEvents
- .4byte MauvilleCity_PokemonCenter_2F_MapScripts
- .4byte 0x0
- .2byte MUS_POKECEN
- .2byte 62
- .byte MAPSEC_MAUVILLE_CITY
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/MauvilleCity_PokemonCenter_2F/map.json b/data/maps/MauvilleCity_PokemonCenter_2F/map.json
new file mode 100644
index 000000000..e8fca6505
--- /dev/null
+++ b/data/maps/MauvilleCity_PokemonCenter_2F/map.json
@@ -0,0 +1,106 @@
+{
+ "id": "MAP_MAUVILLE_CITY_POKEMON_CENTER_2F",
+ "name": "MauvilleCity_PokemonCenter_2F",
+ "layout": "LAYOUT_POKEMON_CENTER_2F",
+ "music": "MUS_POKECEN",
+ "region_map_section": "MAPSEC_MAUVILLE_CITY",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_TEALA",
+ "x": 4,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "MauvilleCity_PokemonCenter_2F_EventScript_1573A2",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_TEALA",
+ "x": 7,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "MauvilleCity_PokemonCenter_2F_EventScript_1573A8",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_TEALA",
+ "x": 10,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "MauvilleCity_PokemonCenter_2F_EventScript_1573AE",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_YOUNGSTER",
+ "x": 6,
+ "y": 7,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_LEFT_AND_RIGHT",
+ "movement_range_x": 1,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "MauvilleCity_PokemonCenter_2F_EventScript_1573B4",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 1,
+ "y": 5,
+ "elevation": 4,
+ "dest_map": "MAP_MAUVILLE_CITY_POKEMON_CENTER_1F",
+ "dest_warp_id": 2
+ },
+ {
+ "x": 5,
+ "y": 1,
+ "elevation": 0,
+ "dest_map": "MAP_SINGLE_BATTLE_COLOSSEUM",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 8,
+ "y": 1,
+ "elevation": 0,
+ "dest_map": "MAP_TRADE_CENTER",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 11,
+ "y": 1,
+ "elevation": 0,
+ "dest_map": "MAP_RECORD_CORNER",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 0,
+ "y": 0,
+ "elevation": 0,
+ "dest_map": "MAP_DOUBLE_BATTLE_COLOSSEUM",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/MeteorFalls_1F_1R/events.inc b/data/maps/MeteorFalls_1F_1R/events.inc
deleted file mode 100644
index b3f3db1b0..000000000
--- a/data/maps/MeteorFalls_1F_1R/events.inc
+++ /dev/null
@@ -1,28 +0,0 @@
-MeteorFalls_1F_1R_EventObjects:: @ 838BACC
- object_event 1, EVENT_OBJ_GFX_ITEM_BALL, 0, 2, 4, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, MeteorFalls_1F_1R_EventScript_1B17FB, FLAG_ITEM_METEOR_FALLS_1F_1R_1
- object_event 2, EVENT_OBJ_GFX_ITEM_BALL, 0, 2, 14, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, MeteorFalls_1F_1R_EventScript_1B1815, FLAG_ITEM_METEOR_FALLS_1F_1R_3
- object_event 3, EVENT_OBJ_GFX_ITEM_BALL, 0, 27, 5, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, MeteorFalls_1F_1R_EventScript_1B1808, FLAG_ITEM_METEOR_FALLS_1F_1R_2
- object_event 4, EVENT_OBJ_GFX_ITEM_BALL, 0, 26, 32, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, MeteorFalls_1F_1R_EventScript_1B1822, FLAG_ITEM_METEOR_FALLS_1F_1R_4
- object_event 5, EVENT_OBJ_GFX_VAR_1, 0, 12, 20, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_HIDE_GRUNTS_METEOR_FALLS_1F
- object_event 6, EVENT_OBJ_GFX_VAR_1, 0, 14, 21, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, 0x0, FLAG_HIDE_GRUNTS_METEOR_FALLS_1F
- object_event 7, EVENT_OBJ_GFX_VAR_7, 0, 6, 20, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, 0x0, FLAG_HIDE_OTHER_TEAM_METEOR_FALLS_1F
- object_event 8, EVENT_OBJ_GFX_VAR_4, 0, 6, 20, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, 0x0, FLAG_HIDE_OTHER_TEAM_METEOR_FALLS_1F
- object_event 9, EVENT_OBJ_GFX_VAR_4, 0, 6, 21, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_HIDE_OTHER_TEAM_METEOR_FALLS_1F
- object_event 10, EVENT_OBJ_GFX_SCIENTIST_1, 0, 13, 23, 3, MOVEMENT_TYPE_FACE_UP_LEFT_AND_RIGHT, 0, 0, 0, 0, MeteorFalls_1F_1R_EventScript_15C656, FLAG_HIDE_PROF_COSMO_METEOR_FALLS
-
-MeteorFalls_1F_1R_MapWarps:: @ 838BBBC
- warp_def 27, 18, 4, 0, MAP_ROUTE114
- warp_def 6, 39, 3, 0, MAP_ROUTE115
- warp_def 10, 3, 3, 0, MAP_METEOR_FALLS_1F_2R
- warp_def 5, 4, 3, 4, MAP_METEOR_FALLS_B1F_1R
- warp_def 26, 28, 3, 5, MAP_METEOR_FALLS_B1F_1R
-
-MeteorFalls_1F_1R_MapCoordEvents:: @ 838BBE4
- coord_event 14, 18, 4, VAR_METEOR_FALLS_STATE, 0, MeteorFalls_1F_1R_EventScript_15C49C
-
-MeteorFalls_1F_1R_MapBGEvents:: @ 838BBF4
- bg_event 38, 9, 0, BG_EVENT_PLAYER_FACING_NORTH, MeteorFalls_1F_1R_EventScript_14E842
- bg_event 9, 58, 0, BG_EVENT_PLAYER_FACING_ANY, 0x0
-
-MeteorFalls_1F_1R_MapEvents:: @ 838BC0C
- map_events MeteorFalls_1F_1R_EventObjects, MeteorFalls_1F_1R_MapWarps, MeteorFalls_1F_1R_MapCoordEvents, MeteorFalls_1F_1R_MapBGEvents
diff --git a/data/maps/MeteorFalls_1F_1R/header.inc b/data/maps/MeteorFalls_1F_1R/header.inc
deleted file mode 100644
index d86635764..000000000
--- a/data/maps/MeteorFalls_1F_1R/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-MeteorFalls_1F_1R:: @ 8306D70
- .4byte MeteorFalls_1F_1R_Layout
- .4byte MeteorFalls_1F_1R_MapEvents
- .4byte MeteorFalls_1F_1R_MapScripts
- .4byte 0x0
- .2byte MUS_DAN03
- .2byte 126
- .byte MAPSEC_METEOR_FALLS
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_UNDERGROUND
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/MeteorFalls_1F_1R/map.json b/data/maps/MeteorFalls_1F_1R/map.json
new file mode 100644
index 000000000..d27e4ba7d
--- /dev/null
+++ b/data/maps/MeteorFalls_1F_1R/map.json
@@ -0,0 +1,211 @@
+{
+ "id": "MAP_METEOR_FALLS_1F_1R",
+ "name": "MeteorFalls_1F_1R",
+ "layout": "LAYOUT_METEOR_FALLS_1F_1R",
+ "music": "MUS_DAN03",
+ "region_map_section": "MAPSEC_METEOR_FALLS",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_UNDERGROUND",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ITEM_BALL",
+ "x": 2,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "MeteorFalls_1F_1R_EventScript_1B17FB",
+ "flag": "FLAG_ITEM_METEOR_FALLS_1F_1R_1"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ITEM_BALL",
+ "x": 2,
+ "y": 14,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "MeteorFalls_1F_1R_EventScript_1B1815",
+ "flag": "FLAG_ITEM_METEOR_FALLS_1F_1R_3"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ITEM_BALL",
+ "x": 27,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "MeteorFalls_1F_1R_EventScript_1B1808",
+ "flag": "FLAG_ITEM_METEOR_FALLS_1F_1R_2"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ITEM_BALL",
+ "x": 26,
+ "y": 32,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "MeteorFalls_1F_1R_EventScript_1B1822",
+ "flag": "FLAG_ITEM_METEOR_FALLS_1F_1R_4"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_1",
+ "x": 12,
+ "y": 20,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_HIDE_GRUNTS_METEOR_FALLS_1F"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_1",
+ "x": 14,
+ "y": 21,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_HIDE_GRUNTS_METEOR_FALLS_1F"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_7",
+ "x": 6,
+ "y": 20,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_HIDE_OTHER_TEAM_METEOR_FALLS_1F"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_4",
+ "x": 6,
+ "y": 20,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_HIDE_OTHER_TEAM_METEOR_FALLS_1F"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_4",
+ "x": 6,
+ "y": 21,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_HIDE_OTHER_TEAM_METEOR_FALLS_1F"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_SCIENTIST_1",
+ "x": 13,
+ "y": 23,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP_LEFT_AND_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "MeteorFalls_1F_1R_EventScript_15C656",
+ "flag": "FLAG_HIDE_PROF_COSMO_METEOR_FALLS"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 27,
+ "y": 18,
+ "elevation": 4,
+ "dest_map": "MAP_ROUTE114",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 6,
+ "y": 39,
+ "elevation": 3,
+ "dest_map": "MAP_ROUTE115",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 10,
+ "y": 3,
+ "elevation": 3,
+ "dest_map": "MAP_METEOR_FALLS_1F_2R",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 5,
+ "y": 4,
+ "elevation": 3,
+ "dest_map": "MAP_METEOR_FALLS_B1F_1R",
+ "dest_warp_id": 4
+ },
+ {
+ "x": 26,
+ "y": 28,
+ "elevation": 3,
+ "dest_map": "MAP_METEOR_FALLS_B1F_1R",
+ "dest_warp_id": 5
+ }
+ ],
+ "coord_events": [
+ {
+ "type": "trigger",
+ "x": 14,
+ "y": 18,
+ "elevation": 4,
+ "var": "VAR_METEOR_FALLS_STATE",
+ "var_value": "0",
+ "script": "MeteorFalls_1F_1R_EventScript_15C49C"
+ }
+ ],
+ "bg_events": [
+ {
+ "type": "sign",
+ "x": 38,
+ "y": 9,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH",
+ "script": "MeteorFalls_1F_1R_EventScript_14E842"
+ },
+ {
+ "type": "sign",
+ "x": 9,
+ "y": 58,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "0x0"
+ }
+ ]
+} \ No newline at end of file
diff --git a/data/maps/MeteorFalls_1F_2R/events.inc b/data/maps/MeteorFalls_1F_2R/events.inc
deleted file mode 100644
index b65223677..000000000
--- a/data/maps/MeteorFalls_1F_2R/events.inc
+++ /dev/null
@@ -1,17 +0,0 @@
-MeteorFalls_1F_2R_EventObjects:: @ 838BC20
- object_event 1, EVENT_OBJ_GFX_MAN_4, 0, 13, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 1, 1, MeteorFalls_1F_2R_EventScript_15C679, 0
- object_event 2, EVENT_OBJ_GFX_OLD_MAN_1, 0, 6, 12, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 1, 0, MeteorFalls_1F_2R_EventScript_15C6B7, 0
- object_event 3, EVENT_OBJ_GFX_OLD_WOMAN_1, 0, 7, 12, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 1, 0, MeteorFalls_1F_2R_EventScript_15C6FD, 0
-
-MeteorFalls_1F_2R_MapWarps:: @ 838BC68
- warp_def 10, 29, 3, 2, MAP_METEOR_FALLS_1F_1R
- warp_def 4, 14, 3, 0, MAP_METEOR_FALLS_B1F_1R
- warp_def 7, 20, 3, 1, MAP_METEOR_FALLS_B1F_1R
- warp_def 21, 23, 3, 2, MAP_METEOR_FALLS_B1F_1R
-
-MeteorFalls_1F_2R_MapBGEvents:: @ 838BC88
- bg_event 38, 9, 0, BG_EVENT_PLAYER_FACING_NORTH, MeteorFalls_1F_2R_EventScript_14E842
- bg_event 9, 58, 0, BG_EVENT_PLAYER_FACING_ANY, 0x0
-
-MeteorFalls_1F_2R_MapEvents:: @ 838BCA0
- map_events MeteorFalls_1F_2R_EventObjects, MeteorFalls_1F_2R_MapWarps, 0x0, MeteorFalls_1F_2R_MapBGEvents
diff --git a/data/maps/MeteorFalls_1F_2R/header.inc b/data/maps/MeteorFalls_1F_2R/header.inc
deleted file mode 100644
index 959c46b25..000000000
--- a/data/maps/MeteorFalls_1F_2R/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-MeteorFalls_1F_2R:: @ 8306D8C
- .4byte MeteorFalls_1F_2R_Layout
- .4byte MeteorFalls_1F_2R_MapEvents
- .4byte MeteorFalls_1F_2R_MapScripts
- .4byte 0x0
- .2byte MUS_DAN03
- .2byte 127
- .byte MAPSEC_METEOR_FALLS
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_UNDERGROUND
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/MeteorFalls_1F_2R/map.json b/data/maps/MeteorFalls_1F_2R/map.json
new file mode 100644
index 000000000..24c133810
--- /dev/null
+++ b/data/maps/MeteorFalls_1F_2R/map.json
@@ -0,0 +1,103 @@
+{
+ "id": "MAP_METEOR_FALLS_1F_2R",
+ "name": "MeteorFalls_1F_2R",
+ "layout": "LAYOUT_METEOR_FALLS_1F_2R",
+ "music": "MUS_DAN03",
+ "region_map_section": "MAPSEC_METEOR_FALLS",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_UNDERGROUND",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_4",
+ "x": 13,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "1",
+ "script": "MeteorFalls_1F_2R_EventScript_15C679",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_OLD_MAN_1",
+ "x": 6,
+ "y": 12,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "MeteorFalls_1F_2R_EventScript_15C6B7",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_OLD_WOMAN_1",
+ "x": 7,
+ "y": 12,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "MeteorFalls_1F_2R_EventScript_15C6FD",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 10,
+ "y": 29,
+ "elevation": 3,
+ "dest_map": "MAP_METEOR_FALLS_1F_1R",
+ "dest_warp_id": 2
+ },
+ {
+ "x": 4,
+ "y": 14,
+ "elevation": 3,
+ "dest_map": "MAP_METEOR_FALLS_B1F_1R",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 7,
+ "y": 20,
+ "elevation": 3,
+ "dest_map": "MAP_METEOR_FALLS_B1F_1R",
+ "dest_warp_id": 1
+ },
+ {
+ "x": 21,
+ "y": 23,
+ "elevation": 3,
+ "dest_map": "MAP_METEOR_FALLS_B1F_1R",
+ "dest_warp_id": 2
+ }
+ ],
+ "coord_events": [],
+ "bg_events": [
+ {
+ "type": "sign",
+ "x": 38,
+ "y": 9,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH",
+ "script": "MeteorFalls_1F_2R_EventScript_14E842"
+ },
+ {
+ "type": "sign",
+ "x": 9,
+ "y": 58,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "0x0"
+ }
+ ]
+} \ No newline at end of file
diff --git a/data/maps/MeteorFalls_B1F_1R/events.inc b/data/maps/MeteorFalls_B1F_1R/events.inc
deleted file mode 100644
index 053c932ce..000000000
--- a/data/maps/MeteorFalls_B1F_1R/events.inc
+++ /dev/null
@@ -1,10 +0,0 @@
-MeteorFalls_B1F_1R_MapWarps:: @ 838BCB4
- warp_def 5, 6, 4, 1, MAP_METEOR_FALLS_1F_2R
- warp_def 7, 11, 5, 2, MAP_METEOR_FALLS_1F_2R
- warp_def 18, 15, 4, 3, MAP_METEOR_FALLS_1F_2R
- warp_def 17, 3, 3, 0, MAP_METEOR_FALLS_B1F_2R
- warp_def 3, 23, 5, 3, MAP_METEOR_FALLS_1F_1R
- warp_def 20, 36, 3, 4, MAP_METEOR_FALLS_1F_1R
-
-MeteorFalls_B1F_1R_MapEvents:: @ 838BCE4
- map_events 0x0, MeteorFalls_B1F_1R_MapWarps, 0x0, 0x0
diff --git a/data/maps/MeteorFalls_B1F_1R/header.inc b/data/maps/MeteorFalls_B1F_1R/header.inc
deleted file mode 100644
index aeeb6dcfa..000000000
--- a/data/maps/MeteorFalls_B1F_1R/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-MeteorFalls_B1F_1R:: @ 8306DA8
- .4byte MeteorFalls_B1F_1R_Layout
- .4byte MeteorFalls_B1F_1R_MapEvents
- .4byte MeteorFalls_B1F_1R_MapScripts
- .4byte 0x0
- .2byte MUS_DAN03
- .2byte 128
- .byte MAPSEC_METEOR_FALLS
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_UNDERGROUND
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/MeteorFalls_B1F_1R/map.json b/data/maps/MeteorFalls_B1F_1R/map.json
new file mode 100644
index 000000000..2e7a33686
--- /dev/null
+++ b/data/maps/MeteorFalls_B1F_1R/map.json
@@ -0,0 +1,60 @@
+{
+ "id": "MAP_METEOR_FALLS_B1F_1R",
+ "name": "MeteorFalls_B1F_1R",
+ "layout": "LAYOUT_METEOR_FALLS_B1F_1R",
+ "music": "MUS_DAN03",
+ "region_map_section": "MAPSEC_METEOR_FALLS",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_UNDERGROUND",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [],
+ "warp_events": [
+ {
+ "x": 5,
+ "y": 6,
+ "elevation": 4,
+ "dest_map": "MAP_METEOR_FALLS_1F_2R",
+ "dest_warp_id": 1
+ },
+ {
+ "x": 7,
+ "y": 11,
+ "elevation": 5,
+ "dest_map": "MAP_METEOR_FALLS_1F_2R",
+ "dest_warp_id": 2
+ },
+ {
+ "x": 18,
+ "y": 15,
+ "elevation": 4,
+ "dest_map": "MAP_METEOR_FALLS_1F_2R",
+ "dest_warp_id": 3
+ },
+ {
+ "x": 17,
+ "y": 3,
+ "elevation": 3,
+ "dest_map": "MAP_METEOR_FALLS_B1F_2R",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 3,
+ "y": 23,
+ "elevation": 5,
+ "dest_map": "MAP_METEOR_FALLS_1F_1R",
+ "dest_warp_id": 3
+ },
+ {
+ "x": 20,
+ "y": 36,
+ "elevation": 3,
+ "dest_map": "MAP_METEOR_FALLS_1F_1R",
+ "dest_warp_id": 4
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/MeteorFalls_B1F_2R/events.inc b/data/maps/MeteorFalls_B1F_2R/events.inc
deleted file mode 100644
index 5058ca6bd..000000000
--- a/data/maps/MeteorFalls_B1F_2R/events.inc
+++ /dev/null
@@ -1,8 +0,0 @@
-MeteorFalls_B1F_2R_EventObjects:: @ 838BCF8
- object_event 1, EVENT_OBJ_GFX_ITEM_BALL, 0, 5, 3, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, MeteorFalls_B1F_2R_EventScript_1B182F, FLAG_ITEM_METEOR_FALLS_B1F_2R_1
-
-MeteorFalls_B1F_2R_MapWarps:: @ 838BD10
- warp_def 5, 15, 3, 3, MAP_METEOR_FALLS_B1F_1R
-
-MeteorFalls_B1F_2R_MapEvents:: @ 838BD18
- map_events MeteorFalls_B1F_2R_EventObjects, MeteorFalls_B1F_2R_MapWarps, 0x0, 0x0
diff --git a/data/maps/MeteorFalls_B1F_2R/header.inc b/data/maps/MeteorFalls_B1F_2R/header.inc
deleted file mode 100644
index 878187bcd..000000000
--- a/data/maps/MeteorFalls_B1F_2R/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-MeteorFalls_B1F_2R:: @ 8306DC4
- .4byte MeteorFalls_B1F_2R_Layout
- .4byte MeteorFalls_B1F_2R_MapEvents
- .4byte MeteorFalls_B1F_2R_MapScripts
- .4byte 0x0
- .2byte MUS_DAN03
- .2byte 129
- .byte MAPSEC_METEOR_FALLS
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_UNDERGROUND
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/MeteorFalls_B1F_2R/map.json b/data/maps/MeteorFalls_B1F_2R/map.json
new file mode 100644
index 000000000..7fb77ab10
--- /dev/null
+++ b/data/maps/MeteorFalls_B1F_2R/map.json
@@ -0,0 +1,39 @@
+{
+ "id": "MAP_METEOR_FALLS_B1F_2R",
+ "name": "MeteorFalls_B1F_2R",
+ "layout": "LAYOUT_METEOR_FALLS_B1F_2R",
+ "music": "MUS_DAN03",
+ "region_map_section": "MAPSEC_METEOR_FALLS",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_UNDERGROUND",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ITEM_BALL",
+ "x": 5,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "MeteorFalls_B1F_2R_EventScript_1B182F",
+ "flag": "FLAG_ITEM_METEOR_FALLS_B1F_2R_1"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 5,
+ "y": 15,
+ "elevation": 3,
+ "dest_map": "MAP_METEOR_FALLS_B1F_1R",
+ "dest_warp_id": 3
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/MossdeepCity/connections.inc b/data/maps/MossdeepCity/connections.inc
deleted file mode 100644
index 5fb40e7f4..000000000
--- a/data/maps/MossdeepCity/connections.inc
+++ /dev/null
@@ -1,8 +0,0 @@
-MossdeepCity_MapConnectionsList:: @ 83087D4
- connection up, 0, MAP_ROUTE125
- connection down, 0, MAP_ROUTE127
- connection left, -40, MAP_ROUTE124
-
-MossdeepCity_MapConnections:: @ 83087F8
- .4byte 0x3
- .4byte MossdeepCity_MapConnectionsList
diff --git a/data/maps/MossdeepCity/events.inc b/data/maps/MossdeepCity/events.inc
deleted file mode 100644
index 9880bbf87..000000000
--- a/data/maps/MossdeepCity/events.inc
+++ /dev/null
@@ -1,41 +0,0 @@
-MossdeepCity_EventObjects:: @ 838042C
- object_event 1, EVENT_OBJ_GFX_SAILOR, 0, 42, 24, 5, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, MossdeepCity_EventScript_14CFB7, 0
- object_event 2, EVENT_OBJ_GFX_OLD_MAN_1, 0, 50, 34, 5, MOVEMENT_TYPE_WANDER_LEFT_AND_RIGHT, 1, 0, 0, 0, MossdeepCity_EventScript_14CFC9, 0
- object_event 3, EVENT_OBJ_GFX_WOMAN_2, 0, 32, 12, 5, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, MossdeepCity_EventScript_14CFAE, 0
- object_event 4, EVENT_OBJ_GFX_LITTLE_BOY_1, 0, 26, 21, 5, MOVEMENT_TYPE_WANDER_UP_AND_DOWN, 0, 1, 0, 0, MossdeepCity_EventScript_14CFC0, 0
- object_event 5, EVENT_OBJ_GFX_GIRL_1, 0, 45, 18, 7, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, MossdeepCity_EventScript_14CFD2, 0
- object_event 6, EVENT_OBJ_GFX_ITEM_BALL, 0, 62, 35, 5, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, MossdeepCity_EventScript_1B1745, FLAG_ITEM_MOSSDEEP_1
- object_event 7, EVENT_OBJ_GFX_MAN_1, 0, 53, 5, 7, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, MossdeepCity_EventScript_14D011, 0
- object_event 8, EVENT_OBJ_GFX_GIRL_1, 0, 56, 21, 7, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 0, 0, MossdeepCity_EventScript_14CFDB, 0
- object_event 9, EVENT_OBJ_GFX_BOY_2, 0, 23, 13, 5, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, MossdeepCity_EventScript_14D027, 0
-
-MossdeepCity_MapWarps:: @ 8380504
- warp_def 28, 9, 0, 0, MAP_MOSSDEEP_CITY_HOUSE1
- warp_def 38, 9, 0, 0, MAP_MOSSDEEP_CITY_GYM
- warp_def 28, 16, 0, 0, MAP_MOSSDEEP_CITY_POKEMON_CENTER_1F
- warp_def 67, 24, 0, 0, MAP_MOSSDEEP_CITY_HOUSE2
- warp_def 37, 18, 0, 0, MAP_MOSSDEEP_CITY_MART
- warp_def 49, 6, 0, 0, MAP_MOSSDEEP_CITY_HOUSE3
- warp_def 19, 10, 0, 0, MAP_MOSSDEEP_CITY_STEVENS_HOUSE
- warp_def 18, 16, 0, 1, MAP_MOSSDEEP_CITY_HOUSE4
- warp_def 64, 13, 0, 0, MAP_MOSSDEEP_CITY_SPACE_CENTER_1F
- warp_def 36, 24, 0, 0, MAP_MOSSDEEP_CITY_GAME_CORNER_1F
-
-MossdeepCity_MapCoordEvents:: @ 8380554
- coord_event 25, 25, 0, VAR_TEMP_1, 0, MossdeepCity_EventScript_14D008
- coord_event 26, 25, 0, VAR_TEMP_1, 0, MossdeepCity_EventScript_14D008
- coord_event 32, 27, 0, VAR_TEMP_1, 0, MossdeepCity_EventScript_14D008
- coord_event 33, 27, 0, VAR_TEMP_1, 0, MossdeepCity_EventScript_14D008
-
-MossdeepCity_MapBGEvents:: @ 8380594
- bg_event 25, 16, 0, BG_EVENT_PLAYER_FACING_ANY, MossdeepCity_EventScript_14CFF6
- bg_event 34, 9, 0, BG_EVENT_PLAYER_FACING_ANY, MossdeepCity_EventScript_14CFED
- bg_event 29, 16, 0, BG_EVENT_PLAYER_FACING_NORTH, MossdeepCity_EventScript_1A00EA
- bg_event 38, 18, 0, BG_EVENT_PLAYER_FACING_NORTH, MossdeepCity_EventScript_1A00E1
- bg_event 66, 14, 0, BG_EVENT_PLAYER_FACING_ANY, MossdeepCity_EventScript_14CFFF
- bg_event 30, 16, 0, BG_EVENT_PLAYER_FACING_NORTH, MossdeepCity_EventScript_1A00EA
- bg_event 39, 18, 0, BG_EVENT_PLAYER_FACING_NORTH, MossdeepCity_EventScript_1A00E1
- bg_event 57, 21, 7, BG_EVENT_PLAYER_FACING_ANY, MossdeepCity_EventScript_14CFE4
-
-MossdeepCity_MapEvents:: @ 83805F4
- map_events MossdeepCity_EventObjects, MossdeepCity_MapWarps, MossdeepCity_MapCoordEvents, MossdeepCity_MapBGEvents
diff --git a/data/maps/MossdeepCity/header.inc b/data/maps/MossdeepCity/header.inc
deleted file mode 100644
index 36615e936..000000000
--- a/data/maps/MossdeepCity/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-MossdeepCity:: @ 83054F0
- .4byte MossdeepCity_Layout
- .4byte MossdeepCity_MapEvents
- .4byte MossdeepCity_MapScripts
- .4byte MossdeepCity_MapConnections
- .2byte MUS_GOTOWN
- .2byte 7
- .byte MAPSEC_MOSSDEEP_CITY
- .byte 0
- .byte WEATHER_SUNNY
- .byte MAP_TYPE_CITY
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/MossdeepCity/map.json b/data/maps/MossdeepCity/map.json
new file mode 100644
index 000000000..3a62d9ace
--- /dev/null
+++ b/data/maps/MossdeepCity/map.json
@@ -0,0 +1,324 @@
+{
+ "id": "MAP_MOSSDEEP_CITY",
+ "name": "MossdeepCity",
+ "layout": "LAYOUT_MOSSDEEP_CITY",
+ "music": "MUS_GOTOWN",
+ "region_map_section": "MAPSEC_MOSSDEEP_CITY",
+ "requires_flash": false,
+ "weather": "WEATHER_SUNNY",
+ "map_type": "MAP_TYPE_CITY",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": [
+ {
+ "direction": "up",
+ "offset": 0,
+ "map": "MAP_ROUTE125"
+ },
+ {
+ "direction": "down",
+ "offset": 0,
+ "map": "MAP_ROUTE127"
+ },
+ {
+ "direction": "left",
+ "offset": -40,
+ "map": "MAP_ROUTE124"
+ }
+ ],
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_SAILOR",
+ "x": 42,
+ "y": 24,
+ "elevation": 5,
+ "movement_type": "MOVEMENT_TYPE_WANDER_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "MossdeepCity_EventScript_14CFB7",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_OLD_MAN_1",
+ "x": 50,
+ "y": 34,
+ "elevation": 5,
+ "movement_type": "MOVEMENT_TYPE_WANDER_LEFT_AND_RIGHT",
+ "movement_range_x": 1,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "MossdeepCity_EventScript_14CFC9",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_2",
+ "x": 32,
+ "y": 12,
+ "elevation": 5,
+ "movement_type": "MOVEMENT_TYPE_WANDER_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "MossdeepCity_EventScript_14CFAE",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_LITTLE_BOY_1",
+ "x": 26,
+ "y": 21,
+ "elevation": 5,
+ "movement_type": "MOVEMENT_TYPE_WANDER_UP_AND_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "MossdeepCity_EventScript_14CFC0",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_GIRL_1",
+ "x": 45,
+ "y": 18,
+ "elevation": 7,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "MossdeepCity_EventScript_14CFD2",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ITEM_BALL",
+ "x": 62,
+ "y": 35,
+ "elevation": 5,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "MossdeepCity_EventScript_1B1745",
+ "flag": "FLAG_ITEM_MOSSDEEP_1"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_1",
+ "x": 53,
+ "y": 5,
+ "elevation": 7,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "MossdeepCity_EventScript_14D011",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_GIRL_1",
+ "x": 56,
+ "y": 21,
+ "elevation": 7,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "MossdeepCity_EventScript_14CFDB",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BOY_2",
+ "x": 23,
+ "y": 13,
+ "elevation": 5,
+ "movement_type": "MOVEMENT_TYPE_WANDER_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "MossdeepCity_EventScript_14D027",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 28,
+ "y": 9,
+ "elevation": 0,
+ "dest_map": "MAP_MOSSDEEP_CITY_HOUSE1",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 38,
+ "y": 9,
+ "elevation": 0,
+ "dest_map": "MAP_MOSSDEEP_CITY_GYM",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 28,
+ "y": 16,
+ "elevation": 0,
+ "dest_map": "MAP_MOSSDEEP_CITY_POKEMON_CENTER_1F",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 67,
+ "y": 24,
+ "elevation": 0,
+ "dest_map": "MAP_MOSSDEEP_CITY_HOUSE2",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 37,
+ "y": 18,
+ "elevation": 0,
+ "dest_map": "MAP_MOSSDEEP_CITY_MART",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 49,
+ "y": 6,
+ "elevation": 0,
+ "dest_map": "MAP_MOSSDEEP_CITY_HOUSE3",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 19,
+ "y": 10,
+ "elevation": 0,
+ "dest_map": "MAP_MOSSDEEP_CITY_STEVENS_HOUSE",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 18,
+ "y": 16,
+ "elevation": 0,
+ "dest_map": "MAP_MOSSDEEP_CITY_HOUSE4",
+ "dest_warp_id": 1
+ },
+ {
+ "x": 64,
+ "y": 13,
+ "elevation": 0,
+ "dest_map": "MAP_MOSSDEEP_CITY_SPACE_CENTER_1F",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 36,
+ "y": 24,
+ "elevation": 0,
+ "dest_map": "MAP_MOSSDEEP_CITY_GAME_CORNER_1F",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [
+ {
+ "type": "trigger",
+ "x": 25,
+ "y": 25,
+ "elevation": 0,
+ "var": "VAR_TEMP_1",
+ "var_value": "0",
+ "script": "MossdeepCity_EventScript_14D008"
+ },
+ {
+ "type": "trigger",
+ "x": 26,
+ "y": 25,
+ "elevation": 0,
+ "var": "VAR_TEMP_1",
+ "var_value": "0",
+ "script": "MossdeepCity_EventScript_14D008"
+ },
+ {
+ "type": "trigger",
+ "x": 32,
+ "y": 27,
+ "elevation": 0,
+ "var": "VAR_TEMP_1",
+ "var_value": "0",
+ "script": "MossdeepCity_EventScript_14D008"
+ },
+ {
+ "type": "trigger",
+ "x": 33,
+ "y": 27,
+ "elevation": 0,
+ "var": "VAR_TEMP_1",
+ "var_value": "0",
+ "script": "MossdeepCity_EventScript_14D008"
+ }
+ ],
+ "bg_events": [
+ {
+ "type": "sign",
+ "x": 25,
+ "y": 16,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "MossdeepCity_EventScript_14CFF6"
+ },
+ {
+ "type": "sign",
+ "x": 34,
+ "y": 9,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "MossdeepCity_EventScript_14CFED"
+ },
+ {
+ "type": "sign",
+ "x": 29,
+ "y": 16,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH",
+ "script": "MossdeepCity_EventScript_1A00EA"
+ },
+ {
+ "type": "sign",
+ "x": 38,
+ "y": 18,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH",
+ "script": "MossdeepCity_EventScript_1A00E1"
+ },
+ {
+ "type": "sign",
+ "x": 66,
+ "y": 14,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "MossdeepCity_EventScript_14CFFF"
+ },
+ {
+ "type": "sign",
+ "x": 30,
+ "y": 16,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH",
+ "script": "MossdeepCity_EventScript_1A00EA"
+ },
+ {
+ "type": "sign",
+ "x": 39,
+ "y": 18,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH",
+ "script": "MossdeepCity_EventScript_1A00E1"
+ },
+ {
+ "type": "sign",
+ "x": 57,
+ "y": 21,
+ "elevation": 7,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "MossdeepCity_EventScript_14CFE4"
+ }
+ ]
+} \ No newline at end of file
diff --git a/data/maps/MossdeepCity_GameCorner_1F/events.inc b/data/maps/MossdeepCity_GameCorner_1F/events.inc
deleted file mode 100644
index 9aa705e0e..000000000
--- a/data/maps/MossdeepCity_GameCorner_1F/events.inc
+++ /dev/null
@@ -1,13 +0,0 @@
-MossdeepCity_GameCorner_1F_EventObjects:: @ 838AC6C
- object_event 1, EVENT_OBJ_GFX_OLD_MAN_1, 0, 4, 4, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, MossdeepCity_GameCorner_1F_EventScript_15AD42, 0
-
-MossdeepCity_GameCorner_1F_MapWarps:: @ 838AC84
- warp_def 3, 7, 0, 9, MAP_MOSSDEEP_CITY
- warp_def 4, 7, 0, 9, MAP_MOSSDEEP_CITY
- warp_def 3, 1, 0, 0, MAP_MOSSDEEP_CITY_GAME_CORNER_B1F
-
-MossdeepCity_GameCorner_1F_MapBGEvents:: @ 838AC9C
- bg_event 3, 1, 0, BG_EVENT_PLAYER_FACING_ANY, MossdeepCity_GameCorner_1F_EventScript_15AE4C
-
-MossdeepCity_GameCorner_1F_MapEvents:: @ 838ACA8
- map_events MossdeepCity_GameCorner_1F_EventObjects, MossdeepCity_GameCorner_1F_MapWarps, 0x0, MossdeepCity_GameCorner_1F_MapBGEvents
diff --git a/data/maps/MossdeepCity_GameCorner_1F/header.inc b/data/maps/MossdeepCity_GameCorner_1F/header.inc
deleted file mode 100644
index fd57180d1..000000000
--- a/data/maps/MossdeepCity_GameCorner_1F/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-MossdeepCity_GameCorner_1F:: @ 83068F4
- .4byte MossdeepCity_GameCorner_1F_Layout
- .4byte MossdeepCity_GameCorner_1F_MapEvents
- .4byte MossdeepCity_GameCorner_1F_MapScripts
- .4byte 0x0
- .2byte MUS_GOTOWN
- .2byte 306
- .byte MAPSEC_MOSSDEEP_CITY
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/MossdeepCity_GameCorner_1F/map.json b/data/maps/MossdeepCity_GameCorner_1F/map.json
new file mode 100644
index 000000000..a06d123a8
--- /dev/null
+++ b/data/maps/MossdeepCity_GameCorner_1F/map.json
@@ -0,0 +1,62 @@
+{
+ "id": "MAP_MOSSDEEP_CITY_GAME_CORNER_1F",
+ "name": "MossdeepCity_GameCorner_1F",
+ "layout": "LAYOUT_MOSSDEEP_CITY_GAME_CORNER_1F",
+ "music": "MUS_GOTOWN",
+ "region_map_section": "MAPSEC_MOSSDEEP_CITY",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_OLD_MAN_1",
+ "x": 4,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "MossdeepCity_GameCorner_1F_EventScript_15AD42",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 3,
+ "y": 7,
+ "elevation": 0,
+ "dest_map": "MAP_MOSSDEEP_CITY",
+ "dest_warp_id": 9
+ },
+ {
+ "x": 4,
+ "y": 7,
+ "elevation": 0,
+ "dest_map": "MAP_MOSSDEEP_CITY",
+ "dest_warp_id": 9
+ },
+ {
+ "x": 3,
+ "y": 1,
+ "elevation": 0,
+ "dest_map": "MAP_MOSSDEEP_CITY_GAME_CORNER_B1F",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [],
+ "bg_events": [
+ {
+ "type": "sign",
+ "x": 3,
+ "y": 1,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "MossdeepCity_GameCorner_1F_EventScript_15AE4C"
+ }
+ ]
+} \ No newline at end of file
diff --git a/data/maps/MossdeepCity_GameCorner_B1F/events.inc b/data/maps/MossdeepCity_GameCorner_B1F/events.inc
deleted file mode 100644
index e74b89a16..000000000
--- a/data/maps/MossdeepCity_GameCorner_B1F/events.inc
+++ /dev/null
@@ -1,8 +0,0 @@
-MossdeepCity_GameCorner_B1F_EventObjects:: @ 838ACBC
- object_event 1, EVENT_OBJ_GFX_VAR_0, 0, 6, 5, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, 0x0, 0
-
-MossdeepCity_GameCorner_B1F_MapWarps:: @ 838ACD4
- warp_def 3, 1, 0, 2, MAP_MOSSDEEP_CITY_GAME_CORNER_1F
-
-MossdeepCity_GameCorner_B1F_MapEvents:: @ 838ACDC
- map_events MossdeepCity_GameCorner_B1F_EventObjects, MossdeepCity_GameCorner_B1F_MapWarps, 0x0, 0x0
diff --git a/data/maps/MossdeepCity_GameCorner_B1F/header.inc b/data/maps/MossdeepCity_GameCorner_B1F/header.inc
deleted file mode 100644
index f6436c975..000000000
--- a/data/maps/MossdeepCity_GameCorner_B1F/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-MossdeepCity_GameCorner_B1F:: @ 8306910
- .4byte MossdeepCity_GameCorner_B1F_Layout
- .4byte MossdeepCity_GameCorner_B1F_MapEvents
- .4byte MossdeepCity_GameCorner_B1F_MapScripts
- .4byte 0x0
- .2byte MUS_GOTOWN
- .2byte 307
- .byte MAPSEC_MOSSDEEP_CITY
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/MossdeepCity_GameCorner_B1F/map.json b/data/maps/MossdeepCity_GameCorner_B1F/map.json
new file mode 100644
index 000000000..b67e47009
--- /dev/null
+++ b/data/maps/MossdeepCity_GameCorner_B1F/map.json
@@ -0,0 +1,39 @@
+{
+ "id": "MAP_MOSSDEEP_CITY_GAME_CORNER_B1F",
+ "name": "MossdeepCity_GameCorner_B1F",
+ "layout": "LAYOUT_MOSSDEEP_CITY_GAME_CORNER_B1F",
+ "music": "MUS_GOTOWN",
+ "region_map_section": "MAPSEC_MOSSDEEP_CITY",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_0",
+ "x": 6,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 3,
+ "y": 1,
+ "elevation": 0,
+ "dest_map": "MAP_MOSSDEEP_CITY_GAME_CORNER_1F",
+ "dest_warp_id": 2
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/MossdeepCity_Gym/events.inc b/data/maps/MossdeepCity_Gym/events.inc
deleted file mode 100644
index 96ff7b032..000000000
--- a/data/maps/MossdeepCity_Gym/events.inc
+++ /dev/null
@@ -1,28 +0,0 @@
-MossdeepCity_Gym_EventObjects:: @ 838A660
- object_event 1, EVENT_OBJ_GFX_TATE, 0, 8, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, MossdeepCity_Gym_EventScript_15A56B, 0
- object_event 2, EVENT_OBJ_GFX_PSYCHIC_M, 0, 2, 24, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 1, 1, MossdeepCity_Gym_EventScript_15A74E, 0
- object_event 3, EVENT_OBJ_GFX_PSYCHIC_M, 0, 17, 18, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 1, 1, MossdeepCity_Gym_EventScript_15A77C, 0
- object_event 4, EVENT_OBJ_GFX_LASS, 0, 9, 17, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 1, 1, MossdeepCity_Gym_EventScript_15A7C1, 0
- object_event 5, EVENT_OBJ_GFX_LASS, 0, 11, 10, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 1, 1, MossdeepCity_Gym_EventScript_15A7AA, 0
- object_event 6, EVENT_OBJ_GFX_PSYCHIC_M, 0, 0, 7, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 1, 1, MossdeepCity_Gym_EventScript_15A765, 0
- object_event 7, EVENT_OBJ_GFX_LASS, 0, 4, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 1, 2, MossdeepCity_Gym_EventScript_15A793, 0
- object_event 8, EVENT_OBJ_GFX_MAN_2, 0, 8, 29, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, MossdeepCity_Gym_EventScript_15A7D8, 0
- object_event 9, EVENT_OBJ_GFX_LIZA, 0, 9, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, MossdeepCity_Gym_EventScript_15A56B, 0
-
-MossdeepCity_Gym_MapWarps:: @ 838A738
- warp_def 9, 29, 0, 1, MAP_MOSSDEEP_CITY
- warp_def 10, 29, 0, 1, MAP_MOSSDEEP_CITY
-
-MossdeepCity_Gym_MapCoordEvents:: @ 838A748
- coord_event 12, 3, 3, VAR_TEMP_1, 0, MossdeepCity_Gym_EventScript_15A742
-
-MossdeepCity_Gym_MapBGEvents:: @ 838A758
- bg_event 2, 7, 0, BG_EVENT_PLAYER_FACING_ANY, MossdeepCity_Gym_EventScript_15A5EA
- bg_event 8, 10, 0, BG_EVENT_PLAYER_FACING_ANY, MossdeepCity_Gym_EventScript_15A646
- bg_event 17, 15, 0, BG_EVENT_PLAYER_FACING_ANY, MossdeepCity_Gym_EventScript_15A69A
- bg_event 5, 24, 0, BG_EVENT_PLAYER_FACING_ANY, MossdeepCity_Gym_EventScript_15A6EE
- bg_event 7, 27, 0, BG_EVENT_PLAYER_FACING_NORTH, MossdeepCity_Gym_EventScript_15A7FA
- bg_event 11, 27, 0, BG_EVENT_PLAYER_FACING_NORTH, MossdeepCity_Gym_EventScript_15A80A
-
-MossdeepCity_Gym_MapEvents:: @ 838A7A0
- map_events MossdeepCity_Gym_EventObjects, MossdeepCity_Gym_MapWarps, MossdeepCity_Gym_MapCoordEvents, MossdeepCity_Gym_MapBGEvents
diff --git a/data/maps/MossdeepCity_Gym/header.inc b/data/maps/MossdeepCity_Gym/header.inc
deleted file mode 100644
index 1070a37cd..000000000
--- a/data/maps/MossdeepCity_Gym/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-MossdeepCity_Gym:: @ 83067C0
- .4byte MossdeepCity_Gym_Layout
- .4byte MossdeepCity_Gym_MapEvents
- .4byte MossdeepCity_Gym_MapScripts
- .4byte 0x0
- .2byte MUS_GIM
- .2byte 109
- .byte MAPSEC_MOSSDEEP_CITY
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_GYM
diff --git a/data/maps/MossdeepCity_Gym/map.json b/data/maps/MossdeepCity_Gym/map.json
new file mode 100644
index 000000000..390abe349
--- /dev/null
+++ b/data/maps/MossdeepCity_Gym/map.json
@@ -0,0 +1,209 @@
+{
+ "id": "MAP_MOSSDEEP_CITY_GYM",
+ "name": "MossdeepCity_Gym",
+ "layout": "LAYOUT_MOSSDEEP_CITY_GYM",
+ "music": "MUS_GIM",
+ "region_map_section": "MAPSEC_MOSSDEEP_CITY",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_GYM",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_TATE",
+ "x": 8,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "MossdeepCity_Gym_EventScript_15A56B",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_PSYCHIC_M",
+ "x": 2,
+ "y": 24,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "1",
+ "script": "MossdeepCity_Gym_EventScript_15A74E",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_PSYCHIC_M",
+ "x": 17,
+ "y": 18,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "1",
+ "script": "MossdeepCity_Gym_EventScript_15A77C",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_LASS",
+ "x": 9,
+ "y": 17,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "1",
+ "script": "MossdeepCity_Gym_EventScript_15A7C1",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_LASS",
+ "x": 11,
+ "y": 10,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "1",
+ "script": "MossdeepCity_Gym_EventScript_15A7AA",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_PSYCHIC_M",
+ "x": 0,
+ "y": 7,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "1",
+ "script": "MossdeepCity_Gym_EventScript_15A765",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_LASS",
+ "x": 4,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "2",
+ "script": "MossdeepCity_Gym_EventScript_15A793",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_2",
+ "x": 8,
+ "y": 29,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "MossdeepCity_Gym_EventScript_15A7D8",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_LIZA",
+ "x": 9,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "MossdeepCity_Gym_EventScript_15A56B",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 9,
+ "y": 29,
+ "elevation": 0,
+ "dest_map": "MAP_MOSSDEEP_CITY",
+ "dest_warp_id": 1
+ },
+ {
+ "x": 10,
+ "y": 29,
+ "elevation": 0,
+ "dest_map": "MAP_MOSSDEEP_CITY",
+ "dest_warp_id": 1
+ }
+ ],
+ "coord_events": [
+ {
+ "type": "trigger",
+ "x": 12,
+ "y": 3,
+ "elevation": 3,
+ "var": "VAR_TEMP_1",
+ "var_value": "0",
+ "script": "MossdeepCity_Gym_EventScript_15A742"
+ }
+ ],
+ "bg_events": [
+ {
+ "type": "sign",
+ "x": 2,
+ "y": 7,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "MossdeepCity_Gym_EventScript_15A5EA"
+ },
+ {
+ "type": "sign",
+ "x": 8,
+ "y": 10,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "MossdeepCity_Gym_EventScript_15A646"
+ },
+ {
+ "type": "sign",
+ "x": 17,
+ "y": 15,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "MossdeepCity_Gym_EventScript_15A69A"
+ },
+ {
+ "type": "sign",
+ "x": 5,
+ "y": 24,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "MossdeepCity_Gym_EventScript_15A6EE"
+ },
+ {
+ "type": "sign",
+ "x": 7,
+ "y": 27,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH",
+ "script": "MossdeepCity_Gym_EventScript_15A7FA"
+ },
+ {
+ "type": "sign",
+ "x": 11,
+ "y": 27,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH",
+ "script": "MossdeepCity_Gym_EventScript_15A80A"
+ }
+ ]
+} \ No newline at end of file
diff --git a/data/maps/MossdeepCity_House1/events.inc b/data/maps/MossdeepCity_House1/events.inc
deleted file mode 100644
index 0929cb305..000000000
--- a/data/maps/MossdeepCity_House1/events.inc
+++ /dev/null
@@ -1,10 +0,0 @@
-MossdeepCity_House1_EventObjects:: @ 838A7B4
- object_event 1, EVENT_OBJ_GFX_BLACK_BELT, 0, 3, 3, 3, MOVEMENT_TYPE_WANDER_UP_AND_DOWN, 1, 1, 0, 0, MossdeepCity_House1_EventScript_15A82F, 0
- object_event 2, EVENT_OBJ_GFX_WOMAN_3, 0, 7, 4, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, MossdeepCity_House1_EventScript_15A85F, 0
-
-MossdeepCity_House1_MapWarps:: @ 838A7E4
- warp_def 3, 7, 0, 0, MAP_MOSSDEEP_CITY
- warp_def 4, 7, 0, 0, MAP_MOSSDEEP_CITY
-
-MossdeepCity_House1_MapEvents:: @ 838A7F4
- map_events MossdeepCity_House1_EventObjects, MossdeepCity_House1_MapWarps, 0x0, 0x0
diff --git a/data/maps/MossdeepCity_House1/header.inc b/data/maps/MossdeepCity_House1/header.inc
deleted file mode 100644
index 4c7c76534..000000000
--- a/data/maps/MossdeepCity_House1/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-MossdeepCity_House1:: @ 83067DC
- .4byte House2_Layout
- .4byte MossdeepCity_House1_MapEvents
- .4byte MossdeepCity_House1_MapScripts
- .4byte 0x0
- .2byte MUS_GOTOWN
- .2byte 60
- .byte MAPSEC_MOSSDEEP_CITY
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/MossdeepCity_House1/map.json b/data/maps/MossdeepCity_House1/map.json
new file mode 100644
index 000000000..5935872d6
--- /dev/null
+++ b/data/maps/MossdeepCity_House1/map.json
@@ -0,0 +1,59 @@
+{
+ "id": "MAP_MOSSDEEP_CITY_HOUSE1",
+ "name": "MossdeepCity_House1",
+ "layout": "LAYOUT_HOUSE2",
+ "music": "MUS_GOTOWN",
+ "region_map_section": "MAPSEC_MOSSDEEP_CITY",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BLACK_BELT",
+ "x": 3,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_UP_AND_DOWN",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "MossdeepCity_House1_EventScript_15A82F",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_3",
+ "x": 7,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "MossdeepCity_House1_EventScript_15A85F",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 3,
+ "y": 7,
+ "elevation": 0,
+ "dest_map": "MAP_MOSSDEEP_CITY",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 4,
+ "y": 7,
+ "elevation": 0,
+ "dest_map": "MAP_MOSSDEEP_CITY",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/MossdeepCity_House2/events.inc b/data/maps/MossdeepCity_House2/events.inc
deleted file mode 100644
index cfd30ea15..000000000
--- a/data/maps/MossdeepCity_House2/events.inc
+++ /dev/null
@@ -1,11 +0,0 @@
-MossdeepCity_House2_EventObjects:: @ 838A808
- object_event 1, EVENT_OBJ_GFX_MAN_5, 0, 6, 6, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, MossdeepCity_House2_EventScript_15A869, 0
- object_event 2, EVENT_OBJ_GFX_LITTLE_GIRL_1, 0, 4, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, MossdeepCity_House2_EventScript_15A872, 0
- object_event 3, EVENT_OBJ_GFX_WINGULL, 0, 4, 5, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, MossdeepCity_House2_EventScript_15A87B, FLAG_HIDE_WINGULL_MOSSDEEP_HOUSE
-
-MossdeepCity_House2_MapWarps:: @ 838A850
- warp_def 3, 8, 0, 3, MAP_MOSSDEEP_CITY
- warp_def 4, 8, 0, 3, MAP_MOSSDEEP_CITY
-
-MossdeepCity_House2_MapEvents:: @ 838A860
- map_events MossdeepCity_House2_EventObjects, MossdeepCity_House2_MapWarps, 0x0, 0x0
diff --git a/data/maps/MossdeepCity_House2/header.inc b/data/maps/MossdeepCity_House2/header.inc
deleted file mode 100644
index a5107efe1..000000000
--- a/data/maps/MossdeepCity_House2/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-MossdeepCity_House2:: @ 83067F8
- .4byte House1_Layout
- .4byte MossdeepCity_House2_MapEvents
- .4byte MossdeepCity_House2_MapScripts
- .4byte 0x0
- .2byte MUS_GOTOWN
- .2byte 59
- .byte MAPSEC_MOSSDEEP_CITY
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/MossdeepCity_House2/map.json b/data/maps/MossdeepCity_House2/map.json
new file mode 100644
index 000000000..85d4a3770
--- /dev/null
+++ b/data/maps/MossdeepCity_House2/map.json
@@ -0,0 +1,72 @@
+{
+ "id": "MAP_MOSSDEEP_CITY_HOUSE2",
+ "name": "MossdeepCity_House2",
+ "layout": "LAYOUT_HOUSE1",
+ "music": "MUS_GOTOWN",
+ "region_map_section": "MAPSEC_MOSSDEEP_CITY",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_5",
+ "x": 6,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "MossdeepCity_House2_EventScript_15A869",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_LITTLE_GIRL_1",
+ "x": 4,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "MossdeepCity_House2_EventScript_15A872",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WINGULL",
+ "x": 4,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "MossdeepCity_House2_EventScript_15A87B",
+ "flag": "FLAG_HIDE_WINGULL_MOSSDEEP_HOUSE"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 3,
+ "y": 8,
+ "elevation": 0,
+ "dest_map": "MAP_MOSSDEEP_CITY",
+ "dest_warp_id": 3
+ },
+ {
+ "x": 4,
+ "y": 8,
+ "elevation": 0,
+ "dest_map": "MAP_MOSSDEEP_CITY",
+ "dest_warp_id": 3
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/MossdeepCity_House3/events.inc b/data/maps/MossdeepCity_House3/events.inc
deleted file mode 100644
index 8560b6e1a..000000000
--- a/data/maps/MossdeepCity_House3/events.inc
+++ /dev/null
@@ -1,9 +0,0 @@
-MossdeepCity_House3_EventObjects:: @ 838AA08
- object_event 1, EVENT_OBJ_GFX_FISHERMAN, 0, 4, 4, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, MossdeepCity_House3_EventScript_15A972, 0
-
-MossdeepCity_House3_MapWarps:: @ 838AA20
- warp_def 3, 7, 0, 5, MAP_MOSSDEEP_CITY
- warp_def 4, 7, 0, 5, MAP_MOSSDEEP_CITY
-
-MossdeepCity_House3_MapEvents:: @ 838AA30
- map_events MossdeepCity_House3_EventObjects, MossdeepCity_House3_MapWarps, 0x0, 0x0
diff --git a/data/maps/MossdeepCity_House3/header.inc b/data/maps/MossdeepCity_House3/header.inc
deleted file mode 100644
index a77e48e40..000000000
--- a/data/maps/MossdeepCity_House3/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-MossdeepCity_House3:: @ 8306868
- .4byte House2_Layout
- .4byte MossdeepCity_House3_MapEvents
- .4byte MossdeepCity_House3_MapScripts
- .4byte 0x0
- .2byte MUS_GOTOWN
- .2byte 60
- .byte MAPSEC_MOSSDEEP_CITY
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/MossdeepCity_House3/map.json b/data/maps/MossdeepCity_House3/map.json
new file mode 100644
index 000000000..897ce3fa0
--- /dev/null
+++ b/data/maps/MossdeepCity_House3/map.json
@@ -0,0 +1,46 @@
+{
+ "id": "MAP_MOSSDEEP_CITY_HOUSE3",
+ "name": "MossdeepCity_House3",
+ "layout": "LAYOUT_HOUSE2",
+ "music": "MUS_GOTOWN",
+ "region_map_section": "MAPSEC_MOSSDEEP_CITY",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_FISHERMAN",
+ "x": 4,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "MossdeepCity_House3_EventScript_15A972",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 3,
+ "y": 7,
+ "elevation": 0,
+ "dest_map": "MAP_MOSSDEEP_CITY",
+ "dest_warp_id": 5
+ },
+ {
+ "x": 4,
+ "y": 7,
+ "elevation": 0,
+ "dest_map": "MAP_MOSSDEEP_CITY",
+ "dest_warp_id": 5
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/MossdeepCity_House4/events.inc b/data/maps/MossdeepCity_House4/events.inc
deleted file mode 100644
index 5df0f4f4f..000000000
--- a/data/maps/MossdeepCity_House4/events.inc
+++ /dev/null
@@ -1,11 +0,0 @@
-MossdeepCity_House4_EventObjects:: @ 838AAF8
- object_event 1, EVENT_OBJ_GFX_WOMAN_3, 0, 3, 4, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, MossdeepCity_House4_EventScript_15AB31, 0
- object_event 2, EVENT_OBJ_GFX_LITTLE_BOY_1, 0, 6, 6, 3, MOVEMENT_TYPE_WANDER_LEFT_AND_RIGHT, 1, 0, 0, 0, MossdeepCity_House4_EventScript_15AB50, 0
- object_event 3, EVENT_OBJ_GFX_SKITTY, 0, 2, 4, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, MossdeepCity_House4_EventScript_15AB77, 0
-
-MossdeepCity_House4_MapWarps:: @ 838AB40
- warp_def 4, 7, 0, 7, MAP_MOSSDEEP_CITY
- warp_def 3, 7, 0, 7, MAP_MOSSDEEP_CITY
-
-MossdeepCity_House4_MapEvents:: @ 838AB50
- map_events MossdeepCity_House4_EventObjects, MossdeepCity_House4_MapWarps, 0x0, 0x0
diff --git a/data/maps/MossdeepCity_House4/header.inc b/data/maps/MossdeepCity_House4/header.inc
deleted file mode 100644
index 91ef8305c..000000000
--- a/data/maps/MossdeepCity_House4/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-MossdeepCity_House4:: @ 83068A0
- .4byte HouseWithBed_Layout
- .4byte MossdeepCity_House4_MapEvents
- .4byte MossdeepCity_House4_MapScripts
- .4byte 0x0
- .2byte MUS_GOTOWN
- .2byte 80
- .byte MAPSEC_MOSSDEEP_CITY
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/MossdeepCity_House4/map.json b/data/maps/MossdeepCity_House4/map.json
new file mode 100644
index 000000000..27c0640f0
--- /dev/null
+++ b/data/maps/MossdeepCity_House4/map.json
@@ -0,0 +1,72 @@
+{
+ "id": "MAP_MOSSDEEP_CITY_HOUSE4",
+ "name": "MossdeepCity_House4",
+ "layout": "LAYOUT_HOUSE_WITH_BED",
+ "music": "MUS_GOTOWN",
+ "region_map_section": "MAPSEC_MOSSDEEP_CITY",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_3",
+ "x": 3,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "MossdeepCity_House4_EventScript_15AB31",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_LITTLE_BOY_1",
+ "x": 6,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_LEFT_AND_RIGHT",
+ "movement_range_x": 1,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "MossdeepCity_House4_EventScript_15AB50",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_SKITTY",
+ "x": 2,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "MossdeepCity_House4_EventScript_15AB77",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 4,
+ "y": 7,
+ "elevation": 0,
+ "dest_map": "MAP_MOSSDEEP_CITY",
+ "dest_warp_id": 7
+ },
+ {
+ "x": 3,
+ "y": 7,
+ "elevation": 0,
+ "dest_map": "MAP_MOSSDEEP_CITY",
+ "dest_warp_id": 7
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/MossdeepCity_Mart/events.inc b/data/maps/MossdeepCity_Mart/events.inc
deleted file mode 100644
index b0cb8e67e..000000000
--- a/data/maps/MossdeepCity_Mart/events.inc
+++ /dev/null
@@ -1,12 +0,0 @@
-MossdeepCity_Mart_EventObjects:: @ 838A984
- object_event 1, EVENT_OBJ_GFX_MART_EMPLOYEE, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, MossdeepCity_Mart_EventScript_15A926, 0
- object_event 2, EVENT_OBJ_GFX_WOMAN_7, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, MossdeepCity_Mart_EventScript_15A956, 0
- object_event 3, EVENT_OBJ_GFX_BOY_2, 0, 8, 3, 3, MOVEMENT_TYPE_WANDER_UP_AND_DOWN, 0, 1, 0, 0, MossdeepCity_Mart_EventScript_15A95F, 0
- object_event 4, EVENT_OBJ_GFX_SAILOR, 0, 5, 3, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, MossdeepCity_Mart_EventScript_15A968, 0
-
-MossdeepCity_Mart_MapWarps:: @ 838A9E4
- warp_def 3, 7, 0, 4, MAP_MOSSDEEP_CITY
- warp_def 4, 7, 0, 4, MAP_MOSSDEEP_CITY
-
-MossdeepCity_Mart_MapEvents:: @ 838A9F4
- map_events MossdeepCity_Mart_EventObjects, MossdeepCity_Mart_MapWarps, 0x0, 0x0
diff --git a/data/maps/MossdeepCity_Mart/header.inc b/data/maps/MossdeepCity_Mart/header.inc
deleted file mode 100644
index dc9f8832a..000000000
--- a/data/maps/MossdeepCity_Mart/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-MossdeepCity_Mart:: @ 830684C
- .4byte PokeMart_Layout
- .4byte MossdeepCity_Mart_MapEvents
- .4byte MossdeepCity_Mart_MapScripts
- .4byte 0x0
- .2byte MUS_FRIENDLY
- .2byte 63
- .byte MAPSEC_MOSSDEEP_CITY
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/MossdeepCity_Mart/map.json b/data/maps/MossdeepCity_Mart/map.json
new file mode 100644
index 000000000..d42689305
--- /dev/null
+++ b/data/maps/MossdeepCity_Mart/map.json
@@ -0,0 +1,85 @@
+{
+ "id": "MAP_MOSSDEEP_CITY_MART",
+ "name": "MossdeepCity_Mart",
+ "layout": "LAYOUT_POKE_MART",
+ "music": "MUS_FRIENDLY",
+ "region_map_section": "MAPSEC_MOSSDEEP_CITY",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MART_EMPLOYEE",
+ "x": 1,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "MossdeepCity_Mart_EventScript_15A926",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_7",
+ "x": 1,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "MossdeepCity_Mart_EventScript_15A956",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BOY_2",
+ "x": 8,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_UP_AND_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "MossdeepCity_Mart_EventScript_15A95F",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_SAILOR",
+ "x": 5,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "MossdeepCity_Mart_EventScript_15A968",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 3,
+ "y": 7,
+ "elevation": 0,
+ "dest_map": "MAP_MOSSDEEP_CITY",
+ "dest_warp_id": 4
+ },
+ {
+ "x": 4,
+ "y": 7,
+ "elevation": 0,
+ "dest_map": "MAP_MOSSDEEP_CITY",
+ "dest_warp_id": 4
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/MossdeepCity_PokemonCenter_1F/events.inc b/data/maps/MossdeepCity_PokemonCenter_1F/events.inc
deleted file mode 100644
index 6f193ba1f..000000000
--- a/data/maps/MossdeepCity_PokemonCenter_1F/events.inc
+++ /dev/null
@@ -1,12 +0,0 @@
-MossdeepCity_PokemonCenter_1F_EventObjects:: @ 838A874
- object_event 1, EVENT_OBJ_GFX_NURSE, 0, 7, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, MossdeepCity_PokemonCenter_1F_EventScript_15A8DA, 0
- object_event 2, EVENT_OBJ_GFX_WOMAN_3, 0, 8, 4, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, MossdeepCity_PokemonCenter_1F_EventScript_15A8E8, 0
- object_event 3, EVENT_OBJ_GFX_GIRL_1, 0, 3, 5, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, MossdeepCity_PokemonCenter_1F_EventScript_15A8F1, 0
-
-MossdeepCity_PokemonCenter_1F_MapWarps:: @ 838A8BC
- warp_def 7, 8, 3, 2, MAP_MOSSDEEP_CITY
- warp_def 6, 8, 3, 2, MAP_MOSSDEEP_CITY
- warp_def 1, 6, 4, 0, MAP_MOSSDEEP_CITY_POKEMON_CENTER_2F
-
-MossdeepCity_PokemonCenter_1F_MapEvents:: @ 838A8D4
- map_events MossdeepCity_PokemonCenter_1F_EventObjects, MossdeepCity_PokemonCenter_1F_MapWarps, 0x0, 0x0
diff --git a/data/maps/MossdeepCity_PokemonCenter_1F/header.inc b/data/maps/MossdeepCity_PokemonCenter_1F/header.inc
deleted file mode 100644
index 1f9a18c11..000000000
--- a/data/maps/MossdeepCity_PokemonCenter_1F/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-MossdeepCity_PokemonCenter_1F:: @ 8306814
- .4byte PokemonCenter_1F_Layout
- .4byte MossdeepCity_PokemonCenter_1F_MapEvents
- .4byte MossdeepCity_PokemonCenter_1F_MapScripts
- .4byte 0x0
- .2byte MUS_POKECEN
- .2byte 61
- .byte MAPSEC_MOSSDEEP_CITY
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/MossdeepCity_PokemonCenter_1F/map.json b/data/maps/MossdeepCity_PokemonCenter_1F/map.json
new file mode 100644
index 000000000..467a5150b
--- /dev/null
+++ b/data/maps/MossdeepCity_PokemonCenter_1F/map.json
@@ -0,0 +1,79 @@
+{
+ "id": "MAP_MOSSDEEP_CITY_POKEMON_CENTER_1F",
+ "name": "MossdeepCity_PokemonCenter_1F",
+ "layout": "LAYOUT_POKEMON_CENTER_1F",
+ "music": "MUS_POKECEN",
+ "region_map_section": "MAPSEC_MOSSDEEP_CITY",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_NURSE",
+ "x": 7,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "MossdeepCity_PokemonCenter_1F_EventScript_15A8DA",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_3",
+ "x": 8,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "MossdeepCity_PokemonCenter_1F_EventScript_15A8E8",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_GIRL_1",
+ "x": 3,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "MossdeepCity_PokemonCenter_1F_EventScript_15A8F1",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 7,
+ "y": 8,
+ "elevation": 3,
+ "dest_map": "MAP_MOSSDEEP_CITY",
+ "dest_warp_id": 2
+ },
+ {
+ "x": 6,
+ "y": 8,
+ "elevation": 3,
+ "dest_map": "MAP_MOSSDEEP_CITY",
+ "dest_warp_id": 2
+ },
+ {
+ "x": 1,
+ "y": 6,
+ "elevation": 4,
+ "dest_map": "MAP_MOSSDEEP_CITY_POKEMON_CENTER_2F",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/MossdeepCity_PokemonCenter_2F/events.inc b/data/maps/MossdeepCity_PokemonCenter_2F/events.inc
deleted file mode 100644
index cad002147..000000000
--- a/data/maps/MossdeepCity_PokemonCenter_2F/events.inc
+++ /dev/null
@@ -1,15 +0,0 @@
-MossdeepCity_PokemonCenter_2F_EventObjects:: @ 838A8E8
- object_event 1, EVENT_OBJ_GFX_TEALA, 0, 4, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, MossdeepCity_PokemonCenter_2F_EventScript_15A913, 0
- object_event 2, EVENT_OBJ_GFX_TEALA, 0, 7, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, MossdeepCity_PokemonCenter_2F_EventScript_15A919, 0
- object_event 3, EVENT_OBJ_GFX_TEALA, 0, 10, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, MossdeepCity_PokemonCenter_2F_EventScript_15A91F, 0
- object_event 4, EVENT_OBJ_GFX_WOMAN_7, 0, 10, 6, 3, MOVEMENT_TYPE_WANDER_LEFT_AND_RIGHT, 2, 1, 0, 0, MossdeepCity_PokemonCenter_2F_EventScript_15A90A, 0
-
-MossdeepCity_PokemonCenter_2F_MapWarps:: @ 838A948
- warp_def 1, 5, 4, 2, MAP_MOSSDEEP_CITY_POKEMON_CENTER_1F
- warp_def 5, 1, 0, 0, MAP_SINGLE_BATTLE_COLOSSEUM
- warp_def 8, 1, 0, 0, MAP_TRADE_CENTER
- warp_def 11, 1, 0, 0, MAP_RECORD_CORNER
- warp_def 0, 0, 0, 0, MAP_DOUBLE_BATTLE_COLOSSEUM
-
-MossdeepCity_PokemonCenter_2F_MapEvents:: @ 838A970
- map_events MossdeepCity_PokemonCenter_2F_EventObjects, MossdeepCity_PokemonCenter_2F_MapWarps, 0x0, 0x0
diff --git a/data/maps/MossdeepCity_PokemonCenter_2F/header.inc b/data/maps/MossdeepCity_PokemonCenter_2F/header.inc
deleted file mode 100644
index d3ac47ccb..000000000
--- a/data/maps/MossdeepCity_PokemonCenter_2F/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-MossdeepCity_PokemonCenter_2F:: @ 8306830
- .4byte PokemonCenter_2F_Layout
- .4byte MossdeepCity_PokemonCenter_2F_MapEvents
- .4byte MossdeepCity_PokemonCenter_2F_MapScripts
- .4byte 0x0
- .2byte MUS_POKECEN
- .2byte 62
- .byte MAPSEC_MOSSDEEP_CITY
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/MossdeepCity_PokemonCenter_2F/map.json b/data/maps/MossdeepCity_PokemonCenter_2F/map.json
new file mode 100644
index 000000000..89a6bfddc
--- /dev/null
+++ b/data/maps/MossdeepCity_PokemonCenter_2F/map.json
@@ -0,0 +1,106 @@
+{
+ "id": "MAP_MOSSDEEP_CITY_POKEMON_CENTER_2F",
+ "name": "MossdeepCity_PokemonCenter_2F",
+ "layout": "LAYOUT_POKEMON_CENTER_2F",
+ "music": "MUS_POKECEN",
+ "region_map_section": "MAPSEC_MOSSDEEP_CITY",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_TEALA",
+ "x": 4,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "MossdeepCity_PokemonCenter_2F_EventScript_15A913",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_TEALA",
+ "x": 7,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "MossdeepCity_PokemonCenter_2F_EventScript_15A919",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_TEALA",
+ "x": 10,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "MossdeepCity_PokemonCenter_2F_EventScript_15A91F",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_7",
+ "x": 10,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_LEFT_AND_RIGHT",
+ "movement_range_x": 2,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "MossdeepCity_PokemonCenter_2F_EventScript_15A90A",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 1,
+ "y": 5,
+ "elevation": 4,
+ "dest_map": "MAP_MOSSDEEP_CITY_POKEMON_CENTER_1F",
+ "dest_warp_id": 2
+ },
+ {
+ "x": 5,
+ "y": 1,
+ "elevation": 0,
+ "dest_map": "MAP_SINGLE_BATTLE_COLOSSEUM",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 8,
+ "y": 1,
+ "elevation": 0,
+ "dest_map": "MAP_TRADE_CENTER",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 11,
+ "y": 1,
+ "elevation": 0,
+ "dest_map": "MAP_RECORD_CORNER",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 0,
+ "y": 0,
+ "elevation": 0,
+ "dest_map": "MAP_DOUBLE_BATTLE_COLOSSEUM",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/MossdeepCity_SpaceCenter_1F/events.inc b/data/maps/MossdeepCity_SpaceCenter_1F/events.inc
deleted file mode 100644
index f640b9cff..000000000
--- a/data/maps/MossdeepCity_SpaceCenter_1F/events.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-MossdeepCity_SpaceCenter_1F_EventObjects:: @ 838AB64
- object_event 1, EVENT_OBJ_GFX_SCIENTIST_1, 0, 7, 2, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, MossdeepCity_SpaceCenter_1F_EventScript_15AB8B, 0
- object_event 2, EVENT_OBJ_GFX_SCIENTIST_1, 0, 2, 2, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, MossdeepCity_SpaceCenter_1F_EventScript_15ABCC, 0
- object_event 3, EVENT_OBJ_GFX_SAILOR, 0, 6, 6, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, MossdeepCity_SpaceCenter_1F_EventScript_15ABD5, 0
- object_event 4, EVENT_OBJ_GFX_OLD_MAN_2, 0, 10, 2, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, MossdeepCity_SpaceCenter_1F_EventScript_15AC1F, 0
- object_event 5, EVENT_OBJ_GFX_WOMAN_5, 0, 14, 7, 3, MOVEMENT_TYPE_WANDER_UP_AND_DOWN, 1, 1, 0, 0, MossdeepCity_SpaceCenter_1F_EventScript_15AC16, 0
-
-MossdeepCity_SpaceCenter_1F_MapWarps:: @ 838ABDC
- warp_def 7, 9, 0, 8, MAP_MOSSDEEP_CITY
- warp_def 8, 9, 0, 8, MAP_MOSSDEEP_CITY
- warp_def 13, 1, 0, 0, MAP_MOSSDEEP_CITY_SPACE_CENTER_2F
-
-MossdeepCity_SpaceCenter_1F_MapEvents:: @ 838ABF4
- map_events MossdeepCity_SpaceCenter_1F_EventObjects, MossdeepCity_SpaceCenter_1F_MapWarps, 0x0, 0x0
diff --git a/data/maps/MossdeepCity_SpaceCenter_1F/header.inc b/data/maps/MossdeepCity_SpaceCenter_1F/header.inc
deleted file mode 100644
index 3092932b8..000000000
--- a/data/maps/MossdeepCity_SpaceCenter_1F/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-MossdeepCity_SpaceCenter_1F:: @ 83068BC
- .4byte MossdeepCity_SpaceCenter_1F_Layout
- .4byte MossdeepCity_SpaceCenter_1F_MapEvents
- .4byte MossdeepCity_SpaceCenter_1F_MapScripts
- .4byte 0x0
- .2byte MUS_GOTOWN
- .2byte 276
- .byte MAPSEC_MOSSDEEP_CITY
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/MossdeepCity_SpaceCenter_1F/map.json b/data/maps/MossdeepCity_SpaceCenter_1F/map.json
new file mode 100644
index 000000000..1f2d73745
--- /dev/null
+++ b/data/maps/MossdeepCity_SpaceCenter_1F/map.json
@@ -0,0 +1,105 @@
+{
+ "id": "MAP_MOSSDEEP_CITY_SPACE_CENTER_1F",
+ "name": "MossdeepCity_SpaceCenter_1F",
+ "layout": "LAYOUT_MOSSDEEP_CITY_SPACE_CENTER_1F",
+ "music": "MUS_GOTOWN",
+ "region_map_section": "MAPSEC_MOSSDEEP_CITY",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_SCIENTIST_1",
+ "x": 7,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "MossdeepCity_SpaceCenter_1F_EventScript_15AB8B",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_SCIENTIST_1",
+ "x": 2,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "MossdeepCity_SpaceCenter_1F_EventScript_15ABCC",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_SAILOR",
+ "x": 6,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "MossdeepCity_SpaceCenter_1F_EventScript_15ABD5",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_OLD_MAN_2",
+ "x": 10,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "MossdeepCity_SpaceCenter_1F_EventScript_15AC1F",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_5",
+ "x": 14,
+ "y": 7,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_UP_AND_DOWN",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "MossdeepCity_SpaceCenter_1F_EventScript_15AC16",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 7,
+ "y": 9,
+ "elevation": 0,
+ "dest_map": "MAP_MOSSDEEP_CITY",
+ "dest_warp_id": 8
+ },
+ {
+ "x": 8,
+ "y": 9,
+ "elevation": 0,
+ "dest_map": "MAP_MOSSDEEP_CITY",
+ "dest_warp_id": 8
+ },
+ {
+ "x": 13,
+ "y": 1,
+ "elevation": 0,
+ "dest_map": "MAP_MOSSDEEP_CITY_SPACE_CENTER_2F",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/MossdeepCity_SpaceCenter_2F/events.inc b/data/maps/MossdeepCity_SpaceCenter_2F/events.inc
deleted file mode 100644
index c275eac21..000000000
--- a/data/maps/MossdeepCity_SpaceCenter_2F/events.inc
+++ /dev/null
@@ -1,10 +0,0 @@
-MossdeepCity_SpaceCenter_2F_EventObjects:: @ 838AC08
- object_event 1, EVENT_OBJ_GFX_BOY_4, 0, 6, 2, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, MossdeepCity_SpaceCenter_2F_EventScript_15AC49, 0
- object_event 2, EVENT_OBJ_GFX_GENTLEMAN, 0, 11, 8, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, MossdeepCity_SpaceCenter_2F_EventScript_15AC40, 0
- object_event 3, EVENT_OBJ_GFX_SCIENTIST_1, 0, 5, 6, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, MossdeepCity_SpaceCenter_2F_EventScript_15AC37, 0
-
-MossdeepCity_SpaceCenter_2F_MapWarps:: @ 838AC50
- warp_def 13, 1, 0, 2, MAP_MOSSDEEP_CITY_SPACE_CENTER_1F
-
-MossdeepCity_SpaceCenter_2F_MapEvents:: @ 838AC58
- map_events MossdeepCity_SpaceCenter_2F_EventObjects, MossdeepCity_SpaceCenter_2F_MapWarps, 0x0, 0x0
diff --git a/data/maps/MossdeepCity_SpaceCenter_2F/header.inc b/data/maps/MossdeepCity_SpaceCenter_2F/header.inc
deleted file mode 100644
index 00aebba1b..000000000
--- a/data/maps/MossdeepCity_SpaceCenter_2F/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-MossdeepCity_SpaceCenter_2F:: @ 83068D8
- .4byte MossdeepCity_SpaceCenter_2F_Layout
- .4byte MossdeepCity_SpaceCenter_2F_MapEvents
- .4byte MossdeepCity_SpaceCenter_2F_MapScripts
- .4byte 0x0
- .2byte MUS_GOTOWN
- .2byte 277
- .byte MAPSEC_MOSSDEEP_CITY
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/MossdeepCity_SpaceCenter_2F/map.json b/data/maps/MossdeepCity_SpaceCenter_2F/map.json
new file mode 100644
index 000000000..eed6b9e62
--- /dev/null
+++ b/data/maps/MossdeepCity_SpaceCenter_2F/map.json
@@ -0,0 +1,65 @@
+{
+ "id": "MAP_MOSSDEEP_CITY_SPACE_CENTER_2F",
+ "name": "MossdeepCity_SpaceCenter_2F",
+ "layout": "LAYOUT_MOSSDEEP_CITY_SPACE_CENTER_2F",
+ "music": "MUS_GOTOWN",
+ "region_map_section": "MAPSEC_MOSSDEEP_CITY",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BOY_4",
+ "x": 6,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "MossdeepCity_SpaceCenter_2F_EventScript_15AC49",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_GENTLEMAN",
+ "x": 11,
+ "y": 8,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "MossdeepCity_SpaceCenter_2F_EventScript_15AC40",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_SCIENTIST_1",
+ "x": 5,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "MossdeepCity_SpaceCenter_2F_EventScript_15AC37",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 13,
+ "y": 1,
+ "elevation": 0,
+ "dest_map": "MAP_MOSSDEEP_CITY_SPACE_CENTER_1F",
+ "dest_warp_id": 2
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/MossdeepCity_StevensHouse/events.inc b/data/maps/MossdeepCity_StevensHouse/events.inc
deleted file mode 100644
index c08546238..000000000
--- a/data/maps/MossdeepCity_StevensHouse/events.inc
+++ /dev/null
@@ -1,18 +0,0 @@
-MossdeepCity_StevensHouse_EventObjects:: @ 838AA44
- object_event 1, EVENT_OBJ_GFX_STEVEN, 0, 9, 6, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, MossdeepCity_StevensHouse_EventScript_15AAF9, FLAG_HIDE_STEVEN_STEVENS_HOUSE
- object_event 2, EVENT_OBJ_GFX_ITEM_BALL, 0, 4, 3, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, MossdeepCity_StevensHouse_EventScript_15AA7C, FLAG_HIDE_BELDUM_BALL_STEVENS_HOUSE
- object_event 3, EVENT_OBJ_GFX_ITEM_BALL, 0, 5, 3, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, MossdeepCity_StevensHouse_EventScript_15AB20, FLAG_ITEM_MOSSDEEP_STEVENS_HOUSE_1
- object_event 4, EVENT_OBJ_GFX_LITTLE_BOY_1, 0, 6, 4, 3, MOVEMENT_TYPE_INVISIBLE, 1, 1, 0, 0, MossdeepCity_StevensHouse_EventScript_15AB02, FLAG_HIDE_STEVENS_LETTER
-
-MossdeepCity_StevensHouse_MapWarps:: @ 838AAA4
- warp_def 3, 7, 0, 6, MAP_MOSSDEEP_CITY
- warp_def 4, 7, 0, 6, MAP_MOSSDEEP_CITY
-
-MossdeepCity_StevensHouse_MapBGEvents:: @ 838AAB4
- bg_event 0, 1, 0, BG_EVENT_PLAYER_FACING_ANY, MossdeepCity_StevensHouse_EventScript_15AAF0
- bg_event 1, 1, 0, BG_EVENT_PLAYER_FACING_ANY, MossdeepCity_StevensHouse_EventScript_15AAF0
- bg_event 10, 4, 3, BG_EVENT_PLAYER_FACING_ANY, MossdeepCity_StevensHouse_EventScript_15AAF0
- bg_event 10, 6, 3, BG_EVENT_PLAYER_FACING_ANY, MossdeepCity_StevensHouse_EventScript_15AAF0
-
-MossdeepCity_StevensHouse_MapEvents:: @ 838AAE4
- map_events MossdeepCity_StevensHouse_EventObjects, MossdeepCity_StevensHouse_MapWarps, 0x0, MossdeepCity_StevensHouse_MapBGEvents
diff --git a/data/maps/MossdeepCity_StevensHouse/header.inc b/data/maps/MossdeepCity_StevensHouse/header.inc
deleted file mode 100644
index 5988c50b4..000000000
--- a/data/maps/MossdeepCity_StevensHouse/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-MossdeepCity_StevensHouse:: @ 8306884
- .4byte MossdeepCity_StevensHouse_Layout
- .4byte MossdeepCity_StevensHouse_MapEvents
- .4byte MossdeepCity_StevensHouse_MapScripts
- .4byte 0x0
- .2byte MUS_GOTOWN
- .2byte 328
- .byte MAPSEC_MOSSDEEP_CITY
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/MossdeepCity_StevensHouse/map.json b/data/maps/MossdeepCity_StevensHouse/map.json
new file mode 100644
index 000000000..f2659f369
--- /dev/null
+++ b/data/maps/MossdeepCity_StevensHouse/map.json
@@ -0,0 +1,118 @@
+{
+ "id": "MAP_MOSSDEEP_CITY_STEVENS_HOUSE",
+ "name": "MossdeepCity_StevensHouse",
+ "layout": "LAYOUT_MOSSDEEP_CITY_STEVENS_HOUSE",
+ "music": "MUS_GOTOWN",
+ "region_map_section": "MAPSEC_MOSSDEEP_CITY",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_STEVEN",
+ "x": 9,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "MossdeepCity_StevensHouse_EventScript_15AAF9",
+ "flag": "FLAG_HIDE_STEVEN_STEVENS_HOUSE"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ITEM_BALL",
+ "x": 4,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "MossdeepCity_StevensHouse_EventScript_15AA7C",
+ "flag": "FLAG_HIDE_BELDUM_BALL_STEVENS_HOUSE"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ITEM_BALL",
+ "x": 5,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "MossdeepCity_StevensHouse_EventScript_15AB20",
+ "flag": "FLAG_ITEM_MOSSDEEP_STEVENS_HOUSE_1"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_LITTLE_BOY_1",
+ "x": 6,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_INVISIBLE",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "MossdeepCity_StevensHouse_EventScript_15AB02",
+ "flag": "FLAG_HIDE_STEVENS_LETTER"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 3,
+ "y": 7,
+ "elevation": 0,
+ "dest_map": "MAP_MOSSDEEP_CITY",
+ "dest_warp_id": 6
+ },
+ {
+ "x": 4,
+ "y": 7,
+ "elevation": 0,
+ "dest_map": "MAP_MOSSDEEP_CITY",
+ "dest_warp_id": 6
+ }
+ ],
+ "coord_events": [],
+ "bg_events": [
+ {
+ "type": "sign",
+ "x": 0,
+ "y": 1,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "MossdeepCity_StevensHouse_EventScript_15AAF0"
+ },
+ {
+ "type": "sign",
+ "x": 1,
+ "y": 1,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "MossdeepCity_StevensHouse_EventScript_15AAF0"
+ },
+ {
+ "type": "sign",
+ "x": 10,
+ "y": 4,
+ "elevation": 3,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "MossdeepCity_StevensHouse_EventScript_15AAF0"
+ },
+ {
+ "type": "sign",
+ "x": 10,
+ "y": 6,
+ "elevation": 3,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "MossdeepCity_StevensHouse_EventScript_15AAF0"
+ }
+ ]
+} \ No newline at end of file
diff --git a/data/maps/MtChimney/events.inc b/data/maps/MtChimney/events.inc
deleted file mode 100644
index bc071c7b1..000000000
--- a/data/maps/MtChimney/events.inc
+++ /dev/null
@@ -1,42 +0,0 @@
-MtChimney_EventObjects:: @ 838C330
- object_event 1, EVENT_OBJ_GFX_VAR_7, 0, 24, 19, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, MtChimney_EventScript_1B2C95, FLAG_HIDE_OTEHR_TEAM_MT_CHIMNEY
- object_event 2, EVENT_OBJ_GFX_VAR_6, 0, 13, 6, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, MtChimney_EventScript_1B2CCB, FLAG_HIDE_EVIL_TEAM_MT_CHIMNEY
- object_event 3, EVENT_OBJ_GFX_VAR_1, 0, 12, 11, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 1, 2, MtChimney_EventScript_15D110, FLAG_HIDE_EVIL_TEAM_MT_CHIMNEY
- object_event 4, EVENT_OBJ_GFX_VAR_1, 0, 32, 5, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, MtChimney_EventScript_15D162, FLAG_HIDE_EVIL_TEAM_MT_CHIMNEY
- object_event 5, EVENT_OBJ_GFX_VAR_1, 0, 28, 12, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, MtChimney_EventScript_15D159, FLAG_HIDE_EVIL_TEAM_MT_CHIMNEY
- object_event 6, EVENT_OBJ_GFX_VAR_4, 0, 19, 39, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, MtChimney_EventScript_15D0FE, FLAG_HIDE_OTEHR_TEAM_MT_CHIMNEY
- object_event 7, EVENT_OBJ_GFX_VAR_4, 0, 29, 5, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, MtChimney_EventScript_15D0F5, FLAG_HIDE_OTEHR_TEAM_MT_CHIMNEY
- object_event 8, EVENT_OBJ_GFX_VAR_4, 0, 31, 12, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, MtChimney_EventScript_15D107, FLAG_HIDE_OTEHR_TEAM_MT_CHIMNEY
- object_event 9, EVENT_OBJ_GFX_OLD_WOMAN_2, 0, 16, 37, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, MtChimney_EventScript_15CF95, FLAG_HIDE_MT_CHIMNEY_PEOPLE
- object_event 10, EVENT_OBJ_GFX_VAR_1, 0, 22, 39, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, MtChimney_EventScript_15D162, FLAG_HIDE_EVIL_TEAM_MT_CHIMNEY
- object_event 11, EVENT_OBJ_GFX_POOCHYENA, 0, 23, 19, 3, MOVEMENT_TYPE_RUN_IN_PLACE_LEFT, 0, 0, 0, 0, MtChimney_EventScript_15D174, FLAG_HIDE_OTEHR_TEAM_MT_CHIMNEY
- object_event 12, EVENT_OBJ_GFX_POOCHYENA, 0, 23, 18, 3, MOVEMENT_TYPE_WALK_IN_PLACE_DOWN, 0, 0, 0, 0, MtChimney_EventScript_15D16B, FLAG_HIDE_EVIL_TEAM_MT_CHIMNEY
- object_event 13, EVENT_OBJ_GFX_VAR_1, 0, 23, 17, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, MtChimney_EventScript_15D13E, FLAG_HIDE_EVIL_TEAM_MT_CHIMNEY
- object_event 14, EVENT_OBJ_GFX_POOCHYENA, 0, 23, 20, 3, MOVEMENT_TYPE_WALK_IN_PLACE_UP, 0, 0, 0, 0, MtChimney_EventScript_15D16B, FLAG_HIDE_EVIL_TEAM_MT_CHIMNEY
- object_event 15, EVENT_OBJ_GFX_POOCHYENA, 0, 22, 19, 3, MOVEMENT_TYPE_WALK_IN_PLACE_RIGHT, 0, 0, 0, 0, MtChimney_EventScript_15D16B, FLAG_HIDE_EVIL_TEAM_MT_CHIMNEY
- object_event 16, EVENT_OBJ_GFX_VAR_1, 0, 23, 21, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, MtChimney_EventScript_15D150, FLAG_HIDE_EVIL_TEAM_MT_CHIMNEY
- object_event 17, EVENT_OBJ_GFX_VAR_1, 0, 21, 19, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, MtChimney_EventScript_15D13E, FLAG_HIDE_EVIL_TEAM_MT_CHIMNEY
- object_event 18, EVENT_OBJ_GFX_POOCHYENA, 0, 30, 12, 3, MOVEMENT_TYPE_WALK_IN_PLACE_LEFT, 0, 0, 0, 0, MtChimney_EventScript_15D174, FLAG_HIDE_OTEHR_TEAM_MT_CHIMNEY
- object_event 19, EVENT_OBJ_GFX_POOCHYENA, 0, 29, 12, 3, MOVEMENT_TYPE_WALK_IN_PLACE_RIGHT, 0, 0, 0, 0, MtChimney_EventScript_15D16B, FLAG_HIDE_EVIL_TEAM_MT_CHIMNEY
- object_event 20, EVENT_OBJ_GFX_POOCHYENA, 0, 30, 5, 3, MOVEMENT_TYPE_WALK_IN_PLACE_RIGHT, 0, 0, 0, 0, MtChimney_EventScript_15D174, FLAG_HIDE_OTEHR_TEAM_MT_CHIMNEY
- object_event 21, EVENT_OBJ_GFX_POOCHYENA, 0, 31, 5, 3, MOVEMENT_TYPE_WALK_IN_PLACE_LEFT, 0, 0, 0, 0, MtChimney_EventScript_15D16B, FLAG_HIDE_EVIL_TEAM_MT_CHIMNEY
- object_event 22, EVENT_OBJ_GFX_VAR_1, 0, 9, 15, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 1, 3, MtChimney_EventScript_15D127, FLAG_HIDE_EVIL_TEAM_MT_CHIMNEY
- object_event 23, EVENT_OBJ_GFX_POOCHYENA, 0, 20, 39, 3, MOVEMENT_TYPE_WALK_IN_PLACE_RIGHT, 0, 0, 0, 0, MtChimney_EventScript_15D174, FLAG_HIDE_OTEHR_TEAM_MT_CHIMNEY
- object_event 24, EVENT_OBJ_GFX_POOCHYENA, 0, 21, 39, 3, MOVEMENT_TYPE_WALK_IN_PLACE_LEFT, 0, 0, 0, 0, MtChimney_EventScript_15D16B, FLAG_HIDE_EVIL_TEAM_MT_CHIMNEY
- object_event 25, EVENT_OBJ_GFX_OLD_WOMAN_1, 0, 16, 18, 3, MOVEMENT_TYPE_FACE_DOWN_AND_UP, 0, 0, 1, 3, MtChimney_EventScript_15D1E3, FLAG_HIDE_MT_CHIMNEY_PEOPLE
- object_event 26, EVENT_OBJ_GFX_BEAUTY, 0, 14, 7, 3, MOVEMENT_TYPE_JOG_IN_PLACE_LEFT, 0, 0, 1, 4, MtChimney_EventScript_15D221, FLAG_HIDE_MT_CHIMNEY_PEOPLE
- object_event 27, EVENT_OBJ_GFX_BEAUTY, 0, 29, 7, 3, MOVEMENT_TYPE_FACE_DOWN_AND_LEFT, 1, 1, 1, 3, MtChimney_EventScript_15D238, FLAG_HIDE_MT_CHIMNEY_PEOPLE
- object_event 28, EVENT_OBJ_GFX_BEAUTY, 0, 27, 17, 3, MOVEMENT_TYPE_FACE_UP_AND_RIGHT, 1, 1, 1, 3, MtChimney_EventScript_15D24F, FLAG_HIDE_MT_CHIMNEY_PEOPLE
-
-MtChimney_MapWarps:: @ 838C5D0
- warp_def 17, 36, 0, 0, MAP_MT_CHIMNEY_CABLE_CAR_STATION
- warp_def 18, 36, 0, 1, MAP_MT_CHIMNEY_CABLE_CAR_STATION
- warp_def 20, 41, 3, 2, MAP_JAGGED_PASS
- warp_def 21, 41, 3, 3, MAP_JAGGED_PASS
-
-MtChimney_MapBGEvents:: @ 838C5F0
- bg_event 14, 6, 0, BG_EVENT_PLAYER_FACING_ANY, MtChimney_EventScript_15D17D
- bg_event 24, 37, 3, BG_EVENT_PLAYER_FACING_ANY, MtChimney_EventScript_15D1DA
-
-MtChimney_MapEvents:: @ 838C608
- map_events MtChimney_EventObjects, MtChimney_MapWarps, 0x0, MtChimney_MapBGEvents
diff --git a/data/maps/MtChimney/header.inc b/data/maps/MtChimney/header.inc
deleted file mode 100644
index 2312d9c92..000000000
--- a/data/maps/MtChimney/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-MtChimney:: @ 8306EC0
- .4byte MtChimney_Layout
- .4byte MtChimney_MapEvents
- .4byte MtChimney_MapScripts
- .4byte 0x0
- .2byte MUS_TOZAN
- .2byte 137
- .byte MAPSEC_MT_CHIMNEY
- .byte 0
- .byte WEATHER_ASH
- .byte MAP_TYPE_ROUTE
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/MtChimney/map.json b/data/maps/MtChimney/map.json
new file mode 100644
index 000000000..61497ff7d
--- /dev/null
+++ b/data/maps/MtChimney/map.json
@@ -0,0 +1,428 @@
+{
+ "id": "MAP_MT_CHIMNEY",
+ "name": "MtChimney",
+ "layout": "LAYOUT_MT_CHIMNEY",
+ "music": "MUS_TOZAN",
+ "region_map_section": "MAPSEC_MT_CHIMNEY",
+ "requires_flash": false,
+ "weather": "WEATHER_ASH",
+ "map_type": "MAP_TYPE_ROUTE",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_7",
+ "x": 24,
+ "y": 19,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "MtChimney_EventScript_1B2C95",
+ "flag": "FLAG_HIDE_OTHER_TEAM_MT_CHIMNEY"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_6",
+ "x": 13,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "MtChimney_EventScript_1B2CCB",
+ "flag": "FLAG_HIDE_EVIL_TEAM_MT_CHIMNEY"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_1",
+ "x": 12,
+ "y": 11,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "2",
+ "script": "MtChimney_EventScript_15D110",
+ "flag": "FLAG_HIDE_EVIL_TEAM_MT_CHIMNEY"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_1",
+ "x": 32,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "MtChimney_EventScript_15D162",
+ "flag": "FLAG_HIDE_EVIL_TEAM_MT_CHIMNEY"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_1",
+ "x": 28,
+ "y": 12,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "MtChimney_EventScript_15D159",
+ "flag": "FLAG_HIDE_EVIL_TEAM_MT_CHIMNEY"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_4",
+ "x": 19,
+ "y": 39,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "MtChimney_EventScript_15D0FE",
+ "flag": "FLAG_HIDE_OTHER_TEAM_MT_CHIMNEY"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_4",
+ "x": 29,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "MtChimney_EventScript_15D0F5",
+ "flag": "FLAG_HIDE_OTHER_TEAM_MT_CHIMNEY"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_4",
+ "x": 31,
+ "y": 12,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "MtChimney_EventScript_15D107",
+ "flag": "FLAG_HIDE_OTHER_TEAM_MT_CHIMNEY"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_OLD_WOMAN_2",
+ "x": 16,
+ "y": 37,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "MtChimney_EventScript_15CF95",
+ "flag": "FLAG_HIDE_MT_CHIMNEY_PEOPLE"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_1",
+ "x": 22,
+ "y": 39,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "MtChimney_EventScript_15D162",
+ "flag": "FLAG_HIDE_EVIL_TEAM_MT_CHIMNEY"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_POOCHYENA",
+ "x": 23,
+ "y": 19,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_RUN_IN_PLACE_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "MtChimney_EventScript_15D174",
+ "flag": "FLAG_HIDE_OTHER_TEAM_MT_CHIMNEY"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_POOCHYENA",
+ "x": 23,
+ "y": 18,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WALK_IN_PLACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "MtChimney_EventScript_15D16B",
+ "flag": "FLAG_HIDE_EVIL_TEAM_MT_CHIMNEY"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_1",
+ "x": 23,
+ "y": 17,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "MtChimney_EventScript_15D13E",
+ "flag": "FLAG_HIDE_EVIL_TEAM_MT_CHIMNEY"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_POOCHYENA",
+ "x": 23,
+ "y": 20,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WALK_IN_PLACE_UP",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "MtChimney_EventScript_15D16B",
+ "flag": "FLAG_HIDE_EVIL_TEAM_MT_CHIMNEY"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_POOCHYENA",
+ "x": 22,
+ "y": 19,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WALK_IN_PLACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "MtChimney_EventScript_15D16B",
+ "flag": "FLAG_HIDE_EVIL_TEAM_MT_CHIMNEY"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_1",
+ "x": 23,
+ "y": 21,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "MtChimney_EventScript_15D150",
+ "flag": "FLAG_HIDE_EVIL_TEAM_MT_CHIMNEY"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_1",
+ "x": 21,
+ "y": 19,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "MtChimney_EventScript_15D13E",
+ "flag": "FLAG_HIDE_EVIL_TEAM_MT_CHIMNEY"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_POOCHYENA",
+ "x": 30,
+ "y": 12,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WALK_IN_PLACE_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "MtChimney_EventScript_15D174",
+ "flag": "FLAG_HIDE_OTHER_TEAM_MT_CHIMNEY"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_POOCHYENA",
+ "x": 29,
+ "y": 12,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WALK_IN_PLACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "MtChimney_EventScript_15D16B",
+ "flag": "FLAG_HIDE_EVIL_TEAM_MT_CHIMNEY"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_POOCHYENA",
+ "x": 30,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WALK_IN_PLACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "MtChimney_EventScript_15D174",
+ "flag": "FLAG_HIDE_OTHER_TEAM_MT_CHIMNEY"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_POOCHYENA",
+ "x": 31,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WALK_IN_PLACE_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "MtChimney_EventScript_15D16B",
+ "flag": "FLAG_HIDE_EVIL_TEAM_MT_CHIMNEY"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_1",
+ "x": 9,
+ "y": 15,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "3",
+ "script": "MtChimney_EventScript_15D127",
+ "flag": "FLAG_HIDE_EVIL_TEAM_MT_CHIMNEY"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_POOCHYENA",
+ "x": 20,
+ "y": 39,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WALK_IN_PLACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "MtChimney_EventScript_15D174",
+ "flag": "FLAG_HIDE_OTHER_TEAM_MT_CHIMNEY"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_POOCHYENA",
+ "x": 21,
+ "y": 39,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WALK_IN_PLACE_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "MtChimney_EventScript_15D16B",
+ "flag": "FLAG_HIDE_EVIL_TEAM_MT_CHIMNEY"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_OLD_WOMAN_1",
+ "x": 16,
+ "y": 18,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN_AND_UP",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "3",
+ "script": "MtChimney_EventScript_15D1E3",
+ "flag": "FLAG_HIDE_MT_CHIMNEY_PEOPLE"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BEAUTY",
+ "x": 14,
+ "y": 7,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_JOG_IN_PLACE_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "4",
+ "script": "MtChimney_EventScript_15D221",
+ "flag": "FLAG_HIDE_MT_CHIMNEY_PEOPLE"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BEAUTY",
+ "x": 29,
+ "y": 7,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN_AND_LEFT",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "3",
+ "script": "MtChimney_EventScript_15D238",
+ "flag": "FLAG_HIDE_MT_CHIMNEY_PEOPLE"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BEAUTY",
+ "x": 27,
+ "y": 17,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP_AND_RIGHT",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "3",
+ "script": "MtChimney_EventScript_15D24F",
+ "flag": "FLAG_HIDE_MT_CHIMNEY_PEOPLE"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 17,
+ "y": 36,
+ "elevation": 0,
+ "dest_map": "MAP_MT_CHIMNEY_CABLE_CAR_STATION",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 18,
+ "y": 36,
+ "elevation": 0,
+ "dest_map": "MAP_MT_CHIMNEY_CABLE_CAR_STATION",
+ "dest_warp_id": 1
+ },
+ {
+ "x": 20,
+ "y": 41,
+ "elevation": 3,
+ "dest_map": "MAP_JAGGED_PASS",
+ "dest_warp_id": 2
+ },
+ {
+ "x": 21,
+ "y": 41,
+ "elevation": 3,
+ "dest_map": "MAP_JAGGED_PASS",
+ "dest_warp_id": 3
+ }
+ ],
+ "coord_events": [],
+ "bg_events": [
+ {
+ "type": "sign",
+ "x": 14,
+ "y": 6,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "MtChimney_EventScript_15D17D"
+ },
+ {
+ "type": "sign",
+ "x": 24,
+ "y": 37,
+ "elevation": 3,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "MtChimney_EventScript_15D1DA"
+ }
+ ]
+} \ No newline at end of file
diff --git a/data/maps/MtChimney_CableCarStation/events.inc b/data/maps/MtChimney_CableCarStation/events.inc
deleted file mode 100644
index ca437c92d..000000000
--- a/data/maps/MtChimney_CableCarStation/events.inc
+++ /dev/null
@@ -1,10 +0,0 @@
-MtChimney_CableCarStation_EventObjects:: @ 838B828
- object_event 1, EVENT_OBJ_GFX_BEAUTY, 0, 6, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, MtChimney_CableCarStation_EventScript_15C14B, 0
- object_event 2, EVENT_OBJ_GFX_CABLE_CAR, 0, 6, 3, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, 0
-
-MtChimney_CableCarStation_MapWarps:: @ 838B858
- warp_def 6, 11, 0, 0, MAP_MT_CHIMNEY
- warp_def 7, 11, 0, 1, MAP_MT_CHIMNEY
-
-MtChimney_CableCarStation_MapEvents:: @ 838B868
- map_events MtChimney_CableCarStation_EventObjects, MtChimney_CableCarStation_MapWarps, 0x0, 0x0
diff --git a/data/maps/MtChimney_CableCarStation/header.inc b/data/maps/MtChimney_CableCarStation/header.inc
deleted file mode 100644
index 15d59a97f..000000000
--- a/data/maps/MtChimney_CableCarStation/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-MtChimney_CableCarStation:: @ 8306CAC
- .4byte CableCarStation_Layout
- .4byte MtChimney_CableCarStation_MapEvents
- .4byte MtChimney_CableCarStation_MapScripts
- .4byte 0x0
- .2byte MUS_DOORO_X1
- .2byte 119
- .byte MAPSEC_MT_CHIMNEY
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/MtChimney_CableCarStation/map.json b/data/maps/MtChimney_CableCarStation/map.json
new file mode 100644
index 000000000..e0bdbc99c
--- /dev/null
+++ b/data/maps/MtChimney_CableCarStation/map.json
@@ -0,0 +1,59 @@
+{
+ "id": "MAP_MT_CHIMNEY_CABLE_CAR_STATION",
+ "name": "MtChimney_CableCarStation",
+ "layout": "LAYOUT_CABLE_CAR_STATION",
+ "music": "MUS_DOORO_X1",
+ "region_map_section": "MAPSEC_MT_CHIMNEY",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BEAUTY",
+ "x": 6,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "MtChimney_CableCarStation_EventScript_15C14B",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_CABLE_CAR",
+ "x": 6,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 6,
+ "y": 11,
+ "elevation": 0,
+ "dest_map": "MAP_MT_CHIMNEY",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 7,
+ "y": 11,
+ "elevation": 0,
+ "dest_map": "MAP_MT_CHIMNEY",
+ "dest_warp_id": 1
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/MtPyre_1F/events.inc b/data/maps/MtPyre_1F/events.inc
deleted file mode 100644
index 01b4052a6..000000000
--- a/data/maps/MtPyre_1F/events.inc
+++ /dev/null
@@ -1,15 +0,0 @@
-MtPyre_1F_EventObjects:: @ 838C7FC
- object_event 1, EVENT_OBJ_GFX_OLD_WOMAN_2, 0, 21, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, MtPyre_1F_EventScript_15D323, 0
- object_event 2, EVENT_OBJ_GFX_WOMAN_2, 0, 17, 8, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 0, 0, MtPyre_1F_EventScript_15D35C, 0
- object_event 3, EVENT_OBJ_GFX_MAN_5, 0, 13, 10, 3, MOVEMENT_TYPE_FACE_LEFT, 1, 1, 0, 0, MtPyre_1F_EventScript_15D365, 0
-
-MtPyre_1F_MapWarps:: @ 838C844
- warp_def 17, 18, 3, 0, MAP_ROUTE122
- warp_def 3, 6, 3, 0, MAP_MT_PYRE_EXTERIOR
- warp_def 18, 18, 3, 0, MAP_ROUTE122
- warp_def 4, 6, 3, 0, MAP_MT_PYRE_EXTERIOR
- warp_def 11, 1, 3, 0, MAP_MT_PYRE_2F
- warp_def 20, 9, 3, 4, MAP_MT_PYRE_2F
-
-MtPyre_1F_MapEvents:: @ 838C874
- map_events MtPyre_1F_EventObjects, MtPyre_1F_MapWarps, 0x0, 0x0
diff --git a/data/maps/MtPyre_1F/header.inc b/data/maps/MtPyre_1F/header.inc
deleted file mode 100644
index bbd8c0370..000000000
--- a/data/maps/MtPyre_1F/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-MtPyre_1F:: @ 8306F14
- .4byte MtPyre_1F_Layout
- .4byte MtPyre_1F_MapEvents
- .4byte MtPyre_1F_MapScripts
- .4byte 0x0
- .2byte MUS_M_DUNGON
- .2byte 138
- .byte MAPSEC_MT_PYRE
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/MtPyre_1F/map.json b/data/maps/MtPyre_1F/map.json
new file mode 100644
index 000000000..5e96cc77f
--- /dev/null
+++ b/data/maps/MtPyre_1F/map.json
@@ -0,0 +1,100 @@
+{
+ "id": "MAP_MT_PYRE_1F",
+ "name": "MtPyre_1F",
+ "layout": "LAYOUT_MT_PYRE_1F",
+ "music": "MUS_M_DUNGON",
+ "region_map_section": "MAPSEC_MT_PYRE",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_OLD_WOMAN_2",
+ "x": 21,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "MtPyre_1F_EventScript_15D323",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_2",
+ "x": 17,
+ "y": 8,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "MtPyre_1F_EventScript_15D35C",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_5",
+ "x": 13,
+ "y": 10,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "MtPyre_1F_EventScript_15D365",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 17,
+ "y": 18,
+ "elevation": 3,
+ "dest_map": "MAP_ROUTE122",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 3,
+ "y": 6,
+ "elevation": 3,
+ "dest_map": "MAP_MT_PYRE_EXTERIOR",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 18,
+ "y": 18,
+ "elevation": 3,
+ "dest_map": "MAP_ROUTE122",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 4,
+ "y": 6,
+ "elevation": 3,
+ "dest_map": "MAP_MT_PYRE_EXTERIOR",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 11,
+ "y": 1,
+ "elevation": 3,
+ "dest_map": "MAP_MT_PYRE_2F",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 20,
+ "y": 9,
+ "elevation": 3,
+ "dest_map": "MAP_MT_PYRE_2F",
+ "dest_warp_id": 4
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/MtPyre_2F/events.inc b/data/maps/MtPyre_2F/events.inc
deleted file mode 100644
index d6f401581..000000000
--- a/data/maps/MtPyre_2F/events.inc
+++ /dev/null
@@ -1,17 +0,0 @@
-MtPyre_2F_EventObjects:: @ 838C888
- object_event 1, EVENT_OBJ_GFX_MANIAC, 0, 6, 6, 3, MOVEMENT_TYPE_FACE_DOWN_AND_LEFT, 1, 1, 1, 2, MtPyre_2F_EventScript_15D39B, 0
- object_event 2, EVENT_OBJ_GFX_ITEM_BALL, 0, 0, 10, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, MtPyre_2F_EventScript_1B1933, FLAG_ITEM_MT_PYRE_2F_1
- object_event 3, EVENT_OBJ_GFX_WOMAN_1, 0, 5, 3, 3, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 0, 0, MtPyre_2F_EventScript_15D389, 0
- object_event 4, EVENT_OBJ_GFX_MAN_3, 0, 7, 11, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, MtPyre_2F_EventScript_15D392, 0
- object_event 5, EVENT_OBJ_GFX_WOMAN_5, 0, 2, 8, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 1, 0, MtPyre_2F_EventScript_15D3CD, 0
- object_event 6, EVENT_OBJ_GFX_MAN_5, 0, 3, 8, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 1, 0, MtPyre_2F_EventScript_15D3B2, 0
-
-MtPyre_2F_MapWarps:: @ 838C918
- warp_def 2, 1, 3, 4, MAP_MT_PYRE_1F
- warp_def 10, 1, 3, 0, MAP_MT_PYRE_3F
- warp_def 10, 12, 3, 4, MAP_MT_PYRE_3F
- warp_def 6, 12, 3, 5, MAP_MT_PYRE_3F
- warp_def 11, 9, 3, 5, MAP_MT_PYRE_1F
-
-MtPyre_2F_MapEvents:: @ 838C940
- map_events MtPyre_2F_EventObjects, MtPyre_2F_MapWarps, 0x0, 0x0
diff --git a/data/maps/MtPyre_2F/header.inc b/data/maps/MtPyre_2F/header.inc
deleted file mode 100644
index c123d076a..000000000
--- a/data/maps/MtPyre_2F/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-MtPyre_2F:: @ 8306F30
- .4byte MtPyre_2F_Layout
- .4byte MtPyre_2F_MapEvents
- .4byte MtPyre_2F_MapScripts
- .4byte 0x0
- .2byte MUS_M_DUNGON
- .2byte 139
- .byte MAPSEC_MT_PYRE
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/MtPyre_2F/map.json b/data/maps/MtPyre_2F/map.json
new file mode 100644
index 000000000..fe048207c
--- /dev/null
+++ b/data/maps/MtPyre_2F/map.json
@@ -0,0 +1,132 @@
+{
+ "id": "MAP_MT_PYRE_2F",
+ "name": "MtPyre_2F",
+ "layout": "LAYOUT_MT_PYRE_2F",
+ "music": "MUS_M_DUNGON",
+ "region_map_section": "MAPSEC_MT_PYRE",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MANIAC",
+ "x": 6,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN_AND_LEFT",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "2",
+ "script": "MtPyre_2F_EventScript_15D39B",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ITEM_BALL",
+ "x": 0,
+ "y": 10,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "MtPyre_2F_EventScript_1B1933",
+ "flag": "FLAG_ITEM_MT_PYRE_2F_1"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_1",
+ "x": 5,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "MtPyre_2F_EventScript_15D389",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_3",
+ "x": 7,
+ "y": 11,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "MtPyre_2F_EventScript_15D392",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_5",
+ "x": 2,
+ "y": 8,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "MtPyre_2F_EventScript_15D3CD",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_5",
+ "x": 3,
+ "y": 8,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "MtPyre_2F_EventScript_15D3B2",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 2,
+ "y": 1,
+ "elevation": 3,
+ "dest_map": "MAP_MT_PYRE_1F",
+ "dest_warp_id": 4
+ },
+ {
+ "x": 10,
+ "y": 1,
+ "elevation": 3,
+ "dest_map": "MAP_MT_PYRE_3F",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 10,
+ "y": 12,
+ "elevation": 3,
+ "dest_map": "MAP_MT_PYRE_3F",
+ "dest_warp_id": 4
+ },
+ {
+ "x": 6,
+ "y": 12,
+ "elevation": 3,
+ "dest_map": "MAP_MT_PYRE_3F",
+ "dest_warp_id": 5
+ },
+ {
+ "x": 11,
+ "y": 9,
+ "elevation": 3,
+ "dest_map": "MAP_MT_PYRE_1F",
+ "dest_warp_id": 5
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/MtPyre_3F/events.inc b/data/maps/MtPyre_3F/events.inc
deleted file mode 100644
index 4a5263be5..000000000
--- a/data/maps/MtPyre_3F/events.inc
+++ /dev/null
@@ -1,15 +0,0 @@
-MtPyre_3F_EventObjects:: @ 838C954
- object_event 1, EVENT_OBJ_GFX_PSYCHIC_M, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN_AND_RIGHT, 1, 1, 1, 3, MtPyre_3F_EventScript_15D3E9, 0
- object_event 2, EVENT_OBJ_GFX_LASS, 0, 12, 7, 3, MOVEMENT_TYPE_FACE_DOWN_AND_LEFT, 1, 1, 1, 3, MtPyre_3F_EventScript_15D400, 0
- object_event 3, EVENT_OBJ_GFX_ITEM_BALL, 0, 0, 7, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, MtPyre_3F_EventScript_1B1940, FLAG_ITEM_MT_PYRE_3F_1
-
-MtPyre_3F_MapWarps:: @ 838C99C
- warp_def 10, 1, 3, 1, MAP_MT_PYRE_2F
- warp_def 2, 1, 3, 1, MAP_MT_PYRE_4F
- warp_def 9, 10, 3, 4, MAP_MT_PYRE_4F
- warp_def 1, 12, 3, 5, MAP_MT_PYRE_4F
- warp_def 10, 12, 3, 2, MAP_MT_PYRE_2F
- warp_def 6, 12, 3, 3, MAP_MT_PYRE_2F
-
-MtPyre_3F_MapEvents:: @ 838C9CC
- map_events MtPyre_3F_EventObjects, MtPyre_3F_MapWarps, 0x0, 0x0
diff --git a/data/maps/MtPyre_3F/header.inc b/data/maps/MtPyre_3F/header.inc
deleted file mode 100644
index c201e9377..000000000
--- a/data/maps/MtPyre_3F/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-MtPyre_3F:: @ 8306F4C
- .4byte MtPyre_3F_Layout
- .4byte MtPyre_3F_MapEvents
- .4byte MtPyre_3F_MapScripts
- .4byte 0x0
- .2byte MUS_M_DUNGON
- .2byte 140
- .byte MAPSEC_MT_PYRE
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/MtPyre_3F/map.json b/data/maps/MtPyre_3F/map.json
new file mode 100644
index 000000000..aa22262f3
--- /dev/null
+++ b/data/maps/MtPyre_3F/map.json
@@ -0,0 +1,100 @@
+{
+ "id": "MAP_MT_PYRE_3F",
+ "name": "MtPyre_3F",
+ "layout": "LAYOUT_MT_PYRE_3F",
+ "music": "MUS_M_DUNGON",
+ "region_map_section": "MAPSEC_MT_PYRE",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_PSYCHIC_M",
+ "x": 1,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN_AND_RIGHT",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "3",
+ "script": "MtPyre_3F_EventScript_15D3E9",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_LASS",
+ "x": 12,
+ "y": 7,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN_AND_LEFT",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "3",
+ "script": "MtPyre_3F_EventScript_15D400",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ITEM_BALL",
+ "x": 0,
+ "y": 7,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "MtPyre_3F_EventScript_1B1940",
+ "flag": "FLAG_ITEM_MT_PYRE_3F_1"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 10,
+ "y": 1,
+ "elevation": 3,
+ "dest_map": "MAP_MT_PYRE_2F",
+ "dest_warp_id": 1
+ },
+ {
+ "x": 2,
+ "y": 1,
+ "elevation": 3,
+ "dest_map": "MAP_MT_PYRE_4F",
+ "dest_warp_id": 1
+ },
+ {
+ "x": 9,
+ "y": 10,
+ "elevation": 3,
+ "dest_map": "MAP_MT_PYRE_4F",
+ "dest_warp_id": 4
+ },
+ {
+ "x": 1,
+ "y": 12,
+ "elevation": 3,
+ "dest_map": "MAP_MT_PYRE_4F",
+ "dest_warp_id": 5
+ },
+ {
+ "x": 10,
+ "y": 12,
+ "elevation": 3,
+ "dest_map": "MAP_MT_PYRE_2F",
+ "dest_warp_id": 2
+ },
+ {
+ "x": 6,
+ "y": 12,
+ "elevation": 3,
+ "dest_map": "MAP_MT_PYRE_2F",
+ "dest_warp_id": 3
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/MtPyre_4F/events.inc b/data/maps/MtPyre_4F/events.inc
deleted file mode 100644
index 633f5a45b..000000000
--- a/data/maps/MtPyre_4F/events.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-MtPyre_4F_EventObjects:: @ 838C9E0
- object_event 1, EVENT_OBJ_GFX_BLACK_BELT, 0, 11, 7, 3, MOVEMENT_TYPE_ROTATE_CLOCKWISE, 1, 1, 1, 2, MtPyre_4F_EventScript_15D418, 0
- object_event 2, EVENT_OBJ_GFX_ITEM_BALL, 0, 3, 11, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, MtPyre_4F_EventScript_1B194D, FLAG_ITEM_MT_PYRE_4F_1
-
-MtPyre_4F_MapWarps:: @ 838CA10
- warp_def 10, 1, 3, 1, MAP_MT_PYRE_5F
- warp_def 2, 5, 3, 1, MAP_MT_PYRE_3F
- warp_def 12, 10, 3, 3, MAP_MT_PYRE_5F
- warp_def 12, 12, 3, 4, MAP_MT_PYRE_5F
- warp_def 9, 10, 3, 2, MAP_MT_PYRE_3F
- warp_def 2, 12, 3, 3, MAP_MT_PYRE_3F
-
-MtPyre_4F_MapEvents:: @ 838CA40
- map_events MtPyre_4F_EventObjects, MtPyre_4F_MapWarps, 0x0, 0x0
diff --git a/data/maps/MtPyre_4F/header.inc b/data/maps/MtPyre_4F/header.inc
deleted file mode 100644
index 24f3f7d9f..000000000
--- a/data/maps/MtPyre_4F/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-MtPyre_4F:: @ 8306F68
- .4byte MtPyre_4F_Layout
- .4byte MtPyre_4F_MapEvents
- .4byte MtPyre_4F_MapScripts
- .4byte 0x0
- .2byte MUS_M_DUNGON
- .2byte 141
- .byte MAPSEC_MT_PYRE
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/MtPyre_4F/map.json b/data/maps/MtPyre_4F/map.json
new file mode 100644
index 000000000..ce16ca88d
--- /dev/null
+++ b/data/maps/MtPyre_4F/map.json
@@ -0,0 +1,87 @@
+{
+ "id": "MAP_MT_PYRE_4F",
+ "name": "MtPyre_4F",
+ "layout": "LAYOUT_MT_PYRE_4F",
+ "music": "MUS_M_DUNGON",
+ "region_map_section": "MAPSEC_MT_PYRE",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BLACK_BELT",
+ "x": 11,
+ "y": 7,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_ROTATE_CLOCKWISE",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "2",
+ "script": "MtPyre_4F_EventScript_15D418",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ITEM_BALL",
+ "x": 3,
+ "y": 11,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "MtPyre_4F_EventScript_1B194D",
+ "flag": "FLAG_ITEM_MT_PYRE_4F_1"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 10,
+ "y": 1,
+ "elevation": 3,
+ "dest_map": "MAP_MT_PYRE_5F",
+ "dest_warp_id": 1
+ },
+ {
+ "x": 2,
+ "y": 5,
+ "elevation": 3,
+ "dest_map": "MAP_MT_PYRE_3F",
+ "dest_warp_id": 1
+ },
+ {
+ "x": 12,
+ "y": 10,
+ "elevation": 3,
+ "dest_map": "MAP_MT_PYRE_5F",
+ "dest_warp_id": 3
+ },
+ {
+ "x": 12,
+ "y": 12,
+ "elevation": 3,
+ "dest_map": "MAP_MT_PYRE_5F",
+ "dest_warp_id": 4
+ },
+ {
+ "x": 9,
+ "y": 10,
+ "elevation": 3,
+ "dest_map": "MAP_MT_PYRE_3F",
+ "dest_warp_id": 2
+ },
+ {
+ "x": 2,
+ "y": 12,
+ "elevation": 3,
+ "dest_map": "MAP_MT_PYRE_3F",
+ "dest_warp_id": 3
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/MtPyre_5F/events.inc b/data/maps/MtPyre_5F/events.inc
deleted file mode 100644
index 21ffd9e1a..000000000
--- a/data/maps/MtPyre_5F/events.inc
+++ /dev/null
@@ -1,13 +0,0 @@
-MtPyre_5F_EventObjects:: @ 838CA54
- object_event 1, EVENT_OBJ_GFX_HEX_MANIAC, 0, 3, 7, 3, MOVEMENT_TYPE_FACE_DOWN_AND_LEFT, 1, 1, 1, 2, MtPyre_5F_EventScript_15D430, 0
- object_event 2, EVENT_OBJ_GFX_ITEM_BALL, 0, 6, 11, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, MtPyre_5F_EventScript_1B195A, FLAG_ITEM_MT_PYRE_5F_1
-
-MtPyre_5F_MapWarps:: @ 838CA84
- warp_def 2, 1, 3, 0, MAP_MT_PYRE_6F
- warp_def 10, 5, 3, 0, MAP_MT_PYRE_4F
- warp_def 1, 10, 3, 1, MAP_MT_PYRE_6F
- warp_def 12, 10, 3, 2, MAP_MT_PYRE_4F
- warp_def 12, 12, 3, 3, MAP_MT_PYRE_4F
-
-MtPyre_5F_MapEvents:: @ 838CAAC
- map_events MtPyre_5F_EventObjects, MtPyre_5F_MapWarps, 0x0, 0x0
diff --git a/data/maps/MtPyre_5F/header.inc b/data/maps/MtPyre_5F/header.inc
deleted file mode 100644
index 75fae8c1a..000000000
--- a/data/maps/MtPyre_5F/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-MtPyre_5F:: @ 8306F84
- .4byte MtPyre_5F_Layout
- .4byte MtPyre_5F_MapEvents
- .4byte MtPyre_5F_MapScripts
- .4byte 0x0
- .2byte MUS_M_DUNGON
- .2byte 142
- .byte MAPSEC_MT_PYRE
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/MtPyre_5F/map.json b/data/maps/MtPyre_5F/map.json
new file mode 100644
index 000000000..98ac6cfc2
--- /dev/null
+++ b/data/maps/MtPyre_5F/map.json
@@ -0,0 +1,80 @@
+{
+ "id": "MAP_MT_PYRE_5F",
+ "name": "MtPyre_5F",
+ "layout": "LAYOUT_MT_PYRE_5F",
+ "music": "MUS_M_DUNGON",
+ "region_map_section": "MAPSEC_MT_PYRE",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_HEX_MANIAC",
+ "x": 3,
+ "y": 7,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN_AND_LEFT",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "2",
+ "script": "MtPyre_5F_EventScript_15D430",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ITEM_BALL",
+ "x": 6,
+ "y": 11,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "MtPyre_5F_EventScript_1B195A",
+ "flag": "FLAG_ITEM_MT_PYRE_5F_1"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 2,
+ "y": 1,
+ "elevation": 3,
+ "dest_map": "MAP_MT_PYRE_6F",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 10,
+ "y": 5,
+ "elevation": 3,
+ "dest_map": "MAP_MT_PYRE_4F",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 1,
+ "y": 10,
+ "elevation": 3,
+ "dest_map": "MAP_MT_PYRE_6F",
+ "dest_warp_id": 1
+ },
+ {
+ "x": 12,
+ "y": 10,
+ "elevation": 3,
+ "dest_map": "MAP_MT_PYRE_4F",
+ "dest_warp_id": 2
+ },
+ {
+ "x": 12,
+ "y": 12,
+ "elevation": 3,
+ "dest_map": "MAP_MT_PYRE_4F",
+ "dest_warp_id": 3
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/MtPyre_6F/events.inc b/data/maps/MtPyre_6F/events.inc
deleted file mode 100644
index 804b6be27..000000000
--- a/data/maps/MtPyre_6F/events.inc
+++ /dev/null
@@ -1,10 +0,0 @@
-MtPyre_6F_EventObjects:: @ 838CAC0
- object_event 1, EVENT_OBJ_GFX_HEX_MANIAC, 0, 6, 3, 3, MOVEMENT_TYPE_ROTATE_COUNTERCLOCKWISE, 1, 1, 1, 2, MtPyre_6F_EventScript_15D448, 0
- object_event 2, EVENT_OBJ_GFX_ITEM_BALL, 0, 6, 9, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, MtPyre_6F_EventScript_1B1967, FLAG_ITEM_MT_PYRE_6F_1
-
-MtPyre_6F_MapWarps:: @ 838CAF0
- warp_def 2, 1, 3, 0, MAP_MT_PYRE_5F
- warp_def 1, 10, 3, 2, MAP_MT_PYRE_5F
-
-MtPyre_6F_MapEvents:: @ 838CB00
- map_events MtPyre_6F_EventObjects, MtPyre_6F_MapWarps, 0x0, 0x0
diff --git a/data/maps/MtPyre_6F/header.inc b/data/maps/MtPyre_6F/header.inc
deleted file mode 100644
index 7156e17a2..000000000
--- a/data/maps/MtPyre_6F/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-MtPyre_6F:: @ 8306FA0
- .4byte MtPyre_6F_Layout
- .4byte MtPyre_6F_MapEvents
- .4byte MtPyre_6F_MapScripts
- .4byte 0x0
- .2byte MUS_M_DUNGON
- .2byte 143
- .byte MAPSEC_MT_PYRE
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/MtPyre_6F/map.json b/data/maps/MtPyre_6F/map.json
new file mode 100644
index 000000000..aa7dcbb8b
--- /dev/null
+++ b/data/maps/MtPyre_6F/map.json
@@ -0,0 +1,59 @@
+{
+ "id": "MAP_MT_PYRE_6F",
+ "name": "MtPyre_6F",
+ "layout": "LAYOUT_MT_PYRE_6F",
+ "music": "MUS_M_DUNGON",
+ "region_map_section": "MAPSEC_MT_PYRE",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_HEX_MANIAC",
+ "x": 6,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_ROTATE_COUNTERCLOCKWISE",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "2",
+ "script": "MtPyre_6F_EventScript_15D448",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ITEM_BALL",
+ "x": 6,
+ "y": 9,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "MtPyre_6F_EventScript_1B1967",
+ "flag": "FLAG_ITEM_MT_PYRE_6F_1"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 2,
+ "y": 1,
+ "elevation": 3,
+ "dest_map": "MAP_MT_PYRE_5F",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 1,
+ "y": 10,
+ "elevation": 3,
+ "dest_map": "MAP_MT_PYRE_5F",
+ "dest_warp_id": 2
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/MtPyre_Exterior/events.inc b/data/maps/MtPyre_Exterior/events.inc
deleted file mode 100644
index 9eb337714..000000000
--- a/data/maps/MtPyre_Exterior/events.inc
+++ /dev/null
@@ -1,22 +0,0 @@
-MtPyre_Exterior_EventObjects:: @ 838CB14
- object_event 1, EVENT_OBJ_GFX_ITEM_BALL, 0, 27, 15, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, MtPyre_Exterior_EventScript_1B1974, FLAG_ITEM_MT_PYRE_EXTERIOR_1
- object_event 2, EVENT_OBJ_GFX_ITEM_BALL, 0, 19, 40, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, MtPyre_Exterior_EventScript_1B1981, FLAG_ITEM_MT_PYRE_EXTERIOR_2
-
-MtPyre_Exterior_MapWarps:: @ 838CB44
- warp_def 10, 42, 3, 1, MAP_MT_PYRE_1F
- warp_def 19, 10, 3, 1, MAP_MT_PYRE_SUMMIT
- warp_def 20, 10, 3, 1, MAP_MT_PYRE_SUMMIT
-
-MtPyre_Exterior_MapCoordEvents:: @ 838CB5C
- coord_event 24, 21, 3, 0, 0, MtPyre_Exterior_EventScript_15D4A7
- coord_event 25, 21, 3, 0, 0, MtPyre_Exterior_EventScript_15D4A7
- coord_event 22, 27, 3, 0, 0, MtPyre_Exterior_EventScript_15D4AC
- coord_event 23, 28, 3, 0, 0, MtPyre_Exterior_EventScript_15D4AC
- coord_event 26, 21, 3, 0, 0, MtPyre_Exterior_EventScript_15D4A7
-
-MtPyre_Exterior_MapBGEvents:: @ 838CBAC
- bg_hidden_item_event 9, 8, 0, ITEM_ULTRA_BALL, FLAG_HIDDEN_ITEM_1D
- bg_hidden_item_event 16, 22, 0, ITEM_MAX_ETHER, FLAG_HIDDEN_ITEM_4E
-
-MtPyre_Exterior_MapEvents:: @ 838CBC4
- map_events MtPyre_Exterior_EventObjects, MtPyre_Exterior_MapWarps, MtPyre_Exterior_MapCoordEvents, MtPyre_Exterior_MapBGEvents
diff --git a/data/maps/MtPyre_Exterior/header.inc b/data/maps/MtPyre_Exterior/header.inc
deleted file mode 100644
index 5aacc218a..000000000
--- a/data/maps/MtPyre_Exterior/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-MtPyre_Exterior:: @ 8306FBC
- .4byte MtPyre_Exterior_Layout
- .4byte MtPyre_Exterior_MapEvents
- .4byte MtPyre_Exterior_MapScripts
- .4byte 0x0
- .2byte MUS_MACHUPI
- .2byte 303
- .byte MAPSEC_MT_PYRE
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_ROUTE
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/MtPyre_Exterior/map.json b/data/maps/MtPyre_Exterior/map.json
new file mode 100644
index 000000000..a7bebab0b
--- /dev/null
+++ b/data/maps/MtPyre_Exterior/map.json
@@ -0,0 +1,129 @@
+{
+ "id": "MAP_MT_PYRE_EXTERIOR",
+ "name": "MtPyre_Exterior",
+ "layout": "LAYOUT_MT_PYRE_EXTERIOR",
+ "music": "MUS_MACHUPI",
+ "region_map_section": "MAPSEC_MT_PYRE",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_ROUTE",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ITEM_BALL",
+ "x": 27,
+ "y": 15,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "MtPyre_Exterior_EventScript_1B1974",
+ "flag": "FLAG_ITEM_MT_PYRE_EXTERIOR_1"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ITEM_BALL",
+ "x": 19,
+ "y": 40,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "MtPyre_Exterior_EventScript_1B1981",
+ "flag": "FLAG_ITEM_MT_PYRE_EXTERIOR_2"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 10,
+ "y": 42,
+ "elevation": 3,
+ "dest_map": "MAP_MT_PYRE_1F",
+ "dest_warp_id": 1
+ },
+ {
+ "x": 19,
+ "y": 10,
+ "elevation": 3,
+ "dest_map": "MAP_MT_PYRE_SUMMIT",
+ "dest_warp_id": 1
+ },
+ {
+ "x": 20,
+ "y": 10,
+ "elevation": 3,
+ "dest_map": "MAP_MT_PYRE_SUMMIT",
+ "dest_warp_id": 1
+ }
+ ],
+ "coord_events": [
+ {
+ "type": "trigger",
+ "x": 24,
+ "y": 21,
+ "elevation": 3,
+ "var": "0",
+ "var_value": "0",
+ "script": "MtPyre_Exterior_EventScript_15D4A7"
+ },
+ {
+ "type": "trigger",
+ "x": 25,
+ "y": 21,
+ "elevation": 3,
+ "var": "0",
+ "var_value": "0",
+ "script": "MtPyre_Exterior_EventScript_15D4A7"
+ },
+ {
+ "type": "trigger",
+ "x": 22,
+ "y": 27,
+ "elevation": 3,
+ "var": "0",
+ "var_value": "0",
+ "script": "MtPyre_Exterior_EventScript_15D4AC"
+ },
+ {
+ "type": "trigger",
+ "x": 23,
+ "y": 28,
+ "elevation": 3,
+ "var": "0",
+ "var_value": "0",
+ "script": "MtPyre_Exterior_EventScript_15D4AC"
+ },
+ {
+ "type": "trigger",
+ "x": 26,
+ "y": 21,
+ "elevation": 3,
+ "var": "0",
+ "var_value": "0",
+ "script": "MtPyre_Exterior_EventScript_15D4A7"
+ }
+ ],
+ "bg_events": [
+ {
+ "type": "hidden_item",
+ "x": 9,
+ "y": 8,
+ "elevation": 0,
+ "item": "ITEM_ULTRA_BALL",
+ "flag": "FLAG_HIDDEN_ITEM_1D"
+ },
+ {
+ "type": "hidden_item",
+ "x": 16,
+ "y": 22,
+ "elevation": 0,
+ "item": "ITEM_MAX_ETHER",
+ "flag": "FLAG_HIDDEN_ITEM_4E"
+ }
+ ]
+} \ No newline at end of file
diff --git a/data/maps/MtPyre_Summit/events.inc b/data/maps/MtPyre_Summit/events.inc
deleted file mode 100644
index 9b7a08e62..000000000
--- a/data/maps/MtPyre_Summit/events.inc
+++ /dev/null
@@ -1,27 +0,0 @@
-MtPyre_Summit_EventObjects:: @ 838CBD8
- object_event 1, EVENT_OBJ_GFX_OLD_MAN_2, 0, 22, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, MtPyre_Summit_EventScript_15D5EF, 0
- object_event 2, EVENT_OBJ_GFX_VAR_6, 0, 23, 6, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, 0x0, FLAG_HIDE_LEADER_MT_PYRE_SUMMIT
- object_event 3, EVENT_OBJ_GFX_OLD_WOMAN_1, 0, 23, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, MtPyre_Summit_EventScript_15D623, 0
- object_event 4, EVENT_OBJ_GFX_VAR_1, 0, 21, 18, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 1, 3, MtPyre_Summit_EventScript_1B2DA9, FLAG_HIDE_GRUNTS_MT_PYRE_SUMMIT
- object_event 5, EVENT_OBJ_GFX_VAR_1, 0, 25, 15, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 1, 3, MtPyre_Summit_EventScript_1B2DC0, FLAG_HIDE_GRUNTS_MT_PYRE_SUMMIT
- object_event 6, EVENT_OBJ_GFX_VAR_1, 0, 21, 11, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 1, 3, MtPyre_Summit_EventScript_1B2DD7, FLAG_HIDE_GRUNTS_MT_PYRE_SUMMIT
-
-MtPyre_Summit_MapWarps:: @ 838CC68
- warp_def 22, 31, 3, 1, MAP_MT_PYRE_EXTERIOR
- warp_def 23, 31, 3, 1, MAP_MT_PYRE_EXTERIOR
- warp_def 24, 31, 3, 1, MAP_MT_PYRE_EXTERIOR
-
-MtPyre_Summit_MapCoordEvents:: @ 838CC80
- coord_event 22, 7, 3, VAR_MT_PYRE_STATE, 0, MtPyre_Summit_EventScript_15D4BD
- coord_event 23, 7, 3, VAR_MT_PYRE_STATE, 0, MtPyre_Summit_EventScript_15D4C9
- coord_event 24, 7, 3, VAR_MT_PYRE_STATE, 0, MtPyre_Summit_EventScript_15D4D5
- coord_event 22, 7, 3, VAR_MT_PYRE_STATE, 2, MtPyre_Summit_EventScript_15D6CE
- coord_event 23, 7, 3, VAR_MT_PYRE_STATE, 2, MtPyre_Summit_EventScript_15D6DA
- coord_event 24, 7, 3, VAR_MT_PYRE_STATE, 2, MtPyre_Summit_EventScript_15D6E6
-
-MtPyre_Summit_MapBGEvents:: @ 838CCE0
- bg_hidden_item_event 9, 25, 0, ITEM_ZINC, FLAG_HIDDEN_ITEM_4F
- bg_hidden_item_event 37, 7, 3, ITEM_RARE_CANDY, FLAG_HIDDEN_ITEM_50
-
-MtPyre_Summit_MapEvents:: @ 838CCF8
- map_events MtPyre_Summit_EventObjects, MtPyre_Summit_MapWarps, MtPyre_Summit_MapCoordEvents, MtPyre_Summit_MapBGEvents
diff --git a/data/maps/MtPyre_Summit/header.inc b/data/maps/MtPyre_Summit/header.inc
deleted file mode 100644
index fbefd9aff..000000000
--- a/data/maps/MtPyre_Summit/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-MtPyre_Summit:: @ 8306FD8
- .4byte MtPyre_Summit_Layout
- .4byte MtPyre_Summit_MapEvents
- .4byte MtPyre_Summit_MapScripts
- .4byte 0x0
- .2byte MUS_MACHUPI
- .2byte 304
- .byte MAPSEC_MT_PYRE
- .byte 0
- .byte WEATHER_FOG_1
- .byte MAP_TYPE_ROUTE
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/MtPyre_Summit/map.json b/data/maps/MtPyre_Summit/map.json
new file mode 100644
index 000000000..1b6007fc3
--- /dev/null
+++ b/data/maps/MtPyre_Summit/map.json
@@ -0,0 +1,190 @@
+{
+ "id": "MAP_MT_PYRE_SUMMIT",
+ "name": "MtPyre_Summit",
+ "layout": "LAYOUT_MT_PYRE_SUMMIT",
+ "music": "MUS_MACHUPI",
+ "region_map_section": "MAPSEC_MT_PYRE",
+ "requires_flash": false,
+ "weather": "WEATHER_FOG_1",
+ "map_type": "MAP_TYPE_ROUTE",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_OLD_MAN_2",
+ "x": 22,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "MtPyre_Summit_EventScript_15D5EF",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_6",
+ "x": 23,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_HIDE_LEADER_MT_PYRE_SUMMIT"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_OLD_WOMAN_1",
+ "x": 23,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "MtPyre_Summit_EventScript_15D623",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_1",
+ "x": 21,
+ "y": 18,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "3",
+ "script": "MtPyre_Summit_EventScript_1B2DA9",
+ "flag": "FLAG_HIDE_GRUNTS_MT_PYRE_SUMMIT"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_1",
+ "x": 25,
+ "y": 15,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "3",
+ "script": "MtPyre_Summit_EventScript_1B2DC0",
+ "flag": "FLAG_HIDE_GRUNTS_MT_PYRE_SUMMIT"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_1",
+ "x": 21,
+ "y": 11,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "3",
+ "script": "MtPyre_Summit_EventScript_1B2DD7",
+ "flag": "FLAG_HIDE_GRUNTS_MT_PYRE_SUMMIT"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 22,
+ "y": 31,
+ "elevation": 3,
+ "dest_map": "MAP_MT_PYRE_EXTERIOR",
+ "dest_warp_id": 1
+ },
+ {
+ "x": 23,
+ "y": 31,
+ "elevation": 3,
+ "dest_map": "MAP_MT_PYRE_EXTERIOR",
+ "dest_warp_id": 1
+ },
+ {
+ "x": 24,
+ "y": 31,
+ "elevation": 3,
+ "dest_map": "MAP_MT_PYRE_EXTERIOR",
+ "dest_warp_id": 1
+ }
+ ],
+ "coord_events": [
+ {
+ "type": "trigger",
+ "x": 22,
+ "y": 7,
+ "elevation": 3,
+ "var": "VAR_MT_PYRE_STATE",
+ "var_value": "0",
+ "script": "MtPyre_Summit_EventScript_15D4BD"
+ },
+ {
+ "type": "trigger",
+ "x": 23,
+ "y": 7,
+ "elevation": 3,
+ "var": "VAR_MT_PYRE_STATE",
+ "var_value": "0",
+ "script": "MtPyre_Summit_EventScript_15D4C9"
+ },
+ {
+ "type": "trigger",
+ "x": 24,
+ "y": 7,
+ "elevation": 3,
+ "var": "VAR_MT_PYRE_STATE",
+ "var_value": "0",
+ "script": "MtPyre_Summit_EventScript_15D4D5"
+ },
+ {
+ "type": "trigger",
+ "x": 22,
+ "y": 7,
+ "elevation": 3,
+ "var": "VAR_MT_PYRE_STATE",
+ "var_value": "2",
+ "script": "MtPyre_Summit_EventScript_15D6CE"
+ },
+ {
+ "type": "trigger",
+ "x": 23,
+ "y": 7,
+ "elevation": 3,
+ "var": "VAR_MT_PYRE_STATE",
+ "var_value": "2",
+ "script": "MtPyre_Summit_EventScript_15D6DA"
+ },
+ {
+ "type": "trigger",
+ "x": 24,
+ "y": 7,
+ "elevation": 3,
+ "var": "VAR_MT_PYRE_STATE",
+ "var_value": "2",
+ "script": "MtPyre_Summit_EventScript_15D6E6"
+ }
+ ],
+ "bg_events": [
+ {
+ "type": "hidden_item",
+ "x": 9,
+ "y": 25,
+ "elevation": 0,
+ "item": "ITEM_ZINC",
+ "flag": "FLAG_HIDDEN_ITEM_4F"
+ },
+ {
+ "type": "hidden_item",
+ "x": 37,
+ "y": 7,
+ "elevation": 3,
+ "item": "ITEM_RARE_CANDY",
+ "flag": "FLAG_HIDDEN_ITEM_50"
+ }
+ ]
+} \ No newline at end of file
diff --git a/data/maps/NewMauville_Entrance/events.inc b/data/maps/NewMauville_Entrance/events.inc
deleted file mode 100644
index 71628459c..000000000
--- a/data/maps/NewMauville_Entrance/events.inc
+++ /dev/null
@@ -1,9 +0,0 @@
-NewMauville_Entrance_MapWarps:: @ 838DED4
- warp_def 4, 6, 3, 0, MAP_ROUTE110
- warp_def 4, 1, 3, 0, MAP_NEW_MAUVILLE_INSIDE
-
-NewMauville_Entrance_MapCoordEvents:: @ 838DEE4
- coord_event 4, 2, 3, VAR_NEW_MAUVILLE_STATE, 0, NewMauville_Entrance_EventScript_15E4DC
-
-NewMauville_Entrance_MapEvents:: @ 838DEF4
- map_events 0x0, NewMauville_Entrance_MapWarps, NewMauville_Entrance_MapCoordEvents, 0x0
diff --git a/data/maps/NewMauville_Entrance/header.inc b/data/maps/NewMauville_Entrance/header.inc
deleted file mode 100644
index 26c9096ee..000000000
--- a/data/maps/NewMauville_Entrance/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-NewMauville_Entrance:: @ 8307320
- .4byte NewMauville_Entrance_Layout
- .4byte NewMauville_Entrance_MapEvents
- .4byte NewMauville_Entrance_MapScripts
- .4byte 0x0
- .2byte MUS_M_DUNGON
- .2byte 185
- .byte MAPSEC_NEW_MAUVILLE
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_UNDERGROUND
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/NewMauville_Entrance/map.json b/data/maps/NewMauville_Entrance/map.json
new file mode 100644
index 000000000..0d519bcd0
--- /dev/null
+++ b/data/maps/NewMauville_Entrance/map.json
@@ -0,0 +1,42 @@
+{
+ "id": "MAP_NEW_MAUVILLE_ENTRANCE",
+ "name": "NewMauville_Entrance",
+ "layout": "LAYOUT_NEW_MAUVILLE_ENTRANCE",
+ "music": "MUS_M_DUNGON",
+ "region_map_section": "MAPSEC_NEW_MAUVILLE",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_UNDERGROUND",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [],
+ "warp_events": [
+ {
+ "x": 4,
+ "y": 6,
+ "elevation": 3,
+ "dest_map": "MAP_ROUTE110",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 4,
+ "y": 1,
+ "elevation": 3,
+ "dest_map": "MAP_NEW_MAUVILLE_INSIDE",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [
+ {
+ "type": "trigger",
+ "x": 4,
+ "y": 2,
+ "elevation": 3,
+ "var": "VAR_NEW_MAUVILLE_STATE",
+ "var_value": "0",
+ "script": "NewMauville_Entrance_EventScript_15E4DC"
+ }
+ ],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/NewMauville_Inside/events.inc b/data/maps/NewMauville_Inside/events.inc
deleted file mode 100644
index bd1e79656..000000000
--- a/data/maps/NewMauville_Inside/events.inc
+++ /dev/null
@@ -1,37 +0,0 @@
-NewMauville_Inside_EventObjects:: @ 838DF08
- object_event 1, EVENT_OBJ_GFX_ITEM_BALL, 0, 32, 25, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, NewMauville_Inside_EventScript_1B183C, FLAG_ITEM_NEW_MAUVILLE_INSIDE_1
- object_event 2, EVENT_OBJ_GFX_ITEM_BALL, 0, 16, 22, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, NewMauville_Inside_EventScript_1B1849, FLAG_ITEM_NEW_MAUVILLE_INSIDE_2
- object_event 3, EVENT_OBJ_GFX_ITEM_BALL, 0, 39, 4, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, NewMauville_Inside_EventScript_1B1856, FLAG_ITEM_NEW_MAUVILLE_INSIDE_3
- object_event 4, EVENT_OBJ_GFX_ITEM_BALL, 0, 17, 10, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, NewMauville_Inside_EventScript_1B1863, FLAG_ITEM_NEW_MAUVILLE_INSIDE_4
- object_event 5, EVENT_OBJ_GFX_ITEM_BALL, 0, 2, 11, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, NewMauville_Inside_EventScript_1B1870, FLAG_ITEM_NEW_MAUVILLE_INSIDE_5
- object_event 6, EVENT_OBJ_GFX_ITEM_BALL, 0, 25, 18, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, NewMauville_Inside_EventScript_15E900, FLAG_HIDE_VOLTORB_1_NEW_MAUVILLE
- object_event 7, EVENT_OBJ_GFX_ITEM_BALL, 0, 6, 11, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, NewMauville_Inside_EventScript_15E91E, FLAG_HIDE_VOLTORB_2_NEW_MAUVILLE
- object_event 8, EVENT_OBJ_GFX_ITEM_BALL, 0, 13, 10, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, NewMauville_Inside_EventScript_15E93C, FLAG_HIDE_VOLTORB_3_NEW_MAUVILLE
-
-NewMauville_Inside_MapWarps:: @ 838DFC8
- warp_def 32, 33, 3, 1, MAP_NEW_MAUVILLE_ENTRANCE
-
-NewMauville_Inside_MapCoordEvents:: @ 838DFD0
- coord_event 30, 38, 3, VAR_TEMP_1, 0, NewMauville_Inside_EventScript_15E5AA
- coord_event 18, 36, 3, VAR_TEMP_2, 0, NewMauville_Inside_EventScript_15E5C2
- coord_event 4, 26, 3, VAR_TEMP_1, 0, NewMauville_Inside_EventScript_15E5AA
- coord_event 16, 22, 3, VAR_TEMP_1, 0, NewMauville_Inside_EventScript_15E5AA
- coord_event 25, 18, 3, VAR_TEMP_2, 0, NewMauville_Inside_EventScript_15E5C2
- coord_event 2, 11, 3, VAR_TEMP_2, 0, NewMauville_Inside_EventScript_15E5C2
- coord_event 6, 11, 3, VAR_TEMP_1, 0, NewMauville_Inside_EventScript_15E5AA
- coord_event 13, 10, 3, VAR_TEMP_1, 0, NewMauville_Inside_EventScript_15E5AA
- coord_event 17, 10, 3, VAR_TEMP_2, 0, NewMauville_Inside_EventScript_15E5C2
- coord_event 33, 6, 3, VAR_NEW_MAUVILLE_STATE, 1, NewMauville_Inside_EventScript_15E876
-
-NewMauville_Inside_MapBGEvents:: @ 838E070
- bg_event 32, 4, 3, BG_EVENT_PLAYER_FACING_ANY, NewMauville_Inside_EventScript_15E8E0
- bg_event 32, 3, 3, BG_EVENT_PLAYER_FACING_ANY, NewMauville_Inside_EventScript_15E8E0
- bg_event 32, 2, 0, BG_EVENT_PLAYER_FACING_ANY, NewMauville_Inside_EventScript_15E8E0
- bg_event 33, 4, 3, BG_EVENT_PLAYER_FACING_ANY, NewMauville_Inside_EventScript_15E8E0
- bg_event 34, 4, 3, BG_EVENT_PLAYER_FACING_ANY, NewMauville_Inside_EventScript_15E8E0
- bg_event 35, 4, 3, BG_EVENT_PLAYER_FACING_ANY, NewMauville_Inside_EventScript_15E8E0
- bg_event 35, 3, 3, BG_EVENT_PLAYER_FACING_ANY, NewMauville_Inside_EventScript_15E8E0
- bg_event 35, 2, 0, BG_EVENT_PLAYER_FACING_ANY, NewMauville_Inside_EventScript_15E8E0
-
-NewMauville_Inside_MapEvents:: @ 838E0D0
- map_events NewMauville_Inside_EventObjects, NewMauville_Inside_MapWarps, NewMauville_Inside_MapCoordEvents, NewMauville_Inside_MapBGEvents
diff --git a/data/maps/NewMauville_Inside/header.inc b/data/maps/NewMauville_Inside/header.inc
deleted file mode 100644
index 4e9878630..000000000
--- a/data/maps/NewMauville_Inside/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-NewMauville_Inside:: @ 830733C
- .4byte NewMauville_Inside_Layout
- .4byte NewMauville_Inside_MapEvents
- .4byte NewMauville_Inside_MapScripts
- .4byte 0x0
- .2byte MUS_M_DUNGON
- .2byte 186
- .byte MAPSEC_NEW_MAUVILLE
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_UNDERGROUND
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/NewMauville_Inside/map.json b/data/maps/NewMauville_Inside/map.json
new file mode 100644
index 000000000..787a05e2d
--- /dev/null
+++ b/data/maps/NewMauville_Inside/map.json
@@ -0,0 +1,286 @@
+{
+ "id": "MAP_NEW_MAUVILLE_INSIDE",
+ "name": "NewMauville_Inside",
+ "layout": "LAYOUT_NEW_MAUVILLE_INSIDE",
+ "music": "MUS_M_DUNGON",
+ "region_map_section": "MAPSEC_NEW_MAUVILLE",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_UNDERGROUND",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ITEM_BALL",
+ "x": 32,
+ "y": 25,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "NewMauville_Inside_EventScript_1B183C",
+ "flag": "FLAG_ITEM_NEW_MAUVILLE_INSIDE_1"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ITEM_BALL",
+ "x": 16,
+ "y": 22,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "NewMauville_Inside_EventScript_1B1849",
+ "flag": "FLAG_ITEM_NEW_MAUVILLE_INSIDE_2"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ITEM_BALL",
+ "x": 39,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "NewMauville_Inside_EventScript_1B1856",
+ "flag": "FLAG_ITEM_NEW_MAUVILLE_INSIDE_3"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ITEM_BALL",
+ "x": 17,
+ "y": 10,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "NewMauville_Inside_EventScript_1B1863",
+ "flag": "FLAG_ITEM_NEW_MAUVILLE_INSIDE_4"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ITEM_BALL",
+ "x": 2,
+ "y": 11,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "NewMauville_Inside_EventScript_1B1870",
+ "flag": "FLAG_ITEM_NEW_MAUVILLE_INSIDE_5"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ITEM_BALL",
+ "x": 25,
+ "y": 18,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "NewMauville_Inside_EventScript_15E900",
+ "flag": "FLAG_HIDE_VOLTORB_1_NEW_MAUVILLE"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ITEM_BALL",
+ "x": 6,
+ "y": 11,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "NewMauville_Inside_EventScript_15E91E",
+ "flag": "FLAG_HIDE_VOLTORB_2_NEW_MAUVILLE"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ITEM_BALL",
+ "x": 13,
+ "y": 10,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "NewMauville_Inside_EventScript_15E93C",
+ "flag": "FLAG_HIDE_VOLTORB_3_NEW_MAUVILLE"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 32,
+ "y": 33,
+ "elevation": 3,
+ "dest_map": "MAP_NEW_MAUVILLE_ENTRANCE",
+ "dest_warp_id": 1
+ }
+ ],
+ "coord_events": [
+ {
+ "type": "trigger",
+ "x": 30,
+ "y": 38,
+ "elevation": 3,
+ "var": "VAR_TEMP_1",
+ "var_value": "0",
+ "script": "NewMauville_Inside_EventScript_15E5AA"
+ },
+ {
+ "type": "trigger",
+ "x": 18,
+ "y": 36,
+ "elevation": 3,
+ "var": "VAR_TEMP_2",
+ "var_value": "0",
+ "script": "NewMauville_Inside_EventScript_15E5C2"
+ },
+ {
+ "type": "trigger",
+ "x": 4,
+ "y": 26,
+ "elevation": 3,
+ "var": "VAR_TEMP_1",
+ "var_value": "0",
+ "script": "NewMauville_Inside_EventScript_15E5AA"
+ },
+ {
+ "type": "trigger",
+ "x": 16,
+ "y": 22,
+ "elevation": 3,
+ "var": "VAR_TEMP_1",
+ "var_value": "0",
+ "script": "NewMauville_Inside_EventScript_15E5AA"
+ },
+ {
+ "type": "trigger",
+ "x": 25,
+ "y": 18,
+ "elevation": 3,
+ "var": "VAR_TEMP_2",
+ "var_value": "0",
+ "script": "NewMauville_Inside_EventScript_15E5C2"
+ },
+ {
+ "type": "trigger",
+ "x": 2,
+ "y": 11,
+ "elevation": 3,
+ "var": "VAR_TEMP_2",
+ "var_value": "0",
+ "script": "NewMauville_Inside_EventScript_15E5C2"
+ },
+ {
+ "type": "trigger",
+ "x": 6,
+ "y": 11,
+ "elevation": 3,
+ "var": "VAR_TEMP_1",
+ "var_value": "0",
+ "script": "NewMauville_Inside_EventScript_15E5AA"
+ },
+ {
+ "type": "trigger",
+ "x": 13,
+ "y": 10,
+ "elevation": 3,
+ "var": "VAR_TEMP_1",
+ "var_value": "0",
+ "script": "NewMauville_Inside_EventScript_15E5AA"
+ },
+ {
+ "type": "trigger",
+ "x": 17,
+ "y": 10,
+ "elevation": 3,
+ "var": "VAR_TEMP_2",
+ "var_value": "0",
+ "script": "NewMauville_Inside_EventScript_15E5C2"
+ },
+ {
+ "type": "trigger",
+ "x": 33,
+ "y": 6,
+ "elevation": 3,
+ "var": "VAR_NEW_MAUVILLE_STATE",
+ "var_value": "1",
+ "script": "NewMauville_Inside_EventScript_15E876"
+ }
+ ],
+ "bg_events": [
+ {
+ "type": "sign",
+ "x": 32,
+ "y": 4,
+ "elevation": 3,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "NewMauville_Inside_EventScript_15E8E0"
+ },
+ {
+ "type": "sign",
+ "x": 32,
+ "y": 3,
+ "elevation": 3,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "NewMauville_Inside_EventScript_15E8E0"
+ },
+ {
+ "type": "sign",
+ "x": 32,
+ "y": 2,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "NewMauville_Inside_EventScript_15E8E0"
+ },
+ {
+ "type": "sign",
+ "x": 33,
+ "y": 4,
+ "elevation": 3,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "NewMauville_Inside_EventScript_15E8E0"
+ },
+ {
+ "type": "sign",
+ "x": 34,
+ "y": 4,
+ "elevation": 3,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "NewMauville_Inside_EventScript_15E8E0"
+ },
+ {
+ "type": "sign",
+ "x": 35,
+ "y": 4,
+ "elevation": 3,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "NewMauville_Inside_EventScript_15E8E0"
+ },
+ {
+ "type": "sign",
+ "x": 35,
+ "y": 3,
+ "elevation": 3,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "NewMauville_Inside_EventScript_15E8E0"
+ },
+ {
+ "type": "sign",
+ "x": 35,
+ "y": 2,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "NewMauville_Inside_EventScript_15E8E0"
+ }
+ ]
+} \ No newline at end of file
diff --git a/data/maps/OldaleTown/connections.inc b/data/maps/OldaleTown/connections.inc
deleted file mode 100644
index 1e4bdeea8..000000000
--- a/data/maps/OldaleTown/connections.inc
+++ /dev/null
@@ -1,8 +0,0 @@
-OldaleTown_MapConnectionsList:: @ 8308624
- connection up, 0, MAP_ROUTE103
- connection down, 0, MAP_ROUTE101
- connection left, 0, MAP_ROUTE102
-
-OldaleTown_MapConnections:: @ 8308648
- .4byte 0x3
- .4byte OldaleTown_MapConnectionsList
diff --git a/data/maps/OldaleTown/events.inc b/data/maps/OldaleTown/events.inc
deleted file mode 100644
index dd1833d00..000000000
--- a/data/maps/OldaleTown/events.inc
+++ /dev/null
@@ -1,27 +0,0 @@
-OldaleTown_EventObjects:: @ 8380A78
- object_event 1, EVENT_OBJ_GFX_GIRL_3, 0, 16, 11, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, OldaleTown_EventScript_14DDB3, 0
- object_event 2, EVENT_OBJ_GFX_MART_EMPLOYEE, 0, 13, 7, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, OldaleTown_EventScript_14DDBC, 0
- object_event 3, EVENT_OBJ_GFX_MANIAC, 0, 8, 9, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, OldaleTown_EventScript_14DEDF, 0
- object_event 4, EVENT_OBJ_GFX_VAR_0, 0, 11, 19, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 0, 0, OldaleTown_EventScript_14DF30, FLAG_HIDE_RIVAL_OLDALE_TOWN
-
-OldaleTown_MapWarps:: @ 8380AD8
- warp_def 5, 7, 0, 0, MAP_OLDALE_TOWN_HOUSE1
- warp_def 15, 16, 0, 0, MAP_OLDALE_TOWN_HOUSE2
- warp_def 6, 16, 0, 0, MAP_OLDALE_TOWN_POKEMON_CENTER_1F
- warp_def 14, 6, 0, 0, MAP_OLDALE_TOWN_MART
-
-OldaleTown_MapCoordEvents:: @ 8380AF8
- coord_event 0, 10, 3, VAR_ROUTE102_ACCESSIBLE, 0, OldaleTown_EventScript_14DEFF
- coord_event 8, 19, 3, VAR_OLDALE_STATE, 1, OldaleTown_EventScript_14DF41
- coord_event 9, 19, 3, VAR_OLDALE_STATE, 1, OldaleTown_EventScript_14DF5C
- coord_event 10, 19, 3, VAR_OLDALE_STATE, 1, OldaleTown_EventScript_14DF77
-
-OldaleTown_MapBGEvents:: @ 8380B38
- bg_event 11, 9, 0, BG_EVENT_PLAYER_FACING_ANY, OldaleTown_EventScript_14DDAA
- bg_event 7, 16, 0, BG_EVENT_PLAYER_FACING_NORTH, OldaleTown_EventScript_1A00EA
- bg_event 15, 6, 0, BG_EVENT_PLAYER_FACING_NORTH, OldaleTown_EventScript_1A00E1
- bg_event 8, 16, 0, BG_EVENT_PLAYER_FACING_NORTH, OldaleTown_EventScript_1A00EA
- bg_event 16, 6, 0, BG_EVENT_PLAYER_FACING_NORTH, OldaleTown_EventScript_1A00E1
-
-OldaleTown_MapEvents:: @ 8380B74
- map_events OldaleTown_EventObjects, OldaleTown_MapWarps, OldaleTown_MapCoordEvents, OldaleTown_MapBGEvents
diff --git a/data/maps/OldaleTown/header.inc b/data/maps/OldaleTown/header.inc
deleted file mode 100644
index 6e54fe9f2..000000000
--- a/data/maps/OldaleTown/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-OldaleTown:: @ 8305560
- .4byte OldaleTown_Layout
- .4byte OldaleTown_MapEvents
- .4byte OldaleTown_MapScripts
- .4byte OldaleTown_MapConnections
- .2byte MUS_MACHI_S4
- .2byte 11
- .byte MAPSEC_OLDALE_TOWN
- .byte 0
- .byte WEATHER_SUNNY
- .byte MAP_TYPE_TOWN
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/OldaleTown/map.json b/data/maps/OldaleTown/map.json
new file mode 100644
index 000000000..5653cd4ad
--- /dev/null
+++ b/data/maps/OldaleTown/map.json
@@ -0,0 +1,193 @@
+{
+ "id": "MAP_OLDALE_TOWN",
+ "name": "OldaleTown",
+ "layout": "LAYOUT_OLDALE_TOWN",
+ "music": "MUS_MACHI_S4",
+ "region_map_section": "MAPSEC_OLDALE_TOWN",
+ "requires_flash": false,
+ "weather": "WEATHER_SUNNY",
+ "map_type": "MAP_TYPE_TOWN",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": [
+ {
+ "direction": "up",
+ "offset": 0,
+ "map": "MAP_ROUTE103"
+ },
+ {
+ "direction": "down",
+ "offset": 0,
+ "map": "MAP_ROUTE101"
+ },
+ {
+ "direction": "left",
+ "offset": 0,
+ "map": "MAP_ROUTE102"
+ }
+ ],
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_GIRL_3",
+ "x": 16,
+ "y": 11,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "OldaleTown_EventScript_14DDB3",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MART_EMPLOYEE",
+ "x": 13,
+ "y": 7,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "OldaleTown_EventScript_14DDBC",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MANIAC",
+ "x": 8,
+ "y": 9,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "OldaleTown_EventScript_14DEDF",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_0",
+ "x": 11,
+ "y": 19,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "OldaleTown_EventScript_14DF30",
+ "flag": "FLAG_HIDE_RIVAL_OLDALE_TOWN"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 5,
+ "y": 7,
+ "elevation": 0,
+ "dest_map": "MAP_OLDALE_TOWN_HOUSE1",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 15,
+ "y": 16,
+ "elevation": 0,
+ "dest_map": "MAP_OLDALE_TOWN_HOUSE2",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 6,
+ "y": 16,
+ "elevation": 0,
+ "dest_map": "MAP_OLDALE_TOWN_POKEMON_CENTER_1F",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 14,
+ "y": 6,
+ "elevation": 0,
+ "dest_map": "MAP_OLDALE_TOWN_MART",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [
+ {
+ "type": "trigger",
+ "x": 0,
+ "y": 10,
+ "elevation": 3,
+ "var": "VAR_ROUTE102_ACCESSIBLE",
+ "var_value": "0",
+ "script": "OldaleTown_EventScript_14DEFF"
+ },
+ {
+ "type": "trigger",
+ "x": 8,
+ "y": 19,
+ "elevation": 3,
+ "var": "VAR_OLDALE_STATE",
+ "var_value": "1",
+ "script": "OldaleTown_EventScript_14DF41"
+ },
+ {
+ "type": "trigger",
+ "x": 9,
+ "y": 19,
+ "elevation": 3,
+ "var": "VAR_OLDALE_STATE",
+ "var_value": "1",
+ "script": "OldaleTown_EventScript_14DF5C"
+ },
+ {
+ "type": "trigger",
+ "x": 10,
+ "y": 19,
+ "elevation": 3,
+ "var": "VAR_OLDALE_STATE",
+ "var_value": "1",
+ "script": "OldaleTown_EventScript_14DF77"
+ }
+ ],
+ "bg_events": [
+ {
+ "type": "sign",
+ "x": 11,
+ "y": 9,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "OldaleTown_EventScript_14DDAA"
+ },
+ {
+ "type": "sign",
+ "x": 7,
+ "y": 16,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH",
+ "script": "OldaleTown_EventScript_1A00EA"
+ },
+ {
+ "type": "sign",
+ "x": 15,
+ "y": 6,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH",
+ "script": "OldaleTown_EventScript_1A00E1"
+ },
+ {
+ "type": "sign",
+ "x": 8,
+ "y": 16,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH",
+ "script": "OldaleTown_EventScript_1A00EA"
+ },
+ {
+ "type": "sign",
+ "x": 16,
+ "y": 6,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH",
+ "script": "OldaleTown_EventScript_1A00E1"
+ }
+ ]
+} \ No newline at end of file
diff --git a/data/maps/OldaleTown_House1/events.inc b/data/maps/OldaleTown_House1/events.inc
deleted file mode 100644
index 5120c3cfb..000000000
--- a/data/maps/OldaleTown_House1/events.inc
+++ /dev/null
@@ -1,9 +0,0 @@
-OldaleTown_House1_EventObjects:: @ 8385C4C
- object_event 1, EVENT_OBJ_GFX_WOMAN_3, 0, 6, 4, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, OldaleTown_House1_EventScript_152EEC, 0
-
-OldaleTown_House1_MapWarps:: @ 8385C64
- warp_def 3, 8, 0, 0, MAP_OLDALE_TOWN
- warp_def 4, 8, 0, 0, MAP_OLDALE_TOWN
-
-OldaleTown_House1_MapEvents:: @ 8385C74
- map_events OldaleTown_House1_EventObjects, OldaleTown_House1_MapWarps, 0x0, 0x0
diff --git a/data/maps/OldaleTown_House1/header.inc b/data/maps/OldaleTown_House1/header.inc
deleted file mode 100644
index bc402caf7..000000000
--- a/data/maps/OldaleTown_House1/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-OldaleTown_House1:: @ 8305ABC
- .4byte House1_Layout
- .4byte OldaleTown_House1_MapEvents
- .4byte OldaleTown_House1_MapScripts
- .4byte 0x0
- .2byte MUS_MACHI_S4
- .2byte 59
- .byte MAPSEC_OLDALE_TOWN
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/OldaleTown_House1/map.json b/data/maps/OldaleTown_House1/map.json
new file mode 100644
index 000000000..cfae29190
--- /dev/null
+++ b/data/maps/OldaleTown_House1/map.json
@@ -0,0 +1,46 @@
+{
+ "id": "MAP_OLDALE_TOWN_HOUSE1",
+ "name": "OldaleTown_House1",
+ "layout": "LAYOUT_HOUSE1",
+ "music": "MUS_MACHI_S4",
+ "region_map_section": "MAPSEC_OLDALE_TOWN",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_3",
+ "x": 6,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "OldaleTown_House1_EventScript_152EEC",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 3,
+ "y": 8,
+ "elevation": 0,
+ "dest_map": "MAP_OLDALE_TOWN",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 4,
+ "y": 8,
+ "elevation": 0,
+ "dest_map": "MAP_OLDALE_TOWN",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/OldaleTown_House2/events.inc b/data/maps/OldaleTown_House2/events.inc
deleted file mode 100644
index daca96055..000000000
--- a/data/maps/OldaleTown_House2/events.inc
+++ /dev/null
@@ -1,10 +0,0 @@
-OldaleTown_House2_EventObjects:: @ 8385C88
- object_event 1, EVENT_OBJ_GFX_WOMAN_2, 0, 4, 4, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, OldaleTown_House2_EventScript_152EF6, 0
- object_event 2, EVENT_OBJ_GFX_SCHOOL_KID_M, 0, 7, 4, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, OldaleTown_House2_EventScript_152EFF, 0
-
-OldaleTown_House2_MapWarps:: @ 8385CB8
- warp_def 3, 7, 0, 1, MAP_OLDALE_TOWN
- warp_def 4, 7, 0, 1, MAP_OLDALE_TOWN
-
-OldaleTown_House2_MapEvents:: @ 8385CC8
- map_events OldaleTown_House2_EventObjects, OldaleTown_House2_MapWarps, 0x0, 0x0
diff --git a/data/maps/OldaleTown_House2/header.inc b/data/maps/OldaleTown_House2/header.inc
deleted file mode 100644
index 0e4c8dea7..000000000
--- a/data/maps/OldaleTown_House2/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-OldaleTown_House2:: @ 8305AD8
- .4byte House2_Layout
- .4byte OldaleTown_House2_MapEvents
- .4byte OldaleTown_House2_MapScripts
- .4byte 0x0
- .2byte MUS_MACHI_S4
- .2byte 60
- .byte MAPSEC_OLDALE_TOWN
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/OldaleTown_House2/map.json b/data/maps/OldaleTown_House2/map.json
new file mode 100644
index 000000000..792d74c52
--- /dev/null
+++ b/data/maps/OldaleTown_House2/map.json
@@ -0,0 +1,59 @@
+{
+ "id": "MAP_OLDALE_TOWN_HOUSE2",
+ "name": "OldaleTown_House2",
+ "layout": "LAYOUT_HOUSE2",
+ "music": "MUS_MACHI_S4",
+ "region_map_section": "MAPSEC_OLDALE_TOWN",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_2",
+ "x": 4,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "OldaleTown_House2_EventScript_152EF6",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_SCHOOL_KID_M",
+ "x": 7,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "OldaleTown_House2_EventScript_152EFF",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 3,
+ "y": 7,
+ "elevation": 0,
+ "dest_map": "MAP_OLDALE_TOWN",
+ "dest_warp_id": 1
+ },
+ {
+ "x": 4,
+ "y": 7,
+ "elevation": 0,
+ "dest_map": "MAP_OLDALE_TOWN",
+ "dest_warp_id": 1
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/OldaleTown_Mart/events.inc b/data/maps/OldaleTown_Mart/events.inc
deleted file mode 100644
index 3ef2a0036..000000000
--- a/data/maps/OldaleTown_Mart/events.inc
+++ /dev/null
@@ -1,11 +0,0 @@
-OldaleTown_Mart_EventObjects:: @ 8385DEC
- object_event 1, EVENT_OBJ_GFX_MART_EMPLOYEE, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, OldaleTown_Mart_EventScript_152F79, 0
- object_event 2, EVENT_OBJ_GFX_WOMAN_7, 0, 5, 5, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, OldaleTown_Mart_EventScript_152FC6, 0
- object_event 3, EVENT_OBJ_GFX_BOY_1, 0, 9, 4, 3, MOVEMENT_TYPE_WANDER_UP_AND_DOWN, 0, 1, 0, 0, OldaleTown_Mart_EventScript_152FE5, 0
-
-OldaleTown_Mart_MapWarps:: @ 8385E34
- warp_def 3, 7, 0, 3, MAP_OLDALE_TOWN
- warp_def 4, 7, 0, 3, MAP_OLDALE_TOWN
-
-OldaleTown_Mart_MapEvents:: @ 8385E44
- map_events OldaleTown_Mart_EventObjects, OldaleTown_Mart_MapWarps, 0x0, 0x0
diff --git a/data/maps/OldaleTown_Mart/header.inc b/data/maps/OldaleTown_Mart/header.inc
deleted file mode 100644
index ab067341e..000000000
--- a/data/maps/OldaleTown_Mart/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-OldaleTown_Mart:: @ 8305B2C
- .4byte PokeMart_Layout
- .4byte OldaleTown_Mart_MapEvents
- .4byte OldaleTown_Mart_MapScripts
- .4byte 0x0
- .2byte MUS_FRIENDLY
- .2byte 63
- .byte MAPSEC_OLDALE_TOWN
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/OldaleTown_Mart/map.json b/data/maps/OldaleTown_Mart/map.json
new file mode 100644
index 000000000..d8d8d9154
--- /dev/null
+++ b/data/maps/OldaleTown_Mart/map.json
@@ -0,0 +1,72 @@
+{
+ "id": "MAP_OLDALE_TOWN_MART",
+ "name": "OldaleTown_Mart",
+ "layout": "LAYOUT_POKE_MART",
+ "music": "MUS_FRIENDLY",
+ "region_map_section": "MAPSEC_OLDALE_TOWN",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MART_EMPLOYEE",
+ "x": 1,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "OldaleTown_Mart_EventScript_152F79",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_7",
+ "x": 5,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "OldaleTown_Mart_EventScript_152FC6",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BOY_1",
+ "x": 9,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_UP_AND_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "OldaleTown_Mart_EventScript_152FE5",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 3,
+ "y": 7,
+ "elevation": 0,
+ "dest_map": "MAP_OLDALE_TOWN",
+ "dest_warp_id": 3
+ },
+ {
+ "x": 4,
+ "y": 7,
+ "elevation": 0,
+ "dest_map": "MAP_OLDALE_TOWN",
+ "dest_warp_id": 3
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/OldaleTown_PokemonCenter_1F/events.inc b/data/maps/OldaleTown_PokemonCenter_1F/events.inc
deleted file mode 100644
index 55b3efeaf..000000000
--- a/data/maps/OldaleTown_PokemonCenter_1F/events.inc
+++ /dev/null
@@ -1,13 +0,0 @@
-OldaleTown_PokemonCenter_1F_EventObjects:: @ 8385CDC
- object_event 1, EVENT_OBJ_GFX_NURSE, 0, 7, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, OldaleTown_PokemonCenter_1F_EventScript_152F17, 0
- object_event 2, EVENT_OBJ_GFX_GENTLEMAN, 0, 4, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, OldaleTown_PokemonCenter_1F_EventScript_152F25, 0
- object_event 3, EVENT_OBJ_GFX_BOY_1, 0, 10, 6, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, OldaleTown_PokemonCenter_1F_EventScript_152F2E, 0
- object_event 4, EVENT_OBJ_GFX_GIRL_3, 0, 3, 7, 3, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 0, 0, OldaleTown_PokemonCenter_1F_EventScript_152F37, 0
-
-OldaleTown_PokemonCenter_1F_MapWarps:: @ 8385D3C
- warp_def 7, 8, 3, 2, MAP_OLDALE_TOWN
- warp_def 6, 8, 3, 2, MAP_OLDALE_TOWN
- warp_def 1, 6, 4, 0, MAP_OLDALE_TOWN_POKEMON_CENTER_2F
-
-OldaleTown_PokemonCenter_1F_MapEvents:: @ 8385D54
- map_events OldaleTown_PokemonCenter_1F_EventObjects, OldaleTown_PokemonCenter_1F_MapWarps, 0x0, 0x0
diff --git a/data/maps/OldaleTown_PokemonCenter_1F/header.inc b/data/maps/OldaleTown_PokemonCenter_1F/header.inc
deleted file mode 100644
index 791353439..000000000
--- a/data/maps/OldaleTown_PokemonCenter_1F/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-OldaleTown_PokemonCenter_1F:: @ 8305AF4
- .4byte PokemonCenter_1F_Layout
- .4byte OldaleTown_PokemonCenter_1F_MapEvents
- .4byte OldaleTown_PokemonCenter_1F_MapScripts
- .4byte 0x0
- .2byte MUS_POKECEN
- .2byte 61
- .byte MAPSEC_OLDALE_TOWN
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/OldaleTown_PokemonCenter_1F/map.json b/data/maps/OldaleTown_PokemonCenter_1F/map.json
new file mode 100644
index 000000000..f33bfda02
--- /dev/null
+++ b/data/maps/OldaleTown_PokemonCenter_1F/map.json
@@ -0,0 +1,92 @@
+{
+ "id": "MAP_OLDALE_TOWN_POKEMON_CENTER_1F",
+ "name": "OldaleTown_PokemonCenter_1F",
+ "layout": "LAYOUT_POKEMON_CENTER_1F",
+ "music": "MUS_POKECEN",
+ "region_map_section": "MAPSEC_OLDALE_TOWN",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_NURSE",
+ "x": 7,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "OldaleTown_PokemonCenter_1F_EventScript_152F17",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_GENTLEMAN",
+ "x": 4,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "OldaleTown_PokemonCenter_1F_EventScript_152F25",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BOY_1",
+ "x": 10,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "OldaleTown_PokemonCenter_1F_EventScript_152F2E",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_GIRL_3",
+ "x": 3,
+ "y": 7,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "OldaleTown_PokemonCenter_1F_EventScript_152F37",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 7,
+ "y": 8,
+ "elevation": 3,
+ "dest_map": "MAP_OLDALE_TOWN",
+ "dest_warp_id": 2
+ },
+ {
+ "x": 6,
+ "y": 8,
+ "elevation": 3,
+ "dest_map": "MAP_OLDALE_TOWN",
+ "dest_warp_id": 2
+ },
+ {
+ "x": 1,
+ "y": 6,
+ "elevation": 4,
+ "dest_map": "MAP_OLDALE_TOWN_POKEMON_CENTER_2F",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/OldaleTown_PokemonCenter_2F/events.inc b/data/maps/OldaleTown_PokemonCenter_2F/events.inc
deleted file mode 100644
index 0eef80a2d..000000000
--- a/data/maps/OldaleTown_PokemonCenter_2F/events.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-OldaleTown_PokemonCenter_2F_EventObjects:: @ 8385D68
- object_event 1, EVENT_OBJ_GFX_TEALA, 0, 4, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, OldaleTown_PokemonCenter_2F_EventScript_152F66, 0
- object_event 2, EVENT_OBJ_GFX_TEALA, 0, 7, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, OldaleTown_PokemonCenter_2F_EventScript_152F6C, 0
- object_event 3, EVENT_OBJ_GFX_TEALA, 0, 10, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, OldaleTown_PokemonCenter_2F_EventScript_152F72, 0
-
-OldaleTown_PokemonCenter_2F_MapWarps:: @ 8385DB0
- warp_def 1, 5, 4, 2, MAP_OLDALE_TOWN_POKEMON_CENTER_1F
- warp_def 5, 1, 0, 0, MAP_SINGLE_BATTLE_COLOSSEUM
- warp_def 8, 1, 0, 0, MAP_TRADE_CENTER
- warp_def 11, 1, 0, 0, MAP_RECORD_CORNER
- warp_def 0, 0, 0, 0, MAP_DOUBLE_BATTLE_COLOSSEUM
-
-OldaleTown_PokemonCenter_2F_MapEvents:: @ 8385DD8
- map_events OldaleTown_PokemonCenter_2F_EventObjects, OldaleTown_PokemonCenter_2F_MapWarps, 0x0, 0x0
diff --git a/data/maps/OldaleTown_PokemonCenter_2F/header.inc b/data/maps/OldaleTown_PokemonCenter_2F/header.inc
deleted file mode 100644
index 7f2eae09e..000000000
--- a/data/maps/OldaleTown_PokemonCenter_2F/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-OldaleTown_PokemonCenter_2F:: @ 8305B10
- .4byte PokemonCenter_2F_Layout
- .4byte OldaleTown_PokemonCenter_2F_MapEvents
- .4byte OldaleTown_PokemonCenter_2F_MapScripts
- .4byte 0x0
- .2byte MUS_POKECEN
- .2byte 62
- .byte MAPSEC_OLDALE_TOWN
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/OldaleTown_PokemonCenter_2F/map.json b/data/maps/OldaleTown_PokemonCenter_2F/map.json
new file mode 100644
index 000000000..2797b36de
--- /dev/null
+++ b/data/maps/OldaleTown_PokemonCenter_2F/map.json
@@ -0,0 +1,93 @@
+{
+ "id": "MAP_OLDALE_TOWN_POKEMON_CENTER_2F",
+ "name": "OldaleTown_PokemonCenter_2F",
+ "layout": "LAYOUT_POKEMON_CENTER_2F",
+ "music": "MUS_POKECEN",
+ "region_map_section": "MAPSEC_OLDALE_TOWN",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_TEALA",
+ "x": 4,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "OldaleTown_PokemonCenter_2F_EventScript_152F66",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_TEALA",
+ "x": 7,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "OldaleTown_PokemonCenter_2F_EventScript_152F6C",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_TEALA",
+ "x": 10,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "OldaleTown_PokemonCenter_2F_EventScript_152F72",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 1,
+ "y": 5,
+ "elevation": 4,
+ "dest_map": "MAP_OLDALE_TOWN_POKEMON_CENTER_1F",
+ "dest_warp_id": 2
+ },
+ {
+ "x": 5,
+ "y": 1,
+ "elevation": 0,
+ "dest_map": "MAP_SINGLE_BATTLE_COLOSSEUM",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 8,
+ "y": 1,
+ "elevation": 0,
+ "dest_map": "MAP_TRADE_CENTER",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 11,
+ "y": 1,
+ "elevation": 0,
+ "dest_map": "MAP_RECORD_CORNER",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 0,
+ "y": 0,
+ "elevation": 0,
+ "dest_map": "MAP_DOUBLE_BATTLE_COLOSSEUM",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/PacifidlogTown/connections.inc b/data/maps/PacifidlogTown/connections.inc
deleted file mode 100644
index 0a6083d00..000000000
--- a/data/maps/PacifidlogTown/connections.inc
+++ /dev/null
@@ -1,7 +0,0 @@
-PacifidlogTown_MapConnectionsList:: @ 83086C4
- connection left, 0, MAP_ROUTE132
- connection right, 0, MAP_ROUTE131
-
-PacifidlogTown_MapConnections:: @ 83086DC
- .4byte 0x2
- .4byte PacifidlogTown_MapConnectionsList
diff --git a/data/maps/PacifidlogTown/events.inc b/data/maps/PacifidlogTown/events.inc
deleted file mode 100644
index b96b701c1..000000000
--- a/data/maps/PacifidlogTown/events.inc
+++ /dev/null
@@ -1,20 +0,0 @@
-PacifidlogTown_EventObjects:: @ 838100C
- object_event 1, EVENT_OBJ_GFX_GIRL_1, 0, 10, 23, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, PacifidlogTown_EventScript_14E909, 0
- object_event 2, EVENT_OBJ_GFX_FISHERMAN, 0, 11, 14, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, PacifidlogTown_EventScript_14E912, 0
- object_event 3, EVENT_OBJ_GFX_LITTLE_BOY_1, 0, 9, 16, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, PacifidlogTown_EventScript_14E900, 0
-
-PacifidlogTown_MapWarps:: @ 8381054
- warp_def 8, 15, 0, 0, MAP_PACIFIDLOG_TOWN_POKEMON_CENTER_1F
- warp_def 16, 13, 0, 0, MAP_PACIFIDLOG_TOWN_HOUSE1
- warp_def 3, 22, 0, 0, MAP_PACIFIDLOG_TOWN_HOUSE2
- warp_def 12, 24, 0, 0, MAP_PACIFIDLOG_TOWN_HOUSE3
- warp_def 2, 12, 0, 0, MAP_PACIFIDLOG_TOWN_HOUSE4
- warp_def 17, 21, 0, 0, MAP_PACIFIDLOG_TOWN_HOUSE5
-
-PacifidlogTown_MapBGEvents:: @ 8381084
- bg_event 9, 15, 0, BG_EVENT_PLAYER_FACING_NORTH, PacifidlogTown_EventScript_1A00EA
- bg_event 7, 16, 0, BG_EVENT_PLAYER_FACING_ANY, PacifidlogTown_EventScript_14E91B
- bg_event 10, 15, 0, BG_EVENT_PLAYER_FACING_NORTH, PacifidlogTown_EventScript_1A00EA
-
-PacifidlogTown_MapEvents:: @ 83810A8
- map_events PacifidlogTown_EventObjects, PacifidlogTown_MapWarps, 0x0, PacifidlogTown_MapBGEvents
diff --git a/data/maps/PacifidlogTown/header.inc b/data/maps/PacifidlogTown/header.inc
deleted file mode 100644
index ddc0e85ef..000000000
--- a/data/maps/PacifidlogTown/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-PacifidlogTown:: @ 83055EC
- .4byte PacifidlogTown_Layout
- .4byte PacifidlogTown_MapEvents
- .4byte PacifidlogTown_MapScripts
- .4byte PacifidlogTown_MapConnections
- .2byte MUS_MINAMO
- .2byte 16
- .byte MAPSEC_PACIFIDLOG_TOWN
- .byte 0
- .byte WEATHER_SUNNY
- .byte MAP_TYPE_TOWN
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/PacifidlogTown/map.json b/data/maps/PacifidlogTown/map.json
new file mode 100644
index 000000000..a8cff836a
--- /dev/null
+++ b/data/maps/PacifidlogTown/map.json
@@ -0,0 +1,136 @@
+{
+ "id": "MAP_PACIFIDLOG_TOWN",
+ "name": "PacifidlogTown",
+ "layout": "LAYOUT_PACIFIDLOG_TOWN",
+ "music": "MUS_MINAMO",
+ "region_map_section": "MAPSEC_PACIFIDLOG_TOWN",
+ "requires_flash": false,
+ "weather": "WEATHER_SUNNY",
+ "map_type": "MAP_TYPE_TOWN",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": [
+ {
+ "direction": "left",
+ "offset": 0,
+ "map": "MAP_ROUTE132"
+ },
+ {
+ "direction": "right",
+ "offset": 0,
+ "map": "MAP_ROUTE131"
+ }
+ ],
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_GIRL_1",
+ "x": 10,
+ "y": 23,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "PacifidlogTown_EventScript_14E909",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_FISHERMAN",
+ "x": 11,
+ "y": 14,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "PacifidlogTown_EventScript_14E912",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_LITTLE_BOY_1",
+ "x": 9,
+ "y": 16,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "PacifidlogTown_EventScript_14E900",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 8,
+ "y": 15,
+ "elevation": 0,
+ "dest_map": "MAP_PACIFIDLOG_TOWN_POKEMON_CENTER_1F",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 16,
+ "y": 13,
+ "elevation": 0,
+ "dest_map": "MAP_PACIFIDLOG_TOWN_HOUSE1",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 3,
+ "y": 22,
+ "elevation": 0,
+ "dest_map": "MAP_PACIFIDLOG_TOWN_HOUSE2",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 12,
+ "y": 24,
+ "elevation": 0,
+ "dest_map": "MAP_PACIFIDLOG_TOWN_HOUSE3",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 2,
+ "y": 12,
+ "elevation": 0,
+ "dest_map": "MAP_PACIFIDLOG_TOWN_HOUSE4",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 17,
+ "y": 21,
+ "elevation": 0,
+ "dest_map": "MAP_PACIFIDLOG_TOWN_HOUSE5",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [],
+ "bg_events": [
+ {
+ "type": "sign",
+ "x": 9,
+ "y": 15,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH",
+ "script": "PacifidlogTown_EventScript_1A00EA"
+ },
+ {
+ "type": "sign",
+ "x": 7,
+ "y": 16,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "PacifidlogTown_EventScript_14E91B"
+ },
+ {
+ "type": "sign",
+ "x": 10,
+ "y": 15,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH",
+ "script": "PacifidlogTown_EventScript_1A00EA"
+ }
+ ]
+} \ No newline at end of file
diff --git a/data/maps/PacifidlogTown_House1/events.inc b/data/maps/PacifidlogTown_House1/events.inc
deleted file mode 100644
index 1319b260f..000000000
--- a/data/maps/PacifidlogTown_House1/events.inc
+++ /dev/null
@@ -1,10 +0,0 @@
-PacifidlogTown_House1_EventObjects:: @ 8386F40
- object_event 1, EVENT_OBJ_GFX_MAN_6, 0, 3, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, PacifidlogTown_House1_EventScript_154155, 0
- object_event 2, EVENT_OBJ_GFX_WOMAN_5, 0, 6, 4, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, PacifidlogTown_House1_EventScript_15415E, 0
-
-PacifidlogTown_House1_MapWarps:: @ 8386F70
- warp_def 4, 8, 0, 1, MAP_PACIFIDLOG_TOWN
- warp_def 5, 8, 0, 1, MAP_PACIFIDLOG_TOWN
-
-PacifidlogTown_House1_MapEvents:: @ 8386F80
- map_events PacifidlogTown_House1_EventObjects, PacifidlogTown_House1_MapWarps, 0x0, 0x0
diff --git a/data/maps/PacifidlogTown_House1/header.inc b/data/maps/PacifidlogTown_House1/header.inc
deleted file mode 100644
index fc1c7d068..000000000
--- a/data/maps/PacifidlogTown_House1/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-PacifidlogTown_House1:: @ 8305E90
- .4byte PacifidlogTown_House1_Layout
- .4byte PacifidlogTown_House1_MapEvents
- .4byte PacifidlogTown_House1_MapScripts
- .4byte 0x0
- .2byte MUS_MINAMO
- .2byte 77
- .byte MAPSEC_PACIFIDLOG_TOWN
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/PacifidlogTown_House1/map.json b/data/maps/PacifidlogTown_House1/map.json
new file mode 100644
index 000000000..8593de30f
--- /dev/null
+++ b/data/maps/PacifidlogTown_House1/map.json
@@ -0,0 +1,59 @@
+{
+ "id": "MAP_PACIFIDLOG_TOWN_HOUSE1",
+ "name": "PacifidlogTown_House1",
+ "layout": "LAYOUT_PACIFIDLOG_TOWN_HOUSE1",
+ "music": "MUS_MINAMO",
+ "region_map_section": "MAPSEC_PACIFIDLOG_TOWN",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_6",
+ "x": 3,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "PacifidlogTown_House1_EventScript_154155",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_5",
+ "x": 6,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "PacifidlogTown_House1_EventScript_15415E",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 4,
+ "y": 8,
+ "elevation": 0,
+ "dest_map": "MAP_PACIFIDLOG_TOWN",
+ "dest_warp_id": 1
+ },
+ {
+ "x": 5,
+ "y": 8,
+ "elevation": 0,
+ "dest_map": "MAP_PACIFIDLOG_TOWN",
+ "dest_warp_id": 1
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/PacifidlogTown_House2/events.inc b/data/maps/PacifidlogTown_House2/events.inc
deleted file mode 100644
index 6d4575739..000000000
--- a/data/maps/PacifidlogTown_House2/events.inc
+++ /dev/null
@@ -1,11 +0,0 @@
-PacifidlogTown_House2_EventObjects:: @ 8386F94
- object_event 1, EVENT_OBJ_GFX_GENTLEMAN, 0, 3, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, PacifidlogTown_House2_EventScript_154168, 0
- object_event 2, EVENT_OBJ_GFX_AZURILL, 0, 8, 6, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, PacifidlogTown_House2_EventScript_154267, 0
- object_event 3, EVENT_OBJ_GFX_AZURILL, 0, 1, 7, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, PacifidlogTown_House2_EventScript_154282, 0
-
-PacifidlogTown_House2_MapWarps:: @ 8386FDC
- warp_def 4, 8, 0, 2, MAP_PACIFIDLOG_TOWN
- warp_def 5, 8, 0, 2, MAP_PACIFIDLOG_TOWN
-
-PacifidlogTown_House2_MapEvents:: @ 8386FEC
- map_events PacifidlogTown_House2_EventObjects, PacifidlogTown_House2_MapWarps, 0x0, 0x0
diff --git a/data/maps/PacifidlogTown_House2/header.inc b/data/maps/PacifidlogTown_House2/header.inc
deleted file mode 100644
index 686f43654..000000000
--- a/data/maps/PacifidlogTown_House2/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-PacifidlogTown_House2:: @ 8305EAC
- .4byte PacifidlogTown_House2_Layout
- .4byte PacifidlogTown_House2_MapEvents
- .4byte PacifidlogTown_House2_MapScripts
- .4byte 0x0
- .2byte MUS_MINAMO
- .2byte 78
- .byte MAPSEC_PACIFIDLOG_TOWN
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/PacifidlogTown_House2/map.json b/data/maps/PacifidlogTown_House2/map.json
new file mode 100644
index 000000000..d63c501c4
--- /dev/null
+++ b/data/maps/PacifidlogTown_House2/map.json
@@ -0,0 +1,72 @@
+{
+ "id": "MAP_PACIFIDLOG_TOWN_HOUSE2",
+ "name": "PacifidlogTown_House2",
+ "layout": "LAYOUT_PACIFIDLOG_TOWN_HOUSE2",
+ "music": "MUS_MINAMO",
+ "region_map_section": "MAPSEC_PACIFIDLOG_TOWN",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_GENTLEMAN",
+ "x": 3,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "PacifidlogTown_House2_EventScript_154168",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_AZURILL",
+ "x": 8,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "PacifidlogTown_House2_EventScript_154267",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_AZURILL",
+ "x": 1,
+ "y": 7,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "PacifidlogTown_House2_EventScript_154282",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 4,
+ "y": 8,
+ "elevation": 0,
+ "dest_map": "MAP_PACIFIDLOG_TOWN",
+ "dest_warp_id": 2
+ },
+ {
+ "x": 5,
+ "y": 8,
+ "elevation": 0,
+ "dest_map": "MAP_PACIFIDLOG_TOWN",
+ "dest_warp_id": 2
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/PacifidlogTown_House3/events.inc b/data/maps/PacifidlogTown_House3/events.inc
deleted file mode 100644
index 0202b381d..000000000
--- a/data/maps/PacifidlogTown_House3/events.inc
+++ /dev/null
@@ -1,10 +0,0 @@
-PacifidlogTown_House3_EventObjects:: @ 8387000
- object_event 1, EVENT_OBJ_GFX_GIRL_2, 0, 3, 5, 3, MOVEMENT_TYPE_FACE_DOWN_AND_RIGHT, 0, 0, 0, 0, PacifidlogTown_House3_EventScript_154342, 0
- object_event 2, EVENT_OBJ_GFX_WOMAN_5, 0, 4, 2, 3, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 0, 0, PacifidlogTown_House3_EventScript_15429E, 0
-
-PacifidlogTown_House3_MapWarps:: @ 8387030
- warp_def 4, 8, 0, 3, MAP_PACIFIDLOG_TOWN
- warp_def 5, 8, 0, 3, MAP_PACIFIDLOG_TOWN
-
-PacifidlogTown_House3_MapEvents:: @ 8387040
- map_events PacifidlogTown_House3_EventObjects, PacifidlogTown_House3_MapWarps, 0x0, 0x0
diff --git a/data/maps/PacifidlogTown_House3/header.inc b/data/maps/PacifidlogTown_House3/header.inc
deleted file mode 100644
index 42c167037..000000000
--- a/data/maps/PacifidlogTown_House3/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-PacifidlogTown_House3:: @ 8305EC8
- .4byte PacifidlogTown_House1_Layout
- .4byte PacifidlogTown_House3_MapEvents
- .4byte PacifidlogTown_House3_MapScripts
- .4byte 0x0
- .2byte MUS_MINAMO
- .2byte 77
- .byte MAPSEC_PACIFIDLOG_TOWN
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/PacifidlogTown_House3/map.json b/data/maps/PacifidlogTown_House3/map.json
new file mode 100644
index 000000000..1585a2133
--- /dev/null
+++ b/data/maps/PacifidlogTown_House3/map.json
@@ -0,0 +1,59 @@
+{
+ "id": "MAP_PACIFIDLOG_TOWN_HOUSE3",
+ "name": "PacifidlogTown_House3",
+ "layout": "LAYOUT_PACIFIDLOG_TOWN_HOUSE1",
+ "music": "MUS_MINAMO",
+ "region_map_section": "MAPSEC_PACIFIDLOG_TOWN",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_GIRL_2",
+ "x": 3,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN_AND_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "PacifidlogTown_House3_EventScript_154342",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_5",
+ "x": 4,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "PacifidlogTown_House3_EventScript_15429E",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 4,
+ "y": 8,
+ "elevation": 0,
+ "dest_map": "MAP_PACIFIDLOG_TOWN",
+ "dest_warp_id": 3
+ },
+ {
+ "x": 5,
+ "y": 8,
+ "elevation": 0,
+ "dest_map": "MAP_PACIFIDLOG_TOWN",
+ "dest_warp_id": 3
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/PacifidlogTown_House4/events.inc b/data/maps/PacifidlogTown_House4/events.inc
deleted file mode 100644
index af0f50a5f..000000000
--- a/data/maps/PacifidlogTown_House4/events.inc
+++ /dev/null
@@ -1,11 +0,0 @@
-PacifidlogTown_House4_EventObjects:: @ 8387054
- object_event 1, EVENT_OBJ_GFX_WOMAN_3, 0, 3, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, PacifidlogTown_House4_EventScript_154355, 0
- object_event 2, EVENT_OBJ_GFX_LITTLE_GIRL_2, 0, 7, 5, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, PacifidlogTown_House4_EventScript_15434C, 0
- object_event 3, EVENT_OBJ_GFX_BOY_1, 0, 7, 4, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, PacifidlogTown_House4_EventScript_15435E, 0
-
-PacifidlogTown_House4_MapWarps:: @ 838709C
- warp_def 4, 8, 0, 4, MAP_PACIFIDLOG_TOWN
- warp_def 5, 8, 0, 4, MAP_PACIFIDLOG_TOWN
-
-PacifidlogTown_House4_MapEvents:: @ 83870AC
- map_events PacifidlogTown_House4_EventObjects, PacifidlogTown_House4_MapWarps, 0x0, 0x0
diff --git a/data/maps/PacifidlogTown_House4/header.inc b/data/maps/PacifidlogTown_House4/header.inc
deleted file mode 100644
index 292dee756..000000000
--- a/data/maps/PacifidlogTown_House4/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-PacifidlogTown_House4:: @ 8305EE4
- .4byte PacifidlogTown_House2_Layout
- .4byte PacifidlogTown_House4_MapEvents
- .4byte PacifidlogTown_House4_MapScripts
- .4byte 0x0
- .2byte MUS_MINAMO
- .2byte 78
- .byte MAPSEC_PACIFIDLOG_TOWN
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/PacifidlogTown_House4/map.json b/data/maps/PacifidlogTown_House4/map.json
new file mode 100644
index 000000000..1d61f1cb8
--- /dev/null
+++ b/data/maps/PacifidlogTown_House4/map.json
@@ -0,0 +1,72 @@
+{
+ "id": "MAP_PACIFIDLOG_TOWN_HOUSE4",
+ "name": "PacifidlogTown_House4",
+ "layout": "LAYOUT_PACIFIDLOG_TOWN_HOUSE2",
+ "music": "MUS_MINAMO",
+ "region_map_section": "MAPSEC_PACIFIDLOG_TOWN",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_3",
+ "x": 3,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "PacifidlogTown_House4_EventScript_154355",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_LITTLE_GIRL_2",
+ "x": 7,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "PacifidlogTown_House4_EventScript_15434C",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BOY_1",
+ "x": 7,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "PacifidlogTown_House4_EventScript_15435E",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 4,
+ "y": 8,
+ "elevation": 0,
+ "dest_map": "MAP_PACIFIDLOG_TOWN",
+ "dest_warp_id": 4
+ },
+ {
+ "x": 5,
+ "y": 8,
+ "elevation": 0,
+ "dest_map": "MAP_PACIFIDLOG_TOWN",
+ "dest_warp_id": 4
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/PacifidlogTown_House5/events.inc b/data/maps/PacifidlogTown_House5/events.inc
deleted file mode 100644
index 87d4434af..000000000
--- a/data/maps/PacifidlogTown_House5/events.inc
+++ /dev/null
@@ -1,10 +0,0 @@
-PacifidlogTown_House5_EventObjects:: @ 83870C0
- object_event 1, EVENT_OBJ_GFX_OLD_MAN_1, 0, 9, 4, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, PacifidlogTown_House5_EventScript_154394, 0
- object_event 2, EVENT_OBJ_GFX_GENTLEMAN, 0, 3, 4, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, PacifidlogTown_House5_EventScript_1543BA, 0
-
-PacifidlogTown_House5_MapWarps:: @ 83870F0
- warp_def 4, 8, 0, 5, MAP_PACIFIDLOG_TOWN
- warp_def 5, 8, 0, 5, MAP_PACIFIDLOG_TOWN
-
-PacifidlogTown_House5_MapEvents:: @ 8387100
- map_events PacifidlogTown_House5_EventObjects, PacifidlogTown_House5_MapWarps, 0x0, 0x0
diff --git a/data/maps/PacifidlogTown_House5/header.inc b/data/maps/PacifidlogTown_House5/header.inc
deleted file mode 100644
index c23aae265..000000000
--- a/data/maps/PacifidlogTown_House5/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-PacifidlogTown_House5:: @ 8305F00
- .4byte PacifidlogTown_House1_Layout
- .4byte PacifidlogTown_House5_MapEvents
- .4byte PacifidlogTown_House5_MapScripts
- .4byte 0x0
- .2byte MUS_MINAMO
- .2byte 77
- .byte MAPSEC_PACIFIDLOG_TOWN
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/PacifidlogTown_House5/map.json b/data/maps/PacifidlogTown_House5/map.json
new file mode 100644
index 000000000..ea88241c2
--- /dev/null
+++ b/data/maps/PacifidlogTown_House5/map.json
@@ -0,0 +1,59 @@
+{
+ "id": "MAP_PACIFIDLOG_TOWN_HOUSE5",
+ "name": "PacifidlogTown_House5",
+ "layout": "LAYOUT_PACIFIDLOG_TOWN_HOUSE1",
+ "music": "MUS_MINAMO",
+ "region_map_section": "MAPSEC_PACIFIDLOG_TOWN",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_OLD_MAN_1",
+ "x": 9,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "PacifidlogTown_House5_EventScript_154394",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_GENTLEMAN",
+ "x": 3,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "PacifidlogTown_House5_EventScript_1543BA",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 4,
+ "y": 8,
+ "elevation": 0,
+ "dest_map": "MAP_PACIFIDLOG_TOWN",
+ "dest_warp_id": 5
+ },
+ {
+ "x": 5,
+ "y": 8,
+ "elevation": 0,
+ "dest_map": "MAP_PACIFIDLOG_TOWN",
+ "dest_warp_id": 5
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/PacifidlogTown_PokemonCenter_1F/events.inc b/data/maps/PacifidlogTown_PokemonCenter_1F/events.inc
deleted file mode 100644
index c59b1979a..000000000
--- a/data/maps/PacifidlogTown_PokemonCenter_1F/events.inc
+++ /dev/null
@@ -1,13 +0,0 @@
-PacifidlogTown_PokemonCenter_1F_EventObjects:: @ 8386E30
- object_event 1, EVENT_OBJ_GFX_NURSE, 0, 7, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, PacifidlogTown_PokemonCenter_1F_EventScript_153F18, 0
- object_event 2, EVENT_OBJ_GFX_OLD_MAN_2, 0, 10, 6, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, PacifidlogTown_PokemonCenter_1F_EventScript_154129, 0
- object_event 3, EVENT_OBJ_GFX_GIRL_2, 0, 2, 2, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, PacifidlogTown_PokemonCenter_1F_EventScript_154117, 0
- object_event 4, EVENT_OBJ_GFX_WOMAN_1, 0, 4, 5, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, PacifidlogTown_PokemonCenter_1F_EventScript_154120, 0
-
-PacifidlogTown_PokemonCenter_1F_MapWarps:: @ 8386E90
- warp_def 7, 8, 3, 0, MAP_PACIFIDLOG_TOWN
- warp_def 6, 8, 3, 0, MAP_PACIFIDLOG_TOWN
- warp_def 1, 6, 4, 0, MAP_PACIFIDLOG_TOWN_POKEMON_CENTER_2F
-
-PacifidlogTown_PokemonCenter_1F_MapEvents:: @ 8386EA8
- map_events PacifidlogTown_PokemonCenter_1F_EventObjects, PacifidlogTown_PokemonCenter_1F_MapWarps, 0x0, 0x0
diff --git a/data/maps/PacifidlogTown_PokemonCenter_1F/header.inc b/data/maps/PacifidlogTown_PokemonCenter_1F/header.inc
deleted file mode 100644
index d14920f48..000000000
--- a/data/maps/PacifidlogTown_PokemonCenter_1F/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-PacifidlogTown_PokemonCenter_1F:: @ 8305E58
- .4byte PokemonCenter_1F_Layout
- .4byte PacifidlogTown_PokemonCenter_1F_MapEvents
- .4byte PacifidlogTown_PokemonCenter_1F_MapScripts
- .4byte 0x0
- .2byte MUS_POKECEN
- .2byte 61
- .byte MAPSEC_PACIFIDLOG_TOWN
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/PacifidlogTown_PokemonCenter_1F/map.json b/data/maps/PacifidlogTown_PokemonCenter_1F/map.json
new file mode 100644
index 000000000..807c25cc7
--- /dev/null
+++ b/data/maps/PacifidlogTown_PokemonCenter_1F/map.json
@@ -0,0 +1,92 @@
+{
+ "id": "MAP_PACIFIDLOG_TOWN_POKEMON_CENTER_1F",
+ "name": "PacifidlogTown_PokemonCenter_1F",
+ "layout": "LAYOUT_POKEMON_CENTER_1F",
+ "music": "MUS_POKECEN",
+ "region_map_section": "MAPSEC_PACIFIDLOG_TOWN",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_NURSE",
+ "x": 7,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "PacifidlogTown_PokemonCenter_1F_EventScript_153F18",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_OLD_MAN_2",
+ "x": 10,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "PacifidlogTown_PokemonCenter_1F_EventScript_154129",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_GIRL_2",
+ "x": 2,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "PacifidlogTown_PokemonCenter_1F_EventScript_154117",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_1",
+ "x": 4,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "PacifidlogTown_PokemonCenter_1F_EventScript_154120",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 7,
+ "y": 8,
+ "elevation": 3,
+ "dest_map": "MAP_PACIFIDLOG_TOWN",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 6,
+ "y": 8,
+ "elevation": 3,
+ "dest_map": "MAP_PACIFIDLOG_TOWN",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 1,
+ "y": 6,
+ "elevation": 4,
+ "dest_map": "MAP_PACIFIDLOG_TOWN_POKEMON_CENTER_2F",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/PacifidlogTown_PokemonCenter_2F/events.inc b/data/maps/PacifidlogTown_PokemonCenter_2F/events.inc
deleted file mode 100644
index 7e31a4ef3..000000000
--- a/data/maps/PacifidlogTown_PokemonCenter_2F/events.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-PacifidlogTown_PokemonCenter_2F_EventObjects:: @ 8386EBC
- object_event 1, EVENT_OBJ_GFX_TEALA, 0, 4, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, PacifidlogTown_PokemonCenter_2F_EventScript_153F48, 0
- object_event 2, EVENT_OBJ_GFX_TEALA, 0, 7, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, PacifidlogTown_PokemonCenter_2F_EventScript_153F4E, 0
- object_event 3, EVENT_OBJ_GFX_TEALA, 0, 10, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, PacifidlogTown_PokemonCenter_2F_EventScript_15414E, 0
-
-PacifidlogTown_PokemonCenter_2F_MapWarps:: @ 8386F04
- warp_def 1, 5, 4, 2, MAP_PACIFIDLOG_TOWN_POKEMON_CENTER_1F
- warp_def 5, 1, 0, 0, MAP_SINGLE_BATTLE_COLOSSEUM
- warp_def 8, 1, 0, 0, MAP_TRADE_CENTER
- warp_def 11, 1, 0, 0, MAP_RECORD_CORNER
- warp_def 0, 1, 0, 0, MAP_DOUBLE_BATTLE_COLOSSEUM
-
-PacifidlogTown_PokemonCenter_2F_MapEvents:: @ 8386F2C
- map_events PacifidlogTown_PokemonCenter_2F_EventObjects, PacifidlogTown_PokemonCenter_2F_MapWarps, 0x0, 0x0
diff --git a/data/maps/PacifidlogTown_PokemonCenter_2F/header.inc b/data/maps/PacifidlogTown_PokemonCenter_2F/header.inc
deleted file mode 100644
index 31a7ad30b..000000000
--- a/data/maps/PacifidlogTown_PokemonCenter_2F/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-PacifidlogTown_PokemonCenter_2F:: @ 8305E74
- .4byte PokemonCenter_2F_Layout
- .4byte PacifidlogTown_PokemonCenter_2F_MapEvents
- .4byte PacifidlogTown_PokemonCenter_2F_MapScripts
- .4byte 0x0
- .2byte MUS_POKECEN
- .2byte 62
- .byte MAPSEC_PACIFIDLOG_TOWN
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/PacifidlogTown_PokemonCenter_2F/map.json b/data/maps/PacifidlogTown_PokemonCenter_2F/map.json
new file mode 100644
index 000000000..312f2debf
--- /dev/null
+++ b/data/maps/PacifidlogTown_PokemonCenter_2F/map.json
@@ -0,0 +1,93 @@
+{
+ "id": "MAP_PACIFIDLOG_TOWN_POKEMON_CENTER_2F",
+ "name": "PacifidlogTown_PokemonCenter_2F",
+ "layout": "LAYOUT_POKEMON_CENTER_2F",
+ "music": "MUS_POKECEN",
+ "region_map_section": "MAPSEC_PACIFIDLOG_TOWN",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_TEALA",
+ "x": 4,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "PacifidlogTown_PokemonCenter_2F_EventScript_153F48",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_TEALA",
+ "x": 7,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "PacifidlogTown_PokemonCenter_2F_EventScript_153F4E",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_TEALA",
+ "x": 10,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "PacifidlogTown_PokemonCenter_2F_EventScript_15414E",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 1,
+ "y": 5,
+ "elevation": 4,
+ "dest_map": "MAP_PACIFIDLOG_TOWN_POKEMON_CENTER_1F",
+ "dest_warp_id": 2
+ },
+ {
+ "x": 5,
+ "y": 1,
+ "elevation": 0,
+ "dest_map": "MAP_SINGLE_BATTLE_COLOSSEUM",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 8,
+ "y": 1,
+ "elevation": 0,
+ "dest_map": "MAP_TRADE_CENTER",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 11,
+ "y": 1,
+ "elevation": 0,
+ "dest_map": "MAP_RECORD_CORNER",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 0,
+ "y": 1,
+ "elevation": 0,
+ "dest_map": "MAP_DOUBLE_BATTLE_COLOSSEUM",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/PetalburgCity/connections.inc b/data/maps/PetalburgCity/connections.inc
deleted file mode 100644
index b412774bf..000000000
--- a/data/maps/PetalburgCity/connections.inc
+++ /dev/null
@@ -1,7 +0,0 @@
-PetalburgCity_MapConnectionsList:: @ 83086E4
- connection left, -50, MAP_ROUTE104
- connection right, 10, MAP_ROUTE102
-
-PetalburgCity_MapConnections:: @ 83086FC
- .4byte 0x2
- .4byte PetalburgCity_MapConnectionsList
diff --git a/data/maps/PetalburgCity/events.inc b/data/maps/PetalburgCity/events.inc
deleted file mode 100644
index bb1df04d7..000000000
--- a/data/maps/PetalburgCity/events.inc
+++ /dev/null
@@ -1,37 +0,0 @@
-PetalburgCity_EventObjects:: @ 837F5F0
- object_event 1, EVENT_OBJ_GFX_WOMAN_5, 0, 16, 18, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, PetalburgCity_EventScript_14B7C3, FLAG_HIDE_WALLY_MOM_PETALBURG_1
- object_event 2, EVENT_OBJ_GFX_WALLY, 0, 15, 10, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, 0x0, FLAG_HIDE_WALLY_PETALBURG
- object_event 3, EVENT_OBJ_GFX_BOY_1, 0, 8, 22, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, PetalburgCity_EventScript_14B7AC, 0
- object_event 4, EVENT_OBJ_GFX_GENTLEMAN, 0, 20, 10, 3, MOVEMENT_TYPE_WANDER_UP_AND_DOWN, 0, 1, 0, 0, PetalburgCity_EventScript_14B824, 0
- object_event 5, EVENT_OBJ_GFX_MAN_1, 0, 15, 11, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, 0x0, FLAG_HIDE_WALLY_FATHER_PETALBURG
- object_event 6, EVENT_OBJ_GFX_WOMAN_2, 0, 14, 11, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, 0x0, FLAG_HIDE_WALLY_MOTHER_PETALBURG
- object_event 7, EVENT_OBJ_GFX_ITEM_BALL, 0, 19, 2, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, PetalburgCity_EventScript_1B1704, FLAG_ITEM_PETALBURG_1
- object_event 8, EVENT_OBJ_GFX_ITEM_BALL, 0, 3, 28, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, PetalburgCity_EventScript_1B1711, FLAG_ITEM_PETALBURG_2
- object_event 9, EVENT_OBJ_GFX_BOY_2, 0, 12, 15, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, PetalburgCity_EventScript_14BA2D, 0
-
-PetalburgCity_MapWarps:: @ 837F6C8
- warp_def 10, 19, 0, 0, MAP_PETALBURG_CITY_HOUSE1
- warp_def 7, 5, 0, 0, MAP_PETALBURG_CITY_WALLYS_HOUSE
- warp_def 15, 8, 0, 0, MAP_PETALBURG_CITY_GYM
- warp_def 20, 16, 0, 0, MAP_PETALBURG_CITY_POKEMON_CENTER_1F
- warp_def 20, 24, 0, 0, MAP_PETALBURG_CITY_HOUSE2
- warp_def 25, 12, 0, 0, MAP_PETALBURG_CITY_MART
-
-PetalburgCity_MapCoordEvents:: @ 837F6F8
- coord_event 8, 10, 3, VAR_PETALBURG_STATE, 0, PetalburgCity_EventScript_14B836
- coord_event 8, 11, 3, VAR_PETALBURG_STATE, 0, PetalburgCity_EventScript_14B842
- coord_event 8, 12, 3, VAR_PETALBURG_STATE, 0, PetalburgCity_EventScript_14B84E
- coord_event 8, 13, 3, VAR_PETALBURG_STATE, 0, PetalburgCity_EventScript_14B85A
-
-PetalburgCity_MapBGEvents:: @ 837F738
- bg_event 17, 10, 0, BG_EVENT_PLAYER_FACING_ANY, PetalburgCity_EventScript_14B812
- bg_event 26, 12, 0, BG_EVENT_PLAYER_FACING_NORTH, PetalburgCity_EventScript_1A00E1
- bg_event 21, 16, 0, BG_EVENT_PLAYER_FACING_NORTH, PetalburgCity_EventScript_1A00EA
- bg_event 17, 16, 0, BG_EVENT_PLAYER_FACING_ANY, PetalburgCity_EventScript_14B81B
- bg_event 22, 16, 0, BG_EVENT_PLAYER_FACING_NORTH, PetalburgCity_EventScript_1A00EA
- bg_event 27, 12, 0, BG_EVENT_PLAYER_FACING_NORTH, PetalburgCity_EventScript_1A00E1
- bg_event 8, 9, 0, BG_EVENT_PLAYER_FACING_ANY, PetalburgCity_EventScript_14B82D
- bg_hidden_item_event 11, 29, 3, ITEM_RARE_CANDY, FLAG_HIDDEN_ITEM_5F
-
-PetalburgCity_MapEvents:: @ 837F798
- map_events PetalburgCity_EventObjects, PetalburgCity_MapWarps, PetalburgCity_MapCoordEvents, PetalburgCity_MapBGEvents
diff --git a/data/maps/PetalburgCity/header.inc b/data/maps/PetalburgCity/header.inc
deleted file mode 100644
index 04dad7375..000000000
--- a/data/maps/PetalburgCity/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-PetalburgCity:: @ 8305448
- .4byte PetalburgCity_Layout
- .4byte PetalburgCity_MapEvents
- .4byte PetalburgCity_MapScripts
- .4byte PetalburgCity_MapConnections
- .2byte MUS_MACHI_S2
- .2byte 1
- .byte MAPSEC_PETALBURG_CITY
- .byte 0
- .byte WEATHER_SUNNY
- .byte MAP_TYPE_CITY
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/PetalburgCity/map.json b/data/maps/PetalburgCity/map.json
new file mode 100644
index 000000000..700132ab2
--- /dev/null
+++ b/data/maps/PetalburgCity/map.json
@@ -0,0 +1,291 @@
+{
+ "id": "MAP_PETALBURG_CITY",
+ "name": "PetalburgCity",
+ "layout": "LAYOUT_PETALBURG_CITY",
+ "music": "MUS_MACHI_S2",
+ "region_map_section": "MAPSEC_PETALBURG_CITY",
+ "requires_flash": false,
+ "weather": "WEATHER_SUNNY",
+ "map_type": "MAP_TYPE_CITY",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": [
+ {
+ "direction": "left",
+ "offset": -50,
+ "map": "MAP_ROUTE104"
+ },
+ {
+ "direction": "right",
+ "offset": 10,
+ "map": "MAP_ROUTE102"
+ }
+ ],
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_5",
+ "x": 16,
+ "y": 18,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "PetalburgCity_EventScript_14B7C3",
+ "flag": "FLAG_HIDE_WALLY_MOM_PETALBURG_1"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WALLY",
+ "x": 15,
+ "y": 10,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_HIDE_WALLY_PETALBURG"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BOY_1",
+ "x": 8,
+ "y": 22,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "PetalburgCity_EventScript_14B7AC",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_GENTLEMAN",
+ "x": 20,
+ "y": 10,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_UP_AND_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "PetalburgCity_EventScript_14B824",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_1",
+ "x": 15,
+ "y": 11,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_HIDE_WALLY_FATHER_PETALBURG"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_2",
+ "x": 14,
+ "y": 11,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_HIDE_WALLY_MOTHER_PETALBURG"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ITEM_BALL",
+ "x": 19,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "PetalburgCity_EventScript_1B1704",
+ "flag": "FLAG_ITEM_PETALBURG_1"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ITEM_BALL",
+ "x": 3,
+ "y": 28,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "PetalburgCity_EventScript_1B1711",
+ "flag": "FLAG_ITEM_PETALBURG_2"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BOY_2",
+ "x": 12,
+ "y": 15,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "PetalburgCity_EventScript_14BA2D",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 10,
+ "y": 19,
+ "elevation": 0,
+ "dest_map": "MAP_PETALBURG_CITY_HOUSE1",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 7,
+ "y": 5,
+ "elevation": 0,
+ "dest_map": "MAP_PETALBURG_CITY_WALLYS_HOUSE",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 15,
+ "y": 8,
+ "elevation": 0,
+ "dest_map": "MAP_PETALBURG_CITY_GYM",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 20,
+ "y": 16,
+ "elevation": 0,
+ "dest_map": "MAP_PETALBURG_CITY_POKEMON_CENTER_1F",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 20,
+ "y": 24,
+ "elevation": 0,
+ "dest_map": "MAP_PETALBURG_CITY_HOUSE2",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 25,
+ "y": 12,
+ "elevation": 0,
+ "dest_map": "MAP_PETALBURG_CITY_MART",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [
+ {
+ "type": "trigger",
+ "x": 8,
+ "y": 10,
+ "elevation": 3,
+ "var": "VAR_PETALBURG_STATE",
+ "var_value": "0",
+ "script": "PetalburgCity_EventScript_14B836"
+ },
+ {
+ "type": "trigger",
+ "x": 8,
+ "y": 11,
+ "elevation": 3,
+ "var": "VAR_PETALBURG_STATE",
+ "var_value": "0",
+ "script": "PetalburgCity_EventScript_14B842"
+ },
+ {
+ "type": "trigger",
+ "x": 8,
+ "y": 12,
+ "elevation": 3,
+ "var": "VAR_PETALBURG_STATE",
+ "var_value": "0",
+ "script": "PetalburgCity_EventScript_14B84E"
+ },
+ {
+ "type": "trigger",
+ "x": 8,
+ "y": 13,
+ "elevation": 3,
+ "var": "VAR_PETALBURG_STATE",
+ "var_value": "0",
+ "script": "PetalburgCity_EventScript_14B85A"
+ }
+ ],
+ "bg_events": [
+ {
+ "type": "sign",
+ "x": 17,
+ "y": 10,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "PetalburgCity_EventScript_14B812"
+ },
+ {
+ "type": "sign",
+ "x": 26,
+ "y": 12,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH",
+ "script": "PetalburgCity_EventScript_1A00E1"
+ },
+ {
+ "type": "sign",
+ "x": 21,
+ "y": 16,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH",
+ "script": "PetalburgCity_EventScript_1A00EA"
+ },
+ {
+ "type": "sign",
+ "x": 17,
+ "y": 16,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "PetalburgCity_EventScript_14B81B"
+ },
+ {
+ "type": "sign",
+ "x": 22,
+ "y": 16,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH",
+ "script": "PetalburgCity_EventScript_1A00EA"
+ },
+ {
+ "type": "sign",
+ "x": 27,
+ "y": 12,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH",
+ "script": "PetalburgCity_EventScript_1A00E1"
+ },
+ {
+ "type": "sign",
+ "x": 8,
+ "y": 9,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "PetalburgCity_EventScript_14B82D"
+ },
+ {
+ "type": "hidden_item",
+ "x": 11,
+ "y": 29,
+ "elevation": 3,
+ "item": "ITEM_RARE_CANDY",
+ "flag": "FLAG_HIDDEN_ITEM_5F"
+ }
+ ]
+} \ No newline at end of file
diff --git a/data/maps/PetalburgCity_Gym/events.inc b/data/maps/PetalburgCity_Gym/events.inc
deleted file mode 100644
index 002eb56ad..000000000
--- a/data/maps/PetalburgCity_Gym/events.inc
+++ /dev/null
@@ -1,70 +0,0 @@
-PetalburgCity_Gym_EventObjects:: @ 8387168
- object_event 1, EVENT_OBJ_GFX_NORMAN, 0, 4, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, PetalburgCity_Gym_EventScript_1545B9, FLAG_HIDE_NORMAN_PETALBURG_GYM
- object_event 2, EVENT_OBJ_GFX_WOMAN_7, 0, 4, 94, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 1, 0, PetalburgCity_Gym_EventScript_154EE6, 0
- object_event 3, EVENT_OBJ_GFX_MAN_4, 0, 4, 81, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 1, 0, PetalburgCity_Gym_EventScript_154DF6, 0
- object_event 4, EVENT_OBJ_GFX_MAN_4, 0, 4, 42, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 1, 0, PetalburgCity_Gym_EventScript_154E32, 0
- object_event 5, EVENT_OBJ_GFX_WOMAN_7, 0, 4, 55, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 1, 0, PetalburgCity_Gym_EventScript_154F22, 0
- object_event 6, EVENT_OBJ_GFX_MAN_4, 0, 4, 68, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 1, 0, PetalburgCity_Gym_EventScript_154E6E, 0
- object_event 7, EVENT_OBJ_GFX_WOMAN_7, 0, 4, 16, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 1, 0, PetalburgCity_Gym_EventScript_154F5E, 0
- object_event 8, EVENT_OBJ_GFX_MAN_4, 0, 4, 29, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 1, 0, PetalburgCity_Gym_EventScript_154EAA, 0
- object_event 9, EVENT_OBJ_GFX_MAN_2, 0, 3, 109, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, PetalburgCity_Gym_EventScript_15518B, FLAG_HIDE_PETALBURG_GYM_GUIDE
- object_event 10, EVENT_OBJ_GFX_WALLY, 0, 4, 111, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, 0x0, FLAG_HIDE_WALLY_PETALBURG_GYM
-
-PetalburgCity_Gym_MapWarps:: @ 8387258
- warp_def 4, 111, 3, 2, MAP_PETALBURG_CITY
- warp_def 5, 111, 3, 2, MAP_PETALBURG_CITY
- warp_def 1, 105, 3, 3, MAP_PETALBURG_CITY_GYM
- warp_def 7, 85, 3, 2, MAP_PETALBURG_CITY_GYM
- warp_def 6, 85, 3, 2, MAP_PETALBURG_CITY_GYM
- warp_def 7, 105, 3, 6, MAP_PETALBURG_CITY_GYM
- warp_def 1, 98, 3, 5, MAP_PETALBURG_CITY_GYM
- warp_def 2, 98, 3, 5, MAP_PETALBURG_CITY_GYM
- warp_def 1, 79, 3, 10, MAP_PETALBURG_CITY_GYM
- warp_def 7, 79, 3, 12, MAP_PETALBURG_CITY_GYM
- warp_def 7, 46, 3, 8, MAP_PETALBURG_CITY_GYM
- warp_def 6, 46, 3, 8, MAP_PETALBURG_CITY_GYM
- warp_def 1, 59, 3, 9, MAP_PETALBURG_CITY_GYM
- warp_def 2, 59, 3, 9, MAP_PETALBURG_CITY_GYM
- warp_def 1, 92, 3, 16, MAP_PETALBURG_CITY_GYM
- warp_def 7, 92, 3, 18, MAP_PETALBURG_CITY_GYM
- warp_def 7, 59, 3, 14, MAP_PETALBURG_CITY_GYM
- warp_def 6, 59, 3, 14, MAP_PETALBURG_CITY_GYM
- warp_def 1, 72, 3, 15, MAP_PETALBURG_CITY_GYM
- warp_def 2, 72, 3, 15, MAP_PETALBURG_CITY_GYM
- warp_def 7, 40, 3, 24, MAP_PETALBURG_CITY_GYM
- warp_def 1, 53, 3, 26, MAP_PETALBURG_CITY_GYM
- warp_def 7, 53, 3, 28, MAP_PETALBURG_CITY_GYM
- warp_def 1, 66, 3, 30, MAP_PETALBURG_CITY_GYM
- warp_def 1, 20, 3, 20, MAP_PETALBURG_CITY_GYM
- warp_def 2, 20, 3, 20, MAP_PETALBURG_CITY_GYM
- warp_def 7, 20, 3, 21, MAP_PETALBURG_CITY_GYM
- warp_def 6, 20, 3, 21, MAP_PETALBURG_CITY_GYM
- warp_def 1, 33, 3, 22, MAP_PETALBURG_CITY_GYM
- warp_def 2, 33, 3, 22, MAP_PETALBURG_CITY_GYM
- warp_def 7, 33, 3, 23, MAP_PETALBURG_CITY_GYM
- warp_def 6, 33, 3, 23, MAP_PETALBURG_CITY_GYM
- warp_def 7, 14, 3, 34, MAP_PETALBURG_CITY_GYM
- warp_def 1, 27, 3, 36, MAP_PETALBURG_CITY_GYM
- warp_def 1, 7, 3, 32, MAP_PETALBURG_CITY_GYM
- warp_def 2, 7, 3, 32, MAP_PETALBURG_CITY_GYM
- warp_def 7, 7, 3, 33, MAP_PETALBURG_CITY_GYM
- warp_def 6, 7, 3, 33, MAP_PETALBURG_CITY_GYM
-
-PetalburgCity_Gym_MapBGEvents:: @ 8387388
- bg_event 1, 105, 3, BG_EVENT_PLAYER_FACING_ANY, PetalburgCity_Gym_EventScript_154B73
- bg_event 7, 105, 3, BG_EVENT_PLAYER_FACING_ANY, PetalburgCity_Gym_EventScript_154BC3
- bg_event 1, 79, 3, BG_EVENT_PLAYER_FACING_ANY, PetalburgCity_Gym_EventScript_154BF8
- bg_event 7, 79, 3, BG_EVENT_PLAYER_FACING_ANY, PetalburgCity_Gym_EventScript_154C2B
- bg_event 1, 92, 3, BG_EVENT_PLAYER_FACING_ANY, PetalburgCity_Gym_EventScript_154C5E
- bg_event 7, 92, 3, BG_EVENT_PLAYER_FACING_ANY, PetalburgCity_Gym_EventScript_154C91
- bg_event 7, 40, 3, BG_EVENT_PLAYER_FACING_ANY, PetalburgCity_Gym_EventScript_154CC4
- bg_event 1, 53, 3, BG_EVENT_PLAYER_FACING_ANY, PetalburgCity_Gym_EventScript_154CF7
- bg_event 7, 53, 3, BG_EVENT_PLAYER_FACING_ANY, PetalburgCity_Gym_EventScript_154D2A
- bg_event 1, 66, 3, BG_EVENT_PLAYER_FACING_ANY, PetalburgCity_Gym_EventScript_154D5D
- bg_event 7, 14, 3, BG_EVENT_PLAYER_FACING_ANY, PetalburgCity_Gym_EventScript_154D90
- bg_event 1, 27, 3, BG_EVENT_PLAYER_FACING_ANY, PetalburgCity_Gym_EventScript_154DC3
- bg_event 1, 110, 3, BG_EVENT_PLAYER_FACING_NORTH, PetalburgCity_Gym_EventScript_1551AA
- bg_event 7, 110, 3, BG_EVENT_PLAYER_FACING_NORTH, PetalburgCity_Gym_EventScript_1551BA
-
-PetalburgCity_Gym_MapEvents:: @ 8387430
- map_events PetalburgCity_Gym_EventObjects, PetalburgCity_Gym_MapWarps, 0x0, PetalburgCity_Gym_MapBGEvents
diff --git a/data/maps/PetalburgCity_Gym/header.inc b/data/maps/PetalburgCity_Gym/header.inc
deleted file mode 100644
index ecd2919c2..000000000
--- a/data/maps/PetalburgCity_Gym/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-PetalburgCity_Gym:: @ 8305F38
- .4byte PetalburgCity_Gym_Layout
- .4byte PetalburgCity_Gym_MapEvents
- .4byte PetalburgCity_Gym_MapScripts
- .4byte 0x0
- .2byte MUS_GIM
- .2byte 79
- .byte MAPSEC_PETALBURG_CITY
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_GYM
diff --git a/data/maps/PetalburgCity_Gym/map.json b/data/maps/PetalburgCity_Gym/map.json
new file mode 100644
index 000000000..92ee7ca46
--- /dev/null
+++ b/data/maps/PetalburgCity_Gym/map.json
@@ -0,0 +1,528 @@
+{
+ "id": "MAP_PETALBURG_CITY_GYM",
+ "name": "PetalburgCity_Gym",
+ "layout": "LAYOUT_PETALBURG_CITY_GYM",
+ "music": "MUS_GIM",
+ "region_map_section": "MAPSEC_PETALBURG_CITY",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_GYM",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_NORMAN",
+ "x": 4,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "PetalburgCity_Gym_EventScript_1545B9",
+ "flag": "FLAG_HIDE_NORMAN_PETALBURG_GYM"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_7",
+ "x": 4,
+ "y": 94,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "PetalburgCity_Gym_EventScript_154EE6",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_4",
+ "x": 4,
+ "y": 81,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "PetalburgCity_Gym_EventScript_154DF6",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_4",
+ "x": 4,
+ "y": 42,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "PetalburgCity_Gym_EventScript_154E32",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_7",
+ "x": 4,
+ "y": 55,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "PetalburgCity_Gym_EventScript_154F22",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_4",
+ "x": 4,
+ "y": 68,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "PetalburgCity_Gym_EventScript_154E6E",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_7",
+ "x": 4,
+ "y": 16,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "PetalburgCity_Gym_EventScript_154F5E",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_4",
+ "x": 4,
+ "y": 29,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "PetalburgCity_Gym_EventScript_154EAA",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_2",
+ "x": 3,
+ "y": 109,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "PetalburgCity_Gym_EventScript_15518B",
+ "flag": "FLAG_HIDE_PETALBURG_GYM_GUIDE"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WALLY",
+ "x": 4,
+ "y": 111,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_HIDE_WALLY_PETALBURG_GYM"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 4,
+ "y": 111,
+ "elevation": 3,
+ "dest_map": "MAP_PETALBURG_CITY",
+ "dest_warp_id": 2
+ },
+ {
+ "x": 5,
+ "y": 111,
+ "elevation": 3,
+ "dest_map": "MAP_PETALBURG_CITY",
+ "dest_warp_id": 2
+ },
+ {
+ "x": 1,
+ "y": 105,
+ "elevation": 3,
+ "dest_map": "MAP_PETALBURG_CITY_GYM",
+ "dest_warp_id": 3
+ },
+ {
+ "x": 7,
+ "y": 85,
+ "elevation": 3,
+ "dest_map": "MAP_PETALBURG_CITY_GYM",
+ "dest_warp_id": 2
+ },
+ {
+ "x": 6,
+ "y": 85,
+ "elevation": 3,
+ "dest_map": "MAP_PETALBURG_CITY_GYM",
+ "dest_warp_id": 2
+ },
+ {
+ "x": 7,
+ "y": 105,
+ "elevation": 3,
+ "dest_map": "MAP_PETALBURG_CITY_GYM",
+ "dest_warp_id": 6
+ },
+ {
+ "x": 1,
+ "y": 98,
+ "elevation": 3,
+ "dest_map": "MAP_PETALBURG_CITY_GYM",
+ "dest_warp_id": 5
+ },
+ {
+ "x": 2,
+ "y": 98,
+ "elevation": 3,
+ "dest_map": "MAP_PETALBURG_CITY_GYM",
+ "dest_warp_id": 5
+ },
+ {
+ "x": 1,
+ "y": 79,
+ "elevation": 3,
+ "dest_map": "MAP_PETALBURG_CITY_GYM",
+ "dest_warp_id": 10
+ },
+ {
+ "x": 7,
+ "y": 79,
+ "elevation": 3,
+ "dest_map": "MAP_PETALBURG_CITY_GYM",
+ "dest_warp_id": 12
+ },
+ {
+ "x": 7,
+ "y": 46,
+ "elevation": 3,
+ "dest_map": "MAP_PETALBURG_CITY_GYM",
+ "dest_warp_id": 8
+ },
+ {
+ "x": 6,
+ "y": 46,
+ "elevation": 3,
+ "dest_map": "MAP_PETALBURG_CITY_GYM",
+ "dest_warp_id": 8
+ },
+ {
+ "x": 1,
+ "y": 59,
+ "elevation": 3,
+ "dest_map": "MAP_PETALBURG_CITY_GYM",
+ "dest_warp_id": 9
+ },
+ {
+ "x": 2,
+ "y": 59,
+ "elevation": 3,
+ "dest_map": "MAP_PETALBURG_CITY_GYM",
+ "dest_warp_id": 9
+ },
+ {
+ "x": 1,
+ "y": 92,
+ "elevation": 3,
+ "dest_map": "MAP_PETALBURG_CITY_GYM",
+ "dest_warp_id": 16
+ },
+ {
+ "x": 7,
+ "y": 92,
+ "elevation": 3,
+ "dest_map": "MAP_PETALBURG_CITY_GYM",
+ "dest_warp_id": 18
+ },
+ {
+ "x": 7,
+ "y": 59,
+ "elevation": 3,
+ "dest_map": "MAP_PETALBURG_CITY_GYM",
+ "dest_warp_id": 14
+ },
+ {
+ "x": 6,
+ "y": 59,
+ "elevation": 3,
+ "dest_map": "MAP_PETALBURG_CITY_GYM",
+ "dest_warp_id": 14
+ },
+ {
+ "x": 1,
+ "y": 72,
+ "elevation": 3,
+ "dest_map": "MAP_PETALBURG_CITY_GYM",
+ "dest_warp_id": 15
+ },
+ {
+ "x": 2,
+ "y": 72,
+ "elevation": 3,
+ "dest_map": "MAP_PETALBURG_CITY_GYM",
+ "dest_warp_id": 15
+ },
+ {
+ "x": 7,
+ "y": 40,
+ "elevation": 3,
+ "dest_map": "MAP_PETALBURG_CITY_GYM",
+ "dest_warp_id": 24
+ },
+ {
+ "x": 1,
+ "y": 53,
+ "elevation": 3,
+ "dest_map": "MAP_PETALBURG_CITY_GYM",
+ "dest_warp_id": 26
+ },
+ {
+ "x": 7,
+ "y": 53,
+ "elevation": 3,
+ "dest_map": "MAP_PETALBURG_CITY_GYM",
+ "dest_warp_id": 28
+ },
+ {
+ "x": 1,
+ "y": 66,
+ "elevation": 3,
+ "dest_map": "MAP_PETALBURG_CITY_GYM",
+ "dest_warp_id": 30
+ },
+ {
+ "x": 1,
+ "y": 20,
+ "elevation": 3,
+ "dest_map": "MAP_PETALBURG_CITY_GYM",
+ "dest_warp_id": 20
+ },
+ {
+ "x": 2,
+ "y": 20,
+ "elevation": 3,
+ "dest_map": "MAP_PETALBURG_CITY_GYM",
+ "dest_warp_id": 20
+ },
+ {
+ "x": 7,
+ "y": 20,
+ "elevation": 3,
+ "dest_map": "MAP_PETALBURG_CITY_GYM",
+ "dest_warp_id": 21
+ },
+ {
+ "x": 6,
+ "y": 20,
+ "elevation": 3,
+ "dest_map": "MAP_PETALBURG_CITY_GYM",
+ "dest_warp_id": 21
+ },
+ {
+ "x": 1,
+ "y": 33,
+ "elevation": 3,
+ "dest_map": "MAP_PETALBURG_CITY_GYM",
+ "dest_warp_id": 22
+ },
+ {
+ "x": 2,
+ "y": 33,
+ "elevation": 3,
+ "dest_map": "MAP_PETALBURG_CITY_GYM",
+ "dest_warp_id": 22
+ },
+ {
+ "x": 7,
+ "y": 33,
+ "elevation": 3,
+ "dest_map": "MAP_PETALBURG_CITY_GYM",
+ "dest_warp_id": 23
+ },
+ {
+ "x": 6,
+ "y": 33,
+ "elevation": 3,
+ "dest_map": "MAP_PETALBURG_CITY_GYM",
+ "dest_warp_id": 23
+ },
+ {
+ "x": 7,
+ "y": 14,
+ "elevation": 3,
+ "dest_map": "MAP_PETALBURG_CITY_GYM",
+ "dest_warp_id": 34
+ },
+ {
+ "x": 1,
+ "y": 27,
+ "elevation": 3,
+ "dest_map": "MAP_PETALBURG_CITY_GYM",
+ "dest_warp_id": 36
+ },
+ {
+ "x": 1,
+ "y": 7,
+ "elevation": 3,
+ "dest_map": "MAP_PETALBURG_CITY_GYM",
+ "dest_warp_id": 32
+ },
+ {
+ "x": 2,
+ "y": 7,
+ "elevation": 3,
+ "dest_map": "MAP_PETALBURG_CITY_GYM",
+ "dest_warp_id": 32
+ },
+ {
+ "x": 7,
+ "y": 7,
+ "elevation": 3,
+ "dest_map": "MAP_PETALBURG_CITY_GYM",
+ "dest_warp_id": 33
+ },
+ {
+ "x": 6,
+ "y": 7,
+ "elevation": 3,
+ "dest_map": "MAP_PETALBURG_CITY_GYM",
+ "dest_warp_id": 33
+ }
+ ],
+ "coord_events": [],
+ "bg_events": [
+ {
+ "type": "sign",
+ "x": 1,
+ "y": 105,
+ "elevation": 3,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "PetalburgCity_Gym_EventScript_154B73"
+ },
+ {
+ "type": "sign",
+ "x": 7,
+ "y": 105,
+ "elevation": 3,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "PetalburgCity_Gym_EventScript_154BC3"
+ },
+ {
+ "type": "sign",
+ "x": 1,
+ "y": 79,
+ "elevation": 3,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "PetalburgCity_Gym_EventScript_154BF8"
+ },
+ {
+ "type": "sign",
+ "x": 7,
+ "y": 79,
+ "elevation": 3,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "PetalburgCity_Gym_EventScript_154C2B"
+ },
+ {
+ "type": "sign",
+ "x": 1,
+ "y": 92,
+ "elevation": 3,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "PetalburgCity_Gym_EventScript_154C5E"
+ },
+ {
+ "type": "sign",
+ "x": 7,
+ "y": 92,
+ "elevation": 3,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "PetalburgCity_Gym_EventScript_154C91"
+ },
+ {
+ "type": "sign",
+ "x": 7,
+ "y": 40,
+ "elevation": 3,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "PetalburgCity_Gym_EventScript_154CC4"
+ },
+ {
+ "type": "sign",
+ "x": 1,
+ "y": 53,
+ "elevation": 3,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "PetalburgCity_Gym_EventScript_154CF7"
+ },
+ {
+ "type": "sign",
+ "x": 7,
+ "y": 53,
+ "elevation": 3,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "PetalburgCity_Gym_EventScript_154D2A"
+ },
+ {
+ "type": "sign",
+ "x": 1,
+ "y": 66,
+ "elevation": 3,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "PetalburgCity_Gym_EventScript_154D5D"
+ },
+ {
+ "type": "sign",
+ "x": 7,
+ "y": 14,
+ "elevation": 3,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "PetalburgCity_Gym_EventScript_154D90"
+ },
+ {
+ "type": "sign",
+ "x": 1,
+ "y": 27,
+ "elevation": 3,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "PetalburgCity_Gym_EventScript_154DC3"
+ },
+ {
+ "type": "sign",
+ "x": 1,
+ "y": 110,
+ "elevation": 3,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH",
+ "script": "PetalburgCity_Gym_EventScript_1551AA"
+ },
+ {
+ "type": "sign",
+ "x": 7,
+ "y": 110,
+ "elevation": 3,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH",
+ "script": "PetalburgCity_Gym_EventScript_1551BA"
+ }
+ ]
+} \ No newline at end of file
diff --git a/data/maps/PetalburgCity_House1/events.inc b/data/maps/PetalburgCity_House1/events.inc
deleted file mode 100644
index 7ab13826e..000000000
--- a/data/maps/PetalburgCity_House1/events.inc
+++ /dev/null
@@ -1,10 +0,0 @@
-PetalburgCity_House1_EventObjects:: @ 8387444
- object_event 1, EVENT_OBJ_GFX_GIRL_1, 0, 7, 4, 3, MOVEMENT_TYPE_WANDER_AROUND, 2, 2, 0, 0, PetalburgCity_House1_EventScript_1551E8, 0
- object_event 2, EVENT_OBJ_GFX_OLD_MAN_1, 0, 4, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, PetalburgCity_House1_EventScript_1551DF, 0
-
-PetalburgCity_House1_MapWarps:: @ 8387474
- warp_def 3, 8, 0, 0, MAP_PETALBURG_CITY
- warp_def 4, 8, 0, 0, MAP_PETALBURG_CITY
-
-PetalburgCity_House1_MapEvents:: @ 8387484
- map_events PetalburgCity_House1_EventObjects, PetalburgCity_House1_MapWarps, 0x0, 0x0
diff --git a/data/maps/PetalburgCity_House1/header.inc b/data/maps/PetalburgCity_House1/header.inc
deleted file mode 100644
index 660d6955e..000000000
--- a/data/maps/PetalburgCity_House1/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-PetalburgCity_House1:: @ 8305F54
- .4byte House1_Layout
- .4byte PetalburgCity_House1_MapEvents
- .4byte PetalburgCity_House1_MapScripts
- .4byte 0x0
- .2byte MUS_MACHI_S2
- .2byte 59
- .byte MAPSEC_PETALBURG_CITY
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/PetalburgCity_House1/map.json b/data/maps/PetalburgCity_House1/map.json
new file mode 100644
index 000000000..975013262
--- /dev/null
+++ b/data/maps/PetalburgCity_House1/map.json
@@ -0,0 +1,59 @@
+{
+ "id": "MAP_PETALBURG_CITY_HOUSE1",
+ "name": "PetalburgCity_House1",
+ "layout": "LAYOUT_HOUSE1",
+ "music": "MUS_MACHI_S2",
+ "region_map_section": "MAPSEC_PETALBURG_CITY",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_GIRL_1",
+ "x": 7,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_AROUND",
+ "movement_range_x": 2,
+ "movement_range_y": 2,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "PetalburgCity_House1_EventScript_1551E8",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_OLD_MAN_1",
+ "x": 4,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "PetalburgCity_House1_EventScript_1551DF",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 3,
+ "y": 8,
+ "elevation": 0,
+ "dest_map": "MAP_PETALBURG_CITY",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 4,
+ "y": 8,
+ "elevation": 0,
+ "dest_map": "MAP_PETALBURG_CITY",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/PetalburgCity_House2/events.inc b/data/maps/PetalburgCity_House2/events.inc
deleted file mode 100644
index 1999ba316..000000000
--- a/data/maps/PetalburgCity_House2/events.inc
+++ /dev/null
@@ -1,10 +0,0 @@
-PetalburgCity_House2_EventObjects:: @ 8387498
- object_event 1, EVENT_OBJ_GFX_WOMAN_2, 0, 2, 5, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, PetalburgCity_House2_EventScript_1551F2, 0
- object_event 2, EVENT_OBJ_GFX_SCHOOL_KID_M, 0, 7, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, PetalburgCity_House2_EventScript_1551FB, 0
-
-PetalburgCity_House2_MapWarps:: @ 83874C8
- warp_def 3, 7, 0, 4, MAP_PETALBURG_CITY
- warp_def 4, 7, 0, 4, MAP_PETALBURG_CITY
-
-PetalburgCity_House2_MapEvents:: @ 83874D8
- map_events PetalburgCity_House2_EventObjects, PetalburgCity_House2_MapWarps, 0x0, 0x0
diff --git a/data/maps/PetalburgCity_House2/header.inc b/data/maps/PetalburgCity_House2/header.inc
deleted file mode 100644
index 5271d69b0..000000000
--- a/data/maps/PetalburgCity_House2/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-PetalburgCity_House2:: @ 8305F70
- .4byte HouseWithBed_Layout
- .4byte PetalburgCity_House2_MapEvents
- .4byte PetalburgCity_House2_MapScripts
- .4byte 0x0
- .2byte MUS_MACHI_S2
- .2byte 80
- .byte MAPSEC_PETALBURG_CITY
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/PetalburgCity_House2/map.json b/data/maps/PetalburgCity_House2/map.json
new file mode 100644
index 000000000..54c64bd0f
--- /dev/null
+++ b/data/maps/PetalburgCity_House2/map.json
@@ -0,0 +1,59 @@
+{
+ "id": "MAP_PETALBURG_CITY_HOUSE2",
+ "name": "PetalburgCity_House2",
+ "layout": "LAYOUT_HOUSE_WITH_BED",
+ "music": "MUS_MACHI_S2",
+ "region_map_section": "MAPSEC_PETALBURG_CITY",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_2",
+ "x": 2,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "PetalburgCity_House2_EventScript_1551F2",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_SCHOOL_KID_M",
+ "x": 7,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "PetalburgCity_House2_EventScript_1551FB",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 3,
+ "y": 7,
+ "elevation": 0,
+ "dest_map": "MAP_PETALBURG_CITY",
+ "dest_warp_id": 4
+ },
+ {
+ "x": 4,
+ "y": 7,
+ "elevation": 0,
+ "dest_map": "MAP_PETALBURG_CITY",
+ "dest_warp_id": 4
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/PetalburgCity_Mart/events.inc b/data/maps/PetalburgCity_Mart/events.inc
deleted file mode 100644
index 9b34bc9fc..000000000
--- a/data/maps/PetalburgCity_Mart/events.inc
+++ /dev/null
@@ -1,12 +0,0 @@
-PetalburgCity_Mart_EventObjects:: @ 8387614
- object_event 1, EVENT_OBJ_GFX_MART_EMPLOYEE, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, PetalburgCity_Mart_EventScript_1552B0, 0
- object_event 2, EVENT_OBJ_GFX_MAN_1, 0, 9, 4, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, PetalburgCity_Mart_EventScript_15532C, 0
- object_event 3, EVENT_OBJ_GFX_BOY_1, 0, 6, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, PetalburgCity_Mart_EventScript_155323, 0
- object_event 4, EVENT_OBJ_GFX_WOMAN_3, 0, 5, 5, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, PetalburgCity_Mart_EventScript_15531A, 0
-
-PetalburgCity_Mart_MapWarps:: @ 8387674
- warp_def 3, 7, 0, 5, MAP_PETALBURG_CITY
- warp_def 4, 7, 0, 5, MAP_PETALBURG_CITY
-
-PetalburgCity_Mart_MapEvents:: @ 8387684
- map_events PetalburgCity_Mart_EventObjects, PetalburgCity_Mart_MapWarps, 0x0, 0x0
diff --git a/data/maps/PetalburgCity_Mart/header.inc b/data/maps/PetalburgCity_Mart/header.inc
deleted file mode 100644
index eb8f29262..000000000
--- a/data/maps/PetalburgCity_Mart/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-PetalburgCity_Mart:: @ 8305FC4
- .4byte PokeMart_Layout
- .4byte PetalburgCity_Mart_MapEvents
- .4byte PetalburgCity_Mart_MapScripts
- .4byte 0x0
- .2byte MUS_FRIENDLY
- .2byte 63
- .byte MAPSEC_PETALBURG_CITY
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/PetalburgCity_Mart/map.json b/data/maps/PetalburgCity_Mart/map.json
new file mode 100644
index 000000000..1c687123a
--- /dev/null
+++ b/data/maps/PetalburgCity_Mart/map.json
@@ -0,0 +1,85 @@
+{
+ "id": "MAP_PETALBURG_CITY_MART",
+ "name": "PetalburgCity_Mart",
+ "layout": "LAYOUT_POKE_MART",
+ "music": "MUS_FRIENDLY",
+ "region_map_section": "MAPSEC_PETALBURG_CITY",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MART_EMPLOYEE",
+ "x": 1,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "PetalburgCity_Mart_EventScript_1552B0",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_1",
+ "x": 9,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "PetalburgCity_Mart_EventScript_15532C",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BOY_1",
+ "x": 6,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "PetalburgCity_Mart_EventScript_155323",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_3",
+ "x": 5,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "PetalburgCity_Mart_EventScript_15531A",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 3,
+ "y": 7,
+ "elevation": 0,
+ "dest_map": "MAP_PETALBURG_CITY",
+ "dest_warp_id": 5
+ },
+ {
+ "x": 4,
+ "y": 7,
+ "elevation": 0,
+ "dest_map": "MAP_PETALBURG_CITY",
+ "dest_warp_id": 5
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/PetalburgCity_PokemonCenter_1F/events.inc b/data/maps/PetalburgCity_PokemonCenter_1F/events.inc
deleted file mode 100644
index ded0fd6d5..000000000
--- a/data/maps/PetalburgCity_PokemonCenter_1F/events.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-PetalburgCity_PokemonCenter_1F_EventObjects:: @ 83874EC
- object_event 1, EVENT_OBJ_GFX_NURSE, 0, 7, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, PetalburgCity_PokemonCenter_1F_EventScript_155213, 0
- object_event 2, EVENT_OBJ_GFX_MAN_5, 0, 11, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, PetalburgCity_PokemonCenter_1F_EventScript_1B1B14, 0
- object_event 3, EVENT_OBJ_GFX_FAT_MAN, 0, 2, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, PetalburgCity_PokemonCenter_1F_EventScript_155221, 0
- object_event 4, EVENT_OBJ_GFX_YOUNGSTER, 0, 9, 6, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, PetalburgCity_PokemonCenter_1F_EventScript_15522A, 0
- object_event 5, EVENT_OBJ_GFX_WOMAN_7, 0, 5, 4, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, PetalburgCity_PokemonCenter_1F_EventScript_155233, 0
-
-PetalburgCity_PokemonCenter_1F_MapWarps:: @ 8387564
- warp_def 7, 8, 3, 3, MAP_PETALBURG_CITY
- warp_def 6, 8, 3, 3, MAP_PETALBURG_CITY
- warp_def 1, 6, 4, 0, MAP_PETALBURG_CITY_POKEMON_CENTER_2F
-
-PetalburgCity_PokemonCenter_1F_MapEvents:: @ 838757C
- map_events PetalburgCity_PokemonCenter_1F_EventObjects, PetalburgCity_PokemonCenter_1F_MapWarps, 0x0, 0x0
diff --git a/data/maps/PetalburgCity_PokemonCenter_1F/header.inc b/data/maps/PetalburgCity_PokemonCenter_1F/header.inc
deleted file mode 100644
index 42ad35b9d..000000000
--- a/data/maps/PetalburgCity_PokemonCenter_1F/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-PetalburgCity_PokemonCenter_1F:: @ 8305F8C
- .4byte PokemonCenter_1F_Layout
- .4byte PetalburgCity_PokemonCenter_1F_MapEvents
- .4byte PetalburgCity_PokemonCenter_1F_MapScripts
- .4byte 0x0
- .2byte MUS_POKECEN
- .2byte 61
- .byte MAPSEC_PETALBURG_CITY
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/PetalburgCity_PokemonCenter_1F/map.json b/data/maps/PetalburgCity_PokemonCenter_1F/map.json
new file mode 100644
index 000000000..bc88e34fd
--- /dev/null
+++ b/data/maps/PetalburgCity_PokemonCenter_1F/map.json
@@ -0,0 +1,105 @@
+{
+ "id": "MAP_PETALBURG_CITY_POKEMON_CENTER_1F",
+ "name": "PetalburgCity_PokemonCenter_1F",
+ "layout": "LAYOUT_POKEMON_CENTER_1F",
+ "music": "MUS_POKECEN",
+ "region_map_section": "MAPSEC_PETALBURG_CITY",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_NURSE",
+ "x": 7,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "PetalburgCity_PokemonCenter_1F_EventScript_155213",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_5",
+ "x": 11,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "PetalburgCity_PokemonCenter_1F_EventScript_1B1B14",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_FAT_MAN",
+ "x": 2,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "PetalburgCity_PokemonCenter_1F_EventScript_155221",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_YOUNGSTER",
+ "x": 9,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "PetalburgCity_PokemonCenter_1F_EventScript_15522A",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_7",
+ "x": 5,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "PetalburgCity_PokemonCenter_1F_EventScript_155233",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 7,
+ "y": 8,
+ "elevation": 3,
+ "dest_map": "MAP_PETALBURG_CITY",
+ "dest_warp_id": 3
+ },
+ {
+ "x": 6,
+ "y": 8,
+ "elevation": 3,
+ "dest_map": "MAP_PETALBURG_CITY",
+ "dest_warp_id": 3
+ },
+ {
+ "x": 1,
+ "y": 6,
+ "elevation": 4,
+ "dest_map": "MAP_PETALBURG_CITY_POKEMON_CENTER_2F",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/PetalburgCity_PokemonCenter_2F/events.inc b/data/maps/PetalburgCity_PokemonCenter_2F/events.inc
deleted file mode 100644
index e90059281..000000000
--- a/data/maps/PetalburgCity_PokemonCenter_2F/events.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-PetalburgCity_PokemonCenter_2F_EventObjects:: @ 8387590
- object_event 1, EVENT_OBJ_GFX_TEALA, 0, 4, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, PetalburgCity_PokemonCenter_2F_EventScript_15529D, 0
- object_event 2, EVENT_OBJ_GFX_TEALA, 0, 7, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, PetalburgCity_PokemonCenter_2F_EventScript_1552A3, 0
- object_event 3, EVENT_OBJ_GFX_TEALA, 0, 10, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, PetalburgCity_PokemonCenter_2F_EventScript_1552A9, 0
-
-PetalburgCity_PokemonCenter_2F_MapWarps:: @ 83875D8
- warp_def 1, 5, 4, 2, MAP_PETALBURG_CITY_POKEMON_CENTER_1F
- warp_def 5, 1, 0, 0, MAP_SINGLE_BATTLE_COLOSSEUM
- warp_def 8, 1, 0, 0, MAP_TRADE_CENTER
- warp_def 11, 1, 0, 0, MAP_RECORD_CORNER
- warp_def 0, 0, 0, 0, MAP_DOUBLE_BATTLE_COLOSSEUM
-
-PetalburgCity_PokemonCenter_2F_MapEvents:: @ 8387600
- map_events PetalburgCity_PokemonCenter_2F_EventObjects, PetalburgCity_PokemonCenter_2F_MapWarps, 0x0, 0x0
diff --git a/data/maps/PetalburgCity_PokemonCenter_2F/header.inc b/data/maps/PetalburgCity_PokemonCenter_2F/header.inc
deleted file mode 100644
index 49c74824b..000000000
--- a/data/maps/PetalburgCity_PokemonCenter_2F/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-PetalburgCity_PokemonCenter_2F:: @ 8305FA8
- .4byte PokemonCenter_2F_Layout
- .4byte PetalburgCity_PokemonCenter_2F_MapEvents
- .4byte PetalburgCity_PokemonCenter_2F_MapScripts
- .4byte 0x0
- .2byte MUS_POKECEN
- .2byte 62
- .byte MAPSEC_PETALBURG_CITY
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/PetalburgCity_PokemonCenter_2F/map.json b/data/maps/PetalburgCity_PokemonCenter_2F/map.json
new file mode 100644
index 000000000..92c27f737
--- /dev/null
+++ b/data/maps/PetalburgCity_PokemonCenter_2F/map.json
@@ -0,0 +1,93 @@
+{
+ "id": "MAP_PETALBURG_CITY_POKEMON_CENTER_2F",
+ "name": "PetalburgCity_PokemonCenter_2F",
+ "layout": "LAYOUT_POKEMON_CENTER_2F",
+ "music": "MUS_POKECEN",
+ "region_map_section": "MAPSEC_PETALBURG_CITY",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_TEALA",
+ "x": 4,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "PetalburgCity_PokemonCenter_2F_EventScript_15529D",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_TEALA",
+ "x": 7,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "PetalburgCity_PokemonCenter_2F_EventScript_1552A3",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_TEALA",
+ "x": 10,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "PetalburgCity_PokemonCenter_2F_EventScript_1552A9",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 1,
+ "y": 5,
+ "elevation": 4,
+ "dest_map": "MAP_PETALBURG_CITY_POKEMON_CENTER_1F",
+ "dest_warp_id": 2
+ },
+ {
+ "x": 5,
+ "y": 1,
+ "elevation": 0,
+ "dest_map": "MAP_SINGLE_BATTLE_COLOSSEUM",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 8,
+ "y": 1,
+ "elevation": 0,
+ "dest_map": "MAP_TRADE_CENTER",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 11,
+ "y": 1,
+ "elevation": 0,
+ "dest_map": "MAP_RECORD_CORNER",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 0,
+ "y": 0,
+ "elevation": 0,
+ "dest_map": "MAP_DOUBLE_BATTLE_COLOSSEUM",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/PetalburgCity_WallysHouse/events.inc b/data/maps/PetalburgCity_WallysHouse/events.inc
deleted file mode 100644
index b96ee85c8..000000000
--- a/data/maps/PetalburgCity_WallysHouse/events.inc
+++ /dev/null
@@ -1,10 +0,0 @@
-PetalburgCity_WallysHouse_EventObjects:: @ 8387114
- object_event 1, EVENT_OBJ_GFX_MAN_3, 0, 3, 4, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, PetalburgCity_WallysHouse_EventScript_1543C4, 0
- object_event 2, EVENT_OBJ_GFX_WOMAN_5, 0, 7, 5, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, PetalburgCity_WallysHouse_EventScript_154445, 0
-
-PetalburgCity_WallysHouse_MapWarps:: @ 8387144
- warp_def 3, 7, 0, 1, MAP_PETALBURG_CITY
- warp_def 4, 7, 0, 1, MAP_PETALBURG_CITY
-
-PetalburgCity_WallysHouse_MapEvents:: @ 8387154
- map_events PetalburgCity_WallysHouse_EventObjects, PetalburgCity_WallysHouse_MapWarps, 0x0, 0x0
diff --git a/data/maps/PetalburgCity_WallysHouse/header.inc b/data/maps/PetalburgCity_WallysHouse/header.inc
deleted file mode 100644
index d733ffbf8..000000000
--- a/data/maps/PetalburgCity_WallysHouse/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-PetalburgCity_WallysHouse:: @ 8305F1C
- .4byte House2_Layout
- .4byte PetalburgCity_WallysHouse_MapEvents
- .4byte PetalburgCity_WallysHouse_MapScripts
- .4byte 0x0
- .2byte MUS_MACHI_S2
- .2byte 60
- .byte MAPSEC_PETALBURG_CITY
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/PetalburgCity_WallysHouse/map.json b/data/maps/PetalburgCity_WallysHouse/map.json
new file mode 100644
index 000000000..924f08084
--- /dev/null
+++ b/data/maps/PetalburgCity_WallysHouse/map.json
@@ -0,0 +1,59 @@
+{
+ "id": "MAP_PETALBURG_CITY_WALLYS_HOUSE",
+ "name": "PetalburgCity_WallysHouse",
+ "layout": "LAYOUT_HOUSE2",
+ "music": "MUS_MACHI_S2",
+ "region_map_section": "MAPSEC_PETALBURG_CITY",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_3",
+ "x": 3,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "PetalburgCity_WallysHouse_EventScript_1543C4",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_5",
+ "x": 7,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "PetalburgCity_WallysHouse_EventScript_154445",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 3,
+ "y": 7,
+ "elevation": 0,
+ "dest_map": "MAP_PETALBURG_CITY",
+ "dest_warp_id": 1
+ },
+ {
+ "x": 4,
+ "y": 7,
+ "elevation": 0,
+ "dest_map": "MAP_PETALBURG_CITY",
+ "dest_warp_id": 1
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/PetalburgWoods/events.inc b/data/maps/PetalburgWoods/events.inc
deleted file mode 100644
index 95e4a00ef..000000000
--- a/data/maps/PetalburgWoods/events.inc
+++ /dev/null
@@ -1,37 +0,0 @@
-PetalburgWoods_EventObjects:: @ 838C14C
- object_event 1, EVENT_OBJ_GFX_CUTTABLE_TREE, 0, 19, 10, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, S_CuttableTree, FLAG_TEMP_11
- object_event 2, EVENT_OBJ_GFX_CUTTABLE_TREE, 0, 19, 11, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, S_CuttableTree, FLAG_TEMP_12
- object_event 3, EVENT_OBJ_GFX_VAR_1, 0, 26, 17, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, 0x0, FLAG_HIDE_EVIL_TEAM_PETALBURG_WOODS
- object_event 4, EVENT_OBJ_GFX_MAN_2, 0, 26, 20, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_HIDE_DEVON_PETALBURG_WOODS
- object_event 5, EVENT_OBJ_GFX_ITEM_BALL, 0, 45, 7, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, PetalburgWoods_EventScript_1B175F, FLAG_ITEM_PETALBURG_WOODS_2
- object_event 6, EVENT_OBJ_GFX_ITEM_BALL, 0, 35, 20, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, PetalburgWoods_EventScript_1B1752, FLAG_ITEM_PETALBURG_WOODS_1
- object_event 7, EVENT_OBJ_GFX_ITEM_BALL, 0, 4, 8, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, PetalburgWoods_EventScript_1B176C, FLAG_ITEM_PETALBURG_WOODS_3
- object_event 8, EVENT_OBJ_GFX_BOY_2, 0, 15, 19, 3, MOVEMENT_TYPE_WANDER_UP_AND_DOWN, 1, 2, 0, 0, PetalburgWoods_EventScript_15CECA, 0
- object_event 9, EVENT_OBJ_GFX_BUG_CATCHER, 0, 7, 32, 3, MOVEMENT_TYPE_FACE_DOWN_LEFT_AND_RIGHT, 0, 0, 1, 3, PetalburgWoods_EventScript_15CF27, 0
- object_event 10, EVENT_OBJ_GFX_BUG_CATCHER, 0, 4, 14, 3, MOVEMENT_TYPE_FACE_DOWN_UP_AND_RIGHT, 0, 0, 1, 3, PetalburgWoods_EventScript_15CF3E, 0
- object_event 11, EVENT_OBJ_GFX_BOY_3, 0, 30, 34, 3, MOVEMENT_TYPE_WANDER_AROUND, 2, 1, 0, 0, PetalburgWoods_EventScript_15CED3, 0
- object_event 12, EVENT_OBJ_GFX_ITEM_BALL, 0, 4, 26, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, PetalburgWoods_EventScript_1B1779, FLAG_ITEM_PETALBURG_WOODS_4
- object_event 13, EVENT_OBJ_GFX_GIRL_2, 0, 33, 5, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, PetalburgWoods_EventScript_15CEDC, 0
-
-PetalburgWoods_MapWarps:: @ 838C284
- warp_def 14, 5, 0, 2, MAP_ROUTE104
- warp_def 15, 5, 0, 3, MAP_ROUTE104
- warp_def 16, 38, 0, 4, MAP_ROUTE104
- warp_def 17, 38, 0, 5, MAP_ROUTE104
- warp_def 36, 38, 0, 6, MAP_ROUTE104
- warp_def 37, 38, 0, 7, MAP_ROUTE104
-
-PetalburgWoods_MapCoordEvents:: @ 838C2B4
- coord_event 26, 23, 3, VAR_PETALBURG_WOODS_STATE, 0, PetalburgWoods_EventScript_15CCA8
- coord_event 27, 23, 3, VAR_PETALBURG_WOODS_STATE, 0, PetalburgWoods_EventScript_15CD42
-
-PetalburgWoods_MapBGEvents:: @ 838C2D4
- bg_event 14, 32, 3, BG_EVENT_PLAYER_FACING_ANY, PetalburgWoods_EventScript_15CF15
- bg_hidden_item_event 39, 35, 3, ITEM_POTION, FLAG_HIDDEN_ITEM_3A
- bg_hidden_item_event 26, 6, 3, ITEM_TINY_MUSHROOM, FLAG_HIDDEN_ITEM_3B
- bg_hidden_item_event 40, 29, 3, ITEM_TINY_MUSHROOM, FLAG_HIDDEN_ITEM_3C
- bg_hidden_item_event 4, 19, 3, ITEM_POKE_BALL, FLAG_HIDDEN_ITEM_3D
- bg_event 11, 8, 3, BG_EVENT_PLAYER_FACING_ANY, PetalburgWoods_EventScript_15CF1E
-
-PetalburgWoods_MapEvents:: @ 838C31C
- map_events PetalburgWoods_EventObjects, PetalburgWoods_MapWarps, PetalburgWoods_MapCoordEvents, PetalburgWoods_MapBGEvents
diff --git a/data/maps/PetalburgWoods/header.inc b/data/maps/PetalburgWoods/header.inc
deleted file mode 100644
index 3c0014255..000000000
--- a/data/maps/PetalburgWoods/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-PetalburgWoods:: @ 8306EA4
- .4byte PetalburgWoods_Layout
- .4byte PetalburgWoods_MapEvents
- .4byte PetalburgWoods_MapScripts
- .4byte 0x0
- .2byte MUS_DAN01
- .2byte 136
- .byte MAPSEC_PETALBURG_WOODS
- .byte 0
- .byte WEATHER_SHADE
- .byte MAP_TYPE_ROUTE
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/PetalburgWoods/map.json b/data/maps/PetalburgWoods/map.json
new file mode 100644
index 000000000..d93e6e2f7
--- /dev/null
+++ b/data/maps/PetalburgWoods/map.json
@@ -0,0 +1,298 @@
+{
+ "id": "MAP_PETALBURG_WOODS",
+ "name": "PetalburgWoods",
+ "layout": "LAYOUT_PETALBURG_WOODS",
+ "music": "MUS_DAN01",
+ "region_map_section": "MAPSEC_PETALBURG_WOODS",
+ "requires_flash": false,
+ "weather": "WEATHER_SHADE",
+ "map_type": "MAP_TYPE_ROUTE",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_CUTTABLE_TREE",
+ "x": 19,
+ "y": 10,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "S_CuttableTree",
+ "flag": "FLAG_TEMP_11"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_CUTTABLE_TREE",
+ "x": 19,
+ "y": 11,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "S_CuttableTree",
+ "flag": "FLAG_TEMP_12"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_1",
+ "x": 26,
+ "y": 17,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_HIDE_EVIL_TEAM_PETALBURG_WOODS"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_2",
+ "x": 26,
+ "y": 20,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_HIDE_DEVON_PETALBURG_WOODS"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ITEM_BALL",
+ "x": 45,
+ "y": 7,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "PetalburgWoods_EventScript_1B175F",
+ "flag": "FLAG_ITEM_PETALBURG_WOODS_2"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ITEM_BALL",
+ "x": 35,
+ "y": 20,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "PetalburgWoods_EventScript_1B1752",
+ "flag": "FLAG_ITEM_PETALBURG_WOODS_1"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ITEM_BALL",
+ "x": 4,
+ "y": 8,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "PetalburgWoods_EventScript_1B176C",
+ "flag": "FLAG_ITEM_PETALBURG_WOODS_3"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BOY_2",
+ "x": 15,
+ "y": 19,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_UP_AND_DOWN",
+ "movement_range_x": 1,
+ "movement_range_y": 2,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "PetalburgWoods_EventScript_15CECA",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BUG_CATCHER",
+ "x": 7,
+ "y": 32,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN_LEFT_AND_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "3",
+ "script": "PetalburgWoods_EventScript_15CF27",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BUG_CATCHER",
+ "x": 4,
+ "y": 14,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN_UP_AND_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "3",
+ "script": "PetalburgWoods_EventScript_15CF3E",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BOY_3",
+ "x": 30,
+ "y": 34,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_AROUND",
+ "movement_range_x": 2,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "PetalburgWoods_EventScript_15CED3",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ITEM_BALL",
+ "x": 4,
+ "y": 26,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "PetalburgWoods_EventScript_1B1779",
+ "flag": "FLAG_ITEM_PETALBURG_WOODS_4"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_GIRL_2",
+ "x": 33,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "PetalburgWoods_EventScript_15CEDC",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 14,
+ "y": 5,
+ "elevation": 0,
+ "dest_map": "MAP_ROUTE104",
+ "dest_warp_id": 2
+ },
+ {
+ "x": 15,
+ "y": 5,
+ "elevation": 0,
+ "dest_map": "MAP_ROUTE104",
+ "dest_warp_id": 3
+ },
+ {
+ "x": 16,
+ "y": 38,
+ "elevation": 0,
+ "dest_map": "MAP_ROUTE104",
+ "dest_warp_id": 4
+ },
+ {
+ "x": 17,
+ "y": 38,
+ "elevation": 0,
+ "dest_map": "MAP_ROUTE104",
+ "dest_warp_id": 5
+ },
+ {
+ "x": 36,
+ "y": 38,
+ "elevation": 0,
+ "dest_map": "MAP_ROUTE104",
+ "dest_warp_id": 6
+ },
+ {
+ "x": 37,
+ "y": 38,
+ "elevation": 0,
+ "dest_map": "MAP_ROUTE104",
+ "dest_warp_id": 7
+ }
+ ],
+ "coord_events": [
+ {
+ "type": "trigger",
+ "x": 26,
+ "y": 23,
+ "elevation": 3,
+ "var": "VAR_PETALBURG_WOODS_STATE",
+ "var_value": "0",
+ "script": "PetalburgWoods_EventScript_15CCA8"
+ },
+ {
+ "type": "trigger",
+ "x": 27,
+ "y": 23,
+ "elevation": 3,
+ "var": "VAR_PETALBURG_WOODS_STATE",
+ "var_value": "0",
+ "script": "PetalburgWoods_EventScript_15CD42"
+ }
+ ],
+ "bg_events": [
+ {
+ "type": "sign",
+ "x": 14,
+ "y": 32,
+ "elevation": 3,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "PetalburgWoods_EventScript_15CF15"
+ },
+ {
+ "type": "hidden_item",
+ "x": 39,
+ "y": 35,
+ "elevation": 3,
+ "item": "ITEM_POTION",
+ "flag": "FLAG_HIDDEN_ITEM_3A"
+ },
+ {
+ "type": "hidden_item",
+ "x": 26,
+ "y": 6,
+ "elevation": 3,
+ "item": "ITEM_TINY_MUSHROOM",
+ "flag": "FLAG_HIDDEN_ITEM_3B"
+ },
+ {
+ "type": "hidden_item",
+ "x": 40,
+ "y": 29,
+ "elevation": 3,
+ "item": "ITEM_TINY_MUSHROOM",
+ "flag": "FLAG_HIDDEN_ITEM_3C"
+ },
+ {
+ "type": "hidden_item",
+ "x": 4,
+ "y": 19,
+ "elevation": 3,
+ "item": "ITEM_POKE_BALL",
+ "flag": "FLAG_HIDDEN_ITEM_3D"
+ },
+ {
+ "type": "sign",
+ "x": 11,
+ "y": 8,
+ "elevation": 3,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "PetalburgWoods_EventScript_15CF1E"
+ }
+ ]
+} \ No newline at end of file
diff --git a/data/maps/RecordCorner/events.inc b/data/maps/RecordCorner/events.inc
deleted file mode 100644
index 6d6b02339..000000000
--- a/data/maps/RecordCorner/events.inc
+++ /dev/null
@@ -1,17 +0,0 @@
-RecordCorner_EventObjects:: @ 839139C
- object_event 1, EVENT_OBJ_GFX_WOMAN_6, 0, 10, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, RecordCorner_EventScript_1A44BC, 0
-
-RecordCorner_MapWarps:: @ 83913B4
- warp_def 8, 9, 3, 127, MAP_NONE
- warp_def 9, 9, 3, 127, MAP_NONE
- warp_def 11, 9, 3, 127, MAP_NONE
- warp_def 10, 9, 3, 127, MAP_NONE
-
-RecordCorner_MapCoordEvents:: @ 83913D4
- coord_event 6, 4, 3, VAR_TEMP_0, 0, RecordCorner_EventScript_1A4418
- coord_event 6, 6, 3, VAR_TEMP_0, 0, RecordCorner_EventScript_1A4442
- coord_event 13, 4, 3, VAR_TEMP_0, 0, RecordCorner_EventScript_1A442D
- coord_event 13, 6, 3, VAR_TEMP_0, 0, RecordCorner_EventScript_1A4457
-
-RecordCorner_MapEvents:: @ 8391414
- map_events RecordCorner_EventObjects, RecordCorner_MapWarps, RecordCorner_MapCoordEvents, 0x0
diff --git a/data/maps/RecordCorner/header.inc b/data/maps/RecordCorner/header.inc
deleted file mode 100644
index c5cf670ec..000000000
--- a/data/maps/RecordCorner/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-RecordCorner:: @ 83079B0
- .4byte RecordCorner_Layout
- .4byte RecordCorner_MapEvents
- .4byte RecordCorner_MapScripts
- .4byte 0x0
- .2byte MUS_RAINBOW
- .2byte 224
- .byte MAPSEC_DYNAMIC
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/RecordCorner/map.json b/data/maps/RecordCorner/map.json
new file mode 100644
index 000000000..9170a1bbe
--- /dev/null
+++ b/data/maps/RecordCorner/map.json
@@ -0,0 +1,97 @@
+{
+ "id": "MAP_RECORD_CORNER",
+ "name": "RecordCorner",
+ "layout": "LAYOUT_RECORD_CORNER",
+ "music": "MUS_RAINBOW",
+ "region_map_section": "MAPSEC_DYNAMIC",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_6",
+ "x": 10,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "RecordCorner_EventScript_1A44BC",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 8,
+ "y": 9,
+ "elevation": 3,
+ "dest_map": "MAP_NONE",
+ "dest_warp_id": 127
+ },
+ {
+ "x": 9,
+ "y": 9,
+ "elevation": 3,
+ "dest_map": "MAP_NONE",
+ "dest_warp_id": 127
+ },
+ {
+ "x": 11,
+ "y": 9,
+ "elevation": 3,
+ "dest_map": "MAP_NONE",
+ "dest_warp_id": 127
+ },
+ {
+ "x": 10,
+ "y": 9,
+ "elevation": 3,
+ "dest_map": "MAP_NONE",
+ "dest_warp_id": 127
+ }
+ ],
+ "coord_events": [
+ {
+ "type": "trigger",
+ "x": 6,
+ "y": 4,
+ "elevation": 3,
+ "var": "VAR_TEMP_0",
+ "var_value": "0",
+ "script": "RecordCorner_EventScript_1A4418"
+ },
+ {
+ "type": "trigger",
+ "x": 6,
+ "y": 6,
+ "elevation": 3,
+ "var": "VAR_TEMP_0",
+ "var_value": "0",
+ "script": "RecordCorner_EventScript_1A4442"
+ },
+ {
+ "type": "trigger",
+ "x": 13,
+ "y": 4,
+ "elevation": 3,
+ "var": "VAR_TEMP_0",
+ "var_value": "0",
+ "script": "RecordCorner_EventScript_1A442D"
+ },
+ {
+ "type": "trigger",
+ "x": 13,
+ "y": 6,
+ "elevation": 3,
+ "var": "VAR_TEMP_0",
+ "var_value": "0",
+ "script": "RecordCorner_EventScript_1A4457"
+ }
+ ],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/Route101/connections.inc b/data/maps/Route101/connections.inc
deleted file mode 100644
index 2dd103b89..000000000
--- a/data/maps/Route101/connections.inc
+++ /dev/null
@@ -1,7 +0,0 @@
-Route101_MapConnectionsList:: @ 830881C
- connection up, 0, MAP_OLDALE_TOWN
- connection down, 0, MAP_LITTLEROOT_TOWN
-
-Route101_MapConnections:: @ 8308834
- .4byte 0x2
- .4byte Route101_MapConnectionsList
diff --git a/data/maps/Route101/events.inc b/data/maps/Route101/events.inc
deleted file mode 100644
index 9299c484a..000000000
--- a/data/maps/Route101/events.inc
+++ /dev/null
@@ -1,24 +0,0 @@
-Route101_EventObjects:: @ 83810BC
- object_event 1, EVENT_OBJ_GFX_YOUNGSTER, 0, 16, 8, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route101_EventScript_14EA64, 0
- object_event 2, EVENT_OBJ_GFX_PROF_BIRCH, 0, 9, 13, 0, MOVEMENT_TYPE_JOG_IN_PLACE_RIGHT, 0, 0, 0, 0, 0x0, FLAG_HIDE_BIRCH_BATTLE_POOCHYENA
- object_event 3, EVENT_OBJ_GFX_BIRCHS_BAG, 0, 7, 14, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route101_EventScript_14EA7F, FLAG_HIDE_BIRCH_STARTERS_BAG
- object_event 4, EVENT_OBJ_GFX_POOCHYENA, 0, 10, 13, 0, MOVEMENT_TYPE_JOG_IN_PLACE_LEFT, 0, 0, 0, 0, 0x0, FLAG_HIDE_POOCHYENA_ROUTE101
- object_event 5, EVENT_OBJ_GFX_PROF_BIRCH, 0, 5, 11, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route101_EventScript_1A037F, FLAG_HIDE_BIRCH_ROUTE101
- object_event 6, EVENT_OBJ_GFX_BOY_2, 0, 2, 13, 3, MOVEMENT_TYPE_WANDER_LEFT_AND_RIGHT, 1, 1, 0, 0, Route101_EventScript_14EA6D, FLAG_HIDE_BOY_ROUTE101
-
-Route101_MapCoordEvents:: @ 838114C
- coord_event 10, 19, 3, VAR_ROUTE101_STATE, 1, Route101_EventScript_14E948
- coord_event 11, 19, 3, VAR_ROUTE101_STATE, 1, Route101_EventScript_14E948
- coord_event 10, 18, 3, VAR_ROUTE101_STATE, 2, Route101_EventScript_14E9B8
- coord_event 11, 18, 3, VAR_ROUTE101_STATE, 2, Route101_EventScript_14E9B8
- coord_event 6, 16, 3, VAR_ROUTE101_STATE, 2, Route101_EventScript_14E9CE
- coord_event 6, 15, 3, VAR_ROUTE101_STATE, 2, Route101_EventScript_14E9CE
- coord_event 6, 17, 3, VAR_ROUTE101_STATE, 2, Route101_EventScript_14E9CE
- coord_event 6, 18, 3, VAR_ROUTE101_STATE, 2, Route101_EventScript_14E9CE
- coord_event 7, 13, 3, VAR_ROUTE101_STATE, 2, Route101_EventScript_14E9E4
-
-Route101_MapBGEvents:: @ 83811DC
- bg_event 5, 9, 0, BG_EVENT_PLAYER_FACING_ANY, Route101_EventScript_14EA76
-
-Route101_MapEvents:: @ 83811E8
- map_events Route101_EventObjects, 0x0, Route101_MapCoordEvents, Route101_MapBGEvents
diff --git a/data/maps/Route101/header.inc b/data/maps/Route101/header.inc
deleted file mode 100644
index 3817bb9ac..000000000
--- a/data/maps/Route101/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-Route101:: @ 8305608
- .4byte Route101_Layout
- .4byte Route101_MapEvents
- .4byte Route101_MapScripts
- .4byte Route101_MapConnections
- .2byte MUS_DOORO1
- .2byte 17
- .byte MAPSEC_ROUTE_101
- .byte 0
- .byte WEATHER_SUNNY
- .byte MAP_TYPE_ROUTE
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/Route101/map.json b/data/maps/Route101/map.json
new file mode 100644
index 000000000..cd5cf9c6c
--- /dev/null
+++ b/data/maps/Route101/map.json
@@ -0,0 +1,198 @@
+{
+ "id": "MAP_ROUTE101",
+ "name": "Route101",
+ "layout": "LAYOUT_ROUTE101",
+ "music": "MUS_DOORO1",
+ "region_map_section": "MAPSEC_ROUTE_101",
+ "requires_flash": false,
+ "weather": "WEATHER_SUNNY",
+ "map_type": "MAP_TYPE_ROUTE",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": [
+ {
+ "direction": "up",
+ "offset": 0,
+ "map": "MAP_OLDALE_TOWN"
+ },
+ {
+ "direction": "down",
+ "offset": 0,
+ "map": "MAP_LITTLEROOT_TOWN"
+ }
+ ],
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_YOUNGSTER",
+ "x": 16,
+ "y": 8,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route101_EventScript_14EA64",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_PROF_BIRCH",
+ "x": 9,
+ "y": 13,
+ "elevation": 0,
+ "movement_type": "MOVEMENT_TYPE_JOG_IN_PLACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_HIDE_BIRCH_BATTLE_POOCHYENA"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BIRCHS_BAG",
+ "x": 7,
+ "y": 14,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route101_EventScript_14EA7F",
+ "flag": "FLAG_HIDE_BIRCH_STARTERS_BAG"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_POOCHYENA",
+ "x": 10,
+ "y": 13,
+ "elevation": 0,
+ "movement_type": "MOVEMENT_TYPE_JOG_IN_PLACE_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_HIDE_POOCHYENA_ROUTE101"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_PROF_BIRCH",
+ "x": 5,
+ "y": 11,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route101_EventScript_1A037F",
+ "flag": "FLAG_HIDE_BIRCH_ROUTE101"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BOY_2",
+ "x": 2,
+ "y": 13,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_LEFT_AND_RIGHT",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route101_EventScript_14EA6D",
+ "flag": "FLAG_HIDE_BOY_ROUTE101"
+ }
+ ],
+ "warp_events": [],
+ "coord_events": [
+ {
+ "type": "trigger",
+ "x": 10,
+ "y": 19,
+ "elevation": 3,
+ "var": "VAR_ROUTE101_STATE",
+ "var_value": "1",
+ "script": "Route101_EventScript_14E948"
+ },
+ {
+ "type": "trigger",
+ "x": 11,
+ "y": 19,
+ "elevation": 3,
+ "var": "VAR_ROUTE101_STATE",
+ "var_value": "1",
+ "script": "Route101_EventScript_14E948"
+ },
+ {
+ "type": "trigger",
+ "x": 10,
+ "y": 18,
+ "elevation": 3,
+ "var": "VAR_ROUTE101_STATE",
+ "var_value": "2",
+ "script": "Route101_EventScript_14E9B8"
+ },
+ {
+ "type": "trigger",
+ "x": 11,
+ "y": 18,
+ "elevation": 3,
+ "var": "VAR_ROUTE101_STATE",
+ "var_value": "2",
+ "script": "Route101_EventScript_14E9B8"
+ },
+ {
+ "type": "trigger",
+ "x": 6,
+ "y": 16,
+ "elevation": 3,
+ "var": "VAR_ROUTE101_STATE",
+ "var_value": "2",
+ "script": "Route101_EventScript_14E9CE"
+ },
+ {
+ "type": "trigger",
+ "x": 6,
+ "y": 15,
+ "elevation": 3,
+ "var": "VAR_ROUTE101_STATE",
+ "var_value": "2",
+ "script": "Route101_EventScript_14E9CE"
+ },
+ {
+ "type": "trigger",
+ "x": 6,
+ "y": 17,
+ "elevation": 3,
+ "var": "VAR_ROUTE101_STATE",
+ "var_value": "2",
+ "script": "Route101_EventScript_14E9CE"
+ },
+ {
+ "type": "trigger",
+ "x": 6,
+ "y": 18,
+ "elevation": 3,
+ "var": "VAR_ROUTE101_STATE",
+ "var_value": "2",
+ "script": "Route101_EventScript_14E9CE"
+ },
+ {
+ "type": "trigger",
+ "x": 7,
+ "y": 13,
+ "elevation": 3,
+ "var": "VAR_ROUTE101_STATE",
+ "var_value": "2",
+ "script": "Route101_EventScript_14E9E4"
+ }
+ ],
+ "bg_events": [
+ {
+ "type": "sign",
+ "x": 5,
+ "y": 9,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "Route101_EventScript_14EA76"
+ }
+ ]
+} \ No newline at end of file
diff --git a/data/maps/Route102/connections.inc b/data/maps/Route102/connections.inc
deleted file mode 100644
index 56e30d843..000000000
--- a/data/maps/Route102/connections.inc
+++ /dev/null
@@ -1,7 +0,0 @@
-Route102_MapConnectionsList:: @ 830883C
- connection left, -10, MAP_PETALBURG_CITY
- connection right, 0, MAP_OLDALE_TOWN
-
-Route102_MapConnections:: @ 8308854
- .4byte 0x2
- .4byte Route102_MapConnectionsList
diff --git a/data/maps/Route102/events.inc b/data/maps/Route102/events.inc
deleted file mode 100644
index 9ba4b1ecd..000000000
--- a/data/maps/Route102/events.inc
+++ /dev/null
@@ -1,17 +0,0 @@
-Route102_EventObjects:: @ 83811FC
- object_event 1, EVENT_OBJ_GFX_LITTLE_BOY_2, 0, 18, 11, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route102_EventScript_14EADA, 0
- object_event 2, EVENT_OBJ_GFX_YOUNGSTER, 0, 33, 14, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 1, 3, Route102_EventScript_14EAFE, 0
- object_event 3, EVENT_OBJ_GFX_BUG_CATCHER, 0, 25, 15, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 1, 2, Route102_EventScript_14EB3C, 0
- object_event 4, EVENT_OBJ_GFX_LASS, 0, 8, 7, 3, MOVEMENT_TYPE_FACE_DOWN_AND_RIGHT, 0, 0, 1, 3, Route102_EventScript_14EB53, 0
- object_event 5, EVENT_OBJ_GFX_BOY_1, 0, 37, 4, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, Route102_EventScript_14EAF5, 0
- object_event 6, EVENT_OBJ_GFX_ITEM_BALL, 0, 11, 15, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, Route102_EventScript_1B1439, FLAG_ITEM_ROUTE102_1
- object_event 7, EVENT_OBJ_GFX_BERRY_TREE, 0, 24, 2, 3, MOVEMENT_TYPE_BERRY_TREE_GROWTH, 0, 0, 0, 2, S_BerryTree, 0
- object_event 8, EVENT_OBJ_GFX_BERRY_TREE, 0, 25, 2, 3, MOVEMENT_TYPE_BERRY_TREE_GROWTH, 0, 0, 0, 1, S_BerryTree, 0
- object_event 9, EVENT_OBJ_GFX_YOUNGSTER, 0, 19, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 1, 3, Route102_EventScript_14EB6A, 0
-
-Route102_MapBGEvents:: @ 83812D4
- bg_event 17, 2, 0, BG_EVENT_PLAYER_FACING_ANY, Route102_EventScript_14EAEC
- bg_event 40, 9, 0, BG_EVENT_PLAYER_FACING_ANY, Route102_EventScript_14EAE3
-
-Route102_MapEvents:: @ 83812EC
- map_events Route102_EventObjects, 0x0, 0x0, Route102_MapBGEvents
diff --git a/data/maps/Route102/header.inc b/data/maps/Route102/header.inc
deleted file mode 100644
index 008c88849..000000000
--- a/data/maps/Route102/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-Route102:: @ 8305624
- .4byte Route102_Layout
- .4byte Route102_MapEvents
- .4byte Route102_MapScripts
- .4byte Route102_MapConnections
- .2byte MUS_DOORO1
- .2byte 18
- .byte MAPSEC_ROUTE_102
- .byte 0
- .byte WEATHER_SUNNY
- .byte MAP_TYPE_ROUTE
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/Route102/map.json b/data/maps/Route102/map.json
new file mode 100644
index 000000000..8a270897c
--- /dev/null
+++ b/data/maps/Route102/map.json
@@ -0,0 +1,163 @@
+{
+ "id": "MAP_ROUTE102",
+ "name": "Route102",
+ "layout": "LAYOUT_ROUTE102",
+ "music": "MUS_DOORO1",
+ "region_map_section": "MAPSEC_ROUTE_102",
+ "requires_flash": false,
+ "weather": "WEATHER_SUNNY",
+ "map_type": "MAP_TYPE_ROUTE",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": [
+ {
+ "direction": "left",
+ "offset": -10,
+ "map": "MAP_PETALBURG_CITY"
+ },
+ {
+ "direction": "right",
+ "offset": 0,
+ "map": "MAP_OLDALE_TOWN"
+ }
+ ],
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_LITTLE_BOY_2",
+ "x": 18,
+ "y": 11,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route102_EventScript_14EADA",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_YOUNGSTER",
+ "x": 33,
+ "y": 14,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "3",
+ "script": "Route102_EventScript_14EAFE",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BUG_CATCHER",
+ "x": 25,
+ "y": 15,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "2",
+ "script": "Route102_EventScript_14EB3C",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_LASS",
+ "x": 8,
+ "y": 7,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN_AND_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "3",
+ "script": "Route102_EventScript_14EB53",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BOY_1",
+ "x": 37,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route102_EventScript_14EAF5",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ITEM_BALL",
+ "x": 11,
+ "y": 15,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route102_EventScript_1B1439",
+ "flag": "FLAG_ITEM_ROUTE102_1"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BERRY_TREE",
+ "x": 24,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_BERRY_TREE_GROWTH",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "2",
+ "script": "S_BerryTree",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BERRY_TREE",
+ "x": 25,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_BERRY_TREE_GROWTH",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "1",
+ "script": "S_BerryTree",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_YOUNGSTER",
+ "x": 19,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "3",
+ "script": "Route102_EventScript_14EB6A",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [],
+ "coord_events": [],
+ "bg_events": [
+ {
+ "type": "sign",
+ "x": 17,
+ "y": 2,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "Route102_EventScript_14EAEC"
+ },
+ {
+ "type": "sign",
+ "x": 40,
+ "y": 9,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "Route102_EventScript_14EAE3"
+ }
+ ]
+} \ No newline at end of file
diff --git a/data/maps/Route103/connections.inc b/data/maps/Route103/connections.inc
deleted file mode 100644
index e3ce959f8..000000000
--- a/data/maps/Route103/connections.inc
+++ /dev/null
@@ -1,7 +0,0 @@
-Route103_MapConnectionsList:: @ 830885C
- connection down, 0, MAP_OLDALE_TOWN
- connection right, -60, MAP_ROUTE110
-
-Route103_MapConnections:: @ 8308874
- .4byte 0x2
- .4byte Route103_MapConnectionsList
diff --git a/data/maps/Route103/events.inc b/data/maps/Route103/events.inc
deleted file mode 100644
index 1c180dcdc..000000000
--- a/data/maps/Route103/events.inc
+++ /dev/null
@@ -1,22 +0,0 @@
-Route103_EventObjects:: @ 8381300
- object_event 1, EVENT_OBJ_GFX_MAN_4, 0, 49, 12, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, Route103_EventScript_14ED82, 0
- object_event 2, EVENT_OBJ_GFX_VAR_0, 0, 10, 2, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, Route103_EventScript_14EB92, FLAG_HIDE_RIVAL_ROUTE103
- object_event 3, EVENT_OBJ_GFX_WOMAN_3, 0, 71, 10, 3, MOVEMENT_TYPE_FACE_DOWN_AND_RIGHT, 0, 0, 1, 3, Route103_EventScript_14ED94, 0
- object_event 4, EVENT_OBJ_GFX_LITTLE_GIRL_1, 0, 65, 11, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 1, 0, Route103_EventScript_14EDF1, 0
- object_event 5, EVENT_OBJ_GFX_LITTLE_GIRL_1, 0, 64, 11, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 1, 0, Route103_EventScript_14EDAB, 0
- object_event 6, EVENT_OBJ_GFX_FISHERMAN, 0, 50, 8, 3, MOVEMENT_TYPE_WALK_DOWN_AND_UP, 0, 1, 1, 3, Route103_EventScript_14EE37, 0
- object_event 7, EVENT_OBJ_GFX_BERRY_TREE, 0, 58, 5, 3, MOVEMENT_TYPE_BERRY_TREE_GROWTH, 0, 0, 0, 5, S_BerryTree, 0
- object_event 8, EVENT_OBJ_GFX_BERRY_TREE, 0, 59, 5, 3, MOVEMENT_TYPE_BERRY_TREE_GROWTH, 0, 0, 0, 6, S_BerryTree, 0
- object_event 9, EVENT_OBJ_GFX_BERRY_TREE, 0, 60, 5, 3, MOVEMENT_TYPE_BERRY_TREE_GROWTH, 0, 0, 0, 7, S_BerryTree, 0
- object_event 10, EVENT_OBJ_GFX_BOY_1, 0, 20, 10, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 2, 0, 0, Route103_EventScript_14ED79, 0
- object_event 11, EVENT_OBJ_GFX_PROF_BIRCH, 0, 7, 3, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, Route103_EventScript_1A037F, FLAG_HIDE_BIRCH_ROUTE103
- object_event 12, EVENT_OBJ_GFX_MAN_3, 0, 56, 12, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 1, 5, Route103_EventScript_14EE4E, 0
- object_event 13, EVENT_OBJ_GFX_ITEM_BALL, 0, 63, 8, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route103_EventScript_1B1446, FLAG_ITEM_ROUTE103_1
- object_event 14, EVENT_OBJ_GFX_CUTTABLE_TREE, 0, 67, 7, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, S_CuttableTree, FLAG_TEMP_12
- object_event 15, EVENT_OBJ_GFX_CUTTABLE_TREE, 0, 69, 7, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, S_CuttableTree, FLAG_TEMP_13
-
-Route103_MapBGEvents:: @ 8381468
- bg_event 11, 9, 0, BG_EVENT_PLAYER_FACING_ANY, Route103_EventScript_14ED8B
-
-Route103_MapEvents:: @ 8381474
- map_events Route103_EventObjects, 0x0, 0x0, Route103_MapBGEvents
diff --git a/data/maps/Route103/header.inc b/data/maps/Route103/header.inc
deleted file mode 100644
index 7cf973ccf..000000000
--- a/data/maps/Route103/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-Route103:: @ 8305640
- .4byte Route103_Layout
- .4byte Route103_MapEvents
- .4byte Route103_MapScripts
- .4byte Route103_MapConnections
- .2byte MUS_DOORO1
- .2byte 19
- .byte MAPSEC_ROUTE_103
- .byte 0
- .byte WEATHER_SUNNY
- .byte MAP_TYPE_ROUTE
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/Route103/map.json b/data/maps/Route103/map.json
new file mode 100644
index 000000000..6b2419465
--- /dev/null
+++ b/data/maps/Route103/map.json
@@ -0,0 +1,233 @@
+{
+ "id": "MAP_ROUTE103",
+ "name": "Route103",
+ "layout": "LAYOUT_ROUTE103",
+ "music": "MUS_DOORO1",
+ "region_map_section": "MAPSEC_ROUTE_103",
+ "requires_flash": false,
+ "weather": "WEATHER_SUNNY",
+ "map_type": "MAP_TYPE_ROUTE",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": [
+ {
+ "direction": "down",
+ "offset": 0,
+ "map": "MAP_OLDALE_TOWN"
+ },
+ {
+ "direction": "right",
+ "offset": -60,
+ "map": "MAP_ROUTE110"
+ }
+ ],
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_4",
+ "x": 49,
+ "y": 12,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route103_EventScript_14ED82",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_0",
+ "x": 10,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route103_EventScript_14EB92",
+ "flag": "FLAG_HIDE_RIVAL_ROUTE103"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_3",
+ "x": 71,
+ "y": 10,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN_AND_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "3",
+ "script": "Route103_EventScript_14ED94",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_LITTLE_GIRL_1",
+ "x": 65,
+ "y": 11,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route103_EventScript_14EDF1",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_LITTLE_GIRL_1",
+ "x": 64,
+ "y": 11,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route103_EventScript_14EDAB",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_FISHERMAN",
+ "x": 50,
+ "y": 8,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WALK_DOWN_AND_UP",
+ "movement_range_x": 0,
+ "movement_range_y": 1,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "3",
+ "script": "Route103_EventScript_14EE37",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BERRY_TREE",
+ "x": 58,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_BERRY_TREE_GROWTH",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "5",
+ "script": "S_BerryTree",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BERRY_TREE",
+ "x": 59,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_BERRY_TREE_GROWTH",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "6",
+ "script": "S_BerryTree",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BERRY_TREE",
+ "x": 60,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_BERRY_TREE_GROWTH",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "7",
+ "script": "S_BerryTree",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BOY_1",
+ "x": 20,
+ "y": 10,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 2,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route103_EventScript_14ED79",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_PROF_BIRCH",
+ "x": 7,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route103_EventScript_1A037F",
+ "flag": "FLAG_HIDE_BIRCH_ROUTE103"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_3",
+ "x": 56,
+ "y": 12,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "5",
+ "script": "Route103_EventScript_14EE4E",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ITEM_BALL",
+ "x": 63,
+ "y": 8,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route103_EventScript_1B1446",
+ "flag": "FLAG_ITEM_ROUTE103_1"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_CUTTABLE_TREE",
+ "x": 67,
+ "y": 7,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "S_CuttableTree",
+ "flag": "FLAG_TEMP_12"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_CUTTABLE_TREE",
+ "x": 69,
+ "y": 7,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "S_CuttableTree",
+ "flag": "FLAG_TEMP_13"
+ }
+ ],
+ "warp_events": [],
+ "coord_events": [],
+ "bg_events": [
+ {
+ "type": "sign",
+ "x": 11,
+ "y": 9,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "Route103_EventScript_14ED8B"
+ }
+ ]
+} \ No newline at end of file
diff --git a/data/maps/Route104/connections.inc b/data/maps/Route104/connections.inc
deleted file mode 100644
index 488af7f8d..000000000
--- a/data/maps/Route104/connections.inc
+++ /dev/null
@@ -1,8 +0,0 @@
-Route104_MapConnectionsList:: @ 830887C
- connection up, 0, MAP_RUSTBORO_CITY
- connection down, 0, MAP_ROUTE105
- connection right, 50, MAP_PETALBURG_CITY
-
-Route104_MapConnections:: @ 83088A0
- .4byte 0x3
- .4byte Route104_MapConnectionsList
diff --git a/data/maps/Route104/events.inc b/data/maps/Route104/events.inc
deleted file mode 100644
index 221fe7536..000000000
--- a/data/maps/Route104/events.inc
+++ /dev/null
@@ -1,58 +0,0 @@
-Route104_EventObjects:: @ 8381488
- object_event 1, EVENT_OBJ_GFX_BUG_CATCHER, 0, 15, 60, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, Route104_EventScript_14EF4B, 0
- object_event 2, EVENT_OBJ_GFX_GIRL_2, 0, 25, 49, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, Route104_EventScript_14EF42, 0
- object_event 3, EVENT_OBJ_GFX_LASS, 0, 31, 24, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 1, 7, Route104_EventScript_14F1A0, 0
- object_event 4, EVENT_OBJ_GFX_BOY_1, 0, 27, 63, 3, MOVEMENT_TYPE_WANDER_UP_AND_DOWN, 0, 1, 0, 0, Route104_EventScript_14EF81, 0
- object_event 5, EVENT_OBJ_GFX_WOMAN_3, 0, 30, 50, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, Route104_EventScript_14EF8A, 0
- object_event 6, EVENT_OBJ_GFX_GIRL_3, 0, 28, 74, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, Route104_EventScript_14EFCC, 0
- object_event 7, EVENT_OBJ_GFX_MR_BRINEYS_BOAT, 0, 12, 54, 1, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, 0x0, FLAG_HIDE_MR_BRINEY_BOAT_ROUTE104
- object_event 8, EVENT_OBJ_GFX_OLD_MAN_1, 0, 12, 51, 4, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, 0x0, FLAG_HIDE_MR_BRINEY_ROUTE104
- object_event 9, EVENT_OBJ_GFX_FISHERMAN, 0, 29, 8, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 1, 0, Route104_EventScript_14F172, 0
- object_event 10, EVENT_OBJ_GFX_BERRY_TREE, 0, 34, 6, 3, MOVEMENT_TYPE_BERRY_TREE_GROWTH, 0, 0, 0, 8, S_BerryTree, 0
- object_event 11, EVENT_OBJ_GFX_BERRY_TREE, 0, 35, 6, 3, MOVEMENT_TYPE_BERRY_TREE_GROWTH, 0, 0, 0, 9, S_BerryTree, 0
- object_event 12, EVENT_OBJ_GFX_BERRY_TREE, 0, 36, 6, 3, MOVEMENT_TYPE_BERRY_TREE_GROWTH, 0, 0, 0, 10, S_BerryTree, 0
- object_event 13, EVENT_OBJ_GFX_BERRY_TREE, 0, 22, 41, 3, MOVEMENT_TYPE_BERRY_TREE_GROWTH, 0, 0, 0, 11, S_BerryTree, 0
- object_event 14, EVENT_OBJ_GFX_BERRY_TREE, 0, 23, 41, 3, MOVEMENT_TYPE_BERRY_TREE_GROWTH, 0, 0, 0, 12, S_BerryTree, 0
- object_event 15, EVENT_OBJ_GFX_BERRY_TREE, 0, 24, 41, 3, MOVEMENT_TYPE_BERRY_TREE_GROWTH, 0, 0, 0, 13, S_BerryTree, 0
- object_event 16, EVENT_OBJ_GFX_OLD_WOMAN_1, 0, 37, 8, 3, MOVEMENT_TYPE_FACE_LEFT, 1, 1, 0, 0, Route104_EventScript_14EEC8, 0
- object_event 17, EVENT_OBJ_GFX_BERRY_TREE, 0, 3, 22, 3, MOVEMENT_TYPE_BERRY_TREE_GROWTH, 0, 0, 0, 3, S_BerryTree, 0
- object_event 18, EVENT_OBJ_GFX_BERRY_TREE, 0, 3, 23, 3, MOVEMENT_TYPE_BERRY_TREE_GROWTH, 0, 0, 0, 4, S_BerryTree, 0
- object_event 19, EVENT_OBJ_GFX_BERRY_TREE, 0, 3, 24, 3, MOVEMENT_TYPE_BERRY_TREE_GROWTH, 0, 0, 0, 75, S_BerryTree, 0
- object_event 20, EVENT_OBJ_GFX_BERRY_TREE, 0, 3, 25, 3, MOVEMENT_TYPE_BERRY_TREE_GROWTH, 0, 0, 0, 76, S_BerryTree, 0
- object_event 21, EVENT_OBJ_GFX_ITEM_BALL, 0, 39, 15, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route104_EventScript_1B1453, FLAG_ITEM_ROUTE104_1
- object_event 22, EVENT_OBJ_GFX_WOMAN_7, 0, 8, 19, 3, MOVEMENT_TYPE_WANDER_LEFT_AND_RIGHT, 1, 0, 0, 0, Route104_EventScript_14EF09, FLAG_HIDE_FLOWER_SHOP_WORKER_OUTSIDE
- object_event 23, EVENT_OBJ_GFX_LITTLE_GIRL_1, 0, 27, 15, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 1, 0, Route104_EventScript_14F25A, 0
- object_event 24, EVENT_OBJ_GFX_LITTLE_GIRL_1, 0, 28, 15, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 1, 0, Route104_EventScript_14F279, 0
- object_event 25, EVENT_OBJ_GFX_BOY_4, 0, 11, 44, 3, MOVEMENT_TYPE_FACE_UP_AND_RIGHT, 0, 0, 1, 3, Route104_EventScript_14F1DE, 0
- object_event 26, EVENT_OBJ_GFX_WOMAN_3, 0, 22, 25, 3, MOVEMENT_TYPE_ROTATE_COUNTERCLOCKWISE, 0, 0, 1, 3, Route104_EventScript_14F21C, 0
- object_event 27, EVENT_OBJ_GFX_ITEM_BALL, 0, 29, 53, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route104_EventScript_1B1460, FLAG_ITEM_ROUTE104_2
- object_event 28, EVENT_OBJ_GFX_YOUNGSTER, 0, 18, 67, 3, MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_RIGHT_UP_LEFT, 5, 6, 1, 2, Route104_EventScript_14F189, 0
- object_event 29, EVENT_OBJ_GFX_ITEM_BALL, 0, 37, 22, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route104_EventScript_1B146D, FLAG_ITEM_ROUTE104_3
- object_event 30, EVENT_OBJ_GFX_CUTTABLE_TREE, 0, 35, 22, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, S_CuttableTree, FLAG_TEMP_11
- object_event 31, EVENT_OBJ_GFX_ITEM_BALL, 0, 5, 8, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route104_EventScript_1B147A, FLAG_ITEM_ROUTE104_4
- object_event 32, EVENT_OBJ_GFX_BOY_2, 0, 5, 26, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route104_EventScript_14EF93, 0
-
-Route104_MapWarps:: @ 8381788
- warp_def 17, 50, 0, 0, MAP_ROUTE104_MR_BRINEYS_HOUSE
- warp_def 5, 18, 0, 0, MAP_ROUTE104_PRETTY_PETAL_FLOWER_SHOP
- warp_def 10, 30, 3, 0, MAP_PETALBURG_WOODS
- warp_def 11, 30, 3, 1, MAP_PETALBURG_WOODS
- warp_def 10, 38, 3, 2, MAP_PETALBURG_WOODS
- warp_def 11, 38, 3, 3, MAP_PETALBURG_WOODS
- warp_def 32, 42, 3, 4, MAP_PETALBURG_WOODS
- warp_def 33, 42, 3, 5, MAP_PETALBURG_WOODS
-
-Route104_MapBGEvents:: @ 83817C8
- bg_event 20, 50, 0, BG_EVENT_PLAYER_FACING_ANY, Route104_EventScript_14EF54
- bg_event 27, 66, 0, BG_EVENT_PLAYER_FACING_ANY, Route104_EventScript_14EF5D
- bg_event 23, 5, 0, BG_EVENT_PLAYER_FACING_ANY, Route104_EventScript_14EF66
- bg_event 7, 20, 0, BG_EVENT_PLAYER_FACING_ANY, Route104_EventScript_14EF6F
- bg_event 17, 23, 3, BG_EVENT_PLAYER_FACING_ANY, Route104_EventScript_14EF78
- bg_hidden_item_event 7, 6, 3, ITEM_SUPER_POTION, FLAG_HIDDEN_ITEM_2C
- bg_hidden_item_event 3, 9, 3, ITEM_POKE_BALL, FLAG_HIDDEN_ITEM_3E
- bg_hidden_item_event 14, 55, 3, ITEM_POTION, FLAG_HIDDEN_ITEM_25
- bg_hidden_item_event 16, 72, 3, ITEM_ANTIDOTE, FLAG_HIDDEN_ITEM_55
- bg_hidden_item_event 16, 64, 3, ITEM_HEART_SCALE, FLAG_HIDDEN_ITEM_58
-
-Route104_MapEvents:: @ 8381840
- map_events Route104_EventObjects, Route104_MapWarps, 0x0, Route104_MapBGEvents
diff --git a/data/maps/Route104/header.inc b/data/maps/Route104/header.inc
deleted file mode 100644
index a31075c83..000000000
--- a/data/maps/Route104/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-Route104:: @ 830565C
- .4byte Route104_Layout
- .4byte Route104_MapEvents
- .4byte Route104_MapScripts
- .4byte Route104_MapConnections
- .2byte MUS_NEXTROAD
- .2byte 20
- .byte MAPSEC_ROUTE_104
- .byte 0
- .byte WEATHER_SUNNY
- .byte MAP_TYPE_ROUTE
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/Route104/map.json b/data/maps/Route104/map.json
new file mode 100644
index 000000000..3be9b9c9d
--- /dev/null
+++ b/data/maps/Route104/map.json
@@ -0,0 +1,588 @@
+{
+ "id": "MAP_ROUTE104",
+ "name": "Route104",
+ "layout": "LAYOUT_ROUTE104",
+ "music": "MUS_NEXTROAD",
+ "region_map_section": "MAPSEC_ROUTE_104",
+ "requires_flash": false,
+ "weather": "WEATHER_SUNNY",
+ "map_type": "MAP_TYPE_ROUTE",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": [
+ {
+ "direction": "up",
+ "offset": 0,
+ "map": "MAP_RUSTBORO_CITY"
+ },
+ {
+ "direction": "down",
+ "offset": 0,
+ "map": "MAP_ROUTE105"
+ },
+ {
+ "direction": "right",
+ "offset": 50,
+ "map": "MAP_PETALBURG_CITY"
+ }
+ ],
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BUG_CATCHER",
+ "x": 15,
+ "y": 60,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route104_EventScript_14EF4B",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_GIRL_2",
+ "x": 25,
+ "y": 49,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route104_EventScript_14EF42",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_LASS",
+ "x": 31,
+ "y": 24,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "7",
+ "script": "Route104_EventScript_14F1A0",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BOY_1",
+ "x": 27,
+ "y": 63,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_UP_AND_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route104_EventScript_14EF81",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_3",
+ "x": 30,
+ "y": 50,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route104_EventScript_14EF8A",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_GIRL_3",
+ "x": 28,
+ "y": 74,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route104_EventScript_14EFCC",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MR_BRINEYS_BOAT",
+ "x": 12,
+ "y": 54,
+ "elevation": 1,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_HIDE_MR_BRINEY_BOAT_ROUTE104"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_OLD_MAN_1",
+ "x": 12,
+ "y": 51,
+ "elevation": 4,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_HIDE_MR_BRINEY_ROUTE104"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_FISHERMAN",
+ "x": 29,
+ "y": 8,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route104_EventScript_14F172",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BERRY_TREE",
+ "x": 34,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_BERRY_TREE_GROWTH",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "8",
+ "script": "S_BerryTree",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BERRY_TREE",
+ "x": 35,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_BERRY_TREE_GROWTH",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "9",
+ "script": "S_BerryTree",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BERRY_TREE",
+ "x": 36,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_BERRY_TREE_GROWTH",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "10",
+ "script": "S_BerryTree",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BERRY_TREE",
+ "x": 22,
+ "y": 41,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_BERRY_TREE_GROWTH",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "11",
+ "script": "S_BerryTree",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BERRY_TREE",
+ "x": 23,
+ "y": 41,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_BERRY_TREE_GROWTH",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "12",
+ "script": "S_BerryTree",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BERRY_TREE",
+ "x": 24,
+ "y": 41,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_BERRY_TREE_GROWTH",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "13",
+ "script": "S_BerryTree",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_OLD_WOMAN_1",
+ "x": 37,
+ "y": 8,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route104_EventScript_14EEC8",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BERRY_TREE",
+ "x": 3,
+ "y": 22,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_BERRY_TREE_GROWTH",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "3",
+ "script": "S_BerryTree",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BERRY_TREE",
+ "x": 3,
+ "y": 23,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_BERRY_TREE_GROWTH",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "4",
+ "script": "S_BerryTree",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BERRY_TREE",
+ "x": 3,
+ "y": 24,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_BERRY_TREE_GROWTH",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "75",
+ "script": "S_BerryTree",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BERRY_TREE",
+ "x": 3,
+ "y": 25,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_BERRY_TREE_GROWTH",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "76",
+ "script": "S_BerryTree",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ITEM_BALL",
+ "x": 39,
+ "y": 15,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route104_EventScript_1B1453",
+ "flag": "FLAG_ITEM_ROUTE104_1"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_7",
+ "x": 8,
+ "y": 19,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_LEFT_AND_RIGHT",
+ "movement_range_x": 1,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route104_EventScript_14EF09",
+ "flag": "FLAG_HIDE_FLOWER_SHOP_WORKER_OUTSIDE"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_LITTLE_GIRL_1",
+ "x": 27,
+ "y": 15,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route104_EventScript_14F25A",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_LITTLE_GIRL_1",
+ "x": 28,
+ "y": 15,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route104_EventScript_14F279",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BOY_4",
+ "x": 11,
+ "y": 44,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP_AND_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "3",
+ "script": "Route104_EventScript_14F1DE",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_3",
+ "x": 22,
+ "y": 25,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_ROTATE_COUNTERCLOCKWISE",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "3",
+ "script": "Route104_EventScript_14F21C",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ITEM_BALL",
+ "x": 29,
+ "y": 53,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route104_EventScript_1B1460",
+ "flag": "FLAG_ITEM_ROUTE104_2"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_YOUNGSTER",
+ "x": 18,
+ "y": 67,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_RIGHT_UP_LEFT",
+ "movement_range_x": 5,
+ "movement_range_y": 6,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "2",
+ "script": "Route104_EventScript_14F189",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ITEM_BALL",
+ "x": 37,
+ "y": 22,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route104_EventScript_1B146D",
+ "flag": "FLAG_ITEM_ROUTE104_3"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_CUTTABLE_TREE",
+ "x": 35,
+ "y": 22,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "S_CuttableTree",
+ "flag": "FLAG_TEMP_11"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ITEM_BALL",
+ "x": 5,
+ "y": 8,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route104_EventScript_1B147A",
+ "flag": "FLAG_ITEM_ROUTE104_4"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BOY_2",
+ "x": 5,
+ "y": 26,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route104_EventScript_14EF93",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 17,
+ "y": 50,
+ "elevation": 0,
+ "dest_map": "MAP_ROUTE104_MR_BRINEYS_HOUSE",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 5,
+ "y": 18,
+ "elevation": 0,
+ "dest_map": "MAP_ROUTE104_PRETTY_PETAL_FLOWER_SHOP",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 10,
+ "y": 30,
+ "elevation": 3,
+ "dest_map": "MAP_PETALBURG_WOODS",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 11,
+ "y": 30,
+ "elevation": 3,
+ "dest_map": "MAP_PETALBURG_WOODS",
+ "dest_warp_id": 1
+ },
+ {
+ "x": 10,
+ "y": 38,
+ "elevation": 3,
+ "dest_map": "MAP_PETALBURG_WOODS",
+ "dest_warp_id": 2
+ },
+ {
+ "x": 11,
+ "y": 38,
+ "elevation": 3,
+ "dest_map": "MAP_PETALBURG_WOODS",
+ "dest_warp_id": 3
+ },
+ {
+ "x": 32,
+ "y": 42,
+ "elevation": 3,
+ "dest_map": "MAP_PETALBURG_WOODS",
+ "dest_warp_id": 4
+ },
+ {
+ "x": 33,
+ "y": 42,
+ "elevation": 3,
+ "dest_map": "MAP_PETALBURG_WOODS",
+ "dest_warp_id": 5
+ }
+ ],
+ "coord_events": [],
+ "bg_events": [
+ {
+ "type": "sign",
+ "x": 20,
+ "y": 50,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "Route104_EventScript_14EF54"
+ },
+ {
+ "type": "sign",
+ "x": 27,
+ "y": 66,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "Route104_EventScript_14EF5D"
+ },
+ {
+ "type": "sign",
+ "x": 23,
+ "y": 5,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "Route104_EventScript_14EF66"
+ },
+ {
+ "type": "sign",
+ "x": 7,
+ "y": 20,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "Route104_EventScript_14EF6F"
+ },
+ {
+ "type": "sign",
+ "x": 17,
+ "y": 23,
+ "elevation": 3,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "Route104_EventScript_14EF78"
+ },
+ {
+ "type": "hidden_item",
+ "x": 7,
+ "y": 6,
+ "elevation": 3,
+ "item": "ITEM_SUPER_POTION",
+ "flag": "FLAG_HIDDEN_ITEM_2C"
+ },
+ {
+ "type": "hidden_item",
+ "x": 3,
+ "y": 9,
+ "elevation": 3,
+ "item": "ITEM_POKE_BALL",
+ "flag": "FLAG_HIDDEN_ITEM_3E"
+ },
+ {
+ "type": "hidden_item",
+ "x": 14,
+ "y": 55,
+ "elevation": 3,
+ "item": "ITEM_POTION",
+ "flag": "FLAG_HIDDEN_ITEM_25"
+ },
+ {
+ "type": "hidden_item",
+ "x": 16,
+ "y": 72,
+ "elevation": 3,
+ "item": "ITEM_ANTIDOTE",
+ "flag": "FLAG_HIDDEN_ITEM_55"
+ },
+ {
+ "type": "hidden_item",
+ "x": 16,
+ "y": 64,
+ "elevation": 3,
+ "item": "ITEM_HEART_SCALE",
+ "flag": "FLAG_HIDDEN_ITEM_58"
+ }
+ ]
+} \ No newline at end of file
diff --git a/data/maps/Route104_MrBrineysHouse/events.inc b/data/maps/Route104_MrBrineysHouse/events.inc
deleted file mode 100644
index bff32a029..000000000
--- a/data/maps/Route104_MrBrineysHouse/events.inc
+++ /dev/null
@@ -1,10 +0,0 @@
-Route104_MrBrineysHouse_EventObjects:: @ 838B654
- object_event 1, EVENT_OBJ_GFX_OLD_MAN_1, 0, 5, 3, 3, MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_LEFT_UP_RIGHT, 3, 3, 0, 0, Route104_MrBrineysHouse_EventScript_15BCEB, FLAG_HIDE_MR_BRINEY_ROUTE104_HOUSE
- object_event 2, EVENT_OBJ_GFX_WINGULL, 0, 6, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 3, 3, 0, 0, Route104_MrBrineysHouse_EventScript_15BDD1, FLAG_HIDE_PEEKO_BRINEY_HOUSE
-
-Route104_MrBrineysHouse_MapWarps:: @ 838B684
- warp_def 5, 8, 0, 0, MAP_ROUTE104
- warp_def 6, 8, 0, 0, MAP_ROUTE104
-
-Route104_MrBrineysHouse_MapEvents:: @ 838B694
- map_events Route104_MrBrineysHouse_EventObjects, Route104_MrBrineysHouse_MapWarps, 0x0, 0x0
diff --git a/data/maps/Route104_MrBrineysHouse/header.inc b/data/maps/Route104_MrBrineysHouse/header.inc
deleted file mode 100644
index 96dd9dc25..000000000
--- a/data/maps/Route104_MrBrineysHouse/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-Route104_MrBrineysHouse:: @ 8306C20
- .4byte Route104_MrBrineysHouse_Layout
- .4byte Route104_MrBrineysHouse_MapEvents
- .4byte Route104_MrBrineysHouse_MapScripts
- .4byte 0x0
- .2byte MUS_MACHI_S2
- .2byte 102
- .byte MAPSEC_ROUTE_104
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/Route104_MrBrineysHouse/map.json b/data/maps/Route104_MrBrineysHouse/map.json
new file mode 100644
index 000000000..55e841a63
--- /dev/null
+++ b/data/maps/Route104_MrBrineysHouse/map.json
@@ -0,0 +1,59 @@
+{
+ "id": "MAP_ROUTE104_MR_BRINEYS_HOUSE",
+ "name": "Route104_MrBrineysHouse",
+ "layout": "LAYOUT_ROUTE104_MR_BRINEYS_HOUSE",
+ "music": "MUS_MACHI_S2",
+ "region_map_section": "MAPSEC_ROUTE_104",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_OLD_MAN_1",
+ "x": 5,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_LEFT_UP_RIGHT",
+ "movement_range_x": 3,
+ "movement_range_y": 3,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route104_MrBrineysHouse_EventScript_15BCEB",
+ "flag": "FLAG_HIDE_MR_BRINEY_ROUTE104_HOUSE"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WINGULL",
+ "x": 6,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 3,
+ "movement_range_y": 3,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route104_MrBrineysHouse_EventScript_15BDD1",
+ "flag": "FLAG_HIDE_PEEKO_BRINEY_HOUSE"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 5,
+ "y": 8,
+ "elevation": 0,
+ "dest_map": "MAP_ROUTE104",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 6,
+ "y": 8,
+ "elevation": 0,
+ "dest_map": "MAP_ROUTE104",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/Route104_PrettyPetalFlowerShop/events.inc b/data/maps/Route104_PrettyPetalFlowerShop/events.inc
deleted file mode 100644
index 2af3c6c04..000000000
--- a/data/maps/Route104_PrettyPetalFlowerShop/events.inc
+++ /dev/null
@@ -1,11 +0,0 @@
-Route104_PrettyPetalFlowerShop_EventObjects:: @ 838B6A8
- object_event 1, EVENT_OBJ_GFX_WOMAN_3, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, Route104_PrettyPetalFlowerShop_EventScript_15BE0B, 0
- object_event 2, EVENT_OBJ_GFX_GIRL_3, 0, 7, 3, 3, MOVEMENT_TYPE_WANDER_LEFT_AND_RIGHT, 1, 0, 0, 0, Route104_PrettyPetalFlowerShop_EventScript_15BEA4, 0
- object_event 3, EVENT_OBJ_GFX_GIRL_1, 0, 11, 6, 4, MOVEMENT_TYPE_WANDER_AROUND, 2, 2, 0, 0, Route104_PrettyPetalFlowerShop_EventScript_15BEDA, 0
-
-Route104_PrettyPetalFlowerShop_MapWarps:: @ 838B6F0
- warp_def 2, 8, 0, 1, MAP_ROUTE104
- warp_def 3, 8, 0, 1, MAP_ROUTE104
-
-Route104_PrettyPetalFlowerShop_MapEvents:: @ 838B700
- map_events Route104_PrettyPetalFlowerShop_EventObjects, Route104_PrettyPetalFlowerShop_MapWarps, 0x0, 0x0
diff --git a/data/maps/Route104_PrettyPetalFlowerShop/header.inc b/data/maps/Route104_PrettyPetalFlowerShop/header.inc
deleted file mode 100644
index ffcb35f23..000000000
--- a/data/maps/Route104_PrettyPetalFlowerShop/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-Route104_PrettyPetalFlowerShop:: @ 8306C3C
- .4byte Route104_PrettyPetalFlowerShop_Layout
- .4byte Route104_PrettyPetalFlowerShop_MapEvents
- .4byte Route104_PrettyPetalFlowerShop_MapScripts
- .4byte 0x0
- .2byte MUS_MACHI_S2
- .2byte 118
- .byte MAPSEC_ROUTE_104
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/Route104_PrettyPetalFlowerShop/map.json b/data/maps/Route104_PrettyPetalFlowerShop/map.json
new file mode 100644
index 000000000..6dbcdeb34
--- /dev/null
+++ b/data/maps/Route104_PrettyPetalFlowerShop/map.json
@@ -0,0 +1,72 @@
+{
+ "id": "MAP_ROUTE104_PRETTY_PETAL_FLOWER_SHOP",
+ "name": "Route104_PrettyPetalFlowerShop",
+ "layout": "LAYOUT_ROUTE104_PRETTY_PETAL_FLOWER_SHOP",
+ "music": "MUS_MACHI_S2",
+ "region_map_section": "MAPSEC_ROUTE_104",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_3",
+ "x": 0,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route104_PrettyPetalFlowerShop_EventScript_15BE0B",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_GIRL_3",
+ "x": 7,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_LEFT_AND_RIGHT",
+ "movement_range_x": 1,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route104_PrettyPetalFlowerShop_EventScript_15BEA4",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_GIRL_1",
+ "x": 11,
+ "y": 6,
+ "elevation": 4,
+ "movement_type": "MOVEMENT_TYPE_WANDER_AROUND",
+ "movement_range_x": 2,
+ "movement_range_y": 2,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route104_PrettyPetalFlowerShop_EventScript_15BEDA",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 2,
+ "y": 8,
+ "elevation": 0,
+ "dest_map": "MAP_ROUTE104",
+ "dest_warp_id": 1
+ },
+ {
+ "x": 3,
+ "y": 8,
+ "elevation": 0,
+ "dest_map": "MAP_ROUTE104",
+ "dest_warp_id": 1
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/Route104_Prototype/events.inc b/data/maps/Route104_Prototype/events.inc
deleted file mode 100644
index ba5b77572..000000000
--- a/data/maps/Route104_Prototype/events.inc
+++ /dev/null
@@ -1,23 +0,0 @@
-Route104_Prototype_EventObjects:: @ 8391F2C
- object_event 1, EVENT_OBJ_GFX_WOMAN_3, 0, 27, 9, 3, MOVEMENT_TYPE_ROTATE_COUNTERCLOCKWISE, 0, 0, 1, 1, Route104_Prototype_EventScript_160D2E, 0
- object_event 2, EVENT_OBJ_GFX_LITTLE_GIRL_1, 0, 13, 9, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 1, 0, Route104_Prototype_EventScript_160D60, 0
- object_event 3, EVENT_OBJ_GFX_LITTLE_GIRL_1, 0, 13, 10, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 1, 0, Route104_Prototype_EventScript_160D60, 0
- object_event 4, EVENT_OBJ_GFX_HIKER, 0, 25, 21, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 1, 1, Route104_Prototype_EventScript_160D7B, 0
- object_event 5, EVENT_OBJ_GFX_WOMAN_3, 0, 16, 30, 3, MOVEMENT_TYPE_ROTATE_CLOCKWISE, 0, 0, 1, 1, Route104_Prototype_EventScript_160D92, 0
- object_event 6, EVENT_OBJ_GFX_HIKER, 0, 34, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 1, 3, Route104_Prototype_EventScript_160DA9, 0
- object_event 7, EVENT_OBJ_GFX_BOY_1, 0, 15, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, Route104_Prototype_EventScript_160C4B, 0
- object_event 8, EVENT_OBJ_GFX_GIRL_1, 0, 14, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, Route104_Prototype_EventScript_160CA3, 0
- object_event 9, EVENT_OBJ_GFX_LITTLE_GIRL_1, 0, 27, 29, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 1, 0, Route104_Prototype_EventScript_160D45, 0
- object_event 10, EVENT_OBJ_GFX_LITTLE_GIRL_1, 0, 26, 29, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 1, 0, Route104_Prototype_EventScript_160D45, 0
- object_event 11, EVENT_OBJ_GFX_BOY_1, 0, 17, 37, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, Route104_Prototype_EventScript_160D13, 0
- object_event 12, EVENT_OBJ_GFX_MAN_3, 0, 11, 28, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, Route104_Prototype_EventScript_160D0A, 0
-
-Route104_Prototype_MapWarps:: @ 839204C
- warp_def 5, 24, 0, 0, MAP_ROUTE104_PROTOTYPE_PRETTY_PETAL_FLOWER_SHOP
-
-Route104_Prototype_MapBGEvents:: @ 8392054
- bg_event 7, 26, 0, BG_EVENT_PLAYER_FACING_ANY, Route104_Prototype_EventScript_160D1C
- bg_event 18, 8, 0, BG_EVENT_PLAYER_FACING_ANY, Route104_Prototype_EventScript_160D25
-
-Route104_Prototype_MapEvents:: @ 839206C
- map_events Route104_Prototype_EventObjects, Route104_Prototype_MapWarps, 0x0, Route104_Prototype_MapBGEvents
diff --git a/data/maps/Route104_Prototype/header.inc b/data/maps/Route104_Prototype/header.inc
deleted file mode 100644
index 66dbd5222..000000000
--- a/data/maps/Route104_Prototype/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-Route104_Prototype:: @ 8307CF8
- .4byte Route104_Prototype_Layout
- .4byte Route104_Prototype_MapEvents
- .4byte Route104_Prototype_MapScripts
- .4byte 0x0
- .2byte MUS_NEXTROAD
- .2byte 288
- .byte MAPSEC_ROUTE_104
- .byte 0
- .byte WEATHER_SUNNY
- .byte MAP_TYPE_ROUTE
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/Route104_Prototype/map.json b/data/maps/Route104_Prototype/map.json
new file mode 100644
index 000000000..ba74f5320
--- /dev/null
+++ b/data/maps/Route104_Prototype/map.json
@@ -0,0 +1,199 @@
+{
+ "id": "MAP_ROUTE104_PROTOTYPE",
+ "name": "Route104_Prototype",
+ "layout": "LAYOUT_ROUTE104_PROTOTYPE",
+ "music": "MUS_NEXTROAD",
+ "region_map_section": "MAPSEC_ROUTE_104",
+ "requires_flash": false,
+ "weather": "WEATHER_SUNNY",
+ "map_type": "MAP_TYPE_ROUTE",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_3",
+ "x": 27,
+ "y": 9,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_ROTATE_COUNTERCLOCKWISE",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "1",
+ "script": "Route104_Prototype_EventScript_160D2E",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_LITTLE_GIRL_1",
+ "x": 13,
+ "y": 9,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route104_Prototype_EventScript_160D60",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_LITTLE_GIRL_1",
+ "x": 13,
+ "y": 10,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route104_Prototype_EventScript_160D60",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_HIKER",
+ "x": 25,
+ "y": 21,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "1",
+ "script": "Route104_Prototype_EventScript_160D7B",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_3",
+ "x": 16,
+ "y": 30,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_ROTATE_CLOCKWISE",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "1",
+ "script": "Route104_Prototype_EventScript_160D92",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_HIKER",
+ "x": 34,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "3",
+ "script": "Route104_Prototype_EventScript_160DA9",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BOY_1",
+ "x": 15,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route104_Prototype_EventScript_160C4B",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_GIRL_1",
+ "x": 14,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route104_Prototype_EventScript_160CA3",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_LITTLE_GIRL_1",
+ "x": 27,
+ "y": 29,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route104_Prototype_EventScript_160D45",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_LITTLE_GIRL_1",
+ "x": 26,
+ "y": 29,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route104_Prototype_EventScript_160D45",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BOY_1",
+ "x": 17,
+ "y": 37,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route104_Prototype_EventScript_160D13",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_3",
+ "x": 11,
+ "y": 28,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route104_Prototype_EventScript_160D0A",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 5,
+ "y": 24,
+ "elevation": 0,
+ "dest_map": "MAP_ROUTE104_PROTOTYPE_PRETTY_PETAL_FLOWER_SHOP",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [],
+ "bg_events": [
+ {
+ "type": "sign",
+ "x": 7,
+ "y": 26,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "Route104_Prototype_EventScript_160D1C"
+ },
+ {
+ "type": "sign",
+ "x": 18,
+ "y": 8,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "Route104_Prototype_EventScript_160D25"
+ }
+ ]
+} \ No newline at end of file
diff --git a/data/maps/Route104_PrototypePrettyPetalFlowerShop/events.inc b/data/maps/Route104_PrototypePrettyPetalFlowerShop/events.inc
deleted file mode 100644
index be85c689b..000000000
--- a/data/maps/Route104_PrototypePrettyPetalFlowerShop/events.inc
+++ /dev/null
@@ -1,9 +0,0 @@
-Route104_PrototypePrettyPetalFlowerShop_EventObjects:: @ 8392080
- object_event 1, EVENT_OBJ_GFX_GIRL_1, 0, 2, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, Route104_PrototypePrettyPetalFlowerShop_EventScript_160DC1, 0
-
-Route104_PrototypePrettyPetalFlowerShop_MapWarps:: @ 8392098
- warp_def 2, 8, 0, 0, MAP_ROUTE104_PROTOTYPE
- warp_def 3, 8, 0, 0, MAP_ROUTE104_PROTOTYPE
-
-Route104_PrototypePrettyPetalFlowerShop_MapEvents:: @ 83920A8
- map_events Route104_PrototypePrettyPetalFlowerShop_EventObjects, Route104_PrototypePrettyPetalFlowerShop_MapWarps, 0x0, 0x0
diff --git a/data/maps/Route104_PrototypePrettyPetalFlowerShop/header.inc b/data/maps/Route104_PrototypePrettyPetalFlowerShop/header.inc
deleted file mode 100644
index 8542522bc..000000000
--- a/data/maps/Route104_PrototypePrettyPetalFlowerShop/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-Route104_PrototypePrettyPetalFlowerShop:: @ 8307D14
- .4byte Route104_PrettyPetalFlowerShop_Layout
- .4byte Route104_PrototypePrettyPetalFlowerShop_MapEvents
- .4byte Route104_PrototypePrettyPetalFlowerShop_MapScripts
- .4byte 0x0
- .2byte MUS_NEXTROAD
- .2byte 118
- .byte MAPSEC_ROUTE_104
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/Route104_PrototypePrettyPetalFlowerShop/map.json b/data/maps/Route104_PrototypePrettyPetalFlowerShop/map.json
new file mode 100644
index 000000000..3b43b7439
--- /dev/null
+++ b/data/maps/Route104_PrototypePrettyPetalFlowerShop/map.json
@@ -0,0 +1,46 @@
+{
+ "id": "MAP_ROUTE104_PROTOTYPE_PRETTY_PETAL_FLOWER_SHOP",
+ "name": "Route104_PrototypePrettyPetalFlowerShop",
+ "layout": "LAYOUT_ROUTE104_PRETTY_PETAL_FLOWER_SHOP",
+ "music": "MUS_NEXTROAD",
+ "region_map_section": "MAPSEC_ROUTE_104",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_GIRL_1",
+ "x": 2,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route104_PrototypePrettyPetalFlowerShop_EventScript_160DC1",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 2,
+ "y": 8,
+ "elevation": 0,
+ "dest_map": "MAP_ROUTE104_PROTOTYPE",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 3,
+ "y": 8,
+ "elevation": 0,
+ "dest_map": "MAP_ROUTE104_PROTOTYPE",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/Route105/connections.inc b/data/maps/Route105/connections.inc
deleted file mode 100644
index dc0962e5f..000000000
--- a/data/maps/Route105/connections.inc
+++ /dev/null
@@ -1,7 +0,0 @@
-Route105_MapConnectionsList:: @ 83088A8
- connection up, 0, MAP_ROUTE104
- connection down, 0, MAP_ROUTE106
-
-Route105_MapConnections:: @ 83088C0
- .4byte 0x2
- .4byte Route105_MapConnectionsList
diff --git a/data/maps/Route105/events.inc b/data/maps/Route105/events.inc
deleted file mode 100644
index 720991748..000000000
--- a/data/maps/Route105/events.inc
+++ /dev/null
@@ -1,16 +0,0 @@
-Route105_EventObjects:: @ 8381854
- object_event 1, EVENT_OBJ_GFX_SWIMMER_M, 0, 18, 60, 1, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 1, 6, Route105_EventScript_14F2D2, 0
- object_event 2, EVENT_OBJ_GFX_SWIMMER_M, 0, 10, 44, 1, MOVEMENT_TYPE_WALK_LEFT_AND_RIGHT, 7, 0, 1, 3, Route105_EventScript_14F2E9, 0
- object_event 3, EVENT_OBJ_GFX_SWIMMER_F, 0, 26, 36, 1, MOVEMENT_TYPE_WALK_UP_AND_DOWN, 0, 7, 1, 3, Route105_EventScript_14F300, 0
- object_event 4, EVENT_OBJ_GFX_SWIMMER_F, 0, 19, 9, 1, MOVEMENT_TYPE_ROTATE_CLOCKWISE, 0, 5, 1, 3, Route105_EventScript_14F317, 0
- object_event 5, EVENT_OBJ_GFX_ITEM_BALL, 0, 8, 73, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route105_EventScript_1B1487, FLAG_ITEM_ROUTE105_1
- object_event 6, EVENT_OBJ_GFX_HIKER, 0, 12, 51, 3, MOVEMENT_TYPE_FACE_DOWN_AND_UP, 0, 0, 1, 3, Route105_EventScript_14F2BB, 0
-
-Route105_MapWarps:: @ 83818E4
- warp_def 9, 20, 0, 0, MAP_ISLAND_CAVE
-
-Route105_MapBGEvents:: @ 83818EC
- bg_hidden_item_event 15, 68, 3, ITEM_HEART_SCALE, FLAG_HIDDEN_ITEM_59
-
-Route105_MapEvents:: @ 83818F8
- map_events Route105_EventObjects, Route105_MapWarps, 0x0, Route105_MapBGEvents
diff --git a/data/maps/Route105/header.inc b/data/maps/Route105/header.inc
deleted file mode 100644
index 61177480e..000000000
--- a/data/maps/Route105/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-Route105:: @ 8305678
- .4byte Route105_Layout
- .4byte Route105_MapEvents
- .4byte Route105_MapScripts
- .4byte Route105_MapConnections
- .2byte MUS_NEXTROAD
- .2byte 21
- .byte MAPSEC_ROUTE_105
- .byte 0
- .byte WEATHER_SUNNY
- .byte MAP_TYPE_ROUTE
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/Route105/map.json b/data/maps/Route105/map.json
new file mode 100644
index 000000000..9b23945b3
--- /dev/null
+++ b/data/maps/Route105/map.json
@@ -0,0 +1,124 @@
+{
+ "id": "MAP_ROUTE105",
+ "name": "Route105",
+ "layout": "LAYOUT_ROUTE105",
+ "music": "MUS_NEXTROAD",
+ "region_map_section": "MAPSEC_ROUTE_105",
+ "requires_flash": false,
+ "weather": "WEATHER_SUNNY",
+ "map_type": "MAP_TYPE_ROUTE",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": [
+ {
+ "direction": "up",
+ "offset": 0,
+ "map": "MAP_ROUTE104"
+ },
+ {
+ "direction": "down",
+ "offset": 0,
+ "map": "MAP_ROUTE106"
+ }
+ ],
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_SWIMMER_M",
+ "x": 18,
+ "y": 60,
+ "elevation": 1,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "6",
+ "script": "Route105_EventScript_14F2D2",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_SWIMMER_M",
+ "x": 10,
+ "y": 44,
+ "elevation": 1,
+ "movement_type": "MOVEMENT_TYPE_WALK_LEFT_AND_RIGHT",
+ "movement_range_x": 7,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "3",
+ "script": "Route105_EventScript_14F2E9",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_SWIMMER_F",
+ "x": 26,
+ "y": 36,
+ "elevation": 1,
+ "movement_type": "MOVEMENT_TYPE_WALK_UP_AND_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 7,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "3",
+ "script": "Route105_EventScript_14F300",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_SWIMMER_F",
+ "x": 19,
+ "y": 9,
+ "elevation": 1,
+ "movement_type": "MOVEMENT_TYPE_ROTATE_CLOCKWISE",
+ "movement_range_x": 0,
+ "movement_range_y": 5,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "3",
+ "script": "Route105_EventScript_14F317",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ITEM_BALL",
+ "x": 8,
+ "y": 73,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route105_EventScript_1B1487",
+ "flag": "FLAG_ITEM_ROUTE105_1"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_HIKER",
+ "x": 12,
+ "y": 51,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN_AND_UP",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "3",
+ "script": "Route105_EventScript_14F2BB",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 9,
+ "y": 20,
+ "elevation": 0,
+ "dest_map": "MAP_ISLAND_CAVE",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [],
+ "bg_events": [
+ {
+ "type": "hidden_item",
+ "x": 15,
+ "y": 68,
+ "elevation": 3,
+ "item": "ITEM_HEART_SCALE",
+ "flag": "FLAG_HIDDEN_ITEM_59"
+ }
+ ]
+} \ No newline at end of file
diff --git a/data/maps/Route106/connections.inc b/data/maps/Route106/connections.inc
deleted file mode 100644
index 41adbb9d1..000000000
--- a/data/maps/Route106/connections.inc
+++ /dev/null
@@ -1,7 +0,0 @@
-Route106_MapConnectionsList:: @ 83088C8
- connection up, 0, MAP_ROUTE105
- connection down, 60, MAP_DEWFORD_TOWN
-
-Route106_MapConnections:: @ 83088E0
- .4byte 0x2
- .4byte Route106_MapConnectionsList
diff --git a/data/maps/Route106/events.inc b/data/maps/Route106/events.inc
deleted file mode 100644
index bac423c22..000000000
--- a/data/maps/Route106/events.inc
+++ /dev/null
@@ -1,18 +0,0 @@
-Route106_EventObjects:: @ 838190C
- object_event 1, EVENT_OBJ_GFX_SWIMMER_M, 0, 29, 11, 1, MOVEMENT_TYPE_WALK_LEFT_AND_RIGHT, 4, 0, 1, 3, Route106_EventScript_14F338, 0
- object_event 2, EVENT_OBJ_GFX_SWIMMER_F, 0, 18, 5, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 1, 3, Route106_EventScript_14F34F, 0
- object_event 3, EVENT_OBJ_GFX_FISHERMAN, 0, 51, 14, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 1, 4, Route106_EventScript_14F366, 0
- object_event 4, EVENT_OBJ_GFX_FISHERMAN, 0, 65, 14, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 1, 3, Route106_EventScript_14F3A4, 0
- object_event 5, EVENT_OBJ_GFX_ITEM_BALL, 0, 29, 14, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route106_EventScript_1B1494, FLAG_ITEM_ROUTE106_1
-
-Route106_MapWarps:: @ 8381984
- warp_def 48, 16, 0, 0, MAP_GRANITE_CAVE_1F
-
-Route106_MapBGEvents:: @ 838198C
- bg_hidden_item_event 41, 11, 3, ITEM_POKE_BALL, FLAG_HIDDEN_ITEM_3F
- bg_hidden_item_event 53, 12, 0, ITEM_STARDUST, FLAG_HIDDEN_ITEM_2E
- bg_hidden_item_event 68, 15, 3, ITEM_HEART_SCALE, FLAG_HIDDEN_ITEM_2F
- bg_event 59, 13, 3, BG_EVENT_PLAYER_FACING_ANY, Route106_EventScript_14F32F
-
-Route106_MapEvents:: @ 83819BC
- map_events Route106_EventObjects, Route106_MapWarps, 0x0, Route106_MapBGEvents
diff --git a/data/maps/Route106/header.inc b/data/maps/Route106/header.inc
deleted file mode 100644
index 1d787957b..000000000
--- a/data/maps/Route106/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-Route106:: @ 8305694
- .4byte Route106_Layout
- .4byte Route106_MapEvents
- .4byte Route106_MapScripts
- .4byte Route106_MapConnections
- .2byte MUS_NEXTROAD
- .2byte 22
- .byte MAPSEC_ROUTE_106
- .byte 0
- .byte WEATHER_SUNNY
- .byte MAP_TYPE_ROUTE
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/Route106/map.json b/data/maps/Route106/map.json
new file mode 100644
index 000000000..72ecc9cd7
--- /dev/null
+++ b/data/maps/Route106/map.json
@@ -0,0 +1,135 @@
+{
+ "id": "MAP_ROUTE106",
+ "name": "Route106",
+ "layout": "LAYOUT_ROUTE106",
+ "music": "MUS_NEXTROAD",
+ "region_map_section": "MAPSEC_ROUTE_106",
+ "requires_flash": false,
+ "weather": "WEATHER_SUNNY",
+ "map_type": "MAP_TYPE_ROUTE",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": [
+ {
+ "direction": "up",
+ "offset": 0,
+ "map": "MAP_ROUTE105"
+ },
+ {
+ "direction": "down",
+ "offset": 60,
+ "map": "MAP_DEWFORD_TOWN"
+ }
+ ],
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_SWIMMER_M",
+ "x": 29,
+ "y": 11,
+ "elevation": 1,
+ "movement_type": "MOVEMENT_TYPE_WALK_LEFT_AND_RIGHT",
+ "movement_range_x": 4,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "3",
+ "script": "Route106_EventScript_14F338",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_SWIMMER_F",
+ "x": 18,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "3",
+ "script": "Route106_EventScript_14F34F",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_FISHERMAN",
+ "x": 51,
+ "y": 14,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "4",
+ "script": "Route106_EventScript_14F366",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_FISHERMAN",
+ "x": 65,
+ "y": 14,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "3",
+ "script": "Route106_EventScript_14F3A4",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ITEM_BALL",
+ "x": 29,
+ "y": 14,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route106_EventScript_1B1494",
+ "flag": "FLAG_ITEM_ROUTE106_1"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 48,
+ "y": 16,
+ "elevation": 0,
+ "dest_map": "MAP_GRANITE_CAVE_1F",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [],
+ "bg_events": [
+ {
+ "type": "hidden_item",
+ "x": 41,
+ "y": 11,
+ "elevation": 3,
+ "item": "ITEM_POKE_BALL",
+ "flag": "FLAG_HIDDEN_ITEM_3F"
+ },
+ {
+ "type": "hidden_item",
+ "x": 53,
+ "y": 12,
+ "elevation": 0,
+ "item": "ITEM_STARDUST",
+ "flag": "FLAG_HIDDEN_ITEM_2E"
+ },
+ {
+ "type": "hidden_item",
+ "x": 68,
+ "y": 15,
+ "elevation": 3,
+ "item": "ITEM_HEART_SCALE",
+ "flag": "FLAG_HIDDEN_ITEM_2F"
+ },
+ {
+ "type": "sign",
+ "x": 59,
+ "y": 13,
+ "elevation": 3,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "Route106_EventScript_14F32F"
+ }
+ ]
+} \ No newline at end of file
diff --git a/data/maps/Route107/connections.inc b/data/maps/Route107/connections.inc
deleted file mode 100644
index c7c7174c1..000000000
--- a/data/maps/Route107/connections.inc
+++ /dev/null
@@ -1,7 +0,0 @@
-Route107_MapConnectionsList:: @ 83088E8
- connection left, 0, MAP_DEWFORD_TOWN
- connection right, 0, MAP_ROUTE108
-
-Route107_MapConnections:: @ 8308900
- .4byte 0x2
- .4byte Route107_MapConnectionsList
diff --git a/data/maps/Route107/events.inc b/data/maps/Route107/events.inc
deleted file mode 100644
index 9f98360d4..000000000
--- a/data/maps/Route107/events.inc
+++ /dev/null
@@ -1,10 +0,0 @@
-Route107_EventObjects:: @ 83819D0
- object_event 1, EVENT_OBJ_GFX_SWIMMER_M, 0, 27, 10, 1, MOVEMENT_TYPE_ROTATE_CLOCKWISE, 1, 1, 1, 3, Route107_EventScript_14F3BC, 0
- object_event 2, EVENT_OBJ_GFX_SWIMMER_M, 0, 38, 11, 1, MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_DOWN_LEFT_UP, 6, 2, 1, 2, Route107_EventScript_14F3D3, 0
- object_event 3, EVENT_OBJ_GFX_SWIMMER_F, 0, 50, 6, 1, MOVEMENT_TYPE_FACE_LEFT_AND_RIGHT, 0, 0, 1, 3, Route107_EventScript_14F411, 0
- object_event 4, EVENT_OBJ_GFX_SWIMMER_F, 0, 16, 11, 1, MOVEMENT_TYPE_FACE_UP, 0, 0, 1, 4, Route107_EventScript_14F428, 0
- object_event 5, EVENT_OBJ_GFX_SWIMMER_F, 0, 33, 4, 1, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 1, 0, Route107_EventScript_14F43F, 0
- object_event 6, EVENT_OBJ_GFX_TUBER_M_SWIMMING, 0, 32, 4, 1, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 1, 0, Route107_EventScript_14F45A, 0
-
-Route107_MapEvents:: @ 8381A60
- map_events Route107_EventObjects, 0x0, 0x0, 0x0
diff --git a/data/maps/Route107/header.inc b/data/maps/Route107/header.inc
deleted file mode 100644
index ed5263877..000000000
--- a/data/maps/Route107/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-Route107:: @ 83056B0
- .4byte Route107_Layout
- .4byte Route107_MapEvents
- .4byte Route107_MapScripts
- .4byte Route107_MapConnections
- .2byte MUS_NEXTROAD
- .2byte 23
- .byte MAPSEC_ROUTE_107
- .byte 0
- .byte WEATHER_SUNNY
- .byte MAP_TYPE_ROUTE
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/Route107/map.json b/data/maps/Route107/map.json
new file mode 100644
index 000000000..9d92a48c6
--- /dev/null
+++ b/data/maps/Route107/map.json
@@ -0,0 +1,107 @@
+{
+ "id": "MAP_ROUTE107",
+ "name": "Route107",
+ "layout": "LAYOUT_ROUTE107",
+ "music": "MUS_NEXTROAD",
+ "region_map_section": "MAPSEC_ROUTE_107",
+ "requires_flash": false,
+ "weather": "WEATHER_SUNNY",
+ "map_type": "MAP_TYPE_ROUTE",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": [
+ {
+ "direction": "left",
+ "offset": 0,
+ "map": "MAP_DEWFORD_TOWN"
+ },
+ {
+ "direction": "right",
+ "offset": 0,
+ "map": "MAP_ROUTE108"
+ }
+ ],
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_SWIMMER_M",
+ "x": 27,
+ "y": 10,
+ "elevation": 1,
+ "movement_type": "MOVEMENT_TYPE_ROTATE_CLOCKWISE",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "3",
+ "script": "Route107_EventScript_14F3BC",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_SWIMMER_M",
+ "x": 38,
+ "y": 11,
+ "elevation": 1,
+ "movement_type": "MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_DOWN_LEFT_UP",
+ "movement_range_x": 6,
+ "movement_range_y": 2,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "2",
+ "script": "Route107_EventScript_14F3D3",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_SWIMMER_F",
+ "x": 50,
+ "y": 6,
+ "elevation": 1,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT_AND_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "3",
+ "script": "Route107_EventScript_14F411",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_SWIMMER_F",
+ "x": 16,
+ "y": 11,
+ "elevation": 1,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "4",
+ "script": "Route107_EventScript_14F428",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_SWIMMER_F",
+ "x": 33,
+ "y": 4,
+ "elevation": 1,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route107_EventScript_14F43F",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_TUBER_M_SWIMMING",
+ "x": 32,
+ "y": 4,
+ "elevation": 1,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route107_EventScript_14F45A",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/Route108/connections.inc b/data/maps/Route108/connections.inc
deleted file mode 100644
index f5455457e..000000000
--- a/data/maps/Route108/connections.inc
+++ /dev/null
@@ -1,7 +0,0 @@
-Route108_MapConnectionsList:: @ 8308908
- connection left, 0, MAP_ROUTE107
- connection right, -40, MAP_ROUTE109
-
-Route108_MapConnections:: @ 8308920
- .4byte 0x2
- .4byte Route108_MapConnectionsList
diff --git a/data/maps/Route108/events.inc b/data/maps/Route108/events.inc
deleted file mode 100644
index 2d6ba0b35..000000000
--- a/data/maps/Route108/events.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-Route108_EventObjects:: @ 8381A74
- object_event 1, EVENT_OBJ_GFX_SWIMMER_M, 0, 17, 13, 1, MOVEMENT_TYPE_WALK_SEQUENCE_UP_LEFT_DOWN_RIGHT, 3, 3, 1, 3, Route108_EventScript_14F476, 0
- object_event 2, EVENT_OBJ_GFX_SWIMMER_F, 0, 8, 6, 1, MOVEMENT_TYPE_FACE_DOWN_AND_UP, 1, 1, 1, 3, Route108_EventScript_14F4A4, 0
- object_event 3, EVENT_OBJ_GFX_SWIMMER_M, 0, 50, 10, 1, MOVEMENT_TYPE_ROTATE_CLOCKWISE, 0, 0, 1, 3, Route108_EventScript_14F48D, 0
- object_event 4, EVENT_OBJ_GFX_SWIMMER_F, 0, 36, 12, 1, MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_UP_RIGHT_DOWN, 6, 3, 1, 3, Route108_EventScript_14F4BB, 0
-
-Route108_MapWarps:: @ 8381AD4
- warp_def 29, 6, 3, 0, MAP_ABANDONED_SHIP_DECK
-
-Route108_MapBGEvents:: @ 8381ADC
- bg_hidden_item_event 38, 14, 3, ITEM_RARE_CANDY, FLAG_HIDDEN_ITEM_56
-
-Route108_MapEvents:: @ 8381AE8
- map_events Route108_EventObjects, Route108_MapWarps, 0x0, Route108_MapBGEvents
diff --git a/data/maps/Route108/header.inc b/data/maps/Route108/header.inc
deleted file mode 100644
index 6df68bcc5..000000000
--- a/data/maps/Route108/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-Route108:: @ 83056CC
- .4byte Route108_Layout
- .4byte Route108_MapEvents
- .4byte Route108_MapScripts
- .4byte Route108_MapConnections
- .2byte MUS_NEXTROAD
- .2byte 24
- .byte MAPSEC_ROUTE_108
- .byte 0
- .byte WEATHER_SUNNY
- .byte MAP_TYPE_ROUTE
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/Route108/map.json b/data/maps/Route108/map.json
new file mode 100644
index 000000000..505462bb1
--- /dev/null
+++ b/data/maps/Route108/map.json
@@ -0,0 +1,98 @@
+{
+ "id": "MAP_ROUTE108",
+ "name": "Route108",
+ "layout": "LAYOUT_ROUTE108",
+ "music": "MUS_NEXTROAD",
+ "region_map_section": "MAPSEC_ROUTE_108",
+ "requires_flash": false,
+ "weather": "WEATHER_SUNNY",
+ "map_type": "MAP_TYPE_ROUTE",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": [
+ {
+ "direction": "left",
+ "offset": 0,
+ "map": "MAP_ROUTE107"
+ },
+ {
+ "direction": "right",
+ "offset": -40,
+ "map": "MAP_ROUTE109"
+ }
+ ],
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_SWIMMER_M",
+ "x": 17,
+ "y": 13,
+ "elevation": 1,
+ "movement_type": "MOVEMENT_TYPE_WALK_SEQUENCE_UP_LEFT_DOWN_RIGHT",
+ "movement_range_x": 3,
+ "movement_range_y": 3,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "3",
+ "script": "Route108_EventScript_14F476",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_SWIMMER_F",
+ "x": 8,
+ "y": 6,
+ "elevation": 1,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN_AND_UP",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "3",
+ "script": "Route108_EventScript_14F4A4",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_SWIMMER_M",
+ "x": 50,
+ "y": 10,
+ "elevation": 1,
+ "movement_type": "MOVEMENT_TYPE_ROTATE_CLOCKWISE",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "3",
+ "script": "Route108_EventScript_14F48D",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_SWIMMER_F",
+ "x": 36,
+ "y": 12,
+ "elevation": 1,
+ "movement_type": "MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_UP_RIGHT_DOWN",
+ "movement_range_x": 6,
+ "movement_range_y": 3,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "3",
+ "script": "Route108_EventScript_14F4BB",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 29,
+ "y": 6,
+ "elevation": 3,
+ "dest_map": "MAP_ABANDONED_SHIP_DECK",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [],
+ "bg_events": [
+ {
+ "type": "hidden_item",
+ "x": 38,
+ "y": 14,
+ "elevation": 3,
+ "item": "ITEM_RARE_CANDY",
+ "flag": "FLAG_HIDDEN_ITEM_56"
+ }
+ ]
+} \ No newline at end of file
diff --git a/data/maps/Route109/connections.inc b/data/maps/Route109/connections.inc
deleted file mode 100644
index 44a65da35..000000000
--- a/data/maps/Route109/connections.inc
+++ /dev/null
@@ -1,7 +0,0 @@
-Route109_MapConnectionsList:: @ 8308928
- connection up, 0, MAP_SLATEPORT_CITY
- connection left, 40, MAP_ROUTE108
-
-Route109_MapConnections:: @ 8308940
- .4byte 0x2
- .4byte Route109_MapConnectionsList
diff --git a/data/maps/Route109/events.inc b/data/maps/Route109/events.inc
deleted file mode 100644
index 8bc876f7f..000000000
--- a/data/maps/Route109/events.inc
+++ /dev/null
@@ -1,37 +0,0 @@
-Route109_EventObjects:: @ 8381AFC
- object_event 1, EVENT_OBJ_GFX_MR_BRINEYS_BOAT, 0, 21, 26, 1, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, 0x0, FLAG_HIDE_MR_BRINEY_BOAT_ROUTE109
- object_event 2, EVENT_OBJ_GFX_OLD_MAN_1, 0, 21, 24, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, Route109_EventScript_14F680, FLAG_HIDE_MR_BRINEY_ROUTE109
- object_event 3, EVENT_OBJ_GFX_SWIMMER_M, 0, 12, 36, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 1, 5, Route109_EventScript_14F7AD, 0
- object_event 4, EVENT_OBJ_GFX_SWIMMER_F, 0, 25, 42, 3, MOVEMENT_TYPE_FACE_UP_AND_LEFT, 0, 0, 1, 5, Route109_EventScript_14F7C4, 0
- object_event 5, EVENT_OBJ_GFX_SAILOR, 0, 19, 19, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 1, 4, Route109_EventScript_14F7DB, 0
- object_event 6, EVENT_OBJ_GFX_SAILOR, 0, 14, 11, 4, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 1, 1, Route109_EventScript_14F7F2, 0
- object_event 7, EVENT_OBJ_GFX_TUBER_M, 0, 21, 11, 3, MOVEMENT_TYPE_ROTATE_COUNTERCLOCKWISE, 0, 0, 1, 3, Route109_EventScript_14F809, 0
- object_event 8, EVENT_OBJ_GFX_TUBER_F, 0, 28, 8, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 1, 4, Route109_EventScript_14F847, 0
- object_event 9, EVENT_OBJ_GFX_LITTLE_GIRL_2, 0, 11, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, Route109_EventScript_14F705, 0
- object_event 10, EVENT_OBJ_GFX_ITEM_BALL, 0, 27, 48, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route109_EventScript_1B14A1, FLAG_ITEM_ROUTE109_1
- object_event 11, EVENT_OBJ_GFX_TUBER_F, 0, 29, 32, 3, MOVEMENT_TYPE_FACE_DOWN_AND_UP, 0, 0, 1, 3, Route109_EventScript_14F89C, 0
- object_event 12, EVENT_OBJ_GFX_TUBER_F, 0, 28, 31, 3, MOVEMENT_TYPE_FACE_DOWN_AND_LEFT, 0, 0, 1, 3, Route109_EventScript_14F885, 0
- object_event 13, EVENT_OBJ_GFX_FISHERMAN, 0, 15, 52, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 1, 0, Route109_EventScript_14F8B3, 0
- object_event 14, EVENT_OBJ_GFX_TUBER_M, 0, 24, 17, 3, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 0, 0, Route109_EventScript_14F70E, 0
- object_event 15, EVENT_OBJ_GFX_TUBER_F, 0, 25, 17, 3, MOVEMENT_TYPE_FACE_LEFT, 1, 1, 0, 0, Route109_EventScript_14F725, 0
- object_event 16, EVENT_OBJ_GFX_WOMAN_2, 0, 30, 32, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, Route109_EventScript_14F776, 0
- object_event 17, EVENT_OBJ_GFX_WOMAN_5, 0, 8, 41, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 1, 0, Route109_EventScript_14F8E5, 0
- object_event 18, EVENT_OBJ_GFX_MAN_5, 0, 9, 41, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 1, 0, Route109_EventScript_14F8CA, 0
- object_event 19, EVENT_OBJ_GFX_OLD_MAN_2, 0, 33, 6, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route109_EventScript_14F77F, 0
- object_event 20, EVENT_OBJ_GFX_ZIGZAGOON, 0, 32, 6, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route109_EventScript_14F788, 0
-
-Route109_MapWarps:: @ 8381CDC
- warp_def 12, 5, 0, 0, MAP_ROUTE109_SEASHORE_HOUSE
-
-Route109_MapBGEvents:: @ 8381CE4
- bg_event 15, 5, 0, BG_EVENT_PLAYER_FACING_ANY, Route109_EventScript_14F79B
- bg_event 29, 10, 3, BG_EVENT_PLAYER_FACING_ANY, Route109_EventScript_14F7A4
- bg_hidden_item_event 16, 23, 3, ITEM_REVIVE, FLAG_HIDDEN_ITEM_32
- bg_hidden_item_event 33, 5, 3, ITEM_HEART_SCALE, FLAG_HIDDEN_ITEM_34
- bg_hidden_item_event 9, 10, 3, ITEM_GREAT_BALL, FLAG_HIDDEN_ITEM_33
- bg_hidden_item_event 28, 20, 3, ITEM_ETHER, FLAG_HIDDEN_ITEM_40
- bg_hidden_item_event 13, 16, 3, ITEM_HEART_SCALE, FLAG_HIDDEN_ITEM_5A
- bg_hidden_item_event 8, 42, 3, ITEM_HEART_SCALE, FLAG_HIDDEN_ITEM_5B
-
-Route109_MapEvents:: @ 8381D44
- map_events Route109_EventObjects, Route109_MapWarps, 0x0, Route109_MapBGEvents
diff --git a/data/maps/Route109/header.inc b/data/maps/Route109/header.inc
deleted file mode 100644
index 9a18273b6..000000000
--- a/data/maps/Route109/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-Route109:: @ 83056E8
- .4byte Route109_Layout
- .4byte Route109_MapEvents
- .4byte Route109_MapScripts
- .4byte Route109_MapConnections
- .2byte MUS_NEXTROAD
- .2byte 25
- .byte MAPSEC_ROUTE_109
- .byte 0
- .byte WEATHER_SUNNY
- .byte MAP_TYPE_ROUTE
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/Route109/map.json b/data/maps/Route109/map.json
new file mode 100644
index 000000000..f6ba28567
--- /dev/null
+++ b/data/maps/Route109/map.json
@@ -0,0 +1,362 @@
+{
+ "id": "MAP_ROUTE109",
+ "name": "Route109",
+ "layout": "LAYOUT_ROUTE109",
+ "music": "MUS_NEXTROAD",
+ "region_map_section": "MAPSEC_ROUTE_109",
+ "requires_flash": false,
+ "weather": "WEATHER_SUNNY",
+ "map_type": "MAP_TYPE_ROUTE",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": [
+ {
+ "direction": "up",
+ "offset": 0,
+ "map": "MAP_SLATEPORT_CITY"
+ },
+ {
+ "direction": "left",
+ "offset": 40,
+ "map": "MAP_ROUTE108"
+ }
+ ],
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MR_BRINEYS_BOAT",
+ "x": 21,
+ "y": 26,
+ "elevation": 1,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_HIDE_MR_BRINEY_BOAT_ROUTE109"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_OLD_MAN_1",
+ "x": 21,
+ "y": 24,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route109_EventScript_14F680",
+ "flag": "FLAG_HIDE_MR_BRINEY_ROUTE109"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_SWIMMER_M",
+ "x": 12,
+ "y": 36,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "5",
+ "script": "Route109_EventScript_14F7AD",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_SWIMMER_F",
+ "x": 25,
+ "y": 42,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP_AND_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "5",
+ "script": "Route109_EventScript_14F7C4",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_SAILOR",
+ "x": 19,
+ "y": 19,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "4",
+ "script": "Route109_EventScript_14F7DB",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_SAILOR",
+ "x": 14,
+ "y": 11,
+ "elevation": 4,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "1",
+ "script": "Route109_EventScript_14F7F2",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_TUBER_M",
+ "x": 21,
+ "y": 11,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_ROTATE_COUNTERCLOCKWISE",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "3",
+ "script": "Route109_EventScript_14F809",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_TUBER_F",
+ "x": 28,
+ "y": 8,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "4",
+ "script": "Route109_EventScript_14F847",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_LITTLE_GIRL_2",
+ "x": 11,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route109_EventScript_14F705",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ITEM_BALL",
+ "x": 27,
+ "y": 48,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route109_EventScript_1B14A1",
+ "flag": "FLAG_ITEM_ROUTE109_1"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_TUBER_F",
+ "x": 29,
+ "y": 32,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN_AND_UP",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "3",
+ "script": "Route109_EventScript_14F89C",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_TUBER_F",
+ "x": 28,
+ "y": 31,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN_AND_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "3",
+ "script": "Route109_EventScript_14F885",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_FISHERMAN",
+ "x": 15,
+ "y": 52,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route109_EventScript_14F8B3",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_TUBER_M",
+ "x": 24,
+ "y": 17,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route109_EventScript_14F70E",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_TUBER_F",
+ "x": 25,
+ "y": 17,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route109_EventScript_14F725",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_2",
+ "x": 30,
+ "y": 32,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route109_EventScript_14F776",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_5",
+ "x": 8,
+ "y": 41,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route109_EventScript_14F8E5",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_5",
+ "x": 9,
+ "y": 41,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route109_EventScript_14F8CA",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_OLD_MAN_2",
+ "x": 33,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route109_EventScript_14F77F",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ZIGZAGOON",
+ "x": 32,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route109_EventScript_14F788",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 12,
+ "y": 5,
+ "elevation": 0,
+ "dest_map": "MAP_ROUTE109_SEASHORE_HOUSE",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [],
+ "bg_events": [
+ {
+ "type": "sign",
+ "x": 15,
+ "y": 5,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "Route109_EventScript_14F79B"
+ },
+ {
+ "type": "sign",
+ "x": 29,
+ "y": 10,
+ "elevation": 3,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "Route109_EventScript_14F7A4"
+ },
+ {
+ "type": "hidden_item",
+ "x": 16,
+ "y": 23,
+ "elevation": 3,
+ "item": "ITEM_REVIVE",
+ "flag": "FLAG_HIDDEN_ITEM_32"
+ },
+ {
+ "type": "hidden_item",
+ "x": 33,
+ "y": 5,
+ "elevation": 3,
+ "item": "ITEM_HEART_SCALE",
+ "flag": "FLAG_HIDDEN_ITEM_34"
+ },
+ {
+ "type": "hidden_item",
+ "x": 9,
+ "y": 10,
+ "elevation": 3,
+ "item": "ITEM_GREAT_BALL",
+ "flag": "FLAG_HIDDEN_ITEM_33"
+ },
+ {
+ "type": "hidden_item",
+ "x": 28,
+ "y": 20,
+ "elevation": 3,
+ "item": "ITEM_ETHER",
+ "flag": "FLAG_HIDDEN_ITEM_40"
+ },
+ {
+ "type": "hidden_item",
+ "x": 13,
+ "y": 16,
+ "elevation": 3,
+ "item": "ITEM_HEART_SCALE",
+ "flag": "FLAG_HIDDEN_ITEM_5A"
+ },
+ {
+ "type": "hidden_item",
+ "x": 8,
+ "y": 42,
+ "elevation": 3,
+ "item": "ITEM_HEART_SCALE",
+ "flag": "FLAG_HIDDEN_ITEM_5B"
+ }
+ ]
+} \ No newline at end of file
diff --git a/data/maps/Route109_SeashoreHouse/events.inc b/data/maps/Route109_SeashoreHouse/events.inc
deleted file mode 100644
index b62a1b372..000000000
--- a/data/maps/Route109_SeashoreHouse/events.inc
+++ /dev/null
@@ -1,12 +0,0 @@
-Route109_SeashoreHouse_EventObjects:: @ 83920BC
- object_event 1, EVENT_OBJ_GFX_MAN_3, 0, 6, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, Route109_SeashoreHouse_EventScript_160DD4, 0
- object_event 2, EVENT_OBJ_GFX_SAILOR, 0, 2, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 1, 2, Route109_SeashoreHouse_EventScript_160EB8, 0
- object_event 3, EVENT_OBJ_GFX_TUBER_M, 0, 14, 9, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 1, 2, Route109_SeashoreHouse_EventScript_160EEE, 0
- object_event 4, EVENT_OBJ_GFX_BEAUTY, 0, 10, 5, 3, MOVEMENT_TYPE_FACE_LEFT_AND_RIGHT, 0, 0, 1, 2, Route109_SeashoreHouse_EventScript_160ED3, 0
-
-Route109_SeashoreHouse_MapWarps:: @ 839211C
- warp_def 6, 9, 0, 0, MAP_ROUTE109
- warp_def 7, 9, 0, 0, MAP_ROUTE109
-
-Route109_SeashoreHouse_MapEvents:: @ 839212C
- map_events Route109_SeashoreHouse_EventObjects, Route109_SeashoreHouse_MapWarps, 0x0, 0x0
diff --git a/data/maps/Route109_SeashoreHouse/header.inc b/data/maps/Route109_SeashoreHouse/header.inc
deleted file mode 100644
index 0f199bb4c..000000000
--- a/data/maps/Route109_SeashoreHouse/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-Route109_SeashoreHouse:: @ 8307D30
- .4byte Route109_SeashoreHouse_Layout
- .4byte Route109_SeashoreHouse_MapEvents
- .4byte Route109_SeashoreHouse_MapScripts
- .4byte 0x0
- .2byte MUS_HIGHTOWN
- .2byte 244
- .byte MAPSEC_ROUTE_109
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/Route109_SeashoreHouse/map.json b/data/maps/Route109_SeashoreHouse/map.json
new file mode 100644
index 000000000..f13c989a7
--- /dev/null
+++ b/data/maps/Route109_SeashoreHouse/map.json
@@ -0,0 +1,85 @@
+{
+ "id": "MAP_ROUTE109_SEASHORE_HOUSE",
+ "name": "Route109_SeashoreHouse",
+ "layout": "LAYOUT_ROUTE109_SEASHORE_HOUSE",
+ "music": "MUS_HIGHTOWN",
+ "region_map_section": "MAPSEC_ROUTE_109",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_3",
+ "x": 6,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route109_SeashoreHouse_EventScript_160DD4",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_SAILOR",
+ "x": 2,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "2",
+ "script": "Route109_SeashoreHouse_EventScript_160EB8",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_TUBER_M",
+ "x": 14,
+ "y": 9,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "2",
+ "script": "Route109_SeashoreHouse_EventScript_160EEE",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BEAUTY",
+ "x": 10,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT_AND_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "2",
+ "script": "Route109_SeashoreHouse_EventScript_160ED3",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 6,
+ "y": 9,
+ "elevation": 0,
+ "dest_map": "MAP_ROUTE109",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 7,
+ "y": 9,
+ "elevation": 0,
+ "dest_map": "MAP_ROUTE109",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/Route110/connections.inc b/data/maps/Route110/connections.inc
deleted file mode 100644
index 9ba85fdbc..000000000
--- a/data/maps/Route110/connections.inc
+++ /dev/null
@@ -1,8 +0,0 @@
-Route110_MapConnectionsList:: @ 8308948
- connection up, 0, MAP_MAUVILLE_CITY
- connection down, 0, MAP_SLATEPORT_CITY
- connection left, 60, MAP_ROUTE103
-
-Route110_MapConnections:: @ 830896C
- .4byte 0x3
- .4byte Route110_MapConnectionsList
diff --git a/data/maps/Route110/events.inc b/data/maps/Route110/events.inc
deleted file mode 100644
index f164df80b..000000000
--- a/data/maps/Route110/events.inc
+++ /dev/null
@@ -1,69 +0,0 @@
-Route110_EventObjects:: @ 8381D58
- object_event 1, EVENT_OBJ_GFX_CAMPER, 0, 17, 90, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, Route110_EventScript_14F9D4, 0
- object_event 2, EVENT_OBJ_GFX_CYCLING_TRIATHLETE_M, 0, 29, 79, 4, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, Route110_EventScript_14F9CB, 0
- object_event 3, EVENT_OBJ_GFX_OLD_WOMAN_1, 0, 14, 69, 3, MOVEMENT_TYPE_WANDER_UP_AND_DOWN, 0, 1, 0, 0, Route110_EventScript_14F9C2, 0
- object_event 4, EVENT_OBJ_GFX_CYCLING_TRIATHLETE_M, 0, 9, 57, 4, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, Route110_EventScript_14F9B0, 0
- object_event 5, EVENT_OBJ_GFX_OLD_MAN_1, 0, 10, 11, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, Route110_EventScript_14F9B9, 0
- object_event 6, EVENT_OBJ_GFX_CYCLING_TRIATHLETE_F, 0, 27, 24, 4, MOVEMENT_TYPE_WANDER_AROUND, 1, 3, 0, 0, Route110_EventScript_14F9A7, 0
- object_event 7, EVENT_OBJ_GFX_BOY_3, 0, 15, 7, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, Route110_EventScript_14F99E, 0
- object_event 8, EVENT_OBJ_GFX_CYCLING_TRIATHLETE_F, 0, 16, 73, 4, MOVEMENT_TYPE_WALK_SEQUENCE_UP_RIGHT_DOWN_LEFT, 2, 14, 1, 3, Route110_EventScript_14FB7D, 0
- object_event 9, EVENT_OBJ_GFX_CYCLING_TRIATHLETE_M, 0, 19, 31, 4, MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_UP_RIGHT_DOWN, 10, 1, 1, 3, Route110_EventScript_14FB28, 0
- object_event 10, EVENT_OBJ_GFX_CYCLING_TRIATHLETE_F, 0, 30, 31, 4, MOVEMENT_TYPE_FACE_LEFT, 1, 1, 1, 4, Route110_EventScript_14FB94, 0
- object_event 11, EVENT_OBJ_GFX_CYCLING_TRIATHLETE_M, 0, 16, 55, 4, MOVEMENT_TYPE_WALK_SEQUENCE_UP_LEFT_DOWN_RIGHT, 4, 4, 1, 3, Route110_EventScript_14FB3F, 0
- object_event 12, EVENT_OBJ_GFX_PSYCHIC_M, 0, 5, 39, 3, MOVEMENT_TYPE_ROTATE_COUNTERCLOCKWISE, 0, 0, 1, 3, Route110_EventScript_14FA8E, 0
- object_event 13, EVENT_OBJ_GFX_LASS, 0, 33, 15, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 1, 1, Route110_EventScript_14FAA5, 0
- object_event 14, EVENT_OBJ_GFX_MANIAC, 0, 23, 40, 3, MOVEMENT_TYPE_FACE_DOWN_UP_AND_RIGHT, 0, 0, 1, 3, Route110_EventScript_14FABC, 0
- object_event 15, EVENT_OBJ_GFX_FISHERMAN, 0, 10, 19, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 1, 1, Route110_EventScript_14FAFA, 0
- object_event 16, EVENT_OBJ_GFX_BERRY_TREE, 0, 5, 11, 3, MOVEMENT_TYPE_BERRY_TREE_GROWTH, 0, 0, 0, 16, S_BerryTree, 0
- object_event 17, EVENT_OBJ_GFX_BERRY_TREE, 0, 6, 11, 3, MOVEMENT_TYPE_BERRY_TREE_GROWTH, 0, 0, 0, 17, S_BerryTree, 0
- object_event 18, EVENT_OBJ_GFX_BERRY_TREE, 0, 7, 11, 3, MOVEMENT_TYPE_BERRY_TREE_GROWTH, 0, 0, 0, 18, S_BerryTree, 0
- object_event 19, EVENT_OBJ_GFX_ITEM_BALL, 0, 30, 69, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route110_EventScript_1B14BB, FLAG_ITEM_ROUTE110_2
- object_event 20, EVENT_OBJ_GFX_ITEM_BALL, 0, 26, 47, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route110_EventScript_1B14AE, FLAG_ITEM_ROUTE110_1
- object_event 21, EVENT_OBJ_GFX_CYCLING_TRIATHLETE_M, 0, 27, 92, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, Route110_EventScript_14FA53, 0
- object_event 22, EVENT_OBJ_GFX_VAR_1, 0, 7, 83, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, Route110_EventScript_14F946, FLAG_HIDE_EVIL_TEAM_ROUTE110
- object_event 23, EVENT_OBJ_GFX_VAR_1, 0, 8, 83, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, Route110_EventScript_14F95C, FLAG_HIDE_EVIL_TEAM_ROUTE110
- object_event 24, EVENT_OBJ_GFX_VAR_1, 0, 9, 83, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, Route110_EventScript_14F972, FLAG_HIDE_EVIL_TEAM_ROUTE110
- object_event 25, EVENT_OBJ_GFX_VAR_1, 0, 10, 83, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, Route110_EventScript_14F988, FLAG_HIDE_EVIL_TEAM_ROUTE110
- object_event 26, EVENT_OBJ_GFX_VAR_1, 0, 8, 82, 0, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_HIDE_EVIL_TEAM_ROUTE110
- object_event 27, EVENT_OBJ_GFX_CYCLING_TRIATHLETE_M, 0, 21, 78, 4, MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_UP_RIGHT_DOWN, 7, 1, 1, 2, Route110_EventScript_14FB11, 0
- object_event 28, EVENT_OBJ_GFX_VAR_0, 0, 34, 54, 3, MOVEMENT_TYPE_FACE_LEFT_AND_RIGHT, 0, 0, 0, 0, 0x0, FLAG_HIDE_RIVAL_ROUTE110
- object_event 29, EVENT_OBJ_GFX_VAR_3, 0, 34, 54, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_HIDE_RIVAL_ON_BIKE_ROUTE110
- object_event 30, EVENT_OBJ_GFX_YOUNGSTER, 0, 33, 69, 3, MOVEMENT_TYPE_FACE_LEFT_AND_RIGHT, 0, 0, 1, 3, Route110_EventScript_14FC10, 0
- object_event 31, EVENT_OBJ_GFX_WOMAN_2, 0, 11, 73, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 1, 4, Route110_EventScript_14FBD2, 0
-
-Route110_MapWarps:: @ 8382040
- warp_def 35, 24, 3, 0, MAP_NEW_MAUVILLE_ENTRANCE
- warp_def 11, 66, 0, 0, MAP_ROUTE110_TRICK_HOUSE_ENTRANCE
- warp_def 15, 16, 0, 0, MAP_ROUTE110_SEASIDE_CYCLING_ROAD_NORTH_ENTRANCE
- warp_def 18, 16, 0, 2, MAP_ROUTE110_SEASIDE_CYCLING_ROAD_NORTH_ENTRANCE
- warp_def 16, 88, 0, 0, MAP_ROUTE110_SEASIDE_CYCLING_ROAD_SOUTH_ENTRANCE
- warp_def 19, 88, 0, 2, MAP_ROUTE110_SEASIDE_CYCLING_ROAD_SOUTH_ENTRANCE
-
-Route110_MapCoordEvents:: @ 8382070
- coord_event 28, 92, 3, VAR_CYCLING_CHALLENGE_STATE, 2, Route110_EventScript_14FC27
- coord_event 29, 92, 3, VAR_CYCLING_CHALLENGE_STATE, 2, Route110_EventScript_14FC27
- coord_event 33, 56, 3, VAR_ROUTE110_STATE, 0, Route110_EventScript_14FD13
- coord_event 34, 56, 3, VAR_ROUTE110_STATE, 0, Route110_EventScript_14FD1E
- coord_event 35, 56, 3, VAR_ROUTE110_STATE, 0, Route110_EventScript_14FD29
-
-Route110_MapBGEvents:: @ 83820C0
- bg_event 15, 25, 0, BG_EVENT_PLAYER_FACING_ANY, Route110_EventScript_14F9EF
- bg_event 9, 51, 0, BG_EVENT_PLAYER_FACING_ANY, Route110_EventScript_14FA01
- bg_event 14, 88, 0, BG_EVENT_PLAYER_FACING_ANY, Route110_EventScript_14F9E6
- bg_event 20, 94, 0, BG_EVENT_PLAYER_FACING_ANY, Route110_EventScript_14F9DD
- bg_event 7, 75, 0, BG_EVENT_PLAYER_FACING_ANY, Route110_EventScript_14F9F8
- bg_event 3, 17, 0, BG_EVENT_PLAYER_FACING_ANY, Route110_EventScript_14FA0A
- bg_secret_base_event 16, 25, 0, SECRET_BASE_TREE3_1
- bg_secret_base_event 17, 25, 0, SECRET_BASE_TREE4_1
- bg_event 35, 39, 3, BG_EVENT_PLAYER_FACING_ANY, Route110_EventScript_14FA13
- bg_event 37, 70, 3, BG_EVENT_PLAYER_FACING_ANY, Route110_EventScript_14FA1C
- bg_event 8, 67, 0, BG_EVENT_PLAYER_FACING_ANY, Route110_EventScript_14FA25
- bg_event 32, 93, 0, BG_EVENT_PLAYER_FACING_ANY, Route110_EventScript_14FA2E
- bg_hidden_item_event 26, 40, 3, ITEM_REVIVE, FLAG_HIDDEN_ITEM_36
- bg_hidden_item_event 34, 42, 3, ITEM_GREAT_BALL, FLAG_HIDDEN_ITEM_35
- bg_hidden_item_event 4, 35, 3, ITEM_POKE_BALL, FLAG_HIDDEN_ITEM_41
- bg_hidden_item_event 37, 67, 3, ITEM_FULL_HEAL, FLAG_HIDDEN_ITEM_37
- bg_event 13, 16, 0, BG_EVENT_PLAYER_FACING_ANY, Route110_EventScript_14F9E6
-
-Route110_MapEvents:: @ 838218C
- map_events Route110_EventObjects, Route110_MapWarps, Route110_MapCoordEvents, Route110_MapBGEvents
diff --git a/data/maps/Route110/header.inc b/data/maps/Route110/header.inc
deleted file mode 100644
index 112b177ff..000000000
--- a/data/maps/Route110/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-Route110:: @ 8305704
- .4byte Route110_Layout
- .4byte Route110_MapEvents
- .4byte Route110_MapScripts
- .4byte Route110_MapConnections
- .2byte MUS_DOORO_X1
- .2byte 26
- .byte MAPSEC_ROUTE_110
- .byte 0
- .byte WEATHER_SUNNY
- .byte MAP_TYPE_ROUTE
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/Route110/map.json b/data/maps/Route110/map.json
new file mode 100644
index 000000000..39771ce64
--- /dev/null
+++ b/data/maps/Route110/map.json
@@ -0,0 +1,661 @@
+{
+ "id": "MAP_ROUTE110",
+ "name": "Route110",
+ "layout": "LAYOUT_ROUTE110",
+ "music": "MUS_DOORO_X1",
+ "region_map_section": "MAPSEC_ROUTE_110",
+ "requires_flash": false,
+ "weather": "WEATHER_SUNNY",
+ "map_type": "MAP_TYPE_ROUTE",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": [
+ {
+ "direction": "up",
+ "offset": 0,
+ "map": "MAP_MAUVILLE_CITY"
+ },
+ {
+ "direction": "down",
+ "offset": 0,
+ "map": "MAP_SLATEPORT_CITY"
+ },
+ {
+ "direction": "left",
+ "offset": 60,
+ "map": "MAP_ROUTE103"
+ }
+ ],
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_CAMPER",
+ "x": 17,
+ "y": 90,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route110_EventScript_14F9D4",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_CYCLING_TRIATHLETE_M",
+ "x": 29,
+ "y": 79,
+ "elevation": 4,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route110_EventScript_14F9CB",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_OLD_WOMAN_1",
+ "x": 14,
+ "y": 69,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_UP_AND_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route110_EventScript_14F9C2",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_CYCLING_TRIATHLETE_M",
+ "x": 9,
+ "y": 57,
+ "elevation": 4,
+ "movement_type": "MOVEMENT_TYPE_WANDER_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route110_EventScript_14F9B0",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_OLD_MAN_1",
+ "x": 10,
+ "y": 11,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route110_EventScript_14F9B9",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_CYCLING_TRIATHLETE_F",
+ "x": 27,
+ "y": 24,
+ "elevation": 4,
+ "movement_type": "MOVEMENT_TYPE_WANDER_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 3,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route110_EventScript_14F9A7",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BOY_3",
+ "x": 15,
+ "y": 7,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route110_EventScript_14F99E",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_CYCLING_TRIATHLETE_F",
+ "x": 16,
+ "y": 73,
+ "elevation": 4,
+ "movement_type": "MOVEMENT_TYPE_WALK_SEQUENCE_UP_RIGHT_DOWN_LEFT",
+ "movement_range_x": 2,
+ "movement_range_y": 14,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "3",
+ "script": "Route110_EventScript_14FB7D",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_CYCLING_TRIATHLETE_M",
+ "x": 19,
+ "y": 31,
+ "elevation": 4,
+ "movement_type": "MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_UP_RIGHT_DOWN",
+ "movement_range_x": 10,
+ "movement_range_y": 1,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "3",
+ "script": "Route110_EventScript_14FB28",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_CYCLING_TRIATHLETE_F",
+ "x": 30,
+ "y": 31,
+ "elevation": 4,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "4",
+ "script": "Route110_EventScript_14FB94",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_CYCLING_TRIATHLETE_M",
+ "x": 16,
+ "y": 55,
+ "elevation": 4,
+ "movement_type": "MOVEMENT_TYPE_WALK_SEQUENCE_UP_LEFT_DOWN_RIGHT",
+ "movement_range_x": 4,
+ "movement_range_y": 4,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "3",
+ "script": "Route110_EventScript_14FB3F",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_PSYCHIC_M",
+ "x": 5,
+ "y": 39,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_ROTATE_COUNTERCLOCKWISE",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "3",
+ "script": "Route110_EventScript_14FA8E",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_LASS",
+ "x": 33,
+ "y": 15,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "1",
+ "script": "Route110_EventScript_14FAA5",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MANIAC",
+ "x": 23,
+ "y": 40,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN_UP_AND_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "3",
+ "script": "Route110_EventScript_14FABC",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_FISHERMAN",
+ "x": 10,
+ "y": 19,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "1",
+ "script": "Route110_EventScript_14FAFA",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BERRY_TREE",
+ "x": 5,
+ "y": 11,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_BERRY_TREE_GROWTH",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "16",
+ "script": "S_BerryTree",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BERRY_TREE",
+ "x": 6,
+ "y": 11,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_BERRY_TREE_GROWTH",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "17",
+ "script": "S_BerryTree",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BERRY_TREE",
+ "x": 7,
+ "y": 11,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_BERRY_TREE_GROWTH",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "18",
+ "script": "S_BerryTree",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ITEM_BALL",
+ "x": 30,
+ "y": 69,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route110_EventScript_1B14BB",
+ "flag": "FLAG_ITEM_ROUTE110_2"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ITEM_BALL",
+ "x": 26,
+ "y": 47,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route110_EventScript_1B14AE",
+ "flag": "FLAG_ITEM_ROUTE110_1"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_CYCLING_TRIATHLETE_M",
+ "x": 27,
+ "y": 92,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route110_EventScript_14FA53",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_1",
+ "x": 7,
+ "y": 83,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route110_EventScript_14F946",
+ "flag": "FLAG_HIDE_EVIL_TEAM_ROUTE110"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_1",
+ "x": 8,
+ "y": 83,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route110_EventScript_14F95C",
+ "flag": "FLAG_HIDE_EVIL_TEAM_ROUTE110"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_1",
+ "x": 9,
+ "y": 83,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route110_EventScript_14F972",
+ "flag": "FLAG_HIDE_EVIL_TEAM_ROUTE110"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_1",
+ "x": 10,
+ "y": 83,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route110_EventScript_14F988",
+ "flag": "FLAG_HIDE_EVIL_TEAM_ROUTE110"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_1",
+ "x": 8,
+ "y": 82,
+ "elevation": 0,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_HIDE_EVIL_TEAM_ROUTE110"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_CYCLING_TRIATHLETE_M",
+ "x": 21,
+ "y": 78,
+ "elevation": 4,
+ "movement_type": "MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_UP_RIGHT_DOWN",
+ "movement_range_x": 7,
+ "movement_range_y": 1,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "2",
+ "script": "Route110_EventScript_14FB11",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_0",
+ "x": 34,
+ "y": 54,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT_AND_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_HIDE_RIVAL_ROUTE110"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_3",
+ "x": 34,
+ "y": 54,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_HIDE_RIVAL_ON_BIKE_ROUTE110"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_YOUNGSTER",
+ "x": 33,
+ "y": 69,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT_AND_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "3",
+ "script": "Route110_EventScript_14FC10",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_2",
+ "x": 11,
+ "y": 73,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "4",
+ "script": "Route110_EventScript_14FBD2",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 35,
+ "y": 24,
+ "elevation": 3,
+ "dest_map": "MAP_NEW_MAUVILLE_ENTRANCE",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 11,
+ "y": 66,
+ "elevation": 0,
+ "dest_map": "MAP_ROUTE110_TRICK_HOUSE_ENTRANCE",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 15,
+ "y": 16,
+ "elevation": 0,
+ "dest_map": "MAP_ROUTE110_SEASIDE_CYCLING_ROAD_NORTH_ENTRANCE",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 18,
+ "y": 16,
+ "elevation": 0,
+ "dest_map": "MAP_ROUTE110_SEASIDE_CYCLING_ROAD_NORTH_ENTRANCE",
+ "dest_warp_id": 2
+ },
+ {
+ "x": 16,
+ "y": 88,
+ "elevation": 0,
+ "dest_map": "MAP_ROUTE110_SEASIDE_CYCLING_ROAD_SOUTH_ENTRANCE",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 19,
+ "y": 88,
+ "elevation": 0,
+ "dest_map": "MAP_ROUTE110_SEASIDE_CYCLING_ROAD_SOUTH_ENTRANCE",
+ "dest_warp_id": 2
+ }
+ ],
+ "coord_events": [
+ {
+ "type": "trigger",
+ "x": 28,
+ "y": 92,
+ "elevation": 3,
+ "var": "VAR_CYCLING_CHALLENGE_STATE",
+ "var_value": "2",
+ "script": "Route110_EventScript_14FC27"
+ },
+ {
+ "type": "trigger",
+ "x": 29,
+ "y": 92,
+ "elevation": 3,
+ "var": "VAR_CYCLING_CHALLENGE_STATE",
+ "var_value": "2",
+ "script": "Route110_EventScript_14FC27"
+ },
+ {
+ "type": "trigger",
+ "x": 33,
+ "y": 56,
+ "elevation": 3,
+ "var": "VAR_ROUTE110_STATE",
+ "var_value": "0",
+ "script": "Route110_EventScript_14FD13"
+ },
+ {
+ "type": "trigger",
+ "x": 34,
+ "y": 56,
+ "elevation": 3,
+ "var": "VAR_ROUTE110_STATE",
+ "var_value": "0",
+ "script": "Route110_EventScript_14FD1E"
+ },
+ {
+ "type": "trigger",
+ "x": 35,
+ "y": 56,
+ "elevation": 3,
+ "var": "VAR_ROUTE110_STATE",
+ "var_value": "0",
+ "script": "Route110_EventScript_14FD29"
+ }
+ ],
+ "bg_events": [
+ {
+ "type": "sign",
+ "x": 15,
+ "y": 25,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "Route110_EventScript_14F9EF"
+ },
+ {
+ "type": "sign",
+ "x": 9,
+ "y": 51,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "Route110_EventScript_14FA01"
+ },
+ {
+ "type": "sign",
+ "x": 14,
+ "y": 88,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "Route110_EventScript_14F9E6"
+ },
+ {
+ "type": "sign",
+ "x": 20,
+ "y": 94,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "Route110_EventScript_14F9DD"
+ },
+ {
+ "type": "sign",
+ "x": 7,
+ "y": 75,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "Route110_EventScript_14F9F8"
+ },
+ {
+ "type": "sign",
+ "x": 3,
+ "y": 17,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "Route110_EventScript_14FA0A"
+ },
+ {
+ "type": "secret_base",
+ "x": 16,
+ "y": 25,
+ "elevation": 0,
+ "secret_base_id": "SECRET_BASE_TREE3_1"
+ },
+ {
+ "type": "secret_base",
+ "x": 17,
+ "y": 25,
+ "elevation": 0,
+ "secret_base_id": "SECRET_BASE_TREE4_1"
+ },
+ {
+ "type": "sign",
+ "x": 35,
+ "y": 39,
+ "elevation": 3,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "Route110_EventScript_14FA13"
+ },
+ {
+ "type": "sign",
+ "x": 37,
+ "y": 70,
+ "elevation": 3,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "Route110_EventScript_14FA1C"
+ },
+ {
+ "type": "sign",
+ "x": 8,
+ "y": 67,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "Route110_EventScript_14FA25"
+ },
+ {
+ "type": "sign",
+ "x": 32,
+ "y": 93,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "Route110_EventScript_14FA2E"
+ },
+ {
+ "type": "hidden_item",
+ "x": 26,
+ "y": 40,
+ "elevation": 3,
+ "item": "ITEM_REVIVE",
+ "flag": "FLAG_HIDDEN_ITEM_36"
+ },
+ {
+ "type": "hidden_item",
+ "x": 34,
+ "y": 42,
+ "elevation": 3,
+ "item": "ITEM_GREAT_BALL",
+ "flag": "FLAG_HIDDEN_ITEM_35"
+ },
+ {
+ "type": "hidden_item",
+ "x": 4,
+ "y": 35,
+ "elevation": 3,
+ "item": "ITEM_POKE_BALL",
+ "flag": "FLAG_HIDDEN_ITEM_41"
+ },
+ {
+ "type": "hidden_item",
+ "x": 37,
+ "y": 67,
+ "elevation": 3,
+ "item": "ITEM_FULL_HEAL",
+ "flag": "FLAG_HIDDEN_ITEM_37"
+ },
+ {
+ "type": "sign",
+ "x": 13,
+ "y": 16,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "Route110_EventScript_14F9E6"
+ }
+ ]
+} \ No newline at end of file
diff --git a/data/maps/Route110_SeasideCyclingRoadNorthEntrance/events.inc b/data/maps/Route110_SeasideCyclingRoadNorthEntrance/events.inc
deleted file mode 100644
index 1eb0e9c40..000000000
--- a/data/maps/Route110_SeasideCyclingRoadNorthEntrance/events.inc
+++ /dev/null
@@ -1,15 +0,0 @@
-Route110_SeasideCyclingRoadNorthEntrance_EventObjects:: @ 8392CAC
- object_event 1, EVENT_OBJ_GFX_MART_EMPLOYEE, 0, 7, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, Route110_SeasideCyclingRoadNorthEntrance_EventScript_1634EB, 0
-
-Route110_SeasideCyclingRoadNorthEntrance_MapWarps:: @ 8392CC4
- warp_def 1, 5, 0, 2, MAP_ROUTE110
- warp_def 2, 5, 0, 2, MAP_ROUTE110
- warp_def 12, 5, 0, 3, MAP_ROUTE110
- warp_def 13, 5, 0, 3, MAP_ROUTE110
-
-Route110_SeasideCyclingRoadNorthEntrance_MapCoordEvents:: @ 8392CE4
- coord_event 7, 4, 3, VAR_TEMP_1, 0, Route110_SeasideCyclingRoadNorthEntrance_EventScript_1634F7
- coord_event 5, 4, 3, VAR_TEMP_1, 1, Route110_SeasideCyclingRoadNorthEntrance_EventScript_16353A
-
-Route110_SeasideCyclingRoadNorthEntrance_MapEvents:: @ 8392D04
- map_events Route110_SeasideCyclingRoadNorthEntrance_EventObjects, Route110_SeasideCyclingRoadNorthEntrance_MapWarps, Route110_SeasideCyclingRoadNorthEntrance_MapCoordEvents, 0x0
diff --git a/data/maps/Route110_SeasideCyclingRoadNorthEntrance/header.inc b/data/maps/Route110_SeasideCyclingRoadNorthEntrance/header.inc
deleted file mode 100644
index c8093ca03..000000000
--- a/data/maps/Route110_SeasideCyclingRoadNorthEntrance/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-Route110_SeasideCyclingRoadNorthEntrance:: @ 8307E9C
- .4byte Route110_SeasideCyclingRoadEntrace_Layout
- .4byte Route110_SeasideCyclingRoadNorthEntrance_MapEvents
- .4byte Route110_SeasideCyclingRoadNorthEntrance_MapScripts
- .4byte 0x0
- .2byte MUS_FINECITY
- .2byte 257
- .byte MAPSEC_ROUTE_110
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/Route110_SeasideCyclingRoadNorthEntrance/map.json b/data/maps/Route110_SeasideCyclingRoadNorthEntrance/map.json
new file mode 100644
index 000000000..9cbe4c81e
--- /dev/null
+++ b/data/maps/Route110_SeasideCyclingRoadNorthEntrance/map.json
@@ -0,0 +1,79 @@
+{
+ "id": "MAP_ROUTE110_SEASIDE_CYCLING_ROAD_NORTH_ENTRANCE",
+ "name": "Route110_SeasideCyclingRoadNorthEntrance",
+ "layout": "LAYOUT_ROUTE110_SEASIDE_CYCLING_ROAD_ENTRACE",
+ "music": "MUS_FINECITY",
+ "region_map_section": "MAPSEC_ROUTE_110",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MART_EMPLOYEE",
+ "x": 7,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route110_SeasideCyclingRoadNorthEntrance_EventScript_1634EB",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 1,
+ "y": 5,
+ "elevation": 0,
+ "dest_map": "MAP_ROUTE110",
+ "dest_warp_id": 2
+ },
+ {
+ "x": 2,
+ "y": 5,
+ "elevation": 0,
+ "dest_map": "MAP_ROUTE110",
+ "dest_warp_id": 2
+ },
+ {
+ "x": 12,
+ "y": 5,
+ "elevation": 0,
+ "dest_map": "MAP_ROUTE110",
+ "dest_warp_id": 3
+ },
+ {
+ "x": 13,
+ "y": 5,
+ "elevation": 0,
+ "dest_map": "MAP_ROUTE110",
+ "dest_warp_id": 3
+ }
+ ],
+ "coord_events": [
+ {
+ "type": "trigger",
+ "x": 7,
+ "y": 4,
+ "elevation": 3,
+ "var": "VAR_TEMP_1",
+ "var_value": "0",
+ "script": "Route110_SeasideCyclingRoadNorthEntrance_EventScript_1634F7"
+ },
+ {
+ "type": "trigger",
+ "x": 5,
+ "y": 4,
+ "elevation": 3,
+ "var": "VAR_TEMP_1",
+ "var_value": "1",
+ "script": "Route110_SeasideCyclingRoadNorthEntrance_EventScript_16353A"
+ }
+ ],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/Route110_SeasideCyclingRoadSouthEntrance/events.inc b/data/maps/Route110_SeasideCyclingRoadSouthEntrance/events.inc
deleted file mode 100644
index 998927469..000000000
--- a/data/maps/Route110_SeasideCyclingRoadSouthEntrance/events.inc
+++ /dev/null
@@ -1,15 +0,0 @@
-Route110_SeasideCyclingRoadSouthEntrance_EventObjects:: @ 8392C40
- object_event 1, EVENT_OBJ_GFX_MART_EMPLOYEE, 0, 7, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, Route110_SeasideCyclingRoadSouthEntrance_EventScript_16347F, 0
-
-Route110_SeasideCyclingRoadSouthEntrance_MapWarps:: @ 8392C58
- warp_def 1, 5, 0, 4, MAP_ROUTE110
- warp_def 2, 5, 0, 4, MAP_ROUTE110
- warp_def 12, 5, 0, 5, MAP_ROUTE110
- warp_def 13, 5, 0, 5, MAP_ROUTE110
-
-Route110_SeasideCyclingRoadSouthEntrance_MapCoordEvents:: @ 8392C78
- coord_event 7, 4, 3, VAR_TEMP_1, 0, Route110_SeasideCyclingRoadSouthEntrance_EventScript_16348B
- coord_event 5, 4, 3, VAR_TEMP_1, 1, Route110_SeasideCyclingRoadSouthEntrance_EventScript_1634BD
-
-Route110_SeasideCyclingRoadSouthEntrance_MapEvents:: @ 8392C98
- map_events Route110_SeasideCyclingRoadSouthEntrance_EventObjects, Route110_SeasideCyclingRoadSouthEntrance_MapWarps, Route110_SeasideCyclingRoadSouthEntrance_MapCoordEvents, 0x0
diff --git a/data/maps/Route110_SeasideCyclingRoadSouthEntrance/header.inc b/data/maps/Route110_SeasideCyclingRoadSouthEntrance/header.inc
deleted file mode 100644
index 3c7464315..000000000
--- a/data/maps/Route110_SeasideCyclingRoadSouthEntrance/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-Route110_SeasideCyclingRoadSouthEntrance:: @ 8307E80
- .4byte Route110_SeasideCyclingRoadEntrace_Layout
- .4byte Route110_SeasideCyclingRoadSouthEntrance_MapEvents
- .4byte Route110_SeasideCyclingRoadSouthEntrance_MapScripts
- .4byte 0x0
- .2byte MUS_FINECITY
- .2byte 257
- .byte MAPSEC_ROUTE_110
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/Route110_SeasideCyclingRoadSouthEntrance/map.json b/data/maps/Route110_SeasideCyclingRoadSouthEntrance/map.json
new file mode 100644
index 000000000..ab14ffdb0
--- /dev/null
+++ b/data/maps/Route110_SeasideCyclingRoadSouthEntrance/map.json
@@ -0,0 +1,79 @@
+{
+ "id": "MAP_ROUTE110_SEASIDE_CYCLING_ROAD_SOUTH_ENTRANCE",
+ "name": "Route110_SeasideCyclingRoadSouthEntrance",
+ "layout": "LAYOUT_ROUTE110_SEASIDE_CYCLING_ROAD_ENTRACE",
+ "music": "MUS_FINECITY",
+ "region_map_section": "MAPSEC_ROUTE_110",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MART_EMPLOYEE",
+ "x": 7,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route110_SeasideCyclingRoadSouthEntrance_EventScript_16347F",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 1,
+ "y": 5,
+ "elevation": 0,
+ "dest_map": "MAP_ROUTE110",
+ "dest_warp_id": 4
+ },
+ {
+ "x": 2,
+ "y": 5,
+ "elevation": 0,
+ "dest_map": "MAP_ROUTE110",
+ "dest_warp_id": 4
+ },
+ {
+ "x": 12,
+ "y": 5,
+ "elevation": 0,
+ "dest_map": "MAP_ROUTE110",
+ "dest_warp_id": 5
+ },
+ {
+ "x": 13,
+ "y": 5,
+ "elevation": 0,
+ "dest_map": "MAP_ROUTE110",
+ "dest_warp_id": 5
+ }
+ ],
+ "coord_events": [
+ {
+ "type": "trigger",
+ "x": 7,
+ "y": 4,
+ "elevation": 3,
+ "var": "VAR_TEMP_1",
+ "var_value": "0",
+ "script": "Route110_SeasideCyclingRoadSouthEntrance_EventScript_16348B"
+ },
+ {
+ "type": "trigger",
+ "x": 5,
+ "y": 4,
+ "elevation": 3,
+ "var": "VAR_TEMP_1",
+ "var_value": "1",
+ "script": "Route110_SeasideCyclingRoadSouthEntrance_EventScript_1634BD"
+ }
+ ],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/Route110_TrickHouseCorridor/events.inc b/data/maps/Route110_TrickHouseCorridor/events.inc
deleted file mode 100644
index 4b7e39efd..000000000
--- a/data/maps/Route110_TrickHouseCorridor/events.inc
+++ /dev/null
@@ -1,8 +0,0 @@
-Route110_TrickHouseCorridor_MapWarps:: @ 8392228
- warp_def 13, 3, 3, 1, MAP_ROUTE110_TRICK_HOUSE_END
- warp_def 14, 3, 3, 1, MAP_ROUTE110_TRICK_HOUSE_END
- warp_def 4, 23, 3, 2, MAP_ROUTE110_TRICK_HOUSE_ENTRANCE
- warp_def 5, 23, 3, 2, MAP_ROUTE110_TRICK_HOUSE_ENTRANCE
-
-Route110_TrickHouseCorridor_MapEvents:: @ 8392248
- map_events 0x0, Route110_TrickHouseCorridor_MapWarps, 0x0, 0x0
diff --git a/data/maps/Route110_TrickHouseCorridor/header.inc b/data/maps/Route110_TrickHouseCorridor/header.inc
deleted file mode 100644
index da8c48b0b..000000000
--- a/data/maps/Route110_TrickHouseCorridor/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-Route110_TrickHouseCorridor:: @ 8307D84
- .4byte Route110_TrickHouseCorridor_Layout
- .4byte Route110_TrickHouseCorridor_MapEvents
- .4byte Route110_TrickHouseCorridor_MapScripts
- .4byte 0x0
- .2byte MUS_KARAKURI
- .2byte 247
- .byte MAPSEC_ROUTE_110
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/Route110_TrickHouseCorridor/map.json b/data/maps/Route110_TrickHouseCorridor/map.json
new file mode 100644
index 000000000..027edb4dc
--- /dev/null
+++ b/data/maps/Route110_TrickHouseCorridor/map.json
@@ -0,0 +1,46 @@
+{
+ "id": "MAP_ROUTE110_TRICK_HOUSE_CORRIDOR",
+ "name": "Route110_TrickHouseCorridor",
+ "layout": "LAYOUT_ROUTE110_TRICK_HOUSE_CORRIDOR",
+ "music": "MUS_KARAKURI",
+ "region_map_section": "MAPSEC_ROUTE_110",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [],
+ "warp_events": [
+ {
+ "x": 13,
+ "y": 3,
+ "elevation": 3,
+ "dest_map": "MAP_ROUTE110_TRICK_HOUSE_END",
+ "dest_warp_id": 1
+ },
+ {
+ "x": 14,
+ "y": 3,
+ "elevation": 3,
+ "dest_map": "MAP_ROUTE110_TRICK_HOUSE_END",
+ "dest_warp_id": 1
+ },
+ {
+ "x": 4,
+ "y": 23,
+ "elevation": 3,
+ "dest_map": "MAP_ROUTE110_TRICK_HOUSE_ENTRANCE",
+ "dest_warp_id": 2
+ },
+ {
+ "x": 5,
+ "y": 23,
+ "elevation": 3,
+ "dest_map": "MAP_ROUTE110_TRICK_HOUSE_ENTRANCE",
+ "dest_warp_id": 2
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/Route110_TrickHouseEnd/events.inc b/data/maps/Route110_TrickHouseEnd/events.inc
deleted file mode 100644
index 21e894a34..000000000
--- a/data/maps/Route110_TrickHouseEnd/events.inc
+++ /dev/null
@@ -1,15 +0,0 @@
-Route110_TrickHouseEnd_EventObjects:: @ 83921D0
- object_event 1, EVENT_OBJ_GFX_MAN_1, 0, 4, 5, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, Route110_TrickHouseEnd_EventScript_16199E, FLAG_HIDE_TRICKMASTER_END
-
-Route110_TrickHouseEnd_MapWarps:: @ 83921E8
- warp_def 10, 1, 3, 2, MAP_ROUTE110_TRICK_HOUSE_PUZZLE1
- warp_def 2, 1, 3, 0, MAP_ROUTE110_TRICK_HOUSE_CORRIDOR
-
-Route110_TrickHouseEnd_MapCoordEvents:: @ 83921F8
- coord_event 2, 2, 3, VAR_TEMP_2, 0, Route110_TrickHouseEnd_EventScript_161CA0
-
-Route110_TrickHouseEnd_MapBGEvents:: @ 8392208
- bg_hidden_item_event 4, 5, 3, ITEM_NUGGET, FLAG_HIDDEN_ITEM_1
-
-Route110_TrickHouseEnd_MapEvents:: @ 8392214
- map_events Route110_TrickHouseEnd_EventObjects, Route110_TrickHouseEnd_MapWarps, Route110_TrickHouseEnd_MapCoordEvents, Route110_TrickHouseEnd_MapBGEvents
diff --git a/data/maps/Route110_TrickHouseEnd/header.inc b/data/maps/Route110_TrickHouseEnd/header.inc
deleted file mode 100644
index 933182d35..000000000
--- a/data/maps/Route110_TrickHouseEnd/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-Route110_TrickHouseEnd:: @ 8307D68
- .4byte Route110_TrickHouseEnd_Layout
- .4byte Route110_TrickHouseEnd_MapEvents
- .4byte Route110_TrickHouseEnd_MapScripts
- .4byte 0x0
- .2byte MUS_KARAKURI
- .2byte 246
- .byte MAPSEC_ROUTE_110
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/Route110_TrickHouseEnd/map.json b/data/maps/Route110_TrickHouseEnd/map.json
new file mode 100644
index 000000000..588dd24c6
--- /dev/null
+++ b/data/maps/Route110_TrickHouseEnd/map.json
@@ -0,0 +1,65 @@
+{
+ "id": "MAP_ROUTE110_TRICK_HOUSE_END",
+ "name": "Route110_TrickHouseEnd",
+ "layout": "LAYOUT_ROUTE110_TRICK_HOUSE_END",
+ "music": "MUS_KARAKURI",
+ "region_map_section": "MAPSEC_ROUTE_110",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_1",
+ "x": 4,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route110_TrickHouseEnd_EventScript_16199E",
+ "flag": "FLAG_HIDE_TRICKMASTER_END"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 10,
+ "y": 1,
+ "elevation": 3,
+ "dest_map": "MAP_ROUTE110_TRICK_HOUSE_PUZZLE1",
+ "dest_warp_id": 2
+ },
+ {
+ "x": 2,
+ "y": 1,
+ "elevation": 3,
+ "dest_map": "MAP_ROUTE110_TRICK_HOUSE_CORRIDOR",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [
+ {
+ "type": "trigger",
+ "x": 2,
+ "y": 2,
+ "elevation": 3,
+ "var": "VAR_TEMP_2",
+ "var_value": "0",
+ "script": "Route110_TrickHouseEnd_EventScript_161CA0"
+ }
+ ],
+ "bg_events": [
+ {
+ "type": "hidden_item",
+ "x": 4,
+ "y": 5,
+ "elevation": 3,
+ "item": "ITEM_NUGGET",
+ "flag": "FLAG_HIDDEN_ITEM_1"
+ }
+ ]
+} \ No newline at end of file
diff --git a/data/maps/Route110_TrickHouseEntrance/events.inc b/data/maps/Route110_TrickHouseEntrance/events.inc
deleted file mode 100644
index 64679678f..000000000
--- a/data/maps/Route110_TrickHouseEntrance/events.inc
+++ /dev/null
@@ -1,19 +0,0 @@
-Route110_TrickHouseEntrance_EventObjects:: @ 8392140
- object_event 1, EVENT_OBJ_GFX_MAN_1, 0, 6, 2, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, Route110_TrickHouseEntrance_EventScript_16121A, FLAG_HIDE_TRICKMASTER_ENTRANCE
-
-Route110_TrickHouseEntrance_MapWarps:: @ 8392158
- warp_def 5, 7, 3, 1, MAP_ROUTE110
- warp_def 6, 7, 3, 1, MAP_ROUTE110
- warp_def 5, 2, 3, 0, MAP_ROUTE110_TRICK_HOUSE_PUZZLE1
-
-Route110_TrickHouseEntrance_MapCoordEvents:: @ 8392170
- coord_event 4, 7, 3, VAR_TRICK_HOUSE_ENTRANCE_STATE, 0, Route110_TrickHouseEntrance_EventScript_1618B0
- coord_event 5, 6, 3, VAR_TRICK_HOUSE_ENTRANCE_STATE, 0, Route110_TrickHouseEntrance_EventScript_1618B0
- coord_event 6, 6, 3, VAR_TRICK_HOUSE_ENTRANCE_STATE, 0, Route110_TrickHouseEntrance_EventScript_1618B0
- coord_event 7, 7, 3, VAR_TRICK_HOUSE_ENTRANCE_STATE, 0, Route110_TrickHouseEntrance_EventScript_1618B0
-
-Route110_TrickHouseEntrance_MapBGEvents:: @ 83921B0
- bg_event 5, 1, 0, BG_EVENT_PLAYER_FACING_NORTH, Route110_TrickHouseEntrance_EventScript_16158A
-
-Route110_TrickHouseEntrance_MapEvents:: @ 83921BC
- map_events Route110_TrickHouseEntrance_EventObjects, Route110_TrickHouseEntrance_MapWarps, Route110_TrickHouseEntrance_MapCoordEvents, Route110_TrickHouseEntrance_MapBGEvents
diff --git a/data/maps/Route110_TrickHouseEntrance/header.inc b/data/maps/Route110_TrickHouseEntrance/header.inc
deleted file mode 100644
index 01cbcc037..000000000
--- a/data/maps/Route110_TrickHouseEntrance/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-Route110_TrickHouseEntrance:: @ 8307D4C
- .4byte Route110_TrickHouseEntrance_Layout
- .4byte Route110_TrickHouseEntrance_MapEvents
- .4byte Route110_TrickHouseEntrance_MapScripts
- .4byte 0x0
- .2byte MUS_KARAKURI
- .2byte 245
- .byte MAPSEC_ROUTE_110
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/Route110_TrickHouseEntrance/map.json b/data/maps/Route110_TrickHouseEntrance/map.json
new file mode 100644
index 000000000..115382d52
--- /dev/null
+++ b/data/maps/Route110_TrickHouseEntrance/map.json
@@ -0,0 +1,99 @@
+{
+ "id": "MAP_ROUTE110_TRICK_HOUSE_ENTRANCE",
+ "name": "Route110_TrickHouseEntrance",
+ "layout": "LAYOUT_ROUTE110_TRICK_HOUSE_ENTRANCE",
+ "music": "MUS_KARAKURI",
+ "region_map_section": "MAPSEC_ROUTE_110",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_1",
+ "x": 6,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route110_TrickHouseEntrance_EventScript_16121A",
+ "flag": "FLAG_HIDE_TRICKMASTER_ENTRANCE"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 5,
+ "y": 7,
+ "elevation": 3,
+ "dest_map": "MAP_ROUTE110",
+ "dest_warp_id": 1
+ },
+ {
+ "x": 6,
+ "y": 7,
+ "elevation": 3,
+ "dest_map": "MAP_ROUTE110",
+ "dest_warp_id": 1
+ },
+ {
+ "x": 5,
+ "y": 2,
+ "elevation": 3,
+ "dest_map": "MAP_ROUTE110_TRICK_HOUSE_PUZZLE1",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [
+ {
+ "type": "trigger",
+ "x": 4,
+ "y": 7,
+ "elevation": 3,
+ "var": "VAR_TRICK_HOUSE_ENTRANCE_STATE",
+ "var_value": "0",
+ "script": "Route110_TrickHouseEntrance_EventScript_1618B0"
+ },
+ {
+ "type": "trigger",
+ "x": 5,
+ "y": 6,
+ "elevation": 3,
+ "var": "VAR_TRICK_HOUSE_ENTRANCE_STATE",
+ "var_value": "0",
+ "script": "Route110_TrickHouseEntrance_EventScript_1618B0"
+ },
+ {
+ "type": "trigger",
+ "x": 6,
+ "y": 6,
+ "elevation": 3,
+ "var": "VAR_TRICK_HOUSE_ENTRANCE_STATE",
+ "var_value": "0",
+ "script": "Route110_TrickHouseEntrance_EventScript_1618B0"
+ },
+ {
+ "type": "trigger",
+ "x": 7,
+ "y": 7,
+ "elevation": 3,
+ "var": "VAR_TRICK_HOUSE_ENTRANCE_STATE",
+ "var_value": "0",
+ "script": "Route110_TrickHouseEntrance_EventScript_1618B0"
+ }
+ ],
+ "bg_events": [
+ {
+ "type": "sign",
+ "x": 5,
+ "y": 1,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH",
+ "script": "Route110_TrickHouseEntrance_EventScript_16158A"
+ }
+ ]
+} \ No newline at end of file
diff --git a/data/maps/Route110_TrickHousePuzzle1/events.inc b/data/maps/Route110_TrickHousePuzzle1/events.inc
deleted file mode 100644
index c7e93f221..000000000
--- a/data/maps/Route110_TrickHousePuzzle1/events.inc
+++ /dev/null
@@ -1,31 +0,0 @@
-Route110_TrickHousePuzzle1_EventObjects:: @ 839225C
- object_event 1, EVENT_OBJ_GFX_LASS, 0, 13, 21, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 1, 5, Route110_TrickHousePuzzle1_EventScript_161D31, 0
- object_event 2, EVENT_OBJ_GFX_YOUNGSTER, 0, 13, 7, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 1, 2, Route110_TrickHousePuzzle1_EventScript_161D48, 0
- object_event 3, EVENT_OBJ_GFX_LASS, 0, 3, 8, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 1, 3, Route110_TrickHousePuzzle1_EventScript_161D5F, 0
- object_event 4, EVENT_OBJ_GFX_CUTTABLE_TREE, 0, 3, 18, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, S_CuttableTree, FLAG_TEMP_13
- object_event 5, EVENT_OBJ_GFX_CUTTABLE_TREE, 0, 7, 21, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, S_CuttableTree, FLAG_TEMP_11
- object_event 6, EVENT_OBJ_GFX_CUTTABLE_TREE, 0, 12, 18, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, S_CuttableTree, FLAG_TEMP_12
- object_event 7, EVENT_OBJ_GFX_CUTTABLE_TREE, 0, 10, 16, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, S_CuttableTree, FLAG_TEMP_14
- object_event 8, EVENT_OBJ_GFX_CUTTABLE_TREE, 0, 12, 12, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, S_CuttableTree, FLAG_TEMP_17
- object_event 9, EVENT_OBJ_GFX_CUTTABLE_TREE, 0, 3, 12, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, S_CuttableTree, FLAG_TEMP_16
- object_event 10, EVENT_OBJ_GFX_CUTTABLE_TREE, 0, 0, 14, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, S_CuttableTree, FLAG_TEMP_15
- object_event 11, EVENT_OBJ_GFX_CUTTABLE_TREE, 0, 6, 10, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, S_CuttableTree, FLAG_TEMP_19
- object_event 12, EVENT_OBJ_GFX_CUTTABLE_TREE, 0, 2, 10, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, S_CuttableTree, FLAG_TEMP_18
- object_event 13, EVENT_OBJ_GFX_CUTTABLE_TREE, 0, 9, 8, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, S_CuttableTree, FLAG_TEMP_1A
- object_event 14, EVENT_OBJ_GFX_CUTTABLE_TREE, 0, 2, 4, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, S_CuttableTree, FLAG_TEMP_1C
- object_event 15, EVENT_OBJ_GFX_CUTTABLE_TREE, 0, 0, 6, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, S_CuttableTree, FLAG_TEMP_1B
- object_event 16, EVENT_OBJ_GFX_CUTTABLE_TREE, 0, 6, 4, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, S_CuttableTree, FLAG_TEMP_1D
- object_event 17, EVENT_OBJ_GFX_CUTTABLE_TREE, 0, 11, 4, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, S_CuttableTree, FLAG_TEMP_1E
- object_event 18, EVENT_OBJ_GFX_ITEM_BALL, 0, 9, 12, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route110_TrickHousePuzzle1_EventScript_1B1A51, FLAG_ITEM_TRICK_HOUSE_PUZZLE_1_1
- object_event 19, EVENT_OBJ_GFX_CUTTABLE_TREE, 0, 14, 14, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, S_CuttableTree, FLAG_TEMP_1F
-
-Route110_TrickHousePuzzle1_MapWarps:: @ 8392424
- warp_def 0, 21, 3, 2, MAP_ROUTE110_TRICK_HOUSE_ENTRANCE
- warp_def 1, 21, 3, 2, MAP_ROUTE110_TRICK_HOUSE_ENTRANCE
- warp_def 13, 1, 3, 0, MAP_ROUTE110_TRICK_HOUSE_END
-
-Route110_TrickHousePuzzle1_MapBGEvents:: @ 839243C
- bg_event 14, 8, 0, BG_EVENT_PLAYER_FACING_ANY, Route110_TrickHousePuzzle1_EventScript_161D14
-
-Route110_TrickHousePuzzle1_MapEvents:: @ 8392448
- map_events Route110_TrickHousePuzzle1_EventObjects, Route110_TrickHousePuzzle1_MapWarps, 0x0, Route110_TrickHousePuzzle1_MapBGEvents
diff --git a/data/maps/Route110_TrickHousePuzzle1/header.inc b/data/maps/Route110_TrickHousePuzzle1/header.inc
deleted file mode 100644
index 74738ea44..000000000
--- a/data/maps/Route110_TrickHousePuzzle1/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-Route110_TrickHousePuzzle1:: @ 8307DA0
- .4byte Route110_TrickHousePuzzle1_Layout
- .4byte Route110_TrickHousePuzzle1_MapEvents
- .4byte Route110_TrickHousePuzzle1_MapScripts
- .4byte 0x0
- .2byte MUS_KARAKURI
- .2byte 248
- .byte MAPSEC_ROUTE_110
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/Route110_TrickHousePuzzle1/map.json b/data/maps/Route110_TrickHousePuzzle1/map.json
new file mode 100644
index 000000000..328d1130c
--- /dev/null
+++ b/data/maps/Route110_TrickHousePuzzle1/map.json
@@ -0,0 +1,296 @@
+{
+ "id": "MAP_ROUTE110_TRICK_HOUSE_PUZZLE1",
+ "name": "Route110_TrickHousePuzzle1",
+ "layout": "LAYOUT_ROUTE110_TRICK_HOUSE_PUZZLE1",
+ "music": "MUS_KARAKURI",
+ "region_map_section": "MAPSEC_ROUTE_110",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_LASS",
+ "x": 13,
+ "y": 21,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "5",
+ "script": "Route110_TrickHousePuzzle1_EventScript_161D31",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_YOUNGSTER",
+ "x": 13,
+ "y": 7,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "2",
+ "script": "Route110_TrickHousePuzzle1_EventScript_161D48",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_LASS",
+ "x": 3,
+ "y": 8,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "3",
+ "script": "Route110_TrickHousePuzzle1_EventScript_161D5F",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_CUTTABLE_TREE",
+ "x": 3,
+ "y": 18,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "S_CuttableTree",
+ "flag": "FLAG_TEMP_13"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_CUTTABLE_TREE",
+ "x": 7,
+ "y": 21,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "S_CuttableTree",
+ "flag": "FLAG_TEMP_11"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_CUTTABLE_TREE",
+ "x": 12,
+ "y": 18,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "S_CuttableTree",
+ "flag": "FLAG_TEMP_12"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_CUTTABLE_TREE",
+ "x": 10,
+ "y": 16,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "S_CuttableTree",
+ "flag": "FLAG_TEMP_14"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_CUTTABLE_TREE",
+ "x": 12,
+ "y": 12,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "S_CuttableTree",
+ "flag": "FLAG_TEMP_17"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_CUTTABLE_TREE",
+ "x": 3,
+ "y": 12,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "S_CuttableTree",
+ "flag": "FLAG_TEMP_16"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_CUTTABLE_TREE",
+ "x": 0,
+ "y": 14,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "S_CuttableTree",
+ "flag": "FLAG_TEMP_15"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_CUTTABLE_TREE",
+ "x": 6,
+ "y": 10,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "S_CuttableTree",
+ "flag": "FLAG_TEMP_19"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_CUTTABLE_TREE",
+ "x": 2,
+ "y": 10,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "S_CuttableTree",
+ "flag": "FLAG_TEMP_18"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_CUTTABLE_TREE",
+ "x": 9,
+ "y": 8,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "S_CuttableTree",
+ "flag": "FLAG_TEMP_1A"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_CUTTABLE_TREE",
+ "x": 2,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "S_CuttableTree",
+ "flag": "FLAG_TEMP_1C"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_CUTTABLE_TREE",
+ "x": 0,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "S_CuttableTree",
+ "flag": "FLAG_TEMP_1B"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_CUTTABLE_TREE",
+ "x": 6,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "S_CuttableTree",
+ "flag": "FLAG_TEMP_1D"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_CUTTABLE_TREE",
+ "x": 11,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "S_CuttableTree",
+ "flag": "FLAG_TEMP_1E"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ITEM_BALL",
+ "x": 9,
+ "y": 12,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route110_TrickHousePuzzle1_EventScript_1B1A51",
+ "flag": "FLAG_ITEM_TRICK_HOUSE_PUZZLE_1_1"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_CUTTABLE_TREE",
+ "x": 14,
+ "y": 14,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "S_CuttableTree",
+ "flag": "FLAG_TEMP_1F"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 0,
+ "y": 21,
+ "elevation": 3,
+ "dest_map": "MAP_ROUTE110_TRICK_HOUSE_ENTRANCE",
+ "dest_warp_id": 2
+ },
+ {
+ "x": 1,
+ "y": 21,
+ "elevation": 3,
+ "dest_map": "MAP_ROUTE110_TRICK_HOUSE_ENTRANCE",
+ "dest_warp_id": 2
+ },
+ {
+ "x": 13,
+ "y": 1,
+ "elevation": 3,
+ "dest_map": "MAP_ROUTE110_TRICK_HOUSE_END",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [],
+ "bg_events": [
+ {
+ "type": "sign",
+ "x": 14,
+ "y": 8,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "Route110_TrickHousePuzzle1_EventScript_161D14"
+ }
+ ]
+} \ No newline at end of file
diff --git a/data/maps/Route110_TrickHousePuzzle2/events.inc b/data/maps/Route110_TrickHousePuzzle2/events.inc
deleted file mode 100644
index 7fecac70a..000000000
--- a/data/maps/Route110_TrickHousePuzzle2/events.inc
+++ /dev/null
@@ -1,23 +0,0 @@
-Route110_TrickHousePuzzle2_EventObjects:: @ 839245C
- object_event 1, EVENT_OBJ_GFX_SCHOOL_KID_M, 0, 13, 16, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 1, 1, Route110_TrickHousePuzzle2_EventScript_161E78, 0
- object_event 2, EVENT_OBJ_GFX_SCHOOL_KID_M, 0, 0, 10, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 1, 2, Route110_TrickHousePuzzle2_EventScript_161E8F, 0
- object_event 3, EVENT_OBJ_GFX_GIRL_3, 0, 9, 7, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 1, 3, Route110_TrickHousePuzzle2_EventScript_161EA6, 0
- object_event 4, EVENT_OBJ_GFX_ITEM_BALL, 0, 5, 19, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route110_TrickHousePuzzle2_EventScript_1B1A6B, FLAG_ITEM_TRICK_HOUSE_PUZZLE_2_2
- object_event 5, EVENT_OBJ_GFX_ITEM_BALL, 0, 0, 2, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route110_TrickHousePuzzle2_EventScript_1B1A5E, FLAG_ITEM_TRICK_HOUSE_PUZZLE_2_1
-
-Route110_TrickHousePuzzle2_MapWarps:: @ 83924D4
- warp_def 0, 21, 3, 2, MAP_ROUTE110_TRICK_HOUSE_ENTRANCE
- warp_def 1, 21, 3, 2, MAP_ROUTE110_TRICK_HOUSE_ENTRANCE
- warp_def 13, 1, 3, 0, MAP_ROUTE110_TRICK_HOUSE_END
-
-Route110_TrickHousePuzzle2_MapCoordEvents:: @ 83924EC
- coord_event 14, 21, 3, VAR_TEMP_1, 0, Route110_TrickHousePuzzle2_EventScript_161DE0
- coord_event 8, 17, 3, VAR_TEMP_2, 0, Route110_TrickHousePuzzle2_EventScript_161DF3
- coord_event 4, 10, 3, VAR_TEMP_3, 0, Route110_TrickHousePuzzle2_EventScript_161E06
- coord_event 5, 2, 0, VAR_TEMP_4, 0, Route110_TrickHousePuzzle2_EventScript_161E19
-
-Route110_TrickHousePuzzle2_MapBGEvents:: @ 839252C
- bg_event 14, 5, 0, BG_EVENT_PLAYER_FACING_ANY, Route110_TrickHousePuzzle2_EventScript_161DC3
-
-Route110_TrickHousePuzzle2_MapEvents:: @ 8392538
- map_events Route110_TrickHousePuzzle2_EventObjects, Route110_TrickHousePuzzle2_MapWarps, Route110_TrickHousePuzzle2_MapCoordEvents, Route110_TrickHousePuzzle2_MapBGEvents
diff --git a/data/maps/Route110_TrickHousePuzzle2/header.inc b/data/maps/Route110_TrickHousePuzzle2/header.inc
deleted file mode 100644
index eebb3bb25..000000000
--- a/data/maps/Route110_TrickHousePuzzle2/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-Route110_TrickHousePuzzle2:: @ 8307DBC
- .4byte Route110_TrickHousePuzzle2_Layout
- .4byte Route110_TrickHousePuzzle2_MapEvents
- .4byte Route110_TrickHousePuzzle2_MapScripts
- .4byte 0x0
- .2byte MUS_KARAKURI
- .2byte 249
- .byte MAPSEC_ROUTE_110
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/Route110_TrickHousePuzzle2/map.json b/data/maps/Route110_TrickHousePuzzle2/map.json
new file mode 100644
index 000000000..a06a5713a
--- /dev/null
+++ b/data/maps/Route110_TrickHousePuzzle2/map.json
@@ -0,0 +1,151 @@
+{
+ "id": "MAP_ROUTE110_TRICK_HOUSE_PUZZLE2",
+ "name": "Route110_TrickHousePuzzle2",
+ "layout": "LAYOUT_ROUTE110_TRICK_HOUSE_PUZZLE2",
+ "music": "MUS_KARAKURI",
+ "region_map_section": "MAPSEC_ROUTE_110",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_SCHOOL_KID_M",
+ "x": 13,
+ "y": 16,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "1",
+ "script": "Route110_TrickHousePuzzle2_EventScript_161E78",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_SCHOOL_KID_M",
+ "x": 0,
+ "y": 10,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "2",
+ "script": "Route110_TrickHousePuzzle2_EventScript_161E8F",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_GIRL_3",
+ "x": 9,
+ "y": 7,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "3",
+ "script": "Route110_TrickHousePuzzle2_EventScript_161EA6",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ITEM_BALL",
+ "x": 5,
+ "y": 19,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route110_TrickHousePuzzle2_EventScript_1B1A6B",
+ "flag": "FLAG_ITEM_TRICK_HOUSE_PUZZLE_2_2"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ITEM_BALL",
+ "x": 0,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route110_TrickHousePuzzle2_EventScript_1B1A5E",
+ "flag": "FLAG_ITEM_TRICK_HOUSE_PUZZLE_2_1"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 0,
+ "y": 21,
+ "elevation": 3,
+ "dest_map": "MAP_ROUTE110_TRICK_HOUSE_ENTRANCE",
+ "dest_warp_id": 2
+ },
+ {
+ "x": 1,
+ "y": 21,
+ "elevation": 3,
+ "dest_map": "MAP_ROUTE110_TRICK_HOUSE_ENTRANCE",
+ "dest_warp_id": 2
+ },
+ {
+ "x": 13,
+ "y": 1,
+ "elevation": 3,
+ "dest_map": "MAP_ROUTE110_TRICK_HOUSE_END",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [
+ {
+ "type": "trigger",
+ "x": 14,
+ "y": 21,
+ "elevation": 3,
+ "var": "VAR_TEMP_1",
+ "var_value": "0",
+ "script": "Route110_TrickHousePuzzle2_EventScript_161DE0"
+ },
+ {
+ "type": "trigger",
+ "x": 8,
+ "y": 17,
+ "elevation": 3,
+ "var": "VAR_TEMP_2",
+ "var_value": "0",
+ "script": "Route110_TrickHousePuzzle2_EventScript_161DF3"
+ },
+ {
+ "type": "trigger",
+ "x": 4,
+ "y": 10,
+ "elevation": 3,
+ "var": "VAR_TEMP_3",
+ "var_value": "0",
+ "script": "Route110_TrickHousePuzzle2_EventScript_161E06"
+ },
+ {
+ "type": "trigger",
+ "x": 5,
+ "y": 2,
+ "elevation": 0,
+ "var": "VAR_TEMP_4",
+ "var_value": "0",
+ "script": "Route110_TrickHousePuzzle2_EventScript_161E19"
+ }
+ ],
+ "bg_events": [
+ {
+ "type": "sign",
+ "x": 14,
+ "y": 5,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "Route110_TrickHousePuzzle2_EventScript_161DC3"
+ }
+ ]
+} \ No newline at end of file
diff --git a/data/maps/Route110_TrickHousePuzzle3/events.inc b/data/maps/Route110_TrickHousePuzzle3/events.inc
deleted file mode 100644
index 54b8bc708..000000000
--- a/data/maps/Route110_TrickHousePuzzle3/events.inc
+++ /dev/null
@@ -1,32 +0,0 @@
-Route110_TrickHousePuzzle3_EventObjects:: @ 839254C
- object_event 1, EVENT_OBJ_GFX_CAMPER, 0, 10, 16, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 1, 1, Route110_TrickHousePuzzle3_EventScript_162708, 0
- object_event 2, EVENT_OBJ_GFX_PICNICKER, 0, 1, 13, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 1, 1, Route110_TrickHousePuzzle3_EventScript_16271F, 0
- object_event 3, EVENT_OBJ_GFX_HIKER, 0, 11, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 1, 1, Route110_TrickHousePuzzle3_EventScript_162736, 0
- object_event 4, EVENT_OBJ_GFX_BREAKABLE_ROCK, 0, 4, 12, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, S_BreakableRock, FLAG_TEMP_11
- object_event 5, EVENT_OBJ_GFX_BREAKABLE_ROCK, 0, 1, 3, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, S_BreakableRock, FLAG_TEMP_12
- object_event 6, EVENT_OBJ_GFX_BREAKABLE_ROCK, 0, 11, 10, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, S_BreakableRock, FLAG_TEMP_13
- object_event 7, EVENT_OBJ_GFX_BREAKABLE_ROCK, 0, 13, 7, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, S_BreakableRock, FLAG_TEMP_14
- object_event 8, EVENT_OBJ_GFX_ITEM_BALL, 0, 0, 11, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route110_TrickHousePuzzle3_EventScript_1B1A85, FLAG_ITEM_TRICK_HOUSE_PUZZLE_3_2
- object_event 9, EVENT_OBJ_GFX_ITEM_BALL, 0, 7, 2, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route110_TrickHousePuzzle3_EventScript_1B1A78, FLAG_ITEM_TRICK_HOUSE_PUZZLE_3_1
- object_event 10, EVENT_OBJ_GFX_BREAKABLE_ROCK, 0, 1, 20, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, S_BreakableRock, FLAG_TEMP_15
- object_event 11, EVENT_OBJ_GFX_BREAKABLE_ROCK, 0, 2, 21, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, S_BreakableRock, FLAG_TEMP_16
-
-Route110_TrickHousePuzzle3_MapWarps:: @ 8392654
- warp_def 0, 21, 3, 2, MAP_ROUTE110_TRICK_HOUSE_ENTRANCE
- warp_def 1, 21, 3, 2, MAP_ROUTE110_TRICK_HOUSE_ENTRANCE
- warp_def 13, 1, 3, 0, MAP_ROUTE110_TRICK_HOUSE_END
-
-Route110_TrickHousePuzzle3_MapCoordEvents:: @ 839266C
- coord_event 5, 20, 3, VAR_TEMP_1, 0, Route110_TrickHousePuzzle3_EventScript_1625AB
- coord_event 4, 12, 3, VAR_TEMP_2, 0, Route110_TrickHousePuzzle3_EventScript_1625B7
- coord_event 11, 10, 3, VAR_TEMP_3, 0, Route110_TrickHousePuzzle3_EventScript_1625C3
- coord_event 3, 8, 3, VAR_TEMP_4, 0, Route110_TrickHousePuzzle3_EventScript_1625CF
- coord_event 13, 7, 3, VAR_TEMP_5, 0, Route110_TrickHousePuzzle3_EventScript_1625DB
- coord_event 1, 3, 3, VAR_TEMP_6, 0, Route110_TrickHousePuzzle3_EventScript_1625E7
- coord_event 10, 2, 3, VAR_TEMP_7, 0, Route110_TrickHousePuzzle3_EventScript_1625F3
-
-Route110_TrickHousePuzzle3_MapBGEvents:: @ 83926DC
- bg_event 0, 8, 3, BG_EVENT_PLAYER_FACING_ANY, Route110_TrickHousePuzzle3_EventScript_1626EB
-
-Route110_TrickHousePuzzle3_MapEvents:: @ 83926E8
- map_events Route110_TrickHousePuzzle3_EventObjects, Route110_TrickHousePuzzle3_MapWarps, Route110_TrickHousePuzzle3_MapCoordEvents, Route110_TrickHousePuzzle3_MapBGEvents
diff --git a/data/maps/Route110_TrickHousePuzzle3/header.inc b/data/maps/Route110_TrickHousePuzzle3/header.inc
deleted file mode 100644
index 83ebe469c..000000000
--- a/data/maps/Route110_TrickHousePuzzle3/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-Route110_TrickHousePuzzle3:: @ 8307DD8
- .4byte Route110_TrickHousePuzzle3_Layout
- .4byte Route110_TrickHousePuzzle3_MapEvents
- .4byte Route110_TrickHousePuzzle3_MapScripts
- .4byte 0x0
- .2byte MUS_KARAKURI
- .2byte 250
- .byte MAPSEC_ROUTE_110
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/Route110_TrickHousePuzzle3/map.json b/data/maps/Route110_TrickHousePuzzle3/map.json
new file mode 100644
index 000000000..e938dbea0
--- /dev/null
+++ b/data/maps/Route110_TrickHousePuzzle3/map.json
@@ -0,0 +1,256 @@
+{
+ "id": "MAP_ROUTE110_TRICK_HOUSE_PUZZLE3",
+ "name": "Route110_TrickHousePuzzle3",
+ "layout": "LAYOUT_ROUTE110_TRICK_HOUSE_PUZZLE3",
+ "music": "MUS_KARAKURI",
+ "region_map_section": "MAPSEC_ROUTE_110",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_CAMPER",
+ "x": 10,
+ "y": 16,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "1",
+ "script": "Route110_TrickHousePuzzle3_EventScript_162708",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_PICNICKER",
+ "x": 1,
+ "y": 13,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "1",
+ "script": "Route110_TrickHousePuzzle3_EventScript_16271F",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_HIKER",
+ "x": 11,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "1",
+ "script": "Route110_TrickHousePuzzle3_EventScript_162736",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BREAKABLE_ROCK",
+ "x": 4,
+ "y": 12,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "S_BreakableRock",
+ "flag": "FLAG_TEMP_11"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BREAKABLE_ROCK",
+ "x": 1,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "S_BreakableRock",
+ "flag": "FLAG_TEMP_12"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BREAKABLE_ROCK",
+ "x": 11,
+ "y": 10,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "S_BreakableRock",
+ "flag": "FLAG_TEMP_13"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BREAKABLE_ROCK",
+ "x": 13,
+ "y": 7,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "S_BreakableRock",
+ "flag": "FLAG_TEMP_14"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ITEM_BALL",
+ "x": 0,
+ "y": 11,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route110_TrickHousePuzzle3_EventScript_1B1A85",
+ "flag": "FLAG_ITEM_TRICK_HOUSE_PUZZLE_3_2"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ITEM_BALL",
+ "x": 7,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route110_TrickHousePuzzle3_EventScript_1B1A78",
+ "flag": "FLAG_ITEM_TRICK_HOUSE_PUZZLE_3_1"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BREAKABLE_ROCK",
+ "x": 1,
+ "y": 20,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "S_BreakableRock",
+ "flag": "FLAG_TEMP_15"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BREAKABLE_ROCK",
+ "x": 2,
+ "y": 21,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "S_BreakableRock",
+ "flag": "FLAG_TEMP_16"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 0,
+ "y": 21,
+ "elevation": 3,
+ "dest_map": "MAP_ROUTE110_TRICK_HOUSE_ENTRANCE",
+ "dest_warp_id": 2
+ },
+ {
+ "x": 1,
+ "y": 21,
+ "elevation": 3,
+ "dest_map": "MAP_ROUTE110_TRICK_HOUSE_ENTRANCE",
+ "dest_warp_id": 2
+ },
+ {
+ "x": 13,
+ "y": 1,
+ "elevation": 3,
+ "dest_map": "MAP_ROUTE110_TRICK_HOUSE_END",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [
+ {
+ "type": "trigger",
+ "x": 5,
+ "y": 20,
+ "elevation": 3,
+ "var": "VAR_TEMP_1",
+ "var_value": "0",
+ "script": "Route110_TrickHousePuzzle3_EventScript_1625AB"
+ },
+ {
+ "type": "trigger",
+ "x": 4,
+ "y": 12,
+ "elevation": 3,
+ "var": "VAR_TEMP_2",
+ "var_value": "0",
+ "script": "Route110_TrickHousePuzzle3_EventScript_1625B7"
+ },
+ {
+ "type": "trigger",
+ "x": 11,
+ "y": 10,
+ "elevation": 3,
+ "var": "VAR_TEMP_3",
+ "var_value": "0",
+ "script": "Route110_TrickHousePuzzle3_EventScript_1625C3"
+ },
+ {
+ "type": "trigger",
+ "x": 3,
+ "y": 8,
+ "elevation": 3,
+ "var": "VAR_TEMP_4",
+ "var_value": "0",
+ "script": "Route110_TrickHousePuzzle3_EventScript_1625CF"
+ },
+ {
+ "type": "trigger",
+ "x": 13,
+ "y": 7,
+ "elevation": 3,
+ "var": "VAR_TEMP_5",
+ "var_value": "0",
+ "script": "Route110_TrickHousePuzzle3_EventScript_1625DB"
+ },
+ {
+ "type": "trigger",
+ "x": 1,
+ "y": 3,
+ "elevation": 3,
+ "var": "VAR_TEMP_6",
+ "var_value": "0",
+ "script": "Route110_TrickHousePuzzle3_EventScript_1625E7"
+ },
+ {
+ "type": "trigger",
+ "x": 10,
+ "y": 2,
+ "elevation": 3,
+ "var": "VAR_TEMP_7",
+ "var_value": "0",
+ "script": "Route110_TrickHousePuzzle3_EventScript_1625F3"
+ }
+ ],
+ "bg_events": [
+ {
+ "type": "sign",
+ "x": 0,
+ "y": 8,
+ "elevation": 3,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "Route110_TrickHousePuzzle3_EventScript_1626EB"
+ }
+ ]
+} \ No newline at end of file
diff --git a/data/maps/Route110_TrickHousePuzzle4/events.inc b/data/maps/Route110_TrickHousePuzzle4/events.inc
deleted file mode 100644
index 1b4fa2e1a..000000000
--- a/data/maps/Route110_TrickHousePuzzle4/events.inc
+++ /dev/null
@@ -1,27 +0,0 @@
-Route110_TrickHousePuzzle4_EventObjects:: @ 83926FC
- object_event 1, EVENT_OBJ_GFX_GIRL_3, 0, 12, 8, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 1, 1, Route110_TrickHousePuzzle4_EventScript_16276B, 0
- object_event 2, EVENT_OBJ_GFX_GIRL_3, 0, 10, 4, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 1, 1, Route110_TrickHousePuzzle4_EventScript_162799, 0
- object_event 3, EVENT_OBJ_GFX_BLACK_BELT, 0, 7, 4, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 1, 2, Route110_TrickHousePuzzle4_EventScript_162782, 0
- object_event 4, EVENT_OBJ_GFX_ITEM_BALL, 0, 4, 4, 0, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route110_TrickHousePuzzle4_EventScript_1B1A92, FLAG_ITEM_TRICK_HOUSE_PUZZLE_4_1
- object_event 5, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 13, 3, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, S_PushableBoulder, FLAG_TEMP_11
- object_event 6, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 6, 14, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, S_PushableBoulder, FLAG_TEMP_12
- object_event 7, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 2, 12, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, S_PushableBoulder, FLAG_TEMP_13
- object_event 8, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 3, 9, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, S_PushableBoulder, FLAG_TEMP_14
- object_event 9, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 12, 2, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, S_PushableBoulder, FLAG_TEMP_15
- object_event 10, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 8, 8, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, S_PushableBoulder, FLAG_TEMP_16
- object_event 11, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 9, 7, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, S_PushableBoulder, FLAG_TEMP_17
- object_event 12, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 11, 13, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, S_PushableBoulder, FLAG_TEMP_18
- object_event 13, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 14, 2, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, S_PushableBoulder, FLAG_TEMP_19
- object_event 14, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 4, 14, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, S_PushableBoulder, FLAG_TEMP_1A
- object_event 15, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 14, 9, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, S_PushableBoulder, FLAG_TEMP_1B
-
-Route110_TrickHousePuzzle4_MapWarps:: @ 8392864
- warp_def 0, 21, 3, 2, MAP_ROUTE110_TRICK_HOUSE_ENTRANCE
- warp_def 1, 21, 3, 2, MAP_ROUTE110_TRICK_HOUSE_ENTRANCE
- warp_def 13, 1, 3, 0, MAP_ROUTE110_TRICK_HOUSE_END
-
-Route110_TrickHousePuzzle4_MapBGEvents:: @ 839287C
- bg_event 0, 5, 3, BG_EVENT_PLAYER_FACING_ANY, Route110_TrickHousePuzzle4_EventScript_16274E
-
-Route110_TrickHousePuzzle4_MapEvents:: @ 8392888
- map_events Route110_TrickHousePuzzle4_EventObjects, Route110_TrickHousePuzzle4_MapWarps, 0x0, Route110_TrickHousePuzzle4_MapBGEvents
diff --git a/data/maps/Route110_TrickHousePuzzle4/header.inc b/data/maps/Route110_TrickHousePuzzle4/header.inc
deleted file mode 100644
index d96d89745..000000000
--- a/data/maps/Route110_TrickHousePuzzle4/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-Route110_TrickHousePuzzle4:: @ 8307DF4
- .4byte Route110_TrickHousePuzzle4_Layout
- .4byte Route110_TrickHousePuzzle4_MapEvents
- .4byte Route110_TrickHousePuzzle4_MapScripts
- .4byte 0x0
- .2byte MUS_KARAKURI
- .2byte 251
- .byte MAPSEC_ROUTE_110
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/Route110_TrickHousePuzzle4/map.json b/data/maps/Route110_TrickHousePuzzle4/map.json
new file mode 100644
index 000000000..383bd64da
--- /dev/null
+++ b/data/maps/Route110_TrickHousePuzzle4/map.json
@@ -0,0 +1,244 @@
+{
+ "id": "MAP_ROUTE110_TRICK_HOUSE_PUZZLE4",
+ "name": "Route110_TrickHousePuzzle4",
+ "layout": "LAYOUT_ROUTE110_TRICK_HOUSE_PUZZLE4",
+ "music": "MUS_KARAKURI",
+ "region_map_section": "MAPSEC_ROUTE_110",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_GIRL_3",
+ "x": 12,
+ "y": 8,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "1",
+ "script": "Route110_TrickHousePuzzle4_EventScript_16276B",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_GIRL_3",
+ "x": 10,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "1",
+ "script": "Route110_TrickHousePuzzle4_EventScript_162799",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BLACK_BELT",
+ "x": 7,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "2",
+ "script": "Route110_TrickHousePuzzle4_EventScript_162782",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ITEM_BALL",
+ "x": 4,
+ "y": 4,
+ "elevation": 0,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route110_TrickHousePuzzle4_EventScript_1B1A92",
+ "flag": "FLAG_ITEM_TRICK_HOUSE_PUZZLE_4_1"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_PUSHABLE_BOULDER",
+ "x": 13,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "S_PushableBoulder",
+ "flag": "FLAG_TEMP_11"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_PUSHABLE_BOULDER",
+ "x": 6,
+ "y": 14,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "S_PushableBoulder",
+ "flag": "FLAG_TEMP_12"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_PUSHABLE_BOULDER",
+ "x": 2,
+ "y": 12,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "S_PushableBoulder",
+ "flag": "FLAG_TEMP_13"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_PUSHABLE_BOULDER",
+ "x": 3,
+ "y": 9,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "S_PushableBoulder",
+ "flag": "FLAG_TEMP_14"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_PUSHABLE_BOULDER",
+ "x": 12,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "S_PushableBoulder",
+ "flag": "FLAG_TEMP_15"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_PUSHABLE_BOULDER",
+ "x": 8,
+ "y": 8,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "S_PushableBoulder",
+ "flag": "FLAG_TEMP_16"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_PUSHABLE_BOULDER",
+ "x": 9,
+ "y": 7,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "S_PushableBoulder",
+ "flag": "FLAG_TEMP_17"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_PUSHABLE_BOULDER",
+ "x": 11,
+ "y": 13,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "S_PushableBoulder",
+ "flag": "FLAG_TEMP_18"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_PUSHABLE_BOULDER",
+ "x": 14,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "S_PushableBoulder",
+ "flag": "FLAG_TEMP_19"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_PUSHABLE_BOULDER",
+ "x": 4,
+ "y": 14,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "S_PushableBoulder",
+ "flag": "FLAG_TEMP_1A"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_PUSHABLE_BOULDER",
+ "x": 14,
+ "y": 9,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "S_PushableBoulder",
+ "flag": "FLAG_TEMP_1B"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 0,
+ "y": 21,
+ "elevation": 3,
+ "dest_map": "MAP_ROUTE110_TRICK_HOUSE_ENTRANCE",
+ "dest_warp_id": 2
+ },
+ {
+ "x": 1,
+ "y": 21,
+ "elevation": 3,
+ "dest_map": "MAP_ROUTE110_TRICK_HOUSE_ENTRANCE",
+ "dest_warp_id": 2
+ },
+ {
+ "x": 13,
+ "y": 1,
+ "elevation": 3,
+ "dest_map": "MAP_ROUTE110_TRICK_HOUSE_END",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [],
+ "bg_events": [
+ {
+ "type": "sign",
+ "x": 0,
+ "y": 5,
+ "elevation": 3,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "Route110_TrickHousePuzzle4_EventScript_16274E"
+ }
+ ]
+} \ No newline at end of file
diff --git a/data/maps/Route110_TrickHousePuzzle5/events.inc b/data/maps/Route110_TrickHousePuzzle5/events.inc
deleted file mode 100644
index 5a553d8b3..000000000
--- a/data/maps/Route110_TrickHousePuzzle5/events.inc
+++ /dev/null
@@ -1,33 +0,0 @@
-Route110_TrickHousePuzzle5_EventObjects:: @ 839289C
- object_event 1, EVENT_OBJ_GFX_MAN_1, 0, 9, 19, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, Route110_TrickHousePuzzle5_EventScript_1627F2, 0
- object_event 2, EVENT_OBJ_GFX_MAN_1, 0, 5, 14, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, Route110_TrickHousePuzzle5_EventScript_162813, 0
- object_event 3, EVENT_OBJ_GFX_MAN_1, 0, 12, 10, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, Route110_TrickHousePuzzle5_EventScript_162834, 0
- object_event 4, EVENT_OBJ_GFX_MAN_1, 0, 12, 5, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, Route110_TrickHousePuzzle5_EventScript_162855, 0
- object_event 5, EVENT_OBJ_GFX_MAN_1, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, Route110_TrickHousePuzzle5_EventScript_162876, 0
-
-Route110_TrickHousePuzzle5_MapWarps:: @ 8392914
- warp_def 0, 21, 3, 2, MAP_ROUTE110_TRICK_HOUSE_ENTRANCE
- warp_def 1, 21, 3, 2, MAP_ROUTE110_TRICK_HOUSE_ENTRANCE
- warp_def 13, 1, 3, 0, MAP_ROUTE110_TRICK_HOUSE_END
-
-Route110_TrickHousePuzzle5_MapCoordEvents:: @ 839292C
- coord_event 8, 19, 3, VAR_TEMP_1, 0, Route110_TrickHousePuzzle5_EventScript_162897
- coord_event 7, 19, 3, VAR_TEMP_1, 0, Route110_TrickHousePuzzle5_EventScript_1628A3
- coord_event 6, 19, 3, VAR_TEMP_1, 0, Route110_TrickHousePuzzle5_EventScript_1628AF
- coord_event 5, 19, 3, VAR_TEMP_1, 0, Route110_TrickHousePuzzle5_EventScript_1628BB
- coord_event 6, 14, 3, VAR_TEMP_2, 0, Route110_TrickHousePuzzle5_EventScript_1628C7
- coord_event 7, 14, 3, VAR_TEMP_2, 0, Route110_TrickHousePuzzle5_EventScript_1628D3
- coord_event 11, 10, 3, VAR_TEMP_3, 0, Route110_TrickHousePuzzle5_EventScript_1628DF
- coord_event 10, 10, 3, VAR_TEMP_3, 0, Route110_TrickHousePuzzle5_EventScript_1628EB
- coord_event 9, 10, 3, VAR_TEMP_3, 0, Route110_TrickHousePuzzle5_EventScript_1628F7
- coord_event 11, 5, 3, VAR_TEMP_4, 0, Route110_TrickHousePuzzle5_EventScript_162903
- coord_event 10, 5, 3, VAR_TEMP_4, 0, Route110_TrickHousePuzzle5_EventScript_16290F
- coord_event 2, 6, 3, VAR_TEMP_5, 0, Route110_TrickHousePuzzle5_EventScript_16291B
- coord_event 3, 6, 3, VAR_TEMP_5, 0, Route110_TrickHousePuzzle5_EventScript_162927
- coord_event 4, 6, 3, VAR_TEMP_5, 0, Route110_TrickHousePuzzle5_EventScript_162933
-
-Route110_TrickHousePuzzle5_MapBGEvents:: @ 8392A0C
- bg_event 2, 9, 0, BG_EVENT_PLAYER_FACING_ANY, Route110_TrickHousePuzzle5_EventScript_1627D5
-
-Route110_TrickHousePuzzle5_MapEvents:: @ 8392A18
- map_events Route110_TrickHousePuzzle5_EventObjects, Route110_TrickHousePuzzle5_MapWarps, Route110_TrickHousePuzzle5_MapCoordEvents, Route110_TrickHousePuzzle5_MapBGEvents
diff --git a/data/maps/Route110_TrickHousePuzzle5/header.inc b/data/maps/Route110_TrickHousePuzzle5/header.inc
deleted file mode 100644
index b6cc187b6..000000000
--- a/data/maps/Route110_TrickHousePuzzle5/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-Route110_TrickHousePuzzle5:: @ 8307E10
- .4byte Route110_TrickHousePuzzle5_Layout
- .4byte Route110_TrickHousePuzzle5_MapEvents
- .4byte Route110_TrickHousePuzzle5_MapScripts
- .4byte 0x0
- .2byte MUS_KARAKURI
- .2byte 252
- .byte MAPSEC_ROUTE_110
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/Route110_TrickHousePuzzle5/map.json b/data/maps/Route110_TrickHousePuzzle5/map.json
new file mode 100644
index 000000000..feb75a963
--- /dev/null
+++ b/data/maps/Route110_TrickHousePuzzle5/map.json
@@ -0,0 +1,241 @@
+{
+ "id": "MAP_ROUTE110_TRICK_HOUSE_PUZZLE5",
+ "name": "Route110_TrickHousePuzzle5",
+ "layout": "LAYOUT_ROUTE110_TRICK_HOUSE_PUZZLE5",
+ "music": "MUS_KARAKURI",
+ "region_map_section": "MAPSEC_ROUTE_110",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_1",
+ "x": 9,
+ "y": 19,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route110_TrickHousePuzzle5_EventScript_1627F2",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_1",
+ "x": 5,
+ "y": 14,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route110_TrickHousePuzzle5_EventScript_162813",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_1",
+ "x": 12,
+ "y": 10,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route110_TrickHousePuzzle5_EventScript_162834",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_1",
+ "x": 12,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route110_TrickHousePuzzle5_EventScript_162855",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_1",
+ "x": 1,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route110_TrickHousePuzzle5_EventScript_162876",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 0,
+ "y": 21,
+ "elevation": 3,
+ "dest_map": "MAP_ROUTE110_TRICK_HOUSE_ENTRANCE",
+ "dest_warp_id": 2
+ },
+ {
+ "x": 1,
+ "y": 21,
+ "elevation": 3,
+ "dest_map": "MAP_ROUTE110_TRICK_HOUSE_ENTRANCE",
+ "dest_warp_id": 2
+ },
+ {
+ "x": 13,
+ "y": 1,
+ "elevation": 3,
+ "dest_map": "MAP_ROUTE110_TRICK_HOUSE_END",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [
+ {
+ "type": "trigger",
+ "x": 8,
+ "y": 19,
+ "elevation": 3,
+ "var": "VAR_TEMP_1",
+ "var_value": "0",
+ "script": "Route110_TrickHousePuzzle5_EventScript_162897"
+ },
+ {
+ "type": "trigger",
+ "x": 7,
+ "y": 19,
+ "elevation": 3,
+ "var": "VAR_TEMP_1",
+ "var_value": "0",
+ "script": "Route110_TrickHousePuzzle5_EventScript_1628A3"
+ },
+ {
+ "type": "trigger",
+ "x": 6,
+ "y": 19,
+ "elevation": 3,
+ "var": "VAR_TEMP_1",
+ "var_value": "0",
+ "script": "Route110_TrickHousePuzzle5_EventScript_1628AF"
+ },
+ {
+ "type": "trigger",
+ "x": 5,
+ "y": 19,
+ "elevation": 3,
+ "var": "VAR_TEMP_1",
+ "var_value": "0",
+ "script": "Route110_TrickHousePuzzle5_EventScript_1628BB"
+ },
+ {
+ "type": "trigger",
+ "x": 6,
+ "y": 14,
+ "elevation": 3,
+ "var": "VAR_TEMP_2",
+ "var_value": "0",
+ "script": "Route110_TrickHousePuzzle5_EventScript_1628C7"
+ },
+ {
+ "type": "trigger",
+ "x": 7,
+ "y": 14,
+ "elevation": 3,
+ "var": "VAR_TEMP_2",
+ "var_value": "0",
+ "script": "Route110_TrickHousePuzzle5_EventScript_1628D3"
+ },
+ {
+ "type": "trigger",
+ "x": 11,
+ "y": 10,
+ "elevation": 3,
+ "var": "VAR_TEMP_3",
+ "var_value": "0",
+ "script": "Route110_TrickHousePuzzle5_EventScript_1628DF"
+ },
+ {
+ "type": "trigger",
+ "x": 10,
+ "y": 10,
+ "elevation": 3,
+ "var": "VAR_TEMP_3",
+ "var_value": "0",
+ "script": "Route110_TrickHousePuzzle5_EventScript_1628EB"
+ },
+ {
+ "type": "trigger",
+ "x": 9,
+ "y": 10,
+ "elevation": 3,
+ "var": "VAR_TEMP_3",
+ "var_value": "0",
+ "script": "Route110_TrickHousePuzzle5_EventScript_1628F7"
+ },
+ {
+ "type": "trigger",
+ "x": 11,
+ "y": 5,
+ "elevation": 3,
+ "var": "VAR_TEMP_4",
+ "var_value": "0",
+ "script": "Route110_TrickHousePuzzle5_EventScript_162903"
+ },
+ {
+ "type": "trigger",
+ "x": 10,
+ "y": 5,
+ "elevation": 3,
+ "var": "VAR_TEMP_4",
+ "var_value": "0",
+ "script": "Route110_TrickHousePuzzle5_EventScript_16290F"
+ },
+ {
+ "type": "trigger",
+ "x": 2,
+ "y": 6,
+ "elevation": 3,
+ "var": "VAR_TEMP_5",
+ "var_value": "0",
+ "script": "Route110_TrickHousePuzzle5_EventScript_16291B"
+ },
+ {
+ "type": "trigger",
+ "x": 3,
+ "y": 6,
+ "elevation": 3,
+ "var": "VAR_TEMP_5",
+ "var_value": "0",
+ "script": "Route110_TrickHousePuzzle5_EventScript_162927"
+ },
+ {
+ "type": "trigger",
+ "x": 4,
+ "y": 6,
+ "elevation": 3,
+ "var": "VAR_TEMP_5",
+ "var_value": "0",
+ "script": "Route110_TrickHousePuzzle5_EventScript_162933"
+ }
+ ],
+ "bg_events": [
+ {
+ "type": "sign",
+ "x": 2,
+ "y": 9,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "Route110_TrickHousePuzzle5_EventScript_1627D5"
+ }
+ ]
+} \ No newline at end of file
diff --git a/data/maps/Route110_TrickHousePuzzle6/events.inc b/data/maps/Route110_TrickHousePuzzle6/events.inc
deleted file mode 100644
index 065a18579..000000000
--- a/data/maps/Route110_TrickHousePuzzle6/events.inc
+++ /dev/null
@@ -1,16 +0,0 @@
-Route110_TrickHousePuzzle6_EventObjects:: @ 8392A2C
- object_event 1, EVENT_OBJ_GFX_PICNICKER, 0, 10, 9, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 1, 2, Route110_TrickHousePuzzle6_EventScript_163107, 0
- object_event 2, EVENT_OBJ_GFX_MAN_6, 0, 14, 12, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 1, 2, Route110_TrickHousePuzzle6_EventScript_16311E, 0
- object_event 3, EVENT_OBJ_GFX_CAMPER, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 1, 4, Route110_TrickHousePuzzle6_EventScript_163135, 0
- object_event 4, EVENT_OBJ_GFX_ITEM_BALL, 0, 8, 2, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route110_TrickHousePuzzle6_EventScript_1B1A9F, FLAG_ITEM_TRICK_HOUSE_PUZZLE_6_1
-
-Route110_TrickHousePuzzle6_MapWarps:: @ 8392A8C
- warp_def 0, 21, 3, 2, MAP_ROUTE110_TRICK_HOUSE_ENTRANCE
- warp_def 1, 21, 3, 2, MAP_ROUTE110_TRICK_HOUSE_ENTRANCE
- warp_def 13, 1, 3, 0, MAP_ROUTE110_TRICK_HOUSE_END
-
-Route110_TrickHousePuzzle6_MapBGEvents:: @ 8392AA4
- bg_event 13, 9, 3, BG_EVENT_PLAYER_FACING_ANY, Route110_TrickHousePuzzle6_EventScript_1630EA
-
-Route110_TrickHousePuzzle6_MapEvents:: @ 8392AB0
- map_events Route110_TrickHousePuzzle6_EventObjects, Route110_TrickHousePuzzle6_MapWarps, 0x0, Route110_TrickHousePuzzle6_MapBGEvents
diff --git a/data/maps/Route110_TrickHousePuzzle6/header.inc b/data/maps/Route110_TrickHousePuzzle6/header.inc
deleted file mode 100644
index 436cc1d1b..000000000
--- a/data/maps/Route110_TrickHousePuzzle6/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-Route110_TrickHousePuzzle6:: @ 8307E2C
- .4byte Route110_TrickHousePuzzle6_Layout
- .4byte Route110_TrickHousePuzzle6_MapEvents
- .4byte Route110_TrickHousePuzzle6_MapScripts
- .4byte 0x0
- .2byte MUS_KARAKURI
- .2byte 253
- .byte MAPSEC_ROUTE_110
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/Route110_TrickHousePuzzle6/map.json b/data/maps/Route110_TrickHousePuzzle6/map.json
new file mode 100644
index 000000000..289c15127
--- /dev/null
+++ b/data/maps/Route110_TrickHousePuzzle6/map.json
@@ -0,0 +1,101 @@
+{
+ "id": "MAP_ROUTE110_TRICK_HOUSE_PUZZLE6",
+ "name": "Route110_TrickHousePuzzle6",
+ "layout": "LAYOUT_ROUTE110_TRICK_HOUSE_PUZZLE6",
+ "music": "MUS_KARAKURI",
+ "region_map_section": "MAPSEC_ROUTE_110",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_PICNICKER",
+ "x": 10,
+ "y": 9,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "2",
+ "script": "Route110_TrickHousePuzzle6_EventScript_163107",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_6",
+ "x": 14,
+ "y": 12,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "2",
+ "script": "Route110_TrickHousePuzzle6_EventScript_16311E",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_CAMPER",
+ "x": 0,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "4",
+ "script": "Route110_TrickHousePuzzle6_EventScript_163135",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ITEM_BALL",
+ "x": 8,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route110_TrickHousePuzzle6_EventScript_1B1A9F",
+ "flag": "FLAG_ITEM_TRICK_HOUSE_PUZZLE_6_1"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 0,
+ "y": 21,
+ "elevation": 3,
+ "dest_map": "MAP_ROUTE110_TRICK_HOUSE_ENTRANCE",
+ "dest_warp_id": 2
+ },
+ {
+ "x": 1,
+ "y": 21,
+ "elevation": 3,
+ "dest_map": "MAP_ROUTE110_TRICK_HOUSE_ENTRANCE",
+ "dest_warp_id": 2
+ },
+ {
+ "x": 13,
+ "y": 1,
+ "elevation": 3,
+ "dest_map": "MAP_ROUTE110_TRICK_HOUSE_END",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [],
+ "bg_events": [
+ {
+ "type": "sign",
+ "x": 13,
+ "y": 9,
+ "elevation": 3,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "Route110_TrickHousePuzzle6_EventScript_1630EA"
+ }
+ ]
+} \ No newline at end of file
diff --git a/data/maps/Route110_TrickHousePuzzle7/events.inc b/data/maps/Route110_TrickHousePuzzle7/events.inc
deleted file mode 100644
index 38823faa4..000000000
--- a/data/maps/Route110_TrickHousePuzzle7/events.inc
+++ /dev/null
@@ -1,24 +0,0 @@
-Route110_TrickHousePuzzle7_EventObjects:: @ 8392AC4
- object_event 1, EVENT_OBJ_GFX_PSYCHIC_M, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 1, 2, Route110_TrickHousePuzzle7_EventScript_1633D6, 0
- object_event 2, EVENT_OBJ_GFX_LASS, 0, 14, 3, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 1, 1, Route110_TrickHousePuzzle7_EventScript_163404, 0
- object_event 3, EVENT_OBJ_GFX_HEX_MANIAC, 0, 9, 10, 3, MOVEMENT_TYPE_ROTATE_COUNTERCLOCKWISE, 0, 0, 1, 1, Route110_TrickHousePuzzle7_EventScript_1633ED, 0
- object_event 4, EVENT_OBJ_GFX_ITEM_BALL, 0, 11, 10, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route110_TrickHousePuzzle7_EventScript_1B1AAC, FLAG_ITEM_TRICK_HOUSE_PUZZLE_7_1
-
-Route110_TrickHousePuzzle7_MapWarps:: @ 8392B24
- warp_def 0, 21, 3, 2, MAP_ROUTE110_TRICK_HOUSE_ENTRANCE
- warp_def 1, 21, 3, 2, MAP_ROUTE110_TRICK_HOUSE_ENTRANCE
- warp_def 13, 1, 3, 0, MAP_ROUTE110_TRICK_HOUSE_END
-
-Route110_TrickHousePuzzle7_MapCoordEvents:: @ 8392B3C
- coord_event 9, 2, 3, VAR_TEMP_1, 0, Route110_TrickHousePuzzle7_EventScript_1632A8
-
-Route110_TrickHousePuzzle7_MapBGEvents:: @ 8392B4C
- bg_event 7, 2, 3, BG_EVENT_PLAYER_FACING_ANY, Route110_TrickHousePuzzle7_EventScript_16328B
- bg_event 12, 16, 3, BG_EVENT_PLAYER_FACING_ANY, Route110_TrickHousePuzzle7_EventScript_1632B9
- bg_event 5, 10, 3, BG_EVENT_PLAYER_FACING_ANY, Route110_TrickHousePuzzle7_EventScript_163317
- bg_event 12, 11, 3, BG_EVENT_PLAYER_FACING_ANY, Route110_TrickHousePuzzle7_EventScript_1632E8
- bg_event 4, 4, 3, BG_EVENT_PLAYER_FACING_ANY, Route110_TrickHousePuzzle7_EventScript_163346
- bg_event 7, 5, 3, BG_EVENT_PLAYER_FACING_ANY, Route110_TrickHousePuzzle7_EventScript_163375
-
-Route110_TrickHousePuzzle7_MapEvents:: @ 8392B94
- map_events Route110_TrickHousePuzzle7_EventObjects, Route110_TrickHousePuzzle7_MapWarps, Route110_TrickHousePuzzle7_MapCoordEvents, Route110_TrickHousePuzzle7_MapBGEvents
diff --git a/data/maps/Route110_TrickHousePuzzle7/header.inc b/data/maps/Route110_TrickHousePuzzle7/header.inc
deleted file mode 100644
index 32e0f1676..000000000
--- a/data/maps/Route110_TrickHousePuzzle7/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-Route110_TrickHousePuzzle7:: @ 8307E48
- .4byte Route110_TrickHousePuzzle7_Layout
- .4byte Route110_TrickHousePuzzle7_MapEvents
- .4byte Route110_TrickHousePuzzle7_MapScripts
- .4byte 0x0
- .2byte MUS_KARAKURI
- .2byte 254
- .byte MAPSEC_ROUTE_110
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/Route110_TrickHousePuzzle7/map.json b/data/maps/Route110_TrickHousePuzzle7/map.json
new file mode 100644
index 000000000..c599fd181
--- /dev/null
+++ b/data/maps/Route110_TrickHousePuzzle7/map.json
@@ -0,0 +1,151 @@
+{
+ "id": "MAP_ROUTE110_TRICK_HOUSE_PUZZLE7",
+ "name": "Route110_TrickHousePuzzle7",
+ "layout": "LAYOUT_ROUTE110_TRICK_HOUSE_PUZZLE7",
+ "music": "MUS_KARAKURI",
+ "region_map_section": "MAPSEC_ROUTE_110",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_PSYCHIC_M",
+ "x": 0,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "2",
+ "script": "Route110_TrickHousePuzzle7_EventScript_1633D6",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_LASS",
+ "x": 14,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "1",
+ "script": "Route110_TrickHousePuzzle7_EventScript_163404",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_HEX_MANIAC",
+ "x": 9,
+ "y": 10,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_ROTATE_COUNTERCLOCKWISE",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "1",
+ "script": "Route110_TrickHousePuzzle7_EventScript_1633ED",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ITEM_BALL",
+ "x": 11,
+ "y": 10,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route110_TrickHousePuzzle7_EventScript_1B1AAC",
+ "flag": "FLAG_ITEM_TRICK_HOUSE_PUZZLE_7_1"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 0,
+ "y": 21,
+ "elevation": 3,
+ "dest_map": "MAP_ROUTE110_TRICK_HOUSE_ENTRANCE",
+ "dest_warp_id": 2
+ },
+ {
+ "x": 1,
+ "y": 21,
+ "elevation": 3,
+ "dest_map": "MAP_ROUTE110_TRICK_HOUSE_ENTRANCE",
+ "dest_warp_id": 2
+ },
+ {
+ "x": 13,
+ "y": 1,
+ "elevation": 3,
+ "dest_map": "MAP_ROUTE110_TRICK_HOUSE_END",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [
+ {
+ "type": "trigger",
+ "x": 9,
+ "y": 2,
+ "elevation": 3,
+ "var": "VAR_TEMP_1",
+ "var_value": "0",
+ "script": "Route110_TrickHousePuzzle7_EventScript_1632A8"
+ }
+ ],
+ "bg_events": [
+ {
+ "type": "sign",
+ "x": 7,
+ "y": 2,
+ "elevation": 3,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "Route110_TrickHousePuzzle7_EventScript_16328B"
+ },
+ {
+ "type": "sign",
+ "x": 12,
+ "y": 16,
+ "elevation": 3,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "Route110_TrickHousePuzzle7_EventScript_1632B9"
+ },
+ {
+ "type": "sign",
+ "x": 5,
+ "y": 10,
+ "elevation": 3,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "Route110_TrickHousePuzzle7_EventScript_163317"
+ },
+ {
+ "type": "sign",
+ "x": 12,
+ "y": 11,
+ "elevation": 3,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "Route110_TrickHousePuzzle7_EventScript_1632E8"
+ },
+ {
+ "type": "sign",
+ "x": 4,
+ "y": 4,
+ "elevation": 3,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "Route110_TrickHousePuzzle7_EventScript_163346"
+ },
+ {
+ "type": "sign",
+ "x": 7,
+ "y": 5,
+ "elevation": 3,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "Route110_TrickHousePuzzle7_EventScript_163375"
+ }
+ ]
+} \ No newline at end of file
diff --git a/data/maps/Route110_TrickHousePuzzle8/events.inc b/data/maps/Route110_TrickHousePuzzle8/events.inc
deleted file mode 100644
index b7cdab48f..000000000
--- a/data/maps/Route110_TrickHousePuzzle8/events.inc
+++ /dev/null
@@ -1,16 +0,0 @@
-Route110_TrickHousePuzzle8_EventObjects:: @ 8392BA8
- object_event 1, EVENT_OBJ_GFX_MAN_4, 0, 12, 21, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 1, 2, Route110_TrickHousePuzzle8_EventScript_163439, 0
- object_event 2, EVENT_OBJ_GFX_MAN_4, 0, 12, 11, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 1, 2, Route110_TrickHousePuzzle8_EventScript_163467, 0
- object_event 3, EVENT_OBJ_GFX_WOMAN_7, 0, 10, 11, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 1, 1, Route110_TrickHousePuzzle8_EventScript_163450, 0
- object_event 4, EVENT_OBJ_GFX_ITEM_BALL, 0, 2, 11, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route110_TrickHousePuzzle8_EventScript_1B1AB9, FLAG_ITEM_TRICK_HOUSE_PUZZLE_8_1
-
-Route110_TrickHousePuzzle8_MapWarps:: @ 8392C08
- warp_def 0, 21, 3, 2, MAP_ROUTE110_TRICK_HOUSE_ENTRANCE
- warp_def 1, 21, 3, 2, MAP_ROUTE110_TRICK_HOUSE_ENTRANCE
- warp_def 13, 1, 0, 0, MAP_ROUTE110_TRICK_HOUSE_END
-
-Route110_TrickHousePuzzle8_MapBGEvents:: @ 8392C20
- bg_event 7, 11, 3, BG_EVENT_PLAYER_FACING_ANY, Route110_TrickHousePuzzle8_EventScript_16341C
-
-Route110_TrickHousePuzzle8_MapEvents:: @ 8392C2C
- map_events Route110_TrickHousePuzzle8_EventObjects, Route110_TrickHousePuzzle8_MapWarps, 0x0, Route110_TrickHousePuzzle8_MapBGEvents
diff --git a/data/maps/Route110_TrickHousePuzzle8/header.inc b/data/maps/Route110_TrickHousePuzzle8/header.inc
deleted file mode 100644
index 8aef9307f..000000000
--- a/data/maps/Route110_TrickHousePuzzle8/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-Route110_TrickHousePuzzle8:: @ 8307E64
- .4byte Route110_TrickHousePuzzle8_Layout
- .4byte Route110_TrickHousePuzzle8_MapEvents
- .4byte Route110_TrickHousePuzzle8_MapScripts
- .4byte 0x0
- .2byte MUS_KARAKURI
- .2byte 255
- .byte MAPSEC_ROUTE_110
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/Route110_TrickHousePuzzle8/map.json b/data/maps/Route110_TrickHousePuzzle8/map.json
new file mode 100644
index 000000000..58fd42a74
--- /dev/null
+++ b/data/maps/Route110_TrickHousePuzzle8/map.json
@@ -0,0 +1,101 @@
+{
+ "id": "MAP_ROUTE110_TRICK_HOUSE_PUZZLE8",
+ "name": "Route110_TrickHousePuzzle8",
+ "layout": "LAYOUT_ROUTE110_TRICK_HOUSE_PUZZLE8",
+ "music": "MUS_KARAKURI",
+ "region_map_section": "MAPSEC_ROUTE_110",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_4",
+ "x": 12,
+ "y": 21,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "2",
+ "script": "Route110_TrickHousePuzzle8_EventScript_163439",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_4",
+ "x": 12,
+ "y": 11,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "2",
+ "script": "Route110_TrickHousePuzzle8_EventScript_163467",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_7",
+ "x": 10,
+ "y": 11,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "1",
+ "script": "Route110_TrickHousePuzzle8_EventScript_163450",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ITEM_BALL",
+ "x": 2,
+ "y": 11,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route110_TrickHousePuzzle8_EventScript_1B1AB9",
+ "flag": "FLAG_ITEM_TRICK_HOUSE_PUZZLE_8_1"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 0,
+ "y": 21,
+ "elevation": 3,
+ "dest_map": "MAP_ROUTE110_TRICK_HOUSE_ENTRANCE",
+ "dest_warp_id": 2
+ },
+ {
+ "x": 1,
+ "y": 21,
+ "elevation": 3,
+ "dest_map": "MAP_ROUTE110_TRICK_HOUSE_ENTRANCE",
+ "dest_warp_id": 2
+ },
+ {
+ "x": 13,
+ "y": 1,
+ "elevation": 0,
+ "dest_map": "MAP_ROUTE110_TRICK_HOUSE_END",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [],
+ "bg_events": [
+ {
+ "type": "sign",
+ "x": 7,
+ "y": 11,
+ "elevation": 3,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "Route110_TrickHousePuzzle8_EventScript_16341C"
+ }
+ ]
+} \ No newline at end of file
diff --git a/data/maps/Route111/connections.inc b/data/maps/Route111/connections.inc
deleted file mode 100644
index a48035299..000000000
--- a/data/maps/Route111/connections.inc
+++ /dev/null
@@ -1,8 +0,0 @@
-Route111_MapConnectionsList:: @ 8308974
- connection down, 0, MAP_MAUVILLE_CITY
- connection left, 0, MAP_ROUTE113
- connection left, 20, MAP_ROUTE112
-
-Route111_MapConnections:: @ 8308998
- .4byte 0x3
- .4byte Route111_MapConnectionsList
diff --git a/data/maps/Route111/events.inc b/data/maps/Route111/events.inc
deleted file mode 100644
index e79548b9c..000000000
--- a/data/maps/Route111/events.inc
+++ /dev/null
@@ -1,100 +0,0 @@
-Route111_EventObjects:: @ 83821A0
- object_event 1, EVENT_OBJ_GFX_MAN_1, 0, 13, 114, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, Route111_EventScript_1501D1, FLAG_HIDE_VICTOR_WINSTRATE
- object_event 2, EVENT_OBJ_GFX_WOMAN_2, 0, 13, 113, 0, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_HIDE_VICTORIA_WINSTRATE
- object_event 3, EVENT_OBJ_GFX_LASS, 0, 13, 113, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 0, 0, 0, 0x0, FLAG_HIDE_VIVI_WINSTRATE
- object_event 4, EVENT_OBJ_GFX_OLD_WOMAN_1, 0, 13, 113, 0, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_HIDE_VICKI_WINSTRATE
- object_event 5, EVENT_OBJ_GFX_PICNICKER, 0, 28, 51, 3, MOVEMENT_TYPE_FACE_DOWN_AND_LEFT, 0, 0, 1, 3, Route111_EventScript_1503BE, 0
- object_event 6, EVENT_OBJ_GFX_BERRY_TREE, 0, 22, 5, 3, MOVEMENT_TYPE_BERRY_TREE_GROWTH, 0, 0, 0, 19, S_BerryTree, 0
- object_event 7, EVENT_OBJ_GFX_BERRY_TREE, 0, 23, 5, 3, MOVEMENT_TYPE_BERRY_TREE_GROWTH, 0, 0, 0, 20, S_BerryTree, 0
- object_event 8, EVENT_OBJ_GFX_MAN_4, 0, 8, 91, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, Route111_EventScript_150395, 0
- object_event 9, EVENT_OBJ_GFX_CAMPER, 0, 24, 60, 3, MOVEMENT_TYPE_FACE_UP_LEFT_AND_RIGHT, 0, 0, 1, 3, Route111_EventScript_1503A7, 0
- object_event 10, EVENT_OBJ_GFX_HIKER, 0, 27, 69, 3, MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_LEFT_UP_RIGHT, 2, 2, 1, 2, Route111_EventScript_150403, 0
- object_event 11, EVENT_OBJ_GFX_CAMPER, 0, 21, 47, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 1, 4, Route111_EventScript_1503D5, 0
- object_event 12, EVENT_OBJ_GFX_PICNICKER, 0, 32, 72, 3, MOVEMENT_TYPE_ROTATE_CLOCKWISE, 0, 0, 1, 3, Route111_EventScript_1503EC, 0
- object_event 13, EVENT_OBJ_GFX_CAMERAMAN, 0, 14, 86, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, Route111_EventScript_1AE442, FLAG_HIDE_GABBY_AND_TY_ROUTE111_1
- object_event 14, EVENT_OBJ_GFX_REPORTER_F, 0, 13, 86, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, Route111_EventScript_1AE422, FLAG_HIDE_GABBY_AND_TY_ROUTE111_1
- object_event 15, EVENT_OBJ_GFX_BREAKABLE_ROCK, 0, 18, 101, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, S_BreakableRock, FLAG_TEMP_11
- object_event 16, EVENT_OBJ_GFX_BREAKABLE_ROCK, 0, 19, 100, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, S_BreakableRock, FLAG_TEMP_12
- object_event 17, EVENT_OBJ_GFX_GIRL_1, 0, 23, 8, 3, MOVEMENT_TYPE_WANDER_LEFT_AND_RIGHT, 1, 0, 0, 0, Route111_EventScript_1500C5, 0
- object_event 18, EVENT_OBJ_GFX_ITEM_BALL, 0, 32, 105, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route111_EventScript_1B14C8, FLAG_ITEM_ROUTE111_1
- object_event 19, EVENT_OBJ_GFX_BERRY_TREE, 0, 18, 5, 3, MOVEMENT_TYPE_BERRY_TREE_GROWTH, 0, 0, 0, 80, S_BerryTree, 0
- object_event 20, EVENT_OBJ_GFX_BERRY_TREE, 0, 19, 5, 3, MOVEMENT_TYPE_BERRY_TREE_GROWTH, 0, 0, 0, 81, S_BerryTree, 0
- object_event 21, EVENT_OBJ_GFX_REPORTER_F, 0, 13, 86, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, Route111_EventScript_1AE4E2, FLAG_HIDE_GABBY_AND_TY_ROUTE111_2
- object_event 22, EVENT_OBJ_GFX_CAMERAMAN, 0, 14, 86, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, Route111_EventScript_1AE502, FLAG_HIDE_GABBY_AND_TY_ROUTE111_2
- object_event 23, EVENT_OBJ_GFX_REPORTER_F, 0, 13, 86, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, Route111_EventScript_1AE562, FLAG_HIDE_GABBY_AND_TY_ROUTE111_3
- object_event 24, EVENT_OBJ_GFX_CAMERAMAN, 0, 14, 86, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, Route111_EventScript_1AE582, FLAG_HIDE_GABBY_AND_TY_ROUTE111_3
- object_event 25, EVENT_OBJ_GFX_ITEM_BALL, 0, 12, 54, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route111_EventScript_1B14D5, FLAG_ITEM_ROUTE111_2
- object_event 26, EVENT_OBJ_GFX_ITEM_BALL, 0, 3, 114, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route111_EventScript_1B14E2, FLAG_ITEM_ROUTE111_3
- object_event 27, EVENT_OBJ_GFX_CUTTABLE_TREE, 0, 22, 21, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, S_CuttableTree, FLAG_TEMP_13
- object_event 28, EVENT_OBJ_GFX_PICNICKER, 0, 10, 82, 3, MOVEMENT_TYPE_FACE_LEFT_AND_RIGHT, 0, 0, 1, 2, Route111_EventScript_150458, 0
- object_event 29, EVENT_OBJ_GFX_CAMPER, 0, 11, 71, 3, MOVEMENT_TYPE_FACE_DOWN_LEFT_AND_RIGHT, 0, 0, 1, 3, Route111_EventScript_150441, 0
- object_event 30, EVENT_OBJ_GFX_BLACK_BELT, 0, 32, 29, 3, MOVEMENT_TYPE_WALK_RIGHT_AND_LEFT, 1, 0, 1, 2, Route111_EventScript_15046F, 0
- object_event 31, EVENT_OBJ_GFX_WOMAN_7, 0, 11, 12, 3, MOVEMENT_TYPE_FACE_UP, 4, 0, 1, 4, Route111_EventScript_1504C4, 0
- object_event 32, EVENT_OBJ_GFX_MAN_4, 0, 9, 27, 3, MOVEMENT_TYPE_FACE_DOWN_AND_LEFT, 0, 0, 1, 3, Route111_EventScript_150486, 0
- object_event 33, EVENT_OBJ_GFX_BOY_1, 0, 13, 20, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 0, 0, Route111_EventScript_1A3858, FLAG_HIDE_SECRET_POWER_MAN
- object_event 34, EVENT_OBJ_GFX_FOSSIL, 0, 32, 38, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route111_EventScript_150023, FLAG_HIDE_ROOT_FOSSIL
- object_event 35, EVENT_OBJ_GFX_FOSSIL, 0, 33, 38, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route111_EventScript_150069, FLAG_HIDE_CLAW_FOSSIL
- object_event 36, EVENT_OBJ_GFX_MAN_5, 0, 20, 114, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, Route111_EventScript_15039E, 0
-
-Route111_MapWarps:: @ 8382500
- warp_def 13, 113, 0, 0, MAP_ROUTE111_WINSTRATE_FAMILYS_HOUSE
- warp_def 29, 87, 0, 0, MAP_DESERT_RUINS
- warp_def 26, 18, 0, 0, MAP_ROUTE111_OLD_LADYS_REST_STOP
-
-Route111_MapCoordEvents:: @ 8382518
- coord_event 12, 62, 3, 0, 0, Route111_EventScript_1501C9
- coord_event 11, 61, 3, VAR_TEMP_3, 0, Route111_EventScript_150116
- coord_event 12, 61, 3, VAR_TEMP_3, 0, Route111_EventScript_150116
- coord_event 13, 61, 3, VAR_TEMP_3, 0, Route111_EventScript_150116
- coord_event 7, 63, 3, 0, 0, Route111_EventScript_1501BC
- coord_event 12, 44, 3, VAR_TEMP_3, 0, Route111_EventScript_150122
- coord_event 13, 43, 3, VAR_TEMP_3, 0, Route111_EventScript_150122
- coord_event 14, 42, 3, VAR_TEMP_3, 0, Route111_EventScript_150122
- coord_event 16, 40, 3, VAR_TEMP_3, 0, Route111_EventScript_150122
- coord_event 14, 61, 3, VAR_TEMP_3, 0, Route111_EventScript_150116
- coord_event 18, 32, 3, 0, 0, Route111_EventScript_1501BC
- coord_event 17, 31, 3, 0, 0, Route111_EventScript_1501BC
- coord_event 9, 37, 3, 0, 0, Route111_EventScript_1501BC
- coord_event 10, 36, 3, 0, 0, Route111_EventScript_1501BC
- coord_event 17, 39, 3, VAR_TEMP_3, 0, Route111_EventScript_150122
- coord_event 18, 38, 3, VAR_TEMP_3, 0, Route111_EventScript_150122
- coord_event 8, 64, 3, 0, 0, Route111_EventScript_1501BC
- coord_event 9, 65, 3, 0, 0, Route111_EventScript_1501BC
- coord_event 10, 65, 3, 0, 0, Route111_EventScript_1501BC
- coord_event 11, 66, 3, 0, 0, Route111_EventScript_1501BC
- coord_event 12, 67, 3, 0, 0, Route111_EventScript_1501BC
- coord_event 13, 68, 3, 0, 0, Route111_EventScript_1501BC
- coord_event 14, 69, 3, 0, 0, Route111_EventScript_1501BC
- coord_event 10, 61, 3, 0, 0, Route111_EventScript_1501C9
- coord_event 11, 62, 3, 0, 0, Route111_EventScript_1501C9
- coord_event 13, 62, 3, 0, 0, Route111_EventScript_1501C9
- coord_event 14, 62, 3, 0, 0, Route111_EventScript_1501C9
- coord_event 17, 38, 3, 0, 0, Route111_EventScript_1501C9
- coord_event 16, 39, 3, 0, 0, Route111_EventScript_1501C9
- coord_event 15, 40, 3, 0, 0, Route111_EventScript_1501C9
- coord_event 14, 41, 3, 0, 0, Route111_EventScript_1501C9
- coord_event 13, 42, 3, 0, 0, Route111_EventScript_1501C9
- coord_event 12, 43, 3, 0, 0, Route111_EventScript_1501C9
- coord_event 11, 44, 3, 0, 0, Route111_EventScript_1501C9
-
-Route111_MapBGEvents:: @ 8382738
- bg_event 16, 114, 0, BG_EVENT_PLAYER_FACING_ANY, Route111_EventScript_150368
- bg_event 24, 126, 0, BG_EVENT_PLAYER_FACING_ANY, Route111_EventScript_15035F
- bg_event 7, 66, 0, BG_EVENT_PLAYER_FACING_ANY, Route111_EventScript_150371
- bg_event 13, 6, 0, BG_EVENT_PLAYER_FACING_ANY, Route111_EventScript_15037A
- bg_secret_base_event 24, 36, 0, SECRET_BASE_YELLOW_CAVE2_1
- bg_secret_base_event 34, 50, 0, SECRET_BASE_YELLOW_CAVE3_1
- bg_secret_base_event 33, 34, 0, SECRET_BASE_YELLOW_CAVE1_1
- bg_event 25, 19, 0, BG_EVENT_PLAYER_FACING_ANY, Route111_EventScript_150383
- bg_secret_base_event 35, 1, 0, SECRET_BASE_RED_CAVE2_3
- bg_secret_base_event 35, 31, 0, SECRET_BASE_YELLOW_CAVE4_3
- bg_hidden_item_event 26, 70, 0, ITEM_STARDUST, FLAG_HIDDEN_ITEM_2
- bg_secret_base_event 27, 27, 3, SECRET_BASE_RED_CAVE4_3
- bg_event 7, 84, 3, BG_EVENT_PLAYER_FACING_ANY, Route111_EventScript_15038C
- bg_secret_base_event 14, 19, 0, SECRET_BASE_TREE1_4
- bg_secret_base_event 13, 19, 0, SECRET_BASE_TREE1_1
- bg_hidden_item_event 19, 55, 0, ITEM_PROTEIN, FLAG_HIDDEN_ITEM_38
- bg_hidden_item_event 35, 66, 0, ITEM_RARE_CANDY, FLAG_HIDDEN_ITEM_39
-
-Route111_MapEvents:: @ 8382804
- map_events Route111_EventObjects, Route111_MapWarps, Route111_MapCoordEvents, Route111_MapBGEvents
diff --git a/data/maps/Route111/header.inc b/data/maps/Route111/header.inc
deleted file mode 100644
index 106adf413..000000000
--- a/data/maps/Route111/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-Route111:: @ 8305720
- .4byte Route111_Layout
- .4byte Route111_MapEvents
- .4byte Route111_MapScripts
- .4byte Route111_MapConnections
- .2byte MUS_DOORO_X1
- .2byte 27
- .byte MAPSEC_ROUTE_111
- .byte 0
- .byte WEATHER_SUNNY
- .byte MAP_TYPE_ROUTE
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/Route111/map.json b/data/maps/Route111/map.json
new file mode 100644
index 000000000..a759b157c
--- /dev/null
+++ b/data/maps/Route111/map.json
@@ -0,0 +1,960 @@
+{
+ "id": "MAP_ROUTE111",
+ "name": "Route111",
+ "layout": "LAYOUT_ROUTE111",
+ "music": "MUS_DOORO_X1",
+ "region_map_section": "MAPSEC_ROUTE_111",
+ "requires_flash": false,
+ "weather": "WEATHER_SUNNY",
+ "map_type": "MAP_TYPE_ROUTE",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": [
+ {
+ "direction": "down",
+ "offset": 0,
+ "map": "MAP_MAUVILLE_CITY"
+ },
+ {
+ "direction": "left",
+ "offset": 0,
+ "map": "MAP_ROUTE113"
+ },
+ {
+ "direction": "left",
+ "offset": 20,
+ "map": "MAP_ROUTE112"
+ }
+ ],
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_1",
+ "x": 13,
+ "y": 114,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route111_EventScript_1501D1",
+ "flag": "FLAG_HIDE_VICTOR_WINSTRATE"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_2",
+ "x": 13,
+ "y": 113,
+ "elevation": 0,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_HIDE_VICTORIA_WINSTRATE"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_LASS",
+ "x": 13,
+ "y": 113,
+ "elevation": 0,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 1,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_HIDE_VIVI_WINSTRATE"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_OLD_WOMAN_1",
+ "x": 13,
+ "y": 113,
+ "elevation": 0,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_HIDE_VICKI_WINSTRATE"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_PICNICKER",
+ "x": 28,
+ "y": 51,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN_AND_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "3",
+ "script": "Route111_EventScript_1503BE",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BERRY_TREE",
+ "x": 22,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_BERRY_TREE_GROWTH",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "19",
+ "script": "S_BerryTree",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BERRY_TREE",
+ "x": 23,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_BERRY_TREE_GROWTH",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "20",
+ "script": "S_BerryTree",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_4",
+ "x": 8,
+ "y": 91,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route111_EventScript_150395",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_CAMPER",
+ "x": 24,
+ "y": 60,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP_LEFT_AND_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "3",
+ "script": "Route111_EventScript_1503A7",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_HIKER",
+ "x": 27,
+ "y": 69,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_LEFT_UP_RIGHT",
+ "movement_range_x": 2,
+ "movement_range_y": 2,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "2",
+ "script": "Route111_EventScript_150403",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_CAMPER",
+ "x": 21,
+ "y": 47,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "4",
+ "script": "Route111_EventScript_1503D5",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_PICNICKER",
+ "x": 32,
+ "y": 72,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_ROTATE_CLOCKWISE",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "3",
+ "script": "Route111_EventScript_1503EC",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_CAMERAMAN",
+ "x": 14,
+ "y": 86,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route111_EventScript_1AE442",
+ "flag": "FLAG_HIDE_GABBY_AND_TY_ROUTE111_1"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_REPORTER_F",
+ "x": 13,
+ "y": 86,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route111_EventScript_1AE422",
+ "flag": "FLAG_HIDE_GABBY_AND_TY_ROUTE111_1"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BREAKABLE_ROCK",
+ "x": 18,
+ "y": 101,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "S_BreakableRock",
+ "flag": "FLAG_TEMP_11"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BREAKABLE_ROCK",
+ "x": 19,
+ "y": 100,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "S_BreakableRock",
+ "flag": "FLAG_TEMP_12"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_GIRL_1",
+ "x": 23,
+ "y": 8,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_LEFT_AND_RIGHT",
+ "movement_range_x": 1,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route111_EventScript_1500C5",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ITEM_BALL",
+ "x": 32,
+ "y": 105,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route111_EventScript_1B14C8",
+ "flag": "FLAG_ITEM_ROUTE111_1"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BERRY_TREE",
+ "x": 18,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_BERRY_TREE_GROWTH",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "80",
+ "script": "S_BerryTree",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BERRY_TREE",
+ "x": 19,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_BERRY_TREE_GROWTH",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "81",
+ "script": "S_BerryTree",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_REPORTER_F",
+ "x": 13,
+ "y": 86,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route111_EventScript_1AE4E2",
+ "flag": "FLAG_HIDE_GABBY_AND_TY_ROUTE111_2"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_CAMERAMAN",
+ "x": 14,
+ "y": 86,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route111_EventScript_1AE502",
+ "flag": "FLAG_HIDE_GABBY_AND_TY_ROUTE111_2"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_REPORTER_F",
+ "x": 13,
+ "y": 86,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route111_EventScript_1AE562",
+ "flag": "FLAG_HIDE_GABBY_AND_TY_ROUTE111_3"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_CAMERAMAN",
+ "x": 14,
+ "y": 86,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route111_EventScript_1AE582",
+ "flag": "FLAG_HIDE_GABBY_AND_TY_ROUTE111_3"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ITEM_BALL",
+ "x": 12,
+ "y": 54,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route111_EventScript_1B14D5",
+ "flag": "FLAG_ITEM_ROUTE111_2"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ITEM_BALL",
+ "x": 3,
+ "y": 114,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route111_EventScript_1B14E2",
+ "flag": "FLAG_ITEM_ROUTE111_3"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_CUTTABLE_TREE",
+ "x": 22,
+ "y": 21,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "S_CuttableTree",
+ "flag": "FLAG_TEMP_13"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_PICNICKER",
+ "x": 10,
+ "y": 82,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT_AND_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "2",
+ "script": "Route111_EventScript_150458",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_CAMPER",
+ "x": 11,
+ "y": 71,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN_LEFT_AND_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "3",
+ "script": "Route111_EventScript_150441",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BLACK_BELT",
+ "x": 32,
+ "y": 29,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WALK_RIGHT_AND_LEFT",
+ "movement_range_x": 1,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "2",
+ "script": "Route111_EventScript_15046F",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_7",
+ "x": 11,
+ "y": 12,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP",
+ "movement_range_x": 4,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "4",
+ "script": "Route111_EventScript_1504C4",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_4",
+ "x": 9,
+ "y": 27,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN_AND_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "3",
+ "script": "Route111_EventScript_150486",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BOY_1",
+ "x": 13,
+ "y": 20,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route111_EventScript_1A3858",
+ "flag": "FLAG_HIDE_SECRET_POWER_MAN"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_FOSSIL",
+ "x": 32,
+ "y": 38,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route111_EventScript_150023",
+ "flag": "FLAG_HIDE_ROOT_FOSSIL"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_FOSSIL",
+ "x": 33,
+ "y": 38,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route111_EventScript_150069",
+ "flag": "FLAG_HIDE_CLAW_FOSSIL"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_5",
+ "x": 20,
+ "y": 114,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route111_EventScript_15039E",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 13,
+ "y": 113,
+ "elevation": 0,
+ "dest_map": "MAP_ROUTE111_WINSTRATE_FAMILYS_HOUSE",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 29,
+ "y": 87,
+ "elevation": 0,
+ "dest_map": "MAP_DESERT_RUINS",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 26,
+ "y": 18,
+ "elevation": 0,
+ "dest_map": "MAP_ROUTE111_OLD_LADYS_REST_STOP",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [
+ {
+ "type": "trigger",
+ "x": 12,
+ "y": 62,
+ "elevation": 3,
+ "var": "0",
+ "var_value": "0",
+ "script": "Route111_EventScript_1501C9"
+ },
+ {
+ "type": "trigger",
+ "x": 11,
+ "y": 61,
+ "elevation": 3,
+ "var": "VAR_TEMP_3",
+ "var_value": "0",
+ "script": "Route111_EventScript_150116"
+ },
+ {
+ "type": "trigger",
+ "x": 12,
+ "y": 61,
+ "elevation": 3,
+ "var": "VAR_TEMP_3",
+ "var_value": "0",
+ "script": "Route111_EventScript_150116"
+ },
+ {
+ "type": "trigger",
+ "x": 13,
+ "y": 61,
+ "elevation": 3,
+ "var": "VAR_TEMP_3",
+ "var_value": "0",
+ "script": "Route111_EventScript_150116"
+ },
+ {
+ "type": "trigger",
+ "x": 7,
+ "y": 63,
+ "elevation": 3,
+ "var": "0",
+ "var_value": "0",
+ "script": "Route111_EventScript_1501BC"
+ },
+ {
+ "type": "trigger",
+ "x": 12,
+ "y": 44,
+ "elevation": 3,
+ "var": "VAR_TEMP_3",
+ "var_value": "0",
+ "script": "Route111_EventScript_150122"
+ },
+ {
+ "type": "trigger",
+ "x": 13,
+ "y": 43,
+ "elevation": 3,
+ "var": "VAR_TEMP_3",
+ "var_value": "0",
+ "script": "Route111_EventScript_150122"
+ },
+ {
+ "type": "trigger",
+ "x": 14,
+ "y": 42,
+ "elevation": 3,
+ "var": "VAR_TEMP_3",
+ "var_value": "0",
+ "script": "Route111_EventScript_150122"
+ },
+ {
+ "type": "trigger",
+ "x": 16,
+ "y": 40,
+ "elevation": 3,
+ "var": "VAR_TEMP_3",
+ "var_value": "0",
+ "script": "Route111_EventScript_150122"
+ },
+ {
+ "type": "trigger",
+ "x": 14,
+ "y": 61,
+ "elevation": 3,
+ "var": "VAR_TEMP_3",
+ "var_value": "0",
+ "script": "Route111_EventScript_150116"
+ },
+ {
+ "type": "trigger",
+ "x": 18,
+ "y": 32,
+ "elevation": 3,
+ "var": "0",
+ "var_value": "0",
+ "script": "Route111_EventScript_1501BC"
+ },
+ {
+ "type": "trigger",
+ "x": 17,
+ "y": 31,
+ "elevation": 3,
+ "var": "0",
+ "var_value": "0",
+ "script": "Route111_EventScript_1501BC"
+ },
+ {
+ "type": "trigger",
+ "x": 9,
+ "y": 37,
+ "elevation": 3,
+ "var": "0",
+ "var_value": "0",
+ "script": "Route111_EventScript_1501BC"
+ },
+ {
+ "type": "trigger",
+ "x": 10,
+ "y": 36,
+ "elevation": 3,
+ "var": "0",
+ "var_value": "0",
+ "script": "Route111_EventScript_1501BC"
+ },
+ {
+ "type": "trigger",
+ "x": 17,
+ "y": 39,
+ "elevation": 3,
+ "var": "VAR_TEMP_3",
+ "var_value": "0",
+ "script": "Route111_EventScript_150122"
+ },
+ {
+ "type": "trigger",
+ "x": 18,
+ "y": 38,
+ "elevation": 3,
+ "var": "VAR_TEMP_3",
+ "var_value": "0",
+ "script": "Route111_EventScript_150122"
+ },
+ {
+ "type": "trigger",
+ "x": 8,
+ "y": 64,
+ "elevation": 3,
+ "var": "0",
+ "var_value": "0",
+ "script": "Route111_EventScript_1501BC"
+ },
+ {
+ "type": "trigger",
+ "x": 9,
+ "y": 65,
+ "elevation": 3,
+ "var": "0",
+ "var_value": "0",
+ "script": "Route111_EventScript_1501BC"
+ },
+ {
+ "type": "trigger",
+ "x": 10,
+ "y": 65,
+ "elevation": 3,
+ "var": "0",
+ "var_value": "0",
+ "script": "Route111_EventScript_1501BC"
+ },
+ {
+ "type": "trigger",
+ "x": 11,
+ "y": 66,
+ "elevation": 3,
+ "var": "0",
+ "var_value": "0",
+ "script": "Route111_EventScript_1501BC"
+ },
+ {
+ "type": "trigger",
+ "x": 12,
+ "y": 67,
+ "elevation": 3,
+ "var": "0",
+ "var_value": "0",
+ "script": "Route111_EventScript_1501BC"
+ },
+ {
+ "type": "trigger",
+ "x": 13,
+ "y": 68,
+ "elevation": 3,
+ "var": "0",
+ "var_value": "0",
+ "script": "Route111_EventScript_1501BC"
+ },
+ {
+ "type": "trigger",
+ "x": 14,
+ "y": 69,
+ "elevation": 3,
+ "var": "0",
+ "var_value": "0",
+ "script": "Route111_EventScript_1501BC"
+ },
+ {
+ "type": "trigger",
+ "x": 10,
+ "y": 61,
+ "elevation": 3,
+ "var": "0",
+ "var_value": "0",
+ "script": "Route111_EventScript_1501C9"
+ },
+ {
+ "type": "trigger",
+ "x": 11,
+ "y": 62,
+ "elevation": 3,
+ "var": "0",
+ "var_value": "0",
+ "script": "Route111_EventScript_1501C9"
+ },
+ {
+ "type": "trigger",
+ "x": 13,
+ "y": 62,
+ "elevation": 3,
+ "var": "0",
+ "var_value": "0",
+ "script": "Route111_EventScript_1501C9"
+ },
+ {
+ "type": "trigger",
+ "x": 14,
+ "y": 62,
+ "elevation": 3,
+ "var": "0",
+ "var_value": "0",
+ "script": "Route111_EventScript_1501C9"
+ },
+ {
+ "type": "trigger",
+ "x": 17,
+ "y": 38,
+ "elevation": 3,
+ "var": "0",
+ "var_value": "0",
+ "script": "Route111_EventScript_1501C9"
+ },
+ {
+ "type": "trigger",
+ "x": 16,
+ "y": 39,
+ "elevation": 3,
+ "var": "0",
+ "var_value": "0",
+ "script": "Route111_EventScript_1501C9"
+ },
+ {
+ "type": "trigger",
+ "x": 15,
+ "y": 40,
+ "elevation": 3,
+ "var": "0",
+ "var_value": "0",
+ "script": "Route111_EventScript_1501C9"
+ },
+ {
+ "type": "trigger",
+ "x": 14,
+ "y": 41,
+ "elevation": 3,
+ "var": "0",
+ "var_value": "0",
+ "script": "Route111_EventScript_1501C9"
+ },
+ {
+ "type": "trigger",
+ "x": 13,
+ "y": 42,
+ "elevation": 3,
+ "var": "0",
+ "var_value": "0",
+ "script": "Route111_EventScript_1501C9"
+ },
+ {
+ "type": "trigger",
+ "x": 12,
+ "y": 43,
+ "elevation": 3,
+ "var": "0",
+ "var_value": "0",
+ "script": "Route111_EventScript_1501C9"
+ },
+ {
+ "type": "trigger",
+ "x": 11,
+ "y": 44,
+ "elevation": 3,
+ "var": "0",
+ "var_value": "0",
+ "script": "Route111_EventScript_1501C9"
+ }
+ ],
+ "bg_events": [
+ {
+ "type": "sign",
+ "x": 16,
+ "y": 114,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "Route111_EventScript_150368"
+ },
+ {
+ "type": "sign",
+ "x": 24,
+ "y": 126,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "Route111_EventScript_15035F"
+ },
+ {
+ "type": "sign",
+ "x": 7,
+ "y": 66,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "Route111_EventScript_150371"
+ },
+ {
+ "type": "sign",
+ "x": 13,
+ "y": 6,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "Route111_EventScript_15037A"
+ },
+ {
+ "type": "secret_base",
+ "x": 24,
+ "y": 36,
+ "elevation": 0,
+ "secret_base_id": "SECRET_BASE_YELLOW_CAVE2_1"
+ },
+ {
+ "type": "secret_base",
+ "x": 34,
+ "y": 50,
+ "elevation": 0,
+ "secret_base_id": "SECRET_BASE_YELLOW_CAVE3_1"
+ },
+ {
+ "type": "secret_base",
+ "x": 33,
+ "y": 34,
+ "elevation": 0,
+ "secret_base_id": "SECRET_BASE_YELLOW_CAVE1_1"
+ },
+ {
+ "type": "sign",
+ "x": 25,
+ "y": 19,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "Route111_EventScript_150383"
+ },
+ {
+ "type": "secret_base",
+ "x": 35,
+ "y": 1,
+ "elevation": 0,
+ "secret_base_id": "SECRET_BASE_RED_CAVE2_3"
+ },
+ {
+ "type": "secret_base",
+ "x": 35,
+ "y": 31,
+ "elevation": 0,
+ "secret_base_id": "SECRET_BASE_YELLOW_CAVE4_3"
+ },
+ {
+ "type": "hidden_item",
+ "x": 26,
+ "y": 70,
+ "elevation": 0,
+ "item": "ITEM_STARDUST",
+ "flag": "FLAG_HIDDEN_ITEM_2"
+ },
+ {
+ "type": "secret_base",
+ "x": 27,
+ "y": 27,
+ "elevation": 3,
+ "secret_base_id": "SECRET_BASE_RED_CAVE4_3"
+ },
+ {
+ "type": "sign",
+ "x": 7,
+ "y": 84,
+ "elevation": 3,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "Route111_EventScript_15038C"
+ },
+ {
+ "type": "secret_base",
+ "x": 14,
+ "y": 19,
+ "elevation": 0,
+ "secret_base_id": "SECRET_BASE_TREE1_4"
+ },
+ {
+ "type": "secret_base",
+ "x": 13,
+ "y": 19,
+ "elevation": 0,
+ "secret_base_id": "SECRET_BASE_TREE1_1"
+ },
+ {
+ "type": "hidden_item",
+ "x": 19,
+ "y": 55,
+ "elevation": 0,
+ "item": "ITEM_PROTEIN",
+ "flag": "FLAG_HIDDEN_ITEM_38"
+ },
+ {
+ "type": "hidden_item",
+ "x": 35,
+ "y": 66,
+ "elevation": 0,
+ "item": "ITEM_RARE_CANDY",
+ "flag": "FLAG_HIDDEN_ITEM_39"
+ }
+ ]
+} \ No newline at end of file
diff --git a/data/maps/Route111_OldLadysRestStop/events.inc b/data/maps/Route111_OldLadysRestStop/events.inc
deleted file mode 100644
index 3a7c3802e..000000000
--- a/data/maps/Route111_OldLadysRestStop/events.inc
+++ /dev/null
@@ -1,9 +0,0 @@
-Route111_OldLadysRestStop_EventObjects:: @ 838B798
- object_event 1, EVENT_OBJ_GFX_OLD_WOMAN_1, 0, 6, 3, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, Route111_OldLadysRestStop_EventScript_15BFDB, 0
-
-Route111_OldLadysRestStop_MapWarps:: @ 838B7B0
- warp_def 3, 7, 0, 2, MAP_ROUTE111
- warp_def 4, 7, 0, 2, MAP_ROUTE111
-
-Route111_OldLadysRestStop_MapEvents:: @ 838B7C0
- map_events Route111_OldLadysRestStop_EventObjects, Route111_OldLadysRestStop_MapWarps, 0x0, 0x0
diff --git a/data/maps/Route111_OldLadysRestStop/header.inc b/data/maps/Route111_OldLadysRestStop/header.inc
deleted file mode 100644
index ed8da2358..000000000
--- a/data/maps/Route111_OldLadysRestStop/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-Route111_OldLadysRestStop:: @ 8306C74
- .4byte House3_Layout
- .4byte Route111_OldLadysRestStop_MapEvents
- .4byte Route111_OldLadysRestStop_MapScripts
- .4byte 0x0
- .2byte MUS_GOTOWN
- .2byte 64
- .byte MAPSEC_ROUTE_111
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/Route111_OldLadysRestStop/map.json b/data/maps/Route111_OldLadysRestStop/map.json
new file mode 100644
index 000000000..1359d68cc
--- /dev/null
+++ b/data/maps/Route111_OldLadysRestStop/map.json
@@ -0,0 +1,46 @@
+{
+ "id": "MAP_ROUTE111_OLD_LADYS_REST_STOP",
+ "name": "Route111_OldLadysRestStop",
+ "layout": "LAYOUT_HOUSE3",
+ "music": "MUS_GOTOWN",
+ "region_map_section": "MAPSEC_ROUTE_111",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_OLD_WOMAN_1",
+ "x": 6,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route111_OldLadysRestStop_EventScript_15BFDB",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 3,
+ "y": 7,
+ "elevation": 0,
+ "dest_map": "MAP_ROUTE111",
+ "dest_warp_id": 2
+ },
+ {
+ "x": 4,
+ "y": 7,
+ "elevation": 0,
+ "dest_map": "MAP_ROUTE111",
+ "dest_warp_id": 2
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/Route111_WinstrateFamilysHouse/events.inc b/data/maps/Route111_WinstrateFamilysHouse/events.inc
deleted file mode 100644
index 623df9b73..000000000
--- a/data/maps/Route111_WinstrateFamilysHouse/events.inc
+++ /dev/null
@@ -1,12 +0,0 @@
-Route111_WinstrateFamilysHouse_EventObjects:: @ 838B714
- object_event 1, EVENT_OBJ_GFX_LASS, 0, 7, 5, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, Route111_WinstrateFamilysHouse_EventScript_15BF80, 0
- object_event 2, EVENT_OBJ_GFX_MAN_1, 0, 4, 5, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, Route111_WinstrateFamilysHouse_EventScript_15BF25, 0
- object_event 3, EVENT_OBJ_GFX_WOMAN_2, 0, 7, 4, 3, MOVEMENT_TYPE_FACE_LEFT, 1, 0, 0, 0, Route111_WinstrateFamilysHouse_EventScript_15BF3A, 0
- object_event 4, EVENT_OBJ_GFX_OLD_WOMAN_1, 0, 4, 4, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, Route111_WinstrateFamilysHouse_EventScript_15BF95, 0
-
-Route111_WinstrateFamilysHouse_MapWarps:: @ 838B774
- warp_def 3, 7, 0, 0, MAP_ROUTE111
- warp_def 4, 7, 0, 0, MAP_ROUTE111
-
-Route111_WinstrateFamilysHouse_MapEvents:: @ 838B784
- map_events Route111_WinstrateFamilysHouse_EventObjects, Route111_WinstrateFamilysHouse_MapWarps, 0x0, 0x0
diff --git a/data/maps/Route111_WinstrateFamilysHouse/header.inc b/data/maps/Route111_WinstrateFamilysHouse/header.inc
deleted file mode 100644
index 5e68c7992..000000000
--- a/data/maps/Route111_WinstrateFamilysHouse/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-Route111_WinstrateFamilysHouse:: @ 8306C58
- .4byte House2_Layout
- .4byte Route111_WinstrateFamilysHouse_MapEvents
- .4byte Route111_WinstrateFamilysHouse_MapScripts
- .4byte 0x0
- .2byte MUS_GOTOWN
- .2byte 60
- .byte MAPSEC_ROUTE_111
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/Route111_WinstrateFamilysHouse/map.json b/data/maps/Route111_WinstrateFamilysHouse/map.json
new file mode 100644
index 000000000..a66ac4543
--- /dev/null
+++ b/data/maps/Route111_WinstrateFamilysHouse/map.json
@@ -0,0 +1,85 @@
+{
+ "id": "MAP_ROUTE111_WINSTRATE_FAMILYS_HOUSE",
+ "name": "Route111_WinstrateFamilysHouse",
+ "layout": "LAYOUT_HOUSE2",
+ "music": "MUS_GOTOWN",
+ "region_map_section": "MAPSEC_ROUTE_111",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_LASS",
+ "x": 7,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route111_WinstrateFamilysHouse_EventScript_15BF80",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_1",
+ "x": 4,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route111_WinstrateFamilysHouse_EventScript_15BF25",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_2",
+ "x": 7,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 1,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route111_WinstrateFamilysHouse_EventScript_15BF3A",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_OLD_WOMAN_1",
+ "x": 4,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route111_WinstrateFamilysHouse_EventScript_15BF95",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 3,
+ "y": 7,
+ "elevation": 0,
+ "dest_map": "MAP_ROUTE111",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 4,
+ "y": 7,
+ "elevation": 0,
+ "dest_map": "MAP_ROUTE111",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/Route112/connections.inc b/data/maps/Route112/connections.inc
deleted file mode 100644
index 88571a0ea..000000000
--- a/data/maps/Route112/connections.inc
+++ /dev/null
@@ -1,8 +0,0 @@
-Route112_MapConnectionsList:: @ 83089A0
- connection up, -60, MAP_ROUTE113
- connection left, 40, MAP_LAVARIDGE_TOWN
- connection right, -20, MAP_ROUTE111
-
-Route112_MapConnections:: @ 83089C4
- .4byte 0x3
- .4byte Route112_MapConnectionsList
diff --git a/data/maps/Route112/events.inc b/data/maps/Route112/events.inc
deleted file mode 100644
index ef6d227b8..000000000
--- a/data/maps/Route112/events.inc
+++ /dev/null
@@ -1,29 +0,0 @@
-Route112_EventObjects:: @ 8382818
- object_event 1, EVENT_OBJ_GFX_VAR_1, 0, 26, 30, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, Route112_EventScript_150513, FLAG_HIDE_GRUNTS_BLOCKING_CABLE_CAR
- object_event 2, EVENT_OBJ_GFX_HIKER, 0, 24, 34, 3, MOVEMENT_TYPE_FACE_LEFT_AND_RIGHT, 0, 0, 1, 2, Route112_EventScript_150549, 0
- object_event 3, EVENT_OBJ_GFX_CAMPER, 0, 29, 49, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 1, 3, Route112_EventScript_15059E, 0
- object_event 4, EVENT_OBJ_GFX_PICNICKER, 0, 22, 46, 3, MOVEMENT_TYPE_ROTATE_COUNTERCLOCKWISE, 0, 0, 1, 3, Route112_EventScript_1505B5, 0
- object_event 5, EVENT_OBJ_GFX_HIKER, 0, 17, 40, 3, MOVEMENT_TYPE_FACE_UP_AND_RIGHT, 0, 0, 1, 4, Route112_EventScript_150560, 0
- object_event 6, EVENT_OBJ_GFX_VAR_1, 0, 27, 30, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, Route112_EventScript_15051C, FLAG_HIDE_GRUNTS_BLOCKING_CABLE_CAR
- object_event 7, EVENT_OBJ_GFX_BERRY_TREE, 0, 27, 6, 0, MOVEMENT_TYPE_BERRY_TREE_GROWTH, 0, 0, 0, 24, S_BerryTree, 0
- object_event 8, EVENT_OBJ_GFX_BERRY_TREE, 0, 28, 6, 0, MOVEMENT_TYPE_BERRY_TREE_GROWTH, 0, 0, 0, 23, S_BerryTree, 0
- object_event 9, EVENT_OBJ_GFX_BERRY_TREE, 0, 29, 6, 0, MOVEMENT_TYPE_BERRY_TREE_GROWTH, 0, 0, 0, 22, S_BerryTree, 0
- object_event 10, EVENT_OBJ_GFX_BERRY_TREE, 0, 30, 6, 3, MOVEMENT_TYPE_BERRY_TREE_GROWTH, 0, 0, 0, 21, S_BerryTree, 0
- object_event 11, EVENT_OBJ_GFX_HIKER, 0, 8, 50, 3, MOVEMENT_TYPE_WALK_DOWN_AND_UP, 0, 3, 0, 0, Route112_EventScript_150540, 0
- object_event 12, EVENT_OBJ_GFX_ITEM_BALL, 0, 14, 43, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route112_EventScript_1B14EF, FLAG_ITEM_ROUTE112_1
-
-Route112_MapWarps:: @ 8382938
- warp_def 28, 27, 0, 0, MAP_ROUTE112_CABLE_CAR_STATION
- warp_def 29, 27, 0, 1, MAP_ROUTE112_CABLE_CAR_STATION
- warp_def 6, 46, 3, 0, MAP_JAGGED_PASS
- warp_def 7, 46, 3, 1, MAP_JAGGED_PASS
- warp_def 11, 36, 0, 0, MAP_FIERY_PATH
- warp_def 22, 10, 0, 1, MAP_FIERY_PATH
-
-Route112_MapBGEvents:: @ 8382968
- bg_event 19, 44, 3, BG_EVENT_PLAYER_FACING_ANY, Route112_EventScript_15052E
- bg_event 22, 37, 0, BG_EVENT_PLAYER_FACING_ANY, Route112_EventScript_150525
- bg_event 4, 49, 0, BG_EVENT_PLAYER_FACING_ANY, Route112_EventScript_150537
-
-Route112_MapEvents:: @ 838298C
- map_events Route112_EventObjects, Route112_MapWarps, 0x0, Route112_MapBGEvents
diff --git a/data/maps/Route112/header.inc b/data/maps/Route112/header.inc
deleted file mode 100644
index f5e3f3133..000000000
--- a/data/maps/Route112/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-Route112:: @ 830573C
- .4byte Route112_Layout
- .4byte Route112_MapEvents
- .4byte Route112_MapScripts
- .4byte Route112_MapConnections
- .2byte MUS_DOORO_X1
- .2byte 28
- .byte MAPSEC_ROUTE_112
- .byte 0
- .byte WEATHER_SUNNY
- .byte MAP_TYPE_ROUTE
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/Route112/map.json b/data/maps/Route112/map.json
new file mode 100644
index 000000000..b2eef42bc
--- /dev/null
+++ b/data/maps/Route112/map.json
@@ -0,0 +1,258 @@
+{
+ "id": "MAP_ROUTE112",
+ "name": "Route112",
+ "layout": "LAYOUT_ROUTE112",
+ "music": "MUS_DOORO_X1",
+ "region_map_section": "MAPSEC_ROUTE_112",
+ "requires_flash": false,
+ "weather": "WEATHER_SUNNY",
+ "map_type": "MAP_TYPE_ROUTE",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": [
+ {
+ "direction": "up",
+ "offset": -60,
+ "map": "MAP_ROUTE113"
+ },
+ {
+ "direction": "left",
+ "offset": 40,
+ "map": "MAP_LAVARIDGE_TOWN"
+ },
+ {
+ "direction": "right",
+ "offset": -20,
+ "map": "MAP_ROUTE111"
+ }
+ ],
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_1",
+ "x": 26,
+ "y": 30,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route112_EventScript_150513",
+ "flag": "FLAG_HIDE_GRUNTS_BLOCKING_CABLE_CAR"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_HIKER",
+ "x": 24,
+ "y": 34,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT_AND_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "2",
+ "script": "Route112_EventScript_150549",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_CAMPER",
+ "x": 29,
+ "y": 49,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "3",
+ "script": "Route112_EventScript_15059E",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_PICNICKER",
+ "x": 22,
+ "y": 46,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_ROTATE_COUNTERCLOCKWISE",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "3",
+ "script": "Route112_EventScript_1505B5",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_HIKER",
+ "x": 17,
+ "y": 40,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP_AND_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "4",
+ "script": "Route112_EventScript_150560",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_1",
+ "x": 27,
+ "y": 30,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route112_EventScript_15051C",
+ "flag": "FLAG_HIDE_GRUNTS_BLOCKING_CABLE_CAR"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BERRY_TREE",
+ "x": 27,
+ "y": 6,
+ "elevation": 0,
+ "movement_type": "MOVEMENT_TYPE_BERRY_TREE_GROWTH",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "24",
+ "script": "S_BerryTree",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BERRY_TREE",
+ "x": 28,
+ "y": 6,
+ "elevation": 0,
+ "movement_type": "MOVEMENT_TYPE_BERRY_TREE_GROWTH",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "23",
+ "script": "S_BerryTree",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BERRY_TREE",
+ "x": 29,
+ "y": 6,
+ "elevation": 0,
+ "movement_type": "MOVEMENT_TYPE_BERRY_TREE_GROWTH",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "22",
+ "script": "S_BerryTree",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BERRY_TREE",
+ "x": 30,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_BERRY_TREE_GROWTH",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "21",
+ "script": "S_BerryTree",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_HIKER",
+ "x": 8,
+ "y": 50,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WALK_DOWN_AND_UP",
+ "movement_range_x": 0,
+ "movement_range_y": 3,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route112_EventScript_150540",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ITEM_BALL",
+ "x": 14,
+ "y": 43,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route112_EventScript_1B14EF",
+ "flag": "FLAG_ITEM_ROUTE112_1"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 28,
+ "y": 27,
+ "elevation": 0,
+ "dest_map": "MAP_ROUTE112_CABLE_CAR_STATION",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 29,
+ "y": 27,
+ "elevation": 0,
+ "dest_map": "MAP_ROUTE112_CABLE_CAR_STATION",
+ "dest_warp_id": 1
+ },
+ {
+ "x": 6,
+ "y": 46,
+ "elevation": 3,
+ "dest_map": "MAP_JAGGED_PASS",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 7,
+ "y": 46,
+ "elevation": 3,
+ "dest_map": "MAP_JAGGED_PASS",
+ "dest_warp_id": 1
+ },
+ {
+ "x": 11,
+ "y": 36,
+ "elevation": 0,
+ "dest_map": "MAP_FIERY_PATH",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 22,
+ "y": 10,
+ "elevation": 0,
+ "dest_map": "MAP_FIERY_PATH",
+ "dest_warp_id": 1
+ }
+ ],
+ "coord_events": [],
+ "bg_events": [
+ {
+ "type": "sign",
+ "x": 19,
+ "y": 44,
+ "elevation": 3,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "Route112_EventScript_15052E"
+ },
+ {
+ "type": "sign",
+ "x": 22,
+ "y": 37,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "Route112_EventScript_150525"
+ },
+ {
+ "type": "sign",
+ "x": 4,
+ "y": 49,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "Route112_EventScript_150537"
+ }
+ ]
+} \ No newline at end of file
diff --git a/data/maps/Route112_CableCarStation/events.inc b/data/maps/Route112_CableCarStation/events.inc
deleted file mode 100644
index 22d25f3df..000000000
--- a/data/maps/Route112_CableCarStation/events.inc
+++ /dev/null
@@ -1,10 +0,0 @@
-Route112_CableCarStation_EventObjects:: @ 838B7D4
- object_event 1, EVENT_OBJ_GFX_BEAUTY, 0, 6, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, Route112_CableCarStation_EventScript_15C08C, 0
- object_event 2, EVENT_OBJ_GFX_CABLE_CAR, 0, 6, 3, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, 0
-
-Route112_CableCarStation_MapWarps:: @ 838B804
- warp_def 6, 11, 0, 0, MAP_ROUTE112
- warp_def 7, 11, 0, 1, MAP_ROUTE112
-
-Route112_CableCarStation_MapEvents:: @ 838B814
- map_events Route112_CableCarStation_EventObjects, Route112_CableCarStation_MapWarps, 0x0, 0x0
diff --git a/data/maps/Route112_CableCarStation/header.inc b/data/maps/Route112_CableCarStation/header.inc
deleted file mode 100644
index 0a657b920..000000000
--- a/data/maps/Route112_CableCarStation/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-Route112_CableCarStation:: @ 8306C90
- .4byte CableCarStation_Layout
- .4byte Route112_CableCarStation_MapEvents
- .4byte Route112_CableCarStation_MapScripts
- .4byte 0x0
- .2byte MUS_DOORO_X1
- .2byte 119
- .byte MAPSEC_ROUTE_112
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/Route112_CableCarStation/map.json b/data/maps/Route112_CableCarStation/map.json
new file mode 100644
index 000000000..c6ed9d9a8
--- /dev/null
+++ b/data/maps/Route112_CableCarStation/map.json
@@ -0,0 +1,59 @@
+{
+ "id": "MAP_ROUTE112_CABLE_CAR_STATION",
+ "name": "Route112_CableCarStation",
+ "layout": "LAYOUT_CABLE_CAR_STATION",
+ "music": "MUS_DOORO_X1",
+ "region_map_section": "MAPSEC_ROUTE_112",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BEAUTY",
+ "x": 6,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route112_CableCarStation_EventScript_15C08C",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_CABLE_CAR",
+ "x": 6,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 6,
+ "y": 11,
+ "elevation": 0,
+ "dest_map": "MAP_ROUTE112",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 7,
+ "y": 11,
+ "elevation": 0,
+ "dest_map": "MAP_ROUTE112",
+ "dest_warp_id": 1
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/Route113/connections.inc b/data/maps/Route113/connections.inc
deleted file mode 100644
index fd6d20812..000000000
--- a/data/maps/Route113/connections.inc
+++ /dev/null
@@ -1,8 +0,0 @@
-Route113_MapConnectionsList:: @ 83089CC
- connection down, 60, MAP_ROUTE112
- connection left, 0, MAP_FALLARBOR_TOWN
- connection right, 0, MAP_ROUTE111
-
-Route113_MapConnections:: @ 83089F0
- .4byte 0x3
- .4byte Route113_MapConnectionsList
diff --git a/data/maps/Route113/events.inc b/data/maps/Route113/events.inc
deleted file mode 100644
index 81f0c48c9..000000000
--- a/data/maps/Route113/events.inc
+++ /dev/null
@@ -1,48 +0,0 @@
-Route113_EventObjects:: @ 83829A0
- object_event 1, EVENT_OBJ_GFX_LITTLE_BOY_1, 0, 66, 12, 3, MOVEMENT_TYPE_WANDER_LEFT_AND_RIGHT, 1, 0, 0, 0, Route113_EventScript_15060E, 0
- object_event 2, EVENT_OBJ_GFX_GENTLEMAN, 0, 36, 10, 3, MOVEMENT_TYPE_WANDER_UP_AND_DOWN, 0, 1, 0, 0, Route113_EventScript_150605, 0
- object_event 3, EVENT_OBJ_GFX_YOUNGSTER, 0, 62, 8, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 1, 3, Route113_EventScript_15063B, 0
- object_event 4, EVENT_OBJ_GFX_YOUNGSTER, 0, 21, 11, 3, MOVEMENT_TYPE_FACE_DOWN_AND_LEFT, 0, 0, 1, 3, Route113_EventScript_150652, 0
- object_event 5, EVENT_OBJ_GFX_WOMAN_7, 0, 51, 11, 3, MOVEMENT_TYPE_ROTATE_COUNTERCLOCKWISE, 0, 0, 1, 2, Route113_EventScript_150669, 0
- object_event 6, EVENT_OBJ_GFX_ITEM_BALL, 0, 53, 7, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route113_EventScript_1B14FC, FLAG_ITEM_ROUTE113_1
- object_event 7, EVENT_OBJ_GFX_ITEM_BALL, 0, 78, 5, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route113_EventScript_1B1509, FLAG_ITEM_ROUTE113_2
- object_event 8, EVENT_OBJ_GFX_LITTLE_BOY_1, 0, 66, 3, 3, MOVEMENT_TYPE_HIDDEN, 0, 0, 3, 1, Route113_EventScript_1506A7, 0
- object_event 9, EVENT_OBJ_GFX_LITTLE_BOY_1, 0, 29, 6, 3, MOVEMENT_TYPE_HIDDEN, 0, 0, 3, 1, Route113_EventScript_1506E5, 0
- object_event 10, EVENT_OBJ_GFX_LITTLE_GIRL_1, 0, 45, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 1, 0, Route113_EventScript_1506FC, 0
- object_event 11, EVENT_OBJ_GFX_LITTLE_GIRL_1, 0, 46, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 1, 0, Route113_EventScript_150717, 0
-
-Route113_MapWarps:: @ 8382AA8
- warp_def 33, 5, 0, 0, MAP_ROUTE113_GLASS_WORKSHOP
-
-Route113_MapCoordEvents:: @ 8382AB0
- coord_weather_event 19, 11, 3, COORD_EVENT_WEATHER_ASH
- coord_weather_event 19, 10, 3, COORD_EVENT_WEATHER_ASH
- coord_weather_event 19, 12, 3, COORD_EVENT_WEATHER_ASH
- coord_weather_event 19, 13, 3, COORD_EVENT_WEATHER_ASH
- coord_weather_event 87, 9, 3, COORD_EVENT_WEATHER_ASH
- coord_weather_event 86, 10, 3, COORD_EVENT_WEATHER_ASH
- coord_weather_event 86, 11, 3, COORD_EVENT_WEATHER_ASH
- coord_weather_event 14, 10, 3, COORD_EVENT_WEATHER_SUNNY
- coord_weather_event 14, 11, 3, COORD_EVENT_WEATHER_SUNNY
- coord_weather_event 14, 12, 3, COORD_EVENT_WEATHER_SUNNY
- coord_weather_event 14, 13, 3, COORD_EVENT_WEATHER_SUNNY
- coord_weather_event 94, 8, 3, COORD_EVENT_WEATHER_SUNNY
- coord_weather_event 94, 9, 3, COORD_EVENT_WEATHER_SUNNY
- coord_weather_event 94, 10, 3, COORD_EVENT_WEATHER_SUNNY
- coord_weather_event 94, 11, 0, COORD_EVENT_WEATHER_SUNNY
- coord_weather_event 19, 14, 3, COORD_EVENT_WEATHER_ASH
- coord_weather_event 88, 8, 3, COORD_EVENT_WEATHER_ASH
- coord_weather_event 88, 6, 3, COORD_EVENT_WEATHER_ASH
- coord_weather_event 88, 7, 3, COORD_EVENT_WEATHER_ASH
-
-Route113_MapBGEvents:: @ 8382BE0
- bg_event 85, 6, 0, BG_EVENT_PLAYER_FACING_ANY, Route113_EventScript_150617
- bg_event 11, 9, 0, BG_EVENT_PLAYER_FACING_ANY, Route113_EventScript_150620
- bg_event 58, 4, 3, BG_EVENT_PLAYER_FACING_ANY, Route113_EventScript_150632
- bg_event 31, 5, 0, BG_EVENT_PLAYER_FACING_ANY, Route113_EventScript_150629
- bg_secret_base_event 49, 8, 0, SECRET_BASE_RED_CAVE1_3
- bg_hidden_item_event 72, 4, 3, ITEM_ETHER, FLAG_HIDDEN_ITEM_3
- bg_hidden_item_event 22, 5, 3, ITEM_TM32_DOUBLE_TEAM, FLAG_HIDDEN_ITEM_1E
-
-Route113_MapEvents:: @ 8382C34
- map_events Route113_EventObjects, Route113_MapWarps, Route113_MapCoordEvents, Route113_MapBGEvents
diff --git a/data/maps/Route113/header.inc b/data/maps/Route113/header.inc
deleted file mode 100644
index 9208e03a1..000000000
--- a/data/maps/Route113/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-Route113:: @ 8305758
- .4byte Route113_Layout
- .4byte Route113_MapEvents
- .4byte Route113_MapScripts
- .4byte Route113_MapConnections
- .2byte MUS_KAZANBAI
- .2byte 29
- .byte MAPSEC_ROUTE_113
- .byte 0
- .byte WEATHER_SUNNY
- .byte MAP_TYPE_ROUTE
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/Route113/map.json b/data/maps/Route113/map.json
new file mode 100644
index 000000000..3a03a4f74
--- /dev/null
+++ b/data/maps/Route113/map.json
@@ -0,0 +1,375 @@
+{
+ "id": "MAP_ROUTE113",
+ "name": "Route113",
+ "layout": "LAYOUT_ROUTE113",
+ "music": "MUS_KAZANBAI",
+ "region_map_section": "MAPSEC_ROUTE_113",
+ "requires_flash": false,
+ "weather": "WEATHER_SUNNY",
+ "map_type": "MAP_TYPE_ROUTE",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": [
+ {
+ "direction": "down",
+ "offset": 60,
+ "map": "MAP_ROUTE112"
+ },
+ {
+ "direction": "left",
+ "offset": 0,
+ "map": "MAP_FALLARBOR_TOWN"
+ },
+ {
+ "direction": "right",
+ "offset": 0,
+ "map": "MAP_ROUTE111"
+ }
+ ],
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_LITTLE_BOY_1",
+ "x": 66,
+ "y": 12,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_LEFT_AND_RIGHT",
+ "movement_range_x": 1,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route113_EventScript_15060E",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_GENTLEMAN",
+ "x": 36,
+ "y": 10,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_UP_AND_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route113_EventScript_150605",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_YOUNGSTER",
+ "x": 62,
+ "y": 8,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "3",
+ "script": "Route113_EventScript_15063B",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_YOUNGSTER",
+ "x": 21,
+ "y": 11,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN_AND_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "3",
+ "script": "Route113_EventScript_150652",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_7",
+ "x": 51,
+ "y": 11,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_ROTATE_COUNTERCLOCKWISE",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "2",
+ "script": "Route113_EventScript_150669",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ITEM_BALL",
+ "x": 53,
+ "y": 7,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route113_EventScript_1B14FC",
+ "flag": "FLAG_ITEM_ROUTE113_1"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ITEM_BALL",
+ "x": 78,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route113_EventScript_1B1509",
+ "flag": "FLAG_ITEM_ROUTE113_2"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_LITTLE_BOY_1",
+ "x": 66,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_HIDDEN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "3",
+ "trainer_sight_or_berry_tree_id": "1",
+ "script": "Route113_EventScript_1506A7",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_LITTLE_BOY_1",
+ "x": 29,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_HIDDEN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "3",
+ "trainer_sight_or_berry_tree_id": "1",
+ "script": "Route113_EventScript_1506E5",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_LITTLE_GIRL_1",
+ "x": 45,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route113_EventScript_1506FC",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_LITTLE_GIRL_1",
+ "x": 46,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route113_EventScript_150717",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 33,
+ "y": 5,
+ "elevation": 0,
+ "dest_map": "MAP_ROUTE113_GLASS_WORKSHOP",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [
+ {
+ "type": "weather",
+ "x": 19,
+ "y": 11,
+ "elevation": 3,
+ "weather": "COORD_EVENT_WEATHER_ASH"
+ },
+ {
+ "type": "weather",
+ "x": 19,
+ "y": 10,
+ "elevation": 3,
+ "weather": "COORD_EVENT_WEATHER_ASH"
+ },
+ {
+ "type": "weather",
+ "x": 19,
+ "y": 12,
+ "elevation": 3,
+ "weather": "COORD_EVENT_WEATHER_ASH"
+ },
+ {
+ "type": "weather",
+ "x": 19,
+ "y": 13,
+ "elevation": 3,
+ "weather": "COORD_EVENT_WEATHER_ASH"
+ },
+ {
+ "type": "weather",
+ "x": 87,
+ "y": 9,
+ "elevation": 3,
+ "weather": "COORD_EVENT_WEATHER_ASH"
+ },
+ {
+ "type": "weather",
+ "x": 86,
+ "y": 10,
+ "elevation": 3,
+ "weather": "COORD_EVENT_WEATHER_ASH"
+ },
+ {
+ "type": "weather",
+ "x": 86,
+ "y": 11,
+ "elevation": 3,
+ "weather": "COORD_EVENT_WEATHER_ASH"
+ },
+ {
+ "type": "weather",
+ "x": 14,
+ "y": 10,
+ "elevation": 3,
+ "weather": "COORD_EVENT_WEATHER_SUNNY"
+ },
+ {
+ "type": "weather",
+ "x": 14,
+ "y": 11,
+ "elevation": 3,
+ "weather": "COORD_EVENT_WEATHER_SUNNY"
+ },
+ {
+ "type": "weather",
+ "x": 14,
+ "y": 12,
+ "elevation": 3,
+ "weather": "COORD_EVENT_WEATHER_SUNNY"
+ },
+ {
+ "type": "weather",
+ "x": 14,
+ "y": 13,
+ "elevation": 3,
+ "weather": "COORD_EVENT_WEATHER_SUNNY"
+ },
+ {
+ "type": "weather",
+ "x": 94,
+ "y": 8,
+ "elevation": 3,
+ "weather": "COORD_EVENT_WEATHER_SUNNY"
+ },
+ {
+ "type": "weather",
+ "x": 94,
+ "y": 9,
+ "elevation": 3,
+ "weather": "COORD_EVENT_WEATHER_SUNNY"
+ },
+ {
+ "type": "weather",
+ "x": 94,
+ "y": 10,
+ "elevation": 3,
+ "weather": "COORD_EVENT_WEATHER_SUNNY"
+ },
+ {
+ "type": "weather",
+ "x": 94,
+ "y": 11,
+ "elevation": 0,
+ "weather": "COORD_EVENT_WEATHER_SUNNY"
+ },
+ {
+ "type": "weather",
+ "x": 19,
+ "y": 14,
+ "elevation": 3,
+ "weather": "COORD_EVENT_WEATHER_ASH"
+ },
+ {
+ "type": "weather",
+ "x": 88,
+ "y": 8,
+ "elevation": 3,
+ "weather": "COORD_EVENT_WEATHER_ASH"
+ },
+ {
+ "type": "weather",
+ "x": 88,
+ "y": 6,
+ "elevation": 3,
+ "weather": "COORD_EVENT_WEATHER_ASH"
+ },
+ {
+ "type": "weather",
+ "x": 88,
+ "y": 7,
+ "elevation": 3,
+ "weather": "COORD_EVENT_WEATHER_ASH"
+ }
+ ],
+ "bg_events": [
+ {
+ "type": "sign",
+ "x": 85,
+ "y": 6,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "Route113_EventScript_150617"
+ },
+ {
+ "type": "sign",
+ "x": 11,
+ "y": 9,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "Route113_EventScript_150620"
+ },
+ {
+ "type": "sign",
+ "x": 58,
+ "y": 4,
+ "elevation": 3,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "Route113_EventScript_150632"
+ },
+ {
+ "type": "sign",
+ "x": 31,
+ "y": 5,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "Route113_EventScript_150629"
+ },
+ {
+ "type": "secret_base",
+ "x": 49,
+ "y": 8,
+ "elevation": 0,
+ "secret_base_id": "SECRET_BASE_RED_CAVE1_3"
+ },
+ {
+ "type": "hidden_item",
+ "x": 72,
+ "y": 4,
+ "elevation": 3,
+ "item": "ITEM_ETHER",
+ "flag": "FLAG_HIDDEN_ITEM_3"
+ },
+ {
+ "type": "hidden_item",
+ "x": 22,
+ "y": 5,
+ "elevation": 3,
+ "item": "ITEM_TM32_DOUBLE_TEAM",
+ "flag": "FLAG_HIDDEN_ITEM_1E"
+ }
+ ]
+} \ No newline at end of file
diff --git a/data/maps/Route113_GlassWorkshop/events.inc b/data/maps/Route113_GlassWorkshop/events.inc
deleted file mode 100644
index 15aa74311..000000000
--- a/data/maps/Route113_GlassWorkshop/events.inc
+++ /dev/null
@@ -1,10 +0,0 @@
-Route113_GlassWorkshop_EventObjects:: @ 8392D18
- object_event 1, EVENT_OBJ_GFX_MAN_1, 0, 2, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, Route113_GlassWorkshop_EventScript_163565, 0
- object_event 2, EVENT_OBJ_GFX_LITTLE_BOY_1, 0, 5, 4, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, Route113_GlassWorkshop_EventScript_1639D6, 0
-
-Route113_GlassWorkshop_MapWarps:: @ 8392D48
- warp_def 3, 8, 0, 0, MAP_ROUTE113
- warp_def 4, 8, 0, 0, MAP_ROUTE113
-
-Route113_GlassWorkshop_MapEvents:: @ 8392D58
- map_events Route113_GlassWorkshop_EventObjects, Route113_GlassWorkshop_MapWarps, 0x0, 0x0
diff --git a/data/maps/Route113_GlassWorkshop/header.inc b/data/maps/Route113_GlassWorkshop/header.inc
deleted file mode 100644
index eb75ddfb6..000000000
--- a/data/maps/Route113_GlassWorkshop/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-Route113_GlassWorkshop:: @ 8307EB8
- .4byte House4_Layout
- .4byte Route113_GlassWorkshop_MapEvents
- .4byte Route113_GlassWorkshop_MapScripts
- .4byte 0x0
- .2byte MUS_GOTOWN
- .2byte 67
- .byte MAPSEC_ROUTE_113
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/Route113_GlassWorkshop/map.json b/data/maps/Route113_GlassWorkshop/map.json
new file mode 100644
index 000000000..25b73fcff
--- /dev/null
+++ b/data/maps/Route113_GlassWorkshop/map.json
@@ -0,0 +1,59 @@
+{
+ "id": "MAP_ROUTE113_GLASS_WORKSHOP",
+ "name": "Route113_GlassWorkshop",
+ "layout": "LAYOUT_HOUSE4",
+ "music": "MUS_GOTOWN",
+ "region_map_section": "MAPSEC_ROUTE_113",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_1",
+ "x": 2,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route113_GlassWorkshop_EventScript_163565",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_LITTLE_BOY_1",
+ "x": 5,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route113_GlassWorkshop_EventScript_1639D6",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 3,
+ "y": 8,
+ "elevation": 0,
+ "dest_map": "MAP_ROUTE113",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 4,
+ "y": 8,
+ "elevation": 0,
+ "dest_map": "MAP_ROUTE113",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/Route114/connections.inc b/data/maps/Route114/connections.inc
deleted file mode 100644
index 1a58d2439..000000000
--- a/data/maps/Route114/connections.inc
+++ /dev/null
@@ -1,7 +0,0 @@
-Route114_MapConnectionsList:: @ 83089F8
- connection left, 40, MAP_ROUTE115
- connection right, 0, MAP_FALLARBOR_TOWN
-
-Route114_MapConnections:: @ 8308A10
- .4byte 0x2
- .4byte Route114_MapConnectionsList
diff --git a/data/maps/Route114/events.inc b/data/maps/Route114/events.inc
deleted file mode 100644
index a4edc3489..000000000
--- a/data/maps/Route114/events.inc
+++ /dev/null
@@ -1,46 +0,0 @@
-Route114_EventObjects:: @ 8382C48
- object_event 1, EVENT_OBJ_GFX_BERRY_TREE, 0, 31, 43, 3, MOVEMENT_TYPE_BERRY_TREE_GROWTH, 0, 0, 0, 77, S_BerryTree, 0
- object_event 2, EVENT_OBJ_GFX_BERRY_TREE, 0, 31, 44, 3, MOVEMENT_TYPE_BERRY_TREE_GROWTH, 0, 0, 0, 78, S_BerryTree, 0
- object_event 3, EVENT_OBJ_GFX_HIKER, 0, 15, 65, 7, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 1, 6, Route114_EventScript_1507F1, 0
- object_event 4, EVENT_OBJ_GFX_HIKER, 0, 30, 72, 5, MOVEMENT_TYPE_FACE_UP_AND_LEFT, 0, 0, 1, 4, Route114_EventScript_150808, 0
- object_event 5, EVENT_OBJ_GFX_CAMPER, 0, 22, 50, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 1, 3, Route114_EventScript_15081F, 0
- object_event 6, EVENT_OBJ_GFX_PICNICKER, 0, 19, 35, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 1, 3, Route114_EventScript_150836, 0
- object_event 7, EVENT_OBJ_GFX_MANIAC, 0, 20, 56, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 1, 3, Route114_EventScript_15084D, 0
- object_event 8, EVENT_OBJ_GFX_BERRY_TREE, 0, 31, 45, 3, MOVEMENT_TYPE_BERRY_TREE_GROWTH, 0, 0, 0, 68, S_BerryTree, 0
- object_event 9, EVENT_OBJ_GFX_ITEM_BALL, 0, 7, 6, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route114_EventScript_1B1516, FLAG_ITEM_ROUTE114_1
- object_event 10, EVENT_OBJ_GFX_ITEM_BALL, 0, 11, 37, 4, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route114_EventScript_1B1523, FLAG_ITEM_ROUTE114_2
- object_event 11, EVENT_OBJ_GFX_BREAKABLE_ROCK, 0, 12, 43, 4, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, S_BreakableRock, FLAG_TEMP_11
- object_event 12, EVENT_OBJ_GFX_GENTLEMAN, 0, 19, 11, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, Route114_EventScript_150782, 0
- object_event 13, EVENT_OBJ_GFX_POOCHYENA, 0, 19, 12, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, Route114_EventScript_1507C3, 0
- object_event 14, EVENT_OBJ_GFX_MAN_5, 0, 27, 42, 3, MOVEMENT_TYPE_WANDER_UP_AND_DOWN, 0, 1, 0, 0, Route114_EventScript_150733, 0
- object_event 15, EVENT_OBJ_GFX_FISHERMAN, 0, 23, 20, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 1, 0, Route114_EventScript_1508E0, 0
- object_event 16, EVENT_OBJ_GFX_FISHERMAN, 0, 19, 26, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 1, 0, Route114_EventScript_1508C9, 0
- object_event 17, EVENT_OBJ_GFX_MAN_6, 0, 30, 58, 5, MOVEMENT_TYPE_ROTATE_COUNTERCLOCKWISE, 0, 0, 1, 3, Route114_EventScript_15088B, 0
- object_event 18, EVENT_OBJ_GFX_BREAKABLE_ROCK, 0, 29, 53, 5, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, S_BreakableRock, FLAG_TEMP_12
- object_event 19, EVENT_OBJ_GFX_BREAKABLE_ROCK, 0, 30, 54, 5, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, S_BreakableRock, FLAG_TEMP_13
- object_event 20, EVENT_OBJ_GFX_BREAKABLE_ROCK, 0, 22, 69, 7, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, S_BreakableRock, FLAG_TEMP_14
- object_event 21, EVENT_OBJ_GFX_BREAKABLE_ROCK, 0, 11, 64, 5, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, S_BreakableRock, FLAG_TEMP_15
- object_event 22, EVENT_OBJ_GFX_LASS, 0, 24, 44, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 1, 0, Route114_EventScript_150912, 0
- object_event 23, EVENT_OBJ_GFX_LASS, 0, 23, 44, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 1, 0, Route114_EventScript_1508F7, 0
-
-Route114_MapWarps:: @ 8382E70
- warp_def 8, 63, 0, 0, MAP_METEOR_FALLS_1F_1R
- warp_def 29, 5, 0, 0, MAP_ROUTE114_FOSSIL_MANIACS_HOUSE
- warp_def 27, 36, 0, 0, MAP_ROUTE114_LANETTES_HOUSE
-
-Route114_MapBGEvents:: @ 8382E88
- bg_event 7, 64, 0, BG_EVENT_PLAYER_FACING_ANY, Route114_EventScript_1507D6
- bg_event 31, 7, 0, BG_EVENT_PLAYER_FACING_ANY, Route114_EventScript_1507DF
- bg_secret_base_event 9, 47, 0, SECRET_BASE_BROWN_CAVE1_1
- bg_secret_base_event 30, 51, 0, SECRET_BASE_BROWN_CAVE2_1
- bg_secret_base_event 11, 62, 0, SECRET_BASE_BROWN_CAVE3_1
- bg_secret_base_event 19, 70, 0, SECRET_BASE_BROWN_CAVE4_1
- bg_secret_base_event 11, 27, 0, SECRET_BASE_TREE3_2
- bg_secret_base_event 12, 27, 0, SECRET_BASE_TREE4_2
- bg_event 25, 38, 3, BG_EVENT_PLAYER_FACING_ANY, Route114_EventScript_1507E8
- bg_hidden_item_event 20, 57, 3, ITEM_CARBOS, FLAG_HIDDEN_ITEM_4
- bg_secret_base_event 32, 57, 0, SECRET_BASE_BROWN_CAVE4_3
- bg_hidden_item_event 7, 30, 3, ITEM_REVIVE, FLAG_HIDDEN_ITEM_2A
-
-Route114_MapEvents:: @ 8382F18
- map_events Route114_EventObjects, Route114_MapWarps, 0x0, Route114_MapBGEvents
diff --git a/data/maps/Route114/header.inc b/data/maps/Route114/header.inc
deleted file mode 100644
index fc57d86aa..000000000
--- a/data/maps/Route114/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-Route114:: @ 8305774
- .4byte Route114_Layout
- .4byte Route114_MapEvents
- .4byte Route114_MapScripts
- .4byte Route114_MapConnections
- .2byte MUS_DOORO_X1
- .2byte 30
- .byte MAPSEC_ROUTE_114
- .byte 0
- .byte WEATHER_SUNNY
- .byte MAP_TYPE_ROUTE
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/Route114/map.json b/data/maps/Route114/map.json
new file mode 100644
index 000000000..c72be9b6f
--- /dev/null
+++ b/data/maps/Route114/map.json
@@ -0,0 +1,440 @@
+{
+ "id": "MAP_ROUTE114",
+ "name": "Route114",
+ "layout": "LAYOUT_ROUTE114",
+ "music": "MUS_DOORO_X1",
+ "region_map_section": "MAPSEC_ROUTE_114",
+ "requires_flash": false,
+ "weather": "WEATHER_SUNNY",
+ "map_type": "MAP_TYPE_ROUTE",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": [
+ {
+ "direction": "left",
+ "offset": 40,
+ "map": "MAP_ROUTE115"
+ },
+ {
+ "direction": "right",
+ "offset": 0,
+ "map": "MAP_FALLARBOR_TOWN"
+ }
+ ],
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BERRY_TREE",
+ "x": 31,
+ "y": 43,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_BERRY_TREE_GROWTH",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "77",
+ "script": "S_BerryTree",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BERRY_TREE",
+ "x": 31,
+ "y": 44,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_BERRY_TREE_GROWTH",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "78",
+ "script": "S_BerryTree",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_HIKER",
+ "x": 15,
+ "y": 65,
+ "elevation": 7,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "6",
+ "script": "Route114_EventScript_1507F1",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_HIKER",
+ "x": 30,
+ "y": 72,
+ "elevation": 5,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP_AND_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "4",
+ "script": "Route114_EventScript_150808",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_CAMPER",
+ "x": 22,
+ "y": 50,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "3",
+ "script": "Route114_EventScript_15081F",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_PICNICKER",
+ "x": 19,
+ "y": 35,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "3",
+ "script": "Route114_EventScript_150836",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MANIAC",
+ "x": 20,
+ "y": 56,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "3",
+ "script": "Route114_EventScript_15084D",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BERRY_TREE",
+ "x": 31,
+ "y": 45,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_BERRY_TREE_GROWTH",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "68",
+ "script": "S_BerryTree",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ITEM_BALL",
+ "x": 7,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route114_EventScript_1B1516",
+ "flag": "FLAG_ITEM_ROUTE114_1"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ITEM_BALL",
+ "x": 11,
+ "y": 37,
+ "elevation": 4,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route114_EventScript_1B1523",
+ "flag": "FLAG_ITEM_ROUTE114_2"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BREAKABLE_ROCK",
+ "x": 12,
+ "y": 43,
+ "elevation": 4,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "S_BreakableRock",
+ "flag": "FLAG_TEMP_11"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_GENTLEMAN",
+ "x": 19,
+ "y": 11,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route114_EventScript_150782",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_POOCHYENA",
+ "x": 19,
+ "y": 12,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route114_EventScript_1507C3",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_5",
+ "x": 27,
+ "y": 42,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_UP_AND_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route114_EventScript_150733",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_FISHERMAN",
+ "x": 23,
+ "y": 20,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route114_EventScript_1508E0",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_FISHERMAN",
+ "x": 19,
+ "y": 26,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route114_EventScript_1508C9",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_6",
+ "x": 30,
+ "y": 58,
+ "elevation": 5,
+ "movement_type": "MOVEMENT_TYPE_ROTATE_COUNTERCLOCKWISE",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "3",
+ "script": "Route114_EventScript_15088B",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BREAKABLE_ROCK",
+ "x": 29,
+ "y": 53,
+ "elevation": 5,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "S_BreakableRock",
+ "flag": "FLAG_TEMP_12"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BREAKABLE_ROCK",
+ "x": 30,
+ "y": 54,
+ "elevation": 5,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "S_BreakableRock",
+ "flag": "FLAG_TEMP_13"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BREAKABLE_ROCK",
+ "x": 22,
+ "y": 69,
+ "elevation": 7,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "S_BreakableRock",
+ "flag": "FLAG_TEMP_14"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BREAKABLE_ROCK",
+ "x": 11,
+ "y": 64,
+ "elevation": 5,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "S_BreakableRock",
+ "flag": "FLAG_TEMP_15"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_LASS",
+ "x": 24,
+ "y": 44,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route114_EventScript_150912",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_LASS",
+ "x": 23,
+ "y": 44,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route114_EventScript_1508F7",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 8,
+ "y": 63,
+ "elevation": 0,
+ "dest_map": "MAP_METEOR_FALLS_1F_1R",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 29,
+ "y": 5,
+ "elevation": 0,
+ "dest_map": "MAP_ROUTE114_FOSSIL_MANIACS_HOUSE",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 27,
+ "y": 36,
+ "elevation": 0,
+ "dest_map": "MAP_ROUTE114_LANETTES_HOUSE",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [],
+ "bg_events": [
+ {
+ "type": "sign",
+ "x": 7,
+ "y": 64,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "Route114_EventScript_1507D6"
+ },
+ {
+ "type": "sign",
+ "x": 31,
+ "y": 7,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "Route114_EventScript_1507DF"
+ },
+ {
+ "type": "secret_base",
+ "x": 9,
+ "y": 47,
+ "elevation": 0,
+ "secret_base_id": "SECRET_BASE_BROWN_CAVE1_1"
+ },
+ {
+ "type": "secret_base",
+ "x": 30,
+ "y": 51,
+ "elevation": 0,
+ "secret_base_id": "SECRET_BASE_BROWN_CAVE2_1"
+ },
+ {
+ "type": "secret_base",
+ "x": 11,
+ "y": 62,
+ "elevation": 0,
+ "secret_base_id": "SECRET_BASE_BROWN_CAVE3_1"
+ },
+ {
+ "type": "secret_base",
+ "x": 19,
+ "y": 70,
+ "elevation": 0,
+ "secret_base_id": "SECRET_BASE_BROWN_CAVE4_1"
+ },
+ {
+ "type": "secret_base",
+ "x": 11,
+ "y": 27,
+ "elevation": 0,
+ "secret_base_id": "SECRET_BASE_TREE3_2"
+ },
+ {
+ "type": "secret_base",
+ "x": 12,
+ "y": 27,
+ "elevation": 0,
+ "secret_base_id": "SECRET_BASE_TREE4_2"
+ },
+ {
+ "type": "sign",
+ "x": 25,
+ "y": 38,
+ "elevation": 3,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "Route114_EventScript_1507E8"
+ },
+ {
+ "type": "hidden_item",
+ "x": 20,
+ "y": 57,
+ "elevation": 3,
+ "item": "ITEM_CARBOS",
+ "flag": "FLAG_HIDDEN_ITEM_4"
+ },
+ {
+ "type": "secret_base",
+ "x": 32,
+ "y": 57,
+ "elevation": 0,
+ "secret_base_id": "SECRET_BASE_BROWN_CAVE4_3"
+ },
+ {
+ "type": "hidden_item",
+ "x": 7,
+ "y": 30,
+ "elevation": 3,
+ "item": "ITEM_REVIVE",
+ "flag": "FLAG_HIDDEN_ITEM_2A"
+ }
+ ]
+} \ No newline at end of file
diff --git a/data/maps/Route114_FossilManiacsHouse/events.inc b/data/maps/Route114_FossilManiacsHouse/events.inc
deleted file mode 100644
index 1396fe276..000000000
--- a/data/maps/Route114_FossilManiacsHouse/events.inc
+++ /dev/null
@@ -1,16 +0,0 @@
-Route114_FossilManiacsHouse_EventObjects:: @ 838B87C
- object_event 1, EVENT_OBJ_GFX_LITTLE_BOY_1, 0, 3, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, Route114_FossilManiacsHouse_EventScript_15C1C3, 0
-
-Route114_FossilManiacsHouse_MapWarps:: @ 838B894
- warp_def 4, 7, 0, 1, MAP_ROUTE114
- warp_def 5, 7, 0, 1, MAP_ROUTE114
- warp_def 4, 1, 0, 0, MAP_ROUTE114_FOSSIL_MANIACS_TUNNEL
-
-Route114_FossilManiacsHouse_MapBGEvents:: @ 838B8AC
- bg_event 5, 3, 0, BG_EVENT_PLAYER_FACING_NORTH, Route114_FossilManiacsHouse_EventScript_15C1FC
- bg_event 6, 3, 0, BG_EVENT_PLAYER_FACING_NORTH, Route114_FossilManiacsHouse_EventScript_15C1FC
- bg_event 7, 2, 0, BG_EVENT_PLAYER_FACING_NORTH, Route114_FossilManiacsHouse_EventScript_15C205
- bg_event 8, 2, 0, BG_EVENT_PLAYER_FACING_NORTH, Route114_FossilManiacsHouse_EventScript_15C205
-
-Route114_FossilManiacsHouse_MapEvents:: @ 838B8DC
- map_events Route114_FossilManiacsHouse_EventObjects, Route114_FossilManiacsHouse_MapWarps, 0x0, Route114_FossilManiacsHouse_MapBGEvents
diff --git a/data/maps/Route114_FossilManiacsHouse/header.inc b/data/maps/Route114_FossilManiacsHouse/header.inc
deleted file mode 100644
index 658bb33d9..000000000
--- a/data/maps/Route114_FossilManiacsHouse/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-Route114_FossilManiacsHouse:: @ 8306CC8
- .4byte Route114_FossilManiacsHouse_Layout
- .4byte Route114_FossilManiacsHouse_MapEvents
- .4byte Route114_FossilManiacsHouse_MapScripts
- .4byte 0x0
- .2byte MUS_TONEKUSA
- .2byte 120
- .byte MAPSEC_ROUTE_114
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/Route114_FossilManiacsHouse/map.json b/data/maps/Route114_FossilManiacsHouse/map.json
new file mode 100644
index 000000000..58d91f253
--- /dev/null
+++ b/data/maps/Route114_FossilManiacsHouse/map.json
@@ -0,0 +1,86 @@
+{
+ "id": "MAP_ROUTE114_FOSSIL_MANIACS_HOUSE",
+ "name": "Route114_FossilManiacsHouse",
+ "layout": "LAYOUT_ROUTE114_FOSSIL_MANIACS_HOUSE",
+ "music": "MUS_TONEKUSA",
+ "region_map_section": "MAPSEC_ROUTE_114",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_LITTLE_BOY_1",
+ "x": 3,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route114_FossilManiacsHouse_EventScript_15C1C3",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 4,
+ "y": 7,
+ "elevation": 0,
+ "dest_map": "MAP_ROUTE114",
+ "dest_warp_id": 1
+ },
+ {
+ "x": 5,
+ "y": 7,
+ "elevation": 0,
+ "dest_map": "MAP_ROUTE114",
+ "dest_warp_id": 1
+ },
+ {
+ "x": 4,
+ "y": 1,
+ "elevation": 0,
+ "dest_map": "MAP_ROUTE114_FOSSIL_MANIACS_TUNNEL",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [],
+ "bg_events": [
+ {
+ "type": "sign",
+ "x": 5,
+ "y": 3,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH",
+ "script": "Route114_FossilManiacsHouse_EventScript_15C1FC"
+ },
+ {
+ "type": "sign",
+ "x": 6,
+ "y": 3,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH",
+ "script": "Route114_FossilManiacsHouse_EventScript_15C1FC"
+ },
+ {
+ "type": "sign",
+ "x": 7,
+ "y": 2,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH",
+ "script": "Route114_FossilManiacsHouse_EventScript_15C205"
+ },
+ {
+ "type": "sign",
+ "x": 8,
+ "y": 2,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH",
+ "script": "Route114_FossilManiacsHouse_EventScript_15C205"
+ }
+ ]
+} \ No newline at end of file
diff --git a/data/maps/Route114_FossilManiacsTunnel/events.inc b/data/maps/Route114_FossilManiacsTunnel/events.inc
deleted file mode 100644
index c647ebbcc..000000000
--- a/data/maps/Route114_FossilManiacsTunnel/events.inc
+++ /dev/null
@@ -1,9 +0,0 @@
-Route114_FossilManiacsTunnel_EventObjects:: @ 838B8F0
- object_event 1, EVENT_OBJ_GFX_MANIAC, 0, 5, 3, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 0, 0, Route114_FossilManiacsTunnel_EventScript_15C20F, 0
-
-Route114_FossilManiacsTunnel_MapWarps:: @ 838B908
- warp_def 6, 25, 3, 2, MAP_ROUTE114_FOSSIL_MANIACS_HOUSE
- warp_def 7, 25, 3, 2, MAP_ROUTE114_FOSSIL_MANIACS_HOUSE
-
-Route114_FossilManiacsTunnel_MapEvents:: @ 838B918
- map_events Route114_FossilManiacsTunnel_EventObjects, Route114_FossilManiacsTunnel_MapWarps, 0x0, 0x0
diff --git a/data/maps/Route114_FossilManiacsTunnel/header.inc b/data/maps/Route114_FossilManiacsTunnel/header.inc
deleted file mode 100644
index c8fa950f4..000000000
--- a/data/maps/Route114_FossilManiacsTunnel/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-Route114_FossilManiacsTunnel:: @ 8306CE4
- .4byte Route114_FossilManiacsTunnel_Layout
- .4byte Route114_FossilManiacsTunnel_MapEvents
- .4byte Route114_FossilManiacsTunnel_MapScripts
- .4byte 0x0
- .2byte MUS_TONEKUSA
- .2byte 121
- .byte MAPSEC_ROUTE_114
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/Route114_FossilManiacsTunnel/map.json b/data/maps/Route114_FossilManiacsTunnel/map.json
new file mode 100644
index 000000000..bbd151d1d
--- /dev/null
+++ b/data/maps/Route114_FossilManiacsTunnel/map.json
@@ -0,0 +1,46 @@
+{
+ "id": "MAP_ROUTE114_FOSSIL_MANIACS_TUNNEL",
+ "name": "Route114_FossilManiacsTunnel",
+ "layout": "LAYOUT_ROUTE114_FOSSIL_MANIACS_TUNNEL",
+ "music": "MUS_TONEKUSA",
+ "region_map_section": "MAPSEC_ROUTE_114",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MANIAC",
+ "x": 5,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route114_FossilManiacsTunnel_EventScript_15C20F",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 6,
+ "y": 25,
+ "elevation": 3,
+ "dest_map": "MAP_ROUTE114_FOSSIL_MANIACS_HOUSE",
+ "dest_warp_id": 2
+ },
+ {
+ "x": 7,
+ "y": 25,
+ "elevation": 3,
+ "dest_map": "MAP_ROUTE114_FOSSIL_MANIACS_HOUSE",
+ "dest_warp_id": 2
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/Route114_LanettesHouse/events.inc b/data/maps/Route114_LanettesHouse/events.inc
deleted file mode 100644
index f79c9be44..000000000
--- a/data/maps/Route114_LanettesHouse/events.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-Route114_LanettesHouse_EventObjects:: @ 838B92C
- object_event 1, EVENT_OBJ_GFX_WOMAN_3, 0, 5, 4, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route114_LanettesHouse_EventScript_15C262, FLAG_HIDE_LANETTE
-
-Route114_LanettesHouse_MapWarps:: @ 838B944
- warp_def 5, 7, 0, 2, MAP_ROUTE114
- warp_def 6, 7, 0, 2, MAP_ROUTE114
-
-Route114_LanettesHouse_MapBGEvents:: @ 838B954
- bg_event 5, 1, 0, BG_EVENT_PLAYER_FACING_ANY, Route114_LanettesHouse_EventScript_15C299
- bg_event 8, 1, 0, BG_EVENT_PLAYER_FACING_ANY, Route114_LanettesHouse_EventScript_15C2D5
- bg_event 7, 1, 0, BG_EVENT_PLAYER_FACING_ANY, Route114_LanettesHouse_EventScript_15C2D5
-
-Route114_LanettesHouse_MapEvents:: @ 838B978
- map_events Route114_LanettesHouse_EventObjects, Route114_LanettesHouse_MapWarps, 0x0, Route114_LanettesHouse_MapBGEvents
diff --git a/data/maps/Route114_LanettesHouse/header.inc b/data/maps/Route114_LanettesHouse/header.inc
deleted file mode 100644
index 3b49ab59a..000000000
--- a/data/maps/Route114_LanettesHouse/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-Route114_LanettesHouse:: @ 8306D00
- .4byte Route114_LanettesHouse_Layout
- .4byte Route114_LanettesHouse_MapEvents
- .4byte Route114_LanettesHouse_MapScripts
- .4byte 0x0
- .2byte MUS_TONEKUSA
- .2byte 122
- .byte MAPSEC_ROUTE_114
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/Route114_LanettesHouse/map.json b/data/maps/Route114_LanettesHouse/map.json
new file mode 100644
index 000000000..f959007e4
--- /dev/null
+++ b/data/maps/Route114_LanettesHouse/map.json
@@ -0,0 +1,71 @@
+{
+ "id": "MAP_ROUTE114_LANETTES_HOUSE",
+ "name": "Route114_LanettesHouse",
+ "layout": "LAYOUT_ROUTE114_LANETTES_HOUSE",
+ "music": "MUS_TONEKUSA",
+ "region_map_section": "MAPSEC_ROUTE_114",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_3",
+ "x": 5,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route114_LanettesHouse_EventScript_15C262",
+ "flag": "FLAG_HIDE_LANETTE"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 5,
+ "y": 7,
+ "elevation": 0,
+ "dest_map": "MAP_ROUTE114",
+ "dest_warp_id": 2
+ },
+ {
+ "x": 6,
+ "y": 7,
+ "elevation": 0,
+ "dest_map": "MAP_ROUTE114",
+ "dest_warp_id": 2
+ }
+ ],
+ "coord_events": [],
+ "bg_events": [
+ {
+ "type": "sign",
+ "x": 5,
+ "y": 1,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "Route114_LanettesHouse_EventScript_15C299"
+ },
+ {
+ "type": "sign",
+ "x": 8,
+ "y": 1,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "Route114_LanettesHouse_EventScript_15C2D5"
+ },
+ {
+ "type": "sign",
+ "x": 7,
+ "y": 1,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "Route114_LanettesHouse_EventScript_15C2D5"
+ }
+ ]
+} \ No newline at end of file
diff --git a/data/maps/Route115/connections.inc b/data/maps/Route115/connections.inc
deleted file mode 100644
index 80fad1097..000000000
--- a/data/maps/Route115/connections.inc
+++ /dev/null
@@ -1,7 +0,0 @@
-Route115_MapConnectionsList:: @ 8308A18
- connection down, 0, MAP_RUSTBORO_CITY
- connection right, -40, MAP_ROUTE114
-
-Route115_MapConnections:: @ 8308A30
- .4byte 0x2
- .4byte Route115_MapConnectionsList
diff --git a/data/maps/Route115/events.inc b/data/maps/Route115/events.inc
deleted file mode 100644
index 0888896ac..000000000
--- a/data/maps/Route115/events.inc
+++ /dev/null
@@ -1,39 +0,0 @@
-Route115_EventObjects:: @ 8382F2C
- object_event 1, EVENT_OBJ_GFX_WOMAN_3, 0, 18, 68, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, Route115_EventScript_15092E, 0
- object_event 2, EVENT_OBJ_GFX_OLD_MAN_1, 0, 5, 15, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 1, 6, Route115_EventScript_150949, 0
- object_event 3, EVENT_OBJ_GFX_BLACK_BELT, 0, 27, 53, 3, MOVEMENT_TYPE_FACE_UP_AND_LEFT, 1, 1, 1, 4, Route115_EventScript_15099E, 0
- object_event 4, EVENT_OBJ_GFX_BERRY_TREE, 0, 11, 5, 3, MOVEMENT_TYPE_BERRY_TREE_GROWTH, 0, 0, 0, 69, S_BerryTree, 0
- object_event 5, EVENT_OBJ_GFX_BERRY_TREE, 0, 12, 5, 3, MOVEMENT_TYPE_BERRY_TREE_GROWTH, 0, 0, 0, 70, S_BerryTree, 0
- object_event 6, EVENT_OBJ_GFX_BERRY_TREE, 0, 13, 5, 3, MOVEMENT_TYPE_BERRY_TREE_GROWTH, 0, 0, 0, 71, S_BerryTree, 0
- object_event 7, EVENT_OBJ_GFX_GIRL_3, 0, 15, 50, 3, MOVEMENT_TYPE_WALK_IN_PLACE_DOWN, 0, 0, 1, 3, Route115_EventScript_1509DC, 0
- object_event 8, EVENT_OBJ_GFX_BLACK_BELT, 0, 17, 17, 3, MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_LEFT_UP_RIGHT, 3, 3, 1, 2, Route115_EventScript_150987, 0
- object_event 9, EVENT_OBJ_GFX_MANIAC, 0, 25, 61, 3, MOVEMENT_TYPE_FACE_LEFT_AND_RIGHT, 0, 0, 1, 3, Route115_EventScript_150A1A, 0
- object_event 10, EVENT_OBJ_GFX_ITEM_BALL, 0, 20, 60, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route115_EventScript_1B1530, FLAG_ITEM_ROUTE115_1
- object_event 11, EVENT_OBJ_GFX_ITEM_BALL, 0, 19, 5, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route115_EventScript_1B153D, FLAG_ITEM_ROUTE115_2
- object_event 12, EVENT_OBJ_GFX_ITEM_BALL, 0, 23, 29, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route115_EventScript_1B154A, FLAG_ITEM_ROUTE115_3
- object_event 13, EVENT_OBJ_GFX_BERRY_TREE, 0, 31, 64, 3, MOVEMENT_TYPE_BERRY_TREE_GROWTH, 0, 0, 0, 55, S_BerryTree, 0
- object_event 14, EVENT_OBJ_GFX_BERRY_TREE, 0, 31, 65, 3, MOVEMENT_TYPE_BERRY_TREE_GROWTH, 0, 0, 0, 56, S_BerryTree, 0
- object_event 15, EVENT_OBJ_GFX_BREAKABLE_ROCK, 0, 29, 50, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, S_BreakableRock, FLAG_TEMP_11
- object_event 16, EVENT_OBJ_GFX_ITEM_BALL, 0, 31, 56, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route115_EventScript_1B1557, FLAG_ITEM_ROUTE115_4
-
-Route115_MapWarps:: @ 83830AC
- warp_def 27, 37, 0, 1, MAP_METEOR_FALLS_1F_1R
-
-Route115_MapBGEvents:: @ 83830B4
- bg_secret_base_event 32, 6, 0, SECRET_BASE_BROWN_CAVE4_2
- bg_secret_base_event 21, 18, 0, SECRET_BASE_BROWN_CAVE3_2
- bg_event 16, 64, 0, BG_EVENT_PLAYER_FACING_ANY, Route115_EventScript_150937
- bg_event 25, 38, 3, BG_EVENT_PLAYER_FACING_ANY, Route115_EventScript_150940
- bg_secret_base_event 8, 30, 0, SECRET_BASE_YELLOW_CAVE2_3
- bg_secret_base_event 32, 39, 0, SECRET_BASE_BROWN_CAVE1_2
- bg_secret_base_event 26, 15, 0, SECRET_BASE_BROWN_CAVE2_2
- bg_secret_base_event 23, 8, 0, SECRET_BASE_BROWN_CAVE1_3
- bg_secret_base_event 32, 46, 0, SECRET_BASE_BROWN_CAVE2_3
- bg_secret_base_event 7, 20, 0, SECRET_BASE_TREE2_4
- bg_secret_base_event 8, 20, 0, SECRET_BASE_TREE3_3
- bg_secret_base_event 25, 24, 0, SECRET_BASE_BROWN_CAVE3_3
- bg_secret_base_event 20, 53, 0, SECRET_BASE_RED_CAVE3_1
- bg_hidden_item_event 15, 49, 3, ITEM_HEART_SCALE, FLAG_HIDDEN_ITEM_61
-
-Route115_MapEvents:: @ 838315C
- map_events Route115_EventObjects, Route115_MapWarps, 0x0, Route115_MapBGEvents
diff --git a/data/maps/Route115/header.inc b/data/maps/Route115/header.inc
deleted file mode 100644
index 9967224a8..000000000
--- a/data/maps/Route115/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-Route115:: @ 8305790
- .4byte Route115_Layout
- .4byte Route115_MapEvents
- .4byte Route115_MapScripts
- .4byte Route115_MapConnections
- .2byte MUS_NEXTROAD
- .2byte 31
- .byte MAPSEC_ROUTE_115
- .byte 0
- .byte WEATHER_SUNNY
- .byte MAP_TYPE_ROUTE
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/Route115/map.json b/data/maps/Route115/map.json
new file mode 100644
index 000000000..98588d46f
--- /dev/null
+++ b/data/maps/Route115/map.json
@@ -0,0 +1,347 @@
+{
+ "id": "MAP_ROUTE115",
+ "name": "Route115",
+ "layout": "LAYOUT_ROUTE115",
+ "music": "MUS_NEXTROAD",
+ "region_map_section": "MAPSEC_ROUTE_115",
+ "requires_flash": false,
+ "weather": "WEATHER_SUNNY",
+ "map_type": "MAP_TYPE_ROUTE",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": [
+ {
+ "direction": "down",
+ "offset": 0,
+ "map": "MAP_RUSTBORO_CITY"
+ },
+ {
+ "direction": "right",
+ "offset": -40,
+ "map": "MAP_ROUTE114"
+ }
+ ],
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_3",
+ "x": 18,
+ "y": 68,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route115_EventScript_15092E",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_OLD_MAN_1",
+ "x": 5,
+ "y": 15,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "6",
+ "script": "Route115_EventScript_150949",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BLACK_BELT",
+ "x": 27,
+ "y": 53,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP_AND_LEFT",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "4",
+ "script": "Route115_EventScript_15099E",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BERRY_TREE",
+ "x": 11,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_BERRY_TREE_GROWTH",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "69",
+ "script": "S_BerryTree",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BERRY_TREE",
+ "x": 12,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_BERRY_TREE_GROWTH",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "70",
+ "script": "S_BerryTree",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BERRY_TREE",
+ "x": 13,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_BERRY_TREE_GROWTH",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "71",
+ "script": "S_BerryTree",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_GIRL_3",
+ "x": 15,
+ "y": 50,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WALK_IN_PLACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "3",
+ "script": "Route115_EventScript_1509DC",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BLACK_BELT",
+ "x": 17,
+ "y": 17,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_LEFT_UP_RIGHT",
+ "movement_range_x": 3,
+ "movement_range_y": 3,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "2",
+ "script": "Route115_EventScript_150987",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MANIAC",
+ "x": 25,
+ "y": 61,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT_AND_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "3",
+ "script": "Route115_EventScript_150A1A",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ITEM_BALL",
+ "x": 20,
+ "y": 60,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route115_EventScript_1B1530",
+ "flag": "FLAG_ITEM_ROUTE115_1"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ITEM_BALL",
+ "x": 19,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route115_EventScript_1B153D",
+ "flag": "FLAG_ITEM_ROUTE115_2"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ITEM_BALL",
+ "x": 23,
+ "y": 29,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route115_EventScript_1B154A",
+ "flag": "FLAG_ITEM_ROUTE115_3"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BERRY_TREE",
+ "x": 31,
+ "y": 64,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_BERRY_TREE_GROWTH",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "55",
+ "script": "S_BerryTree",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BERRY_TREE",
+ "x": 31,
+ "y": 65,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_BERRY_TREE_GROWTH",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "56",
+ "script": "S_BerryTree",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BREAKABLE_ROCK",
+ "x": 29,
+ "y": 50,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "S_BreakableRock",
+ "flag": "FLAG_TEMP_11"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ITEM_BALL",
+ "x": 31,
+ "y": 56,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route115_EventScript_1B1557",
+ "flag": "FLAG_ITEM_ROUTE115_4"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 27,
+ "y": 37,
+ "elevation": 0,
+ "dest_map": "MAP_METEOR_FALLS_1F_1R",
+ "dest_warp_id": 1
+ }
+ ],
+ "coord_events": [],
+ "bg_events": [
+ {
+ "type": "secret_base",
+ "x": 32,
+ "y": 6,
+ "elevation": 0,
+ "secret_base_id": "SECRET_BASE_BROWN_CAVE4_2"
+ },
+ {
+ "type": "secret_base",
+ "x": 21,
+ "y": 18,
+ "elevation": 0,
+ "secret_base_id": "SECRET_BASE_BROWN_CAVE3_2"
+ },
+ {
+ "type": "sign",
+ "x": 16,
+ "y": 64,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "Route115_EventScript_150937"
+ },
+ {
+ "type": "sign",
+ "x": 25,
+ "y": 38,
+ "elevation": 3,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "Route115_EventScript_150940"
+ },
+ {
+ "type": "secret_base",
+ "x": 8,
+ "y": 30,
+ "elevation": 0,
+ "secret_base_id": "SECRET_BASE_YELLOW_CAVE2_3"
+ },
+ {
+ "type": "secret_base",
+ "x": 32,
+ "y": 39,
+ "elevation": 0,
+ "secret_base_id": "SECRET_BASE_BROWN_CAVE1_2"
+ },
+ {
+ "type": "secret_base",
+ "x": 26,
+ "y": 15,
+ "elevation": 0,
+ "secret_base_id": "SECRET_BASE_BROWN_CAVE2_2"
+ },
+ {
+ "type": "secret_base",
+ "x": 23,
+ "y": 8,
+ "elevation": 0,
+ "secret_base_id": "SECRET_BASE_BROWN_CAVE1_3"
+ },
+ {
+ "type": "secret_base",
+ "x": 32,
+ "y": 46,
+ "elevation": 0,
+ "secret_base_id": "SECRET_BASE_BROWN_CAVE2_3"
+ },
+ {
+ "type": "secret_base",
+ "x": 7,
+ "y": 20,
+ "elevation": 0,
+ "secret_base_id": "SECRET_BASE_TREE2_4"
+ },
+ {
+ "type": "secret_base",
+ "x": 8,
+ "y": 20,
+ "elevation": 0,
+ "secret_base_id": "SECRET_BASE_TREE3_3"
+ },
+ {
+ "type": "secret_base",
+ "x": 25,
+ "y": 24,
+ "elevation": 0,
+ "secret_base_id": "SECRET_BASE_BROWN_CAVE3_3"
+ },
+ {
+ "type": "secret_base",
+ "x": 20,
+ "y": 53,
+ "elevation": 0,
+ "secret_base_id": "SECRET_BASE_RED_CAVE3_1"
+ },
+ {
+ "type": "hidden_item",
+ "x": 15,
+ "y": 49,
+ "elevation": 3,
+ "item": "ITEM_HEART_SCALE",
+ "flag": "FLAG_HIDDEN_ITEM_61"
+ }
+ ]
+} \ No newline at end of file
diff --git a/data/maps/Route116/connections.inc b/data/maps/Route116/connections.inc
deleted file mode 100644
index f8b3afd72..000000000
--- a/data/maps/Route116/connections.inc
+++ /dev/null
@@ -1,7 +0,0 @@
-Route116_MapConnectionsList:: @ 8308A38
- connection down, 80, MAP_VERDANTURF_TOWN
- connection left, 0, MAP_RUSTBORO_CITY
-
-Route116_MapConnections:: @ 8308A50
- .4byte 0x2
- .4byte Route116_MapConnectionsList
diff --git a/data/maps/Route116/events.inc b/data/maps/Route116/events.inc
deleted file mode 100644
index b6f6b3be9..000000000
--- a/data/maps/Route116/events.inc
+++ /dev/null
@@ -1,47 +0,0 @@
-Route116_EventObjects:: @ 8383170
- object_event 1, EVENT_OBJ_GFX_BERRY_TREE, 0, 18, 2, 3, MOVEMENT_TYPE_BERRY_TREE_GROWTH, 0, 0, 0, 25, S_BerryTree, 0
- object_event 2, EVENT_OBJ_GFX_BERRY_TREE, 0, 19, 2, 3, MOVEMENT_TYPE_BERRY_TREE_GROWTH, 0, 0, 0, 26, S_BerryTree, 0
- object_event 3, EVENT_OBJ_GFX_YOUNGSTER, 0, 12, 7, 3, MOVEMENT_TYPE_FACE_UP_AND_RIGHT, 0, 0, 1, 3, Route116_EventScript_150C62, 0
- object_event 4, EVENT_OBJ_GFX_CUTTABLE_TREE, 0, 21, 6, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, S_CuttableTree, FLAG_TEMP_11
- object_event 5, EVENT_OBJ_GFX_CUTTABLE_TREE, 0, 33, 8, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, S_CuttableTree, FLAG_TEMP_12
- object_event 6, EVENT_OBJ_GFX_BUG_CATCHER, 0, 13, 17, 3, MOVEMENT_TYPE_ROTATE_CLOCKWISE, 0, 0, 1, 2, Route116_EventScript_150C79, 0
- object_event 7, EVENT_OBJ_GFX_ITEM_BALL, 0, 19, 6, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route116_EventScript_1B1571, FLAG_ITEM_ROUTE116_2
- object_event 8, EVENT_OBJ_GFX_ITEM_BALL, 0, 10, 17, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route116_EventScript_1B157E, FLAG_ITEM_ROUTE116_3
- object_event 9, EVENT_OBJ_GFX_BERRY_TREE, 0, 20, 2, 3, MOVEMENT_TYPE_BERRY_TREE_GROWTH, 0, 0, 0, 66, S_BerryTree, 0
- object_event 10, EVENT_OBJ_GFX_BERRY_TREE, 0, 21, 2, 3, MOVEMENT_TYPE_BERRY_TREE_GROWTH, 0, 0, 0, 67, S_BerryTree, 0
- object_event 11, EVENT_OBJ_GFX_OLD_MAN_1, 0, 46, 9, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route116_EventScript_150B5D, FLAG_HIDE_BRINEY_ROUTE116
- object_event 12, EVENT_OBJ_GFX_CUTTABLE_TREE, 0, 30, 6, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, S_CuttableTree, FLAG_TEMP_13
- object_event 13, EVENT_OBJ_GFX_HIKER, 0, 36, 15, 3, MOVEMENT_TYPE_FACE_DOWN_AND_UP, 0, 0, 1, 2, Route116_EventScript_150CCE, 0
- object_event 14, EVENT_OBJ_GFX_CUTTABLE_TREE, 0, 24, 9, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, S_CuttableTree, FLAG_TEMP_14
- object_event 15, EVENT_OBJ_GFX_ITEM_BALL, 0, 80, 8, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route116_EventScript_1B158B, FLAG_ITEM_ROUTE116_4
- object_event 16, EVENT_OBJ_GFX_LASS, 0, 22, 16, 3, MOVEMENT_TYPE_FACE_DOWN_AND_UP, 0, 0, 1, 3, Route116_EventScript_150CE5, 0
- object_event 17, EVENT_OBJ_GFX_GIRL_3, 0, 25, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 1, 2, Route116_EventScript_150CFC, 0
- object_event 18, EVENT_OBJ_GFX_SCHOOL_KID_M, 0, 31, 9, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 1, 2, Route116_EventScript_150C90, 0
- object_event 19, EVENT_OBJ_GFX_MAN_2, 0, 46, 11, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route116_EventScript_150A7B, FLAG_HIDE_DEVON_EMPLOYEE_ROUTE116
- object_event 20, EVENT_OBJ_GFX_ITEM_BALL, 0, 56, 12, 4, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route116_EventScript_1B1564, FLAG_ITEM_ROUTE116_1
- object_event 21, EVENT_OBJ_GFX_BLACK_BELT, 0, 38, 9, 3, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 0, 0, Route116_EventScript_150A49, FLAG_HIDE_TUNNER_DIGGER_ROUTE116
- object_event 22, EVENT_OBJ_GFX_MANIAC, 0, 74, 13, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route116_EventScript_150B8F, FLAG_HIDE_LOST_GLASSES_MAN
-
-Route116_MapWarps:: @ 8383380
- warp_def 47, 8, 0, 0, MAP_RUSTURF_TUNNEL
- warp_def 38, 8, 0, 0, MAP_ROUTE116_TUNNELERS_REST_HOUSE
- warp_def 65, 10, 0, 2, MAP_RUSTURF_TUNNEL
-
-Route116_MapCoordEvents:: @ 8383398
- coord_event 47, 9, 3, VAR_ROUTE116_STATE, 1, Route116_EventScript_150B6E
-
-Route116_MapBGEvents:: @ 83833A8
- bg_event 5, 10, 0, BG_EVENT_PLAYER_FACING_ANY, Route116_EventScript_150B30
- bg_event 48, 9, 0, BG_EVENT_PLAYER_FACING_ANY, Route116_EventScript_150B39
- bg_event 40, 9, 0, BG_EVENT_PLAYER_FACING_ANY, Route116_EventScript_150B42
- bg_secret_base_event 71, 4, 0, SECRET_BASE_BLUE_CAVE1_1
- bg_secret_base_event 79, 11, 0, SECRET_BASE_BLUE_CAVE2_1
- bg_event 16, 12, 0, BG_EVENT_PLAYER_FACING_ANY, Route116_EventScript_150B4B
- bg_event 29, 10, 0, BG_EVENT_PLAYER_FACING_ANY, Route116_EventScript_150B54
- bg_secret_base_event 56, 6, 0, SECRET_BASE_BLUE_CAVE3_2
- bg_secret_base_event 55, 15, 0, SECRET_BASE_BLUE_CAVE4_2
- bg_hidden_item_event 22, 9, 3, ITEM_SUPER_POTION, FLAG_HIDDEN_ITEM_2D
- bg_hidden_item_event 70, 13, 3, ITEM_BLACK_GLASSES, FLAG_HIDDEN_ITEM_BLACK_GLASSES
-
-Route116_MapEvents:: @ 838342C
- map_events Route116_EventObjects, Route116_MapWarps, Route116_MapCoordEvents, Route116_MapBGEvents
diff --git a/data/maps/Route116/header.inc b/data/maps/Route116/header.inc
deleted file mode 100644
index 0351d0cf7..000000000
--- a/data/maps/Route116/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-Route116:: @ 83057AC
- .4byte Route116_Layout
- .4byte Route116_MapEvents
- .4byte Route116_MapScripts
- .4byte Route116_MapConnections
- .2byte MUS_NEXTROAD
- .2byte 32
- .byte MAPSEC_ROUTE_116
- .byte 0
- .byte WEATHER_SUNNY
- .byte MAP_TYPE_ROUTE
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/Route116/map.json b/data/maps/Route116/map.json
new file mode 100644
index 000000000..615b94d98
--- /dev/null
+++ b/data/maps/Route116/map.json
@@ -0,0 +1,432 @@
+{
+ "id": "MAP_ROUTE116",
+ "name": "Route116",
+ "layout": "LAYOUT_ROUTE116",
+ "music": "MUS_NEXTROAD",
+ "region_map_section": "MAPSEC_ROUTE_116",
+ "requires_flash": false,
+ "weather": "WEATHER_SUNNY",
+ "map_type": "MAP_TYPE_ROUTE",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": [
+ {
+ "direction": "down",
+ "offset": 80,
+ "map": "MAP_VERDANTURF_TOWN"
+ },
+ {
+ "direction": "left",
+ "offset": 0,
+ "map": "MAP_RUSTBORO_CITY"
+ }
+ ],
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BERRY_TREE",
+ "x": 18,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_BERRY_TREE_GROWTH",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "25",
+ "script": "S_BerryTree",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BERRY_TREE",
+ "x": 19,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_BERRY_TREE_GROWTH",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "26",
+ "script": "S_BerryTree",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_YOUNGSTER",
+ "x": 12,
+ "y": 7,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP_AND_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "3",
+ "script": "Route116_EventScript_150C62",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_CUTTABLE_TREE",
+ "x": 21,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "S_CuttableTree",
+ "flag": "FLAG_TEMP_11"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_CUTTABLE_TREE",
+ "x": 33,
+ "y": 8,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "S_CuttableTree",
+ "flag": "FLAG_TEMP_12"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BUG_CATCHER",
+ "x": 13,
+ "y": 17,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_ROTATE_CLOCKWISE",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "2",
+ "script": "Route116_EventScript_150C79",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ITEM_BALL",
+ "x": 19,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route116_EventScript_1B1571",
+ "flag": "FLAG_ITEM_ROUTE116_2"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ITEM_BALL",
+ "x": 10,
+ "y": 17,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route116_EventScript_1B157E",
+ "flag": "FLAG_ITEM_ROUTE116_3"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BERRY_TREE",
+ "x": 20,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_BERRY_TREE_GROWTH",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "66",
+ "script": "S_BerryTree",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BERRY_TREE",
+ "x": 21,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_BERRY_TREE_GROWTH",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "67",
+ "script": "S_BerryTree",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_OLD_MAN_1",
+ "x": 46,
+ "y": 9,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route116_EventScript_150B5D",
+ "flag": "FLAG_HIDE_BRINEY_ROUTE116"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_CUTTABLE_TREE",
+ "x": 30,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "S_CuttableTree",
+ "flag": "FLAG_TEMP_13"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_HIKER",
+ "x": 36,
+ "y": 15,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN_AND_UP",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "2",
+ "script": "Route116_EventScript_150CCE",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_CUTTABLE_TREE",
+ "x": 24,
+ "y": 9,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "S_CuttableTree",
+ "flag": "FLAG_TEMP_14"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ITEM_BALL",
+ "x": 80,
+ "y": 8,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route116_EventScript_1B158B",
+ "flag": "FLAG_ITEM_ROUTE116_4"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_LASS",
+ "x": 22,
+ "y": 16,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN_AND_UP",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "3",
+ "script": "Route116_EventScript_150CE5",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_GIRL_3",
+ "x": 25,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "2",
+ "script": "Route116_EventScript_150CFC",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_SCHOOL_KID_M",
+ "x": 31,
+ "y": 9,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "2",
+ "script": "Route116_EventScript_150C90",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_2",
+ "x": 46,
+ "y": 11,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route116_EventScript_150A7B",
+ "flag": "FLAG_HIDE_DEVON_EMPLOYEE_ROUTE116"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ITEM_BALL",
+ "x": 56,
+ "y": 12,
+ "elevation": 4,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route116_EventScript_1B1564",
+ "flag": "FLAG_ITEM_ROUTE116_1"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BLACK_BELT",
+ "x": 38,
+ "y": 9,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route116_EventScript_150A49",
+ "flag": "FLAG_HIDE_TUNNER_DIGGER_ROUTE116"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MANIAC",
+ "x": 74,
+ "y": 13,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route116_EventScript_150B8F",
+ "flag": "FLAG_HIDE_LOST_GLASSES_MAN"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 47,
+ "y": 8,
+ "elevation": 0,
+ "dest_map": "MAP_RUSTURF_TUNNEL",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 38,
+ "y": 8,
+ "elevation": 0,
+ "dest_map": "MAP_ROUTE116_TUNNELERS_REST_HOUSE",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 65,
+ "y": 10,
+ "elevation": 0,
+ "dest_map": "MAP_RUSTURF_TUNNEL",
+ "dest_warp_id": 2
+ }
+ ],
+ "coord_events": [
+ {
+ "type": "trigger",
+ "x": 47,
+ "y": 9,
+ "elevation": 3,
+ "var": "VAR_ROUTE116_STATE",
+ "var_value": "1",
+ "script": "Route116_EventScript_150B6E"
+ }
+ ],
+ "bg_events": [
+ {
+ "type": "sign",
+ "x": 5,
+ "y": 10,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "Route116_EventScript_150B30"
+ },
+ {
+ "type": "sign",
+ "x": 48,
+ "y": 9,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "Route116_EventScript_150B39"
+ },
+ {
+ "type": "sign",
+ "x": 40,
+ "y": 9,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "Route116_EventScript_150B42"
+ },
+ {
+ "type": "secret_base",
+ "x": 71,
+ "y": 4,
+ "elevation": 0,
+ "secret_base_id": "SECRET_BASE_BLUE_CAVE1_1"
+ },
+ {
+ "type": "secret_base",
+ "x": 79,
+ "y": 11,
+ "elevation": 0,
+ "secret_base_id": "SECRET_BASE_BLUE_CAVE2_1"
+ },
+ {
+ "type": "sign",
+ "x": 16,
+ "y": 12,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "Route116_EventScript_150B4B"
+ },
+ {
+ "type": "sign",
+ "x": 29,
+ "y": 10,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "Route116_EventScript_150B54"
+ },
+ {
+ "type": "secret_base",
+ "x": 56,
+ "y": 6,
+ "elevation": 0,
+ "secret_base_id": "SECRET_BASE_BLUE_CAVE3_2"
+ },
+ {
+ "type": "secret_base",
+ "x": 55,
+ "y": 15,
+ "elevation": 0,
+ "secret_base_id": "SECRET_BASE_BLUE_CAVE4_2"
+ },
+ {
+ "type": "hidden_item",
+ "x": 22,
+ "y": 9,
+ "elevation": 3,
+ "item": "ITEM_SUPER_POTION",
+ "flag": "FLAG_HIDDEN_ITEM_2D"
+ },
+ {
+ "type": "hidden_item",
+ "x": 70,
+ "y": 13,
+ "elevation": 3,
+ "item": "ITEM_BLACK_GLASSES",
+ "flag": "FLAG_HIDDEN_ITEM_BLACK_GLASSES"
+ }
+ ]
+} \ No newline at end of file
diff --git a/data/maps/Route116_TunnelersRestHouse/events.inc b/data/maps/Route116_TunnelersRestHouse/events.inc
deleted file mode 100644
index 6fa894ff7..000000000
--- a/data/maps/Route116_TunnelersRestHouse/events.inc
+++ /dev/null
@@ -1,11 +0,0 @@
-Route116_TunnelersRestHouse_EventObjects:: @ 838B98C
- object_event 1, EVENT_OBJ_GFX_MAN_3, 0, 6, 5, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, Route116_TunnelersRestHouse_EventScript_15C2E8, 0
- object_event 2, EVENT_OBJ_GFX_MAN_3, 0, 3, 6, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route116_TunnelersRestHouse_EventScript_15C2FA, 0
- object_event 3, EVENT_OBJ_GFX_MAN_3, 0, 7, 2, 3, MOVEMENT_TYPE_FACE_UP, 1, 0, 0, 0, Route116_TunnelersRestHouse_EventScript_15C2F1, 0
-
-Route116_TunnelersRestHouse_MapWarps:: @ 838B9D4
- warp_def 4, 8, 0, 1, MAP_ROUTE116
- warp_def 5, 8, 0, 1, MAP_ROUTE116
-
-Route116_TunnelersRestHouse_MapEvents:: @ 838B9E4
- map_events Route116_TunnelersRestHouse_EventObjects, Route116_TunnelersRestHouse_MapWarps, 0x0, 0x0
diff --git a/data/maps/Route116_TunnelersRestHouse/header.inc b/data/maps/Route116_TunnelersRestHouse/header.inc
deleted file mode 100644
index d17ce63b5..000000000
--- a/data/maps/Route116_TunnelersRestHouse/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-Route116_TunnelersRestHouse:: @ 8306D1C
- .4byte Route116_TunnelersRestHouse_Layout
- .4byte Route116_TunnelersRestHouse_MapEvents
- .4byte Route116_TunnelersRestHouse_MapScripts
- .4byte 0x0
- .2byte MUS_GOTOWN
- .2byte 123
- .byte MAPSEC_ROUTE_116
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/Route116_TunnelersRestHouse/map.json b/data/maps/Route116_TunnelersRestHouse/map.json
new file mode 100644
index 000000000..d298eedd1
--- /dev/null
+++ b/data/maps/Route116_TunnelersRestHouse/map.json
@@ -0,0 +1,72 @@
+{
+ "id": "MAP_ROUTE116_TUNNELERS_REST_HOUSE",
+ "name": "Route116_TunnelersRestHouse",
+ "layout": "LAYOUT_ROUTE116_TUNNELERS_REST_HOUSE",
+ "music": "MUS_GOTOWN",
+ "region_map_section": "MAPSEC_ROUTE_116",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_3",
+ "x": 6,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route116_TunnelersRestHouse_EventScript_15C2E8",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_3",
+ "x": 3,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route116_TunnelersRestHouse_EventScript_15C2FA",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_3",
+ "x": 7,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP",
+ "movement_range_x": 1,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route116_TunnelersRestHouse_EventScript_15C2F1",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 4,
+ "y": 8,
+ "elevation": 0,
+ "dest_map": "MAP_ROUTE116",
+ "dest_warp_id": 1
+ },
+ {
+ "x": 5,
+ "y": 8,
+ "elevation": 0,
+ "dest_map": "MAP_ROUTE116",
+ "dest_warp_id": 1
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/Route117/connections.inc b/data/maps/Route117/connections.inc
deleted file mode 100644
index a66a5d6f9..000000000
--- a/data/maps/Route117/connections.inc
+++ /dev/null
@@ -1,7 +0,0 @@
-Route117_MapConnectionsList:: @ 8308A58
- connection left, 0, MAP_VERDANTURF_TOWN
- connection right, 0, MAP_MAUVILLE_CITY
-
-Route117_MapConnections:: @ 8308A70
- .4byte 0x2
- .4byte Route117_MapConnectionsList
diff --git a/data/maps/Route117/events.inc b/data/maps/Route117/events.inc
deleted file mode 100644
index 555ca1c08..000000000
--- a/data/maps/Route117/events.inc
+++ /dev/null
@@ -1,34 +0,0 @@
-Route117_EventObjects:: @ 8383440
- object_event 1, EVENT_OBJ_GFX_WOMAN_1, 0, 13, 13, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, Route117_EventScript_150D57, 0
- object_event 2, EVENT_OBJ_GFX_LITTLE_BOY_2, 0, 26, 13, 3, MOVEMENT_TYPE_WALK_SEQUENCE_UP_LEFT_RIGHT_DOWN, 2, 2, 0, 0, Route117_EventScript_150D60, 0
- object_event 3, EVENT_OBJ_GFX_OLD_MAN_2, 0, 47, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, Route117_EventScript_1B222D, 0
- object_event 4, EVENT_OBJ_GFX_ZIGZAGOON, 0, 33, 3, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, 0x0, 0
- object_event 5, EVENT_OBJ_GFX_KECLEON_1, 0, 39, 4, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, 0
- object_event 6, EVENT_OBJ_GFX_AZUMARILL, 0, 42, 2, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, 0x0, 0
- object_event 7, EVENT_OBJ_GFX_PIKACHU, 0, 49, 2, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, 0
- object_event 8, EVENT_OBJ_GFX_RUNNING_TRIATHLETE_M, 0, 35, 7, 3, MOVEMENT_TYPE_WALK_RIGHT_AND_LEFT, 7, 0, 1, 4, Route117_EventScript_150E09, 0
- object_event 9, EVENT_OBJ_GFX_WOMAN_3, 0, 31, 11, 3, MOVEMENT_TYPE_ROTATE_COUNTERCLOCKWISE, 0, 0, 1, 3, Route117_EventScript_150DCB, 0
- object_event 10, EVENT_OBJ_GFX_MAN_5, 0, 10, 9, 3, MOVEMENT_TYPE_FACE_DOWN_AND_RIGHT, 0, 0, 1, 3, Route117_EventScript_150D8D, 0
- object_event 11, EVENT_OBJ_GFX_BERRY_TREE, 0, 41, 13, 3, MOVEMENT_TYPE_BERRY_TREE_GROWTH, 0, 0, 0, 29, S_BerryTree, 0
- object_event 12, EVENT_OBJ_GFX_BERRY_TREE, 0, 42, 13, 3, MOVEMENT_TYPE_BERRY_TREE_GROWTH, 0, 0, 0, 28, S_BerryTree, 0
- object_event 13, EVENT_OBJ_GFX_BERRY_TREE, 0, 43, 13, 3, MOVEMENT_TYPE_BERRY_TREE_GROWTH, 0, 0, 0, 27, S_BerryTree, 0
- object_event 14, EVENT_OBJ_GFX_ITEM_BALL, 0, 16, 18, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route117_EventScript_1B1598, FLAG_ITEM_ROUTE117_1
- object_event 15, EVENT_OBJ_GFX_CUTTABLE_TREE, 0, 15, 2, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, S_CuttableTree, FLAG_TEMP_11
- object_event 16, EVENT_OBJ_GFX_ITEM_BALL, 0, 9, 1, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route117_EventScript_1B15A5, FLAG_ITEM_ROUTE117_2
- object_event 17, EVENT_OBJ_GFX_RUNNING_TRIATHLETE_F, 0, 21, 1, 3, MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_RIGHT_LEFT_UP, 4, 4, 1, 3, Route117_EventScript_150E47, 0
- object_event 18, EVENT_OBJ_GFX_MANIAC, 0, 17, 12, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 1, 4, Route117_EventScript_150E85, 0
- object_event 19, EVENT_OBJ_GFX_LASS, 0, 46, 15, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 1, 0, Route117_EventScript_150EE2, 0
- object_event 20, EVENT_OBJ_GFX_LASS, 0, 45, 15, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 1, 0, Route117_EventScript_150E9C, 0
- object_event 21, EVENT_OBJ_GFX_GIRL_2, 0, 48, 10, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, Route117_EventScript_150D69, 0
-
-Route117_MapWarps:: @ 8383638
- warp_def 51, 5, 0, 0, MAP_ROUTE117_POKEMON_DAY_CARE
-
-Route117_MapBGEvents:: @ 8383640
- bg_event 16, 6, 0, BG_EVENT_PLAYER_FACING_ANY, Route117_EventScript_150D72
- bg_event 49, 12, 0, BG_EVENT_PLAYER_FACING_ANY, Route117_EventScript_150D7B
- bg_event 49, 5, 0, BG_EVENT_PLAYER_FACING_ANY, Route117_EventScript_150D84
- bg_hidden_item_event 3, 18, 3, ITEM_REPEL, FLAG_HIDDEN_ITEM_48
-
-Route117_MapEvents:: @ 8383670
- map_events Route117_EventObjects, Route117_MapWarps, 0x0, Route117_MapBGEvents
diff --git a/data/maps/Route117/header.inc b/data/maps/Route117/header.inc
deleted file mode 100644
index 8ef982ca4..000000000
--- a/data/maps/Route117/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-Route117:: @ 83057C8
- .4byte Route117_Layout
- .4byte Route117_MapEvents
- .4byte Route117_MapScripts
- .4byte Route117_MapConnections
- .2byte MUS_DOORO_X1
- .2byte 33
- .byte MAPSEC_ROUTE_117
- .byte 0
- .byte WEATHER_SUNNY
- .byte MAP_TYPE_ROUTE
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/Route117/map.json b/data/maps/Route117/map.json
new file mode 100644
index 000000000..09336cb04
--- /dev/null
+++ b/data/maps/Route117/map.json
@@ -0,0 +1,343 @@
+{
+ "id": "MAP_ROUTE117",
+ "name": "Route117",
+ "layout": "LAYOUT_ROUTE117",
+ "music": "MUS_DOORO_X1",
+ "region_map_section": "MAPSEC_ROUTE_117",
+ "requires_flash": false,
+ "weather": "WEATHER_SUNNY",
+ "map_type": "MAP_TYPE_ROUTE",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": [
+ {
+ "direction": "left",
+ "offset": 0,
+ "map": "MAP_VERDANTURF_TOWN"
+ },
+ {
+ "direction": "right",
+ "offset": 0,
+ "map": "MAP_MAUVILLE_CITY"
+ }
+ ],
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_1",
+ "x": 13,
+ "y": 13,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route117_EventScript_150D57",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_LITTLE_BOY_2",
+ "x": 26,
+ "y": 13,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WALK_SEQUENCE_UP_LEFT_RIGHT_DOWN",
+ "movement_range_x": 2,
+ "movement_range_y": 2,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route117_EventScript_150D60",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_OLD_MAN_2",
+ "x": 47,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route117_EventScript_1B222D",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ZIGZAGOON",
+ "x": 33,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_KECLEON_1",
+ "x": 39,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_AZUMARILL",
+ "x": 42,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_PIKACHU",
+ "x": 49,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_RUNNING_TRIATHLETE_M",
+ "x": 35,
+ "y": 7,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WALK_RIGHT_AND_LEFT",
+ "movement_range_x": 7,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "4",
+ "script": "Route117_EventScript_150E09",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_3",
+ "x": 31,
+ "y": 11,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_ROTATE_COUNTERCLOCKWISE",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "3",
+ "script": "Route117_EventScript_150DCB",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_5",
+ "x": 10,
+ "y": 9,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN_AND_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "3",
+ "script": "Route117_EventScript_150D8D",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BERRY_TREE",
+ "x": 41,
+ "y": 13,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_BERRY_TREE_GROWTH",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "29",
+ "script": "S_BerryTree",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BERRY_TREE",
+ "x": 42,
+ "y": 13,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_BERRY_TREE_GROWTH",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "28",
+ "script": "S_BerryTree",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BERRY_TREE",
+ "x": 43,
+ "y": 13,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_BERRY_TREE_GROWTH",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "27",
+ "script": "S_BerryTree",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ITEM_BALL",
+ "x": 16,
+ "y": 18,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route117_EventScript_1B1598",
+ "flag": "FLAG_ITEM_ROUTE117_1"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_CUTTABLE_TREE",
+ "x": 15,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "S_CuttableTree",
+ "flag": "FLAG_TEMP_11"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ITEM_BALL",
+ "x": 9,
+ "y": 1,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route117_EventScript_1B15A5",
+ "flag": "FLAG_ITEM_ROUTE117_2"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_RUNNING_TRIATHLETE_F",
+ "x": 21,
+ "y": 1,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_RIGHT_LEFT_UP",
+ "movement_range_x": 4,
+ "movement_range_y": 4,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "3",
+ "script": "Route117_EventScript_150E47",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MANIAC",
+ "x": 17,
+ "y": 12,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "4",
+ "script": "Route117_EventScript_150E85",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_LASS",
+ "x": 46,
+ "y": 15,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route117_EventScript_150EE2",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_LASS",
+ "x": 45,
+ "y": 15,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route117_EventScript_150E9C",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_GIRL_2",
+ "x": 48,
+ "y": 10,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route117_EventScript_150D69",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 51,
+ "y": 5,
+ "elevation": 0,
+ "dest_map": "MAP_ROUTE117_POKEMON_DAY_CARE",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [],
+ "bg_events": [
+ {
+ "type": "sign",
+ "x": 16,
+ "y": 6,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "Route117_EventScript_150D72"
+ },
+ {
+ "type": "sign",
+ "x": 49,
+ "y": 12,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "Route117_EventScript_150D7B"
+ },
+ {
+ "type": "sign",
+ "x": 49,
+ "y": 5,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "Route117_EventScript_150D84"
+ },
+ {
+ "type": "hidden_item",
+ "x": 3,
+ "y": 18,
+ "elevation": 3,
+ "item": "ITEM_REPEL",
+ "flag": "FLAG_HIDDEN_ITEM_48"
+ }
+ ]
+} \ No newline at end of file
diff --git a/data/maps/Route117_PokemonDayCare/events.inc b/data/maps/Route117_PokemonDayCare/events.inc
deleted file mode 100644
index cbdf9475b..000000000
--- a/data/maps/Route117_PokemonDayCare/events.inc
+++ /dev/null
@@ -1,9 +0,0 @@
-Route117_PokemonDayCare_EventObjects:: @ 838B9F8
- object_event 1, EVENT_OBJ_GFX_OLD_WOMAN_2, 0, 2, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, Route117_PokemonDayCare_EventScript_1B2327, 0
-
-Route117_PokemonDayCare_MapWarps:: @ 838BA10
- warp_def 2, 8, 0, 0, MAP_ROUTE117
- warp_def 3, 8, 0, 0, MAP_ROUTE117
-
-Route117_PokemonDayCare_MapEvents:: @ 838BA20
- map_events Route117_PokemonDayCare_EventObjects, Route117_PokemonDayCare_MapWarps, 0x0, 0x0
diff --git a/data/maps/Route117_PokemonDayCare/header.inc b/data/maps/Route117_PokemonDayCare/header.inc
deleted file mode 100644
index ac75acc8a..000000000
--- a/data/maps/Route117_PokemonDayCare/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-Route117_PokemonDayCare:: @ 8306D38
- .4byte Route117_PokemonDayCare_Layout
- .4byte Route117_PokemonDayCare_MapEvents
- .4byte Route117_PokemonDayCare_MapScripts
- .4byte 0x0
- .2byte MUS_GOTOWN
- .2byte 124
- .byte MAPSEC_ROUTE_117
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/Route117_PokemonDayCare/map.json b/data/maps/Route117_PokemonDayCare/map.json
new file mode 100644
index 000000000..02b70db9c
--- /dev/null
+++ b/data/maps/Route117_PokemonDayCare/map.json
@@ -0,0 +1,46 @@
+{
+ "id": "MAP_ROUTE117_POKEMON_DAY_CARE",
+ "name": "Route117_PokemonDayCare",
+ "layout": "LAYOUT_ROUTE117_POKEMON_DAY_CARE",
+ "music": "MUS_GOTOWN",
+ "region_map_section": "MAPSEC_ROUTE_117",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_OLD_WOMAN_2",
+ "x": 2,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route117_PokemonDayCare_EventScript_1B2327",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 2,
+ "y": 8,
+ "elevation": 0,
+ "dest_map": "MAP_ROUTE117",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 3,
+ "y": 8,
+ "elevation": 0,
+ "dest_map": "MAP_ROUTE117",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/Route118/connections.inc b/data/maps/Route118/connections.inc
deleted file mode 100644
index 9ec5d28b6..000000000
--- a/data/maps/Route118/connections.inc
+++ /dev/null
@@ -1,8 +0,0 @@
-Route118_MapConnectionsList:: @ 8308A78
- connection up, 40, MAP_ROUTE119
- connection left, 0, MAP_MAUVILLE_CITY
- connection right, 0, MAP_ROUTE123
-
-Route118_MapConnections:: @ 8308A9C
- .4byte 0x3
- .4byte Route118_MapConnectionsList
diff --git a/data/maps/Route118/events.inc b/data/maps/Route118/events.inc
deleted file mode 100644
index 96b52a7eb..000000000
--- a/data/maps/Route118/events.inc
+++ /dev/null
@@ -1,40 +0,0 @@
-Route118_EventObjects:: @ 8383684
- object_event 1, EVENT_OBJ_GFX_BERRY_TREE, 0, 35, 5, 3, MOVEMENT_TYPE_BERRY_TREE_GROWTH, 0, 0, 0, 31, S_BerryTree, 0
- object_event 2, EVENT_OBJ_GFX_BERRY_TREE, 0, 36, 5, 3, MOVEMENT_TYPE_BERRY_TREE_GROWTH, 0, 0, 0, 32, S_BerryTree, 0
- object_event 3, EVENT_OBJ_GFX_BERRY_TREE, 0, 37, 5, 3, MOVEMENT_TYPE_BERRY_TREE_GROWTH, 0, 0, 0, 33, S_BerryTree, 0
- object_event 4, EVENT_OBJ_GFX_MAN_6, 0, 64, 10, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 1, 3, Route118_EventScript_151139, 0
- object_event 5, EVENT_OBJ_GFX_REPORTER_F, 0, 33, 8, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, Route118_EventScript_1AE462, FLAG_HIDE_GABBY_AND_TY_ROUTE118_1
- object_event 6, EVENT_OBJ_GFX_CAMERAMAN, 0, 34, 8, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, Route118_EventScript_1AE482, FLAG_HIDE_GABBY_AND_TY_ROUTE118_1
- object_event 7, EVENT_OBJ_GFX_GIRL_2, 0, 12, 8, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, Route118_EventScript_150F93, 0
- object_event 8, EVENT_OBJ_GFX_REPORTER_F, 0, 33, 8, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, Route118_EventScript_1AE522, FLAG_HIDE_GABBY_AND_TY_ROUTE118_2
- object_event 9, EVENT_OBJ_GFX_CAMERAMAN, 0, 34, 8, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, Route118_EventScript_1AE542, FLAG_HIDE_GABBY_AND_TY_ROUTE118_2
- object_event 10, EVENT_OBJ_GFX_REPORTER_F, 0, 33, 8, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, Route118_EventScript_1AE562, FLAG_HIDE_GABBY_AND_TY_ROUTE118_3
- object_event 11, EVENT_OBJ_GFX_CAMERAMAN, 0, 34, 8, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, Route118_EventScript_1AE582, FLAG_HIDE_GABBY_AND_TY_ROUTE118_3
- object_event 12, EVENT_OBJ_GFX_CUTTABLE_TREE, 0, 38, 8, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, S_CuttableTree, FLAG_TEMP_11
- object_event 13, EVENT_OBJ_GFX_FISHERMAN, 0, 28, 8, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, Route118_EventScript_150F34, 0
- object_event 14, EVENT_OBJ_GFX_WOMAN_3, 0, 7, 10, 3, MOVEMENT_TYPE_ROTATE_CLOCKWISE, 0, 0, 1, 4, Route118_EventScript_15108F, 0
- object_event 15, EVENT_OBJ_GFX_FISHERMAN, 0, 14, 14, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 1, 0, Route118_EventScript_1510E4, 0
- object_event 16, EVENT_OBJ_GFX_MAN_6, 0, 56, 7, 3, MOVEMENT_TYPE_FACE_UP_AND_RIGHT, 0, 0, 1, 3, Route118_EventScript_151150, 0
- object_event 17, EVENT_OBJ_GFX_FISHERMAN, 0, 39, 15, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 1, 2, Route118_EventScript_1510CD, 0
- object_event 18, EVENT_OBJ_GFX_MAN_6, 0, 17, 11, 3, MOVEMENT_TYPE_FACE_UP_AND_LEFT, 1, 1, 1, 3, Route118_EventScript_1510FB, 0
- object_event 19, EVENT_OBJ_GFX_STEVEN, 0, 44, 7, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, 0x0, FLAG_HIDE_STEVEN_ROUTE118
- object_event 20, EVENT_OBJ_GFX_ITEM_BALL, 0, 69, 7, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route118_EventScript_1B15B2, FLAG_ITEM_ROUTE118_1
-
-Route118_MapCoordEvents:: @ 8383864
- coord_event 43, 11, 3, VAR_ROUTE118_STATE, 0, Route118_EventScript_150FAE
- coord_event 44, 11, 3, VAR_ROUTE118_STATE, 0, Route118_EventScript_150FCE
- coord_event 45, 11, 3, VAR_ROUTE118_STATE, 0, Route118_EventScript_150FE4
-
-Route118_MapBGEvents:: @ 8383894
- bg_secret_base_event 47, 14, 0, SECRET_BASE_RED_CAVE1_1
- bg_event 13, 6, 0, BG_EVENT_PLAYER_FACING_ANY, Route118_EventScript_150F9C
- bg_event 56, 8, 0, BG_EVENT_PLAYER_FACING_ANY, Route118_EventScript_150FA5
- bg_secret_base_event 67, 6, 0, SECRET_BASE_RED_CAVE2_1
- bg_secret_base_event 29, 5, 0, SECRET_BASE_YELLOW_CAVE1_2
- bg_secret_base_event 47, 5, 0, SECRET_BASE_TREE1_3
- bg_secret_base_event 46, 5, 0, SECRET_BASE_TREE2_1
- bg_hidden_item_event 31, 13, 3, ITEM_IRON, FLAG_HIDDEN_ITEM_43
- bg_hidden_item_event 12, 14, 3, ITEM_HEART_SCALE, FLAG_HIDDEN_ITEM_42
-
-Route118_MapEvents:: @ 8383900
- map_events Route118_EventObjects, 0x0, Route118_MapCoordEvents, Route118_MapBGEvents
diff --git a/data/maps/Route118/header.inc b/data/maps/Route118/header.inc
deleted file mode 100644
index 8daad3bc8..000000000
--- a/data/maps/Route118/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-Route118:: @ 83057E4
- .4byte Route118_Layout
- .4byte Route118_MapEvents
- .4byte Route118_MapScripts
- .4byte Route118_MapConnections
- .2byte MUS_ROUTE_118
- .2byte 34
- .byte MAPSEC_ROUTE_118
- .byte 0
- .byte WEATHER_SUNNY
- .byte MAP_TYPE_ROUTE
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/Route118/map.json b/data/maps/Route118/map.json
new file mode 100644
index 000000000..2ec9a3578
--- /dev/null
+++ b/data/maps/Route118/map.json
@@ -0,0 +1,390 @@
+{
+ "id": "MAP_ROUTE118",
+ "name": "Route118",
+ "layout": "LAYOUT_ROUTE118",
+ "music": "MUS_ROUTE_118",
+ "region_map_section": "MAPSEC_ROUTE_118",
+ "requires_flash": false,
+ "weather": "WEATHER_SUNNY",
+ "map_type": "MAP_TYPE_ROUTE",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": [
+ {
+ "direction": "up",
+ "offset": 40,
+ "map": "MAP_ROUTE119"
+ },
+ {
+ "direction": "left",
+ "offset": 0,
+ "map": "MAP_MAUVILLE_CITY"
+ },
+ {
+ "direction": "right",
+ "offset": 0,
+ "map": "MAP_ROUTE123"
+ }
+ ],
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BERRY_TREE",
+ "x": 35,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_BERRY_TREE_GROWTH",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "31",
+ "script": "S_BerryTree",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BERRY_TREE",
+ "x": 36,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_BERRY_TREE_GROWTH",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "32",
+ "script": "S_BerryTree",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BERRY_TREE",
+ "x": 37,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_BERRY_TREE_GROWTH",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "33",
+ "script": "S_BerryTree",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_6",
+ "x": 64,
+ "y": 10,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "3",
+ "script": "Route118_EventScript_151139",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_REPORTER_F",
+ "x": 33,
+ "y": 8,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route118_EventScript_1AE462",
+ "flag": "FLAG_HIDE_GABBY_AND_TY_ROUTE118_1"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_CAMERAMAN",
+ "x": 34,
+ "y": 8,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route118_EventScript_1AE482",
+ "flag": "FLAG_HIDE_GABBY_AND_TY_ROUTE118_1"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_GIRL_2",
+ "x": 12,
+ "y": 8,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route118_EventScript_150F93",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_REPORTER_F",
+ "x": 33,
+ "y": 8,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route118_EventScript_1AE522",
+ "flag": "FLAG_HIDE_GABBY_AND_TY_ROUTE118_2"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_CAMERAMAN",
+ "x": 34,
+ "y": 8,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route118_EventScript_1AE542",
+ "flag": "FLAG_HIDE_GABBY_AND_TY_ROUTE118_2"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_REPORTER_F",
+ "x": 33,
+ "y": 8,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route118_EventScript_1AE562",
+ "flag": "FLAG_HIDE_GABBY_AND_TY_ROUTE118_3"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_CAMERAMAN",
+ "x": 34,
+ "y": 8,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route118_EventScript_1AE582",
+ "flag": "FLAG_HIDE_GABBY_AND_TY_ROUTE118_3"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_CUTTABLE_TREE",
+ "x": 38,
+ "y": 8,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "S_CuttableTree",
+ "flag": "FLAG_TEMP_11"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_FISHERMAN",
+ "x": 28,
+ "y": 8,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route118_EventScript_150F34",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_3",
+ "x": 7,
+ "y": 10,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_ROTATE_CLOCKWISE",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "4",
+ "script": "Route118_EventScript_15108F",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_FISHERMAN",
+ "x": 14,
+ "y": 14,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route118_EventScript_1510E4",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_6",
+ "x": 56,
+ "y": 7,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP_AND_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "3",
+ "script": "Route118_EventScript_151150",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_FISHERMAN",
+ "x": 39,
+ "y": 15,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "2",
+ "script": "Route118_EventScript_1510CD",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_6",
+ "x": 17,
+ "y": 11,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP_AND_LEFT",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "3",
+ "script": "Route118_EventScript_1510FB",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_STEVEN",
+ "x": 44,
+ "y": 7,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_HIDE_STEVEN_ROUTE118"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ITEM_BALL",
+ "x": 69,
+ "y": 7,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route118_EventScript_1B15B2",
+ "flag": "FLAG_ITEM_ROUTE118_1"
+ }
+ ],
+ "warp_events": [],
+ "coord_events": [
+ {
+ "type": "trigger",
+ "x": 43,
+ "y": 11,
+ "elevation": 3,
+ "var": "VAR_ROUTE118_STATE",
+ "var_value": "0",
+ "script": "Route118_EventScript_150FAE"
+ },
+ {
+ "type": "trigger",
+ "x": 44,
+ "y": 11,
+ "elevation": 3,
+ "var": "VAR_ROUTE118_STATE",
+ "var_value": "0",
+ "script": "Route118_EventScript_150FCE"
+ },
+ {
+ "type": "trigger",
+ "x": 45,
+ "y": 11,
+ "elevation": 3,
+ "var": "VAR_ROUTE118_STATE",
+ "var_value": "0",
+ "script": "Route118_EventScript_150FE4"
+ }
+ ],
+ "bg_events": [
+ {
+ "type": "secret_base",
+ "x": 47,
+ "y": 14,
+ "elevation": 0,
+ "secret_base_id": "SECRET_BASE_RED_CAVE1_1"
+ },
+ {
+ "type": "sign",
+ "x": 13,
+ "y": 6,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "Route118_EventScript_150F9C"
+ },
+ {
+ "type": "sign",
+ "x": 56,
+ "y": 8,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "Route118_EventScript_150FA5"
+ },
+ {
+ "type": "secret_base",
+ "x": 67,
+ "y": 6,
+ "elevation": 0,
+ "secret_base_id": "SECRET_BASE_RED_CAVE2_1"
+ },
+ {
+ "type": "secret_base",
+ "x": 29,
+ "y": 5,
+ "elevation": 0,
+ "secret_base_id": "SECRET_BASE_YELLOW_CAVE1_2"
+ },
+ {
+ "type": "secret_base",
+ "x": 47,
+ "y": 5,
+ "elevation": 0,
+ "secret_base_id": "SECRET_BASE_TREE1_3"
+ },
+ {
+ "type": "secret_base",
+ "x": 46,
+ "y": 5,
+ "elevation": 0,
+ "secret_base_id": "SECRET_BASE_TREE2_1"
+ },
+ {
+ "type": "hidden_item",
+ "x": 31,
+ "y": 13,
+ "elevation": 3,
+ "item": "ITEM_IRON",
+ "flag": "FLAG_HIDDEN_ITEM_43"
+ },
+ {
+ "type": "hidden_item",
+ "x": 12,
+ "y": 14,
+ "elevation": 3,
+ "item": "ITEM_HEART_SCALE",
+ "flag": "FLAG_HIDDEN_ITEM_42"
+ }
+ ]
+} \ No newline at end of file
diff --git a/data/maps/Route119/connections.inc b/data/maps/Route119/connections.inc
deleted file mode 100644
index 1a499afe5..000000000
--- a/data/maps/Route119/connections.inc
+++ /dev/null
@@ -1,7 +0,0 @@
-Route119_MapConnectionsList:: @ 8308AA4
- connection down, -40, MAP_ROUTE118
- connection right, 0, MAP_FORTREE_CITY
-
-Route119_MapConnections:: @ 8308ABC
- .4byte 0x2
- .4byte Route119_MapConnectionsList
diff --git a/data/maps/Route119/events.inc b/data/maps/Route119/events.inc
deleted file mode 100644
index 0ced918ab..000000000
--- a/data/maps/Route119/events.inc
+++ /dev/null
@@ -1,94 +0,0 @@
-Route119_EventObjects:: @ 8383914
- object_event 1, EVENT_OBJ_GFX_BERRY_TREE, 0, 24, 5, 3, MOVEMENT_TYPE_BERRY_TREE_GROWTH, 0, 0, 0, 34, S_BerryTree, 0
- object_event 2, EVENT_OBJ_GFX_BERRY_TREE, 0, 25, 5, 3, MOVEMENT_TYPE_BERRY_TREE_GROWTH, 0, 0, 0, 35, S_BerryTree, 0
- object_event 3, EVENT_OBJ_GFX_BERRY_TREE, 0, 26, 5, 3, MOVEMENT_TYPE_BERRY_TREE_GROWTH, 0, 0, 0, 36, S_BerryTree, 0
- object_event 4, EVENT_OBJ_GFX_BUG_CATCHER, 0, 12, 123, 3, MOVEMENT_TYPE_COPY_PLAYER_IN_GRASS, 0, 0, 1, 1, Route119_EventScript_151491, 0
- object_event 5, EVENT_OBJ_GFX_MANIAC, 0, 26, 123, 3, MOVEMENT_TYPE_COPY_PLAYER_OPPOSITE_IN_GRASS, 0, 0, 1, 1, Route119_EventScript_151463, 0
- object_event 6, EVENT_OBJ_GFX_MANIAC, 0, 5, 125, 3, MOVEMENT_TYPE_COPY_PLAYER_CLOCKWISE_IN_GRASS, 0, 0, 1, 1, Route119_EventScript_15144C, 0
- object_event 7, EVENT_OBJ_GFX_CAMPER, 0, 7, 74, 3, MOVEMENT_TYPE_FACE_DOWN_AND_RIGHT, 0, 0, 1, 3, Route119_EventScript_1514BF, 0
- object_event 8, EVENT_OBJ_GFX_MANIAC, 0, 28, 116, 3, MOVEMENT_TYPE_COPY_PLAYER_OPPOSITE_IN_GRASS, 0, 0, 1, 1, Route119_EventScript_151435, 0
- object_event 9, EVENT_OBJ_GFX_PICNICKER, 0, 35, 83, 4, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 1, 2, Route119_EventScript_1514FD, 0
- object_event 10, EVENT_OBJ_GFX_BUG_CATCHER, 0, 34, 122, 3, MOVEMENT_TYPE_COPY_PLAYER_COUNTERCLOCKWISE_IN_GRASS, 0, 0, 1, 1, Route119_EventScript_15147A, 0
- object_event 11, EVENT_OBJ_GFX_BUG_CATCHER, 0, 17, 128, 3, MOVEMENT_TYPE_COPY_PLAYER_COUNTERCLOCKWISE_IN_GRASS, 0, 0, 1, 1, Route119_EventScript_1514A8, 0
- object_event 12, EVENT_OBJ_GFX_LITTLE_BOY_1, 0, 28, 16, 3, MOVEMENT_TYPE_TREE_DISGUISE, 0, 0, 1, 2, Route119_EventScript_151569, 0
- object_event 13, EVENT_OBJ_GFX_LITTLE_BOY_1, 0, 19, 49, 3, MOVEMENT_TYPE_MOUNTAIN_DISGUISE, 0, 0, 1, 3, Route119_EventScript_151580, 0
- object_event 14, EVENT_OBJ_GFX_MAN_6, 0, 10, 50, 4, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 1, 3, Route119_EventScript_15153B, 0
- object_event 15, EVENT_OBJ_GFX_MAN_6, 0, 8, 62, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 1, 3, Route119_EventScript_151552, 0
- object_event 16, EVENT_OBJ_GFX_VAR_0, 0, 25, 32, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, 0x0, FLAG_HIDE_RIVAL_ROUTE119
- object_event 17, EVENT_OBJ_GFX_ITEM_BALL, 0, 12, 121, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route119_EventScript_1B15BF, FLAG_ITEM_ROUTE119_1
- object_event 18, EVENT_OBJ_GFX_ITEM_BALL, 0, 4, 96, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route119_EventScript_1B15CC, FLAG_ITEM_ROUTE119_2
- object_event 19, EVENT_OBJ_GFX_ITEM_BALL, 0, 29, 53, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route119_EventScript_1B15D9, FLAG_ITEM_ROUTE119_3
- object_event 20, EVENT_OBJ_GFX_ITEM_BALL, 0, 25, 76, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route119_EventScript_1B15E6, FLAG_ITEM_ROUTE119_4
- object_event 21, EVENT_OBJ_GFX_ITEM_BALL, 0, 8, 18, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route119_EventScript_1B15F3, FLAG_ITEM_ROUTE119_5
- object_event 22, EVENT_OBJ_GFX_ITEM_BALL, 0, 33, 117, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route119_EventScript_1B1600, FLAG_ITEM_ROUTE119_6
- object_event 23, EVENT_OBJ_GFX_VAR_1, 0, 13, 33, 4, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, Route119_EventScript_1515C5, FLAG_HIDE_EVIL_TEAM_WEATHER_INSTITUTE
- object_event 24, EVENT_OBJ_GFX_VAR_1, 0, 13, 34, 4, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, Route119_EventScript_1515DC, FLAG_HIDE_EVIL_TEAM_WEATHER_INSTITUTE
- object_event 25, EVENT_OBJ_GFX_VAR_3, 0, 17, 33, 4, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, 0x0, FLAG_HIDE_RIVAL_ROUTE119_ON_BIKE
- object_event 26, EVENT_OBJ_GFX_BOY_3, 0, 31, 109, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, Route119_EventScript_1515F3, 0
- object_event 27, EVENT_OBJ_GFX_BERRY_TREE, 0, 8, 23, 3, MOVEMENT_TYPE_BERRY_TREE_GROWTH, 0, 0, 0, 83, S_BerryTree, 0
- object_event 28, EVENT_OBJ_GFX_BERRY_TREE, 0, 9, 23, 3, MOVEMENT_TYPE_BERRY_TREE_GROWTH, 0, 0, 0, 84, S_BerryTree, 0
- object_event 29, EVENT_OBJ_GFX_BERRY_TREE, 0, 29, 90, 3, MOVEMENT_TYPE_BERRY_TREE_GROWTH, 0, 0, 0, 85, S_BerryTree, 0
- object_event 30, EVENT_OBJ_GFX_BERRY_TREE, 0, 30, 90, 3, MOVEMENT_TYPE_BERRY_TREE_GROWTH, 0, 0, 0, 86, S_BerryTree, 0
- object_event 31, EVENT_OBJ_GFX_CYCLING_TRIATHLETE_M, 0, 19, 133, 3, MOVEMENT_TYPE_WANDER_LEFT_AND_RIGHT, 2, 1, 0, 0, Route119_EventScript_15141A, 0
- object_event 32, EVENT_OBJ_GFX_ITEM_BALL, 0, 3, 56, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route119_EventScript_1B160D, FLAG_ITEM_ROUTE119_7
- object_event 33, EVENT_OBJ_GFX_BOY_2, 0, 35, 93, 4, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, Route119_EventScript_1515FC, 0
- object_event 34, EVENT_OBJ_GFX_LITTLE_BOY_1, 0, 29, 6, 3, MOVEMENT_TYPE_TREE_DISGUISE, 1, 1, 1, 3, Route119_EventScript_151597, 0
- object_event 35, EVENT_OBJ_GFX_KECLEON_1, 0, 31, 6, 3, MOVEMENT_TYPE_INVISIBLE, 1, 1, 0, 0, Route119_EventScript_1A057A, FLAG_HIDE_KECLEON_ROUTE119_1
- object_event 36, EVENT_OBJ_GFX_KECLEON_1, 0, 20, 13, 4, MOVEMENT_TYPE_INVISIBLE, 1, 1, 0, 0, Route119_EventScript_1A0587, FLAG_HIDE_KECLEON_ROUTE119_2
- object_event 37, EVENT_OBJ_GFX_FISHERMAN, 0, 13, 104, 3, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 1, 0, Route119_EventScript_1515AE, 0
-
-Route119_MapWarps:: @ 8383C8C
- warp_def 6, 32, 0, 0, MAP_ROUTE119_WEATHER_INSTITUTE_1F
- warp_def 33, 109, 0, 0, MAP_ROUTE119_HOUSE
-
-Route119_MapCoordEvents:: @ 8383C9C
- coord_event 25, 31, 0, VAR_ROUTE119_STATE, 0, Route119_EventScript_1511C5
- coord_event 26, 31, 0, VAR_ROUTE119_STATE, 0, Route119_EventScript_1511D0
- coord_weather_event 28, 13, 0, COORD_EVENT_WEATHER_ROUTE119_CYCLE
- coord_weather_event 29, 13, 3, COORD_EVENT_WEATHER_ROUTE119_CYCLE
- coord_weather_event 30, 13, 3, COORD_EVENT_WEATHER_ROUTE119_CYCLE
- coord_weather_event 31, 13, 3, COORD_EVENT_WEATHER_ROUTE119_CYCLE
- coord_weather_event 32, 13, 3, COORD_EVENT_WEATHER_ROUTE119_CYCLE
- coord_weather_event 33, 13, 3, COORD_EVENT_WEATHER_ROUTE119_CYCLE
- coord_weather_event 15, 133, 3, COORD_EVENT_WEATHER_ROUTE119_CYCLE
- coord_weather_event 16, 132, 3, COORD_EVENT_WEATHER_ROUTE119_CYCLE
- coord_weather_event 17, 131, 3, COORD_EVENT_WEATHER_ROUTE119_CYCLE
- coord_weather_event 18, 130, 3, COORD_EVENT_WEATHER_ROUTE119_CYCLE
- coord_weather_event 19, 131, 3, COORD_EVENT_WEATHER_ROUTE119_CYCLE
- coord_weather_event 20, 132, 3, COORD_EVENT_WEATHER_ROUTE119_CYCLE
- coord_weather_event 21, 133, 3, COORD_EVENT_WEATHER_ROUTE119_CYCLE
- coord_weather_event 36, 6, 3, COORD_EVENT_WEATHER_SUNNY
- coord_weather_event 36, 7, 3, COORD_EVENT_WEATHER_SUNNY
- coord_weather_event 35, 8, 3, COORD_EVENT_WEATHER_SUNNY
- coord_weather_event 35, 9, 3, COORD_EVENT_WEATHER_SUNNY
- coord_weather_event 34, 10, 3, COORD_EVENT_WEATHER_SUNNY
- coord_weather_event 16, 137, 3, COORD_EVENT_WEATHER_SUNNY
- coord_weather_event 17, 137, 3, COORD_EVENT_WEATHER_SUNNY
- coord_weather_event 18, 137, 3, COORD_EVENT_WEATHER_SUNNY
- coord_weather_event 19, 137, 3, COORD_EVENT_WEATHER_SUNNY
- coord_weather_event 20, 137, 3, COORD_EVENT_WEATHER_SUNNY
-
-Route119_MapBGEvents:: @ 8383E2C
- bg_event 9, 33, 0, BG_EVENT_PLAYER_FACING_ANY, Route119_EventScript_15142C
- bg_event 27, 19, 0, BG_EVENT_PLAYER_FACING_ANY, Route119_EventScript_151423
- bg_secret_base_event 5, 2, 0, SECRET_BASE_SHRUB1_1
- bg_secret_base_event 4, 89, 0, SECRET_BASE_SHRUB1_2
- bg_secret_base_event 5, 15, 0, SECRET_BASE_SHRUB2_1
- bg_secret_base_event 7, 101, 3, SECRET_BASE_SHRUB2_2
- bg_secret_base_event 34, 24, 3, SECRET_BASE_SHRUB3_1
- bg_secret_base_event 31, 73, 3, SECRET_BASE_SHRUB4_1
- bg_secret_base_event 16, 81, 0, SECRET_BASE_BLUE_CAVE3_3
- bg_secret_base_event 16, 28, 0, SECRET_BASE_BLUE_CAVE4_3
- bg_hidden_item_event 17, 82, 3, ITEM_CALCIUM, FLAG_HIDDEN_ITEM_5
- bg_hidden_item_event 38, 63, 3, ITEM_ULTRA_BALL, FLAG_HIDDEN_ITEM_6
- bg_secret_base_event 26, 81, 0, SECRET_BASE_RED_CAVE3_3
- bg_secret_base_event 19, 76, 0, SECRET_BASE_TREE2_3
- bg_secret_base_event 18, 76, 0, SECRET_BASE_TREE4_3
- bg_secret_base_event 4, 15, 0, SECRET_BASE_SHRUB3_3
- bg_secret_base_event 6, 2, 0, SECRET_BASE_SHRUB4_3
- bg_hidden_item_event 26, 120, 3, ITEM_FULL_HEAL, FLAG_HIDDEN_ITEM_44
- bg_hidden_item_event 20, 29, 3, ITEM_MAX_ETHER, FLAG_HIDDEN_ITEM_57
- bg_event 28, 9, 0, BG_EVENT_PLAYER_FACING_ANY, Route119_EventScript_151605
-
-Route119_MapEvents:: @ 8383F1C
- map_events Route119_EventObjects, Route119_MapWarps, Route119_MapCoordEvents, Route119_MapBGEvents
diff --git a/data/maps/Route119/header.inc b/data/maps/Route119/header.inc
deleted file mode 100644
index 9a0a12f87..000000000
--- a/data/maps/Route119/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-Route119:: @ 8305800
- .4byte Route119_Layout
- .4byte Route119_MapEvents
- .4byte Route119_MapScripts
- .4byte Route119_MapConnections
- .2byte MUS_GRANROAD
- .2byte 35
- .byte MAPSEC_ROUTE_119
- .byte 0
- .byte WEATHER_SUNNY
- .byte MAP_TYPE_ROUTE
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/Route119/map.json b/data/maps/Route119/map.json
new file mode 100644
index 000000000..74b0263ae
--- /dev/null
+++ b/data/maps/Route119/map.json
@@ -0,0 +1,853 @@
+{
+ "id": "MAP_ROUTE119",
+ "name": "Route119",
+ "layout": "LAYOUT_ROUTE119",
+ "music": "MUS_GRANROAD",
+ "region_map_section": "MAPSEC_ROUTE_119",
+ "requires_flash": false,
+ "weather": "WEATHER_SUNNY",
+ "map_type": "MAP_TYPE_ROUTE",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": [
+ {
+ "direction": "down",
+ "offset": -40,
+ "map": "MAP_ROUTE118"
+ },
+ {
+ "direction": "right",
+ "offset": 0,
+ "map": "MAP_FORTREE_CITY"
+ }
+ ],
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BERRY_TREE",
+ "x": 24,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_BERRY_TREE_GROWTH",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "34",
+ "script": "S_BerryTree",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BERRY_TREE",
+ "x": 25,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_BERRY_TREE_GROWTH",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "35",
+ "script": "S_BerryTree",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BERRY_TREE",
+ "x": 26,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_BERRY_TREE_GROWTH",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "36",
+ "script": "S_BerryTree",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BUG_CATCHER",
+ "x": 12,
+ "y": 123,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_COPY_PLAYER_IN_GRASS",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "1",
+ "script": "Route119_EventScript_151491",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MANIAC",
+ "x": 26,
+ "y": 123,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_COPY_PLAYER_OPPOSITE_IN_GRASS",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "1",
+ "script": "Route119_EventScript_151463",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MANIAC",
+ "x": 5,
+ "y": 125,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_COPY_PLAYER_CLOCKWISE_IN_GRASS",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "1",
+ "script": "Route119_EventScript_15144C",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_CAMPER",
+ "x": 7,
+ "y": 74,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN_AND_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "3",
+ "script": "Route119_EventScript_1514BF",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MANIAC",
+ "x": 28,
+ "y": 116,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_COPY_PLAYER_OPPOSITE_IN_GRASS",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "1",
+ "script": "Route119_EventScript_151435",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_PICNICKER",
+ "x": 35,
+ "y": 83,
+ "elevation": 4,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "2",
+ "script": "Route119_EventScript_1514FD",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BUG_CATCHER",
+ "x": 34,
+ "y": 122,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_COPY_PLAYER_COUNTERCLOCKWISE_IN_GRASS",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "1",
+ "script": "Route119_EventScript_15147A",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BUG_CATCHER",
+ "x": 17,
+ "y": 128,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_COPY_PLAYER_COUNTERCLOCKWISE_IN_GRASS",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "1",
+ "script": "Route119_EventScript_1514A8",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_LITTLE_BOY_1",
+ "x": 28,
+ "y": 16,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_TREE_DISGUISE",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "2",
+ "script": "Route119_EventScript_151569",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_LITTLE_BOY_1",
+ "x": 19,
+ "y": 49,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_MOUNTAIN_DISGUISE",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "3",
+ "script": "Route119_EventScript_151580",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_6",
+ "x": 10,
+ "y": 50,
+ "elevation": 4,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "3",
+ "script": "Route119_EventScript_15153B",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_6",
+ "x": 8,
+ "y": 62,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "3",
+ "script": "Route119_EventScript_151552",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_0",
+ "x": 25,
+ "y": 32,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_HIDE_RIVAL_ROUTE119"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ITEM_BALL",
+ "x": 12,
+ "y": 121,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route119_EventScript_1B15BF",
+ "flag": "FLAG_ITEM_ROUTE119_1"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ITEM_BALL",
+ "x": 4,
+ "y": 96,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route119_EventScript_1B15CC",
+ "flag": "FLAG_ITEM_ROUTE119_2"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ITEM_BALL",
+ "x": 29,
+ "y": 53,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route119_EventScript_1B15D9",
+ "flag": "FLAG_ITEM_ROUTE119_3"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ITEM_BALL",
+ "x": 25,
+ "y": 76,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route119_EventScript_1B15E6",
+ "flag": "FLAG_ITEM_ROUTE119_4"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ITEM_BALL",
+ "x": 8,
+ "y": 18,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route119_EventScript_1B15F3",
+ "flag": "FLAG_ITEM_ROUTE119_5"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ITEM_BALL",
+ "x": 33,
+ "y": 117,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route119_EventScript_1B1600",
+ "flag": "FLAG_ITEM_ROUTE119_6"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_1",
+ "x": 13,
+ "y": 33,
+ "elevation": 4,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route119_EventScript_1515C5",
+ "flag": "FLAG_HIDE_EVIL_TEAM_WEATHER_INSTITUTE"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_1",
+ "x": 13,
+ "y": 34,
+ "elevation": 4,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route119_EventScript_1515DC",
+ "flag": "FLAG_HIDE_EVIL_TEAM_WEATHER_INSTITUTE"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_3",
+ "x": 17,
+ "y": 33,
+ "elevation": 4,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_HIDE_RIVAL_ROUTE119_ON_BIKE"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BOY_3",
+ "x": 31,
+ "y": 109,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route119_EventScript_1515F3",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BERRY_TREE",
+ "x": 8,
+ "y": 23,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_BERRY_TREE_GROWTH",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "83",
+ "script": "S_BerryTree",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BERRY_TREE",
+ "x": 9,
+ "y": 23,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_BERRY_TREE_GROWTH",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "84",
+ "script": "S_BerryTree",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BERRY_TREE",
+ "x": 29,
+ "y": 90,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_BERRY_TREE_GROWTH",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "85",
+ "script": "S_BerryTree",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BERRY_TREE",
+ "x": 30,
+ "y": 90,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_BERRY_TREE_GROWTH",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "86",
+ "script": "S_BerryTree",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_CYCLING_TRIATHLETE_M",
+ "x": 19,
+ "y": 133,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_LEFT_AND_RIGHT",
+ "movement_range_x": 2,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route119_EventScript_15141A",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ITEM_BALL",
+ "x": 3,
+ "y": 56,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route119_EventScript_1B160D",
+ "flag": "FLAG_ITEM_ROUTE119_7"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BOY_2",
+ "x": 35,
+ "y": 93,
+ "elevation": 4,
+ "movement_type": "MOVEMENT_TYPE_WANDER_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route119_EventScript_1515FC",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_LITTLE_BOY_1",
+ "x": 29,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_TREE_DISGUISE",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "3",
+ "script": "Route119_EventScript_151597",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_KECLEON_1",
+ "x": 31,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_INVISIBLE",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route119_EventScript_1A057A",
+ "flag": "FLAG_HIDE_KECLEON_ROUTE119_1"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_KECLEON_1",
+ "x": 20,
+ "y": 13,
+ "elevation": 4,
+ "movement_type": "MOVEMENT_TYPE_INVISIBLE",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route119_EventScript_1A0587",
+ "flag": "FLAG_HIDE_KECLEON_ROUTE119_2"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_FISHERMAN",
+ "x": 13,
+ "y": 104,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route119_EventScript_1515AE",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 6,
+ "y": 32,
+ "elevation": 0,
+ "dest_map": "MAP_ROUTE119_WEATHER_INSTITUTE_1F",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 33,
+ "y": 109,
+ "elevation": 0,
+ "dest_map": "MAP_ROUTE119_HOUSE",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [
+ {
+ "type": "trigger",
+ "x": 25,
+ "y": 31,
+ "elevation": 0,
+ "var": "VAR_ROUTE119_STATE",
+ "var_value": "0",
+ "script": "Route119_EventScript_1511C5"
+ },
+ {
+ "type": "trigger",
+ "x": 26,
+ "y": 31,
+ "elevation": 0,
+ "var": "VAR_ROUTE119_STATE",
+ "var_value": "0",
+ "script": "Route119_EventScript_1511D0"
+ },
+ {
+ "type": "weather",
+ "x": 28,
+ "y": 13,
+ "elevation": 0,
+ "weather": "COORD_EVENT_WEATHER_ROUTE119_CYCLE"
+ },
+ {
+ "type": "weather",
+ "x": 29,
+ "y": 13,
+ "elevation": 3,
+ "weather": "COORD_EVENT_WEATHER_ROUTE119_CYCLE"
+ },
+ {
+ "type": "weather",
+ "x": 30,
+ "y": 13,
+ "elevation": 3,
+ "weather": "COORD_EVENT_WEATHER_ROUTE119_CYCLE"
+ },
+ {
+ "type": "weather",
+ "x": 31,
+ "y": 13,
+ "elevation": 3,
+ "weather": "COORD_EVENT_WEATHER_ROUTE119_CYCLE"
+ },
+ {
+ "type": "weather",
+ "x": 32,
+ "y": 13,
+ "elevation": 3,
+ "weather": "COORD_EVENT_WEATHER_ROUTE119_CYCLE"
+ },
+ {
+ "type": "weather",
+ "x": 33,
+ "y": 13,
+ "elevation": 3,
+ "weather": "COORD_EVENT_WEATHER_ROUTE119_CYCLE"
+ },
+ {
+ "type": "weather",
+ "x": 15,
+ "y": 133,
+ "elevation": 3,
+ "weather": "COORD_EVENT_WEATHER_ROUTE119_CYCLE"
+ },
+ {
+ "type": "weather",
+ "x": 16,
+ "y": 132,
+ "elevation": 3,
+ "weather": "COORD_EVENT_WEATHER_ROUTE119_CYCLE"
+ },
+ {
+ "type": "weather",
+ "x": 17,
+ "y": 131,
+ "elevation": 3,
+ "weather": "COORD_EVENT_WEATHER_ROUTE119_CYCLE"
+ },
+ {
+ "type": "weather",
+ "x": 18,
+ "y": 130,
+ "elevation": 3,
+ "weather": "COORD_EVENT_WEATHER_ROUTE119_CYCLE"
+ },
+ {
+ "type": "weather",
+ "x": 19,
+ "y": 131,
+ "elevation": 3,
+ "weather": "COORD_EVENT_WEATHER_ROUTE119_CYCLE"
+ },
+ {
+ "type": "weather",
+ "x": 20,
+ "y": 132,
+ "elevation": 3,
+ "weather": "COORD_EVENT_WEATHER_ROUTE119_CYCLE"
+ },
+ {
+ "type": "weather",
+ "x": 21,
+ "y": 133,
+ "elevation": 3,
+ "weather": "COORD_EVENT_WEATHER_ROUTE119_CYCLE"
+ },
+ {
+ "type": "weather",
+ "x": 36,
+ "y": 6,
+ "elevation": 3,
+ "weather": "COORD_EVENT_WEATHER_SUNNY"
+ },
+ {
+ "type": "weather",
+ "x": 36,
+ "y": 7,
+ "elevation": 3,
+ "weather": "COORD_EVENT_WEATHER_SUNNY"
+ },
+ {
+ "type": "weather",
+ "x": 35,
+ "y": 8,
+ "elevation": 3,
+ "weather": "COORD_EVENT_WEATHER_SUNNY"
+ },
+ {
+ "type": "weather",
+ "x": 35,
+ "y": 9,
+ "elevation": 3,
+ "weather": "COORD_EVENT_WEATHER_SUNNY"
+ },
+ {
+ "type": "weather",
+ "x": 34,
+ "y": 10,
+ "elevation": 3,
+ "weather": "COORD_EVENT_WEATHER_SUNNY"
+ },
+ {
+ "type": "weather",
+ "x": 16,
+ "y": 137,
+ "elevation": 3,
+ "weather": "COORD_EVENT_WEATHER_SUNNY"
+ },
+ {
+ "type": "weather",
+ "x": 17,
+ "y": 137,
+ "elevation": 3,
+ "weather": "COORD_EVENT_WEATHER_SUNNY"
+ },
+ {
+ "type": "weather",
+ "x": 18,
+ "y": 137,
+ "elevation": 3,
+ "weather": "COORD_EVENT_WEATHER_SUNNY"
+ },
+ {
+ "type": "weather",
+ "x": 19,
+ "y": 137,
+ "elevation": 3,
+ "weather": "COORD_EVENT_WEATHER_SUNNY"
+ },
+ {
+ "type": "weather",
+ "x": 20,
+ "y": 137,
+ "elevation": 3,
+ "weather": "COORD_EVENT_WEATHER_SUNNY"
+ }
+ ],
+ "bg_events": [
+ {
+ "type": "sign",
+ "x": 9,
+ "y": 33,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "Route119_EventScript_15142C"
+ },
+ {
+ "type": "sign",
+ "x": 27,
+ "y": 19,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "Route119_EventScript_151423"
+ },
+ {
+ "type": "secret_base",
+ "x": 5,
+ "y": 2,
+ "elevation": 0,
+ "secret_base_id": "SECRET_BASE_SHRUB1_1"
+ },
+ {
+ "type": "secret_base",
+ "x": 4,
+ "y": 89,
+ "elevation": 0,
+ "secret_base_id": "SECRET_BASE_SHRUB1_2"
+ },
+ {
+ "type": "secret_base",
+ "x": 5,
+ "y": 15,
+ "elevation": 0,
+ "secret_base_id": "SECRET_BASE_SHRUB2_1"
+ },
+ {
+ "type": "secret_base",
+ "x": 7,
+ "y": 101,
+ "elevation": 3,
+ "secret_base_id": "SECRET_BASE_SHRUB2_2"
+ },
+ {
+ "type": "secret_base",
+ "x": 34,
+ "y": 24,
+ "elevation": 3,
+ "secret_base_id": "SECRET_BASE_SHRUB3_1"
+ },
+ {
+ "type": "secret_base",
+ "x": 31,
+ "y": 73,
+ "elevation": 3,
+ "secret_base_id": "SECRET_BASE_SHRUB4_1"
+ },
+ {
+ "type": "secret_base",
+ "x": 16,
+ "y": 81,
+ "elevation": 0,
+ "secret_base_id": "SECRET_BASE_BLUE_CAVE3_3"
+ },
+ {
+ "type": "secret_base",
+ "x": 16,
+ "y": 28,
+ "elevation": 0,
+ "secret_base_id": "SECRET_BASE_BLUE_CAVE4_3"
+ },
+ {
+ "type": "hidden_item",
+ "x": 17,
+ "y": 82,
+ "elevation": 3,
+ "item": "ITEM_CALCIUM",
+ "flag": "FLAG_HIDDEN_ITEM_5"
+ },
+ {
+ "type": "hidden_item",
+ "x": 38,
+ "y": 63,
+ "elevation": 3,
+ "item": "ITEM_ULTRA_BALL",
+ "flag": "FLAG_HIDDEN_ITEM_6"
+ },
+ {
+ "type": "secret_base",
+ "x": 26,
+ "y": 81,
+ "elevation": 0,
+ "secret_base_id": "SECRET_BASE_RED_CAVE3_3"
+ },
+ {
+ "type": "secret_base",
+ "x": 19,
+ "y": 76,
+ "elevation": 0,
+ "secret_base_id": "SECRET_BASE_TREE2_3"
+ },
+ {
+ "type": "secret_base",
+ "x": 18,
+ "y": 76,
+ "elevation": 0,
+ "secret_base_id": "SECRET_BASE_TREE4_3"
+ },
+ {
+ "type": "secret_base",
+ "x": 4,
+ "y": 15,
+ "elevation": 0,
+ "secret_base_id": "SECRET_BASE_SHRUB3_3"
+ },
+ {
+ "type": "secret_base",
+ "x": 6,
+ "y": 2,
+ "elevation": 0,
+ "secret_base_id": "SECRET_BASE_SHRUB4_3"
+ },
+ {
+ "type": "hidden_item",
+ "x": 26,
+ "y": 120,
+ "elevation": 3,
+ "item": "ITEM_FULL_HEAL",
+ "flag": "FLAG_HIDDEN_ITEM_44"
+ },
+ {
+ "type": "hidden_item",
+ "x": 20,
+ "y": 29,
+ "elevation": 3,
+ "item": "ITEM_MAX_ETHER",
+ "flag": "FLAG_HIDDEN_ITEM_57"
+ },
+ {
+ "type": "sign",
+ "x": 28,
+ "y": 9,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "Route119_EventScript_151605"
+ }
+ ]
+} \ No newline at end of file
diff --git a/data/maps/Route119_House/events.inc b/data/maps/Route119_House/events.inc
deleted file mode 100644
index f8b334714..000000000
--- a/data/maps/Route119_House/events.inc
+++ /dev/null
@@ -1,15 +0,0 @@
-Route119_House_EventObjects:: @ 8392F40
- object_event 1, EVENT_OBJ_GFX_WOMAN_5, 0, 7, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, Route119_House_EventScript_163DDE, 0
- object_event 2, EVENT_OBJ_GFX_WINGULL, 0, 1, 6, 3, MOVEMENT_TYPE_WANDER_AROUND, 2, 2, 0, 0, Route119_House_EventScript_163DE7, 0
- object_event 3, EVENT_OBJ_GFX_WINGULL, 0, 0, 4, 3, MOVEMENT_TYPE_WANDER_AROUND, 3, 1, 0, 0, Route119_House_EventScript_163DE7, 0
- object_event 4, EVENT_OBJ_GFX_WINGULL, 0, 2, 2, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, Route119_House_EventScript_163DE7, 0
- object_event 5, EVENT_OBJ_GFX_WINGULL, 0, 8, 5, 3, MOVEMENT_TYPE_WANDER_AROUND, 3, 2, 0, 0, Route119_House_EventScript_163DE7, 0
- object_event 6, EVENT_OBJ_GFX_WINGULL, 0, 6, 6, 3, MOVEMENT_TYPE_WANDER_AROUND, 2, 2, 0, 0, Route119_House_EventScript_163DE7, 0
- object_event 7, EVENT_OBJ_GFX_WINGULL, 0, 5, 3, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 3, 0, 0, Route119_House_EventScript_163DE7, 0
-
-Route119_House_MapWarps:: @ 8392FE8
- warp_def 3, 8, 0, 1, MAP_ROUTE119
- warp_def 4, 8, 0, 1, MAP_ROUTE119
-
-Route119_House_MapEvents:: @ 8392FF8
- map_events Route119_House_EventObjects, Route119_House_MapWarps, 0x0, 0x0
diff --git a/data/maps/Route119_House/header.inc b/data/maps/Route119_House/header.inc
deleted file mode 100644
index e4d1c2d0a..000000000
--- a/data/maps/Route119_House/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-Route119_House:: @ 8307F28
- .4byte House1_Layout
- .4byte Route119_House_MapEvents
- .4byte Route119_House_MapScripts
- .4byte 0x0
- .2byte MUS_GOTOWN
- .2byte 59
- .byte MAPSEC_ROUTE_119
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/Route119_House/map.json b/data/maps/Route119_House/map.json
new file mode 100644
index 000000000..471d9c40f
--- /dev/null
+++ b/data/maps/Route119_House/map.json
@@ -0,0 +1,124 @@
+{
+ "id": "MAP_ROUTE119_HOUSE",
+ "name": "Route119_House",
+ "layout": "LAYOUT_HOUSE1",
+ "music": "MUS_GOTOWN",
+ "region_map_section": "MAPSEC_ROUTE_119",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_5",
+ "x": 7,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route119_House_EventScript_163DDE",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WINGULL",
+ "x": 1,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_AROUND",
+ "movement_range_x": 2,
+ "movement_range_y": 2,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route119_House_EventScript_163DE7",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WINGULL",
+ "x": 0,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_AROUND",
+ "movement_range_x": 3,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route119_House_EventScript_163DE7",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WINGULL",
+ "x": 2,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route119_House_EventScript_163DE7",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WINGULL",
+ "x": 8,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_AROUND",
+ "movement_range_x": 3,
+ "movement_range_y": 2,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route119_House_EventScript_163DE7",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WINGULL",
+ "x": 6,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_AROUND",
+ "movement_range_x": 2,
+ "movement_range_y": 2,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route119_House_EventScript_163DE7",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WINGULL",
+ "x": 5,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 3,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route119_House_EventScript_163DE7",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 3,
+ "y": 8,
+ "elevation": 0,
+ "dest_map": "MAP_ROUTE119",
+ "dest_warp_id": 1
+ },
+ {
+ "x": 4,
+ "y": 8,
+ "elevation": 0,
+ "dest_map": "MAP_ROUTE119",
+ "dest_warp_id": 1
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/Route119_WeatherInstitute_1F/events.inc b/data/maps/Route119_WeatherInstitute_1F/events.inc
deleted file mode 100644
index 91d0568dc..000000000
--- a/data/maps/Route119_WeatherInstitute_1F/events.inc
+++ /dev/null
@@ -1,20 +0,0 @@
-Route119_WeatherInstitute_1F_EventObjects:: @ 8392DC0
- object_event 1, EVENT_OBJ_GFX_VAR_1, 0, 15, 3, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 1, 3, Route119_WeatherInstitute_1F_EventScript_163C94, FLAG_HIDE_EVIL_TEAM_WEATHER_INSTITUTE
- object_event 2, EVENT_OBJ_GFX_VAR_2, 0, 10, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 1, 2, Route119_WeatherInstitute_1F_EventScript_163CAB, FLAG_HIDE_EVIL_TEAM_WEATHER_INSTITUTE
- object_event 3, EVENT_OBJ_GFX_MAN_5, 0, 5, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, Route119_WeatherInstitute_1F_EventScript_163C7A, FLAG_HIDE_WEATHER_INSTITUTE_WORKERS_1F
- object_event 4, EVENT_OBJ_GFX_MAN_5, 0, 2, 11, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 0, 0, 0, Route119_WeatherInstitute_1F_EventScript_163C71, FLAG_HIDE_WEATHER_INSTITUTE_WORKERS_1F
- object_event 5, EVENT_OBJ_GFX_LITTLE_BOY_1, 0, 14, 11, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, Route119_WeatherInstitute_1F_EventScript_163C4D, 0
-
-Route119_WeatherInstitute_1F_MapWarps:: @ 8392E38
- warp_def 9, 12, 0, 0, MAP_ROUTE119
- warp_def 10, 12, 0, 0, MAP_ROUTE119
- warp_def 17, 1, 0, 0, MAP_ROUTE119_WEATHER_INSTITUTE_2F
-
-Route119_WeatherInstitute_1F_MapBGEvents:: @ 8392E50
- bg_event 1, 2, 0, BG_EVENT_PLAYER_FACING_ANY, Route119_WeatherInstitute_1F_EventScript_163C83
- bg_event 1, 3, 0, BG_EVENT_PLAYER_FACING_ANY, Route119_WeatherInstitute_1F_EventScript_163C83
- bg_event 0, 2, 0, BG_EVENT_PLAYER_FACING_ANY, Route119_WeatherInstitute_1F_EventScript_163C83
- bg_event 0, 3, 0, BG_EVENT_PLAYER_FACING_ANY, Route119_WeatherInstitute_1F_EventScript_163C83
-
-Route119_WeatherInstitute_1F_MapEvents:: @ 8392E80
- map_events Route119_WeatherInstitute_1F_EventObjects, Route119_WeatherInstitute_1F_MapWarps, 0x0, Route119_WeatherInstitute_1F_MapBGEvents
diff --git a/data/maps/Route119_WeatherInstitute_1F/header.inc b/data/maps/Route119_WeatherInstitute_1F/header.inc
deleted file mode 100644
index 85db67fad..000000000
--- a/data/maps/Route119_WeatherInstitute_1F/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-Route119_WeatherInstitute_1F:: @ 8307EF0
- .4byte Route119_WeatherInstitute_1F_Layout
- .4byte Route119_WeatherInstitute_1F_MapEvents
- .4byte Route119_WeatherInstitute_1F_MapScripts
- .4byte 0x0
- .2byte MUS_GOTOWN
- .2byte 272
- .byte MAPSEC_ROUTE_119
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/Route119_WeatherInstitute_1F/map.json b/data/maps/Route119_WeatherInstitute_1F/map.json
new file mode 100644
index 000000000..048366667
--- /dev/null
+++ b/data/maps/Route119_WeatherInstitute_1F/map.json
@@ -0,0 +1,138 @@
+{
+ "id": "MAP_ROUTE119_WEATHER_INSTITUTE_1F",
+ "name": "Route119_WeatherInstitute_1F",
+ "layout": "LAYOUT_ROUTE119_WEATHER_INSTITUTE_1F",
+ "music": "MUS_GOTOWN",
+ "region_map_section": "MAPSEC_ROUTE_119",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_1",
+ "x": 15,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "3",
+ "script": "Route119_WeatherInstitute_1F_EventScript_163C94",
+ "flag": "FLAG_HIDE_EVIL_TEAM_WEATHER_INSTITUTE"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_2",
+ "x": 10,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "2",
+ "script": "Route119_WeatherInstitute_1F_EventScript_163CAB",
+ "flag": "FLAG_HIDE_EVIL_TEAM_WEATHER_INSTITUTE"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_5",
+ "x": 5,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route119_WeatherInstitute_1F_EventScript_163C7A",
+ "flag": "FLAG_HIDE_WEATHER_INSTITUTE_WORKERS_1F"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_5",
+ "x": 2,
+ "y": 11,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route119_WeatherInstitute_1F_EventScript_163C71",
+ "flag": "FLAG_HIDE_WEATHER_INSTITUTE_WORKERS_1F"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_LITTLE_BOY_1",
+ "x": 14,
+ "y": 11,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route119_WeatherInstitute_1F_EventScript_163C4D",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 9,
+ "y": 12,
+ "elevation": 0,
+ "dest_map": "MAP_ROUTE119",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 10,
+ "y": 12,
+ "elevation": 0,
+ "dest_map": "MAP_ROUTE119",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 17,
+ "y": 1,
+ "elevation": 0,
+ "dest_map": "MAP_ROUTE119_WEATHER_INSTITUTE_2F",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [],
+ "bg_events": [
+ {
+ "type": "sign",
+ "x": 1,
+ "y": 2,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "Route119_WeatherInstitute_1F_EventScript_163C83"
+ },
+ {
+ "type": "sign",
+ "x": 1,
+ "y": 3,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "Route119_WeatherInstitute_1F_EventScript_163C83"
+ },
+ {
+ "type": "sign",
+ "x": 0,
+ "y": 2,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "Route119_WeatherInstitute_1F_EventScript_163C83"
+ },
+ {
+ "type": "sign",
+ "x": 0,
+ "y": 3,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "Route119_WeatherInstitute_1F_EventScript_163C83"
+ }
+ ]
+} \ No newline at end of file
diff --git a/data/maps/Route119_WeatherInstitute_2F/events.inc b/data/maps/Route119_WeatherInstitute_2F/events.inc
deleted file mode 100644
index e6356b47f..000000000
--- a/data/maps/Route119_WeatherInstitute_2F/events.inc
+++ /dev/null
@@ -1,13 +0,0 @@
-Route119_WeatherInstitute_2F_EventObjects:: @ 8392E94
- object_event 1, EVENT_OBJ_GFX_VAR_1, 0, 15, 6, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 1, 4, Route119_WeatherInstitute_2F_EventScript_163CFC, FLAG_HIDE_EVIL_TEAM_WEATHER_INSTITUTE
- object_event 2, EVENT_OBJ_GFX_VAR_1, 0, 10, 8, 3, MOVEMENT_TYPE_FACE_DOWN_AND_UP, 0, 0, 1, 2, Route119_WeatherInstitute_2F_EventScript_163D13, FLAG_HIDE_EVIL_TEAM_WEATHER_INSTITUTE
- object_event 3, EVENT_OBJ_GFX_VAR_2, 0, 4, 6, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 1, 0, Route119_WeatherInstitute_2F_EventScript_163D2A, FLAG_HIDE_EVIL_TEAM_WEATHER_INSTITUTE
- object_event 4, EVENT_OBJ_GFX_MAN_5, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, 0x0, FLAG_HIDE_WEATHER_INSTITUTE_WORKERS_2F
- object_event 5, EVENT_OBJ_GFX_SCIENTIST_1, 0, 18, 6, 3, MOVEMENT_TYPE_LOOK_AROUND, 2, 1, 0, 0, Route119_WeatherInstitute_2F_EventScript_163DCC, 0
- object_event 6, EVENT_OBJ_GFX_MAN_5, 0, 1, 7, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, 0x0, FLAG_HIDE_WEATHER_INSTITUTE_WORKERS_2F
-
-Route119_WeatherInstitute_2F_MapWarps:: @ 8392F24
- warp_def 17, 1, 0, 2, MAP_ROUTE119_WEATHER_INSTITUTE_1F
-
-Route119_WeatherInstitute_2F_MapEvents:: @ 8392F2C
- map_events Route119_WeatherInstitute_2F_EventObjects, Route119_WeatherInstitute_2F_MapWarps, 0x0, 0x0
diff --git a/data/maps/Route119_WeatherInstitute_2F/header.inc b/data/maps/Route119_WeatherInstitute_2F/header.inc
deleted file mode 100644
index ffda37907..000000000
--- a/data/maps/Route119_WeatherInstitute_2F/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-Route119_WeatherInstitute_2F:: @ 8307F0C
- .4byte Route119_WeatherInstitute_2F_Layout
- .4byte Route119_WeatherInstitute_2F_MapEvents
- .4byte Route119_WeatherInstitute_2F_MapScripts
- .4byte 0x0
- .2byte MUS_GOTOWN
- .2byte 273
- .byte MAPSEC_ROUTE_119
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/Route119_WeatherInstitute_2F/map.json b/data/maps/Route119_WeatherInstitute_2F/map.json
new file mode 100644
index 000000000..9d59bb48d
--- /dev/null
+++ b/data/maps/Route119_WeatherInstitute_2F/map.json
@@ -0,0 +1,104 @@
+{
+ "id": "MAP_ROUTE119_WEATHER_INSTITUTE_2F",
+ "name": "Route119_WeatherInstitute_2F",
+ "layout": "LAYOUT_ROUTE119_WEATHER_INSTITUTE_2F",
+ "music": "MUS_GOTOWN",
+ "region_map_section": "MAPSEC_ROUTE_119",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_1",
+ "x": 15,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "4",
+ "script": "Route119_WeatherInstitute_2F_EventScript_163CFC",
+ "flag": "FLAG_HIDE_EVIL_TEAM_WEATHER_INSTITUTE"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_1",
+ "x": 10,
+ "y": 8,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN_AND_UP",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "2",
+ "script": "Route119_WeatherInstitute_2F_EventScript_163D13",
+ "flag": "FLAG_HIDE_EVIL_TEAM_WEATHER_INSTITUTE"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_2",
+ "x": 4,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route119_WeatherInstitute_2F_EventScript_163D2A",
+ "flag": "FLAG_HIDE_EVIL_TEAM_WEATHER_INSTITUTE"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_5",
+ "x": 0,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_HIDE_WEATHER_INSTITUTE_WORKERS_2F"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_SCIENTIST_1",
+ "x": 18,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 2,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route119_WeatherInstitute_2F_EventScript_163DCC",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_5",
+ "x": 1,
+ "y": 7,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_HIDE_WEATHER_INSTITUTE_WORKERS_2F"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 17,
+ "y": 1,
+ "elevation": 0,
+ "dest_map": "MAP_ROUTE119_WEATHER_INSTITUTE_1F",
+ "dest_warp_id": 2
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/Route120/connections.inc b/data/maps/Route120/connections.inc
deleted file mode 100644
index 714d8294e..000000000
--- a/data/maps/Route120/connections.inc
+++ /dev/null
@@ -1,7 +0,0 @@
-Route120_MapConnectionsList:: @ 8308AC4
- connection left, 0, MAP_FORTREE_CITY
- connection right, 80, MAP_ROUTE121
-
-Route120_MapConnections:: @ 8308ADC
- .4byte 0x2
- .4byte Route120_MapConnectionsList
diff --git a/data/maps/Route120/events.inc b/data/maps/Route120/events.inc
deleted file mode 100644
index e4372712e..000000000
--- a/data/maps/Route120/events.inc
+++ /dev/null
@@ -1,86 +0,0 @@
-Route120_EventObjects:: @ 8383F30
- object_event 1, EVENT_OBJ_GFX_BERRY_TREE, 0, 4, 79, 3, MOVEMENT_TYPE_BERRY_TREE_GROWTH, 0, 0, 0, 46, S_BerryTree, 0
- object_event 2, EVENT_OBJ_GFX_BERRY_TREE, 0, 5, 79, 3, MOVEMENT_TYPE_BERRY_TREE_GROWTH, 0, 0, 0, 45, S_BerryTree, 0
- object_event 3, EVENT_OBJ_GFX_BERRY_TREE, 0, 6, 79, 3, MOVEMENT_TYPE_BERRY_TREE_GROWTH, 0, 0, 0, 44, S_BerryTree, 0
- object_event 4, EVENT_OBJ_GFX_BERRY_TREE, 0, 7, 79, 3, MOVEMENT_TYPE_BERRY_TREE_GROWTH, 0, 0, 0, 43, S_BerryTree, 0
- object_event 5, EVENT_OBJ_GFX_BERRY_TREE, 0, 34, 24, 3, MOVEMENT_TYPE_BERRY_TREE_GROWTH, 0, 0, 0, 37, S_BerryTree, 0
- object_event 6, EVENT_OBJ_GFX_BERRY_TREE, 0, 35, 24, 3, MOVEMENT_TYPE_BERRY_TREE_GROWTH, 0, 0, 0, 38, S_BerryTree, 0
- object_event 7, EVENT_OBJ_GFX_BERRY_TREE, 0, 36, 24, 3, MOVEMENT_TYPE_BERRY_TREE_GROWTH, 0, 0, 0, 39, S_BerryTree, 0
- object_event 8, EVENT_OBJ_GFX_BERRY_TREE, 0, 9, 92, 5, MOVEMENT_TYPE_BERRY_TREE_GROWTH, 0, 0, 0, 40, S_BerryTree, 0
- object_event 9, EVENT_OBJ_GFX_BERRY_TREE, 0, 10, 92, 5, MOVEMENT_TYPE_BERRY_TREE_GROWTH, 0, 0, 0, 41, S_BerryTree, 0
- object_event 10, EVENT_OBJ_GFX_BERRY_TREE, 0, 11, 92, 5, MOVEMENT_TYPE_BERRY_TREE_GROWTH, 0, 0, 0, 42, S_BerryTree, 0
- object_event 11, EVENT_OBJ_GFX_MAN_6, 0, 5, 22, 3, MOVEMENT_TYPE_FACE_LEFT_AND_RIGHT, 0, 0, 1, 3, Route120_EventScript_1519B3, 0
- object_event 12, EVENT_OBJ_GFX_MAN_6, 0, 32, 14, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 1, 3, Route120_EventScript_1519CA, 0
- object_event 13, EVENT_OBJ_GFX_CAMPER, 0, 27, 51, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 1, 7, Route120_EventScript_151A08, 0
- object_event 14, EVENT_OBJ_GFX_PICNICKER, 0, 36, 45, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 1, 2, Route120_EventScript_151A1F, 0
- object_event 15, EVENT_OBJ_GFX_MANIAC, 0, 19, 80, 5, MOVEMENT_TYPE_FACE_UP_AND_LEFT, 0, 0, 1, 3, Route120_EventScript_151A36, 0
- object_event 16, EVENT_OBJ_GFX_ITEM_BALL, 0, 20, 55, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route120_EventScript_1B161A, FLAG_ITEM_ROUTE120_1
- object_event 17, EVENT_OBJ_GFX_CAMERAMAN, 0, 37, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, Route120_EventScript_1AE4C2, FLAG_HIDE_GABBY_AND_TY_ROUTE120_1
- object_event 18, EVENT_OBJ_GFX_REPORTER_F, 0, 36, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, Route120_EventScript_1AE4A2, FLAG_HIDE_GABBY_AND_TY_ROUTE120_1
- object_event 19, EVENT_OBJ_GFX_REPORTER_F, 0, 36, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, Route120_EventScript_1AE562, FLAG_HIDE_GABBY_AND_TY_ROUTE120_2
- object_event 20, EVENT_OBJ_GFX_CAMERAMAN, 0, 37, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, Route120_EventScript_1AE582, FLAG_HIDE_GABBY_AND_TY_ROUTE120_2
- object_event 21, EVENT_OBJ_GFX_CUTTABLE_TREE, 0, 35, 32, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, S_CuttableTree, FLAG_TEMP_11
- object_event 22, EVENT_OBJ_GFX_ITEM_BALL, 0, 7, 89, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route120_EventScript_1B1627, FLAG_ITEM_ROUTE120_2
- object_event 23, EVENT_OBJ_GFX_BEAUTY, 0, 14, 92, 5, MOVEMENT_TYPE_WANDER_LEFT_AND_RIGHT, 1, 0, 0, 0, Route120_EventScript_151739, 0
- object_event 24, EVENT_OBJ_GFX_WOMAN_7, 0, 28, 35, 3, MOVEMENT_TYPE_FACE_UP_AND_LEFT, 0, 0, 1, 4, Route120_EventScript_151A74, 0
- object_event 25, EVENT_OBJ_GFX_HIKER, 0, 9, 60, 3, MOVEMENT_TYPE_FACE_UP_LEFT_AND_RIGHT, 0, 0, 1, 4, Route120_EventScript_151A8B, 0
- object_event 26, EVENT_OBJ_GFX_WOMAN_7, 0, 16, 6, 3, MOVEMENT_TYPE_ROTATE_COUNTERCLOCKWISE, 0, 0, 1, 4, Route120_EventScript_151AA2, 0
- object_event 27, EVENT_OBJ_GFX_WOMAN_7, 0, 18, 34, 3, MOVEMENT_TYPE_FACE_DOWN_AND_LEFT, 0, 0, 1, 3, Route120_EventScript_151AB9, 0
- object_event 28, EVENT_OBJ_GFX_ITEM_BALL, 0, 22, 13, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route120_EventScript_1B1641, FLAG_ITEM_ROUTE120_4
- object_event 29, EVENT_OBJ_GFX_ITEM_BALL, 0, 23, 82, 5, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route120_EventScript_1B1634, FLAG_ITEM_ROUTE120_3
- object_event 30, EVENT_OBJ_GFX_KECLEON_1, 0, 12, 16, 4, MOVEMENT_TYPE_INVISIBLE, 1, 1, 0, 0, Route120_EventScript_151998, FLAG_HIDE_KECLEON_ROUTE120_1
- object_event 31, EVENT_OBJ_GFX_STEVEN, 0, 13, 15, 4, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, Route120_EventScript_151853, FLAG_HIDE_STEVEN_ROUTE120
- object_event 32, EVENT_OBJ_GFX_CUTTABLE_TREE, 0, 20, 1, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, S_CuttableTree, FLAG_TEMP_14
- object_event 33, EVENT_OBJ_GFX_CUTTABLE_TREE, 0, 15, 1, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, S_CuttableTree, FLAG_TEMP_12
- object_event 34, EVENT_OBJ_GFX_LITTLE_BOY_1, 0, 10, 72, 3, MOVEMENT_TYPE_MOUNTAIN_DISGUISE, 1, 1, 1, 3, Route120_EventScript_151AD0, 0
- object_event 35, EVENT_OBJ_GFX_LITTLE_BOY_1, 0, 19, 28, 3, MOVEMENT_TYPE_TREE_DISGUISE, 1, 1, 1, 3, Route120_EventScript_151AE7, 0
- object_event 36, EVENT_OBJ_GFX_KECLEON_2, 0, 12, 16, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, 0x0, FLAG_HIDE_KECLEON_ROUTE120_2
- object_event 37, EVENT_OBJ_GFX_KECLEON_1, 0, 20, 11, 3, MOVEMENT_TYPE_INVISIBLE, 1, 1, 0, 0, Route120_EventScript_1A0539, FLAG_HIDE_KECLEON_ROUTE120_3
- object_event 38, EVENT_OBJ_GFX_KECLEON_1, 0, 27, 2, 3, MOVEMENT_TYPE_INVISIBLE, 1, 1, 0, 0, Route120_EventScript_1A0546, FLAG_HIDE_KECLEON_ROUTE120_4
- object_event 39, EVENT_OBJ_GFX_KECLEON_1, 0, 4, 77, 3, MOVEMENT_TYPE_INVISIBLE, 1, 1, 0, 0, Route120_EventScript_1A0553, FLAG_HIDE_KECLEON_ROUTE120_5
- object_event 40, EVENT_OBJ_GFX_KECLEON_1, 0, 7, 51, 3, MOVEMENT_TYPE_INVISIBLE, 1, 1, 0, 0, Route120_EventScript_1A056D, FLAG_HIDE_KECLEON_ROUTE120_7
- object_event 41, EVENT_OBJ_GFX_KECLEON_1, 0, 19, 48, 3, MOVEMENT_TYPE_INVISIBLE, 1, 1, 0, 0, Route120_EventScript_1A0560, FLAG_HIDE_KECLEON_ROUTE120_6
-
-Route120_MapWarps:: @ 8384308
- warp_def 7, 55, 0, 0, MAP_ANCIENT_TOMB
- warp_def 19, 23, 1, 0, MAP_SCORCHED_SLAB
-
-Route120_MapCoordEvents:: @ 8384318
- coord_weather_event 7, 15, 0, COORD_EVENT_WEATHER_RAIN_LIGHT
- coord_weather_event 7, 16, 0, COORD_EVENT_WEATHER_RAIN_LIGHT
- coord_weather_event 22, 61, 3, COORD_EVENT_WEATHER_RAIN_LIGHT
- coord_weather_event 12, 64, 3, COORD_EVENT_WEATHER_RAIN_LIGHT
- coord_weather_event 35, 63, 3, COORD_EVENT_WEATHER_CLOUDS
- coord_weather_event 36, 63, 3, COORD_EVENT_WEATHER_CLOUDS
- coord_weather_event 37, 63, 3, COORD_EVENT_WEATHER_CLOUDS
- coord_weather_event 38, 63, 3, COORD_EVENT_WEATHER_CLOUDS
- coord_weather_event 32, 88, 5, COORD_EVENT_WEATHER_CLOUDS
- coord_weather_event 28, 15, 0, COORD_EVENT_WEATHER_SUNNY
- coord_weather_event 28, 16, 0, COORD_EVENT_WEATHER_SUNNY
- coord_weather_event 28, 17, 3, COORD_EVENT_WEATHER_SUNNY
- coord_weather_event 32, 89, 5, COORD_EVENT_WEATHER_CLOUDS
- coord_weather_event 32, 90, 5, COORD_EVENT_WEATHER_CLOUDS
- coord_weather_event 32, 91, 5, COORD_EVENT_WEATHER_CLOUDS
- coord_weather_event 10, 75, 3, COORD_EVENT_WEATHER_CLOUDS
- coord_weather_event 11, 75, 3, COORD_EVENT_WEATHER_CLOUDS
- coord_weather_event 12, 75, 3, COORD_EVENT_WEATHER_CLOUDS
- coord_weather_event 13, 75, 3, COORD_EVENT_WEATHER_CLOUDS
-
-Route120_MapBGEvents:: @ 8384448
- bg_event 27, 3, 3, BG_EVENT_PLAYER_FACING_ANY, Route120_EventScript_1519A1
- bg_event 38, 88, 3, BG_EVENT_PLAYER_FACING_ANY, Route120_EventScript_1519AA
- bg_secret_base_event 28, 62, 0, SECRET_BASE_BLUE_CAVE3_1
- bg_secret_base_event 30, 62, 0, SECRET_BASE_BLUE_CAVE4_1
- bg_secret_base_event 26, 10, 0, SECRET_BASE_SHRUB3_2
- bg_secret_base_event 29, 85, 5, SECRET_BASE_SHRUB4_2
- bg_secret_base_event 18, 12, 0, SECRET_BASE_BLUE_CAVE2_3
- bg_secret_base_event 38, 54, 0, SECRET_BASE_SHRUB1_3
- bg_secret_base_event 31, 23, 0, SECRET_BASE_SHRUB2_3
- bg_hidden_item_event 9, 1, 3, ITEM_RARE_CANDY, FLAG_HIDDEN_ITEM_47
- bg_hidden_item_event 31, 11, 3, ITEM_REVIVE, FLAG_HIDDEN_ITEM_54
- bg_hidden_item_event 0, 86, 3, ITEM_RARE_CANDY, FLAG_HIDDEN_ITEM_45
- bg_hidden_item_event 24, 42, 3, ITEM_ZINC, FLAG_HIDDEN_ITEM_46
- bg_secret_base_event 5, 76, 0, SECRET_BASE_SHRUB1_4
-
-Route120_MapEvents:: @ 83844F0
- map_events Route120_EventObjects, Route120_MapWarps, Route120_MapCoordEvents, Route120_MapBGEvents
diff --git a/data/maps/Route120/header.inc b/data/maps/Route120/header.inc
deleted file mode 100644
index 921c3fde4..000000000
--- a/data/maps/Route120/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-Route120:: @ 830581C
- .4byte Route120_Layout
- .4byte Route120_MapEvents
- .4byte Route120_MapScripts
- .4byte Route120_MapConnections
- .2byte MUS_DOORO_X3
- .2byte 36
- .byte MAPSEC_ROUTE_120
- .byte 0
- .byte WEATHER_SUNNY
- .byte MAP_TYPE_ROUTE
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/Route120/map.json b/data/maps/Route120/map.json
new file mode 100644
index 000000000..f8d8e334d
--- /dev/null
+++ b/data/maps/Route120/map.json
@@ -0,0 +1,816 @@
+{
+ "id": "MAP_ROUTE120",
+ "name": "Route120",
+ "layout": "LAYOUT_ROUTE120",
+ "music": "MUS_DOORO_X3",
+ "region_map_section": "MAPSEC_ROUTE_120",
+ "requires_flash": false,
+ "weather": "WEATHER_SUNNY",
+ "map_type": "MAP_TYPE_ROUTE",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": [
+ {
+ "direction": "left",
+ "offset": 0,
+ "map": "MAP_FORTREE_CITY"
+ },
+ {
+ "direction": "right",
+ "offset": 80,
+ "map": "MAP_ROUTE121"
+ }
+ ],
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BERRY_TREE",
+ "x": 4,
+ "y": 79,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_BERRY_TREE_GROWTH",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "46",
+ "script": "S_BerryTree",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BERRY_TREE",
+ "x": 5,
+ "y": 79,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_BERRY_TREE_GROWTH",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "45",
+ "script": "S_BerryTree",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BERRY_TREE",
+ "x": 6,
+ "y": 79,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_BERRY_TREE_GROWTH",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "44",
+ "script": "S_BerryTree",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BERRY_TREE",
+ "x": 7,
+ "y": 79,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_BERRY_TREE_GROWTH",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "43",
+ "script": "S_BerryTree",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BERRY_TREE",
+ "x": 34,
+ "y": 24,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_BERRY_TREE_GROWTH",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "37",
+ "script": "S_BerryTree",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BERRY_TREE",
+ "x": 35,
+ "y": 24,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_BERRY_TREE_GROWTH",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "38",
+ "script": "S_BerryTree",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BERRY_TREE",
+ "x": 36,
+ "y": 24,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_BERRY_TREE_GROWTH",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "39",
+ "script": "S_BerryTree",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BERRY_TREE",
+ "x": 9,
+ "y": 92,
+ "elevation": 5,
+ "movement_type": "MOVEMENT_TYPE_BERRY_TREE_GROWTH",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "40",
+ "script": "S_BerryTree",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BERRY_TREE",
+ "x": 10,
+ "y": 92,
+ "elevation": 5,
+ "movement_type": "MOVEMENT_TYPE_BERRY_TREE_GROWTH",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "41",
+ "script": "S_BerryTree",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BERRY_TREE",
+ "x": 11,
+ "y": 92,
+ "elevation": 5,
+ "movement_type": "MOVEMENT_TYPE_BERRY_TREE_GROWTH",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "42",
+ "script": "S_BerryTree",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_6",
+ "x": 5,
+ "y": 22,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT_AND_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "3",
+ "script": "Route120_EventScript_1519B3",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_6",
+ "x": 32,
+ "y": 14,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "3",
+ "script": "Route120_EventScript_1519CA",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_CAMPER",
+ "x": 27,
+ "y": 51,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "7",
+ "script": "Route120_EventScript_151A08",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_PICNICKER",
+ "x": 36,
+ "y": 45,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "2",
+ "script": "Route120_EventScript_151A1F",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MANIAC",
+ "x": 19,
+ "y": 80,
+ "elevation": 5,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP_AND_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "3",
+ "script": "Route120_EventScript_151A36",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ITEM_BALL",
+ "x": 20,
+ "y": 55,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route120_EventScript_1B161A",
+ "flag": "FLAG_ITEM_ROUTE120_1"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_CAMERAMAN",
+ "x": 37,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route120_EventScript_1AE4C2",
+ "flag": "FLAG_HIDE_GABBY_AND_TY_ROUTE120_1"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_REPORTER_F",
+ "x": 36,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route120_EventScript_1AE4A2",
+ "flag": "FLAG_HIDE_GABBY_AND_TY_ROUTE120_1"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_REPORTER_F",
+ "x": 36,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route120_EventScript_1AE562",
+ "flag": "FLAG_HIDE_GABBY_AND_TY_ROUTE120_2"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_CAMERAMAN",
+ "x": 37,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route120_EventScript_1AE582",
+ "flag": "FLAG_HIDE_GABBY_AND_TY_ROUTE120_2"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_CUTTABLE_TREE",
+ "x": 35,
+ "y": 32,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "S_CuttableTree",
+ "flag": "FLAG_TEMP_11"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ITEM_BALL",
+ "x": 7,
+ "y": 89,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route120_EventScript_1B1627",
+ "flag": "FLAG_ITEM_ROUTE120_2"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BEAUTY",
+ "x": 14,
+ "y": 92,
+ "elevation": 5,
+ "movement_type": "MOVEMENT_TYPE_WANDER_LEFT_AND_RIGHT",
+ "movement_range_x": 1,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route120_EventScript_151739",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_7",
+ "x": 28,
+ "y": 35,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP_AND_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "4",
+ "script": "Route120_EventScript_151A74",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_HIKER",
+ "x": 9,
+ "y": 60,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP_LEFT_AND_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "4",
+ "script": "Route120_EventScript_151A8B",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_7",
+ "x": 16,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_ROTATE_COUNTERCLOCKWISE",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "4",
+ "script": "Route120_EventScript_151AA2",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_7",
+ "x": 18,
+ "y": 34,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN_AND_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "3",
+ "script": "Route120_EventScript_151AB9",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ITEM_BALL",
+ "x": 22,
+ "y": 13,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route120_EventScript_1B1641",
+ "flag": "FLAG_ITEM_ROUTE120_4"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ITEM_BALL",
+ "x": 23,
+ "y": 82,
+ "elevation": 5,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route120_EventScript_1B1634",
+ "flag": "FLAG_ITEM_ROUTE120_3"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_KECLEON_1",
+ "x": 12,
+ "y": 16,
+ "elevation": 4,
+ "movement_type": "MOVEMENT_TYPE_INVISIBLE",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route120_EventScript_151998",
+ "flag": "FLAG_HIDE_KECLEON_ROUTE120_1"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_STEVEN",
+ "x": 13,
+ "y": 15,
+ "elevation": 4,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route120_EventScript_151853",
+ "flag": "FLAG_HIDE_STEVEN_ROUTE120"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_CUTTABLE_TREE",
+ "x": 20,
+ "y": 1,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "S_CuttableTree",
+ "flag": "FLAG_TEMP_14"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_CUTTABLE_TREE",
+ "x": 15,
+ "y": 1,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "S_CuttableTree",
+ "flag": "FLAG_TEMP_12"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_LITTLE_BOY_1",
+ "x": 10,
+ "y": 72,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_MOUNTAIN_DISGUISE",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "3",
+ "script": "Route120_EventScript_151AD0",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_LITTLE_BOY_1",
+ "x": 19,
+ "y": 28,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_TREE_DISGUISE",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "3",
+ "script": "Route120_EventScript_151AE7",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_KECLEON_2",
+ "x": 12,
+ "y": 16,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_HIDE_KECLEON_ROUTE120_2"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_KECLEON_1",
+ "x": 20,
+ "y": 11,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_INVISIBLE",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route120_EventScript_1A0539",
+ "flag": "FLAG_HIDE_KECLEON_ROUTE120_3"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_KECLEON_1",
+ "x": 27,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_INVISIBLE",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route120_EventScript_1A0546",
+ "flag": "FLAG_HIDE_KECLEON_ROUTE120_4"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_KECLEON_1",
+ "x": 4,
+ "y": 77,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_INVISIBLE",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route120_EventScript_1A0553",
+ "flag": "FLAG_HIDE_KECLEON_ROUTE120_5"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_KECLEON_1",
+ "x": 7,
+ "y": 51,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_INVISIBLE",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route120_EventScript_1A056D",
+ "flag": "FLAG_HIDE_KECLEON_ROUTE120_7"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_KECLEON_1",
+ "x": 19,
+ "y": 48,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_INVISIBLE",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route120_EventScript_1A0560",
+ "flag": "FLAG_HIDE_KECLEON_ROUTE120_6"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 7,
+ "y": 55,
+ "elevation": 0,
+ "dest_map": "MAP_ANCIENT_TOMB",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 19,
+ "y": 23,
+ "elevation": 1,
+ "dest_map": "MAP_SCORCHED_SLAB",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [
+ {
+ "type": "weather",
+ "x": 7,
+ "y": 15,
+ "elevation": 0,
+ "weather": "COORD_EVENT_WEATHER_RAIN_LIGHT"
+ },
+ {
+ "type": "weather",
+ "x": 7,
+ "y": 16,
+ "elevation": 0,
+ "weather": "COORD_EVENT_WEATHER_RAIN_LIGHT"
+ },
+ {
+ "type": "weather",
+ "x": 22,
+ "y": 61,
+ "elevation": 3,
+ "weather": "COORD_EVENT_WEATHER_RAIN_LIGHT"
+ },
+ {
+ "type": "weather",
+ "x": 12,
+ "y": 64,
+ "elevation": 3,
+ "weather": "COORD_EVENT_WEATHER_RAIN_LIGHT"
+ },
+ {
+ "type": "weather",
+ "x": 35,
+ "y": 63,
+ "elevation": 3,
+ "weather": "COORD_EVENT_WEATHER_CLOUDS"
+ },
+ {
+ "type": "weather",
+ "x": 36,
+ "y": 63,
+ "elevation": 3,
+ "weather": "COORD_EVENT_WEATHER_CLOUDS"
+ },
+ {
+ "type": "weather",
+ "x": 37,
+ "y": 63,
+ "elevation": 3,
+ "weather": "COORD_EVENT_WEATHER_CLOUDS"
+ },
+ {
+ "type": "weather",
+ "x": 38,
+ "y": 63,
+ "elevation": 3,
+ "weather": "COORD_EVENT_WEATHER_CLOUDS"
+ },
+ {
+ "type": "weather",
+ "x": 32,
+ "y": 88,
+ "elevation": 5,
+ "weather": "COORD_EVENT_WEATHER_CLOUDS"
+ },
+ {
+ "type": "weather",
+ "x": 28,
+ "y": 15,
+ "elevation": 0,
+ "weather": "COORD_EVENT_WEATHER_SUNNY"
+ },
+ {
+ "type": "weather",
+ "x": 28,
+ "y": 16,
+ "elevation": 0,
+ "weather": "COORD_EVENT_WEATHER_SUNNY"
+ },
+ {
+ "type": "weather",
+ "x": 28,
+ "y": 17,
+ "elevation": 3,
+ "weather": "COORD_EVENT_WEATHER_SUNNY"
+ },
+ {
+ "type": "weather",
+ "x": 32,
+ "y": 89,
+ "elevation": 5,
+ "weather": "COORD_EVENT_WEATHER_CLOUDS"
+ },
+ {
+ "type": "weather",
+ "x": 32,
+ "y": 90,
+ "elevation": 5,
+ "weather": "COORD_EVENT_WEATHER_CLOUDS"
+ },
+ {
+ "type": "weather",
+ "x": 32,
+ "y": 91,
+ "elevation": 5,
+ "weather": "COORD_EVENT_WEATHER_CLOUDS"
+ },
+ {
+ "type": "weather",
+ "x": 10,
+ "y": 75,
+ "elevation": 3,
+ "weather": "COORD_EVENT_WEATHER_CLOUDS"
+ },
+ {
+ "type": "weather",
+ "x": 11,
+ "y": 75,
+ "elevation": 3,
+ "weather": "COORD_EVENT_WEATHER_CLOUDS"
+ },
+ {
+ "type": "weather",
+ "x": 12,
+ "y": 75,
+ "elevation": 3,
+ "weather": "COORD_EVENT_WEATHER_CLOUDS"
+ },
+ {
+ "type": "weather",
+ "x": 13,
+ "y": 75,
+ "elevation": 3,
+ "weather": "COORD_EVENT_WEATHER_CLOUDS"
+ }
+ ],
+ "bg_events": [
+ {
+ "type": "sign",
+ "x": 27,
+ "y": 3,
+ "elevation": 3,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "Route120_EventScript_1519A1"
+ },
+ {
+ "type": "sign",
+ "x": 38,
+ "y": 88,
+ "elevation": 3,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "Route120_EventScript_1519AA"
+ },
+ {
+ "type": "secret_base",
+ "x": 28,
+ "y": 62,
+ "elevation": 0,
+ "secret_base_id": "SECRET_BASE_BLUE_CAVE3_1"
+ },
+ {
+ "type": "secret_base",
+ "x": 30,
+ "y": 62,
+ "elevation": 0,
+ "secret_base_id": "SECRET_BASE_BLUE_CAVE4_1"
+ },
+ {
+ "type": "secret_base",
+ "x": 26,
+ "y": 10,
+ "elevation": 0,
+ "secret_base_id": "SECRET_BASE_SHRUB3_2"
+ },
+ {
+ "type": "secret_base",
+ "x": 29,
+ "y": 85,
+ "elevation": 5,
+ "secret_base_id": "SECRET_BASE_SHRUB4_2"
+ },
+ {
+ "type": "secret_base",
+ "x": 18,
+ "y": 12,
+ "elevation": 0,
+ "secret_base_id": "SECRET_BASE_BLUE_CAVE2_3"
+ },
+ {
+ "type": "secret_base",
+ "x": 38,
+ "y": 54,
+ "elevation": 0,
+ "secret_base_id": "SECRET_BASE_SHRUB1_3"
+ },
+ {
+ "type": "secret_base",
+ "x": 31,
+ "y": 23,
+ "elevation": 0,
+ "secret_base_id": "SECRET_BASE_SHRUB2_3"
+ },
+ {
+ "type": "hidden_item",
+ "x": 9,
+ "y": 1,
+ "elevation": 3,
+ "item": "ITEM_RARE_CANDY",
+ "flag": "FLAG_HIDDEN_ITEM_47"
+ },
+ {
+ "type": "hidden_item",
+ "x": 31,
+ "y": 11,
+ "elevation": 3,
+ "item": "ITEM_REVIVE",
+ "flag": "FLAG_HIDDEN_ITEM_54"
+ },
+ {
+ "type": "hidden_item",
+ "x": 0,
+ "y": 86,
+ "elevation": 3,
+ "item": "ITEM_RARE_CANDY",
+ "flag": "FLAG_HIDDEN_ITEM_45"
+ },
+ {
+ "type": "hidden_item",
+ "x": 24,
+ "y": 42,
+ "elevation": 3,
+ "item": "ITEM_ZINC",
+ "flag": "FLAG_HIDDEN_ITEM_46"
+ },
+ {
+ "type": "secret_base",
+ "x": 5,
+ "y": 76,
+ "elevation": 0,
+ "secret_base_id": "SECRET_BASE_SHRUB1_4"
+ }
+ ]
+} \ No newline at end of file
diff --git a/data/maps/Route121/connections.inc b/data/maps/Route121/connections.inc
deleted file mode 100644
index 80affb98d..000000000
--- a/data/maps/Route121/connections.inc
+++ /dev/null
@@ -1,8 +0,0 @@
-Route121_MapConnectionsList:: @ 8308AE4
- connection down, 20, MAP_ROUTE122
- connection left, -80, MAP_ROUTE120
- connection right, -10, MAP_LILYCOVE_CITY
-
-Route121_MapConnections:: @ 8308B08
- .4byte 0x3
- .4byte Route121_MapConnectionsList
diff --git a/data/maps/Route121/events.inc b/data/maps/Route121/events.inc
deleted file mode 100644
index e4fbbb8ca..000000000
--- a/data/maps/Route121/events.inc
+++ /dev/null
@@ -1,46 +0,0 @@
-Route121_EventObjects:: @ 8384504
- object_event 1, EVENT_OBJ_GFX_WOMAN_4, 0, 29, 14, 3, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 0, 0, Route121_EventScript_151B0A, 0
- object_event 2, EVENT_OBJ_GFX_BERRY_TREE, 0, 14, 2, 3, MOVEMENT_TYPE_BERRY_TREE_GROWTH, 0, 0, 0, 47, S_BerryTree, 0
- object_event 3, EVENT_OBJ_GFX_BERRY_TREE, 0, 15, 2, 3, MOVEMENT_TYPE_BERRY_TREE_GROWTH, 0, 0, 0, 48, S_BerryTree, 0
- object_event 4, EVENT_OBJ_GFX_BERRY_TREE, 0, 16, 2, 3, MOVEMENT_TYPE_BERRY_TREE_GROWTH, 0, 0, 0, 49, S_BerryTree, 0
- object_event 5, EVENT_OBJ_GFX_BERRY_TREE, 0, 17, 2, 3, MOVEMENT_TYPE_BERRY_TREE_GROWTH, 0, 0, 0, 50, S_BerryTree, 0
- object_event 6, EVENT_OBJ_GFX_BERRY_TREE, 0, 64, 14, 3, MOVEMENT_TYPE_BERRY_TREE_GROWTH, 0, 0, 0, 51, S_BerryTree, 0
- object_event 7, EVENT_OBJ_GFX_BERRY_TREE, 0, 65, 14, 3, MOVEMENT_TYPE_BERRY_TREE_GROWTH, 0, 0, 0, 52, S_BerryTree, 0
- object_event 8, EVENT_OBJ_GFX_BERRY_TREE, 0, 66, 14, 3, MOVEMENT_TYPE_BERRY_TREE_GROWTH, 0, 0, 0, 53, S_BerryTree, 0
- object_event 9, EVENT_OBJ_GFX_BERRY_TREE, 0, 67, 14, 3, MOVEMENT_TYPE_BERRY_TREE_GROWTH, 0, 0, 0, 54, S_BerryTree, 0
- object_event 10, EVENT_OBJ_GFX_LASS, 0, 39, 9, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 1, 0, Route121_EventScript_151BDE, 0
- object_event 11, EVENT_OBJ_GFX_LASS, 0, 40, 9, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 1, 0, Route121_EventScript_151BF9, 0
- object_event 12, EVENT_OBJ_GFX_VAR_1, 0, 30, 8, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, 0x0, FLAG_HIDE_GRUNTS_ROUTE121
- object_event 13, EVENT_OBJ_GFX_VAR_1, 0, 30, 7, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, 0x0, FLAG_HIDE_GRUNTS_ROUTE121
- object_event 14, EVENT_OBJ_GFX_VAR_1, 0, 31, 7, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, 0x0, FLAG_HIDE_GRUNTS_ROUTE121
- object_event 15, EVENT_OBJ_GFX_CUTTABLE_TREE, 0, 32, 5, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, S_CuttableTree, FLAG_TEMP_11
- object_event 16, EVENT_OBJ_GFX_CUTTABLE_TREE, 0, 65, 4, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, S_CuttableTree, FLAG_TEMP_12
- object_event 17, EVENT_OBJ_GFX_WOMAN_2, 0, 63, 5, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 1, 4, Route121_EventScript_151B72, 0
- object_event 18, EVENT_OBJ_GFX_GENTLEMAN, 0, 55, 8, 3, MOVEMENT_TYPE_FACE_DOWN_AND_LEFT, 0, 0, 1, 3, Route121_EventScript_151B89, 0
- object_event 19, EVENT_OBJ_GFX_HEX_MANIAC, 0, 11, 10, 3, MOVEMENT_TYPE_FACE_UP_AND_LEFT, 0, 0, 1, 4, Route121_EventScript_151BC7, 0
- object_event 20, EVENT_OBJ_GFX_BEAUTY, 0, 22, 5, 3, MOVEMENT_TYPE_FACE_DOWN_AND_LEFT, 0, 0, 1, 4, Route121_EventScript_151C14, 0
- object_event 21, EVENT_OBJ_GFX_ITEM_BALL, 0, 55, 10, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route121_EventScript_1B164E, FLAG_ITEM_ROUTE121_1
- object_event 22, EVENT_OBJ_GFX_CUTTABLE_TREE, 0, 26, 12, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, S_CuttableTree, FLAG_TEMP_13
-
-Route121_MapWarps:: @ 8384714
- warp_def 37, 5, 0, 2, MAP_ROUTE121_SAFARI_ZONE_ENTRANCE
-
-Route121_MapCoordEvents:: @ 838471C
- coord_event 25, 5, 3, VAR_ROUTE121_STATE, 0, Route121_EventScript_151B25
- coord_event 25, 6, 3, VAR_ROUTE121_STATE, 0, Route121_EventScript_151B25
- coord_event 25, 7, 3, VAR_ROUTE121_STATE, 0, Route121_EventScript_151B25
- coord_event 25, 8, 3, VAR_ROUTE121_STATE, 0, Route121_EventScript_151B25
-
-Route121_MapBGEvents:: @ 838475C
- bg_event 32, 14, 0, BG_EVENT_PLAYER_FACING_ANY, Route121_EventScript_151B13
- bg_secret_base_event 40, 11, 0, SECRET_BASE_RED_CAVE2_2
- bg_secret_base_event 18, 13, 0, SECRET_BASE_RED_CAVE3_2
- bg_secret_base_event 43, 7, 0, SECRET_BASE_TREE1_2
- bg_secret_base_event 42, 7, 0, SECRET_BASE_TREE2_2
- bg_event 39, 6, 0, BG_EVENT_PLAYER_FACING_ANY, Route121_EventScript_151B1C
- bg_hidden_item_event 23, 10, 3, ITEM_HP_UP, FLAG_HIDDEN_ITEM_27
- bg_hidden_item_event 58, 3, 3, ITEM_NUGGET, FLAG_HIDDEN_ITEM_28
- bg_hidden_item_event 72, 5, 3, ITEM_FULL_HEAL, FLAG_HIDDEN_ITEM_49
-
-Route121_MapEvents:: @ 83847C8
- map_events Route121_EventObjects, Route121_MapWarps, Route121_MapCoordEvents, Route121_MapBGEvents
diff --git a/data/maps/Route121/header.inc b/data/maps/Route121/header.inc
deleted file mode 100644
index e75d8d21f..000000000
--- a/data/maps/Route121/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-Route121:: @ 8305838
- .4byte Route121_Layout
- .4byte Route121_MapEvents
- .4byte Route121_MapScripts
- .4byte Route121_MapConnections
- .2byte MUS_DOORO_X3
- .2byte 37
- .byte MAPSEC_ROUTE_121
- .byte 0
- .byte WEATHER_SUNNY
- .byte MAP_TYPE_ROUTE
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/Route121/map.json b/data/maps/Route121/map.json
new file mode 100644
index 000000000..8fb438a87
--- /dev/null
+++ b/data/maps/Route121/map.json
@@ -0,0 +1,434 @@
+{
+ "id": "MAP_ROUTE121",
+ "name": "Route121",
+ "layout": "LAYOUT_ROUTE121",
+ "music": "MUS_DOORO_X3",
+ "region_map_section": "MAPSEC_ROUTE_121",
+ "requires_flash": false,
+ "weather": "WEATHER_SUNNY",
+ "map_type": "MAP_TYPE_ROUTE",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": [
+ {
+ "direction": "down",
+ "offset": 20,
+ "map": "MAP_ROUTE122"
+ },
+ {
+ "direction": "left",
+ "offset": -80,
+ "map": "MAP_ROUTE120"
+ },
+ {
+ "direction": "right",
+ "offset": -10,
+ "map": "MAP_LILYCOVE_CITY"
+ }
+ ],
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_4",
+ "x": 29,
+ "y": 14,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route121_EventScript_151B0A",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BERRY_TREE",
+ "x": 14,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_BERRY_TREE_GROWTH",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "47",
+ "script": "S_BerryTree",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BERRY_TREE",
+ "x": 15,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_BERRY_TREE_GROWTH",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "48",
+ "script": "S_BerryTree",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BERRY_TREE",
+ "x": 16,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_BERRY_TREE_GROWTH",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "49",
+ "script": "S_BerryTree",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BERRY_TREE",
+ "x": 17,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_BERRY_TREE_GROWTH",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "50",
+ "script": "S_BerryTree",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BERRY_TREE",
+ "x": 64,
+ "y": 14,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_BERRY_TREE_GROWTH",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "51",
+ "script": "S_BerryTree",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BERRY_TREE",
+ "x": 65,
+ "y": 14,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_BERRY_TREE_GROWTH",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "52",
+ "script": "S_BerryTree",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BERRY_TREE",
+ "x": 66,
+ "y": 14,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_BERRY_TREE_GROWTH",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "53",
+ "script": "S_BerryTree",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BERRY_TREE",
+ "x": 67,
+ "y": 14,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_BERRY_TREE_GROWTH",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "54",
+ "script": "S_BerryTree",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_LASS",
+ "x": 39,
+ "y": 9,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route121_EventScript_151BDE",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_LASS",
+ "x": 40,
+ "y": 9,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route121_EventScript_151BF9",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_1",
+ "x": 30,
+ "y": 8,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_HIDE_GRUNTS_ROUTE121"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_1",
+ "x": 30,
+ "y": 7,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_HIDE_GRUNTS_ROUTE121"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_1",
+ "x": 31,
+ "y": 7,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_HIDE_GRUNTS_ROUTE121"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_CUTTABLE_TREE",
+ "x": 32,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "S_CuttableTree",
+ "flag": "FLAG_TEMP_11"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_CUTTABLE_TREE",
+ "x": 65,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "S_CuttableTree",
+ "flag": "FLAG_TEMP_12"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_2",
+ "x": 63,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "4",
+ "script": "Route121_EventScript_151B72",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_GENTLEMAN",
+ "x": 55,
+ "y": 8,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN_AND_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "3",
+ "script": "Route121_EventScript_151B89",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_HEX_MANIAC",
+ "x": 11,
+ "y": 10,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP_AND_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "4",
+ "script": "Route121_EventScript_151BC7",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BEAUTY",
+ "x": 22,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN_AND_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "4",
+ "script": "Route121_EventScript_151C14",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ITEM_BALL",
+ "x": 55,
+ "y": 10,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route121_EventScript_1B164E",
+ "flag": "FLAG_ITEM_ROUTE121_1"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_CUTTABLE_TREE",
+ "x": 26,
+ "y": 12,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "S_CuttableTree",
+ "flag": "FLAG_TEMP_13"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 37,
+ "y": 5,
+ "elevation": 0,
+ "dest_map": "MAP_ROUTE121_SAFARI_ZONE_ENTRANCE",
+ "dest_warp_id": 2
+ }
+ ],
+ "coord_events": [
+ {
+ "type": "trigger",
+ "x": 25,
+ "y": 5,
+ "elevation": 3,
+ "var": "VAR_ROUTE121_STATE",
+ "var_value": "0",
+ "script": "Route121_EventScript_151B25"
+ },
+ {
+ "type": "trigger",
+ "x": 25,
+ "y": 6,
+ "elevation": 3,
+ "var": "VAR_ROUTE121_STATE",
+ "var_value": "0",
+ "script": "Route121_EventScript_151B25"
+ },
+ {
+ "type": "trigger",
+ "x": 25,
+ "y": 7,
+ "elevation": 3,
+ "var": "VAR_ROUTE121_STATE",
+ "var_value": "0",
+ "script": "Route121_EventScript_151B25"
+ },
+ {
+ "type": "trigger",
+ "x": 25,
+ "y": 8,
+ "elevation": 3,
+ "var": "VAR_ROUTE121_STATE",
+ "var_value": "0",
+ "script": "Route121_EventScript_151B25"
+ }
+ ],
+ "bg_events": [
+ {
+ "type": "sign",
+ "x": 32,
+ "y": 14,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "Route121_EventScript_151B13"
+ },
+ {
+ "type": "secret_base",
+ "x": 40,
+ "y": 11,
+ "elevation": 0,
+ "secret_base_id": "SECRET_BASE_RED_CAVE2_2"
+ },
+ {
+ "type": "secret_base",
+ "x": 18,
+ "y": 13,
+ "elevation": 0,
+ "secret_base_id": "SECRET_BASE_RED_CAVE3_2"
+ },
+ {
+ "type": "secret_base",
+ "x": 43,
+ "y": 7,
+ "elevation": 0,
+ "secret_base_id": "SECRET_BASE_TREE1_2"
+ },
+ {
+ "type": "secret_base",
+ "x": 42,
+ "y": 7,
+ "elevation": 0,
+ "secret_base_id": "SECRET_BASE_TREE2_2"
+ },
+ {
+ "type": "sign",
+ "x": 39,
+ "y": 6,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "Route121_EventScript_151B1C"
+ },
+ {
+ "type": "hidden_item",
+ "x": 23,
+ "y": 10,
+ "elevation": 3,
+ "item": "ITEM_HP_UP",
+ "flag": "FLAG_HIDDEN_ITEM_27"
+ },
+ {
+ "type": "hidden_item",
+ "x": 58,
+ "y": 3,
+ "elevation": 3,
+ "item": "ITEM_NUGGET",
+ "flag": "FLAG_HIDDEN_ITEM_28"
+ },
+ {
+ "type": "hidden_item",
+ "x": 72,
+ "y": 5,
+ "elevation": 3,
+ "item": "ITEM_FULL_HEAL",
+ "flag": "FLAG_HIDDEN_ITEM_49"
+ }
+ ]
+} \ No newline at end of file
diff --git a/data/maps/Route121_SafariZoneEntrance/events.inc b/data/maps/Route121_SafariZoneEntrance/events.inc
deleted file mode 100644
index 8d1f350c0..000000000
--- a/data/maps/Route121_SafariZoneEntrance/events.inc
+++ /dev/null
@@ -1,19 +0,0 @@
-Route121_SafariZoneEntrance_EventObjects:: @ 838BA34
- object_event 1, EVENT_OBJ_GFX_PICNICKER, 0, 17, 9, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, Route121_SafariZoneEntrance_EventScript_15C351, 0
- object_event 2, EVENT_OBJ_GFX_CAMPER, 0, 10, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, Route121_SafariZoneEntrance_EventScript_15C35A, 0
- object_event 3, EVENT_OBJ_GFX_CAMPER, 0, 8, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 0
-
-Route121_SafariZoneEntrance_MapWarps:: @ 838BA7C
- warp_def 2, 5, 0, 0, MAP_SAFARI_ZONE_SOUTHEAST
- warp_def 3, 5, 0, 0, MAP_SAFARI_ZONE_SOUTHEAST
- warp_def 14, 13, 0, 0, MAP_ROUTE121
- warp_def 15, 13, 0, 0, MAP_ROUTE121
-
-Route121_SafariZoneEntrance_MapCoordEvents:: @ 838BA9C
- coord_event 8, 4, 3, VAR_TEMP_1, 0, Route121_SafariZoneEntrance_EventScript_15C383
-
-Route121_SafariZoneEntrance_MapBGEvents:: @ 838BAAC
- bg_event 15, 1, 0, BG_EVENT_PLAYER_FACING_ANY, Route121_SafariZoneEntrance_EventScript_15C487
-
-Route121_SafariZoneEntrance_MapEvents:: @ 838BAB8
- map_events Route121_SafariZoneEntrance_EventObjects, Route121_SafariZoneEntrance_MapWarps, Route121_SafariZoneEntrance_MapCoordEvents, Route121_SafariZoneEntrance_MapBGEvents
diff --git a/data/maps/Route121_SafariZoneEntrance/header.inc b/data/maps/Route121_SafariZoneEntrance/header.inc
deleted file mode 100644
index 5dc27e7fe..000000000
--- a/data/maps/Route121_SafariZoneEntrance/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-Route121_SafariZoneEntrance:: @ 8306D54
- .4byte Route121_SafariZoneEntrance_Layout
- .4byte Route121_SafariZoneEntrance_MapEvents
- .4byte Route121_SafariZoneEntrance_MapScripts
- .4byte 0x0
- .2byte MUS_MACHI_S3
- .2byte 125
- .byte MAPSEC_ROUTE_121
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/Route121_SafariZoneEntrance/map.json b/data/maps/Route121_SafariZoneEntrance/map.json
new file mode 100644
index 000000000..9664da26a
--- /dev/null
+++ b/data/maps/Route121_SafariZoneEntrance/map.json
@@ -0,0 +1,105 @@
+{
+ "id": "MAP_ROUTE121_SAFARI_ZONE_ENTRANCE",
+ "name": "Route121_SafariZoneEntrance",
+ "layout": "LAYOUT_ROUTE121_SAFARI_ZONE_ENTRANCE",
+ "music": "MUS_MACHI_S3",
+ "region_map_section": "MAPSEC_ROUTE_121",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_PICNICKER",
+ "x": 17,
+ "y": 9,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route121_SafariZoneEntrance_EventScript_15C351",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_CAMPER",
+ "x": 10,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route121_SafariZoneEntrance_EventScript_15C35A",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_CAMPER",
+ "x": 8,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 2,
+ "y": 5,
+ "elevation": 0,
+ "dest_map": "MAP_SAFARI_ZONE_SOUTHEAST",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 3,
+ "y": 5,
+ "elevation": 0,
+ "dest_map": "MAP_SAFARI_ZONE_SOUTHEAST",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 14,
+ "y": 13,
+ "elevation": 0,
+ "dest_map": "MAP_ROUTE121",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 15,
+ "y": 13,
+ "elevation": 0,
+ "dest_map": "MAP_ROUTE121",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [
+ {
+ "type": "trigger",
+ "x": 8,
+ "y": 4,
+ "elevation": 3,
+ "var": "VAR_TEMP_1",
+ "var_value": "0",
+ "script": "Route121_SafariZoneEntrance_EventScript_15C383"
+ }
+ ],
+ "bg_events": [
+ {
+ "type": "sign",
+ "x": 15,
+ "y": 1,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "Route121_SafariZoneEntrance_EventScript_15C487"
+ }
+ ]
+} \ No newline at end of file
diff --git a/data/maps/Route122/connections.inc b/data/maps/Route122/connections.inc
deleted file mode 100644
index 9e70cc5c0..000000000
--- a/data/maps/Route122/connections.inc
+++ /dev/null
@@ -1,7 +0,0 @@
-Route122_MapConnectionsList:: @ 8308B10
- connection up, -20, MAP_ROUTE121
- connection down, -100, MAP_ROUTE123
-
-Route122_MapConnections:: @ 8308B28
- .4byte 0x2
- .4byte Route122_MapConnectionsList
diff --git a/data/maps/Route122/events.inc b/data/maps/Route122/events.inc
deleted file mode 100644
index 3bad2b895..000000000
--- a/data/maps/Route122/events.inc
+++ /dev/null
@@ -1,5 +0,0 @@
-Route122_MapWarps:: @ 83847DC
- warp_def 22, 29, 0, 0, MAP_MT_PYRE_1F
-
-Route122_MapEvents:: @ 83847E4
- map_events 0x0, Route122_MapWarps, 0x0, 0x0
diff --git a/data/maps/Route122/header.inc b/data/maps/Route122/header.inc
deleted file mode 100644
index 44cc87aa9..000000000
--- a/data/maps/Route122/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-Route122:: @ 8305854
- .4byte Route122_Layout
- .4byte Route122_MapEvents
- .4byte Route122_MapScripts
- .4byte Route122_MapConnections
- .2byte MUS_DOORO_X4
- .2byte 38
- .byte MAPSEC_ROUTE_122
- .byte 0
- .byte WEATHER_SUNNY
- .byte MAP_TYPE_ROUTE
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/Route122/map.json b/data/maps/Route122/map.json
new file mode 100644
index 000000000..5f98fcab7
--- /dev/null
+++ b/data/maps/Route122/map.json
@@ -0,0 +1,36 @@
+{
+ "id": "MAP_ROUTE122",
+ "name": "Route122",
+ "layout": "LAYOUT_ROUTE122",
+ "music": "MUS_DOORO_X4",
+ "region_map_section": "MAPSEC_ROUTE_122",
+ "requires_flash": false,
+ "weather": "WEATHER_SUNNY",
+ "map_type": "MAP_TYPE_ROUTE",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": [
+ {
+ "direction": "up",
+ "offset": -20,
+ "map": "MAP_ROUTE121"
+ },
+ {
+ "direction": "down",
+ "offset": -100,
+ "map": "MAP_ROUTE123"
+ }
+ ],
+ "object_events": [],
+ "warp_events": [
+ {
+ "x": 22,
+ "y": 29,
+ "elevation": 0,
+ "dest_map": "MAP_MT_PYRE_1F",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/Route123/connections.inc b/data/maps/Route123/connections.inc
deleted file mode 100644
index b57ce9d3b..000000000
--- a/data/maps/Route123/connections.inc
+++ /dev/null
@@ -1,7 +0,0 @@
-Route123_MapConnectionsList:: @ 8308B30
- connection up, 100, MAP_ROUTE122
- connection left, 0, MAP_ROUTE118
-
-Route123_MapConnections:: @ 8308B48
- .4byte 0x2
- .4byte Route123_MapConnectionsList
diff --git a/data/maps/Route123/events.inc b/data/maps/Route123/events.inc
deleted file mode 100644
index 8485020e3..000000000
--- a/data/maps/Route123/events.inc
+++ /dev/null
@@ -1,76 +0,0 @@
-Route123_EventObjects:: @ 83847F8
- object_event 1, EVENT_OBJ_GFX_BERRY_TREE, 0, 11, 3, 3, MOVEMENT_TYPE_BERRY_TREE_GROWTH, 0, 0, 0, 58, S_BerryTree, 0
- object_event 2, EVENT_OBJ_GFX_BERRY_TREE, 0, 12, 3, 3, MOVEMENT_TYPE_BERRY_TREE_GROWTH, 0, 0, 0, 59, S_BerryTree, 0
- object_event 3, EVENT_OBJ_GFX_BERRY_TREE, 0, 14, 3, 3, MOVEMENT_TYPE_BERRY_TREE_GROWTH, 0, 0, 0, 60, S_BerryTree, 0
- object_event 4, EVENT_OBJ_GFX_BERRY_TREE, 0, 15, 3, 3, MOVEMENT_TYPE_BERRY_TREE_GROWTH, 0, 0, 0, 61, S_BerryTree, 0
- object_event 5, EVENT_OBJ_GFX_BERRY_TREE, 0, 81, 1, 3, MOVEMENT_TYPE_BERRY_TREE_GROWTH, 0, 0, 0, 62, S_BerryTree, 0
- object_event 6, EVENT_OBJ_GFX_BERRY_TREE, 0, 82, 1, 3, MOVEMENT_TYPE_BERRY_TREE_GROWTH, 0, 0, 0, 63, S_BerryTree, 0
- object_event 7, EVENT_OBJ_GFX_BERRY_TREE, 0, 83, 1, 3, MOVEMENT_TYPE_BERRY_TREE_GROWTH, 0, 0, 0, 64, S_BerryTree, 0
- object_event 8, EVENT_OBJ_GFX_WOMAN_7, 0, 70, 12, 3, MOVEMENT_TYPE_ROTATE_CLOCKWISE, 0, 0, 1, 1, Route123_EventScript_151CD1, 0
- object_event 9, EVENT_OBJ_GFX_MAN_4, 0, 58, 7, 3, MOVEMENT_TYPE_FACE_DOWN_AND_LEFT, 0, 0, 1, 2, Route123_EventScript_151CE8, 0
- object_event 10, EVENT_OBJ_GFX_BERRY_TREE, 0, 14, 5, 3, MOVEMENT_TYPE_BERRY_TREE_GROWTH, 0, 0, 0, 65, S_BerryTree, 0
- object_event 11, EVENT_OBJ_GFX_BERRY_TREE, 0, 15, 5, 3, MOVEMENT_TYPE_BERRY_TREE_GROWTH, 0, 0, 0, 72, S_BerryTree, 0
- object_event 12, EVENT_OBJ_GFX_BERRY_TREE, 0, 17, 5, 3, MOVEMENT_TYPE_BERRY_TREE_GROWTH, 0, 0, 0, 73, S_BerryTree, 0
- object_event 13, EVENT_OBJ_GFX_BERRY_TREE, 0, 18, 5, 3, MOVEMENT_TYPE_BERRY_TREE_GROWTH, 0, 0, 0, 74, S_BerryTree, 0
- object_event 14, EVENT_OBJ_GFX_BERRY_TREE, 0, 17, 3, 3, MOVEMENT_TYPE_BERRY_TREE_GROWTH, 0, 0, 0, 79, S_BerryTree, 0
- object_event 15, EVENT_OBJ_GFX_BERRY_TREE, 0, 18, 3, 3, MOVEMENT_TYPE_BERRY_TREE_GROWTH, 0, 0, 0, 14, S_BerryTree, 0
- object_event 16, EVENT_OBJ_GFX_BERRY_TREE, 0, 11, 5, 3, MOVEMENT_TYPE_BERRY_TREE_GROWTH, 0, 0, 0, 15, S_BerryTree, 0
- object_event 17, EVENT_OBJ_GFX_BERRY_TREE, 0, 12, 5, 3, MOVEMENT_TYPE_BERRY_TREE_GROWTH, 0, 0, 0, 30, S_BerryTree, 0
- object_event 18, EVENT_OBJ_GFX_CUTTABLE_TREE, 0, 101, 13, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, S_CuttableTree, FLAG_TEMP_11
- object_event 19, EVENT_OBJ_GFX_CUTTABLE_TREE, 0, 129, 14, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, S_CuttableTree, FLAG_TEMP_12
- object_event 20, EVENT_OBJ_GFX_CUTTABLE_TREE, 0, 92, 9, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, S_CuttableTree, FLAG_TEMP_13
- object_event 21, EVENT_OBJ_GFX_ITEM_BALL, 0, 31, 8, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route123_EventScript_1B165B, FLAG_ITEM_ROUTE123_1
- object_event 22, EVENT_OBJ_GFX_ITEM_BALL, 0, 139, 18, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route123_EventScript_1B1668, FLAG_ITEM_ROUTE123_2
- object_event 23, EVENT_OBJ_GFX_GIRL_3, 0, 108, 13, 3, MOVEMENT_TYPE_FACE_UP_AND_LEFT, 0, 0, 0, 0, Route123_EventScript_151C5D, 0
- object_event 24, EVENT_OBJ_GFX_BERRY_TREE, 0, 109, 13, 3, MOVEMENT_TYPE_BERRY_TREE_GROWTH, 0, 0, 0, 87, S_BerryTree, 0
- object_event 25, EVENT_OBJ_GFX_BERRY_TREE, 0, 110, 13, 3, MOVEMENT_TYPE_BERRY_TREE_GROWTH, 0, 0, 0, 88, S_BerryTree, 0
- object_event 26, EVENT_OBJ_GFX_BERRY_TREE, 0, 111, 13, 3, MOVEMENT_TYPE_BERRY_TREE_GROWTH, 0, 0, 0, 89, S_BerryTree, 0
- object_event 27, EVENT_OBJ_GFX_WOMAN_3, 0, 16, 9, 3, MOVEMENT_TYPE_ROTATE_COUNTERCLOCKWISE, 0, 0, 1, 2, Route123_EventScript_151CFF, 0
- object_event 28, EVENT_OBJ_GFX_LITTLE_GIRL_1, 0, 38, 13, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 1, 0, Route123_EventScript_151DAD, 0
- object_event 29, EVENT_OBJ_GFX_LITTLE_GIRL_1, 0, 37, 13, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 1, 0, Route123_EventScript_151D92, 0
- object_event 30, EVENT_OBJ_GFX_PSYCHIC_M, 0, 138, 12, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 1, 6, Route123_EventScript_151D16, 0
- object_event 31, EVENT_OBJ_GFX_LASS, 0, 50, 16, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 1, 1, Route123_EventScript_151D54, 0
- object_event 32, EVENT_OBJ_GFX_HEX_MANIAC, 0, 87, 14, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 1, 3, Route123_EventScript_151DC8, 0
- object_event 33, EVENT_OBJ_GFX_ITEM_BALL, 0, 27, 18, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route123_EventScript_1B1675, FLAG_ITEM_ROUTE123_3
- object_event 34, EVENT_OBJ_GFX_ITEM_BALL, 0, 75, 9, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route123_EventScript_1B1682, FLAG_ITEM_ROUTE123_4
-
-Route123_MapWarps:: @ 8384B28
- warp_def 22, 6, 0, 0, MAP_ROUTE123_BERRY_MASTERS_HOUSE
-
-Route123_MapCoordEvents:: @ 8384B30
- coord_weather_event 90, 16, 3, COORD_EVENT_WEATHER_ROUTE123_CYCLE
- coord_weather_event 92, 9, 3, COORD_EVENT_WEATHER_ROUTE123_CYCLE
- coord_weather_event 93, 12, 3, COORD_EVENT_WEATHER_ROUTE123_CYCLE
- coord_weather_event 92, 13, 3, COORD_EVENT_WEATHER_ROUTE123_CYCLE
- coord_weather_event 91, 14, 3, COORD_EVENT_WEATHER_ROUTE123_CYCLE
- coord_weather_event 19, 13, 3, COORD_EVENT_WEATHER_ROUTE123_CYCLE
- coord_weather_event 19, 12, 3, COORD_EVENT_WEATHER_ROUTE123_CYCLE
- coord_weather_event 34, 13, 3, COORD_EVENT_WEATHER_ROUTE123_CYCLE
- coord_weather_event 19, 14, 3, COORD_EVENT_WEATHER_ROUTE123_CYCLE
- coord_weather_event 19, 15, 3, COORD_EVENT_WEATHER_ROUTE123_CYCLE
- coord_weather_event 19, 16, 3, COORD_EVENT_WEATHER_ROUTE123_CYCLE
- coord_weather_event 108, 14, 3, COORD_EVENT_WEATHER_SUNNY
- coord_weather_event 109, 15, 3, COORD_EVENT_WEATHER_SUNNY
- coord_weather_event 110, 16, 3, COORD_EVENT_WEATHER_SUNNY
- coord_weather_event 111, 17, 3, COORD_EVENT_WEATHER_SUNNY
- coord_weather_event 112, 18, 3, COORD_EVENT_WEATHER_SUNNY
- coord_weather_event 9, 12, 3, COORD_EVENT_WEATHER_SUNNY
- coord_weather_event 9, 13, 3, COORD_EVENT_WEATHER_SUNNY
- coord_weather_event 9, 14, 3, COORD_EVENT_WEATHER_SUNNY
- coord_weather_event 9, 15, 3, COORD_EVENT_WEATHER_SUNNY
- coord_weather_event 9, 16, 3, COORD_EVENT_WEATHER_SUNNY
- coord_weather_event 94, 10, 3, COORD_EVENT_WEATHER_ROUTE123_CYCLE
-
-Route123_MapBGEvents:: @ 8384C90
- bg_event 117, 10, 0, BG_EVENT_PLAYER_FACING_ANY, Route123_EventScript_151CBF
- bg_secret_base_event 47, 3, 0, SECRET_BASE_BLUE_CAVE1_2
- bg_secret_base_event 49, 3, 0, SECRET_BASE_BLUE_CAVE2_2
- bg_event 10, 12, 3, BG_EVENT_PLAYER_FACING_ANY, Route123_EventScript_151CB6
- bg_hidden_item_event 75, 1, 3, ITEM_SUPER_REPEL, FLAG_HIDDEN_ITEM_7
- bg_event 20, 7, 3, BG_EVENT_PLAYER_FACING_ANY, Route123_EventScript_151CC8
- bg_secret_base_event 57, 5, 0, SECRET_BASE_BLUE_CAVE1_3
- bg_hidden_item_event 12, 1, 3, ITEM_REVIVE, FLAG_HIDDEN_ITEM_29
- bg_hidden_item_event 91, 15, 3, ITEM_HYPER_POTION, FLAG_HIDDEN_ITEM_4A
-
-Route123_MapEvents:: @ 8384CFC
- map_events Route123_EventObjects, Route123_MapWarps, Route123_MapCoordEvents, Route123_MapBGEvents
diff --git a/data/maps/Route123/header.inc b/data/maps/Route123/header.inc
deleted file mode 100644
index 49e6631a9..000000000
--- a/data/maps/Route123/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-Route123:: @ 8305870
- .4byte Route123_Layout
- .4byte Route123_MapEvents
- .4byte Route123_MapScripts
- .4byte Route123_MapConnections
- .2byte MUS_DOORO_X4
- .2byte 39
- .byte MAPSEC_ROUTE_123
- .byte 0
- .byte WEATHER_SUNNY
- .byte MAP_TYPE_ROUTE
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/Route123/map.json b/data/maps/Route123/map.json
new file mode 100644
index 000000000..bfbb21685
--- /dev/null
+++ b/data/maps/Route123/map.json
@@ -0,0 +1,704 @@
+{
+ "id": "MAP_ROUTE123",
+ "name": "Route123",
+ "layout": "LAYOUT_ROUTE123",
+ "music": "MUS_DOORO_X4",
+ "region_map_section": "MAPSEC_ROUTE_123",
+ "requires_flash": false,
+ "weather": "WEATHER_SUNNY",
+ "map_type": "MAP_TYPE_ROUTE",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": [
+ {
+ "direction": "up",
+ "offset": 100,
+ "map": "MAP_ROUTE122"
+ },
+ {
+ "direction": "left",
+ "offset": 0,
+ "map": "MAP_ROUTE118"
+ }
+ ],
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BERRY_TREE",
+ "x": 11,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_BERRY_TREE_GROWTH",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "58",
+ "script": "S_BerryTree",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BERRY_TREE",
+ "x": 12,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_BERRY_TREE_GROWTH",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "59",
+ "script": "S_BerryTree",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BERRY_TREE",
+ "x": 14,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_BERRY_TREE_GROWTH",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "60",
+ "script": "S_BerryTree",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BERRY_TREE",
+ "x": 15,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_BERRY_TREE_GROWTH",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "61",
+ "script": "S_BerryTree",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BERRY_TREE",
+ "x": 81,
+ "y": 1,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_BERRY_TREE_GROWTH",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "62",
+ "script": "S_BerryTree",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BERRY_TREE",
+ "x": 82,
+ "y": 1,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_BERRY_TREE_GROWTH",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "63",
+ "script": "S_BerryTree",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BERRY_TREE",
+ "x": 83,
+ "y": 1,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_BERRY_TREE_GROWTH",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "64",
+ "script": "S_BerryTree",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_7",
+ "x": 70,
+ "y": 12,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_ROTATE_CLOCKWISE",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "1",
+ "script": "Route123_EventScript_151CD1",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_4",
+ "x": 58,
+ "y": 7,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN_AND_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "2",
+ "script": "Route123_EventScript_151CE8",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BERRY_TREE",
+ "x": 14,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_BERRY_TREE_GROWTH",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "65",
+ "script": "S_BerryTree",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BERRY_TREE",
+ "x": 15,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_BERRY_TREE_GROWTH",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "72",
+ "script": "S_BerryTree",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BERRY_TREE",
+ "x": 17,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_BERRY_TREE_GROWTH",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "73",
+ "script": "S_BerryTree",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BERRY_TREE",
+ "x": 18,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_BERRY_TREE_GROWTH",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "74",
+ "script": "S_BerryTree",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BERRY_TREE",
+ "x": 17,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_BERRY_TREE_GROWTH",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "79",
+ "script": "S_BerryTree",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BERRY_TREE",
+ "x": 18,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_BERRY_TREE_GROWTH",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "14",
+ "script": "S_BerryTree",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BERRY_TREE",
+ "x": 11,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_BERRY_TREE_GROWTH",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "15",
+ "script": "S_BerryTree",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BERRY_TREE",
+ "x": 12,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_BERRY_TREE_GROWTH",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "30",
+ "script": "S_BerryTree",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_CUTTABLE_TREE",
+ "x": 101,
+ "y": 13,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "S_CuttableTree",
+ "flag": "FLAG_TEMP_11"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_CUTTABLE_TREE",
+ "x": 129,
+ "y": 14,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "S_CuttableTree",
+ "flag": "FLAG_TEMP_12"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_CUTTABLE_TREE",
+ "x": 92,
+ "y": 9,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "S_CuttableTree",
+ "flag": "FLAG_TEMP_13"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ITEM_BALL",
+ "x": 31,
+ "y": 8,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route123_EventScript_1B165B",
+ "flag": "FLAG_ITEM_ROUTE123_1"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ITEM_BALL",
+ "x": 139,
+ "y": 18,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route123_EventScript_1B1668",
+ "flag": "FLAG_ITEM_ROUTE123_2"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_GIRL_3",
+ "x": 108,
+ "y": 13,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP_AND_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route123_EventScript_151C5D",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BERRY_TREE",
+ "x": 109,
+ "y": 13,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_BERRY_TREE_GROWTH",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "87",
+ "script": "S_BerryTree",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BERRY_TREE",
+ "x": 110,
+ "y": 13,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_BERRY_TREE_GROWTH",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "88",
+ "script": "S_BerryTree",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BERRY_TREE",
+ "x": 111,
+ "y": 13,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_BERRY_TREE_GROWTH",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "89",
+ "script": "S_BerryTree",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_3",
+ "x": 16,
+ "y": 9,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_ROTATE_COUNTERCLOCKWISE",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "2",
+ "script": "Route123_EventScript_151CFF",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_LITTLE_GIRL_1",
+ "x": 38,
+ "y": 13,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route123_EventScript_151DAD",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_LITTLE_GIRL_1",
+ "x": 37,
+ "y": 13,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route123_EventScript_151D92",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_PSYCHIC_M",
+ "x": 138,
+ "y": 12,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "6",
+ "script": "Route123_EventScript_151D16",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_LASS",
+ "x": 50,
+ "y": 16,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "1",
+ "script": "Route123_EventScript_151D54",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_HEX_MANIAC",
+ "x": 87,
+ "y": 14,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "3",
+ "script": "Route123_EventScript_151DC8",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ITEM_BALL",
+ "x": 27,
+ "y": 18,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route123_EventScript_1B1675",
+ "flag": "FLAG_ITEM_ROUTE123_3"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ITEM_BALL",
+ "x": 75,
+ "y": 9,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route123_EventScript_1B1682",
+ "flag": "FLAG_ITEM_ROUTE123_4"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 22,
+ "y": 6,
+ "elevation": 0,
+ "dest_map": "MAP_ROUTE123_BERRY_MASTERS_HOUSE",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [
+ {
+ "type": "weather",
+ "x": 90,
+ "y": 16,
+ "elevation": 3,
+ "weather": "COORD_EVENT_WEATHER_ROUTE123_CYCLE"
+ },
+ {
+ "type": "weather",
+ "x": 92,
+ "y": 9,
+ "elevation": 3,
+ "weather": "COORD_EVENT_WEATHER_ROUTE123_CYCLE"
+ },
+ {
+ "type": "weather",
+ "x": 93,
+ "y": 12,
+ "elevation": 3,
+ "weather": "COORD_EVENT_WEATHER_ROUTE123_CYCLE"
+ },
+ {
+ "type": "weather",
+ "x": 92,
+ "y": 13,
+ "elevation": 3,
+ "weather": "COORD_EVENT_WEATHER_ROUTE123_CYCLE"
+ },
+ {
+ "type": "weather",
+ "x": 91,
+ "y": 14,
+ "elevation": 3,
+ "weather": "COORD_EVENT_WEATHER_ROUTE123_CYCLE"
+ },
+ {
+ "type": "weather",
+ "x": 19,
+ "y": 13,
+ "elevation": 3,
+ "weather": "COORD_EVENT_WEATHER_ROUTE123_CYCLE"
+ },
+ {
+ "type": "weather",
+ "x": 19,
+ "y": 12,
+ "elevation": 3,
+ "weather": "COORD_EVENT_WEATHER_ROUTE123_CYCLE"
+ },
+ {
+ "type": "weather",
+ "x": 34,
+ "y": 13,
+ "elevation": 3,
+ "weather": "COORD_EVENT_WEATHER_ROUTE123_CYCLE"
+ },
+ {
+ "type": "weather",
+ "x": 19,
+ "y": 14,
+ "elevation": 3,
+ "weather": "COORD_EVENT_WEATHER_ROUTE123_CYCLE"
+ },
+ {
+ "type": "weather",
+ "x": 19,
+ "y": 15,
+ "elevation": 3,
+ "weather": "COORD_EVENT_WEATHER_ROUTE123_CYCLE"
+ },
+ {
+ "type": "weather",
+ "x": 19,
+ "y": 16,
+ "elevation": 3,
+ "weather": "COORD_EVENT_WEATHER_ROUTE123_CYCLE"
+ },
+ {
+ "type": "weather",
+ "x": 108,
+ "y": 14,
+ "elevation": 3,
+ "weather": "COORD_EVENT_WEATHER_SUNNY"
+ },
+ {
+ "type": "weather",
+ "x": 109,
+ "y": 15,
+ "elevation": 3,
+ "weather": "COORD_EVENT_WEATHER_SUNNY"
+ },
+ {
+ "type": "weather",
+ "x": 110,
+ "y": 16,
+ "elevation": 3,
+ "weather": "COORD_EVENT_WEATHER_SUNNY"
+ },
+ {
+ "type": "weather",
+ "x": 111,
+ "y": 17,
+ "elevation": 3,
+ "weather": "COORD_EVENT_WEATHER_SUNNY"
+ },
+ {
+ "type": "weather",
+ "x": 112,
+ "y": 18,
+ "elevation": 3,
+ "weather": "COORD_EVENT_WEATHER_SUNNY"
+ },
+ {
+ "type": "weather",
+ "x": 9,
+ "y": 12,
+ "elevation": 3,
+ "weather": "COORD_EVENT_WEATHER_SUNNY"
+ },
+ {
+ "type": "weather",
+ "x": 9,
+ "y": 13,
+ "elevation": 3,
+ "weather": "COORD_EVENT_WEATHER_SUNNY"
+ },
+ {
+ "type": "weather",
+ "x": 9,
+ "y": 14,
+ "elevation": 3,
+ "weather": "COORD_EVENT_WEATHER_SUNNY"
+ },
+ {
+ "type": "weather",
+ "x": 9,
+ "y": 15,
+ "elevation": 3,
+ "weather": "COORD_EVENT_WEATHER_SUNNY"
+ },
+ {
+ "type": "weather",
+ "x": 9,
+ "y": 16,
+ "elevation": 3,
+ "weather": "COORD_EVENT_WEATHER_SUNNY"
+ },
+ {
+ "type": "weather",
+ "x": 94,
+ "y": 10,
+ "elevation": 3,
+ "weather": "COORD_EVENT_WEATHER_ROUTE123_CYCLE"
+ }
+ ],
+ "bg_events": [
+ {
+ "type": "sign",
+ "x": 117,
+ "y": 10,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "Route123_EventScript_151CBF"
+ },
+ {
+ "type": "secret_base",
+ "x": 47,
+ "y": 3,
+ "elevation": 0,
+ "secret_base_id": "SECRET_BASE_BLUE_CAVE1_2"
+ },
+ {
+ "type": "secret_base",
+ "x": 49,
+ "y": 3,
+ "elevation": 0,
+ "secret_base_id": "SECRET_BASE_BLUE_CAVE2_2"
+ },
+ {
+ "type": "sign",
+ "x": 10,
+ "y": 12,
+ "elevation": 3,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "Route123_EventScript_151CB6"
+ },
+ {
+ "type": "hidden_item",
+ "x": 75,
+ "y": 1,
+ "elevation": 3,
+ "item": "ITEM_SUPER_REPEL",
+ "flag": "FLAG_HIDDEN_ITEM_7"
+ },
+ {
+ "type": "sign",
+ "x": 20,
+ "y": 7,
+ "elevation": 3,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "Route123_EventScript_151CC8"
+ },
+ {
+ "type": "secret_base",
+ "x": 57,
+ "y": 5,
+ "elevation": 0,
+ "secret_base_id": "SECRET_BASE_BLUE_CAVE1_3"
+ },
+ {
+ "type": "hidden_item",
+ "x": 12,
+ "y": 1,
+ "elevation": 3,
+ "item": "ITEM_REVIVE",
+ "flag": "FLAG_HIDDEN_ITEM_29"
+ },
+ {
+ "type": "hidden_item",
+ "x": 91,
+ "y": 15,
+ "elevation": 3,
+ "item": "ITEM_HYPER_POTION",
+ "flag": "FLAG_HIDDEN_ITEM_4A"
+ }
+ ]
+} \ No newline at end of file
diff --git a/data/maps/Route123_BerryMastersHouse/events.inc b/data/maps/Route123_BerryMastersHouse/events.inc
deleted file mode 100644
index 75a0dcb3b..000000000
--- a/data/maps/Route123_BerryMastersHouse/events.inc
+++ /dev/null
@@ -1,10 +0,0 @@
-Route123_BerryMastersHouse_EventObjects:: @ 8392D6C
- object_event 1, EVENT_OBJ_GFX_OLD_MAN_1, 0, 4, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, Route123_BerryMastersHouse_EventScript_1639E9, 0
- object_event 2, EVENT_OBJ_GFX_OLD_WOMAN_2, 0, 7, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, Route123_BerryMastersHouse_EventScript_163A64, 0
-
-Route123_BerryMastersHouse_MapWarps:: @ 8392D9C
- warp_def 3, 7, 0, 0, MAP_ROUTE123
- warp_def 4, 7, 0, 0, MAP_ROUTE123
-
-Route123_BerryMastersHouse_MapEvents:: @ 8392DAC
- map_events Route123_BerryMastersHouse_EventObjects, Route123_BerryMastersHouse_MapWarps, 0x0, 0x0
diff --git a/data/maps/Route123_BerryMastersHouse/header.inc b/data/maps/Route123_BerryMastersHouse/header.inc
deleted file mode 100644
index ec4a4aab1..000000000
--- a/data/maps/Route123_BerryMastersHouse/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-Route123_BerryMastersHouse:: @ 8307ED4
- .4byte House2_Layout
- .4byte Route123_BerryMastersHouse_MapEvents
- .4byte Route123_BerryMastersHouse_MapScripts
- .4byte 0x0
- .2byte MUS_GOTOWN
- .2byte 60
- .byte MAPSEC_ROUTE_123
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/Route123_BerryMastersHouse/map.json b/data/maps/Route123_BerryMastersHouse/map.json
new file mode 100644
index 000000000..60abf6aec
--- /dev/null
+++ b/data/maps/Route123_BerryMastersHouse/map.json
@@ -0,0 +1,59 @@
+{
+ "id": "MAP_ROUTE123_BERRY_MASTERS_HOUSE",
+ "name": "Route123_BerryMastersHouse",
+ "layout": "LAYOUT_HOUSE2",
+ "music": "MUS_GOTOWN",
+ "region_map_section": "MAPSEC_ROUTE_123",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_OLD_MAN_1",
+ "x": 4,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route123_BerryMastersHouse_EventScript_1639E9",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_OLD_WOMAN_2",
+ "x": 7,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route123_BerryMastersHouse_EventScript_163A64",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 3,
+ "y": 7,
+ "elevation": 0,
+ "dest_map": "MAP_ROUTE123",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 4,
+ "y": 7,
+ "elevation": 0,
+ "dest_map": "MAP_ROUTE123",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/Route124/connections.inc b/data/maps/Route124/connections.inc
deleted file mode 100644
index e8ed0c8df..000000000
--- a/data/maps/Route124/connections.inc
+++ /dev/null
@@ -1,10 +0,0 @@
-Route124_MapConnectionsList:: @ 8308B50
- connection down, 0, MAP_ROUTE126
- connection left, 10, MAP_LILYCOVE_CITY
- connection right, 0, MAP_ROUTE125
- connection right, 40, MAP_MOSSDEEP_CITY
- connection dive, 0, MAP_UNDERWATER1
-
-Route124_MapConnections:: @ 8308B8C
- .4byte 0x5
- .4byte Route124_MapConnectionsList
diff --git a/data/maps/Route124/events.inc b/data/maps/Route124/events.inc
deleted file mode 100644
index 4106bf390..000000000
--- a/data/maps/Route124/events.inc
+++ /dev/null
@@ -1,20 +0,0 @@
-Route124_EventObjects:: @ 8384D10
- object_event 1, EVENT_OBJ_GFX_SWIMMER_M, 0, 58, 59, 1, MOVEMENT_TYPE_LOOK_AROUND, 5, 0, 1, 3, Route124_EventScript_151DF8, 0
- object_event 2, EVENT_OBJ_GFX_SWIMMER_M, 0, 33, 25, 1, MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_DOWN_LEFT_UP, 5, 3, 1, 3, Route124_EventScript_151E0F, 0
- object_event 3, EVENT_OBJ_GFX_SWIMMER_F, 0, 14, 27, 1, MOVEMENT_TYPE_ROTATE_CLOCKWISE, 0, 0, 1, 3, Route124_EventScript_151E26, 0
- object_event 4, EVENT_OBJ_GFX_SWIMMER_F, 0, 49, 45, 1, MOVEMENT_TYPE_ROTATE_CLOCKWISE, 6, 8, 1, 3, Route124_EventScript_151E64, 0
- object_event 5, EVENT_OBJ_GFX_SWIMMER_M, 0, 60, 74, 1, MOVEMENT_TYPE_WALK_RIGHT_AND_LEFT, 7, 0, 1, 2, Route124_EventScript_151E7B, 0
- object_event 6, EVENT_OBJ_GFX_ITEM_BALL, 0, 28, 12, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route124_EventScript_1B168F, FLAG_ITEM_ROUTE124_2
- object_event 7, EVENT_OBJ_GFX_ITEM_BALL, 0, 31, 53, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route124_EventScript_1B169C, FLAG_ITEM_ROUTE124_3
- object_event 8, EVENT_OBJ_GFX_ITEM_BALL, 0, 58, 11, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route124_EventScript_1B16A9, FLAG_ITEM_ROUTE124_1
- object_event 9, EVENT_OBJ_GFX_SWIMMER_F, 0, 18, 44, 1, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 1, 0, Route124_EventScript_151E92, 0
- object_event 10, EVENT_OBJ_GFX_TUBER_M_SWIMMING, 0, 17, 44, 1, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 1, 0, Route124_EventScript_151ED8, 0
-
-Route124_MapWarps:: @ 8384E00
- warp_def 70, 48, 3, 0, MAP_ROUTE124_DIVING_TREASURE_HUNTERS_HOUSE
-
-Route124_MapBGEvents:: @ 8384E08
- bg_event 73, 48, 3, BG_EVENT_PLAYER_FACING_ANY, Route124_EventScript_151DEF
-
-Route124_MapEvents:: @ 8384E14
- map_events Route124_EventObjects, Route124_MapWarps, 0x0, Route124_MapBGEvents
diff --git a/data/maps/Route124/header.inc b/data/maps/Route124/header.inc
deleted file mode 100644
index fccd2efee..000000000
--- a/data/maps/Route124/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-Route124:: @ 830588C
- .4byte Route124_Layout
- .4byte Route124_MapEvents
- .4byte Route124_MapScripts
- .4byte Route124_MapConnections
- .2byte MUS_DOORO_X3
- .2byte 40
- .byte MAPSEC_ROUTE_124
- .byte 0
- .byte WEATHER_SUNNY
- .byte MAP_TYPE_6
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/Route124/map.json b/data/maps/Route124/map.json
new file mode 100644
index 000000000..0c2746806
--- /dev/null
+++ b/data/maps/Route124/map.json
@@ -0,0 +1,191 @@
+{
+ "id": "MAP_ROUTE124",
+ "name": "Route124",
+ "layout": "LAYOUT_ROUTE124",
+ "music": "MUS_DOORO_X3",
+ "region_map_section": "MAPSEC_ROUTE_124",
+ "requires_flash": false,
+ "weather": "WEATHER_SUNNY",
+ "map_type": "MAP_TYPE_6",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": [
+ {
+ "direction": "down",
+ "offset": 0,
+ "map": "MAP_ROUTE126"
+ },
+ {
+ "direction": "left",
+ "offset": 10,
+ "map": "MAP_LILYCOVE_CITY"
+ },
+ {
+ "direction": "right",
+ "offset": 0,
+ "map": "MAP_ROUTE125"
+ },
+ {
+ "direction": "right",
+ "offset": 40,
+ "map": "MAP_MOSSDEEP_CITY"
+ },
+ {
+ "direction": "dive",
+ "offset": 0,
+ "map": "MAP_UNDERWATER1"
+ }
+ ],
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_SWIMMER_M",
+ "x": 58,
+ "y": 59,
+ "elevation": 1,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 5,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "3",
+ "script": "Route124_EventScript_151DF8",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_SWIMMER_M",
+ "x": 33,
+ "y": 25,
+ "elevation": 1,
+ "movement_type": "MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_DOWN_LEFT_UP",
+ "movement_range_x": 5,
+ "movement_range_y": 3,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "3",
+ "script": "Route124_EventScript_151E0F",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_SWIMMER_F",
+ "x": 14,
+ "y": 27,
+ "elevation": 1,
+ "movement_type": "MOVEMENT_TYPE_ROTATE_CLOCKWISE",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "3",
+ "script": "Route124_EventScript_151E26",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_SWIMMER_F",
+ "x": 49,
+ "y": 45,
+ "elevation": 1,
+ "movement_type": "MOVEMENT_TYPE_ROTATE_CLOCKWISE",
+ "movement_range_x": 6,
+ "movement_range_y": 8,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "3",
+ "script": "Route124_EventScript_151E64",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_SWIMMER_M",
+ "x": 60,
+ "y": 74,
+ "elevation": 1,
+ "movement_type": "MOVEMENT_TYPE_WALK_RIGHT_AND_LEFT",
+ "movement_range_x": 7,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "2",
+ "script": "Route124_EventScript_151E7B",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ITEM_BALL",
+ "x": 28,
+ "y": 12,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route124_EventScript_1B168F",
+ "flag": "FLAG_ITEM_ROUTE124_2"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ITEM_BALL",
+ "x": 31,
+ "y": 53,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route124_EventScript_1B169C",
+ "flag": "FLAG_ITEM_ROUTE124_3"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ITEM_BALL",
+ "x": 58,
+ "y": 11,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route124_EventScript_1B16A9",
+ "flag": "FLAG_ITEM_ROUTE124_1"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_SWIMMER_F",
+ "x": 18,
+ "y": 44,
+ "elevation": 1,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route124_EventScript_151E92",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_TUBER_M_SWIMMING",
+ "x": 17,
+ "y": 44,
+ "elevation": 1,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route124_EventScript_151ED8",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 70,
+ "y": 48,
+ "elevation": 3,
+ "dest_map": "MAP_ROUTE124_DIVING_TREASURE_HUNTERS_HOUSE",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [],
+ "bg_events": [
+ {
+ "type": "sign",
+ "x": 73,
+ "y": 48,
+ "elevation": 3,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "Route124_EventScript_151DEF"
+ }
+ ]
+} \ No newline at end of file
diff --git a/data/maps/Route124_DivingTreasureHuntersHouse/events.inc b/data/maps/Route124_DivingTreasureHuntersHouse/events.inc
deleted file mode 100644
index 2fa178b70..000000000
--- a/data/maps/Route124_DivingTreasureHuntersHouse/events.inc
+++ /dev/null
@@ -1,12 +0,0 @@
-Route124_DivingTreasureHuntersHouse_EventObjects:: @ 839300C
- object_event 1, EVENT_OBJ_GFX_MAN_6, 0, 5, 4, 0, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, Route124_DivingTreasureHuntersHouse_EventScript_163E04, 0
-
-Route124_DivingTreasureHuntersHouse_MapWarps:: @ 8393024
- warp_def 3, 8, 0, 0, MAP_ROUTE124
- warp_def 4, 8, 0, 0, MAP_ROUTE124
-
-Route124_DivingTreasureHuntersHouse_MapBGEvents:: @ 8393034
- bg_event 7, 1, 0, BG_EVENT_PLAYER_FACING_ANY, Route124_DivingTreasureHuntersHouse_EventScript_164335
-
-Route124_DivingTreasureHuntersHouse_MapEvents:: @ 8393040
- map_events Route124_DivingTreasureHuntersHouse_EventObjects, Route124_DivingTreasureHuntersHouse_MapWarps, 0x0, Route124_DivingTreasureHuntersHouse_MapBGEvents
diff --git a/data/maps/Route124_DivingTreasureHuntersHouse/header.inc b/data/maps/Route124_DivingTreasureHuntersHouse/header.inc
deleted file mode 100644
index 34bd5e673..000000000
--- a/data/maps/Route124_DivingTreasureHuntersHouse/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-Route124_DivingTreasureHuntersHouse:: @ 8307F44
- .4byte Route124_DivingTreasureHuntersHouse_Layout
- .4byte Route124_DivingTreasureHuntersHouse_MapEvents
- .4byte Route124_DivingTreasureHuntersHouse_MapScripts
- .4byte 0x0
- .2byte MUS_MINAMO
- .2byte 302
- .byte MAPSEC_ROUTE_124
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/Route124_DivingTreasureHuntersHouse/map.json b/data/maps/Route124_DivingTreasureHuntersHouse/map.json
new file mode 100644
index 000000000..90f82b109
--- /dev/null
+++ b/data/maps/Route124_DivingTreasureHuntersHouse/map.json
@@ -0,0 +1,55 @@
+{
+ "id": "MAP_ROUTE124_DIVING_TREASURE_HUNTERS_HOUSE",
+ "name": "Route124_DivingTreasureHuntersHouse",
+ "layout": "LAYOUT_ROUTE124_DIVING_TREASURE_HUNTERS_HOUSE",
+ "music": "MUS_MINAMO",
+ "region_map_section": "MAPSEC_ROUTE_124",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_6",
+ "x": 5,
+ "y": 4,
+ "elevation": 0,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route124_DivingTreasureHuntersHouse_EventScript_163E04",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 3,
+ "y": 8,
+ "elevation": 0,
+ "dest_map": "MAP_ROUTE124",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 4,
+ "y": 8,
+ "elevation": 0,
+ "dest_map": "MAP_ROUTE124",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [],
+ "bg_events": [
+ {
+ "type": "sign",
+ "x": 7,
+ "y": 1,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "Route124_DivingTreasureHuntersHouse_EventScript_164335"
+ }
+ ]
+} \ No newline at end of file
diff --git a/data/maps/Route125/connections.inc b/data/maps/Route125/connections.inc
deleted file mode 100644
index c573987eb..000000000
--- a/data/maps/Route125/connections.inc
+++ /dev/null
@@ -1,7 +0,0 @@
-Route125_MapConnectionsList:: @ 8308B94
- connection down, 0, MAP_MOSSDEEP_CITY
- connection left, 0, MAP_ROUTE124
-
-Route125_MapConnections:: @ 8308BAC
- .4byte 0x2
- .4byte Route125_MapConnectionsList
diff --git a/data/maps/Route125/events.inc b/data/maps/Route125/events.inc
deleted file mode 100644
index 8e816c833..000000000
--- a/data/maps/Route125/events.inc
+++ /dev/null
@@ -1,20 +0,0 @@
-Route125_EventObjects:: @ 8384E28
- object_event 1, EVENT_OBJ_GFX_SWIMMER_M, 0, 46, 9, 1, MOVEMENT_TYPE_ROTATE_COUNTERCLOCKWISE, 0, 0, 1, 2, Route125_EventScript_151F2E, 0
- object_event 2, EVENT_OBJ_GFX_SWIMMER_M, 0, 9, 32, 1, MOVEMENT_TYPE_FACE_RIGHT, 2, 5, 1, 2, Route125_EventScript_151F45, 0
- object_event 3, EVENT_OBJ_GFX_SWIMMER_F, 0, 31, 33, 1, MOVEMENT_TYPE_WALK_RIGHT_AND_LEFT, 6, 0, 1, 3, Route125_EventScript_151F5C, 0
- object_event 4, EVENT_OBJ_GFX_SWIMMER_F, 0, 39, 20, 1, MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_DOWN_LEFT_UP, 9, 9, 1, 3, Route125_EventScript_151F73, 0
- object_event 5, EVENT_OBJ_GFX_SAILOR, 0, 23, 28, 3, MOVEMENT_TYPE_FACE_LEFT_AND_RIGHT, 0, 0, 1, 2, Route125_EventScript_151F8A, 0
- object_event 6, EVENT_OBJ_GFX_LASS, 0, 20, 21, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 1, 0, Route125_EventScript_151FC8, 0
- object_event 7, EVENT_OBJ_GFX_LASS, 0, 21, 21, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 1, 0, Route125_EventScript_151FE3, 0
-
-Route125_MapWarps:: @ 8384ED0
- warp_def 22, 19, 0, 0, MAP_SHOAL_CAVE_LOW_TIDE_ENTRANCE_ROOM
-
-Route125_MapBGEvents:: @ 8384ED8
- bg_secret_base_event 53, 10, 0, SECRET_BASE_RED_CAVE1_2
- bg_secret_base_event 55, 11, 0, SECRET_BASE_RED_CAVE4_2
- bg_secret_base_event 7, 25, 0, SECRET_BASE_YELLOW_CAVE2_2
- bg_secret_base_event 24, 32, 0, SECRET_BASE_YELLOW_CAVE4_2
-
-Route125_MapEvents:: @ 8384F08
- map_events Route125_EventObjects, Route125_MapWarps, 0x0, Route125_MapBGEvents
diff --git a/data/maps/Route125/header.inc b/data/maps/Route125/header.inc
deleted file mode 100644
index b24645c3d..000000000
--- a/data/maps/Route125/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-Route125:: @ 83058A8
- .4byte Route125_Layout
- .4byte Route125_MapEvents
- .4byte Route125_MapScripts
- .4byte Route125_MapConnections
- .2byte MUS_DOORO_X3
- .2byte 41
- .byte MAPSEC_ROUTE_125
- .byte 0
- .byte WEATHER_SUNNY
- .byte MAP_TYPE_6
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/Route125/map.json b/data/maps/Route125/map.json
new file mode 100644
index 000000000..daa715f90
--- /dev/null
+++ b/data/maps/Route125/map.json
@@ -0,0 +1,157 @@
+{
+ "id": "MAP_ROUTE125",
+ "name": "Route125",
+ "layout": "LAYOUT_ROUTE125",
+ "music": "MUS_DOORO_X3",
+ "region_map_section": "MAPSEC_ROUTE_125",
+ "requires_flash": false,
+ "weather": "WEATHER_SUNNY",
+ "map_type": "MAP_TYPE_6",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": [
+ {
+ "direction": "down",
+ "offset": 0,
+ "map": "MAP_MOSSDEEP_CITY"
+ },
+ {
+ "direction": "left",
+ "offset": 0,
+ "map": "MAP_ROUTE124"
+ }
+ ],
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_SWIMMER_M",
+ "x": 46,
+ "y": 9,
+ "elevation": 1,
+ "movement_type": "MOVEMENT_TYPE_ROTATE_COUNTERCLOCKWISE",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "2",
+ "script": "Route125_EventScript_151F2E",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_SWIMMER_M",
+ "x": 9,
+ "y": 32,
+ "elevation": 1,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 2,
+ "movement_range_y": 5,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "2",
+ "script": "Route125_EventScript_151F45",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_SWIMMER_F",
+ "x": 31,
+ "y": 33,
+ "elevation": 1,
+ "movement_type": "MOVEMENT_TYPE_WALK_RIGHT_AND_LEFT",
+ "movement_range_x": 6,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "3",
+ "script": "Route125_EventScript_151F5C",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_SWIMMER_F",
+ "x": 39,
+ "y": 20,
+ "elevation": 1,
+ "movement_type": "MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_DOWN_LEFT_UP",
+ "movement_range_x": 9,
+ "movement_range_y": 9,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "3",
+ "script": "Route125_EventScript_151F73",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_SAILOR",
+ "x": 23,
+ "y": 28,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT_AND_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "2",
+ "script": "Route125_EventScript_151F8A",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_LASS",
+ "x": 20,
+ "y": 21,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route125_EventScript_151FC8",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_LASS",
+ "x": 21,
+ "y": 21,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route125_EventScript_151FE3",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 22,
+ "y": 19,
+ "elevation": 0,
+ "dest_map": "MAP_SHOAL_CAVE_LOW_TIDE_ENTRANCE_ROOM",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [],
+ "bg_events": [
+ {
+ "type": "secret_base",
+ "x": 53,
+ "y": 10,
+ "elevation": 0,
+ "secret_base_id": "SECRET_BASE_RED_CAVE1_2"
+ },
+ {
+ "type": "secret_base",
+ "x": 55,
+ "y": 11,
+ "elevation": 0,
+ "secret_base_id": "SECRET_BASE_RED_CAVE4_2"
+ },
+ {
+ "type": "secret_base",
+ "x": 7,
+ "y": 25,
+ "elevation": 0,
+ "secret_base_id": "SECRET_BASE_YELLOW_CAVE2_2"
+ },
+ {
+ "type": "secret_base",
+ "x": 24,
+ "y": 32,
+ "elevation": 0,
+ "secret_base_id": "SECRET_BASE_YELLOW_CAVE4_2"
+ }
+ ]
+} \ No newline at end of file
diff --git a/data/maps/Route126/connections.inc b/data/maps/Route126/connections.inc
deleted file mode 100644
index 2bcf57ced..000000000
--- a/data/maps/Route126/connections.inc
+++ /dev/null
@@ -1,8 +0,0 @@
-Route126_MapConnectionsList:: @ 8308BB4
- connection up, 0, MAP_ROUTE124
- connection right, 0, MAP_ROUTE127
- connection dive, 0, MAP_UNDERWATER2
-
-Route126_MapConnections:: @ 8308BD8
- .4byte 0x3
- .4byte Route126_MapConnectionsList
diff --git a/data/maps/Route126/events.inc b/data/maps/Route126/events.inc
deleted file mode 100644
index ddd532202..000000000
--- a/data/maps/Route126/events.inc
+++ /dev/null
@@ -1,9 +0,0 @@
-Route126_EventObjects:: @ 8384F1C
- object_event 1, EVENT_OBJ_GFX_SWIMMER_M, 0, 55, 22, 1, MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_UP_RIGHT_DOWN, 10, 3, 1, 3, Route126_EventScript_15200E, 0
- object_event 2, EVENT_OBJ_GFX_SWIMMER_M, 0, 33, 63, 1, MOVEMENT_TYPE_WALK_RIGHT_AND_LEFT, 9, 0, 1, 3, Route126_EventScript_152025, 0
- object_event 3, EVENT_OBJ_GFX_SWIMMER_F, 0, 9, 49, 1, MOVEMENT_TYPE_FACE_UP, 0, 0, 1, 3, Route126_EventScript_15203C, 0
- object_event 4, EVENT_OBJ_GFX_SWIMMER_F, 0, 64, 44, 1, MOVEMENT_TYPE_ROTATE_CLOCKWISE, 0, 0, 1, 3, Route126_EventScript_152053, 0
- object_event 5, EVENT_OBJ_GFX_ITEM_BALL, 0, 14, 1, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route126_EventScript_1B16B6, FLAG_ITEM_ROUTE126_1
-
-Route126_MapEvents:: @ 8384F94
- map_events Route126_EventObjects, 0x0, 0x0, 0x0
diff --git a/data/maps/Route126/header.inc b/data/maps/Route126/header.inc
deleted file mode 100644
index 81af74622..000000000
--- a/data/maps/Route126/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-Route126:: @ 83058C4
- .4byte Route126_Layout
- .4byte Route126_MapEvents
- .4byte Route126_MapScripts
- .4byte Route126_MapConnections
- .2byte MUS_DOORO_X3
- .2byte 42
- .byte MAPSEC_ROUTE_126
- .byte 0
- .byte WEATHER_SUNNY
- .byte MAP_TYPE_6
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/Route126/map.json b/data/maps/Route126/map.json
new file mode 100644
index 000000000..568a30c4d
--- /dev/null
+++ b/data/maps/Route126/map.json
@@ -0,0 +1,99 @@
+{
+ "id": "MAP_ROUTE126",
+ "name": "Route126",
+ "layout": "LAYOUT_ROUTE126",
+ "music": "MUS_DOORO_X3",
+ "region_map_section": "MAPSEC_ROUTE_126",
+ "requires_flash": false,
+ "weather": "WEATHER_SUNNY",
+ "map_type": "MAP_TYPE_6",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": [
+ {
+ "direction": "up",
+ "offset": 0,
+ "map": "MAP_ROUTE124"
+ },
+ {
+ "direction": "right",
+ "offset": 0,
+ "map": "MAP_ROUTE127"
+ },
+ {
+ "direction": "dive",
+ "offset": 0,
+ "map": "MAP_UNDERWATER2"
+ }
+ ],
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_SWIMMER_M",
+ "x": 55,
+ "y": 22,
+ "elevation": 1,
+ "movement_type": "MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_UP_RIGHT_DOWN",
+ "movement_range_x": 10,
+ "movement_range_y": 3,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "3",
+ "script": "Route126_EventScript_15200E",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_SWIMMER_M",
+ "x": 33,
+ "y": 63,
+ "elevation": 1,
+ "movement_type": "MOVEMENT_TYPE_WALK_RIGHT_AND_LEFT",
+ "movement_range_x": 9,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "3",
+ "script": "Route126_EventScript_152025",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_SWIMMER_F",
+ "x": 9,
+ "y": 49,
+ "elevation": 1,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "3",
+ "script": "Route126_EventScript_15203C",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_SWIMMER_F",
+ "x": 64,
+ "y": 44,
+ "elevation": 1,
+ "movement_type": "MOVEMENT_TYPE_ROTATE_CLOCKWISE",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "3",
+ "script": "Route126_EventScript_152053",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ITEM_BALL",
+ "x": 14,
+ "y": 1,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route126_EventScript_1B16B6",
+ "flag": "FLAG_ITEM_ROUTE126_1"
+ }
+ ],
+ "warp_events": [],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/Route127/connections.inc b/data/maps/Route127/connections.inc
deleted file mode 100644
index 017f7de41..000000000
--- a/data/maps/Route127/connections.inc
+++ /dev/null
@@ -1,9 +0,0 @@
-Route127_MapConnectionsList:: @ 8308BE0
- connection up, 0, MAP_MOSSDEEP_CITY
- connection down, 0, MAP_ROUTE128
- connection left, 0, MAP_ROUTE126
- connection dive, 0, MAP_UNDERWATER3
-
-Route127_MapConnections:: @ 8308C10
- .4byte 0x4
- .4byte Route127_MapConnectionsList
diff --git a/data/maps/Route127/events.inc b/data/maps/Route127/events.inc
deleted file mode 100644
index 946a390b9..000000000
--- a/data/maps/Route127/events.inc
+++ /dev/null
@@ -1,20 +0,0 @@
-Route127_EventObjects:: @ 8384FA8
- object_event 1, EVENT_OBJ_GFX_SWIMMER_M, 0, 18, 68, 1, MOVEMENT_TYPE_FACE_LEFT_AND_RIGHT, 0, 0, 1, 2, Route127_EventScript_15207A, 0
- object_event 2, EVENT_OBJ_GFX_SWIMMER_F, 0, 45, 44, 1, MOVEMENT_TYPE_FACE_UP_LEFT_AND_RIGHT, 0, 0, 1, 4, Route127_EventScript_152091, 0
- object_event 3, EVENT_OBJ_GFX_ITEM_BALL, 0, 10, 7, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route127_EventScript_1B16C3, FLAG_ITEM_ROUTE127_1
- object_event 4, EVENT_OBJ_GFX_ITEM_BALL, 0, 64, 39, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route127_EventScript_1B16D0, FLAG_ITEM_ROUTE127_2
- object_event 5, EVENT_OBJ_GFX_FISHERMAN, 0, 53, 13, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 1, 0, Route127_EventScript_1520A8, 0
- object_event 6, EVENT_OBJ_GFX_FISHERMAN, 0, 52, 25, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 1, 0, Route127_EventScript_1520D6, 0
- object_event 7, EVENT_OBJ_GFX_FISHERMAN, 0, 64, 19, 3, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 1, 0, Route127_EventScript_1520BF, 0
- object_event 8, EVENT_OBJ_GFX_MAN_6, 0, 12, 18, 3, MOVEMENT_TYPE_ROTATE_CLOCKWISE, 1, 1, 1, 2, Route127_EventScript_152104, 0
- object_event 9, EVENT_OBJ_GFX_BLACK_BELT, 0, 63, 63, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 1, 3, Route127_EventScript_1520ED, 0
-
-Route127_MapBGEvents:: @ 8385080
- bg_secret_base_event 59, 67, 0, SECRET_BASE_RED_CAVE4_1
- bg_secret_base_event 59, 72, 0, SECRET_BASE_YELLOW_CAVE3_2
- bg_secret_base_event 67, 63, 0, SECRET_BASE_YELLOW_CAVE4_1
- bg_secret_base_event 61, 21, 0, SECRET_BASE_YELLOW_CAVE3_3
- bg_secret_base_event 45, 24, 0, SECRET_BASE_YELLOW_CAVE1_3
-
-Route127_MapEvents:: @ 83850BC
- map_events Route127_EventObjects, 0x0, 0x0, Route127_MapBGEvents
diff --git a/data/maps/Route127/header.inc b/data/maps/Route127/header.inc
deleted file mode 100644
index ca05331d0..000000000
--- a/data/maps/Route127/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-Route127:: @ 83058E0
- .4byte Route127_Layout
- .4byte Route127_MapEvents
- .4byte Route127_MapScripts
- .4byte Route127_MapConnections
- .2byte MUS_DOORO_X3
- .2byte 43
- .byte MAPSEC_ROUTE_127
- .byte 0
- .byte WEATHER_SUNNY
- .byte MAP_TYPE_6
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/Route127/map.json b/data/maps/Route127/map.json
new file mode 100644
index 000000000..d7aeede26
--- /dev/null
+++ b/data/maps/Route127/map.json
@@ -0,0 +1,192 @@
+{
+ "id": "MAP_ROUTE127",
+ "name": "Route127",
+ "layout": "LAYOUT_ROUTE127",
+ "music": "MUS_DOORO_X3",
+ "region_map_section": "MAPSEC_ROUTE_127",
+ "requires_flash": false,
+ "weather": "WEATHER_SUNNY",
+ "map_type": "MAP_TYPE_6",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": [
+ {
+ "direction": "up",
+ "offset": 0,
+ "map": "MAP_MOSSDEEP_CITY"
+ },
+ {
+ "direction": "down",
+ "offset": 0,
+ "map": "MAP_ROUTE128"
+ },
+ {
+ "direction": "left",
+ "offset": 0,
+ "map": "MAP_ROUTE126"
+ },
+ {
+ "direction": "dive",
+ "offset": 0,
+ "map": "MAP_UNDERWATER3"
+ }
+ ],
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_SWIMMER_M",
+ "x": 18,
+ "y": 68,
+ "elevation": 1,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT_AND_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "2",
+ "script": "Route127_EventScript_15207A",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_SWIMMER_F",
+ "x": 45,
+ "y": 44,
+ "elevation": 1,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP_LEFT_AND_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "4",
+ "script": "Route127_EventScript_152091",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ITEM_BALL",
+ "x": 10,
+ "y": 7,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route127_EventScript_1B16C3",
+ "flag": "FLAG_ITEM_ROUTE127_1"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ITEM_BALL",
+ "x": 64,
+ "y": 39,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route127_EventScript_1B16D0",
+ "flag": "FLAG_ITEM_ROUTE127_2"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_FISHERMAN",
+ "x": 53,
+ "y": 13,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route127_EventScript_1520A8",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_FISHERMAN",
+ "x": 52,
+ "y": 25,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route127_EventScript_1520D6",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_FISHERMAN",
+ "x": 64,
+ "y": 19,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route127_EventScript_1520BF",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_6",
+ "x": 12,
+ "y": 18,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_ROTATE_CLOCKWISE",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "2",
+ "script": "Route127_EventScript_152104",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BLACK_BELT",
+ "x": 63,
+ "y": 63,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "3",
+ "script": "Route127_EventScript_1520ED",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [],
+ "coord_events": [],
+ "bg_events": [
+ {
+ "type": "secret_base",
+ "x": 59,
+ "y": 67,
+ "elevation": 0,
+ "secret_base_id": "SECRET_BASE_RED_CAVE4_1"
+ },
+ {
+ "type": "secret_base",
+ "x": 59,
+ "y": 72,
+ "elevation": 0,
+ "secret_base_id": "SECRET_BASE_YELLOW_CAVE3_2"
+ },
+ {
+ "type": "secret_base",
+ "x": 67,
+ "y": 63,
+ "elevation": 0,
+ "secret_base_id": "SECRET_BASE_YELLOW_CAVE4_1"
+ },
+ {
+ "type": "secret_base",
+ "x": 61,
+ "y": 21,
+ "elevation": 0,
+ "secret_base_id": "SECRET_BASE_YELLOW_CAVE3_3"
+ },
+ {
+ "type": "secret_base",
+ "x": 45,
+ "y": 24,
+ "elevation": 0,
+ "secret_base_id": "SECRET_BASE_YELLOW_CAVE1_3"
+ }
+ ]
+} \ No newline at end of file
diff --git a/data/maps/Route128/connections.inc b/data/maps/Route128/connections.inc
deleted file mode 100644
index e66b44582..000000000
--- a/data/maps/Route128/connections.inc
+++ /dev/null
@@ -1,9 +0,0 @@
-Route128_MapConnectionsList:: @ 8308C18
- connection up, 0, MAP_ROUTE127
- connection down, 0, MAP_ROUTE129
- connection right, -40, MAP_EVER_GRANDE_CITY
- connection dive, 0, MAP_UNDERWATER4
-
-Route128_MapConnections:: @ 8308C48
- .4byte 0x4
- .4byte Route128_MapConnectionsList
diff --git a/data/maps/Route128/events.inc b/data/maps/Route128/events.inc
deleted file mode 100644
index c9f86f02f..000000000
--- a/data/maps/Route128/events.inc
+++ /dev/null
@@ -1,17 +0,0 @@
-Route128_EventObjects:: @ 83850D0
- object_event 1, EVENT_OBJ_GFX_SWIMMER_M, 0, 77, 24, 1, MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_UP_LEFT_DOWN, 5, 5, 1, 3, Route128_EventScript_1522A4, 0
- object_event 2, EVENT_OBJ_GFX_SWIMMER_F, 0, 35, 34, 1, MOVEMENT_TYPE_WALK_RIGHT_AND_LEFT, 5, 0, 1, 7, Route128_EventScript_1522E2, 0
- object_event 3, EVENT_OBJ_GFX_STEVEN, 0, 40, 22, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_HIDE_STEVEN_ROUTE128
- object_event 4, EVENT_OBJ_GFX_VAR_6, 0, 37, 22, 3, MOVEMENT_TYPE_FACE_LEFT, 1, 1, 0, 0, 0x0, FLAG_HIDE_EVIL_LEADER_ROUTE128
- object_event 5, EVENT_OBJ_GFX_VAR_7, 0, 38, 21, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 0, 0, 0x0, FLAG_HIDE_OTHER_LEADER_ROUTE128
- object_event 6, EVENT_OBJ_GFX_FISHERMAN, 0, 63, 28, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 1, 0, Route128_EventScript_15234E, 0
- object_event 7, EVENT_OBJ_GFX_MAN_4, 0, 24, 8, 3, MOVEMENT_TYPE_FACE_DOWN_AND_LEFT, 1, 1, 1, 2, Route128_EventScript_152337, 0
- object_event 8, EVENT_OBJ_GFX_WOMAN_7, 0, 47, 9, 3, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 1, 3, Route128_EventScript_152320, 0
-
-Route128_MapBGEvents:: @ 8385190
- bg_hidden_item_event 49, 9, 3, ITEM_HEART_SCALE, FLAG_HIDDEN_ITEM_5C
- bg_hidden_item_event 57, 21, 3, ITEM_HEART_SCALE, FLAG_HIDDEN_ITEM_5D
- bg_hidden_item_event 31, 33, 3, ITEM_HEART_SCALE, FLAG_HIDDEN_ITEM_5E
-
-Route128_MapEvents:: @ 83851B4
- map_events Route128_EventObjects, 0x0, 0x0, Route128_MapBGEvents
diff --git a/data/maps/Route128/header.inc b/data/maps/Route128/header.inc
deleted file mode 100644
index 135d86d79..000000000
--- a/data/maps/Route128/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-Route128:: @ 83058FC
- .4byte Route128_Layout
- .4byte Route128_MapEvents
- .4byte Route128_MapScripts
- .4byte Route128_MapConnections
- .2byte MUS_DOORO_X3
- .2byte 44
- .byte MAPSEC_ROUTE_128
- .byte 0
- .byte WEATHER_SUNNY
- .byte MAP_TYPE_6
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/Route128/map.json b/data/maps/Route128/map.json
new file mode 100644
index 000000000..f660ca061
--- /dev/null
+++ b/data/maps/Route128/map.json
@@ -0,0 +1,168 @@
+{
+ "id": "MAP_ROUTE128",
+ "name": "Route128",
+ "layout": "LAYOUT_ROUTE128",
+ "music": "MUS_DOORO_X3",
+ "region_map_section": "MAPSEC_ROUTE_128",
+ "requires_flash": false,
+ "weather": "WEATHER_SUNNY",
+ "map_type": "MAP_TYPE_6",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": [
+ {
+ "direction": "up",
+ "offset": 0,
+ "map": "MAP_ROUTE127"
+ },
+ {
+ "direction": "down",
+ "offset": 0,
+ "map": "MAP_ROUTE129"
+ },
+ {
+ "direction": "right",
+ "offset": -40,
+ "map": "MAP_EVER_GRANDE_CITY"
+ },
+ {
+ "direction": "dive",
+ "offset": 0,
+ "map": "MAP_UNDERWATER4"
+ }
+ ],
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_SWIMMER_M",
+ "x": 77,
+ "y": 24,
+ "elevation": 1,
+ "movement_type": "MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_UP_LEFT_DOWN",
+ "movement_range_x": 5,
+ "movement_range_y": 5,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "3",
+ "script": "Route128_EventScript_1522A4",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_SWIMMER_F",
+ "x": 35,
+ "y": 34,
+ "elevation": 1,
+ "movement_type": "MOVEMENT_TYPE_WALK_RIGHT_AND_LEFT",
+ "movement_range_x": 5,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "7",
+ "script": "Route128_EventScript_1522E2",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_STEVEN",
+ "x": 40,
+ "y": 22,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_HIDE_STEVEN_ROUTE128"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_6",
+ "x": 37,
+ "y": 22,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_HIDE_EVIL_LEADER_ROUTE128"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_7",
+ "x": 38,
+ "y": 21,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_HIDE_OTHER_LEADER_ROUTE128"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_FISHERMAN",
+ "x": 63,
+ "y": 28,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route128_EventScript_15234E",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_4",
+ "x": 24,
+ "y": 8,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN_AND_LEFT",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "2",
+ "script": "Route128_EventScript_152337",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_7",
+ "x": 47,
+ "y": 9,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "3",
+ "script": "Route128_EventScript_152320",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [],
+ "coord_events": [],
+ "bg_events": [
+ {
+ "type": "hidden_item",
+ "x": 49,
+ "y": 9,
+ "elevation": 3,
+ "item": "ITEM_HEART_SCALE",
+ "flag": "FLAG_HIDDEN_ITEM_5C"
+ },
+ {
+ "type": "hidden_item",
+ "x": 57,
+ "y": 21,
+ "elevation": 3,
+ "item": "ITEM_HEART_SCALE",
+ "flag": "FLAG_HIDDEN_ITEM_5D"
+ },
+ {
+ "type": "hidden_item",
+ "x": 31,
+ "y": 33,
+ "elevation": 3,
+ "item": "ITEM_HEART_SCALE",
+ "flag": "FLAG_HIDDEN_ITEM_5E"
+ }
+ ]
+} \ No newline at end of file
diff --git a/data/maps/Route129/connections.inc b/data/maps/Route129/connections.inc
deleted file mode 100644
index d1022353e..000000000
--- a/data/maps/Route129/connections.inc
+++ /dev/null
@@ -1,7 +0,0 @@
-Route129_MapConnectionsList:: @ 8308C50
- connection up, 0, MAP_ROUTE128
- connection left, 0, MAP_ROUTE130
-
-Route129_MapConnections:: @ 8308C68
- .4byte 0x2
- .4byte Route129_MapConnectionsList
diff --git a/data/maps/Route129/events.inc b/data/maps/Route129/events.inc
deleted file mode 100644
index fc458f93b..000000000
--- a/data/maps/Route129/events.inc
+++ /dev/null
@@ -1,8 +0,0 @@
-Route129_EventObjects:: @ 83851C8
- object_event 1, EVENT_OBJ_GFX_SWIMMER_M, 0, 15, 23, 1, MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_LEFT_UP_RIGHT, 3, 4, 1, 3, Route129_EventScript_152366, 0
- object_event 2, EVENT_OBJ_GFX_SWIMMER_F, 0, 35, 9, 1, MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_DOWN_LEFT_UP, 5, 2, 1, 2, Route129_EventScript_15237D, 0
- object_event 3, EVENT_OBJ_GFX_SWIMMER_F, 0, 9, 14, 1, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 1, 2, Route129_EventScript_1523AB, 0
- object_event 4, EVENT_OBJ_GFX_SWIMMER_M, 0, 28, 16, 1, MOVEMENT_TYPE_ROTATE_CLOCKWISE, 1, 1, 1, 2, Route129_EventScript_152394, 0
-
-Route129_MapEvents:: @ 8385228
- map_events Route129_EventObjects, 0x0, 0x0, 0x0
diff --git a/data/maps/Route129/header.inc b/data/maps/Route129/header.inc
deleted file mode 100644
index fe0ca1652..000000000
--- a/data/maps/Route129/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-Route129:: @ 8305918
- .4byte Route129_Layout
- .4byte Route129_MapEvents
- .4byte Route129_MapScripts
- .4byte Route129_MapConnections
- .2byte MUS_GRANROAD
- .2byte 45
- .byte MAPSEC_ROUTE_129
- .byte 0
- .byte WEATHER_SUNNY
- .byte MAP_TYPE_6
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/Route129/map.json b/data/maps/Route129/map.json
new file mode 100644
index 000000000..2e82703ce
--- /dev/null
+++ b/data/maps/Route129/map.json
@@ -0,0 +1,81 @@
+{
+ "id": "MAP_ROUTE129",
+ "name": "Route129",
+ "layout": "LAYOUT_ROUTE129",
+ "music": "MUS_GRANROAD",
+ "region_map_section": "MAPSEC_ROUTE_129",
+ "requires_flash": false,
+ "weather": "WEATHER_SUNNY",
+ "map_type": "MAP_TYPE_6",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": [
+ {
+ "direction": "up",
+ "offset": 0,
+ "map": "MAP_ROUTE128"
+ },
+ {
+ "direction": "left",
+ "offset": 0,
+ "map": "MAP_ROUTE130"
+ }
+ ],
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_SWIMMER_M",
+ "x": 15,
+ "y": 23,
+ "elevation": 1,
+ "movement_type": "MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_LEFT_UP_RIGHT",
+ "movement_range_x": 3,
+ "movement_range_y": 4,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "3",
+ "script": "Route129_EventScript_152366",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_SWIMMER_F",
+ "x": 35,
+ "y": 9,
+ "elevation": 1,
+ "movement_type": "MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_DOWN_LEFT_UP",
+ "movement_range_x": 5,
+ "movement_range_y": 2,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "2",
+ "script": "Route129_EventScript_15237D",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_SWIMMER_F",
+ "x": 9,
+ "y": 14,
+ "elevation": 1,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "2",
+ "script": "Route129_EventScript_1523AB",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_SWIMMER_M",
+ "x": 28,
+ "y": 16,
+ "elevation": 1,
+ "movement_type": "MOVEMENT_TYPE_ROTATE_CLOCKWISE",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "2",
+ "script": "Route129_EventScript_152394",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/Route130/connections.inc b/data/maps/Route130/connections.inc
deleted file mode 100644
index 535725bb0..000000000
--- a/data/maps/Route130/connections.inc
+++ /dev/null
@@ -1,7 +0,0 @@
-Route130_MapConnectionsList:: @ 8308C70
- connection left, 0, MAP_ROUTE131
- connection right, 0, MAP_ROUTE129
-
-Route130_MapConnections:: @ 8308C88
- .4byte 0x2
- .4byte Route130_MapConnectionsList
diff --git a/data/maps/Route130/events.inc b/data/maps/Route130/events.inc
deleted file mode 100644
index 958352568..000000000
--- a/data/maps/Route130/events.inc
+++ /dev/null
@@ -1,7 +0,0 @@
-Route130_EventObjects:: @ 838523C
- object_event 1, EVENT_OBJ_GFX_SWIMMER_M, 0, 7, 26, 1, MOVEMENT_TYPE_WALK_SEQUENCE_UP_RIGHT_LEFT_DOWN, 3, 6, 1, 3, Route130_EventScript_152410, 0
- object_event 2, EVENT_OBJ_GFX_SWIMMER_F, 0, 68, 22, 1, MOVEMENT_TYPE_FACE_DOWN_AND_UP, 1, 1, 1, 3, Route130_EventScript_152427, 0
- object_event 3, EVENT_OBJ_GFX_BERRY_TREE, 0, 52, 9, 3, MOVEMENT_TYPE_BERRY_TREE_GROWTH, 0, 0, 0, 82, S_BerryTree, FLAG_TEMP_11
-
-Route130_MapEvents:: @ 8385284
- map_events Route130_EventObjects, 0x0, 0x0, 0x0
diff --git a/data/maps/Route130/header.inc b/data/maps/Route130/header.inc
deleted file mode 100644
index e3f7e75a3..000000000
--- a/data/maps/Route130/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-Route130:: @ 8305934
- .4byte Route130_Layout
- .4byte Route130_MapEvents
- .4byte Route130_MapScripts
- .4byte Route130_MapConnections
- .2byte MUS_GRANROAD
- .2byte 264
- .byte MAPSEC_ROUTE_130
- .byte 0
- .byte WEATHER_SUNNY
- .byte MAP_TYPE_6
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/Route130/map.json b/data/maps/Route130/map.json
new file mode 100644
index 000000000..9dee253e1
--- /dev/null
+++ b/data/maps/Route130/map.json
@@ -0,0 +1,68 @@
+{
+ "id": "MAP_ROUTE130",
+ "name": "Route130",
+ "layout": "LAYOUT_ROUTE130",
+ "music": "MUS_GRANROAD",
+ "region_map_section": "MAPSEC_ROUTE_130",
+ "requires_flash": false,
+ "weather": "WEATHER_SUNNY",
+ "map_type": "MAP_TYPE_6",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": [
+ {
+ "direction": "left",
+ "offset": 0,
+ "map": "MAP_ROUTE131"
+ },
+ {
+ "direction": "right",
+ "offset": 0,
+ "map": "MAP_ROUTE129"
+ }
+ ],
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_SWIMMER_M",
+ "x": 7,
+ "y": 26,
+ "elevation": 1,
+ "movement_type": "MOVEMENT_TYPE_WALK_SEQUENCE_UP_RIGHT_LEFT_DOWN",
+ "movement_range_x": 3,
+ "movement_range_y": 6,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "3",
+ "script": "Route130_EventScript_152410",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_SWIMMER_F",
+ "x": 68,
+ "y": 22,
+ "elevation": 1,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN_AND_UP",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "3",
+ "script": "Route130_EventScript_152427",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BERRY_TREE",
+ "x": 52,
+ "y": 9,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_BERRY_TREE_GROWTH",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "82",
+ "script": "S_BerryTree",
+ "flag": "FLAG_TEMP_11"
+ }
+ ],
+ "warp_events": [],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/Route131/connections.inc b/data/maps/Route131/connections.inc
deleted file mode 100644
index 2ac2b6770..000000000
--- a/data/maps/Route131/connections.inc
+++ /dev/null
@@ -1,7 +0,0 @@
-Route131_MapConnectionsList:: @ 8308C90
- connection left, 0, MAP_PACIFIDLOG_TOWN
- connection right, 0, MAP_ROUTE130
-
-Route131_MapConnections:: @ 8308CA8
- .4byte 0x2
- .4byte Route131_MapConnectionsList
diff --git a/data/maps/Route131/events.inc b/data/maps/Route131/events.inc
deleted file mode 100644
index badc6d45c..000000000
--- a/data/maps/Route131/events.inc
+++ /dev/null
@@ -1,13 +0,0 @@
-Route131_EventObjects:: @ 8385298
- object_event 1, EVENT_OBJ_GFX_SWIMMER_M, 0, 17, 25, 1, MOVEMENT_TYPE_WALK_SEQUENCE_UP_RIGHT_LEFT_DOWN, 5, 7, 1, 3, Route131_EventScript_152452, 0
- object_event 2, EVENT_OBJ_GFX_SWIMMER_M, 0, 36, 26, 1, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 1, 3, Route131_EventScript_152469, 0
- object_event 3, EVENT_OBJ_GFX_SWIMMER_F, 0, 33, 28, 1, MOVEMENT_TYPE_FACE_UP, 0, 0, 1, 4, Route131_EventScript_152480, 0
- object_event 4, EVENT_OBJ_GFX_SWIMMER_F, 0, 45, 23, 1, MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_DOWN_RIGHT_UP, 1, 4, 1, 3, Route131_EventScript_152497, 0
- object_event 5, EVENT_OBJ_GFX_SWIMMER_F, 0, 9, 16, 1, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 1, 0, Route131_EventScript_1524AE, 0
- object_event 6, EVENT_OBJ_GFX_TUBER_M_SWIMMING, 0, 8, 16, 1, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 1, 0, Route131_EventScript_1524C9, 0
-
-Route131_MapWarps:: @ 8385328
- warp_def 36, 6, 3, 0, MAP_SKY_PILLAR_ENTRANCE
-
-Route131_MapEvents:: @ 8385330
- map_events Route131_EventObjects, Route131_MapWarps, 0x0, 0x0
diff --git a/data/maps/Route131/header.inc b/data/maps/Route131/header.inc
deleted file mode 100644
index 92538ee6e..000000000
--- a/data/maps/Route131/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-Route131:: @ 8305950
- .4byte Route131_Layout
- .4byte Route131_MapEvents
- .4byte Route131_MapScripts
- .4byte Route131_MapConnections
- .2byte MUS_GRANROAD
- .2byte 47
- .byte MAPSEC_ROUTE_131
- .byte 0
- .byte WEATHER_SUNNY
- .byte MAP_TYPE_6
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/Route131/map.json b/data/maps/Route131/map.json
new file mode 100644
index 000000000..cedfcb2a5
--- /dev/null
+++ b/data/maps/Route131/map.json
@@ -0,0 +1,115 @@
+{
+ "id": "MAP_ROUTE131",
+ "name": "Route131",
+ "layout": "LAYOUT_ROUTE131",
+ "music": "MUS_GRANROAD",
+ "region_map_section": "MAPSEC_ROUTE_131",
+ "requires_flash": false,
+ "weather": "WEATHER_SUNNY",
+ "map_type": "MAP_TYPE_6",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": [
+ {
+ "direction": "left",
+ "offset": 0,
+ "map": "MAP_PACIFIDLOG_TOWN"
+ },
+ {
+ "direction": "right",
+ "offset": 0,
+ "map": "MAP_ROUTE130"
+ }
+ ],
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_SWIMMER_M",
+ "x": 17,
+ "y": 25,
+ "elevation": 1,
+ "movement_type": "MOVEMENT_TYPE_WALK_SEQUENCE_UP_RIGHT_LEFT_DOWN",
+ "movement_range_x": 5,
+ "movement_range_y": 7,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "3",
+ "script": "Route131_EventScript_152452",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_SWIMMER_M",
+ "x": 36,
+ "y": 26,
+ "elevation": 1,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "3",
+ "script": "Route131_EventScript_152469",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_SWIMMER_F",
+ "x": 33,
+ "y": 28,
+ "elevation": 1,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "4",
+ "script": "Route131_EventScript_152480",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_SWIMMER_F",
+ "x": 45,
+ "y": 23,
+ "elevation": 1,
+ "movement_type": "MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_DOWN_RIGHT_UP",
+ "movement_range_x": 1,
+ "movement_range_y": 4,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "3",
+ "script": "Route131_EventScript_152497",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_SWIMMER_F",
+ "x": 9,
+ "y": 16,
+ "elevation": 1,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route131_EventScript_1524AE",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_TUBER_M_SWIMMING",
+ "x": 8,
+ "y": 16,
+ "elevation": 1,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route131_EventScript_1524C9",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 36,
+ "y": 6,
+ "elevation": 3,
+ "dest_map": "MAP_SKY_PILLAR_ENTRANCE",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/Route132/connections.inc b/data/maps/Route132/connections.inc
deleted file mode 100644
index 94feb7dec..000000000
--- a/data/maps/Route132/connections.inc
+++ /dev/null
@@ -1,7 +0,0 @@
-Route132_MapConnectionsList:: @ 8308CB0
- connection left, 0, MAP_ROUTE133
- connection right, 0, MAP_PACIFIDLOG_TOWN
-
-Route132_MapConnections:: @ 8308CC8
- .4byte 0x2
- .4byte Route132_MapConnectionsList
diff --git a/data/maps/Route132/events.inc b/data/maps/Route132/events.inc
deleted file mode 100644
index 1ee13237c..000000000
--- a/data/maps/Route132/events.inc
+++ /dev/null
@@ -1,9 +0,0 @@
-Route132_EventObjects:: @ 8385344
- object_event 1, EVENT_OBJ_GFX_SWIMMER_M, 0, 7, 3, 1, MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_RIGHT_UP_LEFT, 3, 3, 1, 2, Route132_EventScript_1524E5, 0
- object_event 2, EVENT_OBJ_GFX_SWIMMER_F, 0, 41, 16, 1, MOVEMENT_TYPE_WALK_SEQUENCE_UP_RIGHT_DOWN_LEFT, 4, 4, 1, 2, Route132_EventScript_1524FC, 0
- object_event 3, EVENT_OBJ_GFX_ITEM_BALL, 0, 10, 11, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route132_EventScript_1B16DD, FLAG_ITEM_ROUTE132_1
- object_event 4, EVENT_OBJ_GFX_BLACK_BELT, 0, 46, 28, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 1, 4, Route132_EventScript_15252A, 0
- object_event 5, EVENT_OBJ_GFX_FISHERMAN, 0, 9, 16, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 1, 1, Route132_EventScript_152513, 0
-
-Route132_MapEvents:: @ 83853BC
- map_events Route132_EventObjects, 0x0, 0x0, 0x0
diff --git a/data/maps/Route132/header.inc b/data/maps/Route132/header.inc
deleted file mode 100644
index 7f73ebbc7..000000000
--- a/data/maps/Route132/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-Route132:: @ 830596C
- .4byte Route132_Layout
- .4byte Route132_MapEvents
- .4byte Route132_MapScripts
- .4byte Route132_MapConnections
- .2byte MUS_GRANROAD
- .2byte 48
- .byte MAPSEC_ROUTE_132
- .byte 0
- .byte WEATHER_SUNNY
- .byte MAP_TYPE_6
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/Route132/map.json b/data/maps/Route132/map.json
new file mode 100644
index 000000000..0bbc25537
--- /dev/null
+++ b/data/maps/Route132/map.json
@@ -0,0 +1,94 @@
+{
+ "id": "MAP_ROUTE132",
+ "name": "Route132",
+ "layout": "LAYOUT_ROUTE132",
+ "music": "MUS_GRANROAD",
+ "region_map_section": "MAPSEC_ROUTE_132",
+ "requires_flash": false,
+ "weather": "WEATHER_SUNNY",
+ "map_type": "MAP_TYPE_6",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": [
+ {
+ "direction": "left",
+ "offset": 0,
+ "map": "MAP_ROUTE133"
+ },
+ {
+ "direction": "right",
+ "offset": 0,
+ "map": "MAP_PACIFIDLOG_TOWN"
+ }
+ ],
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_SWIMMER_M",
+ "x": 7,
+ "y": 3,
+ "elevation": 1,
+ "movement_type": "MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_RIGHT_UP_LEFT",
+ "movement_range_x": 3,
+ "movement_range_y": 3,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "2",
+ "script": "Route132_EventScript_1524E5",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_SWIMMER_F",
+ "x": 41,
+ "y": 16,
+ "elevation": 1,
+ "movement_type": "MOVEMENT_TYPE_WALK_SEQUENCE_UP_RIGHT_DOWN_LEFT",
+ "movement_range_x": 4,
+ "movement_range_y": 4,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "2",
+ "script": "Route132_EventScript_1524FC",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ITEM_BALL",
+ "x": 10,
+ "y": 11,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route132_EventScript_1B16DD",
+ "flag": "FLAG_ITEM_ROUTE132_1"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BLACK_BELT",
+ "x": 46,
+ "y": 28,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "4",
+ "script": "Route132_EventScript_15252A",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_FISHERMAN",
+ "x": 9,
+ "y": 16,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "1",
+ "script": "Route132_EventScript_152513",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/Route133/connections.inc b/data/maps/Route133/connections.inc
deleted file mode 100644
index 28445baca..000000000
--- a/data/maps/Route133/connections.inc
+++ /dev/null
@@ -1,7 +0,0 @@
-Route133_MapConnectionsList:: @ 8308CD0
- connection left, 0, MAP_ROUTE134
- connection right, 0, MAP_ROUTE132
-
-Route133_MapConnections:: @ 8308CE8
- .4byte 0x2
- .4byte Route133_MapConnectionsList
diff --git a/data/maps/Route133/events.inc b/data/maps/Route133/events.inc
deleted file mode 100644
index 22fd8807b..000000000
--- a/data/maps/Route133/events.inc
+++ /dev/null
@@ -1,11 +0,0 @@
-Route133_EventObjects:: @ 83853D0
- object_event 1, EVENT_OBJ_GFX_SWIMMER_M, 0, 6, 4, 1, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 1, 3, Route133_EventScript_152542, 0
- object_event 2, EVENT_OBJ_GFX_SWIMMER_F, 0, 68, 24, 1, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 1, 3, Route133_EventScript_152570, 0
- object_event 3, EVENT_OBJ_GFX_SWIMMER_F, 0, 69, 24, 1, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 1, 3, Route133_EventScript_152559, 0
- object_event 4, EVENT_OBJ_GFX_ITEM_BALL, 0, 58, 15, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route133_EventScript_1B16EA, FLAG_ITEM_ROUTE133_1
- object_event 5, EVENT_OBJ_GFX_ITEM_BALL, 0, 8, 10, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route133_EventScript_1B16F7, FLAG_ITEM_ROUTE133_2
- object_event 6, EVENT_OBJ_GFX_MAN_6, 0, 37, 16, 3, MOVEMENT_TYPE_FACE_DOWN_AND_UP, 1, 1, 1, 1, Route133_EventScript_15259E, 0
- object_event 7, EVENT_OBJ_GFX_MAN_4, 0, 7, 14, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 1, 4, Route133_EventScript_152587, 0
-
-Route133_MapEvents:: @ 8385478
- map_events Route133_EventObjects, 0x0, 0x0, 0x0
diff --git a/data/maps/Route133/header.inc b/data/maps/Route133/header.inc
deleted file mode 100644
index 87aa3c84b..000000000
--- a/data/maps/Route133/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-Route133:: @ 8305988
- .4byte Route133_Layout
- .4byte Route133_MapEvents
- .4byte Route133_MapScripts
- .4byte Route133_MapConnections
- .2byte MUS_GRANROAD
- .2byte 49
- .byte MAPSEC_ROUTE_133
- .byte 0
- .byte WEATHER_SUNNY
- .byte MAP_TYPE_6
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/Route133/map.json b/data/maps/Route133/map.json
new file mode 100644
index 000000000..d0f5c04a1
--- /dev/null
+++ b/data/maps/Route133/map.json
@@ -0,0 +1,120 @@
+{
+ "id": "MAP_ROUTE133",
+ "name": "Route133",
+ "layout": "LAYOUT_ROUTE133",
+ "music": "MUS_GRANROAD",
+ "region_map_section": "MAPSEC_ROUTE_133",
+ "requires_flash": false,
+ "weather": "WEATHER_SUNNY",
+ "map_type": "MAP_TYPE_6",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": [
+ {
+ "direction": "left",
+ "offset": 0,
+ "map": "MAP_ROUTE134"
+ },
+ {
+ "direction": "right",
+ "offset": 0,
+ "map": "MAP_ROUTE132"
+ }
+ ],
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_SWIMMER_M",
+ "x": 6,
+ "y": 4,
+ "elevation": 1,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "3",
+ "script": "Route133_EventScript_152542",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_SWIMMER_F",
+ "x": 68,
+ "y": 24,
+ "elevation": 1,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "3",
+ "script": "Route133_EventScript_152570",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_SWIMMER_F",
+ "x": 69,
+ "y": 24,
+ "elevation": 1,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "3",
+ "script": "Route133_EventScript_152559",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ITEM_BALL",
+ "x": 58,
+ "y": 15,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route133_EventScript_1B16EA",
+ "flag": "FLAG_ITEM_ROUTE133_1"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ITEM_BALL",
+ "x": 8,
+ "y": 10,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Route133_EventScript_1B16F7",
+ "flag": "FLAG_ITEM_ROUTE133_2"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_6",
+ "x": 37,
+ "y": 16,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN_AND_UP",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "1",
+ "script": "Route133_EventScript_15259E",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_4",
+ "x": 7,
+ "y": 14,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "4",
+ "script": "Route133_EventScript_152587",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/Route134/connections.inc b/data/maps/Route134/connections.inc
deleted file mode 100644
index 4b90e83ed..000000000
--- a/data/maps/Route134/connections.inc
+++ /dev/null
@@ -1,7 +0,0 @@
-Route134_MapConnectionsList:: @ 8308CF0
- connection left, 0, MAP_SLATEPORT_CITY
- connection right, 0, MAP_ROUTE133
-
-Route134_MapConnections:: @ 8308D08
- .4byte 0x2
- .4byte Route134_MapConnectionsList
diff --git a/data/maps/Route134/events.inc b/data/maps/Route134/events.inc
deleted file mode 100644
index 5e203e526..000000000
--- a/data/maps/Route134/events.inc
+++ /dev/null
@@ -1,9 +0,0 @@
-Route134_EventObjects:: @ 838548C
- object_event 1, EVENT_OBJ_GFX_SWIMMER_M, 0, 52, 9, 1, MOVEMENT_TYPE_WALK_SEQUENCE_UP_RIGHT_DOWN_LEFT, 3, 5, 1, 2, Route134_EventScript_1525C4, 0
- object_event 2, EVENT_OBJ_GFX_SWIMMER_F, 0, 45, 5, 1, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 1, 3, Route134_EventScript_1525DB, 0
- object_event 3, EVENT_OBJ_GFX_MAN_4, 0, 41, 23, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 1, 1, Route134_EventScript_152609, 0
- object_event 4, EVENT_OBJ_GFX_MAN_6, 0, 65, 14, 3, MOVEMENT_TYPE_FACE_DOWN_AND_RIGHT, 0, 0, 1, 2, Route134_EventScript_1525F2, 0
- object_event 5, EVENT_OBJ_GFX_BLACK_BELT, 0, 56, 16, 3, MOVEMENT_TYPE_WALK_LEFT_AND_RIGHT, 10, 0, 1, 3, Route134_EventScript_152620, 0
-
-Route134_MapEvents:: @ 8385504
- map_events Route134_EventObjects, 0x0, 0x0, 0x0
diff --git a/data/maps/Route134/header.inc b/data/maps/Route134/header.inc
deleted file mode 100644
index f7f6e64fd..000000000
--- a/data/maps/Route134/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-Route134:: @ 83059A4
- .4byte Route134_Layout
- .4byte Route134_MapEvents
- .4byte Route134_MapScripts
- .4byte Route134_MapConnections
- .2byte MUS_GRANROAD
- .2byte 50
- .byte MAPSEC_ROUTE_134
- .byte 0
- .byte WEATHER_SUNNY
- .byte MAP_TYPE_6
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/Route134/map.json b/data/maps/Route134/map.json
new file mode 100644
index 000000000..1db9b4559
--- /dev/null
+++ b/data/maps/Route134/map.json
@@ -0,0 +1,94 @@
+{
+ "id": "MAP_ROUTE134",
+ "name": "Route134",
+ "layout": "LAYOUT_ROUTE134",
+ "music": "MUS_GRANROAD",
+ "region_map_section": "MAPSEC_ROUTE_134",
+ "requires_flash": false,
+ "weather": "WEATHER_SUNNY",
+ "map_type": "MAP_TYPE_6",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": [
+ {
+ "direction": "left",
+ "offset": 0,
+ "map": "MAP_SLATEPORT_CITY"
+ },
+ {
+ "direction": "right",
+ "offset": 0,
+ "map": "MAP_ROUTE133"
+ }
+ ],
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_SWIMMER_M",
+ "x": 52,
+ "y": 9,
+ "elevation": 1,
+ "movement_type": "MOVEMENT_TYPE_WALK_SEQUENCE_UP_RIGHT_DOWN_LEFT",
+ "movement_range_x": 3,
+ "movement_range_y": 5,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "2",
+ "script": "Route134_EventScript_1525C4",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_SWIMMER_F",
+ "x": 45,
+ "y": 5,
+ "elevation": 1,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "3",
+ "script": "Route134_EventScript_1525DB",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_4",
+ "x": 41,
+ "y": 23,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "1",
+ "script": "Route134_EventScript_152609",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_6",
+ "x": 65,
+ "y": 14,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN_AND_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "2",
+ "script": "Route134_EventScript_1525F2",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BLACK_BELT",
+ "x": 56,
+ "y": 16,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WALK_LEFT_AND_RIGHT",
+ "movement_range_x": 10,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "3",
+ "script": "Route134_EventScript_152620",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/RustboroCity/connections.inc b/data/maps/RustboroCity/connections.inc
deleted file mode 100644
index 70e96e5b6..000000000
--- a/data/maps/RustboroCity/connections.inc
+++ /dev/null
@@ -1,8 +0,0 @@
-RustboroCity_MapConnectionsList:: @ 8308768
- connection up, 0, MAP_ROUTE115
- connection down, 0, MAP_ROUTE104
- connection right, 0, MAP_ROUTE116
-
-RustboroCity_MapConnections:: @ 830878C
- .4byte 0x3
- .4byte RustboroCity_MapConnectionsList
diff --git a/data/maps/RustboroCity/events.inc b/data/maps/RustboroCity/events.inc
deleted file mode 100644
index f8d2fa1ef..000000000
--- a/data/maps/RustboroCity/events.inc
+++ /dev/null
@@ -1,59 +0,0 @@
-RustboroCity_EventObjects:: @ 837FD14
- object_event 1, EVENT_OBJ_GFX_WOMAN_7, 0, 22, 34, 3, MOVEMENT_TYPE_WANDER_UP_AND_DOWN, 0, 1, 0, 0, RustboroCity_EventScript_14C3B1, 0
- object_event 2, EVENT_OBJ_GFX_FAT_MAN, 0, 19, 13, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, RustboroCity_EventScript_14C386, 0
- object_event 3, EVENT_OBJ_GFX_LITTLE_BOY_1, 0, 25, 37, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, RustboroCity_EventScript_14C401, 0
- object_event 4, EVENT_OBJ_GFX_LITTLE_GIRL_1, 0, 21, 46, 3, MOVEMENT_TYPE_WANDER_UP_AND_DOWN, 0, 1, 0, 0, RustboroCity_EventScript_14C3F8, 0
- object_event 5, EVENT_OBJ_GFX_BOY_2, 0, 12, 45, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, RustboroCity_EventScript_14C3D9, 0
- object_event 6, EVENT_OBJ_GFX_MAN_4, 0, 26, 23, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, RustboroCity_EventScript_14C3BA, 0
- object_event 7, EVENT_OBJ_GFX_LITTLE_BOY_2, 0, 24, 51, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, RustboroCity_EventScript_14C449, 0
- object_event 8, EVENT_OBJ_GFX_LITTLE_GIRL_2, 0, 25, 51, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, RustboroCity_EventScript_14C45F, 0
- object_event 9, EVENT_OBJ_GFX_MAN_2, 0, 30, 10, 3, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 0, 0, RustboroCity_EventScript_14C5FF, FLAG_HIDE_DEVON_RUSTBORO
- object_event 10, EVENT_OBJ_GFX_VAR_1, 0, 13, 21, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, 0x0, FLAG_HIDE_GRUNT_RUSTBORO
- object_event 11, EVENT_OBJ_GFX_MAN_7, 0, 13, 34, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, RustboroCity_EventScript_14C3A5, 0
- object_event 12, EVENT_OBJ_GFX_ITEM_BALL, 0, 36, 51, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, RustboroCity_EventScript_1B172B, FLAG_ITEM_RUSTBORO_1
- object_event 13, EVENT_OBJ_GFX_MAN_5, 0, 19, 27, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 1, 0, 0, RustboroCity_EventScript_14C475, 0
- object_event 14, EVENT_OBJ_GFX_VAR_0, 0, 16, 50, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, RustboroCity_EventScript_14C8DA, FLAG_HIDE_RIVAL_RUSTBORO
-
-RustboroCity_MapWarps:: @ 837FE64
- warp_def 27, 19, 0, 0, MAP_RUSTBORO_CITY_GYM
- warp_def 13, 30, 0, 0, MAP_RUSTBORO_CITY_FLAT1_1F
- warp_def 16, 45, 0, 0, MAP_RUSTBORO_CITY_MART
- warp_def 16, 38, 0, 0, MAP_RUSTBORO_CITY_POKEMON_CENTER_1F
- warp_def 27, 34, 0, 0, MAP_RUSTBORO_CITY_POKEMON_SCHOOL
- warp_def 11, 15, 0, 0, MAP_RUSTBORO_CITY_DEVON_CORP_1F
- warp_def 12, 15, 0, 1, MAP_RUSTBORO_CITY_DEVON_CORP_1F
- warp_def 33, 19, 0, 0, MAP_RUSTBORO_CITY_HOUSE1
- warp_def 9, 38, 0, 0, MAP_RUSTBORO_CITY_CUTTERS_HOUSE
- warp_def 30, 28, 0, 0, MAP_RUSTBORO_CITY_HOUSE2
- warp_def 5, 51, 0, 0, MAP_RUSTBORO_CITY_FLAT2_1F
- warp_def 26, 46, 0, 0, MAP_RUSTBORO_CITY_HOUSE3
-
-RustboroCity_MapCoordEvents:: @ 837FEC4
- coord_event 23, 20, 3, VAR_RUSTBORO_STATE, 1, RustboroCity_EventScript_14C481
- coord_event 23, 21, 3, VAR_RUSTBORO_STATE, 1, RustboroCity_EventScript_14C498
- coord_event 23, 22, 3, VAR_RUSTBORO_STATE, 1, RustboroCity_EventScript_14C4AF
- coord_event 23, 23, 3, VAR_RUSTBORO_STATE, 1, RustboroCity_EventScript_14C4C6
- coord_event 23, 24, 3, VAR_RUSTBORO_STATE, 1, RustboroCity_EventScript_14C4DD
- coord_event 30, 9, 3, VAR_RUSTBORO_STATE, 2, RustboroCity_EventScript_14C620
- coord_event 29, 10, 3, VAR_RUSTBORO_STATE, 2, RustboroCity_EventScript_14C62C
- coord_event 30, 11, 3, VAR_RUSTBORO_STATE, 2, RustboroCity_EventScript_14C638
- coord_event 30, 12, 3, VAR_RUSTBORO_STATE, 2, RustboroCity_EventScript_14C644
- coord_event 30, 9, 3, VAR_RUSTBORO_STATE, 4, RustboroCity_EventScript_14C74D
- coord_event 31, 10, 3, VAR_RUSTBORO_STATE, 4, RustboroCity_EventScript_14C759
- coord_event 30, 11, 3, VAR_RUSTBORO_STATE, 4, RustboroCity_EventScript_14C765
- coord_event 30, 12, 3, VAR_RUSTBORO_STATE, 4, RustboroCity_EventScript_14C771
-
-RustboroCity_MapBGEvents:: @ 837FF94
- bg_event 23, 19, 0, BG_EVENT_PLAYER_FACING_ANY, RustboroCity_EventScript_14C41C
- bg_event 25, 35, 0, BG_EVENT_PLAYER_FACING_ANY, RustboroCity_EventScript_14C437
- bg_event 17, 45, 0, BG_EVENT_PLAYER_FACING_NORTH, RustboroCity_EventScript_1A00E1
- bg_event 18, 38, 0, BG_EVENT_PLAYER_FACING_NORTH, RustboroCity_EventScript_1A00EA
- bg_event 19, 49, 0, BG_EVENT_PLAYER_FACING_ANY, RustboroCity_EventScript_14C42E
- bg_event 18, 45, 0, BG_EVENT_PLAYER_FACING_NORTH, RustboroCity_EventScript_1A00E1
- bg_event 17, 38, 0, BG_EVENT_PLAYER_FACING_NORTH, RustboroCity_EventScript_1A00EA
- bg_event 17, 20, 0, BG_EVENT_PLAYER_FACING_ANY, RustboroCity_EventScript_14C413
- bg_event 30, 8, 0, BG_EVENT_PLAYER_FACING_ANY, RustboroCity_EventScript_14C40A
- bg_event 12, 38, 3, BG_EVENT_PLAYER_FACING_ANY, RustboroCity_EventScript_14C440
-
-RustboroCity_MapEvents:: @ 838000C
- map_events RustboroCity_EventObjects, RustboroCity_MapWarps, RustboroCity_MapCoordEvents, RustboroCity_MapBGEvents
diff --git a/data/maps/RustboroCity/header.inc b/data/maps/RustboroCity/header.inc
deleted file mode 100644
index 7b63f0119..000000000
--- a/data/maps/RustboroCity/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-RustboroCity:: @ 830549C
- .4byte RustboroCity_Layout
- .4byte RustboroCity_MapEvents
- .4byte RustboroCity_MapScripts
- .4byte RustboroCity_MapConnections
- .2byte MUS_GOTOWN
- .2byte 4
- .byte MAPSEC_RUSTBORO_CITY
- .byte 0
- .byte WEATHER_SUNNY
- .byte MAP_TYPE_CITY
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/RustboroCity/map.json b/data/maps/RustboroCity/map.json
new file mode 100644
index 000000000..eed60f018
--- /dev/null
+++ b/data/maps/RustboroCity/map.json
@@ -0,0 +1,500 @@
+{
+ "id": "MAP_RUSTBORO_CITY",
+ "name": "RustboroCity",
+ "layout": "LAYOUT_RUSTBORO_CITY",
+ "music": "MUS_GOTOWN",
+ "region_map_section": "MAPSEC_RUSTBORO_CITY",
+ "requires_flash": false,
+ "weather": "WEATHER_SUNNY",
+ "map_type": "MAP_TYPE_CITY",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": [
+ {
+ "direction": "up",
+ "offset": 0,
+ "map": "MAP_ROUTE115"
+ },
+ {
+ "direction": "down",
+ "offset": 0,
+ "map": "MAP_ROUTE104"
+ },
+ {
+ "direction": "right",
+ "offset": 0,
+ "map": "MAP_ROUTE116"
+ }
+ ],
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_7",
+ "x": 22,
+ "y": 34,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_UP_AND_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "RustboroCity_EventScript_14C3B1",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_FAT_MAN",
+ "x": 19,
+ "y": 13,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "RustboroCity_EventScript_14C386",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_LITTLE_BOY_1",
+ "x": 25,
+ "y": 37,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "RustboroCity_EventScript_14C401",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_LITTLE_GIRL_1",
+ "x": 21,
+ "y": 46,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_UP_AND_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "RustboroCity_EventScript_14C3F8",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BOY_2",
+ "x": 12,
+ "y": 45,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "RustboroCity_EventScript_14C3D9",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_4",
+ "x": 26,
+ "y": 23,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "RustboroCity_EventScript_14C3BA",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_LITTLE_BOY_2",
+ "x": 24,
+ "y": 51,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "RustboroCity_EventScript_14C449",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_LITTLE_GIRL_2",
+ "x": 25,
+ "y": 51,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "RustboroCity_EventScript_14C45F",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_2",
+ "x": 30,
+ "y": 10,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "RustboroCity_EventScript_14C5FF",
+ "flag": "FLAG_HIDE_DEVON_RUSTBORO"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_1",
+ "x": 13,
+ "y": 21,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_HIDE_GRUNT_RUSTBORO"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_7",
+ "x": 13,
+ "y": 34,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "RustboroCity_EventScript_14C3A5",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ITEM_BALL",
+ "x": 36,
+ "y": 51,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "RustboroCity_EventScript_1B172B",
+ "flag": "FLAG_ITEM_RUSTBORO_1"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_5",
+ "x": 19,
+ "y": 27,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "RustboroCity_EventScript_14C475",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_0",
+ "x": 16,
+ "y": 50,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "RustboroCity_EventScript_14C8DA",
+ "flag": "FLAG_HIDE_RIVAL_RUSTBORO"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 27,
+ "y": 19,
+ "elevation": 0,
+ "dest_map": "MAP_RUSTBORO_CITY_GYM",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 13,
+ "y": 30,
+ "elevation": 0,
+ "dest_map": "MAP_RUSTBORO_CITY_FLAT1_1F",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 16,
+ "y": 45,
+ "elevation": 0,
+ "dest_map": "MAP_RUSTBORO_CITY_MART",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 16,
+ "y": 38,
+ "elevation": 0,
+ "dest_map": "MAP_RUSTBORO_CITY_POKEMON_CENTER_1F",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 27,
+ "y": 34,
+ "elevation": 0,
+ "dest_map": "MAP_RUSTBORO_CITY_POKEMON_SCHOOL",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 11,
+ "y": 15,
+ "elevation": 0,
+ "dest_map": "MAP_RUSTBORO_CITY_DEVON_CORP_1F",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 12,
+ "y": 15,
+ "elevation": 0,
+ "dest_map": "MAP_RUSTBORO_CITY_DEVON_CORP_1F",
+ "dest_warp_id": 1
+ },
+ {
+ "x": 33,
+ "y": 19,
+ "elevation": 0,
+ "dest_map": "MAP_RUSTBORO_CITY_HOUSE1",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 9,
+ "y": 38,
+ "elevation": 0,
+ "dest_map": "MAP_RUSTBORO_CITY_CUTTERS_HOUSE",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 30,
+ "y": 28,
+ "elevation": 0,
+ "dest_map": "MAP_RUSTBORO_CITY_HOUSE2",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 5,
+ "y": 51,
+ "elevation": 0,
+ "dest_map": "MAP_RUSTBORO_CITY_FLAT2_1F",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 26,
+ "y": 46,
+ "elevation": 0,
+ "dest_map": "MAP_RUSTBORO_CITY_HOUSE3",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [
+ {
+ "type": "trigger",
+ "x": 23,
+ "y": 20,
+ "elevation": 3,
+ "var": "VAR_RUSTBORO_STATE",
+ "var_value": "1",
+ "script": "RustboroCity_EventScript_14C481"
+ },
+ {
+ "type": "trigger",
+ "x": 23,
+ "y": 21,
+ "elevation": 3,
+ "var": "VAR_RUSTBORO_STATE",
+ "var_value": "1",
+ "script": "RustboroCity_EventScript_14C498"
+ },
+ {
+ "type": "trigger",
+ "x": 23,
+ "y": 22,
+ "elevation": 3,
+ "var": "VAR_RUSTBORO_STATE",
+ "var_value": "1",
+ "script": "RustboroCity_EventScript_14C4AF"
+ },
+ {
+ "type": "trigger",
+ "x": 23,
+ "y": 23,
+ "elevation": 3,
+ "var": "VAR_RUSTBORO_STATE",
+ "var_value": "1",
+ "script": "RustboroCity_EventScript_14C4C6"
+ },
+ {
+ "type": "trigger",
+ "x": 23,
+ "y": 24,
+ "elevation": 3,
+ "var": "VAR_RUSTBORO_STATE",
+ "var_value": "1",
+ "script": "RustboroCity_EventScript_14C4DD"
+ },
+ {
+ "type": "trigger",
+ "x": 30,
+ "y": 9,
+ "elevation": 3,
+ "var": "VAR_RUSTBORO_STATE",
+ "var_value": "2",
+ "script": "RustboroCity_EventScript_14C620"
+ },
+ {
+ "type": "trigger",
+ "x": 29,
+ "y": 10,
+ "elevation": 3,
+ "var": "VAR_RUSTBORO_STATE",
+ "var_value": "2",
+ "script": "RustboroCity_EventScript_14C62C"
+ },
+ {
+ "type": "trigger",
+ "x": 30,
+ "y": 11,
+ "elevation": 3,
+ "var": "VAR_RUSTBORO_STATE",
+ "var_value": "2",
+ "script": "RustboroCity_EventScript_14C638"
+ },
+ {
+ "type": "trigger",
+ "x": 30,
+ "y": 12,
+ "elevation": 3,
+ "var": "VAR_RUSTBORO_STATE",
+ "var_value": "2",
+ "script": "RustboroCity_EventScript_14C644"
+ },
+ {
+ "type": "trigger",
+ "x": 30,
+ "y": 9,
+ "elevation": 3,
+ "var": "VAR_RUSTBORO_STATE",
+ "var_value": "4",
+ "script": "RustboroCity_EventScript_14C74D"
+ },
+ {
+ "type": "trigger",
+ "x": 31,
+ "y": 10,
+ "elevation": 3,
+ "var": "VAR_RUSTBORO_STATE",
+ "var_value": "4",
+ "script": "RustboroCity_EventScript_14C759"
+ },
+ {
+ "type": "trigger",
+ "x": 30,
+ "y": 11,
+ "elevation": 3,
+ "var": "VAR_RUSTBORO_STATE",
+ "var_value": "4",
+ "script": "RustboroCity_EventScript_14C765"
+ },
+ {
+ "type": "trigger",
+ "x": 30,
+ "y": 12,
+ "elevation": 3,
+ "var": "VAR_RUSTBORO_STATE",
+ "var_value": "4",
+ "script": "RustboroCity_EventScript_14C771"
+ }
+ ],
+ "bg_events": [
+ {
+ "type": "sign",
+ "x": 23,
+ "y": 19,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "RustboroCity_EventScript_14C41C"
+ },
+ {
+ "type": "sign",
+ "x": 25,
+ "y": 35,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "RustboroCity_EventScript_14C437"
+ },
+ {
+ "type": "sign",
+ "x": 17,
+ "y": 45,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH",
+ "script": "RustboroCity_EventScript_1A00E1"
+ },
+ {
+ "type": "sign",
+ "x": 18,
+ "y": 38,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH",
+ "script": "RustboroCity_EventScript_1A00EA"
+ },
+ {
+ "type": "sign",
+ "x": 19,
+ "y": 49,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "RustboroCity_EventScript_14C42E"
+ },
+ {
+ "type": "sign",
+ "x": 18,
+ "y": 45,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH",
+ "script": "RustboroCity_EventScript_1A00E1"
+ },
+ {
+ "type": "sign",
+ "x": 17,
+ "y": 38,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH",
+ "script": "RustboroCity_EventScript_1A00EA"
+ },
+ {
+ "type": "sign",
+ "x": 17,
+ "y": 20,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "RustboroCity_EventScript_14C413"
+ },
+ {
+ "type": "sign",
+ "x": 30,
+ "y": 8,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "RustboroCity_EventScript_14C40A"
+ },
+ {
+ "type": "sign",
+ "x": 12,
+ "y": 38,
+ "elevation": 3,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "RustboroCity_EventScript_14C440"
+ }
+ ]
+} \ No newline at end of file
diff --git a/data/maps/RustboroCity_CuttersHouse/events.inc b/data/maps/RustboroCity_CuttersHouse/events.inc
deleted file mode 100644
index 8426e6f66..000000000
--- a/data/maps/RustboroCity_CuttersHouse/events.inc
+++ /dev/null
@@ -1,10 +0,0 @@
-RustboroCity_CuttersHouse_EventObjects:: @ 8388D9C
- object_event 1, EVENT_OBJ_GFX_MAN_3, 0, 7, 5, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, RustboroCity_CuttersHouse_EventScript_157D27, 0
- object_event 2, EVENT_OBJ_GFX_LASS, 0, 9, 2, 3, MOVEMENT_TYPE_WANDER_LEFT_AND_RIGHT, 1, 0, 0, 0, RustboroCity_CuttersHouse_EventScript_157D5D, 0
-
-RustboroCity_CuttersHouse_MapWarps:: @ 8388DCC
- warp_def 5, 8, 0, 8, MAP_RUSTBORO_CITY
- warp_def 6, 8, 0, 8, MAP_RUSTBORO_CITY
-
-RustboroCity_CuttersHouse_MapEvents:: @ 8388DDC
- map_events RustboroCity_CuttersHouse_EventObjects, RustboroCity_CuttersHouse_MapWarps, 0x0, 0x0
diff --git a/data/maps/RustboroCity_CuttersHouse/header.inc b/data/maps/RustboroCity_CuttersHouse/header.inc
deleted file mode 100644
index 0dce55062..000000000
--- a/data/maps/RustboroCity_CuttersHouse/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-RustboroCity_CuttersHouse:: @ 8306360
- .4byte RustboroCity_CuttersHouse_Layout
- .4byte RustboroCity_CuttersHouse_MapEvents
- .4byte RustboroCity_CuttersHouse_MapScripts
- .4byte 0x0
- .2byte MUS_GOTOWN
- .2byte 98
- .byte MAPSEC_RUSTBORO_CITY
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/RustboroCity_CuttersHouse/map.json b/data/maps/RustboroCity_CuttersHouse/map.json
new file mode 100644
index 000000000..d3de8eede
--- /dev/null
+++ b/data/maps/RustboroCity_CuttersHouse/map.json
@@ -0,0 +1,59 @@
+{
+ "id": "MAP_RUSTBORO_CITY_CUTTERS_HOUSE",
+ "name": "RustboroCity_CuttersHouse",
+ "layout": "LAYOUT_RUSTBORO_CITY_CUTTERS_HOUSE",
+ "music": "MUS_GOTOWN",
+ "region_map_section": "MAPSEC_RUSTBORO_CITY",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_3",
+ "x": 7,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "RustboroCity_CuttersHouse_EventScript_157D27",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_LASS",
+ "x": 9,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_LEFT_AND_RIGHT",
+ "movement_range_x": 1,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "RustboroCity_CuttersHouse_EventScript_157D5D",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 5,
+ "y": 8,
+ "elevation": 0,
+ "dest_map": "MAP_RUSTBORO_CITY",
+ "dest_warp_id": 8
+ },
+ {
+ "x": 6,
+ "y": 8,
+ "elevation": 0,
+ "dest_map": "MAP_RUSTBORO_CITY",
+ "dest_warp_id": 8
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/RustboroCity_DevonCorp_1F/events.inc b/data/maps/RustboroCity_DevonCorp_1F/events.inc
deleted file mode 100644
index 4908cbd00..000000000
--- a/data/maps/RustboroCity_DevonCorp_1F/events.inc
+++ /dev/null
@@ -1,12 +0,0 @@
-RustboroCity_DevonCorp_1F_EventObjects:: @ 838880C
- object_event 1, EVENT_OBJ_GFX_MAN_7, 0, 2, 6, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, RustboroCity_DevonCorp_1F_EventScript_157422, 0
- object_event 2, EVENT_OBJ_GFX_MAN_7, 0, 15, 5, 3, MOVEMENT_TYPE_WANDER_AROUND, 2, 1, 0, 0, RustboroCity_DevonCorp_1F_EventScript_157454, 0
- object_event 3, EVENT_OBJ_GFX_WOMAN_4, 0, 5, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, RustboroCity_DevonCorp_1F_EventScript_15748F, 0
-
-RustboroCity_DevonCorp_1F_MapWarps:: @ 8388854
- warp_def 5, 8, 0, 5, MAP_RUSTBORO_CITY
- warp_def 6, 8, 0, 6, MAP_RUSTBORO_CITY
- warp_def 14, 1, 0, 0, MAP_RUSTBORO_CITY_DEVON_CORP_2F
-
-RustboroCity_DevonCorp_1F_MapEvents:: @ 838886C
- map_events RustboroCity_DevonCorp_1F_EventObjects, RustboroCity_DevonCorp_1F_MapWarps, 0x0, 0x0
diff --git a/data/maps/RustboroCity_DevonCorp_1F/header.inc b/data/maps/RustboroCity_DevonCorp_1F/header.inc
deleted file mode 100644
index b32d57093..000000000
--- a/data/maps/RustboroCity_DevonCorp_1F/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-RustboroCity_DevonCorp_1F:: @ 830622C
- .4byte RustboroCity_DevonCorp_1F_Layout
- .4byte RustboroCity_DevonCorp_1F_MapEvents
- .4byte RustboroCity_DevonCorp_1F_MapScripts
- .4byte 0x0
- .2byte MUS_GOTOWN
- .2byte 92
- .byte MAPSEC_RUSTBORO_CITY
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/RustboroCity_DevonCorp_1F/map.json b/data/maps/RustboroCity_DevonCorp_1F/map.json
new file mode 100644
index 000000000..8958b1f0d
--- /dev/null
+++ b/data/maps/RustboroCity_DevonCorp_1F/map.json
@@ -0,0 +1,79 @@
+{
+ "id": "MAP_RUSTBORO_CITY_DEVON_CORP_1F",
+ "name": "RustboroCity_DevonCorp_1F",
+ "layout": "LAYOUT_RUSTBORO_CITY_DEVON_CORP_1F",
+ "music": "MUS_GOTOWN",
+ "region_map_section": "MAPSEC_RUSTBORO_CITY",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_7",
+ "x": 2,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "RustboroCity_DevonCorp_1F_EventScript_157422",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_7",
+ "x": 15,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_AROUND",
+ "movement_range_x": 2,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "RustboroCity_DevonCorp_1F_EventScript_157454",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_4",
+ "x": 5,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "RustboroCity_DevonCorp_1F_EventScript_15748F",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 5,
+ "y": 8,
+ "elevation": 0,
+ "dest_map": "MAP_RUSTBORO_CITY",
+ "dest_warp_id": 5
+ },
+ {
+ "x": 6,
+ "y": 8,
+ "elevation": 0,
+ "dest_map": "MAP_RUSTBORO_CITY",
+ "dest_warp_id": 6
+ },
+ {
+ "x": 14,
+ "y": 1,
+ "elevation": 0,
+ "dest_map": "MAP_RUSTBORO_CITY_DEVON_CORP_2F",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/RustboroCity_DevonCorp_2F/events.inc b/data/maps/RustboroCity_DevonCorp_2F/events.inc
deleted file mode 100644
index 956b7d89d..000000000
--- a/data/maps/RustboroCity_DevonCorp_2F/events.inc
+++ /dev/null
@@ -1,13 +0,0 @@
-RustboroCity_DevonCorp_2F_EventObjects:: @ 8388880
- object_event 1, EVENT_OBJ_GFX_SCIENTIST_1, 0, 6, 5, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, RustboroCity_DevonCorp_2F_EventScript_1574E2, 0
- object_event 2, EVENT_OBJ_GFX_SCIENTIST_1, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, RustboroCity_DevonCorp_2F_EventScript_1574F9, 0
- object_event 3, EVENT_OBJ_GFX_SCIENTIST_1, 0, 2, 6, 3, MOVEMENT_TYPE_FACE_UP_AND_LEFT, 0, 0, 0, 0, RustboroCity_DevonCorp_2F_EventScript_157523, 0
- object_event 4, EVENT_OBJ_GFX_SCIENTIST_1, 0, 10, 5, 3, MOVEMENT_TYPE_FACE_UP, 0, 10, 0, 0, RustboroCity_DevonCorp_2F_EventScript_15754D, 0
- object_event 5, EVENT_OBJ_GFX_SCIENTIST_1, 0, 14, 8, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 0, 0, RustboroCity_DevonCorp_2F_EventScript_157564, 0
-
-RustboroCity_DevonCorp_2F_MapWarps:: @ 83888F8
- warp_def 14, 1, 0, 2, MAP_RUSTBORO_CITY_DEVON_CORP_1F
- warp_def 2, 1, 0, 0, MAP_RUSTBORO_CITY_DEVON_CORP_3F
-
-RustboroCity_DevonCorp_2F_MapEvents:: @ 8388908
- map_events RustboroCity_DevonCorp_2F_EventObjects, RustboroCity_DevonCorp_2F_MapWarps, 0x0, 0x0
diff --git a/data/maps/RustboroCity_DevonCorp_2F/header.inc b/data/maps/RustboroCity_DevonCorp_2F/header.inc
deleted file mode 100644
index a6c8da14f..000000000
--- a/data/maps/RustboroCity_DevonCorp_2F/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-RustboroCity_DevonCorp_2F:: @ 8306248
- .4byte RustboroCity_DevonCorp_2F_Layout
- .4byte RustboroCity_DevonCorp_2F_MapEvents
- .4byte RustboroCity_DevonCorp_2F_MapScripts
- .4byte 0x0
- .2byte MUS_GOTOWN
- .2byte 93
- .byte MAPSEC_RUSTBORO_CITY
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/RustboroCity_DevonCorp_2F/map.json b/data/maps/RustboroCity_DevonCorp_2F/map.json
new file mode 100644
index 000000000..fa0083821
--- /dev/null
+++ b/data/maps/RustboroCity_DevonCorp_2F/map.json
@@ -0,0 +1,98 @@
+{
+ "id": "MAP_RUSTBORO_CITY_DEVON_CORP_2F",
+ "name": "RustboroCity_DevonCorp_2F",
+ "layout": "LAYOUT_RUSTBORO_CITY_DEVON_CORP_2F",
+ "music": "MUS_GOTOWN",
+ "region_map_section": "MAPSEC_RUSTBORO_CITY",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_SCIENTIST_1",
+ "x": 6,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "RustboroCity_DevonCorp_2F_EventScript_1574E2",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_SCIENTIST_1",
+ "x": 1,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "RustboroCity_DevonCorp_2F_EventScript_1574F9",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_SCIENTIST_1",
+ "x": 2,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP_AND_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "RustboroCity_DevonCorp_2F_EventScript_157523",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_SCIENTIST_1",
+ "x": 10,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP",
+ "movement_range_x": 0,
+ "movement_range_y": 10,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "RustboroCity_DevonCorp_2F_EventScript_15754D",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_SCIENTIST_1",
+ "x": 14,
+ "y": 8,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "RustboroCity_DevonCorp_2F_EventScript_157564",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 14,
+ "y": 1,
+ "elevation": 0,
+ "dest_map": "MAP_RUSTBORO_CITY_DEVON_CORP_1F",
+ "dest_warp_id": 2
+ },
+ {
+ "x": 2,
+ "y": 1,
+ "elevation": 0,
+ "dest_map": "MAP_RUSTBORO_CITY_DEVON_CORP_3F",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/RustboroCity_DevonCorp_3F/events.inc b/data/maps/RustboroCity_DevonCorp_3F/events.inc
deleted file mode 100644
index f8f3033ba..000000000
--- a/data/maps/RustboroCity_DevonCorp_3F/events.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-RustboroCity_DevonCorp_3F_EventObjects:: @ 838891C
- object_event 1, EVENT_OBJ_GFX_GENTLEMAN, 0, 17, 5, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, RustboroCity_DevonCorp_3F_EventScript_15783B, 0
- object_event 2, EVENT_OBJ_GFX_MAN_2, 0, 3, 5, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, RustboroCity_DevonCorp_3F_EventScript_1578B0, FLAG_HIDE_EMPLOYEE_DEVON_CORP_3F
- object_event 3, EVENT_OBJ_GFX_GENTLEMAN, 0, 15, 5, 3, MOVEMENT_TYPE_INVISIBLE, 1, 1, 0, 0, RustboroCity_DevonCorp_3F_EventScript_15783B, 0
-
-RustboroCity_DevonCorp_3F_MapWarps:: @ 8388964
- warp_def 2, 1, 0, 1, MAP_RUSTBORO_CITY_DEVON_CORP_2F
-
-RustboroCity_DevonCorp_3F_MapBGEvents:: @ 838896C
- bg_event 1, 5, 3, BG_EVENT_PLAYER_FACING_ANY, RustboroCity_DevonCorp_3F_EventScript_1578CF
- bg_event 1, 7, 3, BG_EVENT_PLAYER_FACING_ANY, RustboroCity_DevonCorp_3F_EventScript_1578CF
-
-RustboroCity_DevonCorp_3F_MapEvents:: @ 8388984
- map_events RustboroCity_DevonCorp_3F_EventObjects, RustboroCity_DevonCorp_3F_MapWarps, 0x0, RustboroCity_DevonCorp_3F_MapBGEvents
diff --git a/data/maps/RustboroCity_DevonCorp_3F/header.inc b/data/maps/RustboroCity_DevonCorp_3F/header.inc
deleted file mode 100644
index c38db5048..000000000
--- a/data/maps/RustboroCity_DevonCorp_3F/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-RustboroCity_DevonCorp_3F:: @ 8306264
- .4byte RustboroCity_DevonCorp_3F_Layout
- .4byte RustboroCity_DevonCorp_3F_MapEvents
- .4byte RustboroCity_DevonCorp_3F_MapScripts
- .4byte 0x0
- .2byte MUS_GOTOWN
- .2byte 270
- .byte MAPSEC_RUSTBORO_CITY
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/RustboroCity_DevonCorp_3F/map.json b/data/maps/RustboroCity_DevonCorp_3F/map.json
new file mode 100644
index 000000000..f0ee24e39
--- /dev/null
+++ b/data/maps/RustboroCity_DevonCorp_3F/map.json
@@ -0,0 +1,82 @@
+{
+ "id": "MAP_RUSTBORO_CITY_DEVON_CORP_3F",
+ "name": "RustboroCity_DevonCorp_3F",
+ "layout": "LAYOUT_RUSTBORO_CITY_DEVON_CORP_3F",
+ "music": "MUS_GOTOWN",
+ "region_map_section": "MAPSEC_RUSTBORO_CITY",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_GENTLEMAN",
+ "x": 17,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "RustboroCity_DevonCorp_3F_EventScript_15783B",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_2",
+ "x": 3,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "RustboroCity_DevonCorp_3F_EventScript_1578B0",
+ "flag": "FLAG_HIDE_EMPLOYEE_DEVON_CORP_3F"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_GENTLEMAN",
+ "x": 15,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_INVISIBLE",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "RustboroCity_DevonCorp_3F_EventScript_15783B",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 2,
+ "y": 1,
+ "elevation": 0,
+ "dest_map": "MAP_RUSTBORO_CITY_DEVON_CORP_2F",
+ "dest_warp_id": 1
+ }
+ ],
+ "coord_events": [],
+ "bg_events": [
+ {
+ "type": "sign",
+ "x": 1,
+ "y": 5,
+ "elevation": 3,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "RustboroCity_DevonCorp_3F_EventScript_1578CF"
+ },
+ {
+ "type": "sign",
+ "x": 1,
+ "y": 7,
+ "elevation": 3,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "RustboroCity_DevonCorp_3F_EventScript_1578CF"
+ }
+ ]
+} \ No newline at end of file
diff --git a/data/maps/RustboroCity_Flat1_1F/events.inc b/data/maps/RustboroCity_Flat1_1F/events.inc
deleted file mode 100644
index 9dd65fd69..000000000
--- a/data/maps/RustboroCity_Flat1_1F/events.inc
+++ /dev/null
@@ -1,11 +0,0 @@
-RustboroCity_Flat1_1F_EventObjects:: @ 8388CB8
- object_event 1, EVENT_OBJ_GFX_MAN_4, 0, 9, 4, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, RustboroCity_Flat1_1F_EventScript_157C60, 0
- object_event 2, EVENT_OBJ_GFX_WOMAN_7, 0, 12, 4, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, RustboroCity_Flat1_1F_EventScript_157C69, 0
-
-RustboroCity_Flat1_1F_MapWarps:: @ 8388CE8
- warp_def 6, 7, 0, 1, MAP_RUSTBORO_CITY
- warp_def 7, 7, 0, 1, MAP_RUSTBORO_CITY
- warp_def 2, 1, 0, 0, MAP_RUSTBORO_CITY_FLAT1_2F
-
-RustboroCity_Flat1_1F_MapEvents:: @ 8388D00
- map_events RustboroCity_Flat1_1F_EventObjects, RustboroCity_Flat1_1F_MapWarps, 0x0, 0x0
diff --git a/data/maps/RustboroCity_Flat1_1F/header.inc b/data/maps/RustboroCity_Flat1_1F/header.inc
deleted file mode 100644
index 1565c7d46..000000000
--- a/data/maps/RustboroCity_Flat1_1F/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-RustboroCity_Flat1_1F:: @ 830630C
- .4byte RustboroCity_Flat1_1F_Layout
- .4byte RustboroCity_Flat1_1F_MapEvents
- .4byte RustboroCity_Flat1_1F_MapScripts
- .4byte 0x0
- .2byte MUS_GOTOWN
- .2byte 314
- .byte MAPSEC_RUSTBORO_CITY
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/RustboroCity_Flat1_1F/map.json b/data/maps/RustboroCity_Flat1_1F/map.json
new file mode 100644
index 000000000..c31c09f47
--- /dev/null
+++ b/data/maps/RustboroCity_Flat1_1F/map.json
@@ -0,0 +1,66 @@
+{
+ "id": "MAP_RUSTBORO_CITY_FLAT1_1F",
+ "name": "RustboroCity_Flat1_1F",
+ "layout": "LAYOUT_RUSTBORO_CITY_FLAT1_1F",
+ "music": "MUS_GOTOWN",
+ "region_map_section": "MAPSEC_RUSTBORO_CITY",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_4",
+ "x": 9,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "RustboroCity_Flat1_1F_EventScript_157C60",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_7",
+ "x": 12,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "RustboroCity_Flat1_1F_EventScript_157C69",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 6,
+ "y": 7,
+ "elevation": 0,
+ "dest_map": "MAP_RUSTBORO_CITY",
+ "dest_warp_id": 1
+ },
+ {
+ "x": 7,
+ "y": 7,
+ "elevation": 0,
+ "dest_map": "MAP_RUSTBORO_CITY",
+ "dest_warp_id": 1
+ },
+ {
+ "x": 2,
+ "y": 1,
+ "elevation": 0,
+ "dest_map": "MAP_RUSTBORO_CITY_FLAT1_2F",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/RustboroCity_Flat1_2F/events.inc b/data/maps/RustboroCity_Flat1_2F/events.inc
deleted file mode 100644
index 1caaa105e..000000000
--- a/data/maps/RustboroCity_Flat1_2F/events.inc
+++ /dev/null
@@ -1,8 +0,0 @@
-RustboroCity_Flat1_2F_EventObjects:: @ 8388D14
- object_event 1, EVENT_OBJ_GFX_WOMAN_2, 0, 8, 6, 3, MOVEMENT_TYPE_WANDER_LEFT_AND_RIGHT, 3, 1, 0, 0, RustboroCity_Flat1_2F_EventScript_157C73, 0
-
-RustboroCity_Flat1_2F_MapWarps:: @ 8388D2C
- warp_def 2, 1, 0, 2, MAP_RUSTBORO_CITY_FLAT1_1F
-
-RustboroCity_Flat1_2F_MapEvents:: @ 8388D34
- map_events RustboroCity_Flat1_2F_EventObjects, RustboroCity_Flat1_2F_MapWarps, 0x0, 0x0
diff --git a/data/maps/RustboroCity_Flat1_2F/header.inc b/data/maps/RustboroCity_Flat1_2F/header.inc
deleted file mode 100644
index 61c97d1ae..000000000
--- a/data/maps/RustboroCity_Flat1_2F/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-RustboroCity_Flat1_2F:: @ 8306328
- .4byte RustboroCity_Flat1_2F_Layout
- .4byte RustboroCity_Flat1_2F_MapEvents
- .4byte RustboroCity_Flat1_2F_MapScripts
- .4byte 0x0
- .2byte MUS_GOTOWN
- .2byte 315
- .byte MAPSEC_RUSTBORO_CITY
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/RustboroCity_Flat1_2F/map.json b/data/maps/RustboroCity_Flat1_2F/map.json
new file mode 100644
index 000000000..357559246
--- /dev/null
+++ b/data/maps/RustboroCity_Flat1_2F/map.json
@@ -0,0 +1,39 @@
+{
+ "id": "MAP_RUSTBORO_CITY_FLAT1_2F",
+ "name": "RustboroCity_Flat1_2F",
+ "layout": "LAYOUT_RUSTBORO_CITY_FLAT1_2F",
+ "music": "MUS_GOTOWN",
+ "region_map_section": "MAPSEC_RUSTBORO_CITY",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_2",
+ "x": 8,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_LEFT_AND_RIGHT",
+ "movement_range_x": 3,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "RustboroCity_Flat1_2F_EventScript_157C73",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 2,
+ "y": 1,
+ "elevation": 0,
+ "dest_map": "MAP_RUSTBORO_CITY_FLAT1_1F",
+ "dest_warp_id": 2
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/RustboroCity_Flat2_1F/events.inc b/data/maps/RustboroCity_Flat2_1F/events.inc
deleted file mode 100644
index 55a840cc0..000000000
--- a/data/maps/RustboroCity_Flat2_1F/events.inc
+++ /dev/null
@@ -1,11 +0,0 @@
-RustboroCity_Flat2_1F_EventObjects:: @ 8388E44
- object_event 1, EVENT_OBJ_GFX_SKITTY, 0, 11, 4, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, RustboroCity_Flat2_1F_EventScript_157D83, 0
- object_event 2, EVENT_OBJ_GFX_OLD_WOMAN_2, 0, 8, 4, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, RustboroCity_Flat2_1F_EventScript_157D7A, 0
-
-RustboroCity_Flat2_1F_MapWarps:: @ 8388E74
- warp_def 2, 8, 0, 10, MAP_RUSTBORO_CITY
- warp_def 3, 8, 0, 10, MAP_RUSTBORO_CITY
- warp_def 3, 1, 0, 0, MAP_RUSTBORO_CITY_FLAT2_2F
-
-RustboroCity_Flat2_1F_MapEvents:: @ 8388E8C
- map_events RustboroCity_Flat2_1F_EventObjects, RustboroCity_Flat2_1F_MapWarps, 0x0, 0x0
diff --git a/data/maps/RustboroCity_Flat2_1F/header.inc b/data/maps/RustboroCity_Flat2_1F/header.inc
deleted file mode 100644
index 9a8a1f848..000000000
--- a/data/maps/RustboroCity_Flat2_1F/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-RustboroCity_Flat2_1F:: @ 8306398
- .4byte RustboroCity_Flat2_1F_Layout
- .4byte RustboroCity_Flat2_1F_MapEvents
- .4byte RustboroCity_Flat2_1F_MapScripts
- .4byte 0x0
- .2byte MUS_GOTOWN
- .2byte 295
- .byte MAPSEC_RUSTBORO_CITY
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/RustboroCity_Flat2_1F/map.json b/data/maps/RustboroCity_Flat2_1F/map.json
new file mode 100644
index 000000000..e458782d3
--- /dev/null
+++ b/data/maps/RustboroCity_Flat2_1F/map.json
@@ -0,0 +1,66 @@
+{
+ "id": "MAP_RUSTBORO_CITY_FLAT2_1F",
+ "name": "RustboroCity_Flat2_1F",
+ "layout": "LAYOUT_RUSTBORO_CITY_FLAT2_1F",
+ "music": "MUS_GOTOWN",
+ "region_map_section": "MAPSEC_RUSTBORO_CITY",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_SKITTY",
+ "x": 11,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "RustboroCity_Flat2_1F_EventScript_157D83",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_OLD_WOMAN_2",
+ "x": 8,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "RustboroCity_Flat2_1F_EventScript_157D7A",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 2,
+ "y": 8,
+ "elevation": 0,
+ "dest_map": "MAP_RUSTBORO_CITY",
+ "dest_warp_id": 10
+ },
+ {
+ "x": 3,
+ "y": 8,
+ "elevation": 0,
+ "dest_map": "MAP_RUSTBORO_CITY",
+ "dest_warp_id": 10
+ },
+ {
+ "x": 3,
+ "y": 1,
+ "elevation": 0,
+ "dest_map": "MAP_RUSTBORO_CITY_FLAT2_2F",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/RustboroCity_Flat2_2F/events.inc b/data/maps/RustboroCity_Flat2_2F/events.inc
deleted file mode 100644
index 190bb838b..000000000
--- a/data/maps/RustboroCity_Flat2_2F/events.inc
+++ /dev/null
@@ -1,10 +0,0 @@
-RustboroCity_Flat2_2F_EventObjects:: @ 8388EA0
- object_event 1, EVENT_OBJ_GFX_OLD_MAN_2, 0, 11, 4, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, RustboroCity_Flat2_2F_EventScript_157D97, 0
- object_event 2, EVENT_OBJ_GFX_LITTLE_BOY_1, 0, 7, 3, 3, MOVEMENT_TYPE_WANDER_LEFT_AND_RIGHT, 2, 0, 0, 0, RustboroCity_Flat2_2F_EventScript_157DA0, 0
-
-RustboroCity_Flat2_2F_MapWarps:: @ 8388ED0
- warp_def 3, 1, 0, 2, MAP_RUSTBORO_CITY_FLAT2_1F
- warp_def 1, 1, 0, 0, MAP_RUSTBORO_CITY_FLAT2_3F
-
-RustboroCity_Flat2_2F_MapEvents:: @ 8388EE0
- map_events RustboroCity_Flat2_2F_EventObjects, RustboroCity_Flat2_2F_MapWarps, 0x0, 0x0
diff --git a/data/maps/RustboroCity_Flat2_2F/header.inc b/data/maps/RustboroCity_Flat2_2F/header.inc
deleted file mode 100644
index e39257bfe..000000000
--- a/data/maps/RustboroCity_Flat2_2F/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-RustboroCity_Flat2_2F:: @ 83063B4
- .4byte RustboroCity_Flat2_2F_Layout
- .4byte RustboroCity_Flat2_2F_MapEvents
- .4byte RustboroCity_Flat2_2F_MapScripts
- .4byte 0x0
- .2byte MUS_GOTOWN
- .2byte 296
- .byte MAPSEC_RUSTBORO_CITY
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/RustboroCity_Flat2_2F/map.json b/data/maps/RustboroCity_Flat2_2F/map.json
new file mode 100644
index 000000000..08c2f98b6
--- /dev/null
+++ b/data/maps/RustboroCity_Flat2_2F/map.json
@@ -0,0 +1,59 @@
+{
+ "id": "MAP_RUSTBORO_CITY_FLAT2_2F",
+ "name": "RustboroCity_Flat2_2F",
+ "layout": "LAYOUT_RUSTBORO_CITY_FLAT2_2F",
+ "music": "MUS_GOTOWN",
+ "region_map_section": "MAPSEC_RUSTBORO_CITY",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_OLD_MAN_2",
+ "x": 11,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "RustboroCity_Flat2_2F_EventScript_157D97",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_LITTLE_BOY_1",
+ "x": 7,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_LEFT_AND_RIGHT",
+ "movement_range_x": 2,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "RustboroCity_Flat2_2F_EventScript_157DA0",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 3,
+ "y": 1,
+ "elevation": 0,
+ "dest_map": "MAP_RUSTBORO_CITY_FLAT2_1F",
+ "dest_warp_id": 2
+ },
+ {
+ "x": 1,
+ "y": 1,
+ "elevation": 0,
+ "dest_map": "MAP_RUSTBORO_CITY_FLAT2_3F",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/RustboroCity_Flat2_3F/events.inc b/data/maps/RustboroCity_Flat2_3F/events.inc
deleted file mode 100644
index d6b3ecd48..000000000
--- a/data/maps/RustboroCity_Flat2_3F/events.inc
+++ /dev/null
@@ -1,9 +0,0 @@
-RustboroCity_Flat2_3F_EventObjects:: @ 8388EF4
- object_event 1, EVENT_OBJ_GFX_MAN_7, 0, 7, 3, 3, MOVEMENT_TYPE_WANDER_LEFT_AND_RIGHT, 2, 0, 0, 0, RustboroCity_Flat2_3F_EventScript_157DDA, 0
- object_event 2, EVENT_OBJ_GFX_WOMAN_1, 0, 12, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, RustboroCity_Flat2_3F_EventScript_157DE3, 0
-
-RustboroCity_Flat2_3F_MapWarps:: @ 8388F24
- warp_def 1, 1, 0, 1, MAP_RUSTBORO_CITY_FLAT2_2F
-
-RustboroCity_Flat2_3F_MapEvents:: @ 8388F2C
- map_events RustboroCity_Flat2_3F_EventObjects, RustboroCity_Flat2_3F_MapWarps, 0x0, 0x0
diff --git a/data/maps/RustboroCity_Flat2_3F/header.inc b/data/maps/RustboroCity_Flat2_3F/header.inc
deleted file mode 100644
index 2e0d442c7..000000000
--- a/data/maps/RustboroCity_Flat2_3F/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-RustboroCity_Flat2_3F:: @ 83063D0
- .4byte RustboroCity_Flat2_3F_Layout
- .4byte RustboroCity_Flat2_3F_MapEvents
- .4byte RustboroCity_Flat2_3F_MapScripts
- .4byte 0x0
- .2byte MUS_GOTOWN
- .2byte 297
- .byte MAPSEC_RUSTBORO_CITY
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/RustboroCity_Flat2_3F/map.json b/data/maps/RustboroCity_Flat2_3F/map.json
new file mode 100644
index 000000000..1bc864ba9
--- /dev/null
+++ b/data/maps/RustboroCity_Flat2_3F/map.json
@@ -0,0 +1,52 @@
+{
+ "id": "MAP_RUSTBORO_CITY_FLAT2_3F",
+ "name": "RustboroCity_Flat2_3F",
+ "layout": "LAYOUT_RUSTBORO_CITY_FLAT2_3F",
+ "music": "MUS_GOTOWN",
+ "region_map_section": "MAPSEC_RUSTBORO_CITY",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_7",
+ "x": 7,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_LEFT_AND_RIGHT",
+ "movement_range_x": 2,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "RustboroCity_Flat2_3F_EventScript_157DDA",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_1",
+ "x": 12,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "RustboroCity_Flat2_3F_EventScript_157DE3",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 1,
+ "y": 1,
+ "elevation": 0,
+ "dest_map": "MAP_RUSTBORO_CITY_FLAT2_2F",
+ "dest_warp_id": 1
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/RustboroCity_Gym/events.inc b/data/maps/RustboroCity_Gym/events.inc
deleted file mode 100644
index c78fb9799..000000000
--- a/data/maps/RustboroCity_Gym/events.inc
+++ /dev/null
@@ -1,16 +0,0 @@
-RustboroCity_Gym_EventObjects:: @ 8388998
- object_event 1, EVENT_OBJ_GFX_ROXANNE, 0, 5, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, RustboroCity_Gym_EventScript_1578D9, 0
- object_event 2, EVENT_OBJ_GFX_YOUNGSTER, 0, 7, 12, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 1, 3, RustboroCity_Gym_EventScript_157960, 0
- object_event 3, EVENT_OBJ_GFX_YOUNGSTER, 0, 3, 7, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 1, 3, RustboroCity_Gym_EventScript_157977, 0
- object_event 4, EVENT_OBJ_GFX_MAN_2, 0, 3, 17, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, RustboroCity_Gym_EventScript_15798E, 0
-
-RustboroCity_Gym_MapWarps:: @ 83889F8
- warp_def 5, 18, 0, 0, MAP_RUSTBORO_CITY
- warp_def 6, 18, 0, 0, MAP_RUSTBORO_CITY
-
-RustboroCity_Gym_MapBGEvents:: @ 8388A08
- bg_event 2, 17, 0, BG_EVENT_PLAYER_FACING_NORTH, RustboroCity_Gym_EventScript_1579AD
- bg_event 8, 17, 0, BG_EVENT_PLAYER_FACING_NORTH, RustboroCity_Gym_EventScript_1579BD
-
-RustboroCity_Gym_MapEvents:: @ 8388A20
- map_events RustboroCity_Gym_EventObjects, RustboroCity_Gym_MapWarps, 0x0, RustboroCity_Gym_MapBGEvents
diff --git a/data/maps/RustboroCity_Gym/header.inc b/data/maps/RustboroCity_Gym/header.inc
deleted file mode 100644
index bc214630b..000000000
--- a/data/maps/RustboroCity_Gym/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-RustboroCity_Gym:: @ 8306280
- .4byte RustboroCity_Gym_Layout
- .4byte RustboroCity_Gym_MapEvents
- .4byte RustboroCity_Gym_MapScripts
- .4byte 0x0
- .2byte MUS_GIM
- .2byte 94
- .byte MAPSEC_RUSTBORO_CITY
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_GYM
diff --git a/data/maps/RustboroCity_Gym/map.json b/data/maps/RustboroCity_Gym/map.json
new file mode 100644
index 000000000..2593b63a1
--- /dev/null
+++ b/data/maps/RustboroCity_Gym/map.json
@@ -0,0 +1,102 @@
+{
+ "id": "MAP_RUSTBORO_CITY_GYM",
+ "name": "RustboroCity_Gym",
+ "layout": "LAYOUT_RUSTBORO_CITY_GYM",
+ "music": "MUS_GIM",
+ "region_map_section": "MAPSEC_RUSTBORO_CITY",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_GYM",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ROXANNE",
+ "x": 5,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "RustboroCity_Gym_EventScript_1578D9",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_YOUNGSTER",
+ "x": 7,
+ "y": 12,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "3",
+ "script": "RustboroCity_Gym_EventScript_157960",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_YOUNGSTER",
+ "x": 3,
+ "y": 7,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "3",
+ "script": "RustboroCity_Gym_EventScript_157977",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_2",
+ "x": 3,
+ "y": 17,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "RustboroCity_Gym_EventScript_15798E",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 5,
+ "y": 18,
+ "elevation": 0,
+ "dest_map": "MAP_RUSTBORO_CITY",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 6,
+ "y": 18,
+ "elevation": 0,
+ "dest_map": "MAP_RUSTBORO_CITY",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [],
+ "bg_events": [
+ {
+ "type": "sign",
+ "x": 2,
+ "y": 17,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH",
+ "script": "RustboroCity_Gym_EventScript_1579AD"
+ },
+ {
+ "type": "sign",
+ "x": 8,
+ "y": 17,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH",
+ "script": "RustboroCity_Gym_EventScript_1579BD"
+ }
+ ]
+} \ No newline at end of file
diff --git a/data/maps/RustboroCity_House1/events.inc b/data/maps/RustboroCity_House1/events.inc
deleted file mode 100644
index 3d083ca20..000000000
--- a/data/maps/RustboroCity_House1/events.inc
+++ /dev/null
@@ -1,10 +0,0 @@
-RustboroCity_House1_EventObjects:: @ 8388D48
- object_event 1, EVENT_OBJ_GFX_LITTLE_BOY_1, 0, 6, 4, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, RustboroCity_House1_EventScript_157C7D, 0
- object_event 2, EVENT_OBJ_GFX_HIKER, 0, 9, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, RustboroCity_House1_EventScript_157D1D, 0
-
-RustboroCity_House1_MapWarps:: @ 8388D78
- warp_def 5, 7, 0, 7, MAP_RUSTBORO_CITY
- warp_def 6, 7, 0, 7, MAP_RUSTBORO_CITY
-
-RustboroCity_House1_MapEvents:: @ 8388D88
- map_events RustboroCity_House1_EventObjects, RustboroCity_House1_MapWarps, 0x0, 0x0
diff --git a/data/maps/RustboroCity_House1/header.inc b/data/maps/RustboroCity_House1/header.inc
deleted file mode 100644
index af3a17a46..000000000
--- a/data/maps/RustboroCity_House1/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-RustboroCity_House1:: @ 8306344
- .4byte RustboroCity_House1_Layout
- .4byte RustboroCity_House1_MapEvents
- .4byte RustboroCity_House1_MapScripts
- .4byte 0x0
- .2byte MUS_GOTOWN
- .2byte 97
- .byte MAPSEC_RUSTBORO_CITY
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/RustboroCity_House1/map.json b/data/maps/RustboroCity_House1/map.json
new file mode 100644
index 000000000..d0a4a6952
--- /dev/null
+++ b/data/maps/RustboroCity_House1/map.json
@@ -0,0 +1,59 @@
+{
+ "id": "MAP_RUSTBORO_CITY_HOUSE1",
+ "name": "RustboroCity_House1",
+ "layout": "LAYOUT_RUSTBORO_CITY_HOUSE1",
+ "music": "MUS_GOTOWN",
+ "region_map_section": "MAPSEC_RUSTBORO_CITY",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_LITTLE_BOY_1",
+ "x": 6,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "RustboroCity_House1_EventScript_157C7D",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_HIKER",
+ "x": 9,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "RustboroCity_House1_EventScript_157D1D",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 5,
+ "y": 7,
+ "elevation": 0,
+ "dest_map": "MAP_RUSTBORO_CITY",
+ "dest_warp_id": 7
+ },
+ {
+ "x": 6,
+ "y": 7,
+ "elevation": 0,
+ "dest_map": "MAP_RUSTBORO_CITY",
+ "dest_warp_id": 7
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/RustboroCity_House2/events.inc b/data/maps/RustboroCity_House2/events.inc
deleted file mode 100644
index e4a749d56..000000000
--- a/data/maps/RustboroCity_House2/events.inc
+++ /dev/null
@@ -1,10 +0,0 @@
-RustboroCity_House2_EventObjects:: @ 8388DF0
- object_event 1, EVENT_OBJ_GFX_WOMAN_2, 0, 4, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, RustboroCity_House2_EventScript_157D67, 0
- object_event 2, EVENT_OBJ_GFX_LITTLE_GIRL_2, 0, 4, 5, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, RustboroCity_House2_EventScript_157D70, 0
-
-RustboroCity_House2_MapWarps:: @ 8388E20
- warp_def 5, 8, 0, 9, MAP_RUSTBORO_CITY
- warp_def 6, 8, 0, 9, MAP_RUSTBORO_CITY
-
-RustboroCity_House2_MapEvents:: @ 8388E30
- map_events RustboroCity_House2_EventObjects, RustboroCity_House2_MapWarps, 0x0, 0x0
diff --git a/data/maps/RustboroCity_House2/header.inc b/data/maps/RustboroCity_House2/header.inc
deleted file mode 100644
index 66e194304..000000000
--- a/data/maps/RustboroCity_House2/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-RustboroCity_House2:: @ 830637C
- .4byte RustboroCity_House_Layout
- .4byte RustboroCity_House2_MapEvents
- .4byte RustboroCity_House2_MapScripts
- .4byte 0x0
- .2byte MUS_GOTOWN
- .2byte 96
- .byte MAPSEC_RUSTBORO_CITY
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/RustboroCity_House2/map.json b/data/maps/RustboroCity_House2/map.json
new file mode 100644
index 000000000..bb13d157c
--- /dev/null
+++ b/data/maps/RustboroCity_House2/map.json
@@ -0,0 +1,59 @@
+{
+ "id": "MAP_RUSTBORO_CITY_HOUSE2",
+ "name": "RustboroCity_House2",
+ "layout": "LAYOUT_RUSTBORO_CITY_HOUSE",
+ "music": "MUS_GOTOWN",
+ "region_map_section": "MAPSEC_RUSTBORO_CITY",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_2",
+ "x": 4,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "RustboroCity_House2_EventScript_157D67",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_LITTLE_GIRL_2",
+ "x": 4,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "RustboroCity_House2_EventScript_157D70",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 5,
+ "y": 8,
+ "elevation": 0,
+ "dest_map": "MAP_RUSTBORO_CITY",
+ "dest_warp_id": 9
+ },
+ {
+ "x": 6,
+ "y": 8,
+ "elevation": 0,
+ "dest_map": "MAP_RUSTBORO_CITY",
+ "dest_warp_id": 9
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/RustboroCity_House3/events.inc b/data/maps/RustboroCity_House3/events.inc
deleted file mode 100644
index 9cb1c5194..000000000
--- a/data/maps/RustboroCity_House3/events.inc
+++ /dev/null
@@ -1,11 +0,0 @@
-RustboroCity_House3_EventObjects:: @ 8388F40
- object_event 1, EVENT_OBJ_GFX_OLD_MAN_2, 0, 4, 5, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, RustboroCity_House3_EventScript_157DED, 0
- object_event 2, EVENT_OBJ_GFX_OLD_WOMAN_2, 0, 7, 5, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, RustboroCity_House3_EventScript_157DF6, 0
- object_event 3, EVENT_OBJ_GFX_PIKACHU, 0, 4, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, RustboroCity_House3_EventScript_157DFF, 0
-
-RustboroCity_House3_MapWarps:: @ 8388F88
- warp_def 5, 8, 0, 11, MAP_RUSTBORO_CITY
- warp_def 6, 8, 0, 11, MAP_RUSTBORO_CITY
-
-RustboroCity_House3_MapEvents:: @ 8388F98
- map_events RustboroCity_House3_EventObjects, RustboroCity_House3_MapWarps, 0x0, 0x0
diff --git a/data/maps/RustboroCity_House3/header.inc b/data/maps/RustboroCity_House3/header.inc
deleted file mode 100644
index d5398d3a0..000000000
--- a/data/maps/RustboroCity_House3/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-RustboroCity_House3:: @ 83063EC
- .4byte RustboroCity_House_Layout
- .4byte RustboroCity_House3_MapEvents
- .4byte RustboroCity_House3_MapScripts
- .4byte 0x0
- .2byte MUS_GOTOWN
- .2byte 96
- .byte MAPSEC_RUSTBORO_CITY
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/RustboroCity_House3/map.json b/data/maps/RustboroCity_House3/map.json
new file mode 100644
index 000000000..4c85ea665
--- /dev/null
+++ b/data/maps/RustboroCity_House3/map.json
@@ -0,0 +1,72 @@
+{
+ "id": "MAP_RUSTBORO_CITY_HOUSE3",
+ "name": "RustboroCity_House3",
+ "layout": "LAYOUT_RUSTBORO_CITY_HOUSE",
+ "music": "MUS_GOTOWN",
+ "region_map_section": "MAPSEC_RUSTBORO_CITY",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_OLD_MAN_2",
+ "x": 4,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "RustboroCity_House3_EventScript_157DED",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_OLD_WOMAN_2",
+ "x": 7,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "RustboroCity_House3_EventScript_157DF6",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_PIKACHU",
+ "x": 4,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "RustboroCity_House3_EventScript_157DFF",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 5,
+ "y": 8,
+ "elevation": 0,
+ "dest_map": "MAP_RUSTBORO_CITY",
+ "dest_warp_id": 11
+ },
+ {
+ "x": 6,
+ "y": 8,
+ "elevation": 0,
+ "dest_map": "MAP_RUSTBORO_CITY",
+ "dest_warp_id": 11
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/RustboroCity_Mart/events.inc b/data/maps/RustboroCity_Mart/events.inc
deleted file mode 100644
index fa34e3192..000000000
--- a/data/maps/RustboroCity_Mart/events.inc
+++ /dev/null
@@ -1,12 +0,0 @@
-RustboroCity_Mart_EventObjects:: @ 8388C34
- object_event 1, EVENT_OBJ_GFX_MART_EMPLOYEE, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, RustboroCity_Mart_EventScript_157BD4, 0
- object_event 2, EVENT_OBJ_GFX_BOY_1, 0, 2, 5, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, RustboroCity_Mart_EventScript_157C4D, 0
- object_event 3, EVENT_OBJ_GFX_WOMAN_2, 0, 8, 4, 3, MOVEMENT_TYPE_WANDER_UP_AND_DOWN, 0, 1, 0, 0, RustboroCity_Mart_EventScript_157C44, 0
- object_event 4, EVENT_OBJ_GFX_BUG_CATCHER, 0, 8, 2, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 0, 0, RustboroCity_Mart_EventScript_157C56, 0
-
-RustboroCity_Mart_MapWarps:: @ 8388C94
- warp_def 3, 7, 0, 2, MAP_RUSTBORO_CITY
- warp_def 4, 7, 0, 2, MAP_RUSTBORO_CITY
-
-RustboroCity_Mart_MapEvents:: @ 8388CA4
- map_events RustboroCity_Mart_EventObjects, RustboroCity_Mart_MapWarps, 0x0, 0x0
diff --git a/data/maps/RustboroCity_Mart/header.inc b/data/maps/RustboroCity_Mart/header.inc
deleted file mode 100644
index f2d69e238..000000000
--- a/data/maps/RustboroCity_Mart/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-RustboroCity_Mart:: @ 83062F0
- .4byte PokeMart_Layout
- .4byte RustboroCity_Mart_MapEvents
- .4byte RustboroCity_Mart_MapScripts
- .4byte 0x0
- .2byte MUS_FRIENDLY
- .2byte 63
- .byte MAPSEC_RUSTBORO_CITY
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/RustboroCity_Mart/map.json b/data/maps/RustboroCity_Mart/map.json
new file mode 100644
index 000000000..b8ec482f2
--- /dev/null
+++ b/data/maps/RustboroCity_Mart/map.json
@@ -0,0 +1,85 @@
+{
+ "id": "MAP_RUSTBORO_CITY_MART",
+ "name": "RustboroCity_Mart",
+ "layout": "LAYOUT_POKE_MART",
+ "music": "MUS_FRIENDLY",
+ "region_map_section": "MAPSEC_RUSTBORO_CITY",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MART_EMPLOYEE",
+ "x": 1,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "RustboroCity_Mart_EventScript_157BD4",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BOY_1",
+ "x": 2,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "RustboroCity_Mart_EventScript_157C4D",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_2",
+ "x": 8,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_UP_AND_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "RustboroCity_Mart_EventScript_157C44",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BUG_CATCHER",
+ "x": 8,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "RustboroCity_Mart_EventScript_157C56",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 3,
+ "y": 7,
+ "elevation": 0,
+ "dest_map": "MAP_RUSTBORO_CITY",
+ "dest_warp_id": 2
+ },
+ {
+ "x": 4,
+ "y": 7,
+ "elevation": 0,
+ "dest_map": "MAP_RUSTBORO_CITY",
+ "dest_warp_id": 2
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/RustboroCity_PokemonCenter_1F/events.inc b/data/maps/RustboroCity_PokemonCenter_1F/events.inc
deleted file mode 100644
index 08413fc93..000000000
--- a/data/maps/RustboroCity_PokemonCenter_1F/events.inc
+++ /dev/null
@@ -1,13 +0,0 @@
-RustboroCity_PokemonCenter_1F_EventObjects:: @ 8388B24
- object_event 1, EVENT_OBJ_GFX_NURSE, 0, 7, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, RustboroCity_PokemonCenter_1F_EventScript_157B88, 0
- object_event 2, EVENT_OBJ_GFX_MAN_1, 0, 11, 2, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, RustboroCity_PokemonCenter_1F_EventScript_157B96, 0
- object_event 3, EVENT_OBJ_GFX_BOY_1, 0, 3, 4, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, RustboroCity_PokemonCenter_1F_EventScript_157B9F, 0
- object_event 4, EVENT_OBJ_GFX_GIRL_3, 0, 10, 6, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, RustboroCity_PokemonCenter_1F_EventScript_157BA8, 0
-
-RustboroCity_PokemonCenter_1F_MapWarps:: @ 8388B84
- warp_def 7, 8, 3, 3, MAP_RUSTBORO_CITY
- warp_def 6, 8, 3, 3, MAP_RUSTBORO_CITY
- warp_def 1, 6, 4, 0, MAP_RUSTBORO_CITY_POKEMON_CENTER_2F
-
-RustboroCity_PokemonCenter_1F_MapEvents:: @ 8388B9C
- map_events RustboroCity_PokemonCenter_1F_EventObjects, RustboroCity_PokemonCenter_1F_MapWarps, 0x0, 0x0
diff --git a/data/maps/RustboroCity_PokemonCenter_1F/header.inc b/data/maps/RustboroCity_PokemonCenter_1F/header.inc
deleted file mode 100644
index dd1d976fe..000000000
--- a/data/maps/RustboroCity_PokemonCenter_1F/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-RustboroCity_PokemonCenter_1F:: @ 83062B8
- .4byte PokemonCenter_1F_Layout
- .4byte RustboroCity_PokemonCenter_1F_MapEvents
- .4byte RustboroCity_PokemonCenter_1F_MapScripts
- .4byte 0x0
- .2byte MUS_POKECEN
- .2byte 61
- .byte MAPSEC_RUSTBORO_CITY
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/RustboroCity_PokemonCenter_1F/map.json b/data/maps/RustboroCity_PokemonCenter_1F/map.json
new file mode 100644
index 000000000..84658ac3d
--- /dev/null
+++ b/data/maps/RustboroCity_PokemonCenter_1F/map.json
@@ -0,0 +1,92 @@
+{
+ "id": "MAP_RUSTBORO_CITY_POKEMON_CENTER_1F",
+ "name": "RustboroCity_PokemonCenter_1F",
+ "layout": "LAYOUT_POKEMON_CENTER_1F",
+ "music": "MUS_POKECEN",
+ "region_map_section": "MAPSEC_RUSTBORO_CITY",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_NURSE",
+ "x": 7,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "RustboroCity_PokemonCenter_1F_EventScript_157B88",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_1",
+ "x": 11,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "RustboroCity_PokemonCenter_1F_EventScript_157B96",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BOY_1",
+ "x": 3,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "RustboroCity_PokemonCenter_1F_EventScript_157B9F",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_GIRL_3",
+ "x": 10,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "RustboroCity_PokemonCenter_1F_EventScript_157BA8",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 7,
+ "y": 8,
+ "elevation": 3,
+ "dest_map": "MAP_RUSTBORO_CITY",
+ "dest_warp_id": 3
+ },
+ {
+ "x": 6,
+ "y": 8,
+ "elevation": 3,
+ "dest_map": "MAP_RUSTBORO_CITY",
+ "dest_warp_id": 3
+ },
+ {
+ "x": 1,
+ "y": 6,
+ "elevation": 4,
+ "dest_map": "MAP_RUSTBORO_CITY_POKEMON_CENTER_2F",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/RustboroCity_PokemonCenter_2F/events.inc b/data/maps/RustboroCity_PokemonCenter_2F/events.inc
deleted file mode 100644
index 86d2e6929..000000000
--- a/data/maps/RustboroCity_PokemonCenter_2F/events.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-RustboroCity_PokemonCenter_2F_EventObjects:: @ 8388BB0
- object_event 1, EVENT_OBJ_GFX_TEALA, 0, 4, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, RustboroCity_PokemonCenter_2F_EventScript_157BC1, 0
- object_event 2, EVENT_OBJ_GFX_TEALA, 0, 7, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, RustboroCity_PokemonCenter_2F_EventScript_157BC7, 0
- object_event 3, EVENT_OBJ_GFX_TEALA, 0, 10, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, RustboroCity_PokemonCenter_2F_EventScript_157BCD, 0
-
-RustboroCity_PokemonCenter_2F_MapWarps:: @ 8388BF8
- warp_def 1, 5, 4, 2, MAP_RUSTBORO_CITY_POKEMON_CENTER_1F
- warp_def 5, 1, 0, 0, MAP_SINGLE_BATTLE_COLOSSEUM
- warp_def 8, 1, 0, 0, MAP_TRADE_CENTER
- warp_def 11, 1, 0, 0, MAP_RECORD_CORNER
- warp_def 0, 0, 0, 0, MAP_DOUBLE_BATTLE_COLOSSEUM
-
-RustboroCity_PokemonCenter_2F_MapEvents:: @ 8388C20
- map_events RustboroCity_PokemonCenter_2F_EventObjects, RustboroCity_PokemonCenter_2F_MapWarps, 0x0, 0x0
diff --git a/data/maps/RustboroCity_PokemonCenter_2F/header.inc b/data/maps/RustboroCity_PokemonCenter_2F/header.inc
deleted file mode 100644
index c34cd3dd7..000000000
--- a/data/maps/RustboroCity_PokemonCenter_2F/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-RustboroCity_PokemonCenter_2F:: @ 83062D4
- .4byte PokemonCenter_2F_Layout
- .4byte RustboroCity_PokemonCenter_2F_MapEvents
- .4byte RustboroCity_PokemonCenter_2F_MapScripts
- .4byte 0x0
- .2byte MUS_POKECEN
- .2byte 62
- .byte MAPSEC_RUSTBORO_CITY
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/RustboroCity_PokemonCenter_2F/map.json b/data/maps/RustboroCity_PokemonCenter_2F/map.json
new file mode 100644
index 000000000..b15b76dee
--- /dev/null
+++ b/data/maps/RustboroCity_PokemonCenter_2F/map.json
@@ -0,0 +1,93 @@
+{
+ "id": "MAP_RUSTBORO_CITY_POKEMON_CENTER_2F",
+ "name": "RustboroCity_PokemonCenter_2F",
+ "layout": "LAYOUT_POKEMON_CENTER_2F",
+ "music": "MUS_POKECEN",
+ "region_map_section": "MAPSEC_RUSTBORO_CITY",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_TEALA",
+ "x": 4,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "RustboroCity_PokemonCenter_2F_EventScript_157BC1",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_TEALA",
+ "x": 7,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "RustboroCity_PokemonCenter_2F_EventScript_157BC7",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_TEALA",
+ "x": 10,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "RustboroCity_PokemonCenter_2F_EventScript_157BCD",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 1,
+ "y": 5,
+ "elevation": 4,
+ "dest_map": "MAP_RUSTBORO_CITY_POKEMON_CENTER_1F",
+ "dest_warp_id": 2
+ },
+ {
+ "x": 5,
+ "y": 1,
+ "elevation": 0,
+ "dest_map": "MAP_SINGLE_BATTLE_COLOSSEUM",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 8,
+ "y": 1,
+ "elevation": 0,
+ "dest_map": "MAP_TRADE_CENTER",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 11,
+ "y": 1,
+ "elevation": 0,
+ "dest_map": "MAP_RECORD_CORNER",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 0,
+ "y": 0,
+ "elevation": 0,
+ "dest_map": "MAP_DOUBLE_BATTLE_COLOSSEUM",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/RustboroCity_PokemonSchool/events.inc b/data/maps/RustboroCity_PokemonSchool/events.inc
deleted file mode 100644
index 6c4485f9a..000000000
--- a/data/maps/RustboroCity_PokemonSchool/events.inc
+++ /dev/null
@@ -1,21 +0,0 @@
-RustboroCity_PokemonSchool_EventObjects:: @ 8388A34
- object_event 1, EVENT_OBJ_GFX_BOY_5, 0, 8, 6, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, RustboroCity_PokemonSchool_EventScript_157A98, 0
- object_event 2, EVENT_OBJ_GFX_BOY_5, 0, 9, 6, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, RustboroCity_PokemonSchool_EventScript_157AA1, 0
- object_event 3, EVENT_OBJ_GFX_BOY_4, 0, 3, 8, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, RustboroCity_PokemonSchool_EventScript_157AAA, 0
- object_event 4, EVENT_OBJ_GFX_LASS, 0, 10, 8, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, RustboroCity_PokemonSchool_EventScript_157AB3, 0
- object_event 5, EVENT_OBJ_GFX_SCHOOL_KID_M, 0, 3, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, RustboroCity_PokemonSchool_EventScript_157ABC, 0
- object_event 6, EVENT_OBJ_GFX_GENTLEMAN, 0, 5, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, RustboroCity_PokemonSchool_EventScript_157ACE, 0
-
-RustboroCity_PokemonSchool_MapWarps:: @ 8388AC4
- warp_def 5, 10, 0, 4, MAP_RUSTBORO_CITY
- warp_def 6, 10, 0, 4, MAP_RUSTBORO_CITY
-
-RustboroCity_PokemonSchool_MapBGEvents:: @ 8388AD4
- bg_event 5, 2, 0, BG_EVENT_PLAYER_FACING_ANY, RustboroCity_PokemonSchool_EventScript_1579E2
- bg_event 4, 2, 0, BG_EVENT_PLAYER_FACING_ANY, RustboroCity_PokemonSchool_EventScript_1579E2
- bg_event 6, 2, 0, BG_EVENT_PLAYER_FACING_ANY, RustboroCity_PokemonSchool_EventScript_1579E2
- bg_event 7, 2, 0, BG_EVENT_PLAYER_FACING_ANY, RustboroCity_PokemonSchool_EventScript_1579E2
- bg_event 3, 5, 0, BG_EVENT_PLAYER_FACING_ANY, RustboroCity_PokemonSchool_EventScript_157AC5
-
-RustboroCity_PokemonSchool_MapEvents:: @ 8388B10
- map_events RustboroCity_PokemonSchool_EventObjects, RustboroCity_PokemonSchool_MapWarps, 0x0, RustboroCity_PokemonSchool_MapBGEvents
diff --git a/data/maps/RustboroCity_PokemonSchool/header.inc b/data/maps/RustboroCity_PokemonSchool/header.inc
deleted file mode 100644
index af4dc670a..000000000
--- a/data/maps/RustboroCity_PokemonSchool/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-RustboroCity_PokemonSchool:: @ 830629C
- .4byte RustboroCity_PokemonSchool_Layout
- .4byte RustboroCity_PokemonSchool_MapEvents
- .4byte RustboroCity_PokemonSchool_MapScripts
- .4byte 0x0
- .2byte MUS_P_SCHOOL
- .2byte 95
- .byte MAPSEC_RUSTBORO_CITY
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/RustboroCity_PokemonSchool/map.json b/data/maps/RustboroCity_PokemonSchool/map.json
new file mode 100644
index 000000000..c313a32a8
--- /dev/null
+++ b/data/maps/RustboroCity_PokemonSchool/map.json
@@ -0,0 +1,152 @@
+{
+ "id": "MAP_RUSTBORO_CITY_POKEMON_SCHOOL",
+ "name": "RustboroCity_PokemonSchool",
+ "layout": "LAYOUT_RUSTBORO_CITY_POKEMON_SCHOOL",
+ "music": "MUS_P_SCHOOL",
+ "region_map_section": "MAPSEC_RUSTBORO_CITY",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BOY_5",
+ "x": 8,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "RustboroCity_PokemonSchool_EventScript_157A98",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BOY_5",
+ "x": 9,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "RustboroCity_PokemonSchool_EventScript_157AA1",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BOY_4",
+ "x": 3,
+ "y": 8,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "RustboroCity_PokemonSchool_EventScript_157AAA",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_LASS",
+ "x": 10,
+ "y": 8,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "RustboroCity_PokemonSchool_EventScript_157AB3",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_SCHOOL_KID_M",
+ "x": 3,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "RustboroCity_PokemonSchool_EventScript_157ABC",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_GENTLEMAN",
+ "x": 5,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "RustboroCity_PokemonSchool_EventScript_157ACE",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 5,
+ "y": 10,
+ "elevation": 0,
+ "dest_map": "MAP_RUSTBORO_CITY",
+ "dest_warp_id": 4
+ },
+ {
+ "x": 6,
+ "y": 10,
+ "elevation": 0,
+ "dest_map": "MAP_RUSTBORO_CITY",
+ "dest_warp_id": 4
+ }
+ ],
+ "coord_events": [],
+ "bg_events": [
+ {
+ "type": "sign",
+ "x": 5,
+ "y": 2,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "RustboroCity_PokemonSchool_EventScript_1579E2"
+ },
+ {
+ "type": "sign",
+ "x": 4,
+ "y": 2,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "RustboroCity_PokemonSchool_EventScript_1579E2"
+ },
+ {
+ "type": "sign",
+ "x": 6,
+ "y": 2,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "RustboroCity_PokemonSchool_EventScript_1579E2"
+ },
+ {
+ "type": "sign",
+ "x": 7,
+ "y": 2,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "RustboroCity_PokemonSchool_EventScript_1579E2"
+ },
+ {
+ "type": "sign",
+ "x": 3,
+ "y": 5,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "RustboroCity_PokemonSchool_EventScript_157AC5"
+ }
+ ]
+} \ No newline at end of file
diff --git a/data/maps/RusturfTunnel/events.inc b/data/maps/RusturfTunnel/events.inc
deleted file mode 100644
index 71aeb5943..000000000
--- a/data/maps/RusturfTunnel/events.inc
+++ /dev/null
@@ -1,26 +0,0 @@
-RusturfTunnel_EventObjects:: @ 838BD2C
- object_event 1, EVENT_OBJ_GFX_BLACK_BELT, 0, 23, 5, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, RusturfTunnel_EventScript_15C799, FLAG_HIDE_BOYFRIEND_RUSTURF_TUNNEL
- object_event 2, EVENT_OBJ_GFX_BREAKABLE_ROCK, 0, 24, 5, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, S_BreakableRock, FLAG_HIDE_RUSTURF_TUNNEL_ROCK_1
- object_event 3, EVENT_OBJ_GFX_ITEM_BALL, 0, 3, 1, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, RusturfTunnel_EventScript_1B1786, FLAG_ITEM_RUSTURF_TUNNEL_1
- object_event 4, EVENT_OBJ_GFX_ITEM_BALL, 0, 30, 2, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, RusturfTunnel_EventScript_1B1793, FLAG_ITEM_RUSTURF_TUNNEL_2
- object_event 5, EVENT_OBJ_GFX_OLD_MAN_1, 0, 5, 4, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, 0x0, FLAG_HIDE_BRINEY_RUSTURF_TUNNEL
- object_event 6, EVENT_OBJ_GFX_VAR_1, 0, 14, 5, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, RusturfTunnel_EventScript_15C9EA, FLAG_HIDE_GRUNT_RUSTURF_TUNNEL
- object_event 7, EVENT_OBJ_GFX_WINGULL, 0, 14, 4, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, RusturfTunnel_EventScript_15C9D7, FLAG_HIDE_PEEKO_RUSTURF_TUNNEL
- object_event 8, EVENT_OBJ_GFX_BREAKABLE_ROCK, 0, 24, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, S_BreakableRock, FLAG_HIDE_RUSTURF_TUNNEL_ROCK_2
- object_event 9, EVENT_OBJ_GFX_HIKER, 0, 32, 13, 3, MOVEMENT_TYPE_FACE_LEFT, 1, 1, 1, 3, RusturfTunnel_EventScript_15CACD, 0
- object_event 10, EVENT_OBJ_GFX_WOMAN_3, 0, 25, 4, 3, MOVEMENT_TYPE_FACE_LEFT, 1, 1, 0, 0, RusturfTunnel_EventScript_15C782, FLAG_HIDE_GIRLFRIEND_RUSTURF_TUNNEL
-
-RusturfTunnel_MapWarps:: @ 838BE1C
- warp_def 4, 10, 3, 0, MAP_ROUTE116
- warp_def 29, 16, 3, 4, MAP_VERDANTURF_TOWN
- warp_def 18, 20, 3, 2, MAP_ROUTE116
-
-RusturfTunnel_MapCoordEvents:: @ 838BE34
- coord_event 23, 4, 3, 0, 0, RusturfTunnel_EventScript_15C999
- coord_event 9, 4, 3, VAR_RUSTURF_TUNNEL_STATE, 2, RusturfTunnel_EventScript_15C9AB
- coord_event 9, 5, 3, VAR_RUSTURF_TUNNEL_STATE, 2, RusturfTunnel_EventScript_15C9AB
- coord_event 25, 4, 3, 0, 0, RusturfTunnel_EventScript_15C99F
- coord_event 25, 5, 3, 0, 0, RusturfTunnel_EventScript_15C9A5
-
-RusturfTunnel_MapEvents:: @ 838BE84
- map_events RusturfTunnel_EventObjects, RusturfTunnel_MapWarps, RusturfTunnel_MapCoordEvents, 0x0
diff --git a/data/maps/RusturfTunnel/header.inc b/data/maps/RusturfTunnel/header.inc
deleted file mode 100644
index b2a9be922..000000000
--- a/data/maps/RusturfTunnel/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-RusturfTunnel:: @ 8306DE0
- .4byte RusturfTunnel_Layout
- .4byte RusturfTunnel_MapEvents
- .4byte RusturfTunnel_MapScripts
- .4byte 0x0
- .2byte MUS_DAN01
- .2byte 130
- .byte MAPSEC_RUSTURF_TUNNEL
- .byte 0
- .byte WEATHER_FOG_1
- .byte MAP_TYPE_UNDERGROUND
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/RusturfTunnel/map.json b/data/maps/RusturfTunnel/map.json
new file mode 100644
index 000000000..735f458e9
--- /dev/null
+++ b/data/maps/RusturfTunnel/map.json
@@ -0,0 +1,216 @@
+{
+ "id": "MAP_RUSTURF_TUNNEL",
+ "name": "RusturfTunnel",
+ "layout": "LAYOUT_RUSTURF_TUNNEL",
+ "music": "MUS_DAN01",
+ "region_map_section": "MAPSEC_RUSTURF_TUNNEL",
+ "requires_flash": false,
+ "weather": "WEATHER_FOG_1",
+ "map_type": "MAP_TYPE_UNDERGROUND",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BLACK_BELT",
+ "x": 23,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "RusturfTunnel_EventScript_15C799",
+ "flag": "FLAG_HIDE_BOYFRIEND_RUSTURF_TUNNEL"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BREAKABLE_ROCK",
+ "x": 24,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "S_BreakableRock",
+ "flag": "FLAG_HIDE_RUSTURF_TUNNEL_ROCK_1"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ITEM_BALL",
+ "x": 3,
+ "y": 1,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "RusturfTunnel_EventScript_1B1786",
+ "flag": "FLAG_ITEM_RUSTURF_TUNNEL_1"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ITEM_BALL",
+ "x": 30,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "RusturfTunnel_EventScript_1B1793",
+ "flag": "FLAG_ITEM_RUSTURF_TUNNEL_2"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_OLD_MAN_1",
+ "x": 5,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_HIDE_BRINEY_RUSTURF_TUNNEL"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_1",
+ "x": 14,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "RusturfTunnel_EventScript_15C9EA",
+ "flag": "FLAG_HIDE_GRUNT_RUSTURF_TUNNEL"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WINGULL",
+ "x": 14,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "RusturfTunnel_EventScript_15C9D7",
+ "flag": "FLAG_HIDE_PEEKO_RUSTURF_TUNNEL"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BREAKABLE_ROCK",
+ "x": 24,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "S_BreakableRock",
+ "flag": "FLAG_HIDE_RUSTURF_TUNNEL_ROCK_2"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_HIKER",
+ "x": 32,
+ "y": 13,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "3",
+ "script": "RusturfTunnel_EventScript_15CACD",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_3",
+ "x": 25,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "RusturfTunnel_EventScript_15C782",
+ "flag": "FLAG_HIDE_GIRLFRIEND_RUSTURF_TUNNEL"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 4,
+ "y": 10,
+ "elevation": 3,
+ "dest_map": "MAP_ROUTE116",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 29,
+ "y": 16,
+ "elevation": 3,
+ "dest_map": "MAP_VERDANTURF_TOWN",
+ "dest_warp_id": 4
+ },
+ {
+ "x": 18,
+ "y": 20,
+ "elevation": 3,
+ "dest_map": "MAP_ROUTE116",
+ "dest_warp_id": 2
+ }
+ ],
+ "coord_events": [
+ {
+ "type": "trigger",
+ "x": 23,
+ "y": 4,
+ "elevation": 3,
+ "var": "0",
+ "var_value": "0",
+ "script": "RusturfTunnel_EventScript_15C999"
+ },
+ {
+ "type": "trigger",
+ "x": 9,
+ "y": 4,
+ "elevation": 3,
+ "var": "VAR_RUSTURF_TUNNEL_STATE",
+ "var_value": "2",
+ "script": "RusturfTunnel_EventScript_15C9AB"
+ },
+ {
+ "type": "trigger",
+ "x": 9,
+ "y": 5,
+ "elevation": 3,
+ "var": "VAR_RUSTURF_TUNNEL_STATE",
+ "var_value": "2",
+ "script": "RusturfTunnel_EventScript_15C9AB"
+ },
+ {
+ "type": "trigger",
+ "x": 25,
+ "y": 4,
+ "elevation": 3,
+ "var": "0",
+ "var_value": "0",
+ "script": "RusturfTunnel_EventScript_15C99F"
+ },
+ {
+ "type": "trigger",
+ "x": 25,
+ "y": 5,
+ "elevation": 3,
+ "var": "0",
+ "var_value": "0",
+ "script": "RusturfTunnel_EventScript_15C9A5"
+ }
+ ],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/SSTidalCorridor/events.inc b/data/maps/SSTidalCorridor/events.inc
deleted file mode 100644
index ba5a350d6..000000000
--- a/data/maps/SSTidalCorridor/events.inc
+++ /dev/null
@@ -1,33 +0,0 @@
-SSTidalCorridor_EventObjects:: @ 83916F8
- object_event 1, EVENT_OBJ_GFX_SAILOR, 0, 1, 11, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, SSTidalCorridor_EventScript_15FDD6, 0
- object_event 2, EVENT_OBJ_GFX_SAILOR, 0, 16, 7, 3, MOVEMENT_TYPE_WANDER_UP_AND_DOWN, 0, 2, 0, 0, SSTidalCorridor_EventScript_15FE60, 0
- object_event 3, EVENT_OBJ_GFX_OLD_MAN_1, 0, 9, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, SSTidalCorridor_EventScript_15FD96, FLAG_HIDE_BRINEY_AND_PEEKO_SS_TIDAL
- object_event 4, EVENT_OBJ_GFX_WINGULL, 0, 7, 2, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, SSTidalCorridor_EventScript_15FD9F, FLAG_HIDE_BRINEY_AND_PEEKO_SS_TIDAL
-
-SSTidalCorridor_MapWarps:: @ 8391758
- warp_def 4, 9, 3, 0, MAP_SS_TIDAL_ROOMS
- warp_def 7, 9, 3, 2, MAP_SS_TIDAL_ROOMS
- warp_def 10, 9, 3, 4, MAP_SS_TIDAL_ROOMS
- warp_def 13, 9, 3, 6, MAP_SS_TIDAL_ROOMS
- warp_def 4, 3, 3, 8, MAP_SS_TIDAL_ROOMS
- warp_def 7, 3, 3, 9, MAP_SS_TIDAL_ROOMS
- warp_def 10, 3, 3, 10, MAP_SS_TIDAL_ROOMS
- warp_def 13, 3, 3, 11, MAP_SS_TIDAL_ROOMS
- warp_def 16, 2, 3, 0, MAP_SS_TIDAL_LOWER_DECK
-
-SSTidalCorridor_MapBGEvents:: @ 83917A0
- bg_event 2, 1, 0, BG_EVENT_PLAYER_FACING_ANY, SSTidalCorridor_EventScript_15FE3A
- bg_event 4, 1, 0, BG_EVENT_PLAYER_FACING_ANY, SSTidalCorridor_EventScript_15FE3A
- bg_event 6, 1, 0, BG_EVENT_PLAYER_FACING_ANY, SSTidalCorridor_EventScript_15FE3A
- bg_event 8, 1, 0, BG_EVENT_PLAYER_FACING_ANY, SSTidalCorridor_EventScript_15FE3A
- bg_event 10, 1, 0, BG_EVENT_PLAYER_FACING_ANY, SSTidalCorridor_EventScript_15FE3A
- bg_event 12, 1, 0, BG_EVENT_PLAYER_FACING_ANY, SSTidalCorridor_EventScript_15FE3A
- bg_event 14, 1, 0, BG_EVENT_PLAYER_FACING_ANY, SSTidalCorridor_EventScript_15FE3A
- bg_event 16, 1, 0, BG_EVENT_PLAYER_FACING_ANY, SSTidalCorridor_EventScript_15FE3A
- bg_event 5, 9, 0, BG_EVENT_PLAYER_FACING_NORTH, SSTidalCorridor_EventScript_15FDB2
- bg_event 8, 9, 0, BG_EVENT_PLAYER_FACING_NORTH, SSTidalCorridor_EventScript_15FDBB
- bg_event 11, 9, 0, BG_EVENT_PLAYER_FACING_NORTH, SSTidalCorridor_EventScript_15FDC4
- bg_event 14, 9, 0, BG_EVENT_PLAYER_FACING_NORTH, SSTidalCorridor_EventScript_15FDCD
-
-SSTidalCorridor_MapEvents:: @ 8391830
- map_events SSTidalCorridor_EventObjects, SSTidalCorridor_MapWarps, 0x0, SSTidalCorridor_MapBGEvents
diff --git a/data/maps/SSTidalCorridor/header.inc b/data/maps/SSTidalCorridor/header.inc
deleted file mode 100644
index 50648d5d8..000000000
--- a/data/maps/SSTidalCorridor/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SSTidalCorridor:: @ 8307B54
- .4byte SSTidalCorridor_Layout
- .4byte SSTidalCorridor_MapEvents
- .4byte SSTidalCorridor_MapScripts
- .4byte 0x0
- .2byte MUS_M_BOAT
- .2byte 278
- .byte MAPSEC_DYNAMIC
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/SSTidalCorridor/map.json b/data/maps/SSTidalCorridor/map.json
new file mode 100644
index 000000000..96a71a548
--- /dev/null
+++ b/data/maps/SSTidalCorridor/map.json
@@ -0,0 +1,231 @@
+{
+ "id": "MAP_SS_TIDAL_CORRIDOR",
+ "name": "SSTidalCorridor",
+ "layout": "LAYOUT_SS_TIDAL_CORRIDOR",
+ "music": "MUS_M_BOAT",
+ "region_map_section": "MAPSEC_DYNAMIC",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_SAILOR",
+ "x": 1,
+ "y": 11,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SSTidalCorridor_EventScript_15FDD6",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_SAILOR",
+ "x": 16,
+ "y": 7,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_UP_AND_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 2,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SSTidalCorridor_EventScript_15FE60",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_OLD_MAN_1",
+ "x": 9,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SSTidalCorridor_EventScript_15FD96",
+ "flag": "FLAG_HIDE_BRINEY_AND_PEEKO_SS_TIDAL"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WINGULL",
+ "x": 7,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SSTidalCorridor_EventScript_15FD9F",
+ "flag": "FLAG_HIDE_BRINEY_AND_PEEKO_SS_TIDAL"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 4,
+ "y": 9,
+ "elevation": 3,
+ "dest_map": "MAP_SS_TIDAL_ROOMS",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 7,
+ "y": 9,
+ "elevation": 3,
+ "dest_map": "MAP_SS_TIDAL_ROOMS",
+ "dest_warp_id": 2
+ },
+ {
+ "x": 10,
+ "y": 9,
+ "elevation": 3,
+ "dest_map": "MAP_SS_TIDAL_ROOMS",
+ "dest_warp_id": 4
+ },
+ {
+ "x": 13,
+ "y": 9,
+ "elevation": 3,
+ "dest_map": "MAP_SS_TIDAL_ROOMS",
+ "dest_warp_id": 6
+ },
+ {
+ "x": 4,
+ "y": 3,
+ "elevation": 3,
+ "dest_map": "MAP_SS_TIDAL_ROOMS",
+ "dest_warp_id": 8
+ },
+ {
+ "x": 7,
+ "y": 3,
+ "elevation": 3,
+ "dest_map": "MAP_SS_TIDAL_ROOMS",
+ "dest_warp_id": 9
+ },
+ {
+ "x": 10,
+ "y": 3,
+ "elevation": 3,
+ "dest_map": "MAP_SS_TIDAL_ROOMS",
+ "dest_warp_id": 10
+ },
+ {
+ "x": 13,
+ "y": 3,
+ "elevation": 3,
+ "dest_map": "MAP_SS_TIDAL_ROOMS",
+ "dest_warp_id": 11
+ },
+ {
+ "x": 16,
+ "y": 2,
+ "elevation": 3,
+ "dest_map": "MAP_SS_TIDAL_LOWER_DECK",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [],
+ "bg_events": [
+ {
+ "type": "sign",
+ "x": 2,
+ "y": 1,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "SSTidalCorridor_EventScript_15FE3A"
+ },
+ {
+ "type": "sign",
+ "x": 4,
+ "y": 1,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "SSTidalCorridor_EventScript_15FE3A"
+ },
+ {
+ "type": "sign",
+ "x": 6,
+ "y": 1,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "SSTidalCorridor_EventScript_15FE3A"
+ },
+ {
+ "type": "sign",
+ "x": 8,
+ "y": 1,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "SSTidalCorridor_EventScript_15FE3A"
+ },
+ {
+ "type": "sign",
+ "x": 10,
+ "y": 1,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "SSTidalCorridor_EventScript_15FE3A"
+ },
+ {
+ "type": "sign",
+ "x": 12,
+ "y": 1,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "SSTidalCorridor_EventScript_15FE3A"
+ },
+ {
+ "type": "sign",
+ "x": 14,
+ "y": 1,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "SSTidalCorridor_EventScript_15FE3A"
+ },
+ {
+ "type": "sign",
+ "x": 16,
+ "y": 1,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "SSTidalCorridor_EventScript_15FE3A"
+ },
+ {
+ "type": "sign",
+ "x": 5,
+ "y": 9,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH",
+ "script": "SSTidalCorridor_EventScript_15FDB2"
+ },
+ {
+ "type": "sign",
+ "x": 8,
+ "y": 9,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH",
+ "script": "SSTidalCorridor_EventScript_15FDBB"
+ },
+ {
+ "type": "sign",
+ "x": 11,
+ "y": 9,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH",
+ "script": "SSTidalCorridor_EventScript_15FDC4"
+ },
+ {
+ "type": "sign",
+ "x": 14,
+ "y": 9,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH",
+ "script": "SSTidalCorridor_EventScript_15FDCD"
+ }
+ ]
+} \ No newline at end of file
diff --git a/data/maps/SSTidalLowerDeck/events.inc b/data/maps/SSTidalLowerDeck/events.inc
deleted file mode 100644
index 4660e56b5..000000000
--- a/data/maps/SSTidalLowerDeck/events.inc
+++ /dev/null
@@ -1,12 +0,0 @@
-SSTidalLowerDeck_EventObjects:: @ 8391844
- object_event 1, EVENT_OBJ_GFX_SAILOR, 0, 10, 4, 3, MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_RIGHT_UP_LEFT, 4, 4, 1, 3, SSTidalLowerDeck_EventScript_15FED7, 0
- object_event 2, EVENT_OBJ_GFX_SAILOR, 0, 7, 4, 3, MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_LEFT_UP_RIGHT, 7, 4, 1, 3, SSTidalLowerDeck_EventScript_15FEEE, 0
-
-SSTidalLowerDeck_MapWarps:: @ 8391874
- warp_def 15, 2, 3, 8, MAP_SS_TIDAL_CORRIDOR
-
-SSTidalLowerDeck_MapBGEvents:: @ 839187C
- bg_hidden_item_event 0, 2, 0, ITEM_LEFTOVERS, FLAG_HIDDEN_ITEM_23
-
-SSTidalLowerDeck_MapEvents:: @ 8391888
- map_events SSTidalLowerDeck_EventObjects, SSTidalLowerDeck_MapWarps, 0x0, SSTidalLowerDeck_MapBGEvents
diff --git a/data/maps/SSTidalLowerDeck/header.inc b/data/maps/SSTidalLowerDeck/header.inc
deleted file mode 100644
index 6d099c8bb..000000000
--- a/data/maps/SSTidalLowerDeck/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SSTidalLowerDeck:: @ 8307B70
- .4byte SSTidalLowerDeck_Layout
- .4byte SSTidalLowerDeck_MapEvents
- .4byte SSTidalLowerDeck_MapScripts
- .4byte 0x0
- .2byte MUS_M_BOAT
- .2byte 279
- .byte MAPSEC_DYNAMIC
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/SSTidalLowerDeck/map.json b/data/maps/SSTidalLowerDeck/map.json
new file mode 100644
index 000000000..32427e217
--- /dev/null
+++ b/data/maps/SSTidalLowerDeck/map.json
@@ -0,0 +1,61 @@
+{
+ "id": "MAP_SS_TIDAL_LOWER_DECK",
+ "name": "SSTidalLowerDeck",
+ "layout": "LAYOUT_SS_TIDAL_LOWER_DECK",
+ "music": "MUS_M_BOAT",
+ "region_map_section": "MAPSEC_DYNAMIC",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_SAILOR",
+ "x": 10,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_RIGHT_UP_LEFT",
+ "movement_range_x": 4,
+ "movement_range_y": 4,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "3",
+ "script": "SSTidalLowerDeck_EventScript_15FED7",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_SAILOR",
+ "x": 7,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_LEFT_UP_RIGHT",
+ "movement_range_x": 7,
+ "movement_range_y": 4,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "3",
+ "script": "SSTidalLowerDeck_EventScript_15FEEE",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 15,
+ "y": 2,
+ "elevation": 3,
+ "dest_map": "MAP_SS_TIDAL_CORRIDOR",
+ "dest_warp_id": 8
+ }
+ ],
+ "coord_events": [],
+ "bg_events": [
+ {
+ "type": "hidden_item",
+ "x": 0,
+ "y": 2,
+ "elevation": 0,
+ "item": "ITEM_LEFTOVERS",
+ "flag": "FLAG_HIDDEN_ITEM_23"
+ }
+ ]
+} \ No newline at end of file
diff --git a/data/maps/SSTidalRooms/events.inc b/data/maps/SSTidalRooms/events.inc
deleted file mode 100644
index 5de9aa019..000000000
--- a/data/maps/SSTidalRooms/events.inc
+++ /dev/null
@@ -1,30 +0,0 @@
-SSTidalRooms_EventObjects:: @ 839189C
- object_event 1, EVENT_OBJ_GFX_MAN_3, 0, 4, 7, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 1, 0, SSTidalRooms_EventScript_15FF5D, 0
- object_event 2, EVENT_OBJ_GFX_GENTLEMAN, 0, 34, 11, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 1, 3, SSTidalRooms_EventScript_15FF74, 0
- object_event 3, EVENT_OBJ_GFX_GENTLEMAN, 0, 21, 5, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 1, 0, SSTidalRooms_EventScript_15FF8B, 0
- object_event 4, EVENT_OBJ_GFX_MAN_5, 0, 7, 13, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 1, 0, SSTidalRooms_EventScript_15FFA2, 0
- object_event 5, EVENT_OBJ_GFX_WOMAN_5, 0, 6, 13, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 1, 0, SSTidalRooms_EventScript_15FFBD, 0
- object_event 6, EVENT_OBJ_GFX_BOY_4, 0, 22, 11, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 1, 3, SSTidalRooms_EventScript_15FFD8, 0
- object_event 7, EVENT_OBJ_GFX_WOMAN_3, 0, 15, 6, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 1, 0, SSTidalRooms_EventScript_15FFEF, 0
- object_event 8, EVENT_OBJ_GFX_MANIAC, 0, 28, 5, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 0, 0, SSTidalRooms_EventScript_15FF06, FLAG_HIDE_TM_49_GIVER_SS_TIDAL
-
-SSTidalRooms_MapWarps:: @ 839195C
- warp_def 4, 16, 0, 0, MAP_SS_TIDAL_CORRIDOR
- warp_def 5, 16, 0, 0, MAP_SS_TIDAL_CORRIDOR
- warp_def 13, 16, 0, 1, MAP_SS_TIDAL_CORRIDOR
- warp_def 14, 16, 0, 1, MAP_SS_TIDAL_CORRIDOR
- warp_def 22, 16, 0, 2, MAP_SS_TIDAL_CORRIDOR
- warp_def 23, 16, 0, 2, MAP_SS_TIDAL_CORRIDOR
- warp_def 31, 16, 0, 3, MAP_SS_TIDAL_CORRIDOR
- warp_def 32, 16, 0, 3, MAP_SS_TIDAL_CORRIDOR
- warp_def 4, 1, 0, 4, MAP_SS_TIDAL_CORRIDOR
- warp_def 13, 1, 0, 5, MAP_SS_TIDAL_CORRIDOR
- warp_def 22, 1, 0, 6, MAP_SS_TIDAL_CORRIDOR
- warp_def 31, 1, 0, 7, MAP_SS_TIDAL_CORRIDOR
-
-SSTidalRooms_MapBGEvents:: @ 83919BC
- bg_event 15, 11, 0, BG_EVENT_PLAYER_FACING_ANY, SSTidalRooms_EventScript_15FF47
- bg_event 15, 12, 0, BG_EVENT_PLAYER_FACING_ANY, SSTidalRooms_EventScript_15FF47
-
-SSTidalRooms_MapEvents:: @ 83919D4
- map_events SSTidalRooms_EventObjects, SSTidalRooms_MapWarps, 0x0, SSTidalRooms_MapBGEvents
diff --git a/data/maps/SSTidalRooms/header.inc b/data/maps/SSTidalRooms/header.inc
deleted file mode 100644
index ccf887a67..000000000
--- a/data/maps/SSTidalRooms/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SSTidalRooms:: @ 8307B8C
- .4byte SSTidalRooms_Layout
- .4byte SSTidalRooms_MapEvents
- .4byte SSTidalRooms_MapScripts
- .4byte 0x0
- .2byte MUS_M_BOAT
- .2byte 280
- .byte MAPSEC_DYNAMIC
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/SSTidalRooms/map.json b/data/maps/SSTidalRooms/map.json
new file mode 100644
index 000000000..dae890edb
--- /dev/null
+++ b/data/maps/SSTidalRooms/map.json
@@ -0,0 +1,224 @@
+{
+ "id": "MAP_SS_TIDAL_ROOMS",
+ "name": "SSTidalRooms",
+ "layout": "LAYOUT_SS_TIDAL_ROOMS",
+ "music": "MUS_M_BOAT",
+ "region_map_section": "MAPSEC_DYNAMIC",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_3",
+ "x": 4,
+ "y": 7,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SSTidalRooms_EventScript_15FF5D",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_GENTLEMAN",
+ "x": 34,
+ "y": 11,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "3",
+ "script": "SSTidalRooms_EventScript_15FF74",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_GENTLEMAN",
+ "x": 21,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SSTidalRooms_EventScript_15FF8B",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_5",
+ "x": 7,
+ "y": 13,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SSTidalRooms_EventScript_15FFA2",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_5",
+ "x": 6,
+ "y": 13,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SSTidalRooms_EventScript_15FFBD",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BOY_4",
+ "x": 22,
+ "y": 11,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "3",
+ "script": "SSTidalRooms_EventScript_15FFD8",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_3",
+ "x": 15,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SSTidalRooms_EventScript_15FFEF",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MANIAC",
+ "x": 28,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SSTidalRooms_EventScript_15FF06",
+ "flag": "FLAG_HIDE_TM_49_GIVER_SS_TIDAL"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 4,
+ "y": 16,
+ "elevation": 0,
+ "dest_map": "MAP_SS_TIDAL_CORRIDOR",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 5,
+ "y": 16,
+ "elevation": 0,
+ "dest_map": "MAP_SS_TIDAL_CORRIDOR",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 13,
+ "y": 16,
+ "elevation": 0,
+ "dest_map": "MAP_SS_TIDAL_CORRIDOR",
+ "dest_warp_id": 1
+ },
+ {
+ "x": 14,
+ "y": 16,
+ "elevation": 0,
+ "dest_map": "MAP_SS_TIDAL_CORRIDOR",
+ "dest_warp_id": 1
+ },
+ {
+ "x": 22,
+ "y": 16,
+ "elevation": 0,
+ "dest_map": "MAP_SS_TIDAL_CORRIDOR",
+ "dest_warp_id": 2
+ },
+ {
+ "x": 23,
+ "y": 16,
+ "elevation": 0,
+ "dest_map": "MAP_SS_TIDAL_CORRIDOR",
+ "dest_warp_id": 2
+ },
+ {
+ "x": 31,
+ "y": 16,
+ "elevation": 0,
+ "dest_map": "MAP_SS_TIDAL_CORRIDOR",
+ "dest_warp_id": 3
+ },
+ {
+ "x": 32,
+ "y": 16,
+ "elevation": 0,
+ "dest_map": "MAP_SS_TIDAL_CORRIDOR",
+ "dest_warp_id": 3
+ },
+ {
+ "x": 4,
+ "y": 1,
+ "elevation": 0,
+ "dest_map": "MAP_SS_TIDAL_CORRIDOR",
+ "dest_warp_id": 4
+ },
+ {
+ "x": 13,
+ "y": 1,
+ "elevation": 0,
+ "dest_map": "MAP_SS_TIDAL_CORRIDOR",
+ "dest_warp_id": 5
+ },
+ {
+ "x": 22,
+ "y": 1,
+ "elevation": 0,
+ "dest_map": "MAP_SS_TIDAL_CORRIDOR",
+ "dest_warp_id": 6
+ },
+ {
+ "x": 31,
+ "y": 1,
+ "elevation": 0,
+ "dest_map": "MAP_SS_TIDAL_CORRIDOR",
+ "dest_warp_id": 7
+ }
+ ],
+ "coord_events": [],
+ "bg_events": [
+ {
+ "type": "sign",
+ "x": 15,
+ "y": 11,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "SSTidalRooms_EventScript_15FF47"
+ },
+ {
+ "type": "sign",
+ "x": 15,
+ "y": 12,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "SSTidalRooms_EventScript_15FF47"
+ }
+ ]
+} \ No newline at end of file
diff --git a/data/maps/SafariZone_Northeast/connections.inc b/data/maps/SafariZone_Northeast/connections.inc
deleted file mode 100644
index 6093ed2a0..000000000
--- a/data/maps/SafariZone_Northeast/connections.inc
+++ /dev/null
@@ -1,7 +0,0 @@
-SafariZone_Northeast_MapConnectionsList:: @ 8308DC8
- connection left, 0, MAP_SAFARI_ZONE_NORTHWEST
- connection down, 0, MAP_SAFARI_ZONE_SOUTHEAST
-
-SafariZone_Northeast_MapConnections:: @ 8308DE0
- .4byte 0x2
- .4byte SafariZone_Northeast_MapConnectionsList
diff --git a/data/maps/SafariZone_Northeast/events.inc b/data/maps/SafariZone_Northeast/events.inc
deleted file mode 100644
index 8e4aa6378..000000000
--- a/data/maps/SafariZone_Northeast/events.inc
+++ /dev/null
@@ -1,13 +0,0 @@
-SafariZone_Northeast_EventObjects:: @ 8391A2C
- object_event 1, EVENT_OBJ_GFX_FISHERMAN, 0, 22, 9, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, SafariZone_Northeast_EventScript_160011, 0
- object_event 2, EVENT_OBJ_GFX_MAN_5, 0, 6, 29, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, SafariZone_Northeast_EventScript_16001A, 0
- object_event 3, EVENT_OBJ_GFX_BREAKABLE_ROCK, 0, 25, 10, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, S_BreakableRock, FLAG_TEMP_11
- object_event 4, EVENT_OBJ_GFX_BREAKABLE_ROCK, 0, 25, 13, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, S_BreakableRock, FLAG_TEMP_12
- object_event 5, EVENT_OBJ_GFX_BREAKABLE_ROCK, 0, 28, 14, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, S_BreakableRock, FLAG_TEMP_13
- object_event 6, EVENT_OBJ_GFX_BREAKABLE_ROCK, 0, 23, 6, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, S_BreakableRock, FLAG_TEMP_14
- object_event 7, EVENT_OBJ_GFX_BREAKABLE_ROCK, 0, 20, 7, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, S_BreakableRock, FLAG_TEMP_15
- object_event 8, EVENT_OBJ_GFX_BREAKABLE_ROCK, 0, 27, 7, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, S_BreakableRock, FLAG_TEMP_16
- object_event 9, EVENT_OBJ_GFX_ITEM_BALL, 0, 7, 6, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, SafariZone_Northeast_EventScript_1B1919, FLAG_ITEM_SAFARI_ZONE_NORTHEAST_1
-
-SafariZone_Northeast_MapEvents:: @ 8391B04
- map_events SafariZone_Northeast_EventObjects, 0x0, 0x0, 0x0
diff --git a/data/maps/SafariZone_Northeast/header.inc b/data/maps/SafariZone_Northeast/header.inc
deleted file mode 100644
index 11d8af01a..000000000
--- a/data/maps/SafariZone_Northeast/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SafariZone_Northeast:: @ 8307BC4
- .4byte SafariZone_Northeast_Layout
- .4byte SafariZone_Northeast_MapEvents
- .4byte SafariZone_Northeast_MapScripts
- .4byte SafariZone_Northeast_MapConnections
- .2byte MUS_SAFARI
- .2byte 240
- .byte MAPSEC_SAFARI_ZONE
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_ROUTE
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/SafariZone_Northeast/map.json b/data/maps/SafariZone_Northeast/map.json
new file mode 100644
index 000000000..b55b4b17d
--- /dev/null
+++ b/data/maps/SafariZone_Northeast/map.json
@@ -0,0 +1,146 @@
+{
+ "id": "MAP_SAFARI_ZONE_NORTHEAST",
+ "name": "SafariZone_Northeast",
+ "layout": "LAYOUT_SAFARI_ZONE_NORTHEAST",
+ "music": "MUS_SAFARI",
+ "region_map_section": "MAPSEC_SAFARI_ZONE",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_ROUTE",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": [
+ {
+ "direction": "left",
+ "offset": 0,
+ "map": "MAP_SAFARI_ZONE_NORTHWEST"
+ },
+ {
+ "direction": "down",
+ "offset": 0,
+ "map": "MAP_SAFARI_ZONE_SOUTHEAST"
+ }
+ ],
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_FISHERMAN",
+ "x": 22,
+ "y": 9,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SafariZone_Northeast_EventScript_160011",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_5",
+ "x": 6,
+ "y": 29,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SafariZone_Northeast_EventScript_16001A",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BREAKABLE_ROCK",
+ "x": 25,
+ "y": 10,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "S_BreakableRock",
+ "flag": "FLAG_TEMP_11"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BREAKABLE_ROCK",
+ "x": 25,
+ "y": 13,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "S_BreakableRock",
+ "flag": "FLAG_TEMP_12"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BREAKABLE_ROCK",
+ "x": 28,
+ "y": 14,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "S_BreakableRock",
+ "flag": "FLAG_TEMP_13"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BREAKABLE_ROCK",
+ "x": 23,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "S_BreakableRock",
+ "flag": "FLAG_TEMP_14"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BREAKABLE_ROCK",
+ "x": 20,
+ "y": 7,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "S_BreakableRock",
+ "flag": "FLAG_TEMP_15"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BREAKABLE_ROCK",
+ "x": 27,
+ "y": 7,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "S_BreakableRock",
+ "flag": "FLAG_TEMP_16"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ITEM_BALL",
+ "x": 7,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SafariZone_Northeast_EventScript_1B1919",
+ "flag": "FLAG_ITEM_SAFARI_ZONE_NORTHEAST_1"
+ }
+ ],
+ "warp_events": [],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/SafariZone_Northwest/connections.inc b/data/maps/SafariZone_Northwest/connections.inc
deleted file mode 100644
index a7b459df2..000000000
--- a/data/maps/SafariZone_Northwest/connections.inc
+++ /dev/null
@@ -1,7 +0,0 @@
-SafariZone_Northwest_MapConnectionsList:: @ 8308DA8
- connection right, 0, MAP_SAFARI_ZONE_NORTHEAST
- connection down, 0, MAP_SAFARI_ZONE_SOUTHWEST
-
-SafariZone_Northwest_MapConnections:: @ 8308DC0
- .4byte 0x2
- .4byte SafariZone_Northwest_MapConnectionsList
diff --git a/data/maps/SafariZone_Northwest/events.inc b/data/maps/SafariZone_Northwest/events.inc
deleted file mode 100644
index b1808d57c..000000000
--- a/data/maps/SafariZone_Northwest/events.inc
+++ /dev/null
@@ -1,6 +0,0 @@
-SafariZone_Northwest_EventObjects:: @ 83919E8
- object_event 1, EVENT_OBJ_GFX_MAN_1, 0, 8, 8, 5, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SafariZone_Northwest_EventScript_160007, 0
- object_event 2, EVENT_OBJ_GFX_ITEM_BALL, 0, 33, 7, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, SafariZone_Northwest_EventScript_1B190C, FLAG_ITEM_SAFARI_ZONE_NORTHWEST_1
-
-SafariZone_Northwest_MapEvents:: @ 8391A18
- map_events SafariZone_Northwest_EventObjects, 0x0, 0x0, 0x0
diff --git a/data/maps/SafariZone_Northwest/header.inc b/data/maps/SafariZone_Northwest/header.inc
deleted file mode 100644
index f1d3ba373..000000000
--- a/data/maps/SafariZone_Northwest/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SafariZone_Northwest:: @ 8307BA8
- .4byte SafariZone_Northwest_Layout
- .4byte SafariZone_Northwest_MapEvents
- .4byte SafariZone_Northwest_MapScripts
- .4byte SafariZone_Northwest_MapConnections
- .2byte MUS_SAFARI
- .2byte 239
- .byte MAPSEC_SAFARI_ZONE
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_ROUTE
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/SafariZone_Northwest/map.json b/data/maps/SafariZone_Northwest/map.json
new file mode 100644
index 000000000..7ce5e066a
--- /dev/null
+++ b/data/maps/SafariZone_Northwest/map.json
@@ -0,0 +1,55 @@
+{
+ "id": "MAP_SAFARI_ZONE_NORTHWEST",
+ "name": "SafariZone_Northwest",
+ "layout": "LAYOUT_SAFARI_ZONE_NORTHWEST",
+ "music": "MUS_SAFARI",
+ "region_map_section": "MAPSEC_SAFARI_ZONE",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_ROUTE",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": [
+ {
+ "direction": "right",
+ "offset": 0,
+ "map": "MAP_SAFARI_ZONE_NORTHEAST"
+ },
+ {
+ "direction": "down",
+ "offset": 0,
+ "map": "MAP_SAFARI_ZONE_SOUTHWEST"
+ }
+ ],
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_1",
+ "x": 8,
+ "y": 8,
+ "elevation": 5,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SafariZone_Northwest_EventScript_160007",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ITEM_BALL",
+ "x": 33,
+ "y": 7,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SafariZone_Northwest_EventScript_1B190C",
+ "flag": "FLAG_ITEM_SAFARI_ZONE_NORTHWEST_1"
+ }
+ ],
+ "warp_events": [],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/SafariZone_RestHouse/events.inc b/data/maps/SafariZone_RestHouse/events.inc
deleted file mode 100644
index db69b02ba..000000000
--- a/data/maps/SafariZone_RestHouse/events.inc
+++ /dev/null
@@ -1,11 +0,0 @@
-SafariZone_RestHouse_EventObjects:: @ 8391EC0
- object_event 1, EVENT_OBJ_GFX_YOUNGSTER, 0, 7, 4, 0, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 0, 0, SafariZone_RestHouse_EventScript_160C2F, 0
- object_event 2, EVENT_OBJ_GFX_PSYCHIC_M, 0, 8, 4, 0, MOVEMENT_TYPE_FACE_LEFT, 1, 1, 0, 0, SafariZone_RestHouse_EventScript_160C38, 0
- object_event 3, EVENT_OBJ_GFX_FAT_MAN, 0, 2, 5, 3, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 0, 0, SafariZone_RestHouse_EventScript_160C41, 0
-
-SafariZone_RestHouse_MapWarps:: @ 8391F08
- warp_def 3, 8, 0, 0, MAP_SAFARI_ZONE_SOUTHWEST
- warp_def 4, 8, 0, 0, MAP_SAFARI_ZONE_SOUTHWEST
-
-SafariZone_RestHouse_MapEvents:: @ 8391F18
- map_events SafariZone_RestHouse_EventObjects, SafariZone_RestHouse_MapWarps, 0x0, 0x0
diff --git a/data/maps/SafariZone_RestHouse/header.inc b/data/maps/SafariZone_RestHouse/header.inc
deleted file mode 100644
index 0c02110fd..000000000
--- a/data/maps/SafariZone_RestHouse/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SafariZone_RestHouse:: @ 8307CDC
- .4byte SafariZone_RestHouse_Layout
- .4byte SafariZone_RestHouse_MapEvents
- .4byte SafariZone_RestHouse_MapScripts
- .4byte 0x0
- .2byte MUS_SAFARI
- .2byte 330
- .byte MAPSEC_SAFARI_ZONE
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/SafariZone_RestHouse/map.json b/data/maps/SafariZone_RestHouse/map.json
new file mode 100644
index 000000000..75441b275
--- /dev/null
+++ b/data/maps/SafariZone_RestHouse/map.json
@@ -0,0 +1,72 @@
+{
+ "id": "MAP_SAFARI_ZONE_REST_HOUSE",
+ "name": "SafariZone_RestHouse",
+ "layout": "LAYOUT_SAFARI_ZONE_REST_HOUSE",
+ "music": "MUS_SAFARI",
+ "region_map_section": "MAPSEC_SAFARI_ZONE",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_YOUNGSTER",
+ "x": 7,
+ "y": 4,
+ "elevation": 0,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SafariZone_RestHouse_EventScript_160C2F",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_PSYCHIC_M",
+ "x": 8,
+ "y": 4,
+ "elevation": 0,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SafariZone_RestHouse_EventScript_160C38",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_FAT_MAN",
+ "x": 2,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SafariZone_RestHouse_EventScript_160C41",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 3,
+ "y": 8,
+ "elevation": 0,
+ "dest_map": "MAP_SAFARI_ZONE_SOUTHWEST",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 4,
+ "y": 8,
+ "elevation": 0,
+ "dest_map": "MAP_SAFARI_ZONE_SOUTHWEST",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/SafariZone_Southeast/connections.inc b/data/maps/SafariZone_Southeast/connections.inc
deleted file mode 100644
index c9c6d2143..000000000
--- a/data/maps/SafariZone_Southeast/connections.inc
+++ /dev/null
@@ -1,7 +0,0 @@
-SafariZone_Southeast_MapConnectionsList:: @ 8308E08
- connection up, 0, MAP_SAFARI_ZONE_NORTHEAST
- connection left, 0, MAP_SAFARI_ZONE_SOUTHWEST
-
-SafariZone_Southeast_MapConnections:: @ 8308E20
- .4byte 0x2
- .4byte SafariZone_Southeast_MapConnectionsList
diff --git a/data/maps/SafariZone_Southeast/events.inc b/data/maps/SafariZone_Southeast/events.inc
deleted file mode 100644
index 25453c883..000000000
--- a/data/maps/SafariZone_Southeast/events.inc
+++ /dev/null
@@ -1,11 +0,0 @@
-SafariZone_Southeast_EventObjects:: @ 8391B70
- object_event 1, EVENT_OBJ_GFX_CAMPER, 0, 32, 34, 4, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SafariZone_Southeast_EventScript_1600A7, 0
- object_event 2, EVENT_OBJ_GFX_BOY_1, 0, 26, 28, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, SafariZone_Southeast_EventScript_16008C, 0
- object_event 3, EVENT_OBJ_GFX_MAN_5, 0, 16, 6, 5, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SafariZone_Southeast_EventScript_160095, 0
- object_event 4, EVENT_OBJ_GFX_YOUNGSTER, 0, 15, 31, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, SafariZone_Southeast_EventScript_16009E, 0
-
-SafariZone_Southeast_MapWarps:: @ 8391BD0
- warp_def 32, 33, 0, 0, MAP_ROUTE121_SAFARI_ZONE_ENTRANCE
-
-SafariZone_Southeast_MapEvents:: @ 8391BD8
- map_events SafariZone_Southeast_EventObjects, SafariZone_Southeast_MapWarps, 0x0, 0x0
diff --git a/data/maps/SafariZone_Southeast/header.inc b/data/maps/SafariZone_Southeast/header.inc
deleted file mode 100644
index 9248fb679..000000000
--- a/data/maps/SafariZone_Southeast/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SafariZone_Southeast:: @ 8307BFC
- .4byte SafariZone_Southeast_Layout
- .4byte SafariZone_Southeast_MapEvents
- .4byte SafariZone_Southeast_MapScripts
- .4byte SafariZone_Southeast_MapConnections
- .2byte MUS_SAFARI
- .2byte 242
- .byte MAPSEC_SAFARI_ZONE
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_ROUTE
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/SafariZone_Southeast/map.json b/data/maps/SafariZone_Southeast/map.json
new file mode 100644
index 000000000..4a221659e
--- /dev/null
+++ b/data/maps/SafariZone_Southeast/map.json
@@ -0,0 +1,89 @@
+{
+ "id": "MAP_SAFARI_ZONE_SOUTHEAST",
+ "name": "SafariZone_Southeast",
+ "layout": "LAYOUT_SAFARI_ZONE_SOUTHEAST",
+ "music": "MUS_SAFARI",
+ "region_map_section": "MAPSEC_SAFARI_ZONE",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_ROUTE",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": [
+ {
+ "direction": "up",
+ "offset": 0,
+ "map": "MAP_SAFARI_ZONE_NORTHEAST"
+ },
+ {
+ "direction": "left",
+ "offset": 0,
+ "map": "MAP_SAFARI_ZONE_SOUTHWEST"
+ }
+ ],
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_CAMPER",
+ "x": 32,
+ "y": 34,
+ "elevation": 4,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SafariZone_Southeast_EventScript_1600A7",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BOY_1",
+ "x": 26,
+ "y": 28,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SafariZone_Southeast_EventScript_16008C",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_5",
+ "x": 16,
+ "y": 6,
+ "elevation": 5,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SafariZone_Southeast_EventScript_160095",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_YOUNGSTER",
+ "x": 15,
+ "y": 31,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SafariZone_Southeast_EventScript_16009E",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 32,
+ "y": 33,
+ "elevation": 0,
+ "dest_map": "MAP_ROUTE121_SAFARI_ZONE_ENTRANCE",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/SafariZone_Southwest/connections.inc b/data/maps/SafariZone_Southwest/connections.inc
deleted file mode 100644
index 84e103cb4..000000000
--- a/data/maps/SafariZone_Southwest/connections.inc
+++ /dev/null
@@ -1,7 +0,0 @@
-SafariZone_Southwest_MapConnectionsList:: @ 8308DE8
- connection up, 0, MAP_SAFARI_ZONE_NORTHWEST
- connection right, 0, MAP_SAFARI_ZONE_SOUTHEAST
-
-SafariZone_Southwest_MapConnections:: @ 8308E00
- .4byte 0x2
- .4byte SafariZone_Southwest_MapConnectionsList
diff --git a/data/maps/SafariZone_Southwest/events.inc b/data/maps/SafariZone_Southwest/events.inc
deleted file mode 100644
index 7ac33182f..000000000
--- a/data/maps/SafariZone_Southwest/events.inc
+++ /dev/null
@@ -1,12 +0,0 @@
-SafariZone_Southwest_EventObjects:: @ 8391B18
- object_event 1, EVENT_OBJ_GFX_WOMAN_3, 0, 22, 9, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SafariZone_Southwest_EventScript_160024, 0
- object_event 2, EVENT_OBJ_GFX_ITEM_BALL, 0, 0, 37, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, SafariZone_Southwest_EventScript_1B1926, FLAG_ITEM_SAFARI_ZONE_SOUTHWEST
-
-SafariZone_Southwest_MapWarps:: @ 8391B48
- warp_def 29, 7, 3, 0, MAP_SAFARI_ZONE_REST_HOUSE
-
-SafariZone_Southwest_MapBGEvents:: @ 8391B50
- bg_event 32, 7, 3, BG_EVENT_PLAYER_FACING_ANY, SafariZone_Southwest_EventScript_16002D
-
-SafariZone_Southwest_MapEvents:: @ 8391B5C
- map_events SafariZone_Southwest_EventObjects, SafariZone_Southwest_MapWarps, 0x0, SafariZone_Southwest_MapBGEvents
diff --git a/data/maps/SafariZone_Southwest/header.inc b/data/maps/SafariZone_Southwest/header.inc
deleted file mode 100644
index 0af533fe7..000000000
--- a/data/maps/SafariZone_Southwest/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SafariZone_Southwest:: @ 8307BE0
- .4byte SafariZone_Southwest_Layout
- .4byte SafariZone_Southwest_MapEvents
- .4byte SafariZone_Southwest_MapScripts
- .4byte SafariZone_Southwest_MapConnections
- .2byte MUS_SAFARI
- .2byte 241
- .byte MAPSEC_SAFARI_ZONE
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_ROUTE
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/SafariZone_Southwest/map.json b/data/maps/SafariZone_Southwest/map.json
new file mode 100644
index 000000000..aa8783ee7
--- /dev/null
+++ b/data/maps/SafariZone_Southwest/map.json
@@ -0,0 +1,72 @@
+{
+ "id": "MAP_SAFARI_ZONE_SOUTHWEST",
+ "name": "SafariZone_Southwest",
+ "layout": "LAYOUT_SAFARI_ZONE_SOUTHWEST",
+ "music": "MUS_SAFARI",
+ "region_map_section": "MAPSEC_SAFARI_ZONE",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_ROUTE",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": [
+ {
+ "direction": "up",
+ "offset": 0,
+ "map": "MAP_SAFARI_ZONE_NORTHWEST"
+ },
+ {
+ "direction": "right",
+ "offset": 0,
+ "map": "MAP_SAFARI_ZONE_SOUTHEAST"
+ }
+ ],
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_3",
+ "x": 22,
+ "y": 9,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SafariZone_Southwest_EventScript_160024",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ITEM_BALL",
+ "x": 0,
+ "y": 37,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SafariZone_Southwest_EventScript_1B1926",
+ "flag": "FLAG_ITEM_SAFARI_ZONE_SOUTHWEST"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 29,
+ "y": 7,
+ "elevation": 3,
+ "dest_map": "MAP_SAFARI_ZONE_REST_HOUSE",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [],
+ "bg_events": [
+ {
+ "type": "sign",
+ "x": 32,
+ "y": 7,
+ "elevation": 3,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "SafariZone_Southwest_EventScript_16002D"
+ }
+ ]
+} \ No newline at end of file
diff --git a/data/maps/ScorchedSlab/events.inc b/data/maps/ScorchedSlab/events.inc
deleted file mode 100644
index 7643dcc1c..000000000
--- a/data/maps/ScorchedSlab/events.inc
+++ /dev/null
@@ -1,8 +0,0 @@
-ScorchedSlab_EventObjects:: @ 838E988
- object_event 1, EVENT_OBJ_GFX_ITEM_BALL, 0, 7, 5, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, ScorchedSlab_EventScript_1B18FF, FLAG_ITEM_SCORCHED_SLAB_1
-
-ScorchedSlab_MapWarps:: @ 838E9A0
- warp_def 7, 16, 1, 1, MAP_ROUTE120
-
-ScorchedSlab_MapEvents:: @ 838E9A8
- map_events ScorchedSlab_EventObjects, ScorchedSlab_MapWarps, 0x0, 0x0
diff --git a/data/maps/ScorchedSlab/header.inc b/data/maps/ScorchedSlab/header.inc
deleted file mode 100644
index bf9ae56b0..000000000
--- a/data/maps/ScorchedSlab/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-ScorchedSlab:: @ 830756C
- .4byte ScorchedSlab_Layout
- .4byte ScorchedSlab_MapEvents
- .4byte ScorchedSlab_MapScripts
- .4byte 0x0
- .2byte MUS_DAN01
- .2byte 312
- .byte MAPSEC_SCORCHED_SLAB
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_UNDERGROUND
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/ScorchedSlab/map.json b/data/maps/ScorchedSlab/map.json
new file mode 100644
index 000000000..21620a3ff
--- /dev/null
+++ b/data/maps/ScorchedSlab/map.json
@@ -0,0 +1,39 @@
+{
+ "id": "MAP_SCORCHED_SLAB",
+ "name": "ScorchedSlab",
+ "layout": "LAYOUT_SCORCHED_SLAB",
+ "music": "MUS_DAN01",
+ "region_map_section": "MAPSEC_SCORCHED_SLAB",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_UNDERGROUND",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ITEM_BALL",
+ "x": 7,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "ScorchedSlab_EventScript_1B18FF",
+ "flag": "FLAG_ITEM_SCORCHED_SLAB_1"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 7,
+ "y": 16,
+ "elevation": 1,
+ "dest_map": "MAP_ROUTE120",
+ "dest_warp_id": 1
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/SeafloorCavern_Entrance/events.inc b/data/maps/SeafloorCavern_Entrance/events.inc
deleted file mode 100644
index 4f6fa0c07..000000000
--- a/data/maps/SeafloorCavern_Entrance/events.inc
+++ /dev/null
@@ -1,6 +0,0 @@
-SeafloorCavern_Entrance_MapWarps:: @ 838D094
- warp_def 10, 18, 3, 0, MAP_UNDERWATER4
- warp_def 10, 1, 3, 0, MAP_SEAFLOOR_CAVERN_ROOM1
-
-SeafloorCavern_Entrance_MapEvents:: @ 838D0A4
- map_events 0x0, SeafloorCavern_Entrance_MapWarps, 0x0, 0x0
diff --git a/data/maps/SeafloorCavern_Entrance/header.inc b/data/maps/SeafloorCavern_Entrance/header.inc
deleted file mode 100644
index d1546c99f..000000000
--- a/data/maps/SeafloorCavern_Entrance/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SeafloorCavern_Entrance:: @ 8307064
- .4byte SeafloorCavern_Entrance_Layout
- .4byte SeafloorCavern_Entrance_MapEvents
- .4byte SeafloorCavern_Entrance_MapScripts
- .4byte 0x0
- .2byte MUS_TOZAN
- .2byte 148
- .byte MAPSEC_SEAFLOOR_CAVERN
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_UNDERGROUND
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/SeafloorCavern_Entrance/map.json b/data/maps/SeafloorCavern_Entrance/map.json
new file mode 100644
index 000000000..0aadf9e82
--- /dev/null
+++ b/data/maps/SeafloorCavern_Entrance/map.json
@@ -0,0 +1,32 @@
+{
+ "id": "MAP_SEAFLOOR_CAVERN_ENTRANCE",
+ "name": "SeafloorCavern_Entrance",
+ "layout": "LAYOUT_SEAFLOOR_CAVERN_ENTRANCE",
+ "music": "MUS_TOZAN",
+ "region_map_section": "MAPSEC_SEAFLOOR_CAVERN",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_UNDERGROUND",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [],
+ "warp_events": [
+ {
+ "x": 10,
+ "y": 18,
+ "elevation": 3,
+ "dest_map": "MAP_UNDERWATER4",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 10,
+ "y": 1,
+ "elevation": 3,
+ "dest_map": "MAP_SEAFLOOR_CAVERN_ROOM1",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/SeafloorCavern_Room1/events.inc b/data/maps/SeafloorCavern_Room1/events.inc
deleted file mode 100644
index f4ff3eb05..000000000
--- a/data/maps/SeafloorCavern_Room1/events.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SeafloorCavern_Room1_EventObjects:: @ 838D0B8
- object_event 1, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 5, 11, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, S_PushableBoulder, FLAG_TEMP_11
- object_event 2, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 12, 11, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, S_PushableBoulder, FLAG_TEMP_12
- object_event 3, EVENT_OBJ_GFX_BREAKABLE_ROCK, 0, 5, 10, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, S_BreakableRock, FLAG_TEMP_13
- object_event 4, EVENT_OBJ_GFX_VAR_1, 0, 8, 6, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 1, 2, SeafloorCavern_Room1_EventScript_15DA6D, FLAG_HIDE_EVIL_TEAM_GRUNTS_SEAFLOOR_CAVERN
- object_event 5, EVENT_OBJ_GFX_VAR_1, 0, 15, 10, 3, MOVEMENT_TYPE_FACE_UP_AND_RIGHT, 1, 1, 1, 3, SeafloorCavern_Room1_EventScript_15DA84, FLAG_HIDE_EVIL_TEAM_GRUNTS_SEAFLOOR_CAVERN
-
-SeafloorCavern_Room1_MapWarps:: @ 838D130
- warp_def 5, 18, 3, 1, MAP_SEAFLOOR_CAVERN_ENTRANCE
- warp_def 17, 13, 3, 0, MAP_SEAFLOOR_CAVERN_ROOM5
- warp_def 6, 2, 3, 0, MAP_SEAFLOOR_CAVERN_ROOM2
-
-SeafloorCavern_Room1_MapEvents:: @ 838D148
- map_events SeafloorCavern_Room1_EventObjects, SeafloorCavern_Room1_MapWarps, 0x0, 0x0
diff --git a/data/maps/SeafloorCavern_Room1/header.inc b/data/maps/SeafloorCavern_Room1/header.inc
deleted file mode 100644
index d7ded7e26..000000000
--- a/data/maps/SeafloorCavern_Room1/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SeafloorCavern_Room1:: @ 8307080
- .4byte SeafloorCavern_Room1_Layout
- .4byte SeafloorCavern_Room1_MapEvents
- .4byte SeafloorCavern_Room1_MapScripts
- .4byte 0x0
- .2byte MUS_TOZAN
- .2byte 149
- .byte MAPSEC_SEAFLOOR_CAVERN
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_UNDERGROUND
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/SeafloorCavern_Room1/map.json b/data/maps/SeafloorCavern_Room1/map.json
new file mode 100644
index 000000000..a112c7687
--- /dev/null
+++ b/data/maps/SeafloorCavern_Room1/map.json
@@ -0,0 +1,105 @@
+{
+ "id": "MAP_SEAFLOOR_CAVERN_ROOM1",
+ "name": "SeafloorCavern_Room1",
+ "layout": "LAYOUT_SEAFLOOR_CAVERN_ROOM1",
+ "music": "MUS_TOZAN",
+ "region_map_section": "MAPSEC_SEAFLOOR_CAVERN",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_UNDERGROUND",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_PUSHABLE_BOULDER",
+ "x": 5,
+ "y": 11,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "S_PushableBoulder",
+ "flag": "FLAG_TEMP_11"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_PUSHABLE_BOULDER",
+ "x": 12,
+ "y": 11,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "S_PushableBoulder",
+ "flag": "FLAG_TEMP_12"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BREAKABLE_ROCK",
+ "x": 5,
+ "y": 10,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "S_BreakableRock",
+ "flag": "FLAG_TEMP_13"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_1",
+ "x": 8,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "2",
+ "script": "SeafloorCavern_Room1_EventScript_15DA6D",
+ "flag": "FLAG_HIDE_EVIL_TEAM_GRUNTS_SEAFLOOR_CAVERN"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_1",
+ "x": 15,
+ "y": 10,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP_AND_RIGHT",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "3",
+ "script": "SeafloorCavern_Room1_EventScript_15DA84",
+ "flag": "FLAG_HIDE_EVIL_TEAM_GRUNTS_SEAFLOOR_CAVERN"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 5,
+ "y": 18,
+ "elevation": 3,
+ "dest_map": "MAP_SEAFLOOR_CAVERN_ENTRANCE",
+ "dest_warp_id": 1
+ },
+ {
+ "x": 17,
+ "y": 13,
+ "elevation": 3,
+ "dest_map": "MAP_SEAFLOOR_CAVERN_ROOM5",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 6,
+ "y": 2,
+ "elevation": 3,
+ "dest_map": "MAP_SEAFLOOR_CAVERN_ROOM2",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/SeafloorCavern_Room2/events.inc b/data/maps/SeafloorCavern_Room2/events.inc
deleted file mode 100644
index 02edc38e3..000000000
--- a/data/maps/SeafloorCavern_Room2/events.inc
+++ /dev/null
@@ -1,19 +0,0 @@
-SeafloorCavern_Room2_EventObjects:: @ 838D15C
- object_event 1, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 6, 14, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, S_PushableBoulder, FLAG_TEMP_11
- object_event 2, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 6, 10, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, S_PushableBoulder, FLAG_TEMP_12
- object_event 3, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 6, 6, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, S_PushableBoulder, FLAG_TEMP_13
- object_event 4, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 11, 6, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, S_PushableBoulder, FLAG_TEMP_14
- object_event 5, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 11, 10, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, S_PushableBoulder, FLAG_TEMP_15
- object_event 6, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 11, 14, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, S_PushableBoulder, FLAG_TEMP_16
- object_event 7, EVENT_OBJ_GFX_BREAKABLE_ROCK, 0, 11, 9, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, S_BreakableRock, FLAG_TEMP_18
- object_event 8, EVENT_OBJ_GFX_BREAKABLE_ROCK, 0, 7, 6, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, S_BreakableRock, FLAG_TEMP_19
- object_event 9, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 15, 11, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, S_PushableBoulder, FLAG_TEMP_17
-
-SeafloorCavern_Room2_MapWarps:: @ 838D234
- warp_def 12, 19, 3, 2, MAP_SEAFLOOR_CAVERN_ROOM1
- warp_def 5, 19, 3, 0, MAP_SEAFLOOR_CAVERN_ROOM4
- warp_def 5, 2, 3, 0, MAP_SEAFLOOR_CAVERN_ROOM6
- warp_def 12, 2, 3, 0, MAP_SEAFLOOR_CAVERN_ROOM7
-
-SeafloorCavern_Room2_MapEvents:: @ 838D254
- map_events SeafloorCavern_Room2_EventObjects, SeafloorCavern_Room2_MapWarps, 0x0, 0x0
diff --git a/data/maps/SeafloorCavern_Room2/header.inc b/data/maps/SeafloorCavern_Room2/header.inc
deleted file mode 100644
index 9ca4ef096..000000000
--- a/data/maps/SeafloorCavern_Room2/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SeafloorCavern_Room2:: @ 830709C
- .4byte SeafloorCavern_Room2_Layout
- .4byte SeafloorCavern_Room2_MapEvents
- .4byte SeafloorCavern_Room2_MapScripts
- .4byte 0x0
- .2byte MUS_TOZAN
- .2byte 150
- .byte MAPSEC_SEAFLOOR_CAVERN
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_UNDERGROUND
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/SeafloorCavern_Room2/map.json b/data/maps/SeafloorCavern_Room2/map.json
new file mode 100644
index 000000000..bfaaa3348
--- /dev/null
+++ b/data/maps/SeafloorCavern_Room2/map.json
@@ -0,0 +1,164 @@
+{
+ "id": "MAP_SEAFLOOR_CAVERN_ROOM2",
+ "name": "SeafloorCavern_Room2",
+ "layout": "LAYOUT_SEAFLOOR_CAVERN_ROOM2",
+ "music": "MUS_TOZAN",
+ "region_map_section": "MAPSEC_SEAFLOOR_CAVERN",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_UNDERGROUND",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_PUSHABLE_BOULDER",
+ "x": 6,
+ "y": 14,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "S_PushableBoulder",
+ "flag": "FLAG_TEMP_11"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_PUSHABLE_BOULDER",
+ "x": 6,
+ "y": 10,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "S_PushableBoulder",
+ "flag": "FLAG_TEMP_12"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_PUSHABLE_BOULDER",
+ "x": 6,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "S_PushableBoulder",
+ "flag": "FLAG_TEMP_13"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_PUSHABLE_BOULDER",
+ "x": 11,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "S_PushableBoulder",
+ "flag": "FLAG_TEMP_14"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_PUSHABLE_BOULDER",
+ "x": 11,
+ "y": 10,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "S_PushableBoulder",
+ "flag": "FLAG_TEMP_15"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_PUSHABLE_BOULDER",
+ "x": 11,
+ "y": 14,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "S_PushableBoulder",
+ "flag": "FLAG_TEMP_16"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BREAKABLE_ROCK",
+ "x": 11,
+ "y": 9,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "S_BreakableRock",
+ "flag": "FLAG_TEMP_18"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BREAKABLE_ROCK",
+ "x": 7,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "S_BreakableRock",
+ "flag": "FLAG_TEMP_19"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_PUSHABLE_BOULDER",
+ "x": 15,
+ "y": 11,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "S_PushableBoulder",
+ "flag": "FLAG_TEMP_17"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 12,
+ "y": 19,
+ "elevation": 3,
+ "dest_map": "MAP_SEAFLOOR_CAVERN_ROOM1",
+ "dest_warp_id": 2
+ },
+ {
+ "x": 5,
+ "y": 19,
+ "elevation": 3,
+ "dest_map": "MAP_SEAFLOOR_CAVERN_ROOM4",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 5,
+ "y": 2,
+ "elevation": 3,
+ "dest_map": "MAP_SEAFLOOR_CAVERN_ROOM6",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 12,
+ "y": 2,
+ "elevation": 3,
+ "dest_map": "MAP_SEAFLOOR_CAVERN_ROOM7",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/SeafloorCavern_Room3/events.inc b/data/maps/SeafloorCavern_Room3/events.inc
deleted file mode 100644
index 7ee486f74..000000000
--- a/data/maps/SeafloorCavern_Room3/events.inc
+++ /dev/null
@@ -1,19 +0,0 @@
-SeafloorCavern_Room3_EventObjects:: @ 838D268
- object_event 1, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 6, 13, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, S_PushableBoulder, FLAG_TEMP_11
- object_event 2, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 8, 12, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, S_PushableBoulder, FLAG_TEMP_12
- object_event 3, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 7, 11, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, S_PushableBoulder, FLAG_TEMP_13
- object_event 4, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 9, 11, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, S_PushableBoulder, FLAG_TEMP_14
- object_event 5, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 6, 10, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, S_PushableBoulder, FLAG_TEMP_15
- object_event 6, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 8, 10, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, S_PushableBoulder, FLAG_TEMP_16
- object_event 7, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 5, 9, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, S_PushableBoulder, FLAG_TEMP_17
- object_event 8, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 7, 9, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, S_PushableBoulder, FLAG_TEMP_18
- object_event 9, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 9, 9, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, S_PushableBoulder, FLAG_TEMP_19
- object_event 10, EVENT_OBJ_GFX_VAR_2, 0, 10, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 1, 3, SeafloorCavern_Room3_EventScript_15DAA8, FLAG_HIDE_EVIL_TEAM_GRUNTS_SEAFLOOR_CAVERN
-
-SeafloorCavern_Room3_MapWarps:: @ 838D358
- warp_def 8, 1, 3, 1, MAP_SEAFLOOR_CAVERN_ROOM8
- warp_def 10, 13, 3, 1, MAP_SEAFLOOR_CAVERN_ROOM7
- warp_def 4, 15, 3, 1, MAP_SEAFLOOR_CAVERN_ROOM6
-
-SeafloorCavern_Room3_MapEvents:: @ 838D370
- map_events SeafloorCavern_Room3_EventObjects, SeafloorCavern_Room3_MapWarps, 0x0, 0x0
diff --git a/data/maps/SeafloorCavern_Room3/header.inc b/data/maps/SeafloorCavern_Room3/header.inc
deleted file mode 100644
index b17c3014d..000000000
--- a/data/maps/SeafloorCavern_Room3/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SeafloorCavern_Room3:: @ 83070B8
- .4byte SeafloorCavern_Room3_Layout
- .4byte SeafloorCavern_Room3_MapEvents
- .4byte SeafloorCavern_Room3_MapScripts
- .4byte 0x0
- .2byte MUS_TOZAN
- .2byte 151
- .byte MAPSEC_SEAFLOOR_CAVERN
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_UNDERGROUND
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/SeafloorCavern_Room3/map.json b/data/maps/SeafloorCavern_Room3/map.json
new file mode 100644
index 000000000..c2e2e3ecf
--- /dev/null
+++ b/data/maps/SeafloorCavern_Room3/map.json
@@ -0,0 +1,170 @@
+{
+ "id": "MAP_SEAFLOOR_CAVERN_ROOM3",
+ "name": "SeafloorCavern_Room3",
+ "layout": "LAYOUT_SEAFLOOR_CAVERN_ROOM3",
+ "music": "MUS_TOZAN",
+ "region_map_section": "MAPSEC_SEAFLOOR_CAVERN",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_UNDERGROUND",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_PUSHABLE_BOULDER",
+ "x": 6,
+ "y": 13,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "S_PushableBoulder",
+ "flag": "FLAG_TEMP_11"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_PUSHABLE_BOULDER",
+ "x": 8,
+ "y": 12,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "S_PushableBoulder",
+ "flag": "FLAG_TEMP_12"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_PUSHABLE_BOULDER",
+ "x": 7,
+ "y": 11,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "S_PushableBoulder",
+ "flag": "FLAG_TEMP_13"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_PUSHABLE_BOULDER",
+ "x": 9,
+ "y": 11,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "S_PushableBoulder",
+ "flag": "FLAG_TEMP_14"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_PUSHABLE_BOULDER",
+ "x": 6,
+ "y": 10,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "S_PushableBoulder",
+ "flag": "FLAG_TEMP_15"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_PUSHABLE_BOULDER",
+ "x": 8,
+ "y": 10,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "S_PushableBoulder",
+ "flag": "FLAG_TEMP_16"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_PUSHABLE_BOULDER",
+ "x": 5,
+ "y": 9,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "S_PushableBoulder",
+ "flag": "FLAG_TEMP_17"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_PUSHABLE_BOULDER",
+ "x": 7,
+ "y": 9,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "S_PushableBoulder",
+ "flag": "FLAG_TEMP_18"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_PUSHABLE_BOULDER",
+ "x": 9,
+ "y": 9,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "S_PushableBoulder",
+ "flag": "FLAG_TEMP_19"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_2",
+ "x": 10,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "3",
+ "script": "SeafloorCavern_Room3_EventScript_15DAA8",
+ "flag": "FLAG_HIDE_EVIL_TEAM_GRUNTS_SEAFLOOR_CAVERN"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 8,
+ "y": 1,
+ "elevation": 3,
+ "dest_map": "MAP_SEAFLOOR_CAVERN_ROOM8",
+ "dest_warp_id": 1
+ },
+ {
+ "x": 10,
+ "y": 13,
+ "elevation": 3,
+ "dest_map": "MAP_SEAFLOOR_CAVERN_ROOM7",
+ "dest_warp_id": 1
+ },
+ {
+ "x": 4,
+ "y": 15,
+ "elevation": 3,
+ "dest_map": "MAP_SEAFLOOR_CAVERN_ROOM6",
+ "dest_warp_id": 1
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/SeafloorCavern_Room4/events.inc b/data/maps/SeafloorCavern_Room4/events.inc
deleted file mode 100644
index a1e3f8326..000000000
--- a/data/maps/SeafloorCavern_Room4/events.inc
+++ /dev/null
@@ -1,11 +0,0 @@
-SeafloorCavern_Room4_EventObjects:: @ 838D384
- object_event 1, EVENT_OBJ_GFX_VAR_1, 0, 4, 8, 3, MOVEMENT_TYPE_ROTATE_COUNTERCLOCKWISE, 1, 1, 1, 3, SeafloorCavern_Room4_EventScript_15DACB, FLAG_HIDE_EVIL_TEAM_GRUNTS_SEAFLOOR_CAVERN
-
-SeafloorCavern_Room4_MapWarps:: @ 838D39C
- warp_def 13, 1, 3, 1, MAP_SEAFLOOR_CAVERN_ROOM2
- warp_def 4, 1, 3, 1, MAP_SEAFLOOR_CAVERN_ROOM5
- warp_def 9, 10, 3, 2, MAP_SEAFLOOR_CAVERN_ROOM5
- warp_def 10, 15, 3, 1, MAP_SEAFLOOR_CAVERN_ENTRANCE
-
-SeafloorCavern_Room4_MapEvents:: @ 838D3BC
- map_events SeafloorCavern_Room4_EventObjects, SeafloorCavern_Room4_MapWarps, 0x0, 0x0
diff --git a/data/maps/SeafloorCavern_Room4/header.inc b/data/maps/SeafloorCavern_Room4/header.inc
deleted file mode 100644
index 6c74fd3cc..000000000
--- a/data/maps/SeafloorCavern_Room4/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SeafloorCavern_Room4:: @ 83070D4
- .4byte SeafloorCavern_Room4_Layout
- .4byte SeafloorCavern_Room4_MapEvents
- .4byte SeafloorCavern_Room4_MapScripts
- .4byte 0x0
- .2byte MUS_TOZAN
- .2byte 152
- .byte MAPSEC_SEAFLOOR_CAVERN
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_UNDERGROUND
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/SeafloorCavern_Room4/map.json b/data/maps/SeafloorCavern_Room4/map.json
new file mode 100644
index 000000000..98bd188b9
--- /dev/null
+++ b/data/maps/SeafloorCavern_Room4/map.json
@@ -0,0 +1,60 @@
+{
+ "id": "MAP_SEAFLOOR_CAVERN_ROOM4",
+ "name": "SeafloorCavern_Room4",
+ "layout": "LAYOUT_SEAFLOOR_CAVERN_ROOM4",
+ "music": "MUS_TOZAN",
+ "region_map_section": "MAPSEC_SEAFLOOR_CAVERN",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_UNDERGROUND",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_1",
+ "x": 4,
+ "y": 8,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_ROTATE_COUNTERCLOCKWISE",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "3",
+ "script": "SeafloorCavern_Room4_EventScript_15DACB",
+ "flag": "FLAG_HIDE_EVIL_TEAM_GRUNTS_SEAFLOOR_CAVERN"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 13,
+ "y": 1,
+ "elevation": 3,
+ "dest_map": "MAP_SEAFLOOR_CAVERN_ROOM2",
+ "dest_warp_id": 1
+ },
+ {
+ "x": 4,
+ "y": 1,
+ "elevation": 3,
+ "dest_map": "MAP_SEAFLOOR_CAVERN_ROOM5",
+ "dest_warp_id": 1
+ },
+ {
+ "x": 9,
+ "y": 10,
+ "elevation": 3,
+ "dest_map": "MAP_SEAFLOOR_CAVERN_ROOM5",
+ "dest_warp_id": 2
+ },
+ {
+ "x": 10,
+ "y": 15,
+ "elevation": 3,
+ "dest_map": "MAP_SEAFLOOR_CAVERN_ENTRANCE",
+ "dest_warp_id": 1
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/SeafloorCavern_Room5/events.inc b/data/maps/SeafloorCavern_Room5/events.inc
deleted file mode 100644
index b14c5cdf4..000000000
--- a/data/maps/SeafloorCavern_Room5/events.inc
+++ /dev/null
@@ -1,15 +0,0 @@
-SeafloorCavern_Room5_EventObjects:: @ 838D3D0
- object_event 1, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 3, 11, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, S_PushableBoulder, FLAG_TEMP_11
- object_event 2, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 4, 11, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, S_PushableBoulder, FLAG_TEMP_12
- object_event 3, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 11, 7, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, S_PushableBoulder, FLAG_TEMP_13
- object_event 4, EVENT_OBJ_GFX_BREAKABLE_ROCK, 0, 3, 13, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, S_BreakableRock, FLAG_TEMP_15
- object_event 5, EVENT_OBJ_GFX_BREAKABLE_ROCK, 0, 13, 8, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, S_BreakableRock, FLAG_TEMP_16
- object_event 6, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 12, 8, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, S_PushableBoulder, FLAG_TEMP_14
-
-SeafloorCavern_Room5_MapWarps:: @ 838D460
- warp_def 4, 1, 3, 1, MAP_SEAFLOOR_CAVERN_ROOM1
- warp_def 15, 12, 3, 1, MAP_SEAFLOOR_CAVERN_ROOM4
- warp_def 7, 17, 3, 2, MAP_SEAFLOOR_CAVERN_ROOM4
-
-SeafloorCavern_Room5_MapEvents:: @ 838D478
- map_events SeafloorCavern_Room5_EventObjects, SeafloorCavern_Room5_MapWarps, 0x0, 0x0
diff --git a/data/maps/SeafloorCavern_Room5/header.inc b/data/maps/SeafloorCavern_Room5/header.inc
deleted file mode 100644
index 9fd274f4f..000000000
--- a/data/maps/SeafloorCavern_Room5/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SeafloorCavern_Room5:: @ 83070F0
- .4byte SeafloorCavern_Room5_Layout
- .4byte SeafloorCavern_Room5_MapEvents
- .4byte SeafloorCavern_Room5_MapScripts
- .4byte 0x0
- .2byte MUS_TOZAN
- .2byte 153
- .byte MAPSEC_SEAFLOOR_CAVERN
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_UNDERGROUND
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/SeafloorCavern_Room5/map.json b/data/maps/SeafloorCavern_Room5/map.json
new file mode 100644
index 000000000..111cbb4cd
--- /dev/null
+++ b/data/maps/SeafloorCavern_Room5/map.json
@@ -0,0 +1,118 @@
+{
+ "id": "MAP_SEAFLOOR_CAVERN_ROOM5",
+ "name": "SeafloorCavern_Room5",
+ "layout": "LAYOUT_SEAFLOOR_CAVERN_ROOM5",
+ "music": "MUS_TOZAN",
+ "region_map_section": "MAPSEC_SEAFLOOR_CAVERN",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_UNDERGROUND",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_PUSHABLE_BOULDER",
+ "x": 3,
+ "y": 11,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "S_PushableBoulder",
+ "flag": "FLAG_TEMP_11"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_PUSHABLE_BOULDER",
+ "x": 4,
+ "y": 11,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "S_PushableBoulder",
+ "flag": "FLAG_TEMP_12"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_PUSHABLE_BOULDER",
+ "x": 11,
+ "y": 7,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "S_PushableBoulder",
+ "flag": "FLAG_TEMP_13"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BREAKABLE_ROCK",
+ "x": 3,
+ "y": 13,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "S_BreakableRock",
+ "flag": "FLAG_TEMP_15"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BREAKABLE_ROCK",
+ "x": 13,
+ "y": 8,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "S_BreakableRock",
+ "flag": "FLAG_TEMP_16"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_PUSHABLE_BOULDER",
+ "x": 12,
+ "y": 8,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "S_PushableBoulder",
+ "flag": "FLAG_TEMP_14"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 4,
+ "y": 1,
+ "elevation": 3,
+ "dest_map": "MAP_SEAFLOOR_CAVERN_ROOM1",
+ "dest_warp_id": 1
+ },
+ {
+ "x": 15,
+ "y": 12,
+ "elevation": 3,
+ "dest_map": "MAP_SEAFLOOR_CAVERN_ROOM4",
+ "dest_warp_id": 1
+ },
+ {
+ "x": 7,
+ "y": 17,
+ "elevation": 3,
+ "dest_map": "MAP_SEAFLOOR_CAVERN_ROOM4",
+ "dest_warp_id": 2
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/SeafloorCavern_Room6/events.inc b/data/maps/SeafloorCavern_Room6/events.inc
deleted file mode 100644
index adf36455a..000000000
--- a/data/maps/SeafloorCavern_Room6/events.inc
+++ /dev/null
@@ -1,7 +0,0 @@
-SeafloorCavern_Room6_MapWarps:: @ 838D48C
- warp_def 11, 21, 3, 2, MAP_SEAFLOOR_CAVERN_ROOM2
- warp_def 4, 1, 3, 2, MAP_SEAFLOOR_CAVERN_ROOM3
- warp_def 14, 8, 1, 1, MAP_SEAFLOOR_CAVERN_ENTRANCE
-
-SeafloorCavern_Room6_MapEvents:: @ 838D4A4
- map_events 0x0, SeafloorCavern_Room6_MapWarps, 0x0, 0x0
diff --git a/data/maps/SeafloorCavern_Room6/header.inc b/data/maps/SeafloorCavern_Room6/header.inc
deleted file mode 100644
index e44ba4e24..000000000
--- a/data/maps/SeafloorCavern_Room6/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SeafloorCavern_Room6:: @ 830710C
- .4byte SeafloorCavern_Room6_Layout
- .4byte SeafloorCavern_Room6_MapEvents
- .4byte SeafloorCavern_Room6_MapScripts
- .4byte 0x0
- .2byte MUS_TOZAN
- .2byte 154
- .byte MAPSEC_SEAFLOOR_CAVERN
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_UNDERGROUND
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/SeafloorCavern_Room6/map.json b/data/maps/SeafloorCavern_Room6/map.json
new file mode 100644
index 000000000..b94b49f3f
--- /dev/null
+++ b/data/maps/SeafloorCavern_Room6/map.json
@@ -0,0 +1,39 @@
+{
+ "id": "MAP_SEAFLOOR_CAVERN_ROOM6",
+ "name": "SeafloorCavern_Room6",
+ "layout": "LAYOUT_SEAFLOOR_CAVERN_ROOM6",
+ "music": "MUS_TOZAN",
+ "region_map_section": "MAPSEC_SEAFLOOR_CAVERN",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_UNDERGROUND",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [],
+ "warp_events": [
+ {
+ "x": 11,
+ "y": 21,
+ "elevation": 3,
+ "dest_map": "MAP_SEAFLOOR_CAVERN_ROOM2",
+ "dest_warp_id": 2
+ },
+ {
+ "x": 4,
+ "y": 1,
+ "elevation": 3,
+ "dest_map": "MAP_SEAFLOOR_CAVERN_ROOM3",
+ "dest_warp_id": 2
+ },
+ {
+ "x": 14,
+ "y": 8,
+ "elevation": 1,
+ "dest_map": "MAP_SEAFLOOR_CAVERN_ENTRANCE",
+ "dest_warp_id": 1
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/SeafloorCavern_Room7/events.inc b/data/maps/SeafloorCavern_Room7/events.inc
deleted file mode 100644
index 616376e32..000000000
--- a/data/maps/SeafloorCavern_Room7/events.inc
+++ /dev/null
@@ -1,6 +0,0 @@
-SeafloorCavern_Room7_MapWarps:: @ 838D4B8
- warp_def 3, 23, 3, 3, MAP_SEAFLOOR_CAVERN_ROOM2
- warp_def 5, 1, 3, 1, MAP_SEAFLOOR_CAVERN_ROOM3
-
-SeafloorCavern_Room7_MapEvents:: @ 838D4C8
- map_events 0x0, SeafloorCavern_Room7_MapWarps, 0x0, 0x0
diff --git a/data/maps/SeafloorCavern_Room7/header.inc b/data/maps/SeafloorCavern_Room7/header.inc
deleted file mode 100644
index dbf39c935..000000000
--- a/data/maps/SeafloorCavern_Room7/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SeafloorCavern_Room7:: @ 8307128
- .4byte SeafloorCavern_Room7_Layout
- .4byte SeafloorCavern_Room7_MapEvents
- .4byte SeafloorCavern_Room7_MapScripts
- .4byte 0x0
- .2byte MUS_TOZAN
- .2byte 155
- .byte MAPSEC_SEAFLOOR_CAVERN
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_UNDERGROUND
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/SeafloorCavern_Room7/map.json b/data/maps/SeafloorCavern_Room7/map.json
new file mode 100644
index 000000000..2ec32dfe6
--- /dev/null
+++ b/data/maps/SeafloorCavern_Room7/map.json
@@ -0,0 +1,32 @@
+{
+ "id": "MAP_SEAFLOOR_CAVERN_ROOM7",
+ "name": "SeafloorCavern_Room7",
+ "layout": "LAYOUT_SEAFLOOR_CAVERN_ROOM7",
+ "music": "MUS_TOZAN",
+ "region_map_section": "MAPSEC_SEAFLOOR_CAVERN",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_UNDERGROUND",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [],
+ "warp_events": [
+ {
+ "x": 3,
+ "y": 23,
+ "elevation": 3,
+ "dest_map": "MAP_SEAFLOOR_CAVERN_ROOM2",
+ "dest_warp_id": 3
+ },
+ {
+ "x": 5,
+ "y": 1,
+ "elevation": 3,
+ "dest_map": "MAP_SEAFLOOR_CAVERN_ROOM3",
+ "dest_warp_id": 1
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/SeafloorCavern_Room8/events.inc b/data/maps/SeafloorCavern_Room8/events.inc
deleted file mode 100644
index 080e6c8f5..000000000
--- a/data/maps/SeafloorCavern_Room8/events.inc
+++ /dev/null
@@ -1,20 +0,0 @@
-SeafloorCavern_Room8_EventObjects:: @ 838D4DC
- object_event 1, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 4, 7, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, S_PushableBoulder, FLAG_TEMP_11
- object_event 2, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 5, 7, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, S_PushableBoulder, FLAG_TEMP_12
- object_event 3, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 6, 7, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, S_PushableBoulder, FLAG_TEMP_13
- object_event 4, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 3, 6, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, S_PushableBoulder, FLAG_TEMP_14
- object_event 5, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 7, 6, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, S_PushableBoulder, FLAG_TEMP_15
- object_event 6, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 4, 5, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, S_PushableBoulder, FLAG_TEMP_16
- object_event 7, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 5, 5, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, S_PushableBoulder, FLAG_TEMP_17
- object_event 8, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 6, 5, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, S_PushableBoulder, FLAG_TEMP_18
- object_event 9, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 3, 4, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, S_PushableBoulder, FLAG_TEMP_19
- object_event 10, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 4, 4, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, S_PushableBoulder, FLAG_TEMP_1A
- object_event 11, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 6, 4, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, S_PushableBoulder, FLAG_TEMP_1B
- object_event 12, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 7, 4, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, S_PushableBoulder, FLAG_TEMP_1C
-
-SeafloorCavern_Room8_MapWarps:: @ 838D5FC
- warp_def 5, 2, 3, 0, MAP_SEAFLOOR_CAVERN_ROOM9
- warp_def 5, 12, 3, 0, MAP_SEAFLOOR_CAVERN_ROOM3
-
-SeafloorCavern_Room8_MapEvents:: @ 838D60C
- map_events SeafloorCavern_Room8_EventObjects, SeafloorCavern_Room8_MapWarps, 0x0, 0x0
diff --git a/data/maps/SeafloorCavern_Room8/header.inc b/data/maps/SeafloorCavern_Room8/header.inc
deleted file mode 100644
index 6ffb91ee2..000000000
--- a/data/maps/SeafloorCavern_Room8/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SeafloorCavern_Room8:: @ 8307144
- .4byte SeafloorCavern_Room8_Layout
- .4byte SeafloorCavern_Room8_MapEvents
- .4byte SeafloorCavern_Room8_MapScripts
- .4byte 0x0
- .2byte MUS_TOZAN
- .2byte 156
- .byte MAPSEC_SEAFLOOR_CAVERN
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_UNDERGROUND
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/SeafloorCavern_Room8/map.json b/data/maps/SeafloorCavern_Room8/map.json
new file mode 100644
index 000000000..0025aa4ff
--- /dev/null
+++ b/data/maps/SeafloorCavern_Room8/map.json
@@ -0,0 +1,189 @@
+{
+ "id": "MAP_SEAFLOOR_CAVERN_ROOM8",
+ "name": "SeafloorCavern_Room8",
+ "layout": "LAYOUT_SEAFLOOR_CAVERN_ROOM8",
+ "music": "MUS_TOZAN",
+ "region_map_section": "MAPSEC_SEAFLOOR_CAVERN",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_UNDERGROUND",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_PUSHABLE_BOULDER",
+ "x": 4,
+ "y": 7,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "S_PushableBoulder",
+ "flag": "FLAG_TEMP_11"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_PUSHABLE_BOULDER",
+ "x": 5,
+ "y": 7,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "S_PushableBoulder",
+ "flag": "FLAG_TEMP_12"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_PUSHABLE_BOULDER",
+ "x": 6,
+ "y": 7,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "S_PushableBoulder",
+ "flag": "FLAG_TEMP_13"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_PUSHABLE_BOULDER",
+ "x": 3,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "S_PushableBoulder",
+ "flag": "FLAG_TEMP_14"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_PUSHABLE_BOULDER",
+ "x": 7,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "S_PushableBoulder",
+ "flag": "FLAG_TEMP_15"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_PUSHABLE_BOULDER",
+ "x": 4,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "S_PushableBoulder",
+ "flag": "FLAG_TEMP_16"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_PUSHABLE_BOULDER",
+ "x": 5,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "S_PushableBoulder",
+ "flag": "FLAG_TEMP_17"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_PUSHABLE_BOULDER",
+ "x": 6,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "S_PushableBoulder",
+ "flag": "FLAG_TEMP_18"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_PUSHABLE_BOULDER",
+ "x": 3,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "S_PushableBoulder",
+ "flag": "FLAG_TEMP_19"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_PUSHABLE_BOULDER",
+ "x": 4,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "S_PushableBoulder",
+ "flag": "FLAG_TEMP_1A"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_PUSHABLE_BOULDER",
+ "x": 6,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "S_PushableBoulder",
+ "flag": "FLAG_TEMP_1B"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_PUSHABLE_BOULDER",
+ "x": 7,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "S_PushableBoulder",
+ "flag": "FLAG_TEMP_1C"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 5,
+ "y": 2,
+ "elevation": 3,
+ "dest_map": "MAP_SEAFLOOR_CAVERN_ROOM9",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 5,
+ "y": 12,
+ "elevation": 3,
+ "dest_map": "MAP_SEAFLOOR_CAVERN_ROOM3",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/SeafloorCavern_Room9/events.inc b/data/maps/SeafloorCavern_Room9/events.inc
deleted file mode 100644
index b68acc7da..000000000
--- a/data/maps/SeafloorCavern_Room9/events.inc
+++ /dev/null
@@ -1,17 +0,0 @@
-SeafloorCavern_Room9_EventObjects:: @ 838D620
- object_event 1, EVENT_OBJ_GFX_VAR_8, 0, 17, 38, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_HIDE_AWAKENED_MON_SEAFLOOR_CAVERN
- object_event 2, EVENT_OBJ_GFX_VAR_6, 0, 9, 42, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, 0x0, FLAG_HIDE_EVIL_LEADER_SEAFLOOR_CAVERN
- object_event 3, EVENT_OBJ_GFX_VAR_7, 0, 9, 42, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, 0x0, FLAG_HIDE_OTHER_LEADER_SEAFLOOR_CAVERN
- object_event 4, EVENT_OBJ_GFX_VAR_4, 0, 8, 41, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, 0x0, FLAG_HIDE_OTHER_TEAM_GRUNTS_SEAFLOOR_CAVERN
- object_event 5, EVENT_OBJ_GFX_VAR_5, 0, 8, 42, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, 0x0, FLAG_HIDE_OTHER_TEAM_GRUNTS_SEAFLOOR_CAVERN
- object_event 6, EVENT_OBJ_GFX_ITEM_BALL, 0, 14, 5, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, SeafloorCavern_Room9_EventScript_1B1A37, FLAG_ITEM_SEAFLOOR_CAVERN_ROOM_9_1
- object_event 7, EVENT_OBJ_GFX_VAR_9, 0, 17, 38, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, 0x0, FLAG_HIDE_SLEEPING_MON_SEAFLOOR_CAVERN
-
-SeafloorCavern_Room9_MapWarps:: @ 838D6C8
- warp_def 5, 4, 3, 0, MAP_SEAFLOOR_CAVERN_ROOM8
-
-SeafloorCavern_Room9_MapCoordEvents:: @ 838D6D0
- coord_event 17, 42, 3, VAR_SEAFLOOR_CAVERN_STATE, 0, SeafloorCavern_Room9_EventScript_15DAFA
-
-SeafloorCavern_Room9_MapEvents:: @ 838D6E0
- map_events SeafloorCavern_Room9_EventObjects, SeafloorCavern_Room9_MapWarps, SeafloorCavern_Room9_MapCoordEvents, 0x0
diff --git a/data/maps/SeafloorCavern_Room9/header.inc b/data/maps/SeafloorCavern_Room9/header.inc
deleted file mode 100644
index 1ff4e0783..000000000
--- a/data/maps/SeafloorCavern_Room9/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SeafloorCavern_Room9:: @ 8307160
- .4byte SeafloorCavern_Room9_Layout
- .4byte SeafloorCavern_Room9_MapEvents
- .4byte SeafloorCavern_Room9_MapScripts
- .4byte 0x0
- .2byte MUS_TOZAN
- .2byte 157
- .byte MAPSEC_SEAFLOOR_CAVERN
- .byte 0
- .byte WEATHER_FOG_1
- .byte MAP_TYPE_UNDERGROUND
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/SeafloorCavern_Room9/map.json b/data/maps/SeafloorCavern_Room9/map.json
new file mode 100644
index 000000000..922ca110b
--- /dev/null
+++ b/data/maps/SeafloorCavern_Room9/map.json
@@ -0,0 +1,127 @@
+{
+ "id": "MAP_SEAFLOOR_CAVERN_ROOM9",
+ "name": "SeafloorCavern_Room9",
+ "layout": "LAYOUT_SEAFLOOR_CAVERN_ROOM9",
+ "music": "MUS_TOZAN",
+ "region_map_section": "MAPSEC_SEAFLOOR_CAVERN",
+ "requires_flash": false,
+ "weather": "WEATHER_FOG_1",
+ "map_type": "MAP_TYPE_UNDERGROUND",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_8",
+ "x": 17,
+ "y": 38,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_HIDE_AWAKENED_MON_SEAFLOOR_CAVERN"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_6",
+ "x": 9,
+ "y": 42,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_HIDE_EVIL_LEADER_SEAFLOOR_CAVERN"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_7",
+ "x": 9,
+ "y": 42,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_HIDE_OTHER_LEADER_SEAFLOOR_CAVERN"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_4",
+ "x": 8,
+ "y": 41,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_HIDE_OTHER_TEAM_GRUNTS_SEAFLOOR_CAVERN"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_5",
+ "x": 8,
+ "y": 42,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_HIDE_OTHER_TEAM_GRUNTS_SEAFLOOR_CAVERN"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ITEM_BALL",
+ "x": 14,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SeafloorCavern_Room9_EventScript_1B1A37",
+ "flag": "FLAG_ITEM_SEAFLOOR_CAVERN_ROOM_9_1"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_9",
+ "x": 17,
+ "y": 38,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_HIDE_SLEEPING_MON_SEAFLOOR_CAVERN"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 5,
+ "y": 4,
+ "elevation": 3,
+ "dest_map": "MAP_SEAFLOOR_CAVERN_ROOM8",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [
+ {
+ "type": "trigger",
+ "x": 17,
+ "y": 42,
+ "elevation": 3,
+ "var": "VAR_SEAFLOOR_CAVERN_STATE",
+ "var_value": "0",
+ "script": "SeafloorCavern_Room9_EventScript_15DAFA"
+ }
+ ],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/SealedChamber_InnerRoom/events.inc b/data/maps/SealedChamber_InnerRoom/events.inc
deleted file mode 100644
index e84f52269..000000000
--- a/data/maps/SealedChamber_InnerRoom/events.inc
+++ /dev/null
@@ -1,16 +0,0 @@
-SealedChamber_InnerRoom_MapWarps:: @ 838E900
- warp_def 10, 19, 3, 0, MAP_SEALED_CHAMBER_OUTER_ROOM
-
-SealedChamber_InnerRoom_MapBGEvents:: @ 838E908
- bg_event 10, 4, 0, BG_EVENT_PLAYER_FACING_ANY, SealedChamber_InnerRoom_EventScript_15F1E8
- bg_event 6, 8, 0, BG_EVENT_PLAYER_FACING_ANY, SealedChamber_InnerRoom_EventScript_15F249
- bg_event 14, 8, 0, BG_EVENT_PLAYER_FACING_ANY, SealedChamber_InnerRoom_EventScript_15F257
- bg_event 4, 13, 0, BG_EVENT_PLAYER_FACING_ANY, SealedChamber_InnerRoom_EventScript_15F265
- bg_event 16, 13, 0, BG_EVENT_PLAYER_FACING_ANY, SealedChamber_InnerRoom_EventScript_15F273
- bg_event 6, 18, 0, BG_EVENT_PLAYER_FACING_ANY, SealedChamber_InnerRoom_EventScript_15F281
- bg_event 14, 18, 0, BG_EVENT_PLAYER_FACING_ANY, SealedChamber_InnerRoom_EventScript_15F28F
- bg_event 9, 4, 0, BG_EVENT_PLAYER_FACING_ANY, SealedChamber_InnerRoom_EventScript_15F1E8
- bg_event 11, 4, 0, BG_EVENT_PLAYER_FACING_ANY, SealedChamber_InnerRoom_EventScript_15F1E8
-
-SealedChamber_InnerRoom_MapEvents:: @ 838E974
- map_events 0x0, SealedChamber_InnerRoom_MapWarps, 0x0, SealedChamber_InnerRoom_MapBGEvents
diff --git a/data/maps/SealedChamber_InnerRoom/header.inc b/data/maps/SealedChamber_InnerRoom/header.inc
deleted file mode 100644
index b54bec825..000000000
--- a/data/maps/SealedChamber_InnerRoom/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SealedChamber_InnerRoom:: @ 8307550
- .4byte SealedChamber_InnerRoom_Layout
- .4byte SealedChamber_InnerRoom_MapEvents
- .4byte SealedChamber_InnerRoom_MapScripts
- .4byte 0x0
- .2byte MUS_MABOROSI
- .2byte 305
- .byte MAPSEC_SEALED_CHAMBER
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_UNDERGROUND
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/SealedChamber_InnerRoom/map.json b/data/maps/SealedChamber_InnerRoom/map.json
new file mode 100644
index 000000000..f7665694e
--- /dev/null
+++ b/data/maps/SealedChamber_InnerRoom/map.json
@@ -0,0 +1,98 @@
+{
+ "id": "MAP_SEALED_CHAMBER_INNER_ROOM",
+ "name": "SealedChamber_InnerRoom",
+ "layout": "LAYOUT_SEALED_CHAMBER_INNER_ROOM",
+ "music": "MUS_MABOROSI",
+ "region_map_section": "MAPSEC_SEALED_CHAMBER",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_UNDERGROUND",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [],
+ "warp_events": [
+ {
+ "x": 10,
+ "y": 19,
+ "elevation": 3,
+ "dest_map": "MAP_SEALED_CHAMBER_OUTER_ROOM",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [],
+ "bg_events": [
+ {
+ "type": "sign",
+ "x": 10,
+ "y": 4,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "SealedChamber_InnerRoom_EventScript_15F1E8"
+ },
+ {
+ "type": "sign",
+ "x": 6,
+ "y": 8,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "SealedChamber_InnerRoom_EventScript_15F249"
+ },
+ {
+ "type": "sign",
+ "x": 14,
+ "y": 8,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "SealedChamber_InnerRoom_EventScript_15F257"
+ },
+ {
+ "type": "sign",
+ "x": 4,
+ "y": 13,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "SealedChamber_InnerRoom_EventScript_15F265"
+ },
+ {
+ "type": "sign",
+ "x": 16,
+ "y": 13,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "SealedChamber_InnerRoom_EventScript_15F273"
+ },
+ {
+ "type": "sign",
+ "x": 6,
+ "y": 18,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "SealedChamber_InnerRoom_EventScript_15F281"
+ },
+ {
+ "type": "sign",
+ "x": 14,
+ "y": 18,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "SealedChamber_InnerRoom_EventScript_15F28F"
+ },
+ {
+ "type": "sign",
+ "x": 9,
+ "y": 4,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "SealedChamber_InnerRoom_EventScript_15F1E8"
+ },
+ {
+ "type": "sign",
+ "x": 11,
+ "y": 4,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "SealedChamber_InnerRoom_EventScript_15F1E8"
+ }
+ ]
+} \ No newline at end of file
diff --git a/data/maps/SealedChamber_OuterRoom/events.inc b/data/maps/SealedChamber_OuterRoom/events.inc
deleted file mode 100644
index c102f86d8..000000000
--- a/data/maps/SealedChamber_OuterRoom/events.inc
+++ /dev/null
@@ -1,36 +0,0 @@
-SealedChamber_OuterRoom_MapWarps:: @ 838E788
- warp_def 10, 2, 3, 0, MAP_SEALED_CHAMBER_INNER_ROOM
-
-SealedChamber_OuterRoom_MapBGEvents:: @ 838E790
- bg_event 5, 6, 0, BG_EVENT_PLAYER_FACING_ANY, SealedChamber_OuterRoom_EventScript_15F12C
- bg_event 5, 9, 0, BG_EVENT_PLAYER_FACING_ANY, SealedChamber_OuterRoom_EventScript_15F13A
- bg_event 5, 12, 0, BG_EVENT_PLAYER_FACING_ANY, SealedChamber_OuterRoom_EventScript_15F148
- bg_event 5, 15, 0, BG_EVENT_PLAYER_FACING_ANY, SealedChamber_OuterRoom_EventScript_15F156
- bg_event 11, 6, 0, BG_EVENT_PLAYER_FACING_ANY, SealedChamber_OuterRoom_EventScript_15F164
- bg_event 11, 9, 0, BG_EVENT_PLAYER_FACING_ANY, SealedChamber_OuterRoom_EventScript_15F172
- bg_event 11, 12, 0, BG_EVENT_PLAYER_FACING_ANY, SealedChamber_OuterRoom_EventScript_15F180
- bg_event 11, 15, 0, BG_EVENT_PLAYER_FACING_ANY, SealedChamber_OuterRoom_EventScript_15F19C
- bg_event 16, 6, 0, BG_EVENT_PLAYER_FACING_ANY, SealedChamber_OuterRoom_EventScript_15F18E
- bg_event 16, 9, 0, BG_EVENT_PLAYER_FACING_ANY, SealedChamber_OuterRoom_EventScript_15F1AA
- bg_event 10, 2, 0, BG_EVENT_PLAYER_FACING_ANY, SealedChamber_OuterRoom_EventScript_15F1B8
- bg_event 6, 6, 0, BG_EVENT_PLAYER_FACING_ANY, SealedChamber_OuterRoom_EventScript_15F12C
- bg_event 4, 6, 0, BG_EVENT_PLAYER_FACING_ANY, SealedChamber_OuterRoom_EventScript_15F12C
- bg_event 4, 9, 0, BG_EVENT_PLAYER_FACING_ANY, SealedChamber_OuterRoom_EventScript_15F13A
- bg_event 6, 9, 0, BG_EVENT_PLAYER_FACING_ANY, SealedChamber_OuterRoom_EventScript_15F13A
- bg_event 4, 12, 0, BG_EVENT_PLAYER_FACING_ANY, SealedChamber_OuterRoom_EventScript_15F148
- bg_event 6, 12, 0, BG_EVENT_PLAYER_FACING_ANY, SealedChamber_OuterRoom_EventScript_15F148
- bg_event 4, 15, 0, BG_EVENT_PLAYER_FACING_ANY, SealedChamber_OuterRoom_EventScript_15F156
- bg_event 6, 15, 0, BG_EVENT_PLAYER_FACING_ANY, SealedChamber_OuterRoom_EventScript_15F156
- bg_event 10, 6, 0, BG_EVENT_PLAYER_FACING_ANY, SealedChamber_OuterRoom_EventScript_15F164
- bg_event 12, 6, 0, BG_EVENT_PLAYER_FACING_ANY, SealedChamber_OuterRoom_EventScript_15F164
- bg_event 10, 9, 0, BG_EVENT_PLAYER_FACING_ANY, SealedChamber_OuterRoom_EventScript_15F172
- bg_event 12, 9, 0, BG_EVENT_PLAYER_FACING_ANY, SealedChamber_OuterRoom_EventScript_15F172
- bg_event 10, 12, 0, BG_EVENT_PLAYER_FACING_ANY, SealedChamber_OuterRoom_EventScript_15F180
- bg_event 12, 12, 0, BG_EVENT_PLAYER_FACING_ANY, SealedChamber_OuterRoom_EventScript_15F180
- bg_event 10, 15, 0, BG_EVENT_PLAYER_FACING_ANY, SealedChamber_OuterRoom_EventScript_15F19C
- bg_event 12, 15, 0, BG_EVENT_PLAYER_FACING_ANY, SealedChamber_OuterRoom_EventScript_15F19C
- bg_event 9, 2, 0, BG_EVENT_PLAYER_FACING_ANY, SealedChamber_OuterRoom_EventScript_15F1D9
- bg_event 11, 2, 0, BG_EVENT_PLAYER_FACING_ANY, SealedChamber_OuterRoom_EventScript_15F1D9
-
-SealedChamber_OuterRoom_MapEvents:: @ 838E8EC
- map_events 0x0, SealedChamber_OuterRoom_MapWarps, 0x0, SealedChamber_OuterRoom_MapBGEvents
diff --git a/data/maps/SealedChamber_OuterRoom/header.inc b/data/maps/SealedChamber_OuterRoom/header.inc
deleted file mode 100644
index 61c2a0da6..000000000
--- a/data/maps/SealedChamber_OuterRoom/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SealedChamber_OuterRoom:: @ 8307534
- .4byte SealedChamber_OuterRoom_Layout
- .4byte SealedChamber_OuterRoom_MapEvents
- .4byte SealedChamber_OuterRoom_MapScripts
- .4byte 0x0
- .2byte MUS_MABOROSI
- .2byte 285
- .byte MAPSEC_SEALED_CHAMBER
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_UNDERGROUND
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/SealedChamber_OuterRoom/map.json b/data/maps/SealedChamber_OuterRoom/map.json
new file mode 100644
index 000000000..f689c055d
--- /dev/null
+++ b/data/maps/SealedChamber_OuterRoom/map.json
@@ -0,0 +1,258 @@
+{
+ "id": "MAP_SEALED_CHAMBER_OUTER_ROOM",
+ "name": "SealedChamber_OuterRoom",
+ "layout": "LAYOUT_SEALED_CHAMBER_OUTER_ROOM",
+ "music": "MUS_MABOROSI",
+ "region_map_section": "MAPSEC_SEALED_CHAMBER",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_UNDERGROUND",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [],
+ "warp_events": [
+ {
+ "x": 10,
+ "y": 2,
+ "elevation": 3,
+ "dest_map": "MAP_SEALED_CHAMBER_INNER_ROOM",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [],
+ "bg_events": [
+ {
+ "type": "sign",
+ "x": 5,
+ "y": 6,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "SealedChamber_OuterRoom_EventScript_15F12C"
+ },
+ {
+ "type": "sign",
+ "x": 5,
+ "y": 9,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "SealedChamber_OuterRoom_EventScript_15F13A"
+ },
+ {
+ "type": "sign",
+ "x": 5,
+ "y": 12,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "SealedChamber_OuterRoom_EventScript_15F148"
+ },
+ {
+ "type": "sign",
+ "x": 5,
+ "y": 15,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "SealedChamber_OuterRoom_EventScript_15F156"
+ },
+ {
+ "type": "sign",
+ "x": 11,
+ "y": 6,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "SealedChamber_OuterRoom_EventScript_15F164"
+ },
+ {
+ "type": "sign",
+ "x": 11,
+ "y": 9,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "SealedChamber_OuterRoom_EventScript_15F172"
+ },
+ {
+ "type": "sign",
+ "x": 11,
+ "y": 12,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "SealedChamber_OuterRoom_EventScript_15F180"
+ },
+ {
+ "type": "sign",
+ "x": 11,
+ "y": 15,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "SealedChamber_OuterRoom_EventScript_15F19C"
+ },
+ {
+ "type": "sign",
+ "x": 16,
+ "y": 6,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "SealedChamber_OuterRoom_EventScript_15F18E"
+ },
+ {
+ "type": "sign",
+ "x": 16,
+ "y": 9,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "SealedChamber_OuterRoom_EventScript_15F1AA"
+ },
+ {
+ "type": "sign",
+ "x": 10,
+ "y": 2,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "SealedChamber_OuterRoom_EventScript_15F1B8"
+ },
+ {
+ "type": "sign",
+ "x": 6,
+ "y": 6,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "SealedChamber_OuterRoom_EventScript_15F12C"
+ },
+ {
+ "type": "sign",
+ "x": 4,
+ "y": 6,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "SealedChamber_OuterRoom_EventScript_15F12C"
+ },
+ {
+ "type": "sign",
+ "x": 4,
+ "y": 9,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "SealedChamber_OuterRoom_EventScript_15F13A"
+ },
+ {
+ "type": "sign",
+ "x": 6,
+ "y": 9,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "SealedChamber_OuterRoom_EventScript_15F13A"
+ },
+ {
+ "type": "sign",
+ "x": 4,
+ "y": 12,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "SealedChamber_OuterRoom_EventScript_15F148"
+ },
+ {
+ "type": "sign",
+ "x": 6,
+ "y": 12,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "SealedChamber_OuterRoom_EventScript_15F148"
+ },
+ {
+ "type": "sign",
+ "x": 4,
+ "y": 15,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "SealedChamber_OuterRoom_EventScript_15F156"
+ },
+ {
+ "type": "sign",
+ "x": 6,
+ "y": 15,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "SealedChamber_OuterRoom_EventScript_15F156"
+ },
+ {
+ "type": "sign",
+ "x": 10,
+ "y": 6,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "SealedChamber_OuterRoom_EventScript_15F164"
+ },
+ {
+ "type": "sign",
+ "x": 12,
+ "y": 6,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "SealedChamber_OuterRoom_EventScript_15F164"
+ },
+ {
+ "type": "sign",
+ "x": 10,
+ "y": 9,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "SealedChamber_OuterRoom_EventScript_15F172"
+ },
+ {
+ "type": "sign",
+ "x": 12,
+ "y": 9,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "SealedChamber_OuterRoom_EventScript_15F172"
+ },
+ {
+ "type": "sign",
+ "x": 10,
+ "y": 12,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "SealedChamber_OuterRoom_EventScript_15F180"
+ },
+ {
+ "type": "sign",
+ "x": 12,
+ "y": 12,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "SealedChamber_OuterRoom_EventScript_15F180"
+ },
+ {
+ "type": "sign",
+ "x": 10,
+ "y": 15,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "SealedChamber_OuterRoom_EventScript_15F19C"
+ },
+ {
+ "type": "sign",
+ "x": 12,
+ "y": 15,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "SealedChamber_OuterRoom_EventScript_15F19C"
+ },
+ {
+ "type": "sign",
+ "x": 9,
+ "y": 2,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "SealedChamber_OuterRoom_EventScript_15F1D9"
+ },
+ {
+ "type": "sign",
+ "x": 11,
+ "y": 2,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "SealedChamber_OuterRoom_EventScript_15F1D9"
+ }
+ ]
+} \ No newline at end of file
diff --git a/data/maps/SecretBase_BlueCave1/events.inc b/data/maps/SecretBase_BlueCave1/events.inc
deleted file mode 100644
index 945c13138..000000000
--- a/data/maps/SecretBase_BlueCave1/events.inc
+++ /dev/null
@@ -1,22 +0,0 @@
-SecretBase_BlueCave1_EventObjects:: @ 838F18C
- object_event 1, EVENT_OBJ_GFX_VAR_F, 0, 4, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_BlueCave1_EventScript_1A2FC0, FLAG_DECORATION_1
- object_event 2, EVENT_OBJ_GFX_VAR_0, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2
- object_event 3, EVENT_OBJ_GFX_VAR_1, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3
- object_event 4, EVENT_OBJ_GFX_VAR_2, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4
- object_event 5, EVENT_OBJ_GFX_VAR_3, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5
- object_event 6, EVENT_OBJ_GFX_VAR_4, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6
- object_event 7, EVENT_OBJ_GFX_VAR_5, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7
- object_event 8, EVENT_OBJ_GFX_VAR_6, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8
- object_event 9, EVENT_OBJ_GFX_VAR_7, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9
- object_event 10, EVENT_OBJ_GFX_VAR_8, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10
- object_event 11, EVENT_OBJ_GFX_VAR_9, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11
- object_event 12, EVENT_OBJ_GFX_VAR_A, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12
- object_event 13, EVENT_OBJ_GFX_VAR_B, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13
- object_event 14, EVENT_OBJ_GFX_VAR_C, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14
- object_event 15, EVENT_OBJ_GFX_VAR_D, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_15
-
-SecretBase_BlueCave1_MapWarps:: @ 838F2F4
- warp_def 5, 7, 0, 126, MAP_NONE
-
-SecretBase_BlueCave1_MapEvents:: @ 838F2FC
- map_events SecretBase_BlueCave1_EventObjects, SecretBase_BlueCave1_MapWarps, 0x0, 0x0
diff --git a/data/maps/SecretBase_BlueCave1/header.inc b/data/maps/SecretBase_BlueCave1/header.inc
deleted file mode 100644
index f71c4beb5..000000000
--- a/data/maps/SecretBase_BlueCave1/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SecretBase_BlueCave1:: @ 8307710
- .4byte SecretBase_BlueCave1_Layout
- .4byte SecretBase_BlueCave1_MapEvents
- .4byte SecretBase_BlueCave1_MapScripts
- .4byte 0x0
- .2byte MUS_MACHI_S3
- .2byte 200
- .byte MAPSEC_SECRET_BASE
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_SECRET_BASE
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_BATTLE_TOWER
diff --git a/data/maps/SecretBase_BlueCave1/map.json b/data/maps/SecretBase_BlueCave1/map.json
new file mode 100644
index 000000000..b537b704e
--- /dev/null
+++ b/data/maps/SecretBase_BlueCave1/map.json
@@ -0,0 +1,221 @@
+{
+ "id": "MAP_SECRET_BASE_BLUE_CAVE1",
+ "name": "SecretBase_BlueCave1",
+ "layout": "LAYOUT_SECRET_BASE_BLUE_CAVE1",
+ "music": "MUS_MACHI_S3",
+ "region_map_section": "MAPSEC_SECRET_BASE",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_SECRET_BASE",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_BATTLE_TOWER",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_F",
+ "x": 4,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SecretBase_BlueCave1_EventScript_1A2FC0",
+ "flag": "FLAG_DECORATION_1"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_0",
+ "x": 0,
+ "y": 0,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_2"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_1",
+ "x": 0,
+ "y": 1,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_3"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_2",
+ "x": 0,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_4"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_3",
+ "x": 0,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_5"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_4",
+ "x": 0,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_6"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_5",
+ "x": 0,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_7"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_6",
+ "x": 0,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_8"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_7",
+ "x": 1,
+ "y": 0,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_9"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_8",
+ "x": 1,
+ "y": 1,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_10"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_9",
+ "x": 1,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_11"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_A",
+ "x": 1,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_12"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_B",
+ "x": 1,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_13"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_C",
+ "x": 1,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_14"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_D",
+ "x": 1,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_15"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 5,
+ "y": 7,
+ "elevation": 0,
+ "dest_map": "MAP_NONE",
+ "dest_warp_id": 126
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/SecretBase_BlueCave2/events.inc b/data/maps/SecretBase_BlueCave2/events.inc
deleted file mode 100644
index 91cfeb26f..000000000
--- a/data/maps/SecretBase_BlueCave2/events.inc
+++ /dev/null
@@ -1,22 +0,0 @@
-SecretBase_BlueCave2_EventObjects:: @ 838FAA4
- object_event 1, EVENT_OBJ_GFX_VAR_F, 0, 2, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_BlueCave2_EventScript_1A2FC0, FLAG_DECORATION_1
- object_event 2, EVENT_OBJ_GFX_VAR_0, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2
- object_event 3, EVENT_OBJ_GFX_VAR_1, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3
- object_event 4, EVENT_OBJ_GFX_VAR_2, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4
- object_event 5, EVENT_OBJ_GFX_VAR_3, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5
- object_event 6, EVENT_OBJ_GFX_VAR_4, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6
- object_event 7, EVENT_OBJ_GFX_VAR_5, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7
- object_event 8, EVENT_OBJ_GFX_VAR_6, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8
- object_event 9, EVENT_OBJ_GFX_VAR_7, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9
- object_event 10, EVENT_OBJ_GFX_VAR_8, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10
- object_event 11, EVENT_OBJ_GFX_VAR_9, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11
- object_event 12, EVENT_OBJ_GFX_VAR_A, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12
- object_event 13, EVENT_OBJ_GFX_VAR_B, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13
- object_event 14, EVENT_OBJ_GFX_VAR_C, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14
- object_event 15, EVENT_OBJ_GFX_VAR_D, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_15
-
-SecretBase_BlueCave2_MapWarps:: @ 838FC0C
- warp_def 7, 5, 0, 126, MAP_NONE
-
-SecretBase_BlueCave2_MapEvents:: @ 838FC14
- map_events SecretBase_BlueCave2_EventObjects, SecretBase_BlueCave2_MapWarps, 0x0, 0x0
diff --git a/data/maps/SecretBase_BlueCave2/header.inc b/data/maps/SecretBase_BlueCave2/header.inc
deleted file mode 100644
index 158567787..000000000
--- a/data/maps/SecretBase_BlueCave2/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SecretBase_BlueCave2:: @ 83077B8
- .4byte SecretBase_BlueCave2_Layout
- .4byte SecretBase_BlueCave2_MapEvents
- .4byte SecretBase_BlueCave2_MapScripts
- .4byte 0x0
- .2byte MUS_MACHI_S3
- .2byte 206
- .byte MAPSEC_SECRET_BASE
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_SECRET_BASE
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_BATTLE_TOWER
diff --git a/data/maps/SecretBase_BlueCave2/map.json b/data/maps/SecretBase_BlueCave2/map.json
new file mode 100644
index 000000000..52c57c24b
--- /dev/null
+++ b/data/maps/SecretBase_BlueCave2/map.json
@@ -0,0 +1,221 @@
+{
+ "id": "MAP_SECRET_BASE_BLUE_CAVE2",
+ "name": "SecretBase_BlueCave2",
+ "layout": "LAYOUT_SECRET_BASE_BLUE_CAVE2",
+ "music": "MUS_MACHI_S3",
+ "region_map_section": "MAPSEC_SECRET_BASE",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_SECRET_BASE",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_BATTLE_TOWER",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_F",
+ "x": 2,
+ "y": 1,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SecretBase_BlueCave2_EventScript_1A2FC0",
+ "flag": "FLAG_DECORATION_1"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_0",
+ "x": 0,
+ "y": 0,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_2"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_1",
+ "x": 0,
+ "y": 1,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_3"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_2",
+ "x": 0,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_4"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_3",
+ "x": 0,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_5"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_4",
+ "x": 0,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_6"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_5",
+ "x": 0,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_7"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_6",
+ "x": 0,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_8"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_7",
+ "x": 1,
+ "y": 0,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_9"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_8",
+ "x": 1,
+ "y": 1,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_10"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_9",
+ "x": 1,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_11"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_A",
+ "x": 1,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_12"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_B",
+ "x": 1,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_13"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_C",
+ "x": 1,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_14"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_D",
+ "x": 1,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_15"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 7,
+ "y": 5,
+ "elevation": 0,
+ "dest_map": "MAP_NONE",
+ "dest_warp_id": 126
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/SecretBase_BlueCave3/events.inc b/data/maps/SecretBase_BlueCave3/events.inc
deleted file mode 100644
index 51df3d661..000000000
--- a/data/maps/SecretBase_BlueCave3/events.inc
+++ /dev/null
@@ -1,22 +0,0 @@
-SecretBase_BlueCave3_EventObjects:: @ 83903BC
- object_event 1, EVENT_OBJ_GFX_VAR_F, 0, 5, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_BlueCave3_EventScript_1A2FC0, FLAG_DECORATION_1
- object_event 2, EVENT_OBJ_GFX_VAR_0, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2
- object_event 3, EVENT_OBJ_GFX_VAR_1, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3
- object_event 4, EVENT_OBJ_GFX_VAR_2, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4
- object_event 5, EVENT_OBJ_GFX_VAR_3, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5
- object_event 6, EVENT_OBJ_GFX_VAR_4, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6
- object_event 7, EVENT_OBJ_GFX_VAR_5, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7
- object_event 8, EVENT_OBJ_GFX_VAR_6, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8
- object_event 9, EVENT_OBJ_GFX_VAR_7, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9
- object_event 10, EVENT_OBJ_GFX_VAR_8, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10
- object_event 11, EVENT_OBJ_GFX_VAR_9, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11
- object_event 12, EVENT_OBJ_GFX_VAR_A, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12
- object_event 13, EVENT_OBJ_GFX_VAR_B, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13
- object_event 14, EVENT_OBJ_GFX_VAR_C, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14
- object_event 15, EVENT_OBJ_GFX_VAR_D, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_15
-
-SecretBase_BlueCave3_MapWarps:: @ 8390524
- warp_def 4, 15, 0, 126, MAP_NONE
-
-SecretBase_BlueCave3_MapEvents:: @ 839052C
- map_events SecretBase_BlueCave3_EventObjects, SecretBase_BlueCave3_MapWarps, 0x0, 0x0
diff --git a/data/maps/SecretBase_BlueCave3/header.inc b/data/maps/SecretBase_BlueCave3/header.inc
deleted file mode 100644
index 5b7b644f4..000000000
--- a/data/maps/SecretBase_BlueCave3/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SecretBase_BlueCave3:: @ 8307860
- .4byte SecretBase_BlueCave3_Layout
- .4byte SecretBase_BlueCave3_MapEvents
- .4byte SecretBase_BlueCave3_MapScripts
- .4byte 0x0
- .2byte MUS_MACHI_S3
- .2byte 212
- .byte MAPSEC_SECRET_BASE
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_SECRET_BASE
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_BATTLE_TOWER
diff --git a/data/maps/SecretBase_BlueCave3/map.json b/data/maps/SecretBase_BlueCave3/map.json
new file mode 100644
index 000000000..09728d252
--- /dev/null
+++ b/data/maps/SecretBase_BlueCave3/map.json
@@ -0,0 +1,221 @@
+{
+ "id": "MAP_SECRET_BASE_BLUE_CAVE3",
+ "name": "SecretBase_BlueCave3",
+ "layout": "LAYOUT_SECRET_BASE_BLUE_CAVE3",
+ "music": "MUS_MACHI_S3",
+ "region_map_section": "MAPSEC_SECRET_BASE",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_SECRET_BASE",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_BATTLE_TOWER",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_F",
+ "x": 5,
+ "y": 1,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SecretBase_BlueCave3_EventScript_1A2FC0",
+ "flag": "FLAG_DECORATION_1"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_0",
+ "x": 0,
+ "y": 0,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_2"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_1",
+ "x": 0,
+ "y": 1,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_3"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_2",
+ "x": 0,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_4"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_3",
+ "x": 0,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_5"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_4",
+ "x": 0,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_6"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_5",
+ "x": 0,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_7"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_6",
+ "x": 0,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_8"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_7",
+ "x": 1,
+ "y": 0,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_9"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_8",
+ "x": 1,
+ "y": 1,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_10"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_9",
+ "x": 1,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_11"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_A",
+ "x": 1,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_12"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_B",
+ "x": 1,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_13"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_C",
+ "x": 1,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_14"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_D",
+ "x": 1,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_15"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 4,
+ "y": 15,
+ "elevation": 0,
+ "dest_map": "MAP_NONE",
+ "dest_warp_id": 126
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/SecretBase_BlueCave4/events.inc b/data/maps/SecretBase_BlueCave4/events.inc
deleted file mode 100644
index 6adf080fe..000000000
--- a/data/maps/SecretBase_BlueCave4/events.inc
+++ /dev/null
@@ -1,22 +0,0 @@
-SecretBase_BlueCave4_EventObjects:: @ 8390CD4
- object_event 1, EVENT_OBJ_GFX_VAR_F, 0, 5, 13, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_BlueCave4_EventScript_1A2FC0, FLAG_DECORATION_1
- object_event 2, EVENT_OBJ_GFX_VAR_0, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2
- object_event 3, EVENT_OBJ_GFX_VAR_1, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3
- object_event 4, EVENT_OBJ_GFX_VAR_2, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4
- object_event 5, EVENT_OBJ_GFX_VAR_3, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5
- object_event 6, EVENT_OBJ_GFX_VAR_4, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6
- object_event 7, EVENT_OBJ_GFX_VAR_5, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7
- object_event 8, EVENT_OBJ_GFX_VAR_6, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8
- object_event 9, EVENT_OBJ_GFX_VAR_7, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9
- object_event 10, EVENT_OBJ_GFX_VAR_8, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10
- object_event 11, EVENT_OBJ_GFX_VAR_9, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11
- object_event 12, EVENT_OBJ_GFX_VAR_A, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12
- object_event 13, EVENT_OBJ_GFX_VAR_B, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13
- object_event 14, EVENT_OBJ_GFX_VAR_C, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14
- object_event 15, EVENT_OBJ_GFX_VAR_D, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_15
-
-SecretBase_BlueCave4_MapWarps:: @ 8390E3C
- warp_def 4, 15, 0, 126, MAP_NONE
-
-SecretBase_BlueCave4_MapEvents:: @ 8390E44
- map_events SecretBase_BlueCave4_EventObjects, SecretBase_BlueCave4_MapWarps, 0x0, 0x0
diff --git a/data/maps/SecretBase_BlueCave4/header.inc b/data/maps/SecretBase_BlueCave4/header.inc
deleted file mode 100644
index eb49d9372..000000000
--- a/data/maps/SecretBase_BlueCave4/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SecretBase_BlueCave4:: @ 8307908
- .4byte SecretBase_BlueCave4_Layout
- .4byte SecretBase_BlueCave4_MapEvents
- .4byte SecretBase_BlueCave4_MapScripts
- .4byte 0x0
- .2byte MUS_MACHI_S3
- .2byte 218
- .byte MAPSEC_SECRET_BASE
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_SECRET_BASE
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_BATTLE_TOWER
diff --git a/data/maps/SecretBase_BlueCave4/map.json b/data/maps/SecretBase_BlueCave4/map.json
new file mode 100644
index 000000000..50ee51d18
--- /dev/null
+++ b/data/maps/SecretBase_BlueCave4/map.json
@@ -0,0 +1,221 @@
+{
+ "id": "MAP_SECRET_BASE_BLUE_CAVE4",
+ "name": "SecretBase_BlueCave4",
+ "layout": "LAYOUT_SECRET_BASE_BLUE_CAVE4",
+ "music": "MUS_MACHI_S3",
+ "region_map_section": "MAPSEC_SECRET_BASE",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_SECRET_BASE",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_BATTLE_TOWER",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_F",
+ "x": 5,
+ "y": 13,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SecretBase_BlueCave4_EventScript_1A2FC0",
+ "flag": "FLAG_DECORATION_1"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_0",
+ "x": 0,
+ "y": 0,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_2"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_1",
+ "x": 0,
+ "y": 1,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_3"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_2",
+ "x": 0,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_4"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_3",
+ "x": 0,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_5"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_4",
+ "x": 0,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_6"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_5",
+ "x": 0,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_7"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_6",
+ "x": 0,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_8"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_7",
+ "x": 1,
+ "y": 0,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_9"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_8",
+ "x": 1,
+ "y": 1,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_10"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_9",
+ "x": 1,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_11"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_A",
+ "x": 1,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_12"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_B",
+ "x": 1,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_13"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_C",
+ "x": 1,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_14"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_D",
+ "x": 1,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_15"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 4,
+ "y": 15,
+ "elevation": 0,
+ "dest_map": "MAP_NONE",
+ "dest_warp_id": 126
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/SecretBase_BrownCave1/events.inc b/data/maps/SecretBase_BrownCave1/events.inc
deleted file mode 100644
index ad4d84b85..000000000
--- a/data/maps/SecretBase_BrownCave1/events.inc
+++ /dev/null
@@ -1,22 +0,0 @@
-SecretBase_BrownCave1_EventObjects:: @ 838F008
- object_event 1, EVENT_OBJ_GFX_VAR_F, 0, 5, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_BrownCave1_EventScript_1A2FC0, FLAG_DECORATION_1
- object_event 2, EVENT_OBJ_GFX_VAR_0, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2
- object_event 3, EVENT_OBJ_GFX_VAR_1, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3
- object_event 4, EVENT_OBJ_GFX_VAR_2, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4
- object_event 5, EVENT_OBJ_GFX_VAR_3, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5
- object_event 6, EVENT_OBJ_GFX_VAR_4, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6
- object_event 7, EVENT_OBJ_GFX_VAR_5, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7
- object_event 8, EVENT_OBJ_GFX_VAR_6, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8
- object_event 9, EVENT_OBJ_GFX_VAR_7, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9
- object_event 10, EVENT_OBJ_GFX_VAR_8, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10
- object_event 11, EVENT_OBJ_GFX_VAR_9, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11
- object_event 12, EVENT_OBJ_GFX_VAR_A, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12
- object_event 13, EVENT_OBJ_GFX_VAR_B, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13
- object_event 14, EVENT_OBJ_GFX_VAR_C, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14
- object_event 15, EVENT_OBJ_GFX_VAR_D, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_15
-
-SecretBase_BrownCave1_MapWarps:: @ 838F170
- warp_def 5, 7, 0, 126, MAP_NONE
-
-SecretBase_BrownCave1_MapEvents:: @ 838F178
- map_events SecretBase_BrownCave1_EventObjects, SecretBase_BrownCave1_MapWarps, 0x0, 0x0
diff --git a/data/maps/SecretBase_BrownCave1/header.inc b/data/maps/SecretBase_BrownCave1/header.inc
deleted file mode 100644
index 44a2a8f2a..000000000
--- a/data/maps/SecretBase_BrownCave1/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SecretBase_BrownCave1:: @ 83076F4
- .4byte SecretBase_BrownCave1_Layout
- .4byte SecretBase_BrownCave1_MapEvents
- .4byte SecretBase_BrownCave1_MapScripts
- .4byte 0x0
- .2byte MUS_MACHI_S3
- .2byte 199
- .byte MAPSEC_SECRET_BASE
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_SECRET_BASE
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_BATTLE_TOWER
diff --git a/data/maps/SecretBase_BrownCave1/map.json b/data/maps/SecretBase_BrownCave1/map.json
new file mode 100644
index 000000000..cb5e4a4ad
--- /dev/null
+++ b/data/maps/SecretBase_BrownCave1/map.json
@@ -0,0 +1,221 @@
+{
+ "id": "MAP_SECRET_BASE_BROWN_CAVE1",
+ "name": "SecretBase_BrownCave1",
+ "layout": "LAYOUT_SECRET_BASE_BROWN_CAVE1",
+ "music": "MUS_MACHI_S3",
+ "region_map_section": "MAPSEC_SECRET_BASE",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_SECRET_BASE",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_BATTLE_TOWER",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_F",
+ "x": 5,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SecretBase_BrownCave1_EventScript_1A2FC0",
+ "flag": "FLAG_DECORATION_1"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_0",
+ "x": 0,
+ "y": 0,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_2"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_1",
+ "x": 0,
+ "y": 1,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_3"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_2",
+ "x": 0,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_4"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_3",
+ "x": 0,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_5"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_4",
+ "x": 0,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_6"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_5",
+ "x": 0,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_7"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_6",
+ "x": 0,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_8"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_7",
+ "x": 1,
+ "y": 0,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_9"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_8",
+ "x": 1,
+ "y": 1,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_10"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_9",
+ "x": 1,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_11"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_A",
+ "x": 1,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_12"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_B",
+ "x": 1,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_13"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_C",
+ "x": 1,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_14"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_D",
+ "x": 1,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_15"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 5,
+ "y": 7,
+ "elevation": 0,
+ "dest_map": "MAP_NONE",
+ "dest_warp_id": 126
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/SecretBase_BrownCave2/events.inc b/data/maps/SecretBase_BrownCave2/events.inc
deleted file mode 100644
index 88616c152..000000000
--- a/data/maps/SecretBase_BrownCave2/events.inc
+++ /dev/null
@@ -1,22 +0,0 @@
-SecretBase_BrownCave2_EventObjects:: @ 838F920
- object_event 1, EVENT_OBJ_GFX_VAR_F, 0, 11, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_BrownCave2_EventScript_1A2FC0, FLAG_DECORATION_1
- object_event 2, EVENT_OBJ_GFX_VAR_0, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2
- object_event 3, EVENT_OBJ_GFX_VAR_1, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3
- object_event 4, EVENT_OBJ_GFX_VAR_2, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4
- object_event 5, EVENT_OBJ_GFX_VAR_3, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5
- object_event 6, EVENT_OBJ_GFX_VAR_4, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6
- object_event 7, EVENT_OBJ_GFX_VAR_5, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7
- object_event 8, EVENT_OBJ_GFX_VAR_6, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8
- object_event 9, EVENT_OBJ_GFX_VAR_7, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9
- object_event 10, EVENT_OBJ_GFX_VAR_8, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10
- object_event 11, EVENT_OBJ_GFX_VAR_9, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11
- object_event 12, EVENT_OBJ_GFX_VAR_A, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12
- object_event 13, EVENT_OBJ_GFX_VAR_B, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13
- object_event 14, EVENT_OBJ_GFX_VAR_C, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14
- object_event 15, EVENT_OBJ_GFX_VAR_D, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_15
-
-SecretBase_BrownCave2_MapWarps:: @ 838FA88
- warp_def 1, 7, 0, 126, MAP_NONE
-
-SecretBase_BrownCave2_MapEvents:: @ 838FA90
- map_events SecretBase_BrownCave2_EventObjects, SecretBase_BrownCave2_MapWarps, 0x0, 0x0
diff --git a/data/maps/SecretBase_BrownCave2/header.inc b/data/maps/SecretBase_BrownCave2/header.inc
deleted file mode 100644
index 5f9c5285e..000000000
--- a/data/maps/SecretBase_BrownCave2/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SecretBase_BrownCave2:: @ 830779C
- .4byte SecretBase_BrownCave2_Layout
- .4byte SecretBase_BrownCave2_MapEvents
- .4byte SecretBase_BrownCave2_MapScripts
- .4byte 0x0
- .2byte MUS_MACHI_S3
- .2byte 205
- .byte MAPSEC_SECRET_BASE
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_SECRET_BASE
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_BATTLE_TOWER
diff --git a/data/maps/SecretBase_BrownCave2/map.json b/data/maps/SecretBase_BrownCave2/map.json
new file mode 100644
index 000000000..14970984c
--- /dev/null
+++ b/data/maps/SecretBase_BrownCave2/map.json
@@ -0,0 +1,221 @@
+{
+ "id": "MAP_SECRET_BASE_BROWN_CAVE2",
+ "name": "SecretBase_BrownCave2",
+ "layout": "LAYOUT_SECRET_BASE_BROWN_CAVE2",
+ "music": "MUS_MACHI_S3",
+ "region_map_section": "MAPSEC_SECRET_BASE",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_SECRET_BASE",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_BATTLE_TOWER",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_F",
+ "x": 11,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SecretBase_BrownCave2_EventScript_1A2FC0",
+ "flag": "FLAG_DECORATION_1"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_0",
+ "x": 0,
+ "y": 0,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_2"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_1",
+ "x": 0,
+ "y": 1,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_3"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_2",
+ "x": 0,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_4"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_3",
+ "x": 0,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_5"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_4",
+ "x": 0,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_6"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_5",
+ "x": 0,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_7"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_6",
+ "x": 0,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_8"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_7",
+ "x": 1,
+ "y": 0,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_9"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_8",
+ "x": 1,
+ "y": 1,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_10"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_9",
+ "x": 1,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_11"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_A",
+ "x": 1,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_12"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_B",
+ "x": 1,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_13"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_C",
+ "x": 1,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_14"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_D",
+ "x": 1,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_15"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 1,
+ "y": 7,
+ "elevation": 0,
+ "dest_map": "MAP_NONE",
+ "dest_warp_id": 126
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/SecretBase_BrownCave3/events.inc b/data/maps/SecretBase_BrownCave3/events.inc
deleted file mode 100644
index 109aa9183..000000000
--- a/data/maps/SecretBase_BrownCave3/events.inc
+++ /dev/null
@@ -1,22 +0,0 @@
-SecretBase_BrownCave3_EventObjects:: @ 8390238
- object_event 1, EVENT_OBJ_GFX_VAR_F, 0, 1, 7, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_BrownCave3_EventScript_1A2FC0, FLAG_DECORATION_1
- object_event 2, EVENT_OBJ_GFX_VAR_0, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2
- object_event 3, EVENT_OBJ_GFX_VAR_1, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3
- object_event 4, EVENT_OBJ_GFX_VAR_2, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4
- object_event 5, EVENT_OBJ_GFX_VAR_3, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5
- object_event 6, EVENT_OBJ_GFX_VAR_4, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6
- object_event 7, EVENT_OBJ_GFX_VAR_5, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7
- object_event 8, EVENT_OBJ_GFX_VAR_6, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8
- object_event 9, EVENT_OBJ_GFX_VAR_7, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9
- object_event 10, EVENT_OBJ_GFX_VAR_8, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10
- object_event 11, EVENT_OBJ_GFX_VAR_9, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11
- object_event 12, EVENT_OBJ_GFX_VAR_A, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12
- object_event 13, EVENT_OBJ_GFX_VAR_B, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13
- object_event 14, EVENT_OBJ_GFX_VAR_C, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14
- object_event 15, EVENT_OBJ_GFX_VAR_D, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_15
-
-SecretBase_BrownCave3_MapWarps:: @ 83903A0
- warp_def 11, 9, 0, 126, MAP_NONE
-
-SecretBase_BrownCave3_MapEvents:: @ 83903A8
- map_events SecretBase_BrownCave3_EventObjects, SecretBase_BrownCave3_MapWarps, 0x0, 0x0
diff --git a/data/maps/SecretBase_BrownCave3/header.inc b/data/maps/SecretBase_BrownCave3/header.inc
deleted file mode 100644
index f46cac8fb..000000000
--- a/data/maps/SecretBase_BrownCave3/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SecretBase_BrownCave3:: @ 8307844
- .4byte SecretBase_BrownCave3_Layout
- .4byte SecretBase_BrownCave3_MapEvents
- .4byte SecretBase_BrownCave3_MapScripts
- .4byte 0x0
- .2byte MUS_MACHI_S3
- .2byte 211
- .byte MAPSEC_SECRET_BASE
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_SECRET_BASE
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_BATTLE_TOWER
diff --git a/data/maps/SecretBase_BrownCave3/map.json b/data/maps/SecretBase_BrownCave3/map.json
new file mode 100644
index 000000000..2bf0b85f3
--- /dev/null
+++ b/data/maps/SecretBase_BrownCave3/map.json
@@ -0,0 +1,221 @@
+{
+ "id": "MAP_SECRET_BASE_BROWN_CAVE3",
+ "name": "SecretBase_BrownCave3",
+ "layout": "LAYOUT_SECRET_BASE_BROWN_CAVE3",
+ "music": "MUS_MACHI_S3",
+ "region_map_section": "MAPSEC_SECRET_BASE",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_SECRET_BASE",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_BATTLE_TOWER",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_F",
+ "x": 1,
+ "y": 7,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SecretBase_BrownCave3_EventScript_1A2FC0",
+ "flag": "FLAG_DECORATION_1"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_0",
+ "x": 0,
+ "y": 0,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_2"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_1",
+ "x": 0,
+ "y": 1,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_3"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_2",
+ "x": 0,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_4"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_3",
+ "x": 0,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_5"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_4",
+ "x": 0,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_6"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_5",
+ "x": 0,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_7"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_6",
+ "x": 0,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_8"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_7",
+ "x": 1,
+ "y": 0,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_9"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_8",
+ "x": 1,
+ "y": 1,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_10"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_9",
+ "x": 1,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_11"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_A",
+ "x": 1,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_12"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_B",
+ "x": 1,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_13"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_C",
+ "x": 1,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_14"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_D",
+ "x": 1,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_15"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 11,
+ "y": 9,
+ "elevation": 0,
+ "dest_map": "MAP_NONE",
+ "dest_warp_id": 126
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/SecretBase_BrownCave4/events.inc b/data/maps/SecretBase_BrownCave4/events.inc
deleted file mode 100644
index b88734f71..000000000
--- a/data/maps/SecretBase_BrownCave4/events.inc
+++ /dev/null
@@ -1,22 +0,0 @@
-SecretBase_BrownCave4_EventObjects:: @ 8390B50
- object_event 1, EVENT_OBJ_GFX_VAR_F, 0, 2, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_BrownCave4_EventScript_1A2FC0, FLAG_DECORATION_1
- object_event 2, EVENT_OBJ_GFX_VAR_0, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2
- object_event 3, EVENT_OBJ_GFX_VAR_1, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3
- object_event 4, EVENT_OBJ_GFX_VAR_2, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4
- object_event 5, EVENT_OBJ_GFX_VAR_3, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5
- object_event 6, EVENT_OBJ_GFX_VAR_4, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6
- object_event 7, EVENT_OBJ_GFX_VAR_5, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7
- object_event 8, EVENT_OBJ_GFX_VAR_6, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8
- object_event 9, EVENT_OBJ_GFX_VAR_7, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9
- object_event 10, EVENT_OBJ_GFX_VAR_8, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10
- object_event 11, EVENT_OBJ_GFX_VAR_9, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11
- object_event 12, EVENT_OBJ_GFX_VAR_A, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12
- object_event 13, EVENT_OBJ_GFX_VAR_B, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13
- object_event 14, EVENT_OBJ_GFX_VAR_C, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14
- object_event 15, EVENT_OBJ_GFX_VAR_D, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_15
-
-SecretBase_BrownCave4_MapWarps:: @ 8390CB8
- warp_def 2, 8, 0, 126, MAP_NONE
-
-SecretBase_BrownCave4_MapEvents:: @ 8390CC0
- map_events SecretBase_BrownCave4_EventObjects, SecretBase_BrownCave4_MapWarps, 0x0, 0x0
diff --git a/data/maps/SecretBase_BrownCave4/header.inc b/data/maps/SecretBase_BrownCave4/header.inc
deleted file mode 100644
index 5fafbccbc..000000000
--- a/data/maps/SecretBase_BrownCave4/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SecretBase_BrownCave4:: @ 83078EC
- .4byte SecretBase_BrownCave4_Layout
- .4byte SecretBase_BrownCave4_MapEvents
- .4byte SecretBase_BrownCave4_MapScripts
- .4byte 0x0
- .2byte MUS_MACHI_S3
- .2byte 217
- .byte MAPSEC_SECRET_BASE
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_SECRET_BASE
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_BATTLE_TOWER
diff --git a/data/maps/SecretBase_BrownCave4/map.json b/data/maps/SecretBase_BrownCave4/map.json
new file mode 100644
index 000000000..3430a9beb
--- /dev/null
+++ b/data/maps/SecretBase_BrownCave4/map.json
@@ -0,0 +1,221 @@
+{
+ "id": "MAP_SECRET_BASE_BROWN_CAVE4",
+ "name": "SecretBase_BrownCave4",
+ "layout": "LAYOUT_SECRET_BASE_BROWN_CAVE4",
+ "music": "MUS_MACHI_S3",
+ "region_map_section": "MAPSEC_SECRET_BASE",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_SECRET_BASE",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_BATTLE_TOWER",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_F",
+ "x": 2,
+ "y": 1,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SecretBase_BrownCave4_EventScript_1A2FC0",
+ "flag": "FLAG_DECORATION_1"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_0",
+ "x": 0,
+ "y": 0,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_2"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_1",
+ "x": 0,
+ "y": 1,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_3"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_2",
+ "x": 0,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_4"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_3",
+ "x": 0,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_5"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_4",
+ "x": 0,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_6"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_5",
+ "x": 0,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_7"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_6",
+ "x": 0,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_8"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_7",
+ "x": 1,
+ "y": 0,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_9"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_8",
+ "x": 1,
+ "y": 1,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_10"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_9",
+ "x": 1,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_11"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_A",
+ "x": 1,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_12"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_B",
+ "x": 1,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_13"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_C",
+ "x": 1,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_14"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_D",
+ "x": 1,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_15"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 2,
+ "y": 8,
+ "elevation": 0,
+ "dest_map": "MAP_NONE",
+ "dest_warp_id": 126
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/SecretBase_RedCave1/events.inc b/data/maps/SecretBase_RedCave1/events.inc
deleted file mode 100644
index 8dee80036..000000000
--- a/data/maps/SecretBase_RedCave1/events.inc
+++ /dev/null
@@ -1,22 +0,0 @@
-SecretBase_RedCave1_EventObjects:: @ 838EE84
- object_event 1, EVENT_OBJ_GFX_VAR_F, 0, 7, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_RedCave1_EventScript_1A2FC0, FLAG_DECORATION_1
- object_event 2, EVENT_OBJ_GFX_VAR_0, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2
- object_event 3, EVENT_OBJ_GFX_VAR_1, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3
- object_event 4, EVENT_OBJ_GFX_VAR_2, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4
- object_event 5, EVENT_OBJ_GFX_VAR_3, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5
- object_event 6, EVENT_OBJ_GFX_VAR_4, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6
- object_event 7, EVENT_OBJ_GFX_VAR_5, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7
- object_event 8, EVENT_OBJ_GFX_VAR_6, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8
- object_event 9, EVENT_OBJ_GFX_VAR_7, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9
- object_event 10, EVENT_OBJ_GFX_VAR_8, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10
- object_event 11, EVENT_OBJ_GFX_VAR_9, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11
- object_event 12, EVENT_OBJ_GFX_VAR_A, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12
- object_event 13, EVENT_OBJ_GFX_VAR_B, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13
- object_event 14, EVENT_OBJ_GFX_VAR_C, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14
- object_event 15, EVENT_OBJ_GFX_VAR_D, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_15
-
-SecretBase_RedCave1_MapWarps:: @ 838EFEC
- warp_def 5, 7, 0, 126, MAP_NONE
-
-SecretBase_RedCave1_MapEvents:: @ 838EFF4
- map_events SecretBase_RedCave1_EventObjects, SecretBase_RedCave1_MapWarps, 0x0, 0x0
diff --git a/data/maps/SecretBase_RedCave1/header.inc b/data/maps/SecretBase_RedCave1/header.inc
deleted file mode 100644
index 3fc42eea8..000000000
--- a/data/maps/SecretBase_RedCave1/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SecretBase_RedCave1:: @ 83076D8
- .4byte SecretBase_RedCave1_Layout
- .4byte SecretBase_RedCave1_MapEvents
- .4byte SecretBase_RedCave1_MapScripts
- .4byte 0x0
- .2byte MUS_MACHI_S3
- .2byte 198
- .byte MAPSEC_SECRET_BASE
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_SECRET_BASE
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_BATTLE_TOWER
diff --git a/data/maps/SecretBase_RedCave1/map.json b/data/maps/SecretBase_RedCave1/map.json
new file mode 100644
index 000000000..5d07a9a75
--- /dev/null
+++ b/data/maps/SecretBase_RedCave1/map.json
@@ -0,0 +1,221 @@
+{
+ "id": "MAP_SECRET_BASE_RED_CAVE1",
+ "name": "SecretBase_RedCave1",
+ "layout": "LAYOUT_SECRET_BASE_RED_CAVE1",
+ "music": "MUS_MACHI_S3",
+ "region_map_section": "MAPSEC_SECRET_BASE",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_SECRET_BASE",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_BATTLE_TOWER",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_F",
+ "x": 7,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SecretBase_RedCave1_EventScript_1A2FC0",
+ "flag": "FLAG_DECORATION_1"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_0",
+ "x": 0,
+ "y": 0,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_2"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_1",
+ "x": 0,
+ "y": 1,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_3"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_2",
+ "x": 0,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_4"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_3",
+ "x": 0,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_5"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_4",
+ "x": 0,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_6"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_5",
+ "x": 0,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_7"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_6",
+ "x": 0,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_8"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_7",
+ "x": 1,
+ "y": 0,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_9"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_8",
+ "x": 1,
+ "y": 1,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_10"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_9",
+ "x": 1,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_11"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_A",
+ "x": 1,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_12"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_B",
+ "x": 1,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_13"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_C",
+ "x": 1,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_14"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_D",
+ "x": 1,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_15"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 5,
+ "y": 7,
+ "elevation": 0,
+ "dest_map": "MAP_NONE",
+ "dest_warp_id": 126
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/SecretBase_RedCave2/events.inc b/data/maps/SecretBase_RedCave2/events.inc
deleted file mode 100644
index f13e0ee48..000000000
--- a/data/maps/SecretBase_RedCave2/events.inc
+++ /dev/null
@@ -1,22 +0,0 @@
-SecretBase_RedCave2_EventObjects:: @ 838F79C
- object_event 1, EVENT_OBJ_GFX_VAR_F, 0, 3, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_RedCave2_EventScript_1A2FC0, FLAG_DECORATION_1
- object_event 2, EVENT_OBJ_GFX_VAR_0, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2
- object_event 3, EVENT_OBJ_GFX_VAR_1, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3
- object_event 4, EVENT_OBJ_GFX_VAR_2, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4
- object_event 5, EVENT_OBJ_GFX_VAR_3, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5
- object_event 6, EVENT_OBJ_GFX_VAR_4, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6
- object_event 7, EVENT_OBJ_GFX_VAR_5, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7
- object_event 8, EVENT_OBJ_GFX_VAR_6, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8
- object_event 9, EVENT_OBJ_GFX_VAR_7, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9
- object_event 10, EVENT_OBJ_GFX_VAR_8, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10
- object_event 11, EVENT_OBJ_GFX_VAR_9, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11
- object_event 12, EVENT_OBJ_GFX_VAR_A, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12
- object_event 13, EVENT_OBJ_GFX_VAR_B, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13
- object_event 14, EVENT_OBJ_GFX_VAR_C, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14
- object_event 15, EVENT_OBJ_GFX_VAR_D, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_15
-
-SecretBase_RedCave2_MapWarps:: @ 838F904
- warp_def 3, 14, 0, 126, MAP_NONE
-
-SecretBase_RedCave2_MapEvents:: @ 838F90C
- map_events SecretBase_RedCave2_EventObjects, SecretBase_RedCave2_MapWarps, 0x0, 0x0
diff --git a/data/maps/SecretBase_RedCave2/header.inc b/data/maps/SecretBase_RedCave2/header.inc
deleted file mode 100644
index ed8addd52..000000000
--- a/data/maps/SecretBase_RedCave2/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SecretBase_RedCave2:: @ 8307780
- .4byte SecretBase_RedCave2_Layout
- .4byte SecretBase_RedCave2_MapEvents
- .4byte SecretBase_RedCave2_MapScripts
- .4byte 0x0
- .2byte MUS_MACHI_S3
- .2byte 204
- .byte MAPSEC_SECRET_BASE
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_SECRET_BASE
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_BATTLE_TOWER
diff --git a/data/maps/SecretBase_RedCave2/map.json b/data/maps/SecretBase_RedCave2/map.json
new file mode 100644
index 000000000..a9aede8fe
--- /dev/null
+++ b/data/maps/SecretBase_RedCave2/map.json
@@ -0,0 +1,221 @@
+{
+ "id": "MAP_SECRET_BASE_RED_CAVE2",
+ "name": "SecretBase_RedCave2",
+ "layout": "LAYOUT_SECRET_BASE_RED_CAVE2",
+ "music": "MUS_MACHI_S3",
+ "region_map_section": "MAPSEC_SECRET_BASE",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_SECRET_BASE",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_BATTLE_TOWER",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_F",
+ "x": 3,
+ "y": 1,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SecretBase_RedCave2_EventScript_1A2FC0",
+ "flag": "FLAG_DECORATION_1"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_0",
+ "x": 0,
+ "y": 0,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_2"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_1",
+ "x": 0,
+ "y": 1,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_3"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_2",
+ "x": 0,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_4"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_3",
+ "x": 0,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_5"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_4",
+ "x": 0,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_6"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_5",
+ "x": 0,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_7"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_6",
+ "x": 0,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_8"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_7",
+ "x": 1,
+ "y": 0,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_9"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_8",
+ "x": 1,
+ "y": 1,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_10"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_9",
+ "x": 1,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_11"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_A",
+ "x": 1,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_12"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_B",
+ "x": 1,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_13"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_C",
+ "x": 1,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_14"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_D",
+ "x": 1,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_15"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 3,
+ "y": 14,
+ "elevation": 0,
+ "dest_map": "MAP_NONE",
+ "dest_warp_id": 126
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/SecretBase_RedCave3/events.inc b/data/maps/SecretBase_RedCave3/events.inc
deleted file mode 100644
index d3701ae77..000000000
--- a/data/maps/SecretBase_RedCave3/events.inc
+++ /dev/null
@@ -1,22 +0,0 @@
-SecretBase_RedCave3_EventObjects:: @ 83900B4
- object_event 1, EVENT_OBJ_GFX_VAR_F, 0, 12, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_RedCave3_EventScript_1A2FC0, FLAG_DECORATION_1
- object_event 2, EVENT_OBJ_GFX_VAR_0, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2
- object_event 3, EVENT_OBJ_GFX_VAR_1, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3
- object_event 4, EVENT_OBJ_GFX_VAR_2, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4
- object_event 5, EVENT_OBJ_GFX_VAR_3, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5
- object_event 6, EVENT_OBJ_GFX_VAR_4, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6
- object_event 7, EVENT_OBJ_GFX_VAR_5, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7
- object_event 8, EVENT_OBJ_GFX_VAR_6, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8
- object_event 9, EVENT_OBJ_GFX_VAR_7, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9
- object_event 10, EVENT_OBJ_GFX_VAR_8, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10
- object_event 11, EVENT_OBJ_GFX_VAR_9, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11
- object_event 12, EVENT_OBJ_GFX_VAR_A, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12
- object_event 13, EVENT_OBJ_GFX_VAR_B, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13
- object_event 14, EVENT_OBJ_GFX_VAR_C, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14
- object_event 15, EVENT_OBJ_GFX_VAR_D, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_15
-
-SecretBase_RedCave3_MapWarps:: @ 839021C
- warp_def 3, 6, 0, 126, MAP_NONE
-
-SecretBase_RedCave3_MapEvents:: @ 8390224
- map_events SecretBase_RedCave3_EventObjects, SecretBase_RedCave3_MapWarps, 0x0, 0x0
diff --git a/data/maps/SecretBase_RedCave3/header.inc b/data/maps/SecretBase_RedCave3/header.inc
deleted file mode 100644
index 027067c47..000000000
--- a/data/maps/SecretBase_RedCave3/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SecretBase_RedCave3:: @ 8307828
- .4byte SecretBase_RedCave3_Layout
- .4byte SecretBase_RedCave3_MapEvents
- .4byte SecretBase_RedCave3_MapScripts
- .4byte 0x0
- .2byte MUS_MACHI_S3
- .2byte 210
- .byte MAPSEC_SECRET_BASE
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_SECRET_BASE
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_BATTLE_TOWER
diff --git a/data/maps/SecretBase_RedCave3/map.json b/data/maps/SecretBase_RedCave3/map.json
new file mode 100644
index 000000000..b7540e17e
--- /dev/null
+++ b/data/maps/SecretBase_RedCave3/map.json
@@ -0,0 +1,221 @@
+{
+ "id": "MAP_SECRET_BASE_RED_CAVE3",
+ "name": "SecretBase_RedCave3",
+ "layout": "LAYOUT_SECRET_BASE_RED_CAVE3",
+ "music": "MUS_MACHI_S3",
+ "region_map_section": "MAPSEC_SECRET_BASE",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_SECRET_BASE",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_BATTLE_TOWER",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_F",
+ "x": 12,
+ "y": 1,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SecretBase_RedCave3_EventScript_1A2FC0",
+ "flag": "FLAG_DECORATION_1"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_0",
+ "x": 0,
+ "y": 0,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_2"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_1",
+ "x": 0,
+ "y": 1,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_3"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_2",
+ "x": 0,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_4"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_3",
+ "x": 0,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_5"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_4",
+ "x": 0,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_6"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_5",
+ "x": 0,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_7"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_6",
+ "x": 0,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_8"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_7",
+ "x": 1,
+ "y": 0,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_9"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_8",
+ "x": 1,
+ "y": 1,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_10"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_9",
+ "x": 1,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_11"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_A",
+ "x": 1,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_12"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_B",
+ "x": 1,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_13"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_C",
+ "x": 1,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_14"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_D",
+ "x": 1,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_15"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 3,
+ "y": 6,
+ "elevation": 0,
+ "dest_map": "MAP_NONE",
+ "dest_warp_id": 126
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/SecretBase_RedCave4/events.inc b/data/maps/SecretBase_RedCave4/events.inc
deleted file mode 100644
index 438e6606f..000000000
--- a/data/maps/SecretBase_RedCave4/events.inc
+++ /dev/null
@@ -1,22 +0,0 @@
-SecretBase_RedCave4_EventObjects:: @ 83909CC
- object_event 1, EVENT_OBJ_GFX_VAR_F, 0, 5, 8, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_RedCave4_EventScript_1A2FC0, FLAG_DECORATION_1
- object_event 2, EVENT_OBJ_GFX_VAR_0, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2
- object_event 3, EVENT_OBJ_GFX_VAR_1, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3
- object_event 4, EVENT_OBJ_GFX_VAR_2, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4
- object_event 5, EVENT_OBJ_GFX_VAR_3, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5
- object_event 6, EVENT_OBJ_GFX_VAR_4, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6
- object_event 7, EVENT_OBJ_GFX_VAR_5, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7
- object_event 8, EVENT_OBJ_GFX_VAR_6, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8
- object_event 9, EVENT_OBJ_GFX_VAR_7, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9
- object_event 10, EVENT_OBJ_GFX_VAR_8, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10
- object_event 11, EVENT_OBJ_GFX_VAR_9, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11
- object_event 12, EVENT_OBJ_GFX_VAR_A, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12
- object_event 13, EVENT_OBJ_GFX_VAR_B, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13
- object_event 14, EVENT_OBJ_GFX_VAR_C, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14
- object_event 15, EVENT_OBJ_GFX_VAR_D, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_15
-
-SecretBase_RedCave4_MapWarps:: @ 8390B34
- warp_def 2, 12, 0, 126, MAP_NONE
-
-SecretBase_RedCave4_MapEvents:: @ 8390B3C
- map_events SecretBase_RedCave4_EventObjects, SecretBase_RedCave4_MapWarps, 0x0, 0x0
diff --git a/data/maps/SecretBase_RedCave4/header.inc b/data/maps/SecretBase_RedCave4/header.inc
deleted file mode 100644
index b44756fba..000000000
--- a/data/maps/SecretBase_RedCave4/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SecretBase_RedCave4:: @ 83078D0
- .4byte SecretBase_RedCave4_Layout
- .4byte SecretBase_RedCave4_MapEvents
- .4byte SecretBase_RedCave4_MapScripts
- .4byte 0x0
- .2byte MUS_MACHI_S3
- .2byte 216
- .byte MAPSEC_SECRET_BASE
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_SECRET_BASE
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_BATTLE_TOWER
diff --git a/data/maps/SecretBase_RedCave4/map.json b/data/maps/SecretBase_RedCave4/map.json
new file mode 100644
index 000000000..8e2720d9e
--- /dev/null
+++ b/data/maps/SecretBase_RedCave4/map.json
@@ -0,0 +1,221 @@
+{
+ "id": "MAP_SECRET_BASE_RED_CAVE4",
+ "name": "SecretBase_RedCave4",
+ "layout": "LAYOUT_SECRET_BASE_RED_CAVE4",
+ "music": "MUS_MACHI_S3",
+ "region_map_section": "MAPSEC_SECRET_BASE",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_SECRET_BASE",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_BATTLE_TOWER",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_F",
+ "x": 5,
+ "y": 8,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SecretBase_RedCave4_EventScript_1A2FC0",
+ "flag": "FLAG_DECORATION_1"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_0",
+ "x": 0,
+ "y": 0,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_2"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_1",
+ "x": 0,
+ "y": 1,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_3"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_2",
+ "x": 0,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_4"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_3",
+ "x": 0,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_5"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_4",
+ "x": 0,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_6"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_5",
+ "x": 0,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_7"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_6",
+ "x": 0,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_8"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_7",
+ "x": 1,
+ "y": 0,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_9"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_8",
+ "x": 1,
+ "y": 1,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_10"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_9",
+ "x": 1,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_11"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_A",
+ "x": 1,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_12"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_B",
+ "x": 1,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_13"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_C",
+ "x": 1,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_14"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_D",
+ "x": 1,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_15"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 2,
+ "y": 12,
+ "elevation": 0,
+ "dest_map": "MAP_NONE",
+ "dest_warp_id": 126
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/SecretBase_Shrub1/events.inc b/data/maps/SecretBase_Shrub1/events.inc
deleted file mode 100644
index 07deae47f..000000000
--- a/data/maps/SecretBase_Shrub1/events.inc
+++ /dev/null
@@ -1,22 +0,0 @@
-SecretBase_Shrub1_EventObjects:: @ 838F618
- object_event 1, EVENT_OBJ_GFX_VAR_F, 0, 5, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_Shrub1_EventScript_1A2FC0, FLAG_DECORATION_1
- object_event 2, EVENT_OBJ_GFX_VAR_0, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2
- object_event 3, EVENT_OBJ_GFX_VAR_1, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3
- object_event 4, EVENT_OBJ_GFX_VAR_2, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4
- object_event 5, EVENT_OBJ_GFX_VAR_3, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5
- object_event 6, EVENT_OBJ_GFX_VAR_4, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6
- object_event 7, EVENT_OBJ_GFX_VAR_5, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7
- object_event 8, EVENT_OBJ_GFX_VAR_6, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8
- object_event 9, EVENT_OBJ_GFX_VAR_7, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9
- object_event 10, EVENT_OBJ_GFX_VAR_8, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10
- object_event 11, EVENT_OBJ_GFX_VAR_9, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11
- object_event 12, EVENT_OBJ_GFX_VAR_A, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12
- object_event 13, EVENT_OBJ_GFX_VAR_B, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13
- object_event 14, EVENT_OBJ_GFX_VAR_C, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14
- object_event 15, EVENT_OBJ_GFX_VAR_D, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_15
-
-SecretBase_Shrub1_MapWarps:: @ 838F780
- warp_def 5, 7, 0, 126, MAP_NONE
-
-SecretBase_Shrub1_MapEvents:: @ 838F788
- map_events SecretBase_Shrub1_EventObjects, SecretBase_Shrub1_MapWarps, 0x0, 0x0
diff --git a/data/maps/SecretBase_Shrub1/header.inc b/data/maps/SecretBase_Shrub1/header.inc
deleted file mode 100644
index e882abdf5..000000000
--- a/data/maps/SecretBase_Shrub1/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SecretBase_Shrub1:: @ 8307764
- .4byte SecretBase_Shrub1_Layout
- .4byte SecretBase_Shrub1_MapEvents
- .4byte SecretBase_Shrub1_MapScripts
- .4byte 0x0
- .2byte MUS_MACHI_S3
- .2byte 203
- .byte MAPSEC_SECRET_BASE
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_SECRET_BASE
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_BATTLE_TOWER
diff --git a/data/maps/SecretBase_Shrub1/map.json b/data/maps/SecretBase_Shrub1/map.json
new file mode 100644
index 000000000..e026ff3c4
--- /dev/null
+++ b/data/maps/SecretBase_Shrub1/map.json
@@ -0,0 +1,221 @@
+{
+ "id": "MAP_SECRET_BASE_SHRUB1",
+ "name": "SecretBase_Shrub1",
+ "layout": "LAYOUT_SECRET_BASE_SHRUB1",
+ "music": "MUS_MACHI_S3",
+ "region_map_section": "MAPSEC_SECRET_BASE",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_SECRET_BASE",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_BATTLE_TOWER",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_F",
+ "x": 5,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SecretBase_Shrub1_EventScript_1A2FC0",
+ "flag": "FLAG_DECORATION_1"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_0",
+ "x": 0,
+ "y": 0,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_2"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_1",
+ "x": 0,
+ "y": 1,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_3"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_2",
+ "x": 0,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_4"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_3",
+ "x": 0,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_5"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_4",
+ "x": 0,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_6"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_5",
+ "x": 0,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_7"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_6",
+ "x": 0,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_8"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_7",
+ "x": 1,
+ "y": 0,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_9"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_8",
+ "x": 1,
+ "y": 1,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_10"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_9",
+ "x": 1,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_11"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_A",
+ "x": 1,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_12"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_B",
+ "x": 1,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_13"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_C",
+ "x": 1,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_14"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_D",
+ "x": 1,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_15"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 5,
+ "y": 7,
+ "elevation": 0,
+ "dest_map": "MAP_NONE",
+ "dest_warp_id": 126
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/SecretBase_Shrub2/events.inc b/data/maps/SecretBase_Shrub2/events.inc
deleted file mode 100644
index f1317d44f..000000000
--- a/data/maps/SecretBase_Shrub2/events.inc
+++ /dev/null
@@ -1,22 +0,0 @@
-SecretBase_Shrub2_EventObjects:: @ 838FF30
- object_event 1, EVENT_OBJ_GFX_VAR_F, 0, 13, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_Shrub2_EventScript_1A2FC0, FLAG_DECORATION_1
- object_event 2, EVENT_OBJ_GFX_VAR_0, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2
- object_event 3, EVENT_OBJ_GFX_VAR_1, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3
- object_event 4, EVENT_OBJ_GFX_VAR_2, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4
- object_event 5, EVENT_OBJ_GFX_VAR_3, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5
- object_event 6, EVENT_OBJ_GFX_VAR_4, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6
- object_event 7, EVENT_OBJ_GFX_VAR_5, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7
- object_event 8, EVENT_OBJ_GFX_VAR_6, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8
- object_event 9, EVENT_OBJ_GFX_VAR_7, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9
- object_event 10, EVENT_OBJ_GFX_VAR_8, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10
- object_event 11, EVENT_OBJ_GFX_VAR_9, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11
- object_event 12, EVENT_OBJ_GFX_VAR_A, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12
- object_event 13, EVENT_OBJ_GFX_VAR_B, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13
- object_event 14, EVENT_OBJ_GFX_VAR_C, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14
- object_event 15, EVENT_OBJ_GFX_VAR_D, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_15
-
-SecretBase_Shrub2_MapWarps:: @ 8390098
- warp_def 7, 5, 0, 126, MAP_NONE
-
-SecretBase_Shrub2_MapEvents:: @ 83900A0
- map_events SecretBase_Shrub2_EventObjects, SecretBase_Shrub2_MapWarps, 0x0, 0x0
diff --git a/data/maps/SecretBase_Shrub2/header.inc b/data/maps/SecretBase_Shrub2/header.inc
deleted file mode 100644
index 4f456a00e..000000000
--- a/data/maps/SecretBase_Shrub2/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SecretBase_Shrub2:: @ 830780C
- .4byte SecretBase_Shrub2_Layout
- .4byte SecretBase_Shrub2_MapEvents
- .4byte SecretBase_Shrub2_MapScripts
- .4byte 0x0
- .2byte MUS_MACHI_S3
- .2byte 209
- .byte MAPSEC_SECRET_BASE
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_SECRET_BASE
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_BATTLE_TOWER
diff --git a/data/maps/SecretBase_Shrub2/map.json b/data/maps/SecretBase_Shrub2/map.json
new file mode 100644
index 000000000..c74be4345
--- /dev/null
+++ b/data/maps/SecretBase_Shrub2/map.json
@@ -0,0 +1,221 @@
+{
+ "id": "MAP_SECRET_BASE_SHRUB2",
+ "name": "SecretBase_Shrub2",
+ "layout": "LAYOUT_SECRET_BASE_SHRUB2",
+ "music": "MUS_MACHI_S3",
+ "region_map_section": "MAPSEC_SECRET_BASE",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_SECRET_BASE",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_BATTLE_TOWER",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_F",
+ "x": 13,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SecretBase_Shrub2_EventScript_1A2FC0",
+ "flag": "FLAG_DECORATION_1"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_0",
+ "x": 0,
+ "y": 0,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_2"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_1",
+ "x": 0,
+ "y": 1,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_3"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_2",
+ "x": 0,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_4"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_3",
+ "x": 0,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_5"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_4",
+ "x": 0,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_6"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_5",
+ "x": 0,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_7"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_6",
+ "x": 0,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_8"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_7",
+ "x": 1,
+ "y": 0,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_9"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_8",
+ "x": 1,
+ "y": 1,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_10"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_9",
+ "x": 1,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_11"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_A",
+ "x": 1,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_12"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_B",
+ "x": 1,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_13"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_C",
+ "x": 1,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_14"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_D",
+ "x": 1,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_15"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 7,
+ "y": 5,
+ "elevation": 0,
+ "dest_map": "MAP_NONE",
+ "dest_warp_id": 126
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/SecretBase_Shrub3/events.inc b/data/maps/SecretBase_Shrub3/events.inc
deleted file mode 100644
index da09c9853..000000000
--- a/data/maps/SecretBase_Shrub3/events.inc
+++ /dev/null
@@ -1,22 +0,0 @@
-SecretBase_Shrub3_EventObjects:: @ 8390848
- object_event 1, EVENT_OBJ_GFX_VAR_F, 0, 5, 7, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_Shrub3_EventScript_1A2FC0, FLAG_DECORATION_1
- object_event 2, EVENT_OBJ_GFX_VAR_0, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2
- object_event 3, EVENT_OBJ_GFX_VAR_1, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3
- object_event 4, EVENT_OBJ_GFX_VAR_2, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4
- object_event 5, EVENT_OBJ_GFX_VAR_3, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5
- object_event 6, EVENT_OBJ_GFX_VAR_4, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6
- object_event 7, EVENT_OBJ_GFX_VAR_5, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7
- object_event 8, EVENT_OBJ_GFX_VAR_6, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8
- object_event 9, EVENT_OBJ_GFX_VAR_7, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9
- object_event 10, EVENT_OBJ_GFX_VAR_8, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10
- object_event 11, EVENT_OBJ_GFX_VAR_9, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11
- object_event 12, EVENT_OBJ_GFX_VAR_A, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12
- object_event 13, EVENT_OBJ_GFX_VAR_B, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13
- object_event 14, EVENT_OBJ_GFX_VAR_C, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14
- object_event 15, EVENT_OBJ_GFX_VAR_D, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_15
-
-SecretBase_Shrub3_MapWarps:: @ 83909B0
- warp_def 6, 9, 0, 126, MAP_NONE
-
-SecretBase_Shrub3_MapEvents:: @ 83909B8
- map_events SecretBase_Shrub3_EventObjects, SecretBase_Shrub3_MapWarps, 0x0, 0x0
diff --git a/data/maps/SecretBase_Shrub3/header.inc b/data/maps/SecretBase_Shrub3/header.inc
deleted file mode 100644
index 042dfcd24..000000000
--- a/data/maps/SecretBase_Shrub3/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SecretBase_Shrub3:: @ 83078B4
- .4byte SecretBase_Shrub3_Layout
- .4byte SecretBase_Shrub3_MapEvents
- .4byte SecretBase_Shrub3_MapScripts
- .4byte 0x0
- .2byte MUS_MACHI_S3
- .2byte 215
- .byte MAPSEC_SECRET_BASE
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_SECRET_BASE
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_BATTLE_TOWER
diff --git a/data/maps/SecretBase_Shrub3/map.json b/data/maps/SecretBase_Shrub3/map.json
new file mode 100644
index 000000000..b31391a90
--- /dev/null
+++ b/data/maps/SecretBase_Shrub3/map.json
@@ -0,0 +1,221 @@
+{
+ "id": "MAP_SECRET_BASE_SHRUB3",
+ "name": "SecretBase_Shrub3",
+ "layout": "LAYOUT_SECRET_BASE_SHRUB3",
+ "music": "MUS_MACHI_S3",
+ "region_map_section": "MAPSEC_SECRET_BASE",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_SECRET_BASE",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_BATTLE_TOWER",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_F",
+ "x": 5,
+ "y": 7,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SecretBase_Shrub3_EventScript_1A2FC0",
+ "flag": "FLAG_DECORATION_1"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_0",
+ "x": 0,
+ "y": 0,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_2"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_1",
+ "x": 0,
+ "y": 1,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_3"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_2",
+ "x": 0,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_4"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_3",
+ "x": 0,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_5"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_4",
+ "x": 0,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_6"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_5",
+ "x": 0,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_7"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_6",
+ "x": 0,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_8"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_7",
+ "x": 1,
+ "y": 0,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_9"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_8",
+ "x": 1,
+ "y": 1,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_10"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_9",
+ "x": 1,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_11"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_A",
+ "x": 1,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_12"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_B",
+ "x": 1,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_13"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_C",
+ "x": 1,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_14"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_D",
+ "x": 1,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_15"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 6,
+ "y": 9,
+ "elevation": 0,
+ "dest_map": "MAP_NONE",
+ "dest_warp_id": 126
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/SecretBase_Shrub4/events.inc b/data/maps/SecretBase_Shrub4/events.inc
deleted file mode 100644
index d64c9a37e..000000000
--- a/data/maps/SecretBase_Shrub4/events.inc
+++ /dev/null
@@ -1,22 +0,0 @@
-SecretBase_Shrub4_EventObjects:: @ 8391160
- object_event 1, EVENT_OBJ_GFX_VAR_F, 0, 9, 7, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_Shrub4_EventScript_1A2FC0, FLAG_DECORATION_1
- object_event 2, EVENT_OBJ_GFX_VAR_0, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2
- object_event 3, EVENT_OBJ_GFX_VAR_1, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3
- object_event 4, EVENT_OBJ_GFX_VAR_2, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4
- object_event 5, EVENT_OBJ_GFX_VAR_3, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5
- object_event 6, EVENT_OBJ_GFX_VAR_4, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6
- object_event 7, EVENT_OBJ_GFX_VAR_5, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7
- object_event 8, EVENT_OBJ_GFX_VAR_6, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8
- object_event 9, EVENT_OBJ_GFX_VAR_7, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9
- object_event 10, EVENT_OBJ_GFX_VAR_8, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10
- object_event 11, EVENT_OBJ_GFX_VAR_9, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11
- object_event 12, EVENT_OBJ_GFX_VAR_A, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12
- object_event 13, EVENT_OBJ_GFX_VAR_B, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13
- object_event 14, EVENT_OBJ_GFX_VAR_C, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14
- object_event 15, EVENT_OBJ_GFX_VAR_D, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_15
-
-SecretBase_Shrub4_MapWarps:: @ 83912C8
- warp_def 11, 8, 0, 126, MAP_NONE
-
-SecretBase_Shrub4_MapEvents:: @ 83912D0
- map_events SecretBase_Shrub4_EventObjects, SecretBase_Shrub4_MapWarps, 0x0, 0x0
diff --git a/data/maps/SecretBase_Shrub4/header.inc b/data/maps/SecretBase_Shrub4/header.inc
deleted file mode 100644
index 9c3759686..000000000
--- a/data/maps/SecretBase_Shrub4/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SecretBase_Shrub4:: @ 830795C
- .4byte SecretBase_Shrub4_Layout
- .4byte SecretBase_Shrub4_MapEvents
- .4byte SecretBase_Shrub4_MapScripts
- .4byte 0x0
- .2byte MUS_MACHI_S3
- .2byte 221
- .byte MAPSEC_SECRET_BASE
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_SECRET_BASE
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_BATTLE_TOWER
diff --git a/data/maps/SecretBase_Shrub4/map.json b/data/maps/SecretBase_Shrub4/map.json
new file mode 100644
index 000000000..adab91085
--- /dev/null
+++ b/data/maps/SecretBase_Shrub4/map.json
@@ -0,0 +1,221 @@
+{
+ "id": "MAP_SECRET_BASE_SHRUB4",
+ "name": "SecretBase_Shrub4",
+ "layout": "LAYOUT_SECRET_BASE_SHRUB4",
+ "music": "MUS_MACHI_S3",
+ "region_map_section": "MAPSEC_SECRET_BASE",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_SECRET_BASE",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_BATTLE_TOWER",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_F",
+ "x": 9,
+ "y": 7,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SecretBase_Shrub4_EventScript_1A2FC0",
+ "flag": "FLAG_DECORATION_1"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_0",
+ "x": 0,
+ "y": 0,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_2"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_1",
+ "x": 0,
+ "y": 1,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_3"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_2",
+ "x": 0,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_4"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_3",
+ "x": 0,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_5"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_4",
+ "x": 0,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_6"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_5",
+ "x": 0,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_7"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_6",
+ "x": 0,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_8"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_7",
+ "x": 1,
+ "y": 0,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_9"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_8",
+ "x": 1,
+ "y": 1,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_10"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_9",
+ "x": 1,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_11"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_A",
+ "x": 1,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_12"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_B",
+ "x": 1,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_13"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_C",
+ "x": 1,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_14"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_D",
+ "x": 1,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_15"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 11,
+ "y": 8,
+ "elevation": 0,
+ "dest_map": "MAP_NONE",
+ "dest_warp_id": 126
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/SecretBase_Tree1/events.inc b/data/maps/SecretBase_Tree1/events.inc
deleted file mode 100644
index fdc9dae5a..000000000
--- a/data/maps/SecretBase_Tree1/events.inc
+++ /dev/null
@@ -1,22 +0,0 @@
-SecretBase_Tree1_EventObjects:: @ 838F494
- object_event 1, EVENT_OBJ_GFX_VAR_F, 0, 5, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_Tree1_EventScript_1A2FC0, FLAG_DECORATION_1
- object_event 2, EVENT_OBJ_GFX_VAR_0, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2
- object_event 3, EVENT_OBJ_GFX_VAR_1, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3
- object_event 4, EVENT_OBJ_GFX_VAR_2, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4
- object_event 5, EVENT_OBJ_GFX_VAR_3, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5
- object_event 6, EVENT_OBJ_GFX_VAR_4, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6
- object_event 7, EVENT_OBJ_GFX_VAR_5, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7
- object_event 8, EVENT_OBJ_GFX_VAR_6, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8
- object_event 9, EVENT_OBJ_GFX_VAR_7, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9
- object_event 10, EVENT_OBJ_GFX_VAR_8, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10
- object_event 11, EVENT_OBJ_GFX_VAR_9, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11
- object_event 12, EVENT_OBJ_GFX_VAR_A, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12
- object_event 13, EVENT_OBJ_GFX_VAR_B, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13
- object_event 14, EVENT_OBJ_GFX_VAR_C, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14
- object_event 15, EVENT_OBJ_GFX_VAR_D, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_15
-
-SecretBase_Tree1_MapWarps:: @ 838F5FC
- warp_def 5, 7, 0, 126, MAP_NONE
-
-SecretBase_Tree1_MapEvents:: @ 838F604
- map_events SecretBase_Tree1_EventObjects, SecretBase_Tree1_MapWarps, 0x0, 0x0
diff --git a/data/maps/SecretBase_Tree1/header.inc b/data/maps/SecretBase_Tree1/header.inc
deleted file mode 100644
index 48feee2e2..000000000
--- a/data/maps/SecretBase_Tree1/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SecretBase_Tree1:: @ 8307748
- .4byte SecretBase_Tree1_Layout
- .4byte SecretBase_Tree1_MapEvents
- .4byte SecretBase_Tree1_MapScripts
- .4byte 0x0
- .2byte MUS_MACHI_S3
- .2byte 202
- .byte MAPSEC_SECRET_BASE
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_SECRET_BASE
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_BATTLE_TOWER
diff --git a/data/maps/SecretBase_Tree1/map.json b/data/maps/SecretBase_Tree1/map.json
new file mode 100644
index 000000000..643829a91
--- /dev/null
+++ b/data/maps/SecretBase_Tree1/map.json
@@ -0,0 +1,221 @@
+{
+ "id": "MAP_SECRET_BASE_TREE1",
+ "name": "SecretBase_Tree1",
+ "layout": "LAYOUT_SECRET_BASE_TREE1",
+ "music": "MUS_MACHI_S3",
+ "region_map_section": "MAPSEC_SECRET_BASE",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_SECRET_BASE",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_BATTLE_TOWER",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_F",
+ "x": 5,
+ "y": 1,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SecretBase_Tree1_EventScript_1A2FC0",
+ "flag": "FLAG_DECORATION_1"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_0",
+ "x": 0,
+ "y": 0,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_2"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_1",
+ "x": 0,
+ "y": 1,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_3"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_2",
+ "x": 0,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_4"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_3",
+ "x": 0,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_5"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_4",
+ "x": 0,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_6"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_5",
+ "x": 0,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_7"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_6",
+ "x": 0,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_8"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_7",
+ "x": 1,
+ "y": 0,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_9"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_8",
+ "x": 1,
+ "y": 1,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_10"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_9",
+ "x": 1,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_11"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_A",
+ "x": 1,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_12"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_B",
+ "x": 1,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_13"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_C",
+ "x": 1,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_14"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_D",
+ "x": 1,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_15"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 5,
+ "y": 7,
+ "elevation": 0,
+ "dest_map": "MAP_NONE",
+ "dest_warp_id": 126
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/SecretBase_Tree2/events.inc b/data/maps/SecretBase_Tree2/events.inc
deleted file mode 100644
index 0f4bfa258..000000000
--- a/data/maps/SecretBase_Tree2/events.inc
+++ /dev/null
@@ -1,22 +0,0 @@
-SecretBase_Tree2_EventObjects:: @ 838FDAC
- object_event 1, EVENT_OBJ_GFX_VAR_F, 0, 3, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_Tree2_EventScript_1A2FC0, FLAG_DECORATION_1
- object_event 2, EVENT_OBJ_GFX_VAR_0, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2
- object_event 3, EVENT_OBJ_GFX_VAR_1, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3
- object_event 4, EVENT_OBJ_GFX_VAR_2, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4
- object_event 5, EVENT_OBJ_GFX_VAR_3, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5
- object_event 6, EVENT_OBJ_GFX_VAR_4, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6
- object_event 7, EVENT_OBJ_GFX_VAR_5, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7
- object_event 8, EVENT_OBJ_GFX_VAR_6, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8
- object_event 9, EVENT_OBJ_GFX_VAR_7, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9
- object_event 10, EVENT_OBJ_GFX_VAR_8, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10
- object_event 11, EVENT_OBJ_GFX_VAR_9, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11
- object_event 12, EVENT_OBJ_GFX_VAR_A, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12
- object_event 13, EVENT_OBJ_GFX_VAR_B, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13
- object_event 14, EVENT_OBJ_GFX_VAR_C, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14
- object_event 15, EVENT_OBJ_GFX_VAR_D, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_15
-
-SecretBase_Tree2_MapWarps:: @ 838FF14
- warp_def 3, 14, 0, 126, MAP_NONE
-
-SecretBase_Tree2_MapEvents:: @ 838FF1C
- map_events SecretBase_Tree2_EventObjects, SecretBase_Tree2_MapWarps, 0x0, 0x0
diff --git a/data/maps/SecretBase_Tree2/header.inc b/data/maps/SecretBase_Tree2/header.inc
deleted file mode 100644
index 6ba123707..000000000
--- a/data/maps/SecretBase_Tree2/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SecretBase_Tree2:: @ 83077F0
- .4byte SecretBase_Tree2_Layout
- .4byte SecretBase_Tree2_MapEvents
- .4byte SecretBase_Tree2_MapScripts
- .4byte 0x0
- .2byte MUS_MACHI_S3
- .2byte 208
- .byte MAPSEC_SECRET_BASE
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_SECRET_BASE
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_BATTLE_TOWER
diff --git a/data/maps/SecretBase_Tree2/map.json b/data/maps/SecretBase_Tree2/map.json
new file mode 100644
index 000000000..943cca9d4
--- /dev/null
+++ b/data/maps/SecretBase_Tree2/map.json
@@ -0,0 +1,221 @@
+{
+ "id": "MAP_SECRET_BASE_TREE2",
+ "name": "SecretBase_Tree2",
+ "layout": "LAYOUT_SECRET_BASE_TREE2",
+ "music": "MUS_MACHI_S3",
+ "region_map_section": "MAPSEC_SECRET_BASE",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_SECRET_BASE",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_BATTLE_TOWER",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_F",
+ "x": 3,
+ "y": 1,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SecretBase_Tree2_EventScript_1A2FC0",
+ "flag": "FLAG_DECORATION_1"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_0",
+ "x": 0,
+ "y": 0,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_2"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_1",
+ "x": 0,
+ "y": 1,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_3"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_2",
+ "x": 0,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_4"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_3",
+ "x": 0,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_5"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_4",
+ "x": 0,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_6"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_5",
+ "x": 0,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_7"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_6",
+ "x": 0,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_8"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_7",
+ "x": 1,
+ "y": 0,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_9"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_8",
+ "x": 1,
+ "y": 1,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_10"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_9",
+ "x": 1,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_11"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_A",
+ "x": 1,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_12"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_B",
+ "x": 1,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_13"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_C",
+ "x": 1,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_14"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_D",
+ "x": 1,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_15"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 3,
+ "y": 14,
+ "elevation": 0,
+ "dest_map": "MAP_NONE",
+ "dest_warp_id": 126
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/SecretBase_Tree3/events.inc b/data/maps/SecretBase_Tree3/events.inc
deleted file mode 100644
index 4c85b7f94..000000000
--- a/data/maps/SecretBase_Tree3/events.inc
+++ /dev/null
@@ -1,22 +0,0 @@
-SecretBase_Tree3_EventObjects:: @ 83906C4
- object_event 1, EVENT_OBJ_GFX_VAR_F, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_Tree3_EventScript_1A2FC0, FLAG_DECORATION_1
- object_event 2, EVENT_OBJ_GFX_VAR_0, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2
- object_event 3, EVENT_OBJ_GFX_VAR_1, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3
- object_event 4, EVENT_OBJ_GFX_VAR_2, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4
- object_event 5, EVENT_OBJ_GFX_VAR_3, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5
- object_event 6, EVENT_OBJ_GFX_VAR_4, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6
- object_event 7, EVENT_OBJ_GFX_VAR_5, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7
- object_event 8, EVENT_OBJ_GFX_VAR_6, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8
- object_event 9, EVENT_OBJ_GFX_VAR_7, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9
- object_event 10, EVENT_OBJ_GFX_VAR_8, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10
- object_event 11, EVENT_OBJ_GFX_VAR_9, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11
- object_event 12, EVENT_OBJ_GFX_VAR_A, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12
- object_event 13, EVENT_OBJ_GFX_VAR_B, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13
- object_event 14, EVENT_OBJ_GFX_VAR_C, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14
- object_event 15, EVENT_OBJ_GFX_VAR_D, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_15
-
-SecretBase_Tree3_MapWarps:: @ 839082C
- warp_def 8, 6, 0, 126, MAP_NONE
-
-SecretBase_Tree3_MapEvents:: @ 8390834
- map_events SecretBase_Tree3_EventObjects, SecretBase_Tree3_MapWarps, 0x0, 0x0
diff --git a/data/maps/SecretBase_Tree3/header.inc b/data/maps/SecretBase_Tree3/header.inc
deleted file mode 100644
index a3d1c4adc..000000000
--- a/data/maps/SecretBase_Tree3/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SecretBase_Tree3:: @ 8307898
- .4byte SecretBase_Tree3_Layout
- .4byte SecretBase_Tree3_MapEvents
- .4byte SecretBase_Tree3_MapScripts
- .4byte 0x0
- .2byte MUS_MACHI_S3
- .2byte 214
- .byte MAPSEC_SECRET_BASE
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_SECRET_BASE
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_BATTLE_TOWER
diff --git a/data/maps/SecretBase_Tree3/map.json b/data/maps/SecretBase_Tree3/map.json
new file mode 100644
index 000000000..6120fc2a5
--- /dev/null
+++ b/data/maps/SecretBase_Tree3/map.json
@@ -0,0 +1,221 @@
+{
+ "id": "MAP_SECRET_BASE_TREE3",
+ "name": "SecretBase_Tree3",
+ "layout": "LAYOUT_SECRET_BASE_TREE3",
+ "music": "MUS_MACHI_S3",
+ "region_map_section": "MAPSEC_SECRET_BASE",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_SECRET_BASE",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_BATTLE_TOWER",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_F",
+ "x": 1,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SecretBase_Tree3_EventScript_1A2FC0",
+ "flag": "FLAG_DECORATION_1"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_0",
+ "x": 0,
+ "y": 0,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_2"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_1",
+ "x": 0,
+ "y": 1,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_3"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_2",
+ "x": 0,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_4"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_3",
+ "x": 0,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_5"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_4",
+ "x": 0,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_6"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_5",
+ "x": 0,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_7"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_6",
+ "x": 0,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_8"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_7",
+ "x": 1,
+ "y": 0,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_9"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_8",
+ "x": 1,
+ "y": 1,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_10"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_9",
+ "x": 1,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_11"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_A",
+ "x": 1,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_12"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_B",
+ "x": 1,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_13"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_C",
+ "x": 1,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_14"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_D",
+ "x": 1,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_15"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 8,
+ "y": 6,
+ "elevation": 0,
+ "dest_map": "MAP_NONE",
+ "dest_warp_id": 126
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/SecretBase_Tree4/events.inc b/data/maps/SecretBase_Tree4/events.inc
deleted file mode 100644
index ae56d68e7..000000000
--- a/data/maps/SecretBase_Tree4/events.inc
+++ /dev/null
@@ -1,22 +0,0 @@
-SecretBase_Tree4_EventObjects:: @ 8390FDC
- object_event 1, EVENT_OBJ_GFX_VAR_F, 0, 10, 9, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_Tree4_EventScript_1A2FC0, FLAG_DECORATION_1
- object_event 2, EVENT_OBJ_GFX_VAR_0, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2
- object_event 3, EVENT_OBJ_GFX_VAR_1, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3
- object_event 4, EVENT_OBJ_GFX_VAR_2, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4
- object_event 5, EVENT_OBJ_GFX_VAR_3, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5
- object_event 6, EVENT_OBJ_GFX_VAR_4, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6
- object_event 7, EVENT_OBJ_GFX_VAR_5, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7
- object_event 8, EVENT_OBJ_GFX_VAR_6, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8
- object_event 9, EVENT_OBJ_GFX_VAR_7, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9
- object_event 10, EVENT_OBJ_GFX_VAR_8, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10
- object_event 11, EVENT_OBJ_GFX_VAR_9, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11
- object_event 12, EVENT_OBJ_GFX_VAR_A, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12
- object_event 13, EVENT_OBJ_GFX_VAR_B, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13
- object_event 14, EVENT_OBJ_GFX_VAR_C, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14
- object_event 15, EVENT_OBJ_GFX_VAR_D, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_15
-
-SecretBase_Tree4_MapWarps:: @ 8391144
- warp_def 7, 12, 0, 126, MAP_NONE
-
-SecretBase_Tree4_MapEvents:: @ 839114C
- map_events SecretBase_Tree4_EventObjects, SecretBase_Tree4_MapWarps, 0x0, 0x0
diff --git a/data/maps/SecretBase_Tree4/header.inc b/data/maps/SecretBase_Tree4/header.inc
deleted file mode 100644
index b592d8f7c..000000000
--- a/data/maps/SecretBase_Tree4/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SecretBase_Tree4:: @ 8307940
- .4byte SecretBase_Tree4_Layout
- .4byte SecretBase_Tree4_MapEvents
- .4byte SecretBase_Tree4_MapScripts
- .4byte 0x0
- .2byte MUS_MACHI_S3
- .2byte 220
- .byte MAPSEC_SECRET_BASE
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_SECRET_BASE
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_BATTLE_TOWER
diff --git a/data/maps/SecretBase_Tree4/map.json b/data/maps/SecretBase_Tree4/map.json
new file mode 100644
index 000000000..40cffa28f
--- /dev/null
+++ b/data/maps/SecretBase_Tree4/map.json
@@ -0,0 +1,221 @@
+{
+ "id": "MAP_SECRET_BASE_TREE4",
+ "name": "SecretBase_Tree4",
+ "layout": "LAYOUT_SECRET_BASE_TREE4",
+ "music": "MUS_MACHI_S3",
+ "region_map_section": "MAPSEC_SECRET_BASE",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_SECRET_BASE",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_BATTLE_TOWER",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_F",
+ "x": 10,
+ "y": 9,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SecretBase_Tree4_EventScript_1A2FC0",
+ "flag": "FLAG_DECORATION_1"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_0",
+ "x": 0,
+ "y": 0,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_2"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_1",
+ "x": 0,
+ "y": 1,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_3"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_2",
+ "x": 0,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_4"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_3",
+ "x": 0,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_5"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_4",
+ "x": 0,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_6"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_5",
+ "x": 0,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_7"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_6",
+ "x": 0,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_8"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_7",
+ "x": 1,
+ "y": 0,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_9"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_8",
+ "x": 1,
+ "y": 1,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_10"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_9",
+ "x": 1,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_11"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_A",
+ "x": 1,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_12"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_B",
+ "x": 1,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_13"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_C",
+ "x": 1,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_14"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_D",
+ "x": 1,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_15"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 7,
+ "y": 12,
+ "elevation": 0,
+ "dest_map": "MAP_NONE",
+ "dest_warp_id": 126
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/SecretBase_YellowCave1/events.inc b/data/maps/SecretBase_YellowCave1/events.inc
deleted file mode 100644
index 795377ecc..000000000
--- a/data/maps/SecretBase_YellowCave1/events.inc
+++ /dev/null
@@ -1,22 +0,0 @@
-SecretBase_YellowCave1_EventObjects:: @ 838F310
- object_event 1, EVENT_OBJ_GFX_VAR_F, 0, 3, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_YellowCave1_EventScript_1A2FC0, FLAG_DECORATION_1
- object_event 2, EVENT_OBJ_GFX_VAR_0, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2
- object_event 3, EVENT_OBJ_GFX_VAR_1, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3
- object_event 4, EVENT_OBJ_GFX_VAR_2, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4
- object_event 5, EVENT_OBJ_GFX_VAR_3, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5
- object_event 6, EVENT_OBJ_GFX_VAR_4, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6
- object_event 7, EVENT_OBJ_GFX_VAR_5, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7
- object_event 8, EVENT_OBJ_GFX_VAR_6, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8
- object_event 9, EVENT_OBJ_GFX_VAR_7, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9
- object_event 10, EVENT_OBJ_GFX_VAR_8, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10
- object_event 11, EVENT_OBJ_GFX_VAR_9, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11
- object_event 12, EVENT_OBJ_GFX_VAR_A, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12
- object_event 13, EVENT_OBJ_GFX_VAR_B, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13
- object_event 14, EVENT_OBJ_GFX_VAR_C, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14
- object_event 15, EVENT_OBJ_GFX_VAR_D, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_15
-
-SecretBase_YellowCave1_MapWarps:: @ 838F478
- warp_def 5, 7, 0, 126, MAP_NONE
-
-SecretBase_YellowCave1_MapEvents:: @ 838F480
- map_events SecretBase_YellowCave1_EventObjects, SecretBase_YellowCave1_MapWarps, 0x0, 0x0
diff --git a/data/maps/SecretBase_YellowCave1/header.inc b/data/maps/SecretBase_YellowCave1/header.inc
deleted file mode 100644
index ea7d42c54..000000000
--- a/data/maps/SecretBase_YellowCave1/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SecretBase_YellowCave1:: @ 830772C
- .4byte SecretBase_YellowCave1_Layout
- .4byte SecretBase_YellowCave1_MapEvents
- .4byte SecretBase_YellowCave1_MapScripts
- .4byte 0x0
- .2byte MUS_MACHI_S3
- .2byte 201
- .byte MAPSEC_SECRET_BASE
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_SECRET_BASE
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_BATTLE_TOWER
diff --git a/data/maps/SecretBase_YellowCave1/map.json b/data/maps/SecretBase_YellowCave1/map.json
new file mode 100644
index 000000000..3c9a7af7c
--- /dev/null
+++ b/data/maps/SecretBase_YellowCave1/map.json
@@ -0,0 +1,221 @@
+{
+ "id": "MAP_SECRET_BASE_YELLOW_CAVE1",
+ "name": "SecretBase_YellowCave1",
+ "layout": "LAYOUT_SECRET_BASE_YELLOW_CAVE1",
+ "music": "MUS_MACHI_S3",
+ "region_map_section": "MAPSEC_SECRET_BASE",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_SECRET_BASE",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_BATTLE_TOWER",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_F",
+ "x": 3,
+ "y": 1,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SecretBase_YellowCave1_EventScript_1A2FC0",
+ "flag": "FLAG_DECORATION_1"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_0",
+ "x": 0,
+ "y": 0,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_2"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_1",
+ "x": 0,
+ "y": 1,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_3"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_2",
+ "x": 0,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_4"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_3",
+ "x": 0,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_5"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_4",
+ "x": 0,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_6"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_5",
+ "x": 0,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_7"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_6",
+ "x": 0,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_8"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_7",
+ "x": 1,
+ "y": 0,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_9"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_8",
+ "x": 1,
+ "y": 1,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_10"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_9",
+ "x": 1,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_11"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_A",
+ "x": 1,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_12"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_B",
+ "x": 1,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_13"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_C",
+ "x": 1,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_14"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_D",
+ "x": 1,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_15"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 5,
+ "y": 7,
+ "elevation": 0,
+ "dest_map": "MAP_NONE",
+ "dest_warp_id": 126
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/SecretBase_YellowCave2/events.inc b/data/maps/SecretBase_YellowCave2/events.inc
deleted file mode 100644
index 894e7e89a..000000000
--- a/data/maps/SecretBase_YellowCave2/events.inc
+++ /dev/null
@@ -1,22 +0,0 @@
-SecretBase_YellowCave2_EventObjects:: @ 838FC28
- object_event 1, EVENT_OBJ_GFX_VAR_F, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_YellowCave2_EventScript_1A2FC0, FLAG_DECORATION_1
- object_event 2, EVENT_OBJ_GFX_VAR_0, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2
- object_event 3, EVENT_OBJ_GFX_VAR_1, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3
- object_event 4, EVENT_OBJ_GFX_VAR_2, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4
- object_event 5, EVENT_OBJ_GFX_VAR_3, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5
- object_event 6, EVENT_OBJ_GFX_VAR_4, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6
- object_event 7, EVENT_OBJ_GFX_VAR_5, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7
- object_event 8, EVENT_OBJ_GFX_VAR_6, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8
- object_event 9, EVENT_OBJ_GFX_VAR_7, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9
- object_event 10, EVENT_OBJ_GFX_VAR_8, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10
- object_event 11, EVENT_OBJ_GFX_VAR_9, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11
- object_event 12, EVENT_OBJ_GFX_VAR_A, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12
- object_event 13, EVENT_OBJ_GFX_VAR_B, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13
- object_event 14, EVENT_OBJ_GFX_VAR_C, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14
- object_event 15, EVENT_OBJ_GFX_VAR_D, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_15
-
-SecretBase_YellowCave2_MapWarps:: @ 838FD90
- warp_def 12, 7, 0, 126, MAP_NONE
-
-SecretBase_YellowCave2_MapEvents:: @ 838FD98
- map_events SecretBase_YellowCave2_EventObjects, SecretBase_YellowCave2_MapWarps, 0x0, 0x0
diff --git a/data/maps/SecretBase_YellowCave2/header.inc b/data/maps/SecretBase_YellowCave2/header.inc
deleted file mode 100644
index 9171e74d2..000000000
--- a/data/maps/SecretBase_YellowCave2/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SecretBase_YellowCave2:: @ 83077D4
- .4byte SecretBase_YellowCave2_Layout
- .4byte SecretBase_YellowCave2_MapEvents
- .4byte SecretBase_YellowCave2_MapScripts
- .4byte 0x0
- .2byte MUS_MACHI_S3
- .2byte 207
- .byte MAPSEC_SECRET_BASE
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_SECRET_BASE
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_BATTLE_TOWER
diff --git a/data/maps/SecretBase_YellowCave2/map.json b/data/maps/SecretBase_YellowCave2/map.json
new file mode 100644
index 000000000..e88ca5209
--- /dev/null
+++ b/data/maps/SecretBase_YellowCave2/map.json
@@ -0,0 +1,221 @@
+{
+ "id": "MAP_SECRET_BASE_YELLOW_CAVE2",
+ "name": "SecretBase_YellowCave2",
+ "layout": "LAYOUT_SECRET_BASE_YELLOW_CAVE2",
+ "music": "MUS_MACHI_S3",
+ "region_map_section": "MAPSEC_SECRET_BASE",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_SECRET_BASE",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_BATTLE_TOWER",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_F",
+ "x": 1,
+ "y": 1,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SecretBase_YellowCave2_EventScript_1A2FC0",
+ "flag": "FLAG_DECORATION_1"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_0",
+ "x": 0,
+ "y": 0,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_2"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_1",
+ "x": 0,
+ "y": 1,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_3"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_2",
+ "x": 0,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_4"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_3",
+ "x": 0,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_5"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_4",
+ "x": 0,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_6"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_5",
+ "x": 0,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_7"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_6",
+ "x": 0,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_8"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_7",
+ "x": 1,
+ "y": 0,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_9"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_8",
+ "x": 1,
+ "y": 1,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_10"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_9",
+ "x": 1,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_11"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_A",
+ "x": 1,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_12"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_B",
+ "x": 1,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_13"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_C",
+ "x": 1,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_14"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_D",
+ "x": 1,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_15"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 12,
+ "y": 7,
+ "elevation": 0,
+ "dest_map": "MAP_NONE",
+ "dest_warp_id": 126
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/SecretBase_YellowCave3/events.inc b/data/maps/SecretBase_YellowCave3/events.inc
deleted file mode 100644
index 939cd3a17..000000000
--- a/data/maps/SecretBase_YellowCave3/events.inc
+++ /dev/null
@@ -1,22 +0,0 @@
-SecretBase_YellowCave3_EventObjects:: @ 8390540
- object_event 1, EVENT_OBJ_GFX_VAR_F, 0, 7, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_YellowCave3_EventScript_1A2FC0, FLAG_DECORATION_1
- object_event 2, EVENT_OBJ_GFX_VAR_0, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2
- object_event 3, EVENT_OBJ_GFX_VAR_1, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3
- object_event 4, EVENT_OBJ_GFX_VAR_2, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4
- object_event 5, EVENT_OBJ_GFX_VAR_3, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5
- object_event 6, EVENT_OBJ_GFX_VAR_4, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6
- object_event 7, EVENT_OBJ_GFX_VAR_5, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7
- object_event 8, EVENT_OBJ_GFX_VAR_6, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8
- object_event 9, EVENT_OBJ_GFX_VAR_7, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9
- object_event 10, EVENT_OBJ_GFX_VAR_8, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10
- object_event 11, EVENT_OBJ_GFX_VAR_9, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11
- object_event 12, EVENT_OBJ_GFX_VAR_A, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12
- object_event 13, EVENT_OBJ_GFX_VAR_B, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13
- object_event 14, EVENT_OBJ_GFX_VAR_C, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14
- object_event 15, EVENT_OBJ_GFX_VAR_D, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_15
-
-SecretBase_YellowCave3_MapWarps:: @ 83906A8
- warp_def 5, 9, 0, 126, MAP_NONE
-
-SecretBase_YellowCave3_MapEvents:: @ 83906B0
- map_events SecretBase_YellowCave3_EventObjects, SecretBase_YellowCave3_MapWarps, 0x0, 0x0
diff --git a/data/maps/SecretBase_YellowCave3/header.inc b/data/maps/SecretBase_YellowCave3/header.inc
deleted file mode 100644
index a688172b5..000000000
--- a/data/maps/SecretBase_YellowCave3/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SecretBase_YellowCave3:: @ 830787C
- .4byte SecretBase_YellowCave3_Layout
- .4byte SecretBase_YellowCave3_MapEvents
- .4byte SecretBase_YellowCave3_MapScripts
- .4byte 0x0
- .2byte MUS_MACHI_S3
- .2byte 213
- .byte MAPSEC_SECRET_BASE
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_SECRET_BASE
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_BATTLE_TOWER
diff --git a/data/maps/SecretBase_YellowCave3/map.json b/data/maps/SecretBase_YellowCave3/map.json
new file mode 100644
index 000000000..ab9b876b7
--- /dev/null
+++ b/data/maps/SecretBase_YellowCave3/map.json
@@ -0,0 +1,221 @@
+{
+ "id": "MAP_SECRET_BASE_YELLOW_CAVE3",
+ "name": "SecretBase_YellowCave3",
+ "layout": "LAYOUT_SECRET_BASE_YELLOW_CAVE3",
+ "music": "MUS_MACHI_S3",
+ "region_map_section": "MAPSEC_SECRET_BASE",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_SECRET_BASE",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_BATTLE_TOWER",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_F",
+ "x": 7,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SecretBase_YellowCave3_EventScript_1A2FC0",
+ "flag": "FLAG_DECORATION_1"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_0",
+ "x": 0,
+ "y": 0,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_2"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_1",
+ "x": 0,
+ "y": 1,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_3"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_2",
+ "x": 0,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_4"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_3",
+ "x": 0,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_5"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_4",
+ "x": 0,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_6"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_5",
+ "x": 0,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_7"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_6",
+ "x": 0,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_8"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_7",
+ "x": 1,
+ "y": 0,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_9"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_8",
+ "x": 1,
+ "y": 1,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_10"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_9",
+ "x": 1,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_11"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_A",
+ "x": 1,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_12"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_B",
+ "x": 1,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_13"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_C",
+ "x": 1,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_14"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_D",
+ "x": 1,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_15"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 5,
+ "y": 9,
+ "elevation": 0,
+ "dest_map": "MAP_NONE",
+ "dest_warp_id": 126
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/SecretBase_YellowCave4/events.inc b/data/maps/SecretBase_YellowCave4/events.inc
deleted file mode 100644
index 369205b90..000000000
--- a/data/maps/SecretBase_YellowCave4/events.inc
+++ /dev/null
@@ -1,22 +0,0 @@
-SecretBase_YellowCave4_EventObjects:: @ 8390E58
- object_event 1, EVENT_OBJ_GFX_VAR_F, 0, 9, 8, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_YellowCave4_EventScript_1A2FC0, FLAG_DECORATION_1
- object_event 2, EVENT_OBJ_GFX_VAR_0, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2
- object_event 3, EVENT_OBJ_GFX_VAR_1, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3
- object_event 4, EVENT_OBJ_GFX_VAR_2, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4
- object_event 5, EVENT_OBJ_GFX_VAR_3, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5
- object_event 6, EVENT_OBJ_GFX_VAR_4, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6
- object_event 7, EVENT_OBJ_GFX_VAR_5, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7
- object_event 8, EVENT_OBJ_GFX_VAR_6, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8
- object_event 9, EVENT_OBJ_GFX_VAR_7, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9
- object_event 10, EVENT_OBJ_GFX_VAR_8, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10
- object_event 11, EVENT_OBJ_GFX_VAR_9, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11
- object_event 12, EVENT_OBJ_GFX_VAR_A, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12
- object_event 13, EVENT_OBJ_GFX_VAR_B, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13
- object_event 14, EVENT_OBJ_GFX_VAR_C, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14
- object_event 15, EVENT_OBJ_GFX_VAR_D, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_15
-
-SecretBase_YellowCave4_MapWarps:: @ 8390FC0
- warp_def 6, 12, 0, 126, MAP_NONE
-
-SecretBase_YellowCave4_MapEvents:: @ 8390FC8
- map_events SecretBase_YellowCave4_EventObjects, SecretBase_YellowCave4_MapWarps, 0x0, 0x0
diff --git a/data/maps/SecretBase_YellowCave4/header.inc b/data/maps/SecretBase_YellowCave4/header.inc
deleted file mode 100644
index 0d10b3062..000000000
--- a/data/maps/SecretBase_YellowCave4/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SecretBase_YellowCave4:: @ 8307924
- .4byte SecretBase_YellowCave4_Layout
- .4byte SecretBase_YellowCave4_MapEvents
- .4byte SecretBase_YellowCave4_MapScripts
- .4byte 0x0
- .2byte MUS_MACHI_S3
- .2byte 219
- .byte MAPSEC_SECRET_BASE
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_SECRET_BASE
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_BATTLE_TOWER
diff --git a/data/maps/SecretBase_YellowCave4/map.json b/data/maps/SecretBase_YellowCave4/map.json
new file mode 100644
index 000000000..0fbff9fb6
--- /dev/null
+++ b/data/maps/SecretBase_YellowCave4/map.json
@@ -0,0 +1,221 @@
+{
+ "id": "MAP_SECRET_BASE_YELLOW_CAVE4",
+ "name": "SecretBase_YellowCave4",
+ "layout": "LAYOUT_SECRET_BASE_YELLOW_CAVE4",
+ "music": "MUS_MACHI_S3",
+ "region_map_section": "MAPSEC_SECRET_BASE",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_SECRET_BASE",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_BATTLE_TOWER",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_F",
+ "x": 9,
+ "y": 8,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SecretBase_YellowCave4_EventScript_1A2FC0",
+ "flag": "FLAG_DECORATION_1"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_0",
+ "x": 0,
+ "y": 0,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_2"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_1",
+ "x": 0,
+ "y": 1,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_3"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_2",
+ "x": 0,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_4"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_3",
+ "x": 0,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_5"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_4",
+ "x": 0,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_6"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_5",
+ "x": 0,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_7"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_6",
+ "x": 0,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_8"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_7",
+ "x": 1,
+ "y": 0,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_9"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_8",
+ "x": 1,
+ "y": 1,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_10"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_9",
+ "x": 1,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_11"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_A",
+ "x": 1,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_12"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_B",
+ "x": 1,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_13"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_C",
+ "x": 1,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_14"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_D",
+ "x": 1,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_DECORATION_15"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 6,
+ "y": 12,
+ "elevation": 0,
+ "dest_map": "MAP_NONE",
+ "dest_warp_id": 126
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/ShoalCave_HighTideEntranceRoom/events.inc b/data/maps/ShoalCave_HighTideEntranceRoom/events.inc
deleted file mode 100644
index c7225843f..000000000
--- a/data/maps/ShoalCave_HighTideEntranceRoom/events.inc
+++ /dev/null
@@ -1,2 +0,0 @@
-ShoalCave_HighTideEntranceRoom_MapEvents:: @ 838DEAC
- map_events 0x0, 0x0, 0x0, 0x0
diff --git a/data/maps/ShoalCave_HighTideEntranceRoom/header.inc b/data/maps/ShoalCave_HighTideEntranceRoom/header.inc
deleted file mode 100644
index 975453341..000000000
--- a/data/maps/ShoalCave_HighTideEntranceRoom/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-ShoalCave_HighTideEntranceRoom:: @ 83072E8
- .4byte ShoalCave_HighTideEntranceRoom_Layout
- .4byte ShoalCave_HighTideEntranceRoom_MapEvents
- .4byte ShoalCave_HighTideEntranceRoom_MapScripts
- .4byte 0x0
- .2byte MUS_M_DUNGON
- .2byte 169
- .byte MAPSEC_SHOAL_CAVE
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_UNDERGROUND
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/ShoalCave_HighTideEntranceRoom/map.json b/data/maps/ShoalCave_HighTideEntranceRoom/map.json
new file mode 100644
index 000000000..c6d66b6c3
--- /dev/null
+++ b/data/maps/ShoalCave_HighTideEntranceRoom/map.json
@@ -0,0 +1,17 @@
+{
+ "id": "MAP_SHOAL_CAVE_HIGH_TIDE_ENTRANCE_ROOM",
+ "name": "ShoalCave_HighTideEntranceRoom",
+ "layout": "LAYOUT_SHOAL_CAVE_HIGH_TIDE_ENTRANCE_ROOM",
+ "music": "MUS_M_DUNGON",
+ "region_map_section": "MAPSEC_SHOAL_CAVE",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_UNDERGROUND",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [],
+ "warp_events": [],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/ShoalCave_HighTideInnerRoom/events.inc b/data/maps/ShoalCave_HighTideInnerRoom/events.inc
deleted file mode 100644
index e7951742a..000000000
--- a/data/maps/ShoalCave_HighTideInnerRoom/events.inc
+++ /dev/null
@@ -1,2 +0,0 @@
-ShoalCave_HighTideInnerRoom_MapEvents:: @ 838DEC0
- map_events 0x0, 0x0, 0x0, 0x0
diff --git a/data/maps/ShoalCave_HighTideInnerRoom/header.inc b/data/maps/ShoalCave_HighTideInnerRoom/header.inc
deleted file mode 100644
index 56e5d229f..000000000
--- a/data/maps/ShoalCave_HighTideInnerRoom/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-ShoalCave_HighTideInnerRoom:: @ 8307304
- .4byte ShoalCave_HighTideInnerRoom_Layout
- .4byte ShoalCave_HighTideInnerRoom_MapEvents
- .4byte ShoalCave_HighTideInnerRoom_MapScripts
- .4byte 0x0
- .2byte MUS_M_DUNGON
- .2byte 170
- .byte MAPSEC_SHOAL_CAVE
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_UNDERGROUND
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/ShoalCave_HighTideInnerRoom/map.json b/data/maps/ShoalCave_HighTideInnerRoom/map.json
new file mode 100644
index 000000000..7226401ef
--- /dev/null
+++ b/data/maps/ShoalCave_HighTideInnerRoom/map.json
@@ -0,0 +1,17 @@
+{
+ "id": "MAP_SHOAL_CAVE_HIGH_TIDE_INNER_ROOM",
+ "name": "ShoalCave_HighTideInnerRoom",
+ "layout": "LAYOUT_SHOAL_CAVE_HIGH_TIDE_INNER_ROOM",
+ "music": "MUS_M_DUNGON",
+ "region_map_section": "MAPSEC_SHOAL_CAVE",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_UNDERGROUND",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [],
+ "warp_events": [],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/ShoalCave_LowTideEntranceRoom/events.inc b/data/maps/ShoalCave_LowTideEntranceRoom/events.inc
deleted file mode 100644
index a043bbe68..000000000
--- a/data/maps/ShoalCave_LowTideEntranceRoom/events.inc
+++ /dev/null
@@ -1,12 +0,0 @@
-ShoalCave_LowTideEntranceRoom_EventObjects:: @ 838DCDC
- object_event 1, EVENT_OBJ_GFX_ITEM_BALL, 0, 30, 3, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, ShoalCave_LowTideEntranceRoom_EventScript_1B19F6, FLAG_ITEM_SHOAL_CAVE_LOW_TIDE_ENTRANCE_1
- object_event 2, EVENT_OBJ_GFX_OLD_MAN_1, 0, 18, 15, 3, MOVEMENT_TYPE_FACE_LEFT, 1, 1, 0, 0, ShoalCave_LowTideEntranceRoom_EventScript_15E076, 0
-
-ShoalCave_LowTideEntranceRoom_MapWarps:: @ 838DD0C
- warp_def 20, 30, 3, 0, MAP_ROUTE125
- warp_def 19, 5, 3, 0, MAP_SHOAL_CAVE_LOW_TIDE_INNER_ROOM
- warp_def 6, 2, 3, 6, MAP_SHOAL_CAVE_LOW_TIDE_INNER_ROOM
- warp_def 27, 2, 3, 7, MAP_SHOAL_CAVE_LOW_TIDE_INNER_ROOM
-
-ShoalCave_LowTideEntranceRoom_MapEvents:: @ 838DD2C
- map_events ShoalCave_LowTideEntranceRoom_EventObjects, ShoalCave_LowTideEntranceRoom_MapWarps, 0x0, 0x0
diff --git a/data/maps/ShoalCave_LowTideEntranceRoom/header.inc b/data/maps/ShoalCave_LowTideEntranceRoom/header.inc
deleted file mode 100644
index f95032396..000000000
--- a/data/maps/ShoalCave_LowTideEntranceRoom/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-ShoalCave_LowTideEntranceRoom:: @ 8307278
- .4byte ShoalCave_LowTideEntranceRoom_Layout
- .4byte ShoalCave_LowTideEntranceRoom_MapEvents
- .4byte ShoalCave_LowTideEntranceRoom_MapScripts
- .4byte 0x0
- .2byte MUS_M_DUNGON
- .2byte 165
- .byte MAPSEC_SHOAL_CAVE
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_UNDERGROUND
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/ShoalCave_LowTideEntranceRoom/map.json b/data/maps/ShoalCave_LowTideEntranceRoom/map.json
new file mode 100644
index 000000000..51848cfb4
--- /dev/null
+++ b/data/maps/ShoalCave_LowTideEntranceRoom/map.json
@@ -0,0 +1,73 @@
+{
+ "id": "MAP_SHOAL_CAVE_LOW_TIDE_ENTRANCE_ROOM",
+ "name": "ShoalCave_LowTideEntranceRoom",
+ "layout": "LAYOUT_SHOAL_CAVE_LOW_TIDE_ENTRANCE_ROOM",
+ "music": "MUS_M_DUNGON",
+ "region_map_section": "MAPSEC_SHOAL_CAVE",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_UNDERGROUND",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ITEM_BALL",
+ "x": 30,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "ShoalCave_LowTideEntranceRoom_EventScript_1B19F6",
+ "flag": "FLAG_ITEM_SHOAL_CAVE_LOW_TIDE_ENTRANCE_1"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_OLD_MAN_1",
+ "x": 18,
+ "y": 15,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "ShoalCave_LowTideEntranceRoom_EventScript_15E076",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 20,
+ "y": 30,
+ "elevation": 3,
+ "dest_map": "MAP_ROUTE125",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 19,
+ "y": 5,
+ "elevation": 3,
+ "dest_map": "MAP_SHOAL_CAVE_LOW_TIDE_INNER_ROOM",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 6,
+ "y": 2,
+ "elevation": 3,
+ "dest_map": "MAP_SHOAL_CAVE_LOW_TIDE_INNER_ROOM",
+ "dest_warp_id": 6
+ },
+ {
+ "x": 27,
+ "y": 2,
+ "elevation": 3,
+ "dest_map": "MAP_SHOAL_CAVE_LOW_TIDE_INNER_ROOM",
+ "dest_warp_id": 7
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/ShoalCave_LowTideIceRoom/events.inc b/data/maps/ShoalCave_LowTideIceRoom/events.inc
deleted file mode 100644
index d6d8cbdb0..000000000
--- a/data/maps/ShoalCave_LowTideIceRoom/events.inc
+++ /dev/null
@@ -1,9 +0,0 @@
-ShoalCave_LowTideIceRoom_EventObjects:: @ 838EDE0
- object_event 1, EVENT_OBJ_GFX_ITEM_BALL, 0, 12, 8, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, ShoalCave_LowTideIceRoom_EventScript_1B1A1D, FLAG_ITEM_SHOAL_CAVE_LOW_TIDE_ICE_ROOM_1
- object_event 2, EVENT_OBJ_GFX_ITEM_BALL, 0, 12, 21, 4, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, ShoalCave_LowTideIceRoom_EventScript_1B1A2A, FLAG_ITEM_SHOAL_CAVE_LOW_TIDE_ICE_ROOM_2
-
-ShoalCave_LowTideIceRoom_MapWarps:: @ 838EE10
- warp_def 17, 10, 3, 3, MAP_SHOAL_CAVE_LOW_TIDE_LOWER_ROOM
-
-ShoalCave_LowTideIceRoom_MapEvents:: @ 838EE18
- map_events ShoalCave_LowTideIceRoom_EventObjects, ShoalCave_LowTideIceRoom_MapWarps, 0x0, 0x0
diff --git a/data/maps/ShoalCave_LowTideIceRoom/header.inc b/data/maps/ShoalCave_LowTideIceRoom/header.inc
deleted file mode 100644
index eaa49b671..000000000
--- a/data/maps/ShoalCave_LowTideIceRoom/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-ShoalCave_LowTideIceRoom:: @ 8307684
- .4byte ShoalCave_LowTideIceRoom_Layout
- .4byte ShoalCave_LowTideIceRoom_MapEvents
- .4byte ShoalCave_LowTideIceRoom_MapScripts
- .4byte 0x0
- .2byte MUS_M_DUNGON
- .2byte 329
- .byte MAPSEC_SHOAL_CAVE
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_UNDERGROUND
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/ShoalCave_LowTideIceRoom/map.json b/data/maps/ShoalCave_LowTideIceRoom/map.json
new file mode 100644
index 000000000..e0f2701b5
--- /dev/null
+++ b/data/maps/ShoalCave_LowTideIceRoom/map.json
@@ -0,0 +1,52 @@
+{
+ "id": "MAP_SHOAL_CAVE_LOW_TIDE_ICE_ROOM",
+ "name": "ShoalCave_LowTideIceRoom",
+ "layout": "LAYOUT_SHOAL_CAVE_LOW_TIDE_ICE_ROOM",
+ "music": "MUS_M_DUNGON",
+ "region_map_section": "MAPSEC_SHOAL_CAVE",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_UNDERGROUND",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ITEM_BALL",
+ "x": 12,
+ "y": 8,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "ShoalCave_LowTideIceRoom_EventScript_1B1A1D",
+ "flag": "FLAG_ITEM_SHOAL_CAVE_LOW_TIDE_ICE_ROOM_1"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ITEM_BALL",
+ "x": 12,
+ "y": 21,
+ "elevation": 4,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "ShoalCave_LowTideIceRoom_EventScript_1B1A2A",
+ "flag": "FLAG_ITEM_SHOAL_CAVE_LOW_TIDE_ICE_ROOM_2"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 17,
+ "y": 10,
+ "elevation": 3,
+ "dest_map": "MAP_SHOAL_CAVE_LOW_TIDE_LOWER_ROOM",
+ "dest_warp_id": 3
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/ShoalCave_LowTideInnerRoom/events.inc b/data/maps/ShoalCave_LowTideInnerRoom/events.inc
deleted file mode 100644
index 07d6e60dc..000000000
--- a/data/maps/ShoalCave_LowTideInnerRoom/events.inc
+++ /dev/null
@@ -1,23 +0,0 @@
-ShoalCave_LowTideInnerRoom_EventObjects:: @ 838DD40
- object_event 1, EVENT_OBJ_GFX_ITEM_BALL, 0, 26, 14, 5, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, ShoalCave_LowTideInnerRoom_EventScript_1B1A03, FLAG_ITEM_SHOAL_CAVE_LOW_TIDE_INNER_ROOM_1
-
-ShoalCave_LowTideInnerRoom_MapWarps:: @ 838DD58
- warp_def 34, 29, 3, 1, MAP_SHOAL_CAVE_LOW_TIDE_ENTRANCE_ROOM
- warp_def 38, 15, 3, 0, MAP_SHOAL_CAVE_LOW_TIDE_STAIRS_ROOM
- warp_def 42, 4, 3, 1, MAP_SHOAL_CAVE_LOW_TIDE_STAIRS_ROOM
- warp_def 19, 14, 4, 0, MAP_SHOAL_CAVE_LOW_TIDE_LOWER_ROOM
- warp_def 15, 19, 3, 1, MAP_SHOAL_CAVE_LOW_TIDE_LOWER_ROOM
- warp_def 30, 25, 3, 2, MAP_SHOAL_CAVE_LOW_TIDE_LOWER_ROOM
- warp_def 14, 33, 5, 2, MAP_SHOAL_CAVE_LOW_TIDE_ENTRANCE_ROOM
- warp_def 40, 33, 5, 3, MAP_SHOAL_CAVE_LOW_TIDE_ENTRANCE_ROOM
-
-ShoalCave_LowTideInnerRoom_MapBGEvents:: @ 838DD98
- bg_event 31, 8, 5, BG_EVENT_PLAYER_FACING_ANY, ShoalCave_LowTideInnerRoom_EventScript_15E329
- bg_event 14, 26, 3, BG_EVENT_PLAYER_FACING_ANY, ShoalCave_LowTideInnerRoom_EventScript_15E365
- bg_event 41, 20, 5, BG_EVENT_PLAYER_FACING_ANY, ShoalCave_LowTideInnerRoom_EventScript_15E257
- bg_event 41, 10, 5, BG_EVENT_PLAYER_FACING_ANY, ShoalCave_LowTideInnerRoom_EventScript_15E293
- bg_event 6, 9, 3, BG_EVENT_PLAYER_FACING_ANY, ShoalCave_LowTideInnerRoom_EventScript_15E2C5
- bg_event 16, 13, 5, BG_EVENT_PLAYER_FACING_ANY, ShoalCave_LowTideInnerRoom_EventScript_15E2F7
-
-ShoalCave_LowTideInnerRoom_MapEvents:: @ 838DDE0
- map_events ShoalCave_LowTideInnerRoom_EventObjects, ShoalCave_LowTideInnerRoom_MapWarps, 0x0, ShoalCave_LowTideInnerRoom_MapBGEvents
diff --git a/data/maps/ShoalCave_LowTideInnerRoom/header.inc b/data/maps/ShoalCave_LowTideInnerRoom/header.inc
deleted file mode 100644
index a7c0c4209..000000000
--- a/data/maps/ShoalCave_LowTideInnerRoom/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-ShoalCave_LowTideInnerRoom:: @ 8307294
- .4byte ShoalCave_LowTideInnerRoom_Layout
- .4byte ShoalCave_LowTideInnerRoom_MapEvents
- .4byte ShoalCave_LowTideInnerRoom_MapScripts
- .4byte 0x0
- .2byte MUS_M_DUNGON
- .2byte 166
- .byte MAPSEC_SHOAL_CAVE
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_UNDERGROUND
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/ShoalCave_LowTideInnerRoom/map.json b/data/maps/ShoalCave_LowTideInnerRoom/map.json
new file mode 100644
index 000000000..8b9fbc81e
--- /dev/null
+++ b/data/maps/ShoalCave_LowTideInnerRoom/map.json
@@ -0,0 +1,137 @@
+{
+ "id": "MAP_SHOAL_CAVE_LOW_TIDE_INNER_ROOM",
+ "name": "ShoalCave_LowTideInnerRoom",
+ "layout": "LAYOUT_SHOAL_CAVE_LOW_TIDE_INNER_ROOM",
+ "music": "MUS_M_DUNGON",
+ "region_map_section": "MAPSEC_SHOAL_CAVE",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_UNDERGROUND",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ITEM_BALL",
+ "x": 26,
+ "y": 14,
+ "elevation": 5,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "ShoalCave_LowTideInnerRoom_EventScript_1B1A03",
+ "flag": "FLAG_ITEM_SHOAL_CAVE_LOW_TIDE_INNER_ROOM_1"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 34,
+ "y": 29,
+ "elevation": 3,
+ "dest_map": "MAP_SHOAL_CAVE_LOW_TIDE_ENTRANCE_ROOM",
+ "dest_warp_id": 1
+ },
+ {
+ "x": 38,
+ "y": 15,
+ "elevation": 3,
+ "dest_map": "MAP_SHOAL_CAVE_LOW_TIDE_STAIRS_ROOM",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 42,
+ "y": 4,
+ "elevation": 3,
+ "dest_map": "MAP_SHOAL_CAVE_LOW_TIDE_STAIRS_ROOM",
+ "dest_warp_id": 1
+ },
+ {
+ "x": 19,
+ "y": 14,
+ "elevation": 4,
+ "dest_map": "MAP_SHOAL_CAVE_LOW_TIDE_LOWER_ROOM",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 15,
+ "y": 19,
+ "elevation": 3,
+ "dest_map": "MAP_SHOAL_CAVE_LOW_TIDE_LOWER_ROOM",
+ "dest_warp_id": 1
+ },
+ {
+ "x": 30,
+ "y": 25,
+ "elevation": 3,
+ "dest_map": "MAP_SHOAL_CAVE_LOW_TIDE_LOWER_ROOM",
+ "dest_warp_id": 2
+ },
+ {
+ "x": 14,
+ "y": 33,
+ "elevation": 5,
+ "dest_map": "MAP_SHOAL_CAVE_LOW_TIDE_ENTRANCE_ROOM",
+ "dest_warp_id": 2
+ },
+ {
+ "x": 40,
+ "y": 33,
+ "elevation": 5,
+ "dest_map": "MAP_SHOAL_CAVE_LOW_TIDE_ENTRANCE_ROOM",
+ "dest_warp_id": 3
+ }
+ ],
+ "coord_events": [],
+ "bg_events": [
+ {
+ "type": "sign",
+ "x": 31,
+ "y": 8,
+ "elevation": 5,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "ShoalCave_LowTideInnerRoom_EventScript_15E329"
+ },
+ {
+ "type": "sign",
+ "x": 14,
+ "y": 26,
+ "elevation": 3,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "ShoalCave_LowTideInnerRoom_EventScript_15E365"
+ },
+ {
+ "type": "sign",
+ "x": 41,
+ "y": 20,
+ "elevation": 5,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "ShoalCave_LowTideInnerRoom_EventScript_15E257"
+ },
+ {
+ "type": "sign",
+ "x": 41,
+ "y": 10,
+ "elevation": 5,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "ShoalCave_LowTideInnerRoom_EventScript_15E293"
+ },
+ {
+ "type": "sign",
+ "x": 6,
+ "y": 9,
+ "elevation": 3,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "ShoalCave_LowTideInnerRoom_EventScript_15E2C5"
+ },
+ {
+ "type": "sign",
+ "x": 16,
+ "y": 13,
+ "elevation": 5,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "ShoalCave_LowTideInnerRoom_EventScript_15E2F7"
+ }
+ ]
+} \ No newline at end of file
diff --git a/data/maps/ShoalCave_LowTideLowerRoom/events.inc b/data/maps/ShoalCave_LowTideLowerRoom/events.inc
deleted file mode 100644
index 9159098e6..000000000
--- a/data/maps/ShoalCave_LowTideLowerRoom/events.inc
+++ /dev/null
@@ -1,15 +0,0 @@
-ShoalCave_LowTideLowerRoom_EventObjects:: @ 838DE3C
- object_event 1, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 25, 3, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, S_PushableBoulder, FLAG_TEMP_11
- object_event 2, EVENT_OBJ_GFX_BLACK_BELT, 0, 11, 4, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, ShoalCave_LowTideLowerRoom_EventScript_15E44F, 0
-
-ShoalCave_LowTideLowerRoom_MapWarps:: @ 838DE6C
- warp_def 7, 2, 3, 3, MAP_SHOAL_CAVE_LOW_TIDE_INNER_ROOM
- warp_def 2, 6, 3, 4, MAP_SHOAL_CAVE_LOW_TIDE_INNER_ROOM
- warp_def 19, 11, 3, 5, MAP_SHOAL_CAVE_LOW_TIDE_INNER_ROOM
- warp_def 28, 11, 3, 0, MAP_SHOAL_CAVE_LOW_TIDE_ICE_ROOM
-
-ShoalCave_LowTideLowerRoom_MapBGEvents:: @ 838DE8C
- bg_event 18, 2, 3, BG_EVENT_PLAYER_FACING_ANY, ShoalCave_LowTideLowerRoom_EventScript_15E413
-
-ShoalCave_LowTideLowerRoom_MapEvents:: @ 838DE98
- map_events ShoalCave_LowTideLowerRoom_EventObjects, ShoalCave_LowTideLowerRoom_MapWarps, 0x0, ShoalCave_LowTideLowerRoom_MapBGEvents
diff --git a/data/maps/ShoalCave_LowTideLowerRoom/header.inc b/data/maps/ShoalCave_LowTideLowerRoom/header.inc
deleted file mode 100644
index 90cbc8ac0..000000000
--- a/data/maps/ShoalCave_LowTideLowerRoom/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-ShoalCave_LowTideLowerRoom:: @ 83072CC
- .4byte ShoalCave_LowTideLowerRoom_Layout
- .4byte ShoalCave_LowTideLowerRoom_MapEvents
- .4byte ShoalCave_LowTideLowerRoom_MapScripts
- .4byte 0x0
- .2byte MUS_M_DUNGON
- .2byte 168
- .byte MAPSEC_SHOAL_CAVE
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_UNDERGROUND
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/ShoalCave_LowTideLowerRoom/map.json b/data/maps/ShoalCave_LowTideLowerRoom/map.json
new file mode 100644
index 000000000..4488b4dfa
--- /dev/null
+++ b/data/maps/ShoalCave_LowTideLowerRoom/map.json
@@ -0,0 +1,82 @@
+{
+ "id": "MAP_SHOAL_CAVE_LOW_TIDE_LOWER_ROOM",
+ "name": "ShoalCave_LowTideLowerRoom",
+ "layout": "LAYOUT_SHOAL_CAVE_LOW_TIDE_LOWER_ROOM",
+ "music": "MUS_M_DUNGON",
+ "region_map_section": "MAPSEC_SHOAL_CAVE",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_UNDERGROUND",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_PUSHABLE_BOULDER",
+ "x": 25,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "S_PushableBoulder",
+ "flag": "FLAG_TEMP_11"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BLACK_BELT",
+ "x": 11,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "ShoalCave_LowTideLowerRoom_EventScript_15E44F",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 7,
+ "y": 2,
+ "elevation": 3,
+ "dest_map": "MAP_SHOAL_CAVE_LOW_TIDE_INNER_ROOM",
+ "dest_warp_id": 3
+ },
+ {
+ "x": 2,
+ "y": 6,
+ "elevation": 3,
+ "dest_map": "MAP_SHOAL_CAVE_LOW_TIDE_INNER_ROOM",
+ "dest_warp_id": 4
+ },
+ {
+ "x": 19,
+ "y": 11,
+ "elevation": 3,
+ "dest_map": "MAP_SHOAL_CAVE_LOW_TIDE_INNER_ROOM",
+ "dest_warp_id": 5
+ },
+ {
+ "x": 28,
+ "y": 11,
+ "elevation": 3,
+ "dest_map": "MAP_SHOAL_CAVE_LOW_TIDE_ICE_ROOM",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [],
+ "bg_events": [
+ {
+ "type": "sign",
+ "x": 18,
+ "y": 2,
+ "elevation": 3,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "ShoalCave_LowTideLowerRoom_EventScript_15E413"
+ }
+ ]
+} \ No newline at end of file
diff --git a/data/maps/ShoalCave_LowTideStairsRoom/events.inc b/data/maps/ShoalCave_LowTideStairsRoom/events.inc
deleted file mode 100644
index 63b0f279c..000000000
--- a/data/maps/ShoalCave_LowTideStairsRoom/events.inc
+++ /dev/null
@@ -1,12 +0,0 @@
-ShoalCave_LowTideStairsRoom_EventObjects:: @ 838DDF4
- object_event 1, EVENT_OBJ_GFX_ITEM_BALL, 0, 13, 12, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, ShoalCave_LowTideStairsRoom_EventScript_1B1A10, FLAG_ITEM_SHOAL_CAVE_LOW_TIDE_STAIRS_ROOM_1
-
-ShoalCave_LowTideStairsRoom_MapWarps:: @ 838DE0C
- warp_def 3, 12, 3, 1, MAP_SHOAL_CAVE_LOW_TIDE_INNER_ROOM
- warp_def 7, 4, 3, 2, MAP_SHOAL_CAVE_LOW_TIDE_INNER_ROOM
-
-ShoalCave_LowTideStairsRoom_MapBGEvents:: @ 838DE1C
- bg_event 11, 11, 3, BG_EVENT_PLAYER_FACING_ANY, ShoalCave_LowTideStairsRoom_EventScript_15E3B7
-
-ShoalCave_LowTideStairsRoom_MapEvents:: @ 838DE28
- map_events ShoalCave_LowTideStairsRoom_EventObjects, ShoalCave_LowTideStairsRoom_MapWarps, 0x0, ShoalCave_LowTideStairsRoom_MapBGEvents
diff --git a/data/maps/ShoalCave_LowTideStairsRoom/header.inc b/data/maps/ShoalCave_LowTideStairsRoom/header.inc
deleted file mode 100644
index 7c1c7f433..000000000
--- a/data/maps/ShoalCave_LowTideStairsRoom/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-ShoalCave_LowTideStairsRoom:: @ 83072B0
- .4byte ShoalCave_LowTideStairsRoom_Layout
- .4byte ShoalCave_LowTideStairsRoom_MapEvents
- .4byte ShoalCave_LowTideStairsRoom_MapScripts
- .4byte 0x0
- .2byte MUS_M_DUNGON
- .2byte 167
- .byte MAPSEC_SHOAL_CAVE
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_UNDERGROUND
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/ShoalCave_LowTideStairsRoom/map.json b/data/maps/ShoalCave_LowTideStairsRoom/map.json
new file mode 100644
index 000000000..315d7b271
--- /dev/null
+++ b/data/maps/ShoalCave_LowTideStairsRoom/map.json
@@ -0,0 +1,55 @@
+{
+ "id": "MAP_SHOAL_CAVE_LOW_TIDE_STAIRS_ROOM",
+ "name": "ShoalCave_LowTideStairsRoom",
+ "layout": "LAYOUT_SHOAL_CAVE_LOW_TIDE_STAIRS_ROOM",
+ "music": "MUS_M_DUNGON",
+ "region_map_section": "MAPSEC_SHOAL_CAVE",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_UNDERGROUND",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ITEM_BALL",
+ "x": 13,
+ "y": 12,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "ShoalCave_LowTideStairsRoom_EventScript_1B1A10",
+ "flag": "FLAG_ITEM_SHOAL_CAVE_LOW_TIDE_STAIRS_ROOM_1"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 3,
+ "y": 12,
+ "elevation": 3,
+ "dest_map": "MAP_SHOAL_CAVE_LOW_TIDE_INNER_ROOM",
+ "dest_warp_id": 1
+ },
+ {
+ "x": 7,
+ "y": 4,
+ "elevation": 3,
+ "dest_map": "MAP_SHOAL_CAVE_LOW_TIDE_INNER_ROOM",
+ "dest_warp_id": 2
+ }
+ ],
+ "coord_events": [],
+ "bg_events": [
+ {
+ "type": "sign",
+ "x": 11,
+ "y": 11,
+ "elevation": 3,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "ShoalCave_LowTideStairsRoom_EventScript_15E3B7"
+ }
+ ]
+} \ No newline at end of file
diff --git a/data/maps/SingleBattleColosseum/events.inc b/data/maps/SingleBattleColosseum/events.inc
deleted file mode 100644
index 6984485ea..000000000
--- a/data/maps/SingleBattleColosseum/events.inc
+++ /dev/null
@@ -1,13 +0,0 @@
-SingleBattleColosseum_EventObjects:: @ 83912E4
- object_event 1, EVENT_OBJ_GFX_WOMAN_6, 0, 9, 3, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, SingleBattleColosseum_EventScript_1A449E, 0
-
-SingleBattleColosseum_MapWarps:: @ 83912FC
- warp_def 6, 8, 3, 127, MAP_NONE
- warp_def 7, 8, 3, 127, MAP_NONE
-
-SingleBattleColosseum_MapCoordEvents:: @ 839130C
- coord_event 3, 5, 3, VAR_TEMP_0, 0, SingleBattleColosseum_EventScript_1A436F
- coord_event 10, 5, 3, VAR_TEMP_0, 0, SingleBattleColosseum_EventScript_1A4379
-
-SingleBattleColosseum_MapEvents:: @ 839132C
- map_events SingleBattleColosseum_EventObjects, SingleBattleColosseum_MapWarps, SingleBattleColosseum_MapCoordEvents, 0x0
diff --git a/data/maps/SingleBattleColosseum/header.inc b/data/maps/SingleBattleColosseum/header.inc
deleted file mode 100644
index ded368bb5..000000000
--- a/data/maps/SingleBattleColosseum/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SingleBattleColosseum:: @ 8307978
- .4byte SingleBattleColosseum_Layout
- .4byte SingleBattleColosseum_MapEvents
- .4byte SingleBattleColosseum_MapScripts
- .4byte 0x0
- .2byte MUS_RAINBOW
- .2byte 222
- .byte MAPSEC_DYNAMIC
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_BATTLE_TOWER
diff --git a/data/maps/SingleBattleColosseum/map.json b/data/maps/SingleBattleColosseum/map.json
new file mode 100644
index 000000000..e961fcfc2
--- /dev/null
+++ b/data/maps/SingleBattleColosseum/map.json
@@ -0,0 +1,65 @@
+{
+ "id": "MAP_SINGLE_BATTLE_COLOSSEUM",
+ "name": "SingleBattleColosseum",
+ "layout": "LAYOUT_SINGLE_BATTLE_COLOSSEUM",
+ "music": "MUS_RAINBOW",
+ "region_map_section": "MAPSEC_DYNAMIC",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_BATTLE_TOWER",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_6",
+ "x": 9,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SingleBattleColosseum_EventScript_1A449E",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 6,
+ "y": 8,
+ "elevation": 3,
+ "dest_map": "MAP_NONE",
+ "dest_warp_id": 127
+ },
+ {
+ "x": 7,
+ "y": 8,
+ "elevation": 3,
+ "dest_map": "MAP_NONE",
+ "dest_warp_id": 127
+ }
+ ],
+ "coord_events": [
+ {
+ "type": "trigger",
+ "x": 3,
+ "y": 5,
+ "elevation": 3,
+ "var": "VAR_TEMP_0",
+ "var_value": "0",
+ "script": "SingleBattleColosseum_EventScript_1A436F"
+ },
+ {
+ "type": "trigger",
+ "x": 10,
+ "y": 5,
+ "elevation": 3,
+ "var": "VAR_TEMP_0",
+ "var_value": "0",
+ "script": "SingleBattleColosseum_EventScript_1A4379"
+ }
+ ],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/SkyPillar_1F/events.inc b/data/maps/SkyPillar_1F/events.inc
deleted file mode 100644
index 2af7aaa76..000000000
--- a/data/maps/SkyPillar_1F/events.inc
+++ /dev/null
@@ -1,7 +0,0 @@
-SkyPillar_1F_MapWarps:: @ 838ED38
- warp_def 6, 13, 3, 1, MAP_SKY_PILLAR_OUTSIDE
- warp_def 7, 13, 3, 1, MAP_SKY_PILLAR_OUTSIDE
- warp_def 10, 1, 3, 0, MAP_SKY_PILLAR_2F
-
-SkyPillar_1F_MapEvents:: @ 838ED50
- map_events 0x0, SkyPillar_1F_MapWarps, 0x0, 0x0
diff --git a/data/maps/SkyPillar_1F/header.inc b/data/maps/SkyPillar_1F/header.inc
deleted file mode 100644
index 36c0099bf..000000000
--- a/data/maps/SkyPillar_1F/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SkyPillar_1F:: @ 8307614
- .4byte SkyPillar_1F_Layout
- .4byte SkyPillar_1F_MapEvents
- .4byte SkyPillar_1F_MapScripts
- .4byte 0x0
- .2byte MUS_TOZAN
- .2byte 323
- .byte MAPSEC_SKY_PILLAR
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_UNDERGROUND
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/SkyPillar_1F/map.json b/data/maps/SkyPillar_1F/map.json
new file mode 100644
index 000000000..dee61d817
--- /dev/null
+++ b/data/maps/SkyPillar_1F/map.json
@@ -0,0 +1,39 @@
+{
+ "id": "MAP_SKY_PILLAR_1F",
+ "name": "SkyPillar_1F",
+ "layout": "LAYOUT_SKY_PILLAR_1F",
+ "music": "MUS_TOZAN",
+ "region_map_section": "MAPSEC_SKY_PILLAR",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_UNDERGROUND",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [],
+ "warp_events": [
+ {
+ "x": 6,
+ "y": 13,
+ "elevation": 3,
+ "dest_map": "MAP_SKY_PILLAR_OUTSIDE",
+ "dest_warp_id": 1
+ },
+ {
+ "x": 7,
+ "y": 13,
+ "elevation": 3,
+ "dest_map": "MAP_SKY_PILLAR_OUTSIDE",
+ "dest_warp_id": 1
+ },
+ {
+ "x": 10,
+ "y": 1,
+ "elevation": 3,
+ "dest_map": "MAP_SKY_PILLAR_2F",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/SkyPillar_2F/events.inc b/data/maps/SkyPillar_2F/events.inc
deleted file mode 100644
index 48fcb9fec..000000000
--- a/data/maps/SkyPillar_2F/events.inc
+++ /dev/null
@@ -1,6 +0,0 @@
-SkyPillar_2F_MapWarps:: @ 838ED64
- warp_def 10, 1, 3, 2, MAP_SKY_PILLAR_1F
- warp_def 3, 1, 3, 0, MAP_SKY_PILLAR_3F
-
-SkyPillar_2F_MapEvents:: @ 838ED74
- map_events 0x0, SkyPillar_2F_MapWarps, 0x0, 0x0
diff --git a/data/maps/SkyPillar_2F/header.inc b/data/maps/SkyPillar_2F/header.inc
deleted file mode 100644
index 3c72b0fd4..000000000
--- a/data/maps/SkyPillar_2F/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SkyPillar_2F:: @ 8307630
- .4byte SkyPillar_2F_Layout
- .4byte SkyPillar_2F_MapEvents
- .4byte SkyPillar_2F_MapScripts
- .4byte 0x0
- .2byte MUS_TOZAN
- .2byte 324
- .byte MAPSEC_SKY_PILLAR
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_UNDERGROUND
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/SkyPillar_2F/map.json b/data/maps/SkyPillar_2F/map.json
new file mode 100644
index 000000000..a46aea2de
--- /dev/null
+++ b/data/maps/SkyPillar_2F/map.json
@@ -0,0 +1,32 @@
+{
+ "id": "MAP_SKY_PILLAR_2F",
+ "name": "SkyPillar_2F",
+ "layout": "LAYOUT_SKY_PILLAR_2F",
+ "music": "MUS_TOZAN",
+ "region_map_section": "MAPSEC_SKY_PILLAR",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_UNDERGROUND",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [],
+ "warp_events": [
+ {
+ "x": 10,
+ "y": 1,
+ "elevation": 3,
+ "dest_map": "MAP_SKY_PILLAR_1F",
+ "dest_warp_id": 2
+ },
+ {
+ "x": 3,
+ "y": 1,
+ "elevation": 3,
+ "dest_map": "MAP_SKY_PILLAR_3F",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/SkyPillar_3F/events.inc b/data/maps/SkyPillar_3F/events.inc
deleted file mode 100644
index 4aeda3339..000000000
--- a/data/maps/SkyPillar_3F/events.inc
+++ /dev/null
@@ -1,7 +0,0 @@
-SkyPillar_3F_MapWarps:: @ 838ED88
- warp_def 3, 1, 3, 1, MAP_SKY_PILLAR_2F
- warp_def 11, 1, 3, 0, MAP_SKY_PILLAR_4F
- warp_def 7, 1, 3, 1, MAP_SKY_PILLAR_4F
-
-SkyPillar_3F_MapEvents:: @ 838EDA0
- map_events 0x0, SkyPillar_3F_MapWarps, 0x0, 0x0
diff --git a/data/maps/SkyPillar_3F/header.inc b/data/maps/SkyPillar_3F/header.inc
deleted file mode 100644
index 4b6b828f9..000000000
--- a/data/maps/SkyPillar_3F/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SkyPillar_3F:: @ 830764C
- .4byte SkyPillar_3F_Layout
- .4byte SkyPillar_3F_MapEvents
- .4byte SkyPillar_3F_MapScripts
- .4byte 0x0
- .2byte MUS_TOZAN
- .2byte 325
- .byte MAPSEC_SKY_PILLAR
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_UNDERGROUND
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/SkyPillar_3F/map.json b/data/maps/SkyPillar_3F/map.json
new file mode 100644
index 000000000..02ade47fd
--- /dev/null
+++ b/data/maps/SkyPillar_3F/map.json
@@ -0,0 +1,39 @@
+{
+ "id": "MAP_SKY_PILLAR_3F",
+ "name": "SkyPillar_3F",
+ "layout": "LAYOUT_SKY_PILLAR_3F",
+ "music": "MUS_TOZAN",
+ "region_map_section": "MAPSEC_SKY_PILLAR",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_UNDERGROUND",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [],
+ "warp_events": [
+ {
+ "x": 3,
+ "y": 1,
+ "elevation": 3,
+ "dest_map": "MAP_SKY_PILLAR_2F",
+ "dest_warp_id": 1
+ },
+ {
+ "x": 11,
+ "y": 1,
+ "elevation": 3,
+ "dest_map": "MAP_SKY_PILLAR_4F",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 7,
+ "y": 1,
+ "elevation": 3,
+ "dest_map": "MAP_SKY_PILLAR_4F",
+ "dest_warp_id": 1
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/SkyPillar_4F/events.inc b/data/maps/SkyPillar_4F/events.inc
deleted file mode 100644
index 3e908ed74..000000000
--- a/data/maps/SkyPillar_4F/events.inc
+++ /dev/null
@@ -1,7 +0,0 @@
-SkyPillar_4F_MapWarps:: @ 838EDB4
- warp_def 11, 1, 3, 1, MAP_SKY_PILLAR_3F
- warp_def 7, 1, 3, 2, MAP_SKY_PILLAR_3F
- warp_def 3, 1, 3, 0, MAP_SKY_PILLAR_5F
-
-SkyPillar_4F_MapEvents:: @ 838EDCC
- map_events 0x0, SkyPillar_4F_MapWarps, 0x0, 0x0
diff --git a/data/maps/SkyPillar_4F/header.inc b/data/maps/SkyPillar_4F/header.inc
deleted file mode 100644
index 634ab68b4..000000000
--- a/data/maps/SkyPillar_4F/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SkyPillar_4F:: @ 8307668
- .4byte SkyPillar_4F_Layout
- .4byte SkyPillar_4F_MapEvents
- .4byte SkyPillar_4F_MapScripts
- .4byte 0x0
- .2byte MUS_TOZAN
- .2byte 326
- .byte MAPSEC_SKY_PILLAR
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_UNDERGROUND
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/SkyPillar_4F/map.json b/data/maps/SkyPillar_4F/map.json
new file mode 100644
index 000000000..2c6b535ea
--- /dev/null
+++ b/data/maps/SkyPillar_4F/map.json
@@ -0,0 +1,39 @@
+{
+ "id": "MAP_SKY_PILLAR_4F",
+ "name": "SkyPillar_4F",
+ "layout": "LAYOUT_SKY_PILLAR_4F",
+ "music": "MUS_TOZAN",
+ "region_map_section": "MAPSEC_SKY_PILLAR",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_UNDERGROUND",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [],
+ "warp_events": [
+ {
+ "x": 11,
+ "y": 1,
+ "elevation": 3,
+ "dest_map": "MAP_SKY_PILLAR_3F",
+ "dest_warp_id": 1
+ },
+ {
+ "x": 7,
+ "y": 1,
+ "elevation": 3,
+ "dest_map": "MAP_SKY_PILLAR_3F",
+ "dest_warp_id": 2
+ },
+ {
+ "x": 3,
+ "y": 1,
+ "elevation": 3,
+ "dest_map": "MAP_SKY_PILLAR_5F",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/SkyPillar_5F/events.inc b/data/maps/SkyPillar_5F/events.inc
deleted file mode 100644
index badae77af..000000000
--- a/data/maps/SkyPillar_5F/events.inc
+++ /dev/null
@@ -1,6 +0,0 @@
-SkyPillar_5F_MapWarps:: @ 838EE2C
- warp_def 3, 1, 3, 2, MAP_SKY_PILLAR_4F
- warp_def 10, 1, 3, 0, MAP_SKY_PILLAR_TOP
-
-SkyPillar_5F_MapEvents:: @ 838EE3C
- map_events 0x0, SkyPillar_5F_MapWarps, 0x0, 0x0
diff --git a/data/maps/SkyPillar_5F/header.inc b/data/maps/SkyPillar_5F/header.inc
deleted file mode 100644
index 949dac2a6..000000000
--- a/data/maps/SkyPillar_5F/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SkyPillar_5F:: @ 83076A0
- .4byte SkyPillar_5F_Layout
- .4byte SkyPillar_5F_MapEvents
- .4byte SkyPillar_5F_MapScripts
- .4byte 0x0
- .2byte MUS_TOZAN
- .2byte 331
- .byte MAPSEC_SKY_PILLAR
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_UNDERGROUND
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/SkyPillar_5F/map.json b/data/maps/SkyPillar_5F/map.json
new file mode 100644
index 000000000..3aff1cb3a
--- /dev/null
+++ b/data/maps/SkyPillar_5F/map.json
@@ -0,0 +1,32 @@
+{
+ "id": "MAP_SKY_PILLAR_5F",
+ "name": "SkyPillar_5F",
+ "layout": "LAYOUT_SKY_PILLAR_5F",
+ "music": "MUS_TOZAN",
+ "region_map_section": "MAPSEC_SKY_PILLAR",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_UNDERGROUND",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [],
+ "warp_events": [
+ {
+ "x": 3,
+ "y": 1,
+ "elevation": 3,
+ "dest_map": "MAP_SKY_PILLAR_4F",
+ "dest_warp_id": 2
+ },
+ {
+ "x": 10,
+ "y": 1,
+ "elevation": 3,
+ "dest_map": "MAP_SKY_PILLAR_TOP",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/SkyPillar_Entrance/events.inc b/data/maps/SkyPillar_Entrance/events.inc
deleted file mode 100644
index 904b3b9ae..000000000
--- a/data/maps/SkyPillar_Entrance/events.inc
+++ /dev/null
@@ -1,6 +0,0 @@
-SkyPillar_Entrance_MapWarps:: @ 838ECF0
- warp_def 6, 16, 3, 0, MAP_ROUTE131
- warp_def 14, 4, 3, 0, MAP_SKY_PILLAR_OUTSIDE
-
-SkyPillar_Entrance_MapEvents:: @ 838ED00
- map_events 0x0, SkyPillar_Entrance_MapWarps, 0x0, 0x0
diff --git a/data/maps/SkyPillar_Entrance/header.inc b/data/maps/SkyPillar_Entrance/header.inc
deleted file mode 100644
index 8b1f7bede..000000000
--- a/data/maps/SkyPillar_Entrance/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SkyPillar_Entrance:: @ 83075DC
- .4byte SkyPillar_Entrance_Layout
- .4byte SkyPillar_Entrance_MapEvents
- .4byte SkyPillar_Entrance_MapScripts
- .4byte 0x0
- .2byte MUS_TOZAN
- .2byte 321
- .byte MAPSEC_SKY_PILLAR
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_UNDERGROUND
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/SkyPillar_Entrance/map.json b/data/maps/SkyPillar_Entrance/map.json
new file mode 100644
index 000000000..8a2810482
--- /dev/null
+++ b/data/maps/SkyPillar_Entrance/map.json
@@ -0,0 +1,32 @@
+{
+ "id": "MAP_SKY_PILLAR_ENTRANCE",
+ "name": "SkyPillar_Entrance",
+ "layout": "LAYOUT_SKY_PILLAR_ENTRANCE",
+ "music": "MUS_TOZAN",
+ "region_map_section": "MAPSEC_SKY_PILLAR",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_UNDERGROUND",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [],
+ "warp_events": [
+ {
+ "x": 6,
+ "y": 16,
+ "elevation": 3,
+ "dest_map": "MAP_ROUTE131",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 14,
+ "y": 4,
+ "elevation": 3,
+ "dest_map": "MAP_SKY_PILLAR_OUTSIDE",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/SkyPillar_Outside/events.inc b/data/maps/SkyPillar_Outside/events.inc
deleted file mode 100644
index 120cd982b..000000000
--- a/data/maps/SkyPillar_Outside/events.inc
+++ /dev/null
@@ -1,6 +0,0 @@
-SkyPillar_Outside_MapWarps:: @ 838ED14
- warp_def 17, 13, 3, 1, MAP_SKY_PILLAR_ENTRANCE
- warp_def 14, 5, 3, 0, MAP_SKY_PILLAR_1F
-
-SkyPillar_Outside_MapEvents:: @ 838ED24
- map_events 0x0, SkyPillar_Outside_MapWarps, 0x0, 0x0
diff --git a/data/maps/SkyPillar_Outside/header.inc b/data/maps/SkyPillar_Outside/header.inc
deleted file mode 100644
index 2e2695489..000000000
--- a/data/maps/SkyPillar_Outside/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SkyPillar_Outside:: @ 83075F8
- .4byte SkyPillar_Outside_Layout
- .4byte SkyPillar_Outside_MapEvents
- .4byte SkyPillar_Outside_MapScripts
- .4byte 0x0
- .2byte MUS_TOZAN
- .2byte 322
- .byte MAPSEC_SKY_PILLAR
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_ROUTE
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/SkyPillar_Outside/map.json b/data/maps/SkyPillar_Outside/map.json
new file mode 100644
index 000000000..1985cc5e2
--- /dev/null
+++ b/data/maps/SkyPillar_Outside/map.json
@@ -0,0 +1,32 @@
+{
+ "id": "MAP_SKY_PILLAR_OUTSIDE",
+ "name": "SkyPillar_Outside",
+ "layout": "LAYOUT_SKY_PILLAR_OUTSIDE",
+ "music": "MUS_TOZAN",
+ "region_map_section": "MAPSEC_SKY_PILLAR",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_ROUTE",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [],
+ "warp_events": [
+ {
+ "x": 17,
+ "y": 13,
+ "elevation": 3,
+ "dest_map": "MAP_SKY_PILLAR_ENTRANCE",
+ "dest_warp_id": 1
+ },
+ {
+ "x": 14,
+ "y": 5,
+ "elevation": 3,
+ "dest_map": "MAP_SKY_PILLAR_1F",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/SkyPillar_Top/events.inc b/data/maps/SkyPillar_Top/events.inc
deleted file mode 100644
index e497f5db2..000000000
--- a/data/maps/SkyPillar_Top/events.inc
+++ /dev/null
@@ -1,8 +0,0 @@
-SkyPillar_Top_EventObjects:: @ 838EE50
- object_event 1, EVENT_OBJ_GFX_RAYQUAZA, 0, 14, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, SkyPillar_Top_EventScript_15F316, FLAG_HIDE_RAYQUAZA
-
-SkyPillar_Top_MapWarps:: @ 838EE68
- warp_def 16, 14, 3, 1, MAP_SKY_PILLAR_5F
-
-SkyPillar_Top_MapEvents:: @ 838EE70
- map_events SkyPillar_Top_EventObjects, SkyPillar_Top_MapWarps, 0x0, 0x0
diff --git a/data/maps/SkyPillar_Top/header.inc b/data/maps/SkyPillar_Top/header.inc
deleted file mode 100644
index 01e4c49b8..000000000
--- a/data/maps/SkyPillar_Top/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SkyPillar_Top:: @ 83076BC
- .4byte SkyPillar_Top_Layout
- .4byte SkyPillar_Top_MapEvents
- .4byte SkyPillar_Top_MapScripts
- .4byte 0x0
- .2byte MUS_TOZAN
- .2byte 332
- .byte MAPSEC_SKY_PILLAR
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_ROUTE
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/SkyPillar_Top/map.json b/data/maps/SkyPillar_Top/map.json
new file mode 100644
index 000000000..f64a9bf89
--- /dev/null
+++ b/data/maps/SkyPillar_Top/map.json
@@ -0,0 +1,39 @@
+{
+ "id": "MAP_SKY_PILLAR_TOP",
+ "name": "SkyPillar_Top",
+ "layout": "LAYOUT_SKY_PILLAR_TOP",
+ "music": "MUS_TOZAN",
+ "region_map_section": "MAPSEC_SKY_PILLAR",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_ROUTE",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_RAYQUAZA",
+ "x": 14,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SkyPillar_Top_EventScript_15F316",
+ "flag": "FLAG_HIDE_RAYQUAZA"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 16,
+ "y": 14,
+ "elevation": 3,
+ "dest_map": "MAP_SKY_PILLAR_5F",
+ "dest_warp_id": 1
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/SlateportCity/connections.inc b/data/maps/SlateportCity/connections.inc
deleted file mode 100644
index 082ed59e0..000000000
--- a/data/maps/SlateportCity/connections.inc
+++ /dev/null
@@ -1,8 +0,0 @@
-SlateportCity_MapConnectionsList:: @ 8308704
- connection up, 0, MAP_ROUTE110
- connection down, 0, MAP_ROUTE109
- connection right, 0, MAP_ROUTE134
-
-SlateportCity_MapConnections:: @ 8308728
- .4byte 0x3
- .4byte SlateportCity_MapConnectionsList
diff --git a/data/maps/SlateportCity/events.inc b/data/maps/SlateportCity/events.inc
deleted file mode 100644
index af197d461..000000000
--- a/data/maps/SlateportCity/events.inc
+++ /dev/null
@@ -1,62 +0,0 @@
-SlateportCity_EventObjects:: @ 837F7AC
- object_event 1, EVENT_OBJ_GFX_FAT_MAN, 0, 21, 11, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, SlateportCity_EventScript_14BBD6, 0
- object_event 2, EVENT_OBJ_GFX_MAN_1, 0, 35, 27, 3, MOVEMENT_TYPE_WANDER_LEFT_AND_RIGHT, 1, 0, 0, 0, SlateportCity_EventScript_14BBF3, 0
- object_event 3, EVENT_OBJ_GFX_BOY_4, 0, 15, 13, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 2, 0, 0, SlateportCity_EventScript_14BBB5, 0
- object_event 4, EVENT_OBJ_GFX_WOMAN_5, 0, 26, 29, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, SlateportCity_EventScript_14BC14, 0
- object_event 5, EVENT_OBJ_GFX_VAR_0, 0, 31, 27, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, SlateportCity_EventScript_14BD3A, FLAG_HIDE_EVIL_TEAM_SLATEPORT
- object_event 6, EVENT_OBJ_GFX_COOK, 0, 5, 43, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SlateportCity_EventScript_14BB3F, 0
- object_event 7, EVENT_OBJ_GFX_OLD_WOMAN_2, 0, 20, 37, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, SlateportCity_EventScript_14BB60, 0
- object_event 8, EVENT_OBJ_GFX_GIRL_1, 0, 8, 42, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, SlateportCity_EventScript_14BB81, 0
- object_event 9, EVENT_OBJ_GFX_CAMERAMAN, 0, 29, 13, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, SlateportCity_EventScript_14C017, FLAG_HIDE_GABBY_AND_TY_SLATEPORT
- object_event 10, EVENT_OBJ_GFX_REPORTER_F, 0, 28, 14, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, SlateportCity_EventScript_14C020, FLAG_HIDE_GABBY_AND_TY_SLATEPORT
- object_event 11, EVENT_OBJ_GFX_SCIENTIST_1, 0, 28, 13, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, SlateportCity_EventScript_14BEBC, FLAG_HIDE_STERN_SLATEPORT
- object_event 12, EVENT_OBJ_GFX_SAILOR, 0, 35, 36, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, SlateportCity_EventScript_14BCE2, 0
- object_event 13, EVENT_OBJ_GFX_SAILOR, 0, 28, 46, 3, MOVEMENT_TYPE_WANDER_LEFT_AND_RIGHT, 1, 0, 0, 0, SlateportCity_EventScript_14BCEB, 0
- object_event 14, EVENT_OBJ_GFX_WOMAN_2, 0, 9, 50, 3, MOVEMENT_TYPE_WANDER_UP_AND_DOWN, 0, 1, 0, 0, SlateportCity_EventScript_14BCF4, 0
- object_event 15, EVENT_OBJ_GFX_MAN_4, 0, 16, 46, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, SlateportCity_EventScript_14BCFD, 0
- object_event 16, EVENT_OBJ_GFX_SCHOOL_KID_M, 0, 12, 18, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, SlateportCity_EventScript_14BD06, 0
- object_event 17, EVENT_OBJ_GFX_MANIAC, 0, 8, 24, 3, MOVEMENT_TYPE_WANDER_UP_AND_DOWN, 0, 1, 0, 0, SlateportCity_EventScript_14BCB8, 0
- object_event 18, EVENT_OBJ_GFX_WOMAN_7, 0, 15, 31, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, SlateportCity_EventScript_14BCD9, 0
- object_event 19, EVENT_OBJ_GFX_VAR_1, 0, 30, 27, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, SlateportCity_EventScript_14BD51, FLAG_HIDE_EVIL_TEAM_SLATEPORT
- object_event 20, EVENT_OBJ_GFX_VAR_1, 0, 29, 27, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, SlateportCity_EventScript_14BD68, FLAG_HIDE_EVIL_TEAM_SLATEPORT
- object_event 21, EVENT_OBJ_GFX_MART_EMPLOYEE, 0, 6, 38, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, SlateportCity_EventScript_14BE20, 0
- object_event 22, EVENT_OBJ_GFX_MART_EMPLOYEE, 0, 5, 51, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SlateportCity_EventScript_14BDF2, 0
- object_event 23, EVENT_OBJ_GFX_MAN_6, 0, 34, 51, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SlateportCity_EventScript_14C029, 0
- object_event 24, EVENT_OBJ_GFX_WOMAN_7, 0, 4, 47, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SlateportCity_EventScript_14BAE0, 0
- object_event 25, EVENT_OBJ_GFX_MART_EMPLOYEE, 0, 11, 47, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, SlateportCity_EventScript_14BE9A, FLAG_HIDE_TM_SALESMAN_SLATEPORT
- object_event 26, EVENT_OBJ_GFX_MAN_3, 0, 5, 47, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, SlateportCity_EventScript_14BAB6, 0
- object_event 27, EVENT_OBJ_GFX_VAR_1, 0, 22, 27, 3, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 0, 0, SlateportCity_EventScript_14BD7F, FLAG_HIDE_EVIL_TEAM_SLATEPORT
- object_event 28, EVENT_OBJ_GFX_VAR_1, 0, 23, 27, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 0, 0, SlateportCity_EventScript_14BD96, FLAG_HIDE_EVIL_TEAM_SLATEPORT
- object_event 29, EVENT_OBJ_GFX_VAR_1, 0, 24, 27, 3, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 0, 0, SlateportCity_EventScript_14BDAD, FLAG_HIDE_EVIL_TEAM_SLATEPORT
- object_event 30, EVENT_OBJ_GFX_VAR_1, 0, 21, 26, 3, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 0, 0, SlateportCity_EventScript_14BDC4, FLAG_HIDE_EVIL_TEAM_SLATEPORT
- object_event 31, EVENT_OBJ_GFX_VAR_1, 0, 20, 26, 3, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 0, 0, SlateportCity_EventScript_14BDDB, FLAG_HIDE_EVIL_TEAM_SLATEPORT
-
-SlateportCity_MapWarps:: @ 837FA94
- warp_def 19, 19, 0, 0, MAP_SLATEPORT_CITY_POKEMON_CENTER_1F
- warp_def 13, 26, 0, 0, MAP_SLATEPORT_CITY_MART
- warp_def 26, 38, 0, 0, MAP_SLATEPORT_CITY_STERNS_SHIPYARD_1F
- warp_def 10, 12, 0, 0, MAP_SLATEPORT_CITY_CONTEST_LOBBY
- warp_def 4, 26, 0, 0, MAP_SLATEPORT_CITY_POKEMON_FAN_CLUB
- warp_def 30, 26, 0, 0, MAP_SLATEPORT_CITY_OCEANIC_MUSEUM_1F
- warp_def 5, 19, 0, 0, MAP_SLATEPORT_CITY_HOUSE1
- warp_def 31, 26, 0, 1, MAP_SLATEPORT_CITY_OCEANIC_MUSEUM_1F
- warp_def 28, 12, 0, 0, MAP_SLATEPORT_CITY_HARBOR
- warp_def 40, 7, 0, 2, MAP_SLATEPORT_CITY_HARBOR
- warp_def 21, 44, 0, 0, MAP_SLATEPORT_CITY_HOUSE2
-
-SlateportCity_MapBGEvents:: @ 837FAEC
- bg_event 8, 19, 0, BG_EVENT_PLAYER_FACING_ANY, SlateportCity_EventScript_14BCAF
- bg_event 20, 19, 0, BG_EVENT_PLAYER_FACING_NORTH, SlateportCity_EventScript_1A00EA
- bg_event 21, 19, 0, BG_EVENT_PLAYER_FACING_NORTH, SlateportCity_EventScript_1A00EA
- bg_event 14, 26, 0, BG_EVENT_PLAYER_FACING_NORTH, SlateportCity_EventScript_1A00E1
- bg_event 24, 12, 0, BG_EVENT_PLAYER_FACING_ANY, SlateportCity_EventScript_14BC91
- bg_event 15, 26, 0, BG_EVENT_PLAYER_FACING_NORTH, SlateportCity_EventScript_1A00E1
- bg_event 14, 51, 0, BG_EVENT_PLAYER_FACING_ANY, SlateportCity_EventScript_14BC88
- bg_event 26, 26, 0, BG_EVENT_PLAYER_FACING_ANY, SlateportCity_EventScript_14BC76
- bg_event 16, 22, 0, BG_EVENT_PLAYER_FACING_ANY, SlateportCity_EventScript_14BC7F
- bg_event 8, 26, 0, BG_EVENT_PLAYER_FACING_ANY, SlateportCity_EventScript_14BC6D
- bg_event 7, 13, 0, BG_EVENT_PLAYER_FACING_ANY, SlateportCity_EventScript_14BC33
- bg_event 23, 38, 0, BG_EVENT_PLAYER_FACING_ANY, SlateportCity_EventScript_14BC3C
-
-SlateportCity_MapEvents:: @ 837FB7C
- map_events SlateportCity_EventObjects, SlateportCity_MapWarps, 0x0, SlateportCity_MapBGEvents
diff --git a/data/maps/SlateportCity/header.inc b/data/maps/SlateportCity/header.inc
deleted file mode 100644
index 0407148bb..000000000
--- a/data/maps/SlateportCity/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SlateportCity:: @ 8305464
- .4byte SlateportCity_Layout
- .4byte SlateportCity_MapEvents
- .4byte SlateportCity_MapScripts
- .4byte SlateportCity_MapConnections
- .2byte MUS_FINECITY
- .2byte 2
- .byte MAPSEC_SLATEPORT_CITY
- .byte 0
- .byte WEATHER_SUNNY
- .byte MAP_TYPE_CITY
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/SlateportCity/map.json b/data/maps/SlateportCity/map.json
new file mode 100644
index 000000000..1207a96fd
--- /dev/null
+++ b/data/maps/SlateportCity/map.json
@@ -0,0 +1,612 @@
+{
+ "id": "MAP_SLATEPORT_CITY",
+ "name": "SlateportCity",
+ "layout": "LAYOUT_SLATEPORT_CITY",
+ "music": "MUS_FINECITY",
+ "region_map_section": "MAPSEC_SLATEPORT_CITY",
+ "requires_flash": false,
+ "weather": "WEATHER_SUNNY",
+ "map_type": "MAP_TYPE_CITY",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": [
+ {
+ "direction": "up",
+ "offset": 0,
+ "map": "MAP_ROUTE110"
+ },
+ {
+ "direction": "down",
+ "offset": 0,
+ "map": "MAP_ROUTE109"
+ },
+ {
+ "direction": "right",
+ "offset": 0,
+ "map": "MAP_ROUTE134"
+ }
+ ],
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_FAT_MAN",
+ "x": 21,
+ "y": 11,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SlateportCity_EventScript_14BBD6",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_1",
+ "x": 35,
+ "y": 27,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_LEFT_AND_RIGHT",
+ "movement_range_x": 1,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SlateportCity_EventScript_14BBF3",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BOY_4",
+ "x": 15,
+ "y": 13,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 2,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SlateportCity_EventScript_14BBB5",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_5",
+ "x": 26,
+ "y": 29,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SlateportCity_EventScript_14BC14",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_0",
+ "x": 31,
+ "y": 27,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SlateportCity_EventScript_14BD3A",
+ "flag": "FLAG_HIDE_EVIL_TEAM_SLATEPORT"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_COOK",
+ "x": 5,
+ "y": 43,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SlateportCity_EventScript_14BB3F",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_OLD_WOMAN_2",
+ "x": 20,
+ "y": 37,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SlateportCity_EventScript_14BB60",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_GIRL_1",
+ "x": 8,
+ "y": 42,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SlateportCity_EventScript_14BB81",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_CAMERAMAN",
+ "x": 29,
+ "y": 13,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SlateportCity_EventScript_14C017",
+ "flag": "FLAG_HIDE_GABBY_AND_TY_SLATEPORT"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_REPORTER_F",
+ "x": 28,
+ "y": 14,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SlateportCity_EventScript_14C020",
+ "flag": "FLAG_HIDE_GABBY_AND_TY_SLATEPORT"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_SCIENTIST_1",
+ "x": 28,
+ "y": 13,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SlateportCity_EventScript_14BEBC",
+ "flag": "FLAG_HIDE_STERN_SLATEPORT"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_SAILOR",
+ "x": 35,
+ "y": 36,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SlateportCity_EventScript_14BCE2",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_SAILOR",
+ "x": 28,
+ "y": 46,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_LEFT_AND_RIGHT",
+ "movement_range_x": 1,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SlateportCity_EventScript_14BCEB",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_2",
+ "x": 9,
+ "y": 50,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_UP_AND_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SlateportCity_EventScript_14BCF4",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_4",
+ "x": 16,
+ "y": 46,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SlateportCity_EventScript_14BCFD",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_SCHOOL_KID_M",
+ "x": 12,
+ "y": 18,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SlateportCity_EventScript_14BD06",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MANIAC",
+ "x": 8,
+ "y": 24,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_UP_AND_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SlateportCity_EventScript_14BCB8",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_7",
+ "x": 15,
+ "y": 31,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SlateportCity_EventScript_14BCD9",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_1",
+ "x": 30,
+ "y": 27,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SlateportCity_EventScript_14BD51",
+ "flag": "FLAG_HIDE_EVIL_TEAM_SLATEPORT"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_1",
+ "x": 29,
+ "y": 27,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SlateportCity_EventScript_14BD68",
+ "flag": "FLAG_HIDE_EVIL_TEAM_SLATEPORT"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MART_EMPLOYEE",
+ "x": 6,
+ "y": 38,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SlateportCity_EventScript_14BE20",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MART_EMPLOYEE",
+ "x": 5,
+ "y": 51,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SlateportCity_EventScript_14BDF2",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_6",
+ "x": 34,
+ "y": 51,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SlateportCity_EventScript_14C029",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_7",
+ "x": 4,
+ "y": 47,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SlateportCity_EventScript_14BAE0",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MART_EMPLOYEE",
+ "x": 11,
+ "y": 47,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SlateportCity_EventScript_14BE9A",
+ "flag": "FLAG_HIDE_TM_SALESMAN_SLATEPORT"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_3",
+ "x": 5,
+ "y": 47,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SlateportCity_EventScript_14BAB6",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_1",
+ "x": 22,
+ "y": 27,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SlateportCity_EventScript_14BD7F",
+ "flag": "FLAG_HIDE_EVIL_TEAM_SLATEPORT"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_1",
+ "x": 23,
+ "y": 27,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SlateportCity_EventScript_14BD96",
+ "flag": "FLAG_HIDE_EVIL_TEAM_SLATEPORT"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_1",
+ "x": 24,
+ "y": 27,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SlateportCity_EventScript_14BDAD",
+ "flag": "FLAG_HIDE_EVIL_TEAM_SLATEPORT"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_1",
+ "x": 21,
+ "y": 26,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SlateportCity_EventScript_14BDC4",
+ "flag": "FLAG_HIDE_EVIL_TEAM_SLATEPORT"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_1",
+ "x": 20,
+ "y": 26,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SlateportCity_EventScript_14BDDB",
+ "flag": "FLAG_HIDE_EVIL_TEAM_SLATEPORT"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 19,
+ "y": 19,
+ "elevation": 0,
+ "dest_map": "MAP_SLATEPORT_CITY_POKEMON_CENTER_1F",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 13,
+ "y": 26,
+ "elevation": 0,
+ "dest_map": "MAP_SLATEPORT_CITY_MART",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 26,
+ "y": 38,
+ "elevation": 0,
+ "dest_map": "MAP_SLATEPORT_CITY_STERNS_SHIPYARD_1F",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 10,
+ "y": 12,
+ "elevation": 0,
+ "dest_map": "MAP_SLATEPORT_CITY_CONTEST_LOBBY",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 4,
+ "y": 26,
+ "elevation": 0,
+ "dest_map": "MAP_SLATEPORT_CITY_POKEMON_FAN_CLUB",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 30,
+ "y": 26,
+ "elevation": 0,
+ "dest_map": "MAP_SLATEPORT_CITY_OCEANIC_MUSEUM_1F",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 5,
+ "y": 19,
+ "elevation": 0,
+ "dest_map": "MAP_SLATEPORT_CITY_HOUSE1",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 31,
+ "y": 26,
+ "elevation": 0,
+ "dest_map": "MAP_SLATEPORT_CITY_OCEANIC_MUSEUM_1F",
+ "dest_warp_id": 1
+ },
+ {
+ "x": 28,
+ "y": 12,
+ "elevation": 0,
+ "dest_map": "MAP_SLATEPORT_CITY_HARBOR",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 40,
+ "y": 7,
+ "elevation": 0,
+ "dest_map": "MAP_SLATEPORT_CITY_HARBOR",
+ "dest_warp_id": 2
+ },
+ {
+ "x": 21,
+ "y": 44,
+ "elevation": 0,
+ "dest_map": "MAP_SLATEPORT_CITY_HOUSE2",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [],
+ "bg_events": [
+ {
+ "type": "sign",
+ "x": 8,
+ "y": 19,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "SlateportCity_EventScript_14BCAF"
+ },
+ {
+ "type": "sign",
+ "x": 20,
+ "y": 19,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH",
+ "script": "SlateportCity_EventScript_1A00EA"
+ },
+ {
+ "type": "sign",
+ "x": 21,
+ "y": 19,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH",
+ "script": "SlateportCity_EventScript_1A00EA"
+ },
+ {
+ "type": "sign",
+ "x": 14,
+ "y": 26,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH",
+ "script": "SlateportCity_EventScript_1A00E1"
+ },
+ {
+ "type": "sign",
+ "x": 24,
+ "y": 12,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "SlateportCity_EventScript_14BC91"
+ },
+ {
+ "type": "sign",
+ "x": 15,
+ "y": 26,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH",
+ "script": "SlateportCity_EventScript_1A00E1"
+ },
+ {
+ "type": "sign",
+ "x": 14,
+ "y": 51,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "SlateportCity_EventScript_14BC88"
+ },
+ {
+ "type": "sign",
+ "x": 26,
+ "y": 26,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "SlateportCity_EventScript_14BC76"
+ },
+ {
+ "type": "sign",
+ "x": 16,
+ "y": 22,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "SlateportCity_EventScript_14BC7F"
+ },
+ {
+ "type": "sign",
+ "x": 8,
+ "y": 26,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "SlateportCity_EventScript_14BC6D"
+ },
+ {
+ "type": "sign",
+ "x": 7,
+ "y": 13,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "SlateportCity_EventScript_14BC33"
+ },
+ {
+ "type": "sign",
+ "x": 23,
+ "y": 38,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "SlateportCity_EventScript_14BC3C"
+ }
+ ]
+} \ No newline at end of file
diff --git a/data/maps/SlateportCity_ContestHall/events.inc b/data/maps/SlateportCity_ContestHall/events.inc
deleted file mode 100644
index 1dfff2ffd..000000000
--- a/data/maps/SlateportCity_ContestHall/events.inc
+++ /dev/null
@@ -1,25 +0,0 @@
-SlateportCity_ContestHall_EventObjects:: @ 83878A4
- object_event 1, EVENT_OBJ_GFX_FAT_MAN, 0, 19, 15, 3, MOVEMENT_TYPE_WANDER_AROUND, 2, 2, 0, 0, SlateportCity_ContestHall_EventScript_15554C, 0
- object_event 2, EVENT_OBJ_GFX_LITTLE_BOY_1, 0, 1, 4, 3, MOVEMENT_TYPE_WANDER_AROUND, 3, 3, 0, 0, SlateportCity_ContestHall_EventScript_155555, 0
- object_event 3, EVENT_OBJ_GFX_WOMAN_4, 0, 9, 8, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SlateportCity_ContestHall_EventScript_15559F, 0
- object_event 4, EVENT_OBJ_GFX_CONTEST_JUDGE, 0, 12, 8, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SlateportCity_ContestHall_EventScript_1555B4, 0
- object_event 5, EVENT_OBJ_GFX_GIRL_1, 0, 7, 11, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, SlateportCity_ContestHall_EventScript_1555C9, 0
- object_event 6, EVENT_OBJ_GFX_BOY_2, 0, 9, 11, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, SlateportCity_ContestHall_EventScript_1555DE, 0
- object_event 7, EVENT_OBJ_GFX_BOY_1, 0, 11, 11, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, SlateportCity_ContestHall_EventScript_1555F3, 0
- object_event 8, EVENT_OBJ_GFX_FAT_MAN, 0, 13, 11, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, SlateportCity_ContestHall_EventScript_155608, 0
- object_event 9, EVENT_OBJ_GFX_MANIAC, 0, 8, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SlateportCity_ContestHall_EventScript_15561D, 0
- object_event 10, EVENT_OBJ_GFX_HIKER, 0, 12, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SlateportCity_ContestHall_EventScript_155632, 0
- object_event 11, EVENT_OBJ_GFX_BOY_3, 0, 5, 10, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, SlateportCity_ContestHall_EventScript_15565C, 0
- object_event 12, EVENT_OBJ_GFX_BOY_1, 0, 15, 10, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, SlateportCity_ContestHall_EventScript_155647, 0
- object_event 13, EVENT_OBJ_GFX_SAILOR, 0, 0, 17, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 4, 0, 0, SlateportCity_ContestHall_EventScript_15555E, 0
-
-SlateportCity_ContestHall_MapWarps:: @ 83879DC
- warp_def 10, 17, 0, 2, MAP_SLATEPORT_CITY_CONTEST_LOBBY
- warp_def 11, 17, 0, 2, MAP_SLATEPORT_CITY_CONTEST_LOBBY
-
-SlateportCity_ContestHall_MapBGEvents:: @ 83879EC
- bg_event 12, 14, 3, BG_EVENT_PLAYER_FACING_ANY, SlateportCity_ContestHall_EventScript_155671
- bg_event 8, 14, 3, BG_EVENT_PLAYER_FACING_ANY, SlateportCity_ContestHall_EventScript_155671
-
-SlateportCity_ContestHall_MapEvents:: @ 8387A04
- map_events SlateportCity_ContestHall_EventObjects, SlateportCity_ContestHall_MapWarps, 0x0, SlateportCity_ContestHall_MapBGEvents
diff --git a/data/maps/SlateportCity_ContestHall/header.inc b/data/maps/SlateportCity_ContestHall/header.inc
deleted file mode 100644
index 751ce5ca6..000000000
--- a/data/maps/SlateportCity_ContestHall/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SlateportCity_ContestHall:: @ 8306034
- .4byte ContestHall_Layout
- .4byte SlateportCity_ContestHall_MapEvents
- .4byte SlateportCity_ContestHall_MapScripts
- .4byte 0x0
- .2byte MUS_CONLOBBY
- .2byte 73
- .byte MAPSEC_SLATEPORT_CITY
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/SlateportCity_ContestHall/map.json b/data/maps/SlateportCity_ContestHall/map.json
new file mode 100644
index 000000000..e9d393dc4
--- /dev/null
+++ b/data/maps/SlateportCity_ContestHall/map.json
@@ -0,0 +1,219 @@
+{
+ "id": "MAP_SLATEPORT_CITY_CONTEST_HALL",
+ "name": "SlateportCity_ContestHall",
+ "layout": "LAYOUT_CONTEST_HALL",
+ "music": "MUS_CONLOBBY",
+ "region_map_section": "MAPSEC_SLATEPORT_CITY",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_FAT_MAN",
+ "x": 19,
+ "y": 15,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_AROUND",
+ "movement_range_x": 2,
+ "movement_range_y": 2,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SlateportCity_ContestHall_EventScript_15554C",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_LITTLE_BOY_1",
+ "x": 1,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_AROUND",
+ "movement_range_x": 3,
+ "movement_range_y": 3,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SlateportCity_ContestHall_EventScript_155555",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_4",
+ "x": 9,
+ "y": 8,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SlateportCity_ContestHall_EventScript_15559F",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_CONTEST_JUDGE",
+ "x": 12,
+ "y": 8,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SlateportCity_ContestHall_EventScript_1555B4",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_GIRL_1",
+ "x": 7,
+ "y": 11,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SlateportCity_ContestHall_EventScript_1555C9",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BOY_2",
+ "x": 9,
+ "y": 11,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SlateportCity_ContestHall_EventScript_1555DE",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BOY_1",
+ "x": 11,
+ "y": 11,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SlateportCity_ContestHall_EventScript_1555F3",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_FAT_MAN",
+ "x": 13,
+ "y": 11,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SlateportCity_ContestHall_EventScript_155608",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MANIAC",
+ "x": 8,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SlateportCity_ContestHall_EventScript_15561D",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_HIKER",
+ "x": 12,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SlateportCity_ContestHall_EventScript_155632",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BOY_3",
+ "x": 5,
+ "y": 10,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SlateportCity_ContestHall_EventScript_15565C",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BOY_1",
+ "x": 15,
+ "y": 10,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SlateportCity_ContestHall_EventScript_155647",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_SAILOR",
+ "x": 0,
+ "y": 17,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 4,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SlateportCity_ContestHall_EventScript_15555E",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 10,
+ "y": 17,
+ "elevation": 0,
+ "dest_map": "MAP_SLATEPORT_CITY_CONTEST_LOBBY",
+ "dest_warp_id": 2
+ },
+ {
+ "x": 11,
+ "y": 17,
+ "elevation": 0,
+ "dest_map": "MAP_SLATEPORT_CITY_CONTEST_LOBBY",
+ "dest_warp_id": 2
+ }
+ ],
+ "coord_events": [],
+ "bg_events": [
+ {
+ "type": "sign",
+ "x": 12,
+ "y": 14,
+ "elevation": 3,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "SlateportCity_ContestHall_EventScript_155671"
+ },
+ {
+ "type": "sign",
+ "x": 8,
+ "y": 14,
+ "elevation": 3,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "SlateportCity_ContestHall_EventScript_155671"
+ }
+ ]
+} \ No newline at end of file
diff --git a/data/maps/SlateportCity_ContestLobby/events.inc b/data/maps/SlateportCity_ContestLobby/events.inc
deleted file mode 100644
index cb437b8d9..000000000
--- a/data/maps/SlateportCity_ContestLobby/events.inc
+++ /dev/null
@@ -1,23 +0,0 @@
-SlateportCity_ContestLobby_EventObjects:: @ 8387788
- object_event 1, EVENT_OBJ_GFX_TEALA, 0, 5, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 3, 0, 0, SlateportCity_ContestLobby_EventScript_15541D, 0
- object_event 2, EVENT_OBJ_GFX_OLD_MAN_1, 0, 11, 5, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, SlateportCity_ContestLobby_EventScript_1B7795, 0
- object_event 3, EVENT_OBJ_GFX_MAN_4, 0, 0, 3, 3, MOVEMENT_TYPE_WANDER_UP_AND_DOWN, 0, 1, 0, 0, SlateportCity_ContestLobby_EventScript_1554DE, 0
- object_event 4, EVENT_OBJ_GFX_GIRL_1, 0, 9, 6, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, SlateportCity_ContestLobby_EventScript_1554E7, 0
- object_event 5, EVENT_OBJ_GFX_REPORTER_M, 0, 7, 5, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, SlateportCity_ContestLobby_EventScript_1AE0B6, FLAG_HIDE_CONTEST_REPORTER_SLATEPORT
- object_event 6, EVENT_OBJ_GFX_BOY_1, 0, 13, 5, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, SlateportCity_ContestLobby_EventScript_155536, 0
- object_event 7, EVENT_OBJ_GFX_LITTLE_GIRL_2, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SlateportCity_ContestLobby_EventScript_1554F9, 0
- object_event 8, EVENT_OBJ_GFX_WOMAN_3, 0, 12, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SlateportCity_ContestLobby_EventScript_1554F0, 0
-
-SlateportCity_ContestLobby_MapWarps:: @ 8387848
- warp_def 5, 6, 0, 3, MAP_SLATEPORT_CITY
- warp_def 6, 6, 0, 3, MAP_SLATEPORT_CITY
- warp_def 1, 1, 0, 0, MAP_SLATEPORT_CITY_CONTEST_HALL
-
-SlateportCity_ContestLobby_MapBGEvents:: @ 8387860
- bg_event 10, 3, 0, BG_EVENT_PLAYER_FACING_ANY, SlateportCity_ContestLobby_EventScript_1B7829
- bg_event 12, 5, 0, BG_EVENT_PLAYER_FACING_ANY, SlateportCity_ContestLobby_EventScript_1B761E
- bg_event 11, 1, 0, BG_EVENT_PLAYER_FACING_ANY, SlateportCity_ContestLobby_EventScript_15552F
- bg_event 13, 1, 0, BG_EVENT_PLAYER_FACING_ANY, SlateportCity_ContestLobby_EventScript_15908D
-
-SlateportCity_ContestLobby_MapEvents:: @ 8387890
- map_events SlateportCity_ContestLobby_EventObjects, SlateportCity_ContestLobby_MapWarps, 0x0, SlateportCity_ContestLobby_MapBGEvents
diff --git a/data/maps/SlateportCity_ContestLobby/header.inc b/data/maps/SlateportCity_ContestLobby/header.inc
deleted file mode 100644
index 35cc213e9..000000000
--- a/data/maps/SlateportCity_ContestLobby/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SlateportCity_ContestLobby:: @ 8306018
- .4byte ContestLobby_Layout
- .4byte SlateportCity_ContestLobby_MapEvents
- .4byte SlateportCity_ContestLobby_MapScripts
- .4byte 0x0
- .2byte MUS_CONLOBBY
- .2byte 72
- .byte MAPSEC_SLATEPORT_CITY
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/SlateportCity_ContestLobby/map.json b/data/maps/SlateportCity_ContestLobby/map.json
new file mode 100644
index 000000000..9daed7053
--- /dev/null
+++ b/data/maps/SlateportCity_ContestLobby/map.json
@@ -0,0 +1,177 @@
+{
+ "id": "MAP_SLATEPORT_CITY_CONTEST_LOBBY",
+ "name": "SlateportCity_ContestLobby",
+ "layout": "LAYOUT_CONTEST_LOBBY",
+ "music": "MUS_CONLOBBY",
+ "region_map_section": "MAPSEC_SLATEPORT_CITY",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_TEALA",
+ "x": 5,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 3,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SlateportCity_ContestLobby_EventScript_15541D",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_OLD_MAN_1",
+ "x": 11,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SlateportCity_ContestLobby_EventScript_1B7795",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_4",
+ "x": 0,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_UP_AND_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SlateportCity_ContestLobby_EventScript_1554DE",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_GIRL_1",
+ "x": 9,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SlateportCity_ContestLobby_EventScript_1554E7",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_REPORTER_M",
+ "x": 7,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SlateportCity_ContestLobby_EventScript_1AE0B6",
+ "flag": "FLAG_HIDE_CONTEST_REPORTER_SLATEPORT"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BOY_1",
+ "x": 13,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SlateportCity_ContestLobby_EventScript_155536",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_LITTLE_GIRL_2",
+ "x": 1,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SlateportCity_ContestLobby_EventScript_1554F9",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_3",
+ "x": 12,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SlateportCity_ContestLobby_EventScript_1554F0",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 5,
+ "y": 6,
+ "elevation": 0,
+ "dest_map": "MAP_SLATEPORT_CITY",
+ "dest_warp_id": 3
+ },
+ {
+ "x": 6,
+ "y": 6,
+ "elevation": 0,
+ "dest_map": "MAP_SLATEPORT_CITY",
+ "dest_warp_id": 3
+ },
+ {
+ "x": 1,
+ "y": 1,
+ "elevation": 0,
+ "dest_map": "MAP_SLATEPORT_CITY_CONTEST_HALL",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [],
+ "bg_events": [
+ {
+ "type": "sign",
+ "x": 10,
+ "y": 3,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "SlateportCity_ContestLobby_EventScript_1B7829"
+ },
+ {
+ "type": "sign",
+ "x": 12,
+ "y": 5,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "SlateportCity_ContestLobby_EventScript_1B761E"
+ },
+ {
+ "type": "sign",
+ "x": 11,
+ "y": 1,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "SlateportCity_ContestLobby_EventScript_15552F"
+ },
+ {
+ "type": "sign",
+ "x": 13,
+ "y": 1,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "SlateportCity_ContestLobby_EventScript_15908D"
+ }
+ ]
+} \ No newline at end of file
diff --git a/data/maps/SlateportCity_Harbor/events.inc b/data/maps/SlateportCity_Harbor/events.inc
deleted file mode 100644
index 1f5cb2936..000000000
--- a/data/maps/SlateportCity_Harbor/events.inc
+++ /dev/null
@@ -1,24 +0,0 @@
-SlateportCity_Harbor_EventObjects:: @ 8387F30
- object_event 1, EVENT_OBJ_GFX_BEAUTY, 0, 8, 10, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SlateportCity_Harbor_EventScript_1560C4, FLAG_HIDE_WORKERS_SLATEPORT_HARBOR
- object_event 2, EVENT_OBJ_GFX_SAILOR, 0, 4, 12, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, SlateportCity_Harbor_EventScript_1561FF, FLAG_HIDE_WORKERS_SLATEPORT_HARBOR
- object_event 3, EVENT_OBJ_GFX_FAT_MAN, 0, 1, 12, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, SlateportCity_Harbor_EventScript_156208, FLAG_HIDE_WORKERS_SLATEPORT_HARBOR
- object_event 4, EVENT_OBJ_GFX_SCIENTIST_1, 0, 6, 13, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, SlateportCity_Harbor_EventScript_156211, FLAG_HIDE_STERN_SLATEPORT_HARBOR
- object_event 5, EVENT_OBJ_GFX_SS_TIDAL, 0, 8, 9, 1, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, 0x0, FLAG_HIDE_SS_TIDAL_SLATEPORT_HARBOR
- object_event 6, EVENT_OBJ_GFX_VAR_1, 0, 7, 10, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, 0x0, FLAG_HIDE_GRUNT_1_SLATEPORT_HARBOR
- object_event 7, EVENT_OBJ_GFX_VAR_6, 0, 8, 10, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, 0x0, FLAG_HIDE_GRUNT_2_SLATEPORT_HARBOR
- object_event 8, EVENT_OBJ_GFX_SUBMARINE_SHADOW, 0, 7, 9, 1, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, 0x0, FLAG_HIDE_SUBMARINE_SHADOW_SLATEPORT_HARBOR
-
-SlateportCity_Harbor_MapWarps:: @ 8387FF0
- warp_def 11, 14, 0, 8, MAP_SLATEPORT_CITY
- warp_def 12, 14, 0, 8, MAP_SLATEPORT_CITY
- warp_def 19, 15, 0, 9, MAP_SLATEPORT_CITY
- warp_def 20, 15, 0, 9, MAP_SLATEPORT_CITY
-
-SlateportCity_Harbor_MapCoordEvents:: @ 8388010
- coord_event 8, 11, 3, VAR_SLATEPORT_HARBOR_STATE, 1, SlateportCity_Harbor_EventScript_155F9B
- coord_event 8, 12, 3, VAR_SLATEPORT_HARBOR_STATE, 1, SlateportCity_Harbor_EventScript_155FA7
- coord_event 8, 13, 3, VAR_SLATEPORT_HARBOR_STATE, 1, SlateportCity_Harbor_EventScript_155FB3
- coord_event 8, 14, 3, VAR_SLATEPORT_HARBOR_STATE, 1, SlateportCity_Harbor_EventScript_155FBF
-
-SlateportCity_Harbor_MapEvents:: @ 8388050
- map_events SlateportCity_Harbor_EventObjects, SlateportCity_Harbor_MapWarps, SlateportCity_Harbor_MapCoordEvents, 0x0
diff --git a/data/maps/SlateportCity_Harbor/header.inc b/data/maps/SlateportCity_Harbor/header.inc
deleted file mode 100644
index 166638e38..000000000
--- a/data/maps/SlateportCity_Harbor/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SlateportCity_Harbor:: @ 83060C0
- .4byte Harbor_Layout
- .4byte SlateportCity_Harbor_MapEvents
- .4byte SlateportCity_Harbor_MapScripts
- .4byte 0x0
- .2byte MUS_FINECITY
- .2byte 88
- .byte MAPSEC_SLATEPORT_CITY
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/SlateportCity_Harbor/map.json b/data/maps/SlateportCity_Harbor/map.json
new file mode 100644
index 000000000..9dce77426
--- /dev/null
+++ b/data/maps/SlateportCity_Harbor/map.json
@@ -0,0 +1,188 @@
+{
+ "id": "MAP_SLATEPORT_CITY_HARBOR",
+ "name": "SlateportCity_Harbor",
+ "layout": "LAYOUT_HARBOR",
+ "music": "MUS_FINECITY",
+ "region_map_section": "MAPSEC_SLATEPORT_CITY",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BEAUTY",
+ "x": 8,
+ "y": 10,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SlateportCity_Harbor_EventScript_1560C4",
+ "flag": "FLAG_HIDE_WORKERS_SLATEPORT_HARBOR"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_SAILOR",
+ "x": 4,
+ "y": 12,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SlateportCity_Harbor_EventScript_1561FF",
+ "flag": "FLAG_HIDE_WORKERS_SLATEPORT_HARBOR"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_FAT_MAN",
+ "x": 1,
+ "y": 12,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SlateportCity_Harbor_EventScript_156208",
+ "flag": "FLAG_HIDE_WORKERS_SLATEPORT_HARBOR"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_SCIENTIST_1",
+ "x": 6,
+ "y": 13,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SlateportCity_Harbor_EventScript_156211",
+ "flag": "FLAG_HIDE_STERN_SLATEPORT_HARBOR"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_SS_TIDAL",
+ "x": 8,
+ "y": 9,
+ "elevation": 1,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_HIDE_SS_TIDAL_SLATEPORT_HARBOR"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_1",
+ "x": 7,
+ "y": 10,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_HIDE_GRUNT_1_SLATEPORT_HARBOR"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_6",
+ "x": 8,
+ "y": 10,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_HIDE_GRUNT_2_SLATEPORT_HARBOR"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_SUBMARINE_SHADOW",
+ "x": 7,
+ "y": 9,
+ "elevation": 1,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_HIDE_SUBMARINE_SHADOW_SLATEPORT_HARBOR"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 11,
+ "y": 14,
+ "elevation": 0,
+ "dest_map": "MAP_SLATEPORT_CITY",
+ "dest_warp_id": 8
+ },
+ {
+ "x": 12,
+ "y": 14,
+ "elevation": 0,
+ "dest_map": "MAP_SLATEPORT_CITY",
+ "dest_warp_id": 8
+ },
+ {
+ "x": 19,
+ "y": 15,
+ "elevation": 0,
+ "dest_map": "MAP_SLATEPORT_CITY",
+ "dest_warp_id": 9
+ },
+ {
+ "x": 20,
+ "y": 15,
+ "elevation": 0,
+ "dest_map": "MAP_SLATEPORT_CITY",
+ "dest_warp_id": 9
+ }
+ ],
+ "coord_events": [
+ {
+ "type": "trigger",
+ "x": 8,
+ "y": 11,
+ "elevation": 3,
+ "var": "VAR_SLATEPORT_HARBOR_STATE",
+ "var_value": "1",
+ "script": "SlateportCity_Harbor_EventScript_155F9B"
+ },
+ {
+ "type": "trigger",
+ "x": 8,
+ "y": 12,
+ "elevation": 3,
+ "var": "VAR_SLATEPORT_HARBOR_STATE",
+ "var_value": "1",
+ "script": "SlateportCity_Harbor_EventScript_155FA7"
+ },
+ {
+ "type": "trigger",
+ "x": 8,
+ "y": 13,
+ "elevation": 3,
+ "var": "VAR_SLATEPORT_HARBOR_STATE",
+ "var_value": "1",
+ "script": "SlateportCity_Harbor_EventScript_155FB3"
+ },
+ {
+ "type": "trigger",
+ "x": 8,
+ "y": 14,
+ "elevation": 3,
+ "var": "VAR_SLATEPORT_HARBOR_STATE",
+ "var_value": "1",
+ "script": "SlateportCity_Harbor_EventScript_155FBF"
+ }
+ ],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/SlateportCity_House1/events.inc b/data/maps/SlateportCity_House1/events.inc
deleted file mode 100644
index bb9fb2875..000000000
--- a/data/maps/SlateportCity_House1/events.inc
+++ /dev/null
@@ -1,9 +0,0 @@
-SlateportCity_House1_EventObjects:: @ 8387A18
- object_event 1, EVENT_OBJ_GFX_OLD_MAN_1, 0, 7, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SlateportCity_House1_EventScript_15567B, 0
-
-SlateportCity_House1_MapWarps:: @ 8387A30
- warp_def 3, 7, 0, 6, MAP_SLATEPORT_CITY
- warp_def 4, 7, 0, 6, MAP_SLATEPORT_CITY
-
-SlateportCity_House1_MapEvents:: @ 8387A40
- map_events SlateportCity_House1_EventObjects, SlateportCity_House1_MapWarps, 0x0, 0x0
diff --git a/data/maps/SlateportCity_House1/header.inc b/data/maps/SlateportCity_House1/header.inc
deleted file mode 100644
index 61e6c3437..000000000
--- a/data/maps/SlateportCity_House1/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SlateportCity_House1:: @ 8306050
- .4byte HouseWithBed_Layout
- .4byte SlateportCity_House1_MapEvents
- .4byte SlateportCity_House1_MapScripts
- .4byte 0x0
- .2byte MUS_FINECITY
- .2byte 80
- .byte MAPSEC_SLATEPORT_CITY
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/SlateportCity_House1/map.json b/data/maps/SlateportCity_House1/map.json
new file mode 100644
index 000000000..795ccbcbe
--- /dev/null
+++ b/data/maps/SlateportCity_House1/map.json
@@ -0,0 +1,46 @@
+{
+ "id": "MAP_SLATEPORT_CITY_HOUSE1",
+ "name": "SlateportCity_House1",
+ "layout": "LAYOUT_HOUSE_WITH_BED",
+ "music": "MUS_FINECITY",
+ "region_map_section": "MAPSEC_SLATEPORT_CITY",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_OLD_MAN_1",
+ "x": 7,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SlateportCity_House1_EventScript_15567B",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 3,
+ "y": 7,
+ "elevation": 0,
+ "dest_map": "MAP_SLATEPORT_CITY",
+ "dest_warp_id": 6
+ },
+ {
+ "x": 4,
+ "y": 7,
+ "elevation": 0,
+ "dest_map": "MAP_SLATEPORT_CITY",
+ "dest_warp_id": 6
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/SlateportCity_House2/events.inc b/data/maps/SlateportCity_House2/events.inc
deleted file mode 100644
index 6c89b9e73..000000000
--- a/data/maps/SlateportCity_House2/events.inc
+++ /dev/null
@@ -1,10 +0,0 @@
-SlateportCity_House2_EventObjects:: @ 8388064
- object_event 1, EVENT_OBJ_GFX_MAN_3, 0, 4, 4, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, SlateportCity_House2_EventScript_156390, 0
- object_event 2, EVENT_OBJ_GFX_GIRL_3, 0, 7, 4, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, SlateportCity_House2_EventScript_156399, 0
-
-SlateportCity_House2_MapWarps:: @ 8388094
- warp_def 3, 7, 0, 10, MAP_SLATEPORT_CITY
- warp_def 4, 7, 0, 10, MAP_SLATEPORT_CITY
-
-SlateportCity_House2_MapEvents:: @ 83880A4
- map_events SlateportCity_House2_EventObjects, SlateportCity_House2_MapWarps, 0x0, 0x0
diff --git a/data/maps/SlateportCity_House2/header.inc b/data/maps/SlateportCity_House2/header.inc
deleted file mode 100644
index a9a2a6c51..000000000
--- a/data/maps/SlateportCity_House2/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SlateportCity_House2:: @ 83060DC
- .4byte House2_Layout
- .4byte SlateportCity_House2_MapEvents
- .4byte SlateportCity_House2_MapScripts
- .4byte 0x0
- .2byte MUS_FINECITY
- .2byte 60
- .byte MAPSEC_SLATEPORT_CITY
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/SlateportCity_House2/map.json b/data/maps/SlateportCity_House2/map.json
new file mode 100644
index 000000000..0cbf020dc
--- /dev/null
+++ b/data/maps/SlateportCity_House2/map.json
@@ -0,0 +1,59 @@
+{
+ "id": "MAP_SLATEPORT_CITY_HOUSE2",
+ "name": "SlateportCity_House2",
+ "layout": "LAYOUT_HOUSE2",
+ "music": "MUS_FINECITY",
+ "region_map_section": "MAPSEC_SLATEPORT_CITY",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_3",
+ "x": 4,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SlateportCity_House2_EventScript_156390",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_GIRL_3",
+ "x": 7,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SlateportCity_House2_EventScript_156399",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 3,
+ "y": 7,
+ "elevation": 0,
+ "dest_map": "MAP_SLATEPORT_CITY",
+ "dest_warp_id": 10
+ },
+ {
+ "x": 4,
+ "y": 7,
+ "elevation": 0,
+ "dest_map": "MAP_SLATEPORT_CITY",
+ "dest_warp_id": 10
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/SlateportCity_Mart/events.inc b/data/maps/SlateportCity_Mart/events.inc
deleted file mode 100644
index 03efeb9bb..000000000
--- a/data/maps/SlateportCity_Mart/events.inc
+++ /dev/null
@@ -1,11 +0,0 @@
-SlateportCity_Mart_EventObjects:: @ 83881B0
- object_event 1, EVENT_OBJ_GFX_MART_EMPLOYEE, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, SlateportCity_Mart_EventScript_156411, 0
- object_event 2, EVENT_OBJ_GFX_BLACK_BELT, 0, 4, 2, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, SlateportCity_Mart_EventScript_15643E, 0
- object_event 3, EVENT_OBJ_GFX_MAN_4, 0, 5, 5, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, SlateportCity_Mart_EventScript_156447, 0
-
-SlateportCity_Mart_MapWarps:: @ 83881F8
- warp_def 3, 7, 0, 1, MAP_SLATEPORT_CITY
- warp_def 4, 7, 0, 1, MAP_SLATEPORT_CITY
-
-SlateportCity_Mart_MapEvents:: @ 8388208
- map_events SlateportCity_Mart_EventObjects, SlateportCity_Mart_MapWarps, 0x0, 0x0
diff --git a/data/maps/SlateportCity_Mart/header.inc b/data/maps/SlateportCity_Mart/header.inc
deleted file mode 100644
index 6855a45ed..000000000
--- a/data/maps/SlateportCity_Mart/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SlateportCity_Mart:: @ 8306130
- .4byte PokeMart_Layout
- .4byte SlateportCity_Mart_MapEvents
- .4byte SlateportCity_Mart_MapScripts
- .4byte 0x0
- .2byte MUS_FRIENDLY
- .2byte 63
- .byte MAPSEC_SLATEPORT_CITY
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/SlateportCity_Mart/map.json b/data/maps/SlateportCity_Mart/map.json
new file mode 100644
index 000000000..e9d3cf528
--- /dev/null
+++ b/data/maps/SlateportCity_Mart/map.json
@@ -0,0 +1,72 @@
+{
+ "id": "MAP_SLATEPORT_CITY_MART",
+ "name": "SlateportCity_Mart",
+ "layout": "LAYOUT_POKE_MART",
+ "music": "MUS_FRIENDLY",
+ "region_map_section": "MAPSEC_SLATEPORT_CITY",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MART_EMPLOYEE",
+ "x": 1,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SlateportCity_Mart_EventScript_156411",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BLACK_BELT",
+ "x": 4,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SlateportCity_Mart_EventScript_15643E",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_4",
+ "x": 5,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SlateportCity_Mart_EventScript_156447",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 3,
+ "y": 7,
+ "elevation": 0,
+ "dest_map": "MAP_SLATEPORT_CITY",
+ "dest_warp_id": 1
+ },
+ {
+ "x": 4,
+ "y": 7,
+ "elevation": 0,
+ "dest_map": "MAP_SLATEPORT_CITY",
+ "dest_warp_id": 1
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/SlateportCity_OceanicMuseum_1F/events.inc b/data/maps/SlateportCity_OceanicMuseum_1F/events.inc
deleted file mode 100644
index 2b65dc440..000000000
--- a/data/maps/SlateportCity_OceanicMuseum_1F/events.inc
+++ /dev/null
@@ -1,42 +0,0 @@
-SlateportCity_OceanicMuseum_1F_EventObjects:: @ 8387B38
- object_event 1, EVENT_OBJ_GFX_BEAUTY, 0, 7, 7, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, SlateportCity_OceanicMuseum_1F_EventScript_155ADB, 0
- object_event 2, EVENT_OBJ_GFX_VAR_1, 0, 18, 5, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, SlateportCity_OceanicMuseum_1F_EventScript_155BA1, FLAG_HIDE_EVIL_TEAM_OCEANIC_MUSEUM
- object_event 3, EVENT_OBJ_GFX_VAR_1, 0, 12, 2, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, SlateportCity_OceanicMuseum_1F_EventScript_155BAA, FLAG_HIDE_EVIL_TEAM_OCEANIC_MUSEUM
- object_event 4, EVENT_OBJ_GFX_VAR_1, 0, 2, 8, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, SlateportCity_OceanicMuseum_1F_EventScript_155B98, FLAG_HIDE_EVIL_TEAM_OCEANIC_MUSEUM
- object_event 5, EVENT_OBJ_GFX_VAR_0, 0, 3, 4, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, SlateportCity_OceanicMuseum_1F_EventScript_155B8F, FLAG_HIDE_EVIL_TEAM_OCEANIC_MUSEUM
- object_event 6, EVENT_OBJ_GFX_VAR_1, 0, 14, 4, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, SlateportCity_OceanicMuseum_1F_EventScript_155BB3, FLAG_HIDE_EVIL_TEAM_OCEANIC_MUSEUM
- object_event 7, EVENT_OBJ_GFX_BEAUTY, 0, 12, 7, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, SlateportCity_OceanicMuseum_1F_EventScript_155ADB, 0
- object_event 8, EVENT_OBJ_GFX_VAR_1, 0, 8, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SlateportCity_OceanicMuseum_1F_EventScript_155BBC, FLAG_HIDE_EVIL_TEAM_OCEANIC_MUSEUM
- object_event 9, EVENT_OBJ_GFX_WOMAN_7, 0, 4, 2, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, SlateportCity_OceanicMuseum_1F_EventScript_155C16, FLAG_HIDE_OCEANIC_MUSEUM_VISITORS
- object_event 10, EVENT_OBJ_GFX_MANIAC, 0, 10, 2, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 0, 0, SlateportCity_OceanicMuseum_1F_EventScript_155C1F, FLAG_HIDE_OCEANIC_MUSEUM_VISITORS
- object_event 11, EVENT_OBJ_GFX_MAN_3, 0, 17, 7, 3, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 0, 0, SlateportCity_OceanicMuseum_1F_EventScript_155C28, FLAG_HIDE_OCEANIC_MUSEUM_VISITORS
- object_event 12, EVENT_OBJ_GFX_LITTLE_GIRL_2, 0, 18, 8, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 0, 0, SlateportCity_OceanicMuseum_1F_EventScript_155C31, FLAG_HIDE_OCEANIC_MUSEUM_VISITORS
- object_event 13, EVENT_OBJ_GFX_VAR_1, 0, 9, 4, 3, MOVEMENT_TYPE_FACE_UP_LEFT_AND_RIGHT, 1, 1, 0, 0, SlateportCity_OceanicMuseum_1F_EventScript_155C3A, FLAG_HIDE_SCARED_GRUNT_OCEANIC_MUSEUM
- object_event 14, EVENT_OBJ_GFX_REPORTER_M, 0, 7, 4, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, SlateportCity_OceanicMuseum_1F_EventScript_1ADEE0, FLAG_HIDE_OCEANIC_MUSEUM_VISITORS
-
-SlateportCity_OceanicMuseum_1F_MapWarps:: @ 8387C88
- warp_def 9, 8, 0, 5, MAP_SLATEPORT_CITY
- warp_def 10, 8, 0, 7, MAP_SLATEPORT_CITY
- warp_def 6, 1, 0, 0, MAP_SLATEPORT_CITY_OCEANIC_MUSEUM_2F
-
-SlateportCity_OceanicMuseum_1F_MapCoordEvents:: @ 8387CA0
- coord_event 9, 7, 3, VAR_SLATEPORT_MUSEUM_1F_STATE, 0, SlateportCity_OceanicMuseum_1F_EventScript_155AE4
- coord_event 10, 7, 3, VAR_SLATEPORT_MUSEUM_1F_STATE, 0, SlateportCity_OceanicMuseum_1F_EventScript_155AF5
-
-SlateportCity_OceanicMuseum_1F_MapBGEvents:: @ 8387CC0
- bg_event 2, 7, 0, BG_EVENT_PLAYER_FACING_ANY, SlateportCity_OceanicMuseum_1F_EventScript_155BC5
- bg_event 2, 4, 0, BG_EVENT_PLAYER_FACING_ANY, SlateportCity_OceanicMuseum_1F_EventScript_155BCE
- bg_event 9, 1, 0, BG_EVENT_PLAYER_FACING_ANY, SlateportCity_OceanicMuseum_1F_EventScript_155BD7
- bg_event 12, 1, 0, BG_EVENT_PLAYER_FACING_ANY, SlateportCity_OceanicMuseum_1F_EventScript_155BE0
- bg_event 10, 1, 0, BG_EVENT_PLAYER_FACING_ANY, SlateportCity_OceanicMuseum_1F_EventScript_155BD7
- bg_event 13, 1, 0, BG_EVENT_PLAYER_FACING_ANY, SlateportCity_OceanicMuseum_1F_EventScript_155BE0
- bg_event 15, 4, 0, BG_EVENT_PLAYER_FACING_ANY, SlateportCity_OceanicMuseum_1F_EventScript_155BE9
- bg_event 18, 4, 0, BG_EVENT_PLAYER_FACING_ANY, SlateportCity_OceanicMuseum_1F_EventScript_155BF2
- bg_event 18, 7, 0, BG_EVENT_PLAYER_FACING_ANY, SlateportCity_OceanicMuseum_1F_EventScript_155BFB
- bg_event 2, 1, 0, BG_EVENT_PLAYER_FACING_ANY, SlateportCity_OceanicMuseum_1F_EventScript_155C04
- bg_event 3, 1, 0, BG_EVENT_PLAYER_FACING_ANY, SlateportCity_OceanicMuseum_1F_EventScript_155C04
- bg_event 16, 1, 0, BG_EVENT_PLAYER_FACING_ANY, SlateportCity_OceanicMuseum_1F_EventScript_155C0D
- bg_event 17, 1, 0, BG_EVENT_PLAYER_FACING_ANY, SlateportCity_OceanicMuseum_1F_EventScript_155C0D
-
-SlateportCity_OceanicMuseum_1F_MapEvents:: @ 8387D5C
- map_events SlateportCity_OceanicMuseum_1F_EventObjects, SlateportCity_OceanicMuseum_1F_MapWarps, SlateportCity_OceanicMuseum_1F_MapCoordEvents, SlateportCity_OceanicMuseum_1F_MapBGEvents
diff --git a/data/maps/SlateportCity_OceanicMuseum_1F/header.inc b/data/maps/SlateportCity_OceanicMuseum_1F/header.inc
deleted file mode 100644
index 348013adf..000000000
--- a/data/maps/SlateportCity_OceanicMuseum_1F/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SlateportCity_OceanicMuseum_1F:: @ 8306088
- .4byte SlateportCity_OceanicMuseum_1F_Layout
- .4byte SlateportCity_OceanicMuseum_1F_MapEvents
- .4byte SlateportCity_OceanicMuseum_1F_MapScripts
- .4byte 0x0
- .2byte MUS_FUNE_KAN
- .2byte 86
- .byte MAPSEC_SLATEPORT_CITY
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/SlateportCity_OceanicMuseum_1F/map.json b/data/maps/SlateportCity_OceanicMuseum_1F/map.json
new file mode 100644
index 000000000..d2cbbf046
--- /dev/null
+++ b/data/maps/SlateportCity_OceanicMuseum_1F/map.json
@@ -0,0 +1,346 @@
+{
+ "id": "MAP_SLATEPORT_CITY_OCEANIC_MUSEUM_1F",
+ "name": "SlateportCity_OceanicMuseum_1F",
+ "layout": "LAYOUT_SLATEPORT_CITY_OCEANIC_MUSEUM_1F",
+ "music": "MUS_FUNE_KAN",
+ "region_map_section": "MAPSEC_SLATEPORT_CITY",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BEAUTY",
+ "x": 7,
+ "y": 7,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SlateportCity_OceanicMuseum_1F_EventScript_155ADB",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_1",
+ "x": 18,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SlateportCity_OceanicMuseum_1F_EventScript_155BA1",
+ "flag": "FLAG_HIDE_EVIL_TEAM_OCEANIC_MUSEUM"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_1",
+ "x": 12,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SlateportCity_OceanicMuseum_1F_EventScript_155BAA",
+ "flag": "FLAG_HIDE_EVIL_TEAM_OCEANIC_MUSEUM"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_1",
+ "x": 2,
+ "y": 8,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SlateportCity_OceanicMuseum_1F_EventScript_155B98",
+ "flag": "FLAG_HIDE_EVIL_TEAM_OCEANIC_MUSEUM"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_0",
+ "x": 3,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SlateportCity_OceanicMuseum_1F_EventScript_155B8F",
+ "flag": "FLAG_HIDE_EVIL_TEAM_OCEANIC_MUSEUM"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_1",
+ "x": 14,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SlateportCity_OceanicMuseum_1F_EventScript_155BB3",
+ "flag": "FLAG_HIDE_EVIL_TEAM_OCEANIC_MUSEUM"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BEAUTY",
+ "x": 12,
+ "y": 7,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SlateportCity_OceanicMuseum_1F_EventScript_155ADB",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_1",
+ "x": 8,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SlateportCity_OceanicMuseum_1F_EventScript_155BBC",
+ "flag": "FLAG_HIDE_EVIL_TEAM_OCEANIC_MUSEUM"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_7",
+ "x": 4,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SlateportCity_OceanicMuseum_1F_EventScript_155C16",
+ "flag": "FLAG_HIDE_OCEANIC_MUSEUM_VISITORS"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MANIAC",
+ "x": 10,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SlateportCity_OceanicMuseum_1F_EventScript_155C1F",
+ "flag": "FLAG_HIDE_OCEANIC_MUSEUM_VISITORS"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_3",
+ "x": 17,
+ "y": 7,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SlateportCity_OceanicMuseum_1F_EventScript_155C28",
+ "flag": "FLAG_HIDE_OCEANIC_MUSEUM_VISITORS"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_LITTLE_GIRL_2",
+ "x": 18,
+ "y": 8,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SlateportCity_OceanicMuseum_1F_EventScript_155C31",
+ "flag": "FLAG_HIDE_OCEANIC_MUSEUM_VISITORS"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_1",
+ "x": 9,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP_LEFT_AND_RIGHT",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SlateportCity_OceanicMuseum_1F_EventScript_155C3A",
+ "flag": "FLAG_HIDE_SCARED_GRUNT_OCEANIC_MUSEUM"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_REPORTER_M",
+ "x": 7,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SlateportCity_OceanicMuseum_1F_EventScript_1ADEE0",
+ "flag": "FLAG_HIDE_OCEANIC_MUSEUM_VISITORS"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 9,
+ "y": 8,
+ "elevation": 0,
+ "dest_map": "MAP_SLATEPORT_CITY",
+ "dest_warp_id": 5
+ },
+ {
+ "x": 10,
+ "y": 8,
+ "elevation": 0,
+ "dest_map": "MAP_SLATEPORT_CITY",
+ "dest_warp_id": 7
+ },
+ {
+ "x": 6,
+ "y": 1,
+ "elevation": 0,
+ "dest_map": "MAP_SLATEPORT_CITY_OCEANIC_MUSEUM_2F",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [
+ {
+ "type": "trigger",
+ "x": 9,
+ "y": 7,
+ "elevation": 3,
+ "var": "VAR_SLATEPORT_MUSEUM_1F_STATE",
+ "var_value": "0",
+ "script": "SlateportCity_OceanicMuseum_1F_EventScript_155AE4"
+ },
+ {
+ "type": "trigger",
+ "x": 10,
+ "y": 7,
+ "elevation": 3,
+ "var": "VAR_SLATEPORT_MUSEUM_1F_STATE",
+ "var_value": "0",
+ "script": "SlateportCity_OceanicMuseum_1F_EventScript_155AF5"
+ }
+ ],
+ "bg_events": [
+ {
+ "type": "sign",
+ "x": 2,
+ "y": 7,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "SlateportCity_OceanicMuseum_1F_EventScript_155BC5"
+ },
+ {
+ "type": "sign",
+ "x": 2,
+ "y": 4,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "SlateportCity_OceanicMuseum_1F_EventScript_155BCE"
+ },
+ {
+ "type": "sign",
+ "x": 9,
+ "y": 1,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "SlateportCity_OceanicMuseum_1F_EventScript_155BD7"
+ },
+ {
+ "type": "sign",
+ "x": 12,
+ "y": 1,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "SlateportCity_OceanicMuseum_1F_EventScript_155BE0"
+ },
+ {
+ "type": "sign",
+ "x": 10,
+ "y": 1,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "SlateportCity_OceanicMuseum_1F_EventScript_155BD7"
+ },
+ {
+ "type": "sign",
+ "x": 13,
+ "y": 1,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "SlateportCity_OceanicMuseum_1F_EventScript_155BE0"
+ },
+ {
+ "type": "sign",
+ "x": 15,
+ "y": 4,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "SlateportCity_OceanicMuseum_1F_EventScript_155BE9"
+ },
+ {
+ "type": "sign",
+ "x": 18,
+ "y": 4,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "SlateportCity_OceanicMuseum_1F_EventScript_155BF2"
+ },
+ {
+ "type": "sign",
+ "x": 18,
+ "y": 7,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "SlateportCity_OceanicMuseum_1F_EventScript_155BFB"
+ },
+ {
+ "type": "sign",
+ "x": 2,
+ "y": 1,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "SlateportCity_OceanicMuseum_1F_EventScript_155C04"
+ },
+ {
+ "type": "sign",
+ "x": 3,
+ "y": 1,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "SlateportCity_OceanicMuseum_1F_EventScript_155C04"
+ },
+ {
+ "type": "sign",
+ "x": 16,
+ "y": 1,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "SlateportCity_OceanicMuseum_1F_EventScript_155C0D"
+ },
+ {
+ "type": "sign",
+ "x": 17,
+ "y": 1,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "SlateportCity_OceanicMuseum_1F_EventScript_155C0D"
+ }
+ ]
+} \ No newline at end of file
diff --git a/data/maps/SlateportCity_OceanicMuseum_2F/events.inc b/data/maps/SlateportCity_OceanicMuseum_2F/events.inc
deleted file mode 100644
index cb3945e7a..000000000
--- a/data/maps/SlateportCity_OceanicMuseum_2F/events.inc
+++ /dev/null
@@ -1,37 +0,0 @@
-SlateportCity_OceanicMuseum_2F_EventObjects:: @ 8387D70
- object_event 1, EVENT_OBJ_GFX_SCIENTIST_1, 0, 13, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SlateportCity_OceanicMuseum_2F_EventScript_155CE6, FLAG_HIDE_STERN_OCEANIC_MUSEUM_2F
- object_event 2, EVENT_OBJ_GFX_VAR_6, 0, 6, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_HIDE_EVIL_TEAM_LEADER_OCEANIC_MUSEUM_2F
- object_event 3, EVENT_OBJ_GFX_VAR_1, 0, 6, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_HIDE_GRUNT_1_OCEANIC_MUSEUM_2F
- object_event 4, EVENT_OBJ_GFX_VAR_1, 0, 6, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_HIDE_GRUNT_2_OCEANIC_MUSEUM_2F
- object_event 5, EVENT_OBJ_GFX_OLD_MAN_2, 0, 12, 7, 3, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 0, 0, SlateportCity_OceanicMuseum_2F_EventScript_155F34, FLAG_HIDE_OCEANIC_MUSEUM_VISITORS
- object_event 6, EVENT_OBJ_GFX_WOMAN_2, 0, 9, 6, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, SlateportCity_OceanicMuseum_2F_EventScript_155F3D, FLAG_HIDE_OCEANIC_MUSEUM_VISITORS
- object_event 7, EVENT_OBJ_GFX_LITTLE_BOY_1, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 0, 0, SlateportCity_OceanicMuseum_2F_EventScript_155F46, FLAG_HIDE_OCEANIC_MUSEUM_VISITORS
-
-SlateportCity_OceanicMuseum_2F_MapWarps:: @ 8387E18
- warp_def 6, 1, 0, 2, MAP_SLATEPORT_CITY_OCEANIC_MUSEUM_1F
-
-SlateportCity_OceanicMuseum_2F_MapBGEvents:: @ 8387E20
- bg_event 18, 4, 0, BG_EVENT_PLAYER_FACING_ANY, SlateportCity_OceanicMuseum_2F_EventScript_155EDA
- bg_event 18, 7, 0, BG_EVENT_PLAYER_FACING_ANY, SlateportCity_OceanicMuseum_2F_EventScript_155EE3
- bg_event 4, 3, 0, BG_EVENT_PLAYER_FACING_ANY, SlateportCity_OceanicMuseum_2F_EventScript_155F22
- bg_event 4, 4, 0, BG_EVENT_PLAYER_FACING_ANY, SlateportCity_OceanicMuseum_2F_EventScript_155F22
- bg_event 3, 3, 0, BG_EVENT_PLAYER_FACING_ANY, SlateportCity_OceanicMuseum_2F_EventScript_155F19
- bg_event 2, 3, 0, BG_EVENT_PLAYER_FACING_ANY, SlateportCity_OceanicMuseum_2F_EventScript_155F19
- bg_event 3, 4, 0, BG_EVENT_PLAYER_FACING_ANY, SlateportCity_OceanicMuseum_2F_EventScript_155F19
- bg_event 3, 6, 0, BG_EVENT_PLAYER_FACING_ANY, SlateportCity_OceanicMuseum_2F_EventScript_155F10
- bg_event 4, 6, 0, BG_EVENT_PLAYER_FACING_ANY, SlateportCity_OceanicMuseum_2F_EventScript_155F10
- bg_event 13, 7, 0, BG_EVENT_PLAYER_FACING_ANY, SlateportCity_OceanicMuseum_2F_EventScript_155F2B
- bg_event 14, 7, 3, BG_EVENT_PLAYER_FACING_ANY, SlateportCity_OceanicMuseum_2F_EventScript_155F2B
- bg_event 18, 1, 0, BG_EVENT_PLAYER_FACING_ANY, SlateportCity_OceanicMuseum_2F_EventScript_155F07
- bg_event 19, 1, 0, BG_EVENT_PLAYER_FACING_ANY, SlateportCity_OceanicMuseum_2F_EventScript_155F07
- bg_event 15, 1, 0, BG_EVENT_PLAYER_FACING_ANY, SlateportCity_OceanicMuseum_2F_EventScript_155EFE
- bg_event 16, 1, 0, BG_EVENT_PLAYER_FACING_ANY, SlateportCity_OceanicMuseum_2F_EventScript_155EFE
- bg_event 8, 1, 0, BG_EVENT_PLAYER_FACING_ANY, SlateportCity_OceanicMuseum_2F_EventScript_155EF5
- bg_event 9, 1, 0, BG_EVENT_PLAYER_FACING_ANY, SlateportCity_OceanicMuseum_2F_EventScript_155EF5
- bg_event 12, 1, 0, BG_EVENT_PLAYER_FACING_ANY, SlateportCity_OceanicMuseum_2F_EventScript_155EEC
- bg_event 13, 1, 0, BG_EVENT_PLAYER_FACING_ANY, SlateportCity_OceanicMuseum_2F_EventScript_155EEC
- bg_event 3, 7, 0, BG_EVENT_PLAYER_FACING_ANY, SlateportCity_OceanicMuseum_2F_EventScript_155F10
- bg_event 4, 7, 0, BG_EVENT_PLAYER_FACING_ANY, SlateportCity_OceanicMuseum_2F_EventScript_155F10
-
-SlateportCity_OceanicMuseum_2F_MapEvents:: @ 8387F1C
- map_events SlateportCity_OceanicMuseum_2F_EventObjects, SlateportCity_OceanicMuseum_2F_MapWarps, 0x0, SlateportCity_OceanicMuseum_2F_MapBGEvents
diff --git a/data/maps/SlateportCity_OceanicMuseum_2F/header.inc b/data/maps/SlateportCity_OceanicMuseum_2F/header.inc
deleted file mode 100644
index 95c73ffcc..000000000
--- a/data/maps/SlateportCity_OceanicMuseum_2F/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SlateportCity_OceanicMuseum_2F:: @ 83060A4
- .4byte SlateportCity_OceanicMuseum_2F_Layout
- .4byte SlateportCity_OceanicMuseum_2F_MapEvents
- .4byte SlateportCity_OceanicMuseum_2F_MapScripts
- .4byte 0x0
- .2byte MUS_FUNE_KAN
- .2byte 87
- .byte MAPSEC_SLATEPORT_CITY
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/SlateportCity_OceanicMuseum_2F/map.json b/data/maps/SlateportCity_OceanicMuseum_2F/map.json
new file mode 100644
index 000000000..02de2a32f
--- /dev/null
+++ b/data/maps/SlateportCity_OceanicMuseum_2F/map.json
@@ -0,0 +1,286 @@
+{
+ "id": "MAP_SLATEPORT_CITY_OCEANIC_MUSEUM_2F",
+ "name": "SlateportCity_OceanicMuseum_2F",
+ "layout": "LAYOUT_SLATEPORT_CITY_OCEANIC_MUSEUM_2F",
+ "music": "MUS_FUNE_KAN",
+ "region_map_section": "MAPSEC_SLATEPORT_CITY",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_SCIENTIST_1",
+ "x": 13,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SlateportCity_OceanicMuseum_2F_EventScript_155CE6",
+ "flag": "FLAG_HIDE_STERN_OCEANIC_MUSEUM_2F"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_6",
+ "x": 6,
+ "y": 1,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_HIDE_EVIL_TEAM_LEADER_OCEANIC_MUSEUM_2F"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_1",
+ "x": 6,
+ "y": 1,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_HIDE_GRUNT_1_OCEANIC_MUSEUM_2F"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_1",
+ "x": 6,
+ "y": 1,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_HIDE_GRUNT_2_OCEANIC_MUSEUM_2F"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_OLD_MAN_2",
+ "x": 12,
+ "y": 7,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SlateportCity_OceanicMuseum_2F_EventScript_155F34",
+ "flag": "FLAG_HIDE_OCEANIC_MUSEUM_VISITORS"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_2",
+ "x": 9,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SlateportCity_OceanicMuseum_2F_EventScript_155F3D",
+ "flag": "FLAG_HIDE_OCEANIC_MUSEUM_VISITORS"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_LITTLE_BOY_1",
+ "x": 1,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SlateportCity_OceanicMuseum_2F_EventScript_155F46",
+ "flag": "FLAG_HIDE_OCEANIC_MUSEUM_VISITORS"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 6,
+ "y": 1,
+ "elevation": 0,
+ "dest_map": "MAP_SLATEPORT_CITY_OCEANIC_MUSEUM_1F",
+ "dest_warp_id": 2
+ }
+ ],
+ "coord_events": [],
+ "bg_events": [
+ {
+ "type": "sign",
+ "x": 18,
+ "y": 4,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "SlateportCity_OceanicMuseum_2F_EventScript_155EDA"
+ },
+ {
+ "type": "sign",
+ "x": 18,
+ "y": 7,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "SlateportCity_OceanicMuseum_2F_EventScript_155EE3"
+ },
+ {
+ "type": "sign",
+ "x": 4,
+ "y": 3,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "SlateportCity_OceanicMuseum_2F_EventScript_155F22"
+ },
+ {
+ "type": "sign",
+ "x": 4,
+ "y": 4,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "SlateportCity_OceanicMuseum_2F_EventScript_155F22"
+ },
+ {
+ "type": "sign",
+ "x": 3,
+ "y": 3,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "SlateportCity_OceanicMuseum_2F_EventScript_155F19"
+ },
+ {
+ "type": "sign",
+ "x": 2,
+ "y": 3,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "SlateportCity_OceanicMuseum_2F_EventScript_155F19"
+ },
+ {
+ "type": "sign",
+ "x": 3,
+ "y": 4,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "SlateportCity_OceanicMuseum_2F_EventScript_155F19"
+ },
+ {
+ "type": "sign",
+ "x": 3,
+ "y": 6,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "SlateportCity_OceanicMuseum_2F_EventScript_155F10"
+ },
+ {
+ "type": "sign",
+ "x": 4,
+ "y": 6,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "SlateportCity_OceanicMuseum_2F_EventScript_155F10"
+ },
+ {
+ "type": "sign",
+ "x": 13,
+ "y": 7,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "SlateportCity_OceanicMuseum_2F_EventScript_155F2B"
+ },
+ {
+ "type": "sign",
+ "x": 14,
+ "y": 7,
+ "elevation": 3,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "SlateportCity_OceanicMuseum_2F_EventScript_155F2B"
+ },
+ {
+ "type": "sign",
+ "x": 18,
+ "y": 1,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "SlateportCity_OceanicMuseum_2F_EventScript_155F07"
+ },
+ {
+ "type": "sign",
+ "x": 19,
+ "y": 1,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "SlateportCity_OceanicMuseum_2F_EventScript_155F07"
+ },
+ {
+ "type": "sign",
+ "x": 15,
+ "y": 1,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "SlateportCity_OceanicMuseum_2F_EventScript_155EFE"
+ },
+ {
+ "type": "sign",
+ "x": 16,
+ "y": 1,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "SlateportCity_OceanicMuseum_2F_EventScript_155EFE"
+ },
+ {
+ "type": "sign",
+ "x": 8,
+ "y": 1,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "SlateportCity_OceanicMuseum_2F_EventScript_155EF5"
+ },
+ {
+ "type": "sign",
+ "x": 9,
+ "y": 1,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "SlateportCity_OceanicMuseum_2F_EventScript_155EF5"
+ },
+ {
+ "type": "sign",
+ "x": 12,
+ "y": 1,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "SlateportCity_OceanicMuseum_2F_EventScript_155EEC"
+ },
+ {
+ "type": "sign",
+ "x": 13,
+ "y": 1,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "SlateportCity_OceanicMuseum_2F_EventScript_155EEC"
+ },
+ {
+ "type": "sign",
+ "x": 3,
+ "y": 7,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "SlateportCity_OceanicMuseum_2F_EventScript_155F10"
+ },
+ {
+ "type": "sign",
+ "x": 4,
+ "y": 7,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "SlateportCity_OceanicMuseum_2F_EventScript_155F10"
+ }
+ ]
+} \ No newline at end of file
diff --git a/data/maps/SlateportCity_PokemonCenter_1F/events.inc b/data/maps/SlateportCity_PokemonCenter_1F/events.inc
deleted file mode 100644
index 69319b4b4..000000000
--- a/data/maps/SlateportCity_PokemonCenter_1F/events.inc
+++ /dev/null
@@ -1,12 +0,0 @@
-SlateportCity_PokemonCenter_1F_EventObjects:: @ 83880B8
- object_event 1, EVENT_OBJ_GFX_NURSE, 0, 7, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SlateportCity_PokemonCenter_1F_EventScript_1563CE, 0
- object_event 2, EVENT_OBJ_GFX_SAILOR, 0, 2, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SlateportCity_PokemonCenter_1F_EventScript_1563DC, 0
- object_event 3, EVENT_OBJ_GFX_WOMAN_7, 0, 10, 7, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, SlateportCity_PokemonCenter_1F_EventScript_1563E5, 0
-
-SlateportCity_PokemonCenter_1F_MapWarps:: @ 8388100
- warp_def 7, 8, 3, 0, MAP_SLATEPORT_CITY
- warp_def 6, 8, 3, 0, MAP_SLATEPORT_CITY
- warp_def 1, 6, 4, 0, MAP_SLATEPORT_CITY_POKEMON_CENTER_2F
-
-SlateportCity_PokemonCenter_1F_MapEvents:: @ 8388118
- map_events SlateportCity_PokemonCenter_1F_EventObjects, SlateportCity_PokemonCenter_1F_MapWarps, 0x0, 0x0
diff --git a/data/maps/SlateportCity_PokemonCenter_1F/header.inc b/data/maps/SlateportCity_PokemonCenter_1F/header.inc
deleted file mode 100644
index 815b484cd..000000000
--- a/data/maps/SlateportCity_PokemonCenter_1F/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SlateportCity_PokemonCenter_1F:: @ 83060F8
- .4byte PokemonCenter_1F_Layout
- .4byte SlateportCity_PokemonCenter_1F_MapEvents
- .4byte SlateportCity_PokemonCenter_1F_MapScripts
- .4byte 0x0
- .2byte MUS_POKECEN
- .2byte 61
- .byte MAPSEC_SLATEPORT_CITY
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/SlateportCity_PokemonCenter_1F/map.json b/data/maps/SlateportCity_PokemonCenter_1F/map.json
new file mode 100644
index 000000000..1c4799881
--- /dev/null
+++ b/data/maps/SlateportCity_PokemonCenter_1F/map.json
@@ -0,0 +1,79 @@
+{
+ "id": "MAP_SLATEPORT_CITY_POKEMON_CENTER_1F",
+ "name": "SlateportCity_PokemonCenter_1F",
+ "layout": "LAYOUT_POKEMON_CENTER_1F",
+ "music": "MUS_POKECEN",
+ "region_map_section": "MAPSEC_SLATEPORT_CITY",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_NURSE",
+ "x": 7,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SlateportCity_PokemonCenter_1F_EventScript_1563CE",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_SAILOR",
+ "x": 2,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SlateportCity_PokemonCenter_1F_EventScript_1563DC",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_7",
+ "x": 10,
+ "y": 7,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SlateportCity_PokemonCenter_1F_EventScript_1563E5",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 7,
+ "y": 8,
+ "elevation": 3,
+ "dest_map": "MAP_SLATEPORT_CITY",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 6,
+ "y": 8,
+ "elevation": 3,
+ "dest_map": "MAP_SLATEPORT_CITY",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 1,
+ "y": 6,
+ "elevation": 4,
+ "dest_map": "MAP_SLATEPORT_CITY_POKEMON_CENTER_2F",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/SlateportCity_PokemonCenter_2F/events.inc b/data/maps/SlateportCity_PokemonCenter_2F/events.inc
deleted file mode 100644
index 4ff0809c5..000000000
--- a/data/maps/SlateportCity_PokemonCenter_2F/events.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SlateportCity_PokemonCenter_2F_EventObjects:: @ 838812C
- object_event 1, EVENT_OBJ_GFX_TEALA, 0, 4, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SlateportCity_PokemonCenter_2F_EventScript_1563FE, 0
- object_event 2, EVENT_OBJ_GFX_TEALA, 0, 7, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SlateportCity_PokemonCenter_2F_EventScript_156404, 0
- object_event 3, EVENT_OBJ_GFX_TEALA, 0, 10, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SlateportCity_PokemonCenter_2F_EventScript_15640A, 0
-
-SlateportCity_PokemonCenter_2F_MapWarps:: @ 8388174
- warp_def 1, 5, 4, 2, MAP_SLATEPORT_CITY_POKEMON_CENTER_1F
- warp_def 5, 1, 0, 0, MAP_SINGLE_BATTLE_COLOSSEUM
- warp_def 8, 1, 0, 0, MAP_TRADE_CENTER
- warp_def 11, 1, 0, 0, MAP_RECORD_CORNER
- warp_def 0, 0, 0, 0, MAP_DOUBLE_BATTLE_COLOSSEUM
-
-SlateportCity_PokemonCenter_2F_MapEvents:: @ 838819C
- map_events SlateportCity_PokemonCenter_2F_EventObjects, SlateportCity_PokemonCenter_2F_MapWarps, 0x0, 0x0
diff --git a/data/maps/SlateportCity_PokemonCenter_2F/header.inc b/data/maps/SlateportCity_PokemonCenter_2F/header.inc
deleted file mode 100644
index e14479e1c..000000000
--- a/data/maps/SlateportCity_PokemonCenter_2F/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SlateportCity_PokemonCenter_2F:: @ 8306114
- .4byte PokemonCenter_2F_Layout
- .4byte SlateportCity_PokemonCenter_2F_MapEvents
- .4byte SlateportCity_PokemonCenter_2F_MapScripts
- .4byte 0x0
- .2byte MUS_POKECEN
- .2byte 62
- .byte MAPSEC_SLATEPORT_CITY
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/SlateportCity_PokemonCenter_2F/map.json b/data/maps/SlateportCity_PokemonCenter_2F/map.json
new file mode 100644
index 000000000..8b6acc885
--- /dev/null
+++ b/data/maps/SlateportCity_PokemonCenter_2F/map.json
@@ -0,0 +1,93 @@
+{
+ "id": "MAP_SLATEPORT_CITY_POKEMON_CENTER_2F",
+ "name": "SlateportCity_PokemonCenter_2F",
+ "layout": "LAYOUT_POKEMON_CENTER_2F",
+ "music": "MUS_POKECEN",
+ "region_map_section": "MAPSEC_SLATEPORT_CITY",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_TEALA",
+ "x": 4,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SlateportCity_PokemonCenter_2F_EventScript_1563FE",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_TEALA",
+ "x": 7,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SlateportCity_PokemonCenter_2F_EventScript_156404",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_TEALA",
+ "x": 10,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SlateportCity_PokemonCenter_2F_EventScript_15640A",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 1,
+ "y": 5,
+ "elevation": 4,
+ "dest_map": "MAP_SLATEPORT_CITY_POKEMON_CENTER_1F",
+ "dest_warp_id": 2
+ },
+ {
+ "x": 5,
+ "y": 1,
+ "elevation": 0,
+ "dest_map": "MAP_SINGLE_BATTLE_COLOSSEUM",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 8,
+ "y": 1,
+ "elevation": 0,
+ "dest_map": "MAP_TRADE_CENTER",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 11,
+ "y": 1,
+ "elevation": 0,
+ "dest_map": "MAP_RECORD_CORNER",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 0,
+ "y": 0,
+ "elevation": 0,
+ "dest_map": "MAP_DOUBLE_BATTLE_COLOSSEUM",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/SlateportCity_PokemonFanClub/events.inc b/data/maps/SlateportCity_PokemonFanClub/events.inc
deleted file mode 100644
index 4201af00e..000000000
--- a/data/maps/SlateportCity_PokemonFanClub/events.inc
+++ /dev/null
@@ -1,16 +0,0 @@
-SlateportCity_PokemonFanClub_EventObjects:: @ 8387A54
- object_event 1, EVENT_OBJ_GFX_MAN_1, 0, 11, 4, 0, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SlateportCity_PokemonFanClub_EventScript_155A7F, 0
- object_event 2, EVENT_OBJ_GFX_LITTLE_GIRL_1, 0, 1, 5, 0, MOVEMENT_TYPE_WANDER_UP_AND_DOWN, 0, 1, 0, 0, SlateportCity_PokemonFanClub_EventScript_155A88, 0
- object_event 3, EVENT_OBJ_GFX_REPORTER_F, 0, 11, 5, 0, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, SlateportCity_PokemonFanClub_EventScript_1ADFA0, 0
- object_event 4, EVENT_OBJ_GFX_WOMAN_5, 0, 6, 2, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, SlateportCity_PokemonFanClub_EventScript_155A15, 0
- object_event 5, EVENT_OBJ_GFX_GENTLEMAN, 0, 6, 5, 4, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SlateportCity_PokemonFanClub_EventScript_15576B, 0
- object_event 6, EVENT_OBJ_GFX_ZIGZAGOON, 0, 3, 9, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, SlateportCity_PokemonFanClub_EventScript_155AA4, 0
- object_event 7, EVENT_OBJ_GFX_SKITTY, 0, 8, 3, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, SlateportCity_PokemonFanClub_EventScript_155A91, 0
- object_event 8, EVENT_OBJ_GFX_AZUMARILL, 0, 10, 8, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, SlateportCity_PokemonFanClub_EventScript_155AB7, 0
-
-SlateportCity_PokemonFanClub_MapWarps:: @ 8387B14
- warp_def 6, 10, 0, 4, MAP_SLATEPORT_CITY
- warp_def 7, 10, 0, 4, MAP_SLATEPORT_CITY
-
-SlateportCity_PokemonFanClub_MapEvents:: @ 8387B24
- map_events SlateportCity_PokemonFanClub_EventObjects, SlateportCity_PokemonFanClub_MapWarps, 0x0, 0x0
diff --git a/data/maps/SlateportCity_PokemonFanClub/header.inc b/data/maps/SlateportCity_PokemonFanClub/header.inc
deleted file mode 100644
index 253355674..000000000
--- a/data/maps/SlateportCity_PokemonFanClub/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SlateportCity_PokemonFanClub:: @ 830606C
- .4byte SlateportCity_PokemonFanClub_Layout
- .4byte SlateportCity_PokemonFanClub_MapEvents
- .4byte SlateportCity_PokemonFanClub_MapScripts
- .4byte 0x0
- .2byte MUS_FINECITY
- .2byte 85
- .byte MAPSEC_SLATEPORT_CITY
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/SlateportCity_PokemonFanClub/map.json b/data/maps/SlateportCity_PokemonFanClub/map.json
new file mode 100644
index 000000000..ea2e9c2dd
--- /dev/null
+++ b/data/maps/SlateportCity_PokemonFanClub/map.json
@@ -0,0 +1,137 @@
+{
+ "id": "MAP_SLATEPORT_CITY_POKEMON_FAN_CLUB",
+ "name": "SlateportCity_PokemonFanClub",
+ "layout": "LAYOUT_SLATEPORT_CITY_POKEMON_FAN_CLUB",
+ "music": "MUS_FINECITY",
+ "region_map_section": "MAPSEC_SLATEPORT_CITY",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_1",
+ "x": 11,
+ "y": 4,
+ "elevation": 0,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SlateportCity_PokemonFanClub_EventScript_155A7F",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_LITTLE_GIRL_1",
+ "x": 1,
+ "y": 5,
+ "elevation": 0,
+ "movement_type": "MOVEMENT_TYPE_WANDER_UP_AND_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SlateportCity_PokemonFanClub_EventScript_155A88",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_REPORTER_F",
+ "x": 11,
+ "y": 5,
+ "elevation": 0,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SlateportCity_PokemonFanClub_EventScript_1ADFA0",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_5",
+ "x": 6,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SlateportCity_PokemonFanClub_EventScript_155A15",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_GENTLEMAN",
+ "x": 6,
+ "y": 5,
+ "elevation": 4,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SlateportCity_PokemonFanClub_EventScript_15576B",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ZIGZAGOON",
+ "x": 3,
+ "y": 9,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SlateportCity_PokemonFanClub_EventScript_155AA4",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_SKITTY",
+ "x": 8,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SlateportCity_PokemonFanClub_EventScript_155A91",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_AZUMARILL",
+ "x": 10,
+ "y": 8,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SlateportCity_PokemonFanClub_EventScript_155AB7",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 6,
+ "y": 10,
+ "elevation": 0,
+ "dest_map": "MAP_SLATEPORT_CITY",
+ "dest_warp_id": 4
+ },
+ {
+ "x": 7,
+ "y": 10,
+ "elevation": 0,
+ "dest_map": "MAP_SLATEPORT_CITY",
+ "dest_warp_id": 4
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/SlateportCity_SternsShipyard_1F/events.inc b/data/maps/SlateportCity_SternsShipyard_1F/events.inc
deleted file mode 100644
index b729cad75..000000000
--- a/data/maps/SlateportCity_SternsShipyard_1F/events.inc
+++ /dev/null
@@ -1,13 +0,0 @@
-SlateportCity_SternsShipyard_1F_EventObjects:: @ 8387698
- object_event 1, EVENT_OBJ_GFX_MAN_1, 0, 5, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SlateportCity_SternsShipyard_1F_EventScript_155336, 0
- object_event 2, EVENT_OBJ_GFX_SCIENTIST_1, 0, 10, 7, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, SlateportCity_SternsShipyard_1F_EventScript_1553E3, 0
- object_event 3, EVENT_OBJ_GFX_SCIENTIST_1, 0, 18, 8, 3, MOVEMENT_TYPE_WANDER_LEFT_AND_RIGHT, 1, 0, 0, 0, SlateportCity_SternsShipyard_1F_EventScript_1553EC, 0
- object_event 4, EVENT_OBJ_GFX_OLD_MAN_1, 0, 12, 11, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 2, 0, 0, SlateportCity_SternsShipyard_1F_EventScript_1553F5, FLAG_HIDE_BRINEY_SLATEPORT_SHIPYARD
-
-SlateportCity_SternsShipyard_1F_MapWarps:: @ 83876F8
- warp_def 2, 14, 0, 2, MAP_SLATEPORT_CITY
- warp_def 3, 14, 0, 2, MAP_SLATEPORT_CITY
- warp_def 3, 1, 0, 0, MAP_SLATEPORT_CITY_STERNS_SHIPYARD_2F
-
-SlateportCity_SternsShipyard_1F_MapEvents:: @ 8387710
- map_events SlateportCity_SternsShipyard_1F_EventObjects, SlateportCity_SternsShipyard_1F_MapWarps, 0x0, 0x0
diff --git a/data/maps/SlateportCity_SternsShipyard_1F/header.inc b/data/maps/SlateportCity_SternsShipyard_1F/header.inc
deleted file mode 100644
index b38bd8fa5..000000000
--- a/data/maps/SlateportCity_SternsShipyard_1F/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SlateportCity_SternsShipyard_1F:: @ 8305FE0
- .4byte SlateportCity_SternsShipyard_1F_Layout
- .4byte SlateportCity_SternsShipyard_1F_MapEvents
- .4byte SlateportCity_SternsShipyard_1F_MapScripts
- .4byte 0x0
- .2byte MUS_FINECITY
- .2byte 81
- .byte MAPSEC_SLATEPORT_CITY
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/SlateportCity_SternsShipyard_1F/map.json b/data/maps/SlateportCity_SternsShipyard_1F/map.json
new file mode 100644
index 000000000..fc07ddcc4
--- /dev/null
+++ b/data/maps/SlateportCity_SternsShipyard_1F/map.json
@@ -0,0 +1,92 @@
+{
+ "id": "MAP_SLATEPORT_CITY_STERNS_SHIPYARD_1F",
+ "name": "SlateportCity_SternsShipyard_1F",
+ "layout": "LAYOUT_SLATEPORT_CITY_STERNS_SHIPYARD_1F",
+ "music": "MUS_FINECITY",
+ "region_map_section": "MAPSEC_SLATEPORT_CITY",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_1",
+ "x": 5,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SlateportCity_SternsShipyard_1F_EventScript_155336",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_SCIENTIST_1",
+ "x": 10,
+ "y": 7,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SlateportCity_SternsShipyard_1F_EventScript_1553E3",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_SCIENTIST_1",
+ "x": 18,
+ "y": 8,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_LEFT_AND_RIGHT",
+ "movement_range_x": 1,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SlateportCity_SternsShipyard_1F_EventScript_1553EC",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_OLD_MAN_1",
+ "x": 12,
+ "y": 11,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 2,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SlateportCity_SternsShipyard_1F_EventScript_1553F5",
+ "flag": "FLAG_HIDE_BRINEY_SLATEPORT_SHIPYARD"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 2,
+ "y": 14,
+ "elevation": 0,
+ "dest_map": "MAP_SLATEPORT_CITY",
+ "dest_warp_id": 2
+ },
+ {
+ "x": 3,
+ "y": 14,
+ "elevation": 0,
+ "dest_map": "MAP_SLATEPORT_CITY",
+ "dest_warp_id": 2
+ },
+ {
+ "x": 3,
+ "y": 1,
+ "elevation": 0,
+ "dest_map": "MAP_SLATEPORT_CITY_STERNS_SHIPYARD_2F",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/SlateportCity_SternsShipyard_2F/events.inc b/data/maps/SlateportCity_SternsShipyard_2F/events.inc
deleted file mode 100644
index 09a319dfd..000000000
--- a/data/maps/SlateportCity_SternsShipyard_2F/events.inc
+++ /dev/null
@@ -1,10 +0,0 @@
-SlateportCity_SternsShipyard_2F_EventObjects:: @ 8387724
- object_event 1, EVENT_OBJ_GFX_SCIENTIST_1, 0, 10, 7, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, 0x0, 0
- object_event 2, EVENT_OBJ_GFX_SCIENTIST_1, 0, 8, 4, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, SlateportCity_SternsShipyard_2F_EventScript_1553FF, 0
- object_event 3, EVENT_OBJ_GFX_SCIENTIST_1, 0, 0, 9, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, SlateportCity_SternsShipyard_2F_EventScript_155408, 0
-
-SlateportCity_SternsShipyard_2F_MapWarps:: @ 838776C
- warp_def 3, 1, 0, 2, MAP_SLATEPORT_CITY_STERNS_SHIPYARD_1F
-
-SlateportCity_SternsShipyard_2F_MapEvents:: @ 8387774
- map_events SlateportCity_SternsShipyard_2F_EventObjects, SlateportCity_SternsShipyard_2F_MapWarps, 0x0, 0x0
diff --git a/data/maps/SlateportCity_SternsShipyard_2F/header.inc b/data/maps/SlateportCity_SternsShipyard_2F/header.inc
deleted file mode 100644
index 9c12526ce..000000000
--- a/data/maps/SlateportCity_SternsShipyard_2F/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SlateportCity_SternsShipyard_2F:: @ 8305FFC
- .4byte SlateportCity_SternsShipyard_2F_Layout
- .4byte SlateportCity_SternsShipyard_2F_MapEvents
- .4byte SlateportCity_SternsShipyard_2F_MapScripts
- .4byte 0x0
- .2byte MUS_FINECITY
- .2byte 82
- .byte MAPSEC_SLATEPORT_CITY
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/SlateportCity_SternsShipyard_2F/map.json b/data/maps/SlateportCity_SternsShipyard_2F/map.json
new file mode 100644
index 000000000..c7e9f2f69
--- /dev/null
+++ b/data/maps/SlateportCity_SternsShipyard_2F/map.json
@@ -0,0 +1,65 @@
+{
+ "id": "MAP_SLATEPORT_CITY_STERNS_SHIPYARD_2F",
+ "name": "SlateportCity_SternsShipyard_2F",
+ "layout": "LAYOUT_SLATEPORT_CITY_STERNS_SHIPYARD_2F",
+ "music": "MUS_FINECITY",
+ "region_map_section": "MAPSEC_SLATEPORT_CITY",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_SCIENTIST_1",
+ "x": 10,
+ "y": 7,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_SCIENTIST_1",
+ "x": 8,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SlateportCity_SternsShipyard_2F_EventScript_1553FF",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_SCIENTIST_1",
+ "x": 0,
+ "y": 9,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SlateportCity_SternsShipyard_2F_EventScript_155408",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 3,
+ "y": 1,
+ "elevation": 0,
+ "dest_map": "MAP_SLATEPORT_CITY_STERNS_SHIPYARD_1F",
+ "dest_warp_id": 2
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/SootopolisCity/connections.inc b/data/maps/SootopolisCity/connections.inc
deleted file mode 100644
index dcf558dcd..000000000
--- a/data/maps/SootopolisCity/connections.inc
+++ /dev/null
@@ -1,6 +0,0 @@
-SootopolisCity_MapConnectionsList:: @ 8308800
- @ empty
-
-SootopolisCity_MapConnections:: @ 8308800
- .4byte 0
- .4byte SootopolisCity_MapConnectionsList
diff --git a/data/maps/SootopolisCity/events.inc b/data/maps/SootopolisCity/events.inc
deleted file mode 100644
index 4d3ae2462..000000000
--- a/data/maps/SootopolisCity/events.inc
+++ /dev/null
@@ -1,40 +0,0 @@
-SootopolisCity_EventObjects:: @ 8380608
- object_event 1, EVENT_OBJ_GFX_BEAUTY, 0, 29, 20, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SootopolisCity_EventScript_14D18D, FLAG_HIDE_CAVE_OF_ORIGIN_ENTRANCE_WOMAN_1
- object_event 2, EVENT_OBJ_GFX_BEAUTY, 0, 33, 20, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SootopolisCity_EventScript_14D196, FLAG_HIDE_CAVE_OF_ORIGIN_ENTRANCE_WOMAN_2
- object_event 3, EVENT_OBJ_GFX_OLD_MAN_1, 0, 36, 21, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SootopolisCity_EventScript_14D16E, FLAG_HIDE_SOOTOPOLIS_RESIDENTS
- object_event 4, EVENT_OBJ_GFX_WOMAN_5, 0, 47, 42, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SootopolisCity_EventScript_14D268, FLAG_HIDE_SOOTOPOLIS_RESIDENTS
- object_event 5, EVENT_OBJ_GFX_WALLACE, 0, 32, 21, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, SootopolisCity_EventScript_14D48F, FLAG_HIDE_WALLACE_SOOTOPOLIS
- object_event 6, EVENT_OBJ_GFX_GIRL_2, 0, 9, 43, 3, MOVEMENT_TYPE_WANDER_LEFT_AND_RIGHT, 1, 0, 0, 0, SootopolisCity_EventScript_14D19F, FLAG_HIDE_SOOTOPOLIS_RESIDENTS
- object_event 7, EVENT_OBJ_GFX_LITTLE_BOY_1, 0, 51, 14, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SootopolisCity_EventScript_14D2C5, FLAG_HIDE_SOOTOPOLIS_RESIDENTS
- object_event 8, EVENT_OBJ_GFX_BOY_1, 0, 43, 26, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, SootopolisCity_EventScript_14D2E4, FLAG_HIDE_SOOTOPOLIS_RESIDENTS
- object_event 9, EVENT_OBJ_GFX_MAN_1, 0, 26, 4, 3, MOVEMENT_TYPE_WANDER_LEFT_AND_RIGHT, 1, 0, 0, 0, SootopolisCity_EventScript_14D287, FLAG_HIDE_SOOTOPOLIS_RESIDENTS
- object_event 10, EVENT_OBJ_GFX_STEVEN, 0, 30, 21, 3, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 0, 0, SootopolisCity_EventScript_14D498, FLAG_HIDE_STEVEN_SOOTOPOLIS
- object_event 11, EVENT_OBJ_GFX_WOMAN_7, 0, 49, 34, 3, MOVEMENT_TYPE_WANDER_UP_AND_DOWN, 1, 1, 0, 0, SootopolisCity_EventScript_14D2A6, FLAG_HIDE_SOOTOPOLIS_RESIDENTS
-
-SootopolisCity_MapWarps:: @ 8380710
- warp_def 43, 31, 0, 0, MAP_SOOTOPOLIS_CITY_POKEMON_CENTER_1F
- warp_def 17, 29, 0, 0, MAP_SOOTOPOLIS_CITY_MART
- warp_def 31, 32, 0, 0, MAP_SOOTOPOLIS_CITY_GYM_1F
- warp_def 31, 16, 3, 0, MAP_CAVE_OF_ORIGIN_ENTRANCE
- warp_def 9, 6, 0, 0, MAP_SOOTOPOLIS_CITY_HOUSE1
- warp_def 45, 6, 0, 0, MAP_SOOTOPOLIS_CITY_HOUSE2
- warp_def 9, 17, 0, 0, MAP_SOOTOPOLIS_CITY_HOUSE3
- warp_def 44, 17, 0, 0, MAP_SOOTOPOLIS_CITY_HOUSE4
- warp_def 9, 26, 0, 0, MAP_SOOTOPOLIS_CITY_HOUSE5
- warp_def 53, 28, 0, 0, MAP_SOOTOPOLIS_CITY_HOUSE6
- warp_def 8, 35, 0, 0, MAP_SOOTOPOLIS_CITY_HOUSE7
- warp_def 48, 25, 0, 0, MAP_SOOTOPOLIS_CITY_HOUSE8
-
-SootopolisCity_MapCoordEvents:: @ 8380770
- coord_event 25, 6, 3, VAR_SOOTOPOLIS_STATE, 1, SootopolisCity_EventScript_14D308
-
-SootopolisCity_MapBGEvents:: @ 8380780
- bg_event 32, 34, 0, BG_EVENT_PLAYER_FACING_ANY, SootopolisCity_EventScript_14D2ED
- bg_event 19, 29, 0, BG_EVENT_PLAYER_FACING_NORTH, SootopolisCity_EventScript_1A00E1
- bg_event 44, 31, 0, BG_EVENT_PLAYER_FACING_NORTH, SootopolisCity_EventScript_1A00EA
- bg_event 45, 31, 0, BG_EVENT_PLAYER_FACING_NORTH, SootopolisCity_EventScript_1A00EA
- bg_event 18, 29, 0, BG_EVENT_PLAYER_FACING_NORTH, SootopolisCity_EventScript_1A00E1
- bg_event 41, 37, 0, BG_EVENT_PLAYER_FACING_ANY, SootopolisCity_EventScript_14D2F6
-
-SootopolisCity_MapEvents:: @ 83807C8
- map_events SootopolisCity_EventObjects, SootopolisCity_MapWarps, SootopolisCity_MapCoordEvents, SootopolisCity_MapBGEvents
diff --git a/data/maps/SootopolisCity/header.inc b/data/maps/SootopolisCity/header.inc
deleted file mode 100644
index b87323ffc..000000000
--- a/data/maps/SootopolisCity/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SootopolisCity:: @ 830550C
- .4byte SootopolisCity_Layout
- .4byte SootopolisCity_MapEvents
- .4byte SootopolisCity_MapScripts
- .4byte 0x0
- .2byte MUS_RUNECITY
- .2byte 8
- .byte MAPSEC_SOOTOPOLIS_CITY
- .byte 0
- .byte WEATHER_SUNNY
- .byte MAP_TYPE_CITY
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/SootopolisCity/map.json b/data/maps/SootopolisCity/map.json
new file mode 100644
index 000000000..74f275db9
--- /dev/null
+++ b/data/maps/SootopolisCity/map.json
@@ -0,0 +1,305 @@
+{
+ "id": "MAP_SOOTOPOLIS_CITY",
+ "name": "SootopolisCity",
+ "layout": "LAYOUT_SOOTOPOLIS_CITY",
+ "music": "MUS_RUNECITY",
+ "region_map_section": "MAPSEC_SOOTOPOLIS_CITY",
+ "requires_flash": false,
+ "weather": "WEATHER_SUNNY",
+ "map_type": "MAP_TYPE_CITY",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": [],
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BEAUTY",
+ "x": 29,
+ "y": 20,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SootopolisCity_EventScript_14D18D",
+ "flag": "FLAG_HIDE_CAVE_OF_ORIGIN_ENTRANCE_WOMAN_1"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BEAUTY",
+ "x": 33,
+ "y": 20,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SootopolisCity_EventScript_14D196",
+ "flag": "FLAG_HIDE_CAVE_OF_ORIGIN_ENTRANCE_WOMAN_2"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_OLD_MAN_1",
+ "x": 36,
+ "y": 21,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SootopolisCity_EventScript_14D16E",
+ "flag": "FLAG_HIDE_SOOTOPOLIS_RESIDENTS"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_5",
+ "x": 47,
+ "y": 42,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SootopolisCity_EventScript_14D268",
+ "flag": "FLAG_HIDE_SOOTOPOLIS_RESIDENTS"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WALLACE",
+ "x": 32,
+ "y": 21,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SootopolisCity_EventScript_14D48F",
+ "flag": "FLAG_HIDE_WALLACE_SOOTOPOLIS"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_GIRL_2",
+ "x": 9,
+ "y": 43,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_LEFT_AND_RIGHT",
+ "movement_range_x": 1,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SootopolisCity_EventScript_14D19F",
+ "flag": "FLAG_HIDE_SOOTOPOLIS_RESIDENTS"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_LITTLE_BOY_1",
+ "x": 51,
+ "y": 14,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SootopolisCity_EventScript_14D2C5",
+ "flag": "FLAG_HIDE_SOOTOPOLIS_RESIDENTS"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BOY_1",
+ "x": 43,
+ "y": 26,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SootopolisCity_EventScript_14D2E4",
+ "flag": "FLAG_HIDE_SOOTOPOLIS_RESIDENTS"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_1",
+ "x": 26,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_LEFT_AND_RIGHT",
+ "movement_range_x": 1,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SootopolisCity_EventScript_14D287",
+ "flag": "FLAG_HIDE_SOOTOPOLIS_RESIDENTS"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_STEVEN",
+ "x": 30,
+ "y": 21,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SootopolisCity_EventScript_14D498",
+ "flag": "FLAG_HIDE_STEVEN_SOOTOPOLIS"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_7",
+ "x": 49,
+ "y": 34,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_UP_AND_DOWN",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SootopolisCity_EventScript_14D2A6",
+ "flag": "FLAG_HIDE_SOOTOPOLIS_RESIDENTS"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 43,
+ "y": 31,
+ "elevation": 0,
+ "dest_map": "MAP_SOOTOPOLIS_CITY_POKEMON_CENTER_1F",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 17,
+ "y": 29,
+ "elevation": 0,
+ "dest_map": "MAP_SOOTOPOLIS_CITY_MART",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 31,
+ "y": 32,
+ "elevation": 0,
+ "dest_map": "MAP_SOOTOPOLIS_CITY_GYM_1F",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 31,
+ "y": 16,
+ "elevation": 3,
+ "dest_map": "MAP_CAVE_OF_ORIGIN_ENTRANCE",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 9,
+ "y": 6,
+ "elevation": 0,
+ "dest_map": "MAP_SOOTOPOLIS_CITY_HOUSE1",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 45,
+ "y": 6,
+ "elevation": 0,
+ "dest_map": "MAP_SOOTOPOLIS_CITY_HOUSE2",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 9,
+ "y": 17,
+ "elevation": 0,
+ "dest_map": "MAP_SOOTOPOLIS_CITY_HOUSE3",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 44,
+ "y": 17,
+ "elevation": 0,
+ "dest_map": "MAP_SOOTOPOLIS_CITY_HOUSE4",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 9,
+ "y": 26,
+ "elevation": 0,
+ "dest_map": "MAP_SOOTOPOLIS_CITY_HOUSE5",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 53,
+ "y": 28,
+ "elevation": 0,
+ "dest_map": "MAP_SOOTOPOLIS_CITY_HOUSE6",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 8,
+ "y": 35,
+ "elevation": 0,
+ "dest_map": "MAP_SOOTOPOLIS_CITY_HOUSE7",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 48,
+ "y": 25,
+ "elevation": 0,
+ "dest_map": "MAP_SOOTOPOLIS_CITY_HOUSE8",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [
+ {
+ "type": "trigger",
+ "x": 25,
+ "y": 6,
+ "elevation": 3,
+ "var": "VAR_SOOTOPOLIS_STATE",
+ "var_value": "1",
+ "script": "SootopolisCity_EventScript_14D308"
+ }
+ ],
+ "bg_events": [
+ {
+ "type": "sign",
+ "x": 32,
+ "y": 34,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "SootopolisCity_EventScript_14D2ED"
+ },
+ {
+ "type": "sign",
+ "x": 19,
+ "y": 29,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH",
+ "script": "SootopolisCity_EventScript_1A00E1"
+ },
+ {
+ "type": "sign",
+ "x": 44,
+ "y": 31,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH",
+ "script": "SootopolisCity_EventScript_1A00EA"
+ },
+ {
+ "type": "sign",
+ "x": 45,
+ "y": 31,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH",
+ "script": "SootopolisCity_EventScript_1A00EA"
+ },
+ {
+ "type": "sign",
+ "x": 18,
+ "y": 29,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH",
+ "script": "SootopolisCity_EventScript_1A00E1"
+ },
+ {
+ "type": "sign",
+ "x": 41,
+ "y": 37,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "SootopolisCity_EventScript_14D2F6"
+ }
+ ]
+} \ No newline at end of file
diff --git a/data/maps/SootopolisCity_Gym_1F/events.inc b/data/maps/SootopolisCity_Gym_1F/events.inc
deleted file mode 100644
index 8922b5920..000000000
--- a/data/maps/SootopolisCity_Gym_1F/events.inc
+++ /dev/null
@@ -1,15 +0,0 @@
-SootopolisCity_Gym_1F_EventObjects:: @ 838ACF0
- object_event 1, EVENT_OBJ_GFX_WALLACE, 0, 8, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SootopolisCity_Gym_1F_EventScript_15AFFF, FLAG_HIDE_WALLACE_SOOTOPOLIS_GYM
- object_event 2, EVENT_OBJ_GFX_MAN_2, 0, 7, 24, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SootopolisCity_Gym_1F_EventScript_15B084, 0
-
-SootopolisCity_Gym_1F_MapWarps:: @ 838AD20
- warp_def 8, 25, 0, 2, MAP_SOOTOPOLIS_CITY
- warp_def 9, 25, 0, 2, MAP_SOOTOPOLIS_CITY
- warp_def 11, 22, 3, 0, MAP_SOOTOPOLIS_CITY_GYM_B1F
-
-SootopolisCity_Gym_1F_MapBGEvents:: @ 838AD38
- bg_event 6, 24, 0, BG_EVENT_PLAYER_FACING_ANY, SootopolisCity_Gym_1F_EventScript_15B0A3
- bg_event 10, 24, 0, BG_EVENT_PLAYER_FACING_NORTH, SootopolisCity_Gym_1F_EventScript_15B0B3
-
-SootopolisCity_Gym_1F_MapEvents:: @ 838AD50
- map_events SootopolisCity_Gym_1F_EventObjects, SootopolisCity_Gym_1F_MapWarps, 0x0, SootopolisCity_Gym_1F_MapBGEvents
diff --git a/data/maps/SootopolisCity_Gym_1F/header.inc b/data/maps/SootopolisCity_Gym_1F/header.inc
deleted file mode 100644
index df1b1d17f..000000000
--- a/data/maps/SootopolisCity_Gym_1F/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SootopolisCity_Gym_1F:: @ 830692C
- .4byte SootopolisCity_Gym_1F_Layout
- .4byte SootopolisCity_Gym_1F_MapEvents
- .4byte SootopolisCity_Gym_1F_MapScripts
- .4byte 0x0
- .2byte MUS_GIM
- .2byte 110
- .byte MAPSEC_SOOTOPOLIS_CITY
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_GYM
diff --git a/data/maps/SootopolisCity_Gym_1F/map.json b/data/maps/SootopolisCity_Gym_1F/map.json
new file mode 100644
index 000000000..90afefed7
--- /dev/null
+++ b/data/maps/SootopolisCity_Gym_1F/map.json
@@ -0,0 +1,83 @@
+{
+ "id": "MAP_SOOTOPOLIS_CITY_GYM_1F",
+ "name": "SootopolisCity_Gym_1F",
+ "layout": "LAYOUT_SOOTOPOLIS_CITY_GYM_1F",
+ "music": "MUS_GIM",
+ "region_map_section": "MAPSEC_SOOTOPOLIS_CITY",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_GYM",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WALLACE",
+ "x": 8,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SootopolisCity_Gym_1F_EventScript_15AFFF",
+ "flag": "FLAG_HIDE_WALLACE_SOOTOPOLIS_GYM"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_2",
+ "x": 7,
+ "y": 24,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SootopolisCity_Gym_1F_EventScript_15B084",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 8,
+ "y": 25,
+ "elevation": 0,
+ "dest_map": "MAP_SOOTOPOLIS_CITY",
+ "dest_warp_id": 2
+ },
+ {
+ "x": 9,
+ "y": 25,
+ "elevation": 0,
+ "dest_map": "MAP_SOOTOPOLIS_CITY",
+ "dest_warp_id": 2
+ },
+ {
+ "x": 11,
+ "y": 22,
+ "elevation": 3,
+ "dest_map": "MAP_SOOTOPOLIS_CITY_GYM_B1F",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [],
+ "bg_events": [
+ {
+ "type": "sign",
+ "x": 6,
+ "y": 24,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "SootopolisCity_Gym_1F_EventScript_15B0A3"
+ },
+ {
+ "type": "sign",
+ "x": 10,
+ "y": 24,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH",
+ "script": "SootopolisCity_Gym_1F_EventScript_15B0B3"
+ }
+ ]
+} \ No newline at end of file
diff --git a/data/maps/SootopolisCity_Gym_B1F/events.inc b/data/maps/SootopolisCity_Gym_B1F/events.inc
deleted file mode 100644
index 542326bfe..000000000
--- a/data/maps/SootopolisCity_Gym_B1F/events.inc
+++ /dev/null
@@ -1,15 +0,0 @@
-SootopolisCity_Gym_B1F_EventObjects:: @ 838AD64
- object_event 1, EVENT_OBJ_GFX_LASS, 0, 7, 19, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 1, 1, SootopolisCity_Gym_B1F_EventScript_15B0D8, 0
- object_event 2, EVENT_OBJ_GFX_BEAUTY, 0, 9, 17, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 1, 1, SootopolisCity_Gym_B1F_EventScript_15B11D, 0
- object_event 3, EVENT_OBJ_GFX_WOMAN_3, 0, 9, 14, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 1, 1, SootopolisCity_Gym_B1F_EventScript_15B106, 0
- object_event 4, EVENT_OBJ_GFX_BEAUTY, 0, 6, 13, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 1, 5, SootopolisCity_Gym_B1F_EventScript_15B134, 0
- object_event 5, EVENT_OBJ_GFX_BEAUTY, 0, 3, 9, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 1, 4, SootopolisCity_Gym_B1F_EventScript_15B162, 0
- object_event 6, EVENT_OBJ_GFX_WOMAN_2, 0, 11, 9, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 1, 2, SootopolisCity_Gym_B1F_EventScript_15B179, 0
- object_event 7, EVENT_OBJ_GFX_LASS, 0, 8, 7, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 1, 2, SootopolisCity_Gym_B1F_EventScript_15B0EF, 0
- object_event 8, EVENT_OBJ_GFX_BEAUTY, 0, 12, 7, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 1, 3, SootopolisCity_Gym_B1F_EventScript_15B14B, 0
-
-SootopolisCity_Gym_B1F_MapWarps:: @ 838AE24
- warp_def 11, 22, 3, 2, MAP_SOOTOPOLIS_CITY_GYM_1F
-
-SootopolisCity_Gym_B1F_MapEvents:: @ 838AE2C
- map_events SootopolisCity_Gym_B1F_EventObjects, SootopolisCity_Gym_B1F_MapWarps, 0x0, 0x0
diff --git a/data/maps/SootopolisCity_Gym_B1F/header.inc b/data/maps/SootopolisCity_Gym_B1F/header.inc
deleted file mode 100644
index 54ac62ce1..000000000
--- a/data/maps/SootopolisCity_Gym_B1F/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SootopolisCity_Gym_B1F:: @ 8306948
- .4byte SootopolisCity_Gym_B1F_Layout
- .4byte SootopolisCity_Gym_B1F_MapEvents
- .4byte SootopolisCity_Gym_B1F_MapScripts
- .4byte 0x0
- .2byte MUS_GIM
- .2byte 111
- .byte MAPSEC_SOOTOPOLIS_CITY
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_GYM
diff --git a/data/maps/SootopolisCity_Gym_B1F/map.json b/data/maps/SootopolisCity_Gym_B1F/map.json
new file mode 100644
index 000000000..37b40f491
--- /dev/null
+++ b/data/maps/SootopolisCity_Gym_B1F/map.json
@@ -0,0 +1,130 @@
+{
+ "id": "MAP_SOOTOPOLIS_CITY_GYM_B1F",
+ "name": "SootopolisCity_Gym_B1F",
+ "layout": "LAYOUT_SOOTOPOLIS_CITY_GYM_B1F",
+ "music": "MUS_GIM",
+ "region_map_section": "MAPSEC_SOOTOPOLIS_CITY",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_GYM",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_LASS",
+ "x": 7,
+ "y": 19,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "1",
+ "script": "SootopolisCity_Gym_B1F_EventScript_15B0D8",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BEAUTY",
+ "x": 9,
+ "y": 17,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "1",
+ "script": "SootopolisCity_Gym_B1F_EventScript_15B11D",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_3",
+ "x": 9,
+ "y": 14,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "1",
+ "script": "SootopolisCity_Gym_B1F_EventScript_15B106",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BEAUTY",
+ "x": 6,
+ "y": 13,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "5",
+ "script": "SootopolisCity_Gym_B1F_EventScript_15B134",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BEAUTY",
+ "x": 3,
+ "y": 9,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "4",
+ "script": "SootopolisCity_Gym_B1F_EventScript_15B162",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_2",
+ "x": 11,
+ "y": 9,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "2",
+ "script": "SootopolisCity_Gym_B1F_EventScript_15B179",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_LASS",
+ "x": 8,
+ "y": 7,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "2",
+ "script": "SootopolisCity_Gym_B1F_EventScript_15B0EF",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BEAUTY",
+ "x": 12,
+ "y": 7,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "3",
+ "script": "SootopolisCity_Gym_B1F_EventScript_15B14B",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 11,
+ "y": 22,
+ "elevation": 3,
+ "dest_map": "MAP_SOOTOPOLIS_CITY_GYM_1F",
+ "dest_warp_id": 2
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/SootopolisCity_House1/events.inc b/data/maps/SootopolisCity_House1/events.inc
deleted file mode 100644
index fb7a318d2..000000000
--- a/data/maps/SootopolisCity_House1/events.inc
+++ /dev/null
@@ -1,10 +0,0 @@
-SootopolisCity_House1_EventObjects:: @ 838AFA4
- object_event 1, EVENT_OBJ_GFX_BLACK_BELT, 0, 2, 4, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, SootopolisCity_House1_EventScript_15B29B, 0
- object_event 2, EVENT_OBJ_GFX_KECLEON_1, 0, 2, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SootopolisCity_House1_EventScript_15B2D1, 0
-
-SootopolisCity_House1_MapWarps:: @ 838AFD4
- warp_def 3, 6, 0, 4, MAP_SOOTOPOLIS_CITY
- warp_def 4, 6, 0, 4, MAP_SOOTOPOLIS_CITY
-
-SootopolisCity_House1_MapEvents:: @ 838AFE4
- map_events SootopolisCity_House1_EventObjects, SootopolisCity_House1_MapWarps, 0x0, 0x0
diff --git a/data/maps/SootopolisCity_House1/header.inc b/data/maps/SootopolisCity_House1/header.inc
deleted file mode 100644
index 261895970..000000000
--- a/data/maps/SootopolisCity_House1/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SootopolisCity_House1:: @ 83069B8
- .4byte SootopolisCity_House1_Layout
- .4byte SootopolisCity_House1_MapEvents
- .4byte SootopolisCity_House1_MapScripts
- .4byte 0x0
- .2byte MUS_RUNECITY
- .2byte 308
- .byte MAPSEC_SOOTOPOLIS_CITY
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/SootopolisCity_House1/map.json b/data/maps/SootopolisCity_House1/map.json
new file mode 100644
index 000000000..b66dd5768
--- /dev/null
+++ b/data/maps/SootopolisCity_House1/map.json
@@ -0,0 +1,59 @@
+{
+ "id": "MAP_SOOTOPOLIS_CITY_HOUSE1",
+ "name": "SootopolisCity_House1",
+ "layout": "LAYOUT_SOOTOPOLIS_CITY_HOUSE1",
+ "music": "MUS_RUNECITY",
+ "region_map_section": "MAPSEC_SOOTOPOLIS_CITY",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BLACK_BELT",
+ "x": 2,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SootopolisCity_House1_EventScript_15B29B",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_KECLEON_1",
+ "x": 2,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SootopolisCity_House1_EventScript_15B2D1",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 3,
+ "y": 6,
+ "elevation": 0,
+ "dest_map": "MAP_SOOTOPOLIS_CITY",
+ "dest_warp_id": 4
+ },
+ {
+ "x": 4,
+ "y": 6,
+ "elevation": 0,
+ "dest_map": "MAP_SOOTOPOLIS_CITY",
+ "dest_warp_id": 4
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/SootopolisCity_House2/events.inc b/data/maps/SootopolisCity_House2/events.inc
deleted file mode 100644
index 241961795..000000000
--- a/data/maps/SootopolisCity_House2/events.inc
+++ /dev/null
@@ -1,9 +0,0 @@
-SootopolisCity_House2_EventObjects:: @ 838AFF8
- object_event 1, EVENT_OBJ_GFX_OLD_WOMAN_1, 0, 3, 3, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, SootopolisCity_House2_EventScript_15B2E5, 0
-
-SootopolisCity_House2_MapWarps:: @ 838B010
- warp_def 3, 6, 0, 5, MAP_SOOTOPOLIS_CITY
- warp_def 4, 6, 0, 5, MAP_SOOTOPOLIS_CITY
-
-SootopolisCity_House2_MapEvents:: @ 838B020
- map_events SootopolisCity_House2_EventObjects, SootopolisCity_House2_MapWarps, 0x0, 0x0
diff --git a/data/maps/SootopolisCity_House2/header.inc b/data/maps/SootopolisCity_House2/header.inc
deleted file mode 100644
index 7e49a0333..000000000
--- a/data/maps/SootopolisCity_House2/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SootopolisCity_House2:: @ 83069D4
- .4byte SootopolisCity_House2_Layout
- .4byte SootopolisCity_House2_MapEvents
- .4byte SootopolisCity_House2_MapScripts
- .4byte 0x0
- .2byte MUS_RUNECITY
- .2byte 309
- .byte MAPSEC_SOOTOPOLIS_CITY
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/SootopolisCity_House2/map.json b/data/maps/SootopolisCity_House2/map.json
new file mode 100644
index 000000000..0b4ffb2d6
--- /dev/null
+++ b/data/maps/SootopolisCity_House2/map.json
@@ -0,0 +1,46 @@
+{
+ "id": "MAP_SOOTOPOLIS_CITY_HOUSE2",
+ "name": "SootopolisCity_House2",
+ "layout": "LAYOUT_SOOTOPOLIS_CITY_HOUSE2",
+ "music": "MUS_RUNECITY",
+ "region_map_section": "MAPSEC_SOOTOPOLIS_CITY",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_OLD_WOMAN_1",
+ "x": 3,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SootopolisCity_House2_EventScript_15B2E5",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 3,
+ "y": 6,
+ "elevation": 0,
+ "dest_map": "MAP_SOOTOPOLIS_CITY",
+ "dest_warp_id": 5
+ },
+ {
+ "x": 4,
+ "y": 6,
+ "elevation": 0,
+ "dest_map": "MAP_SOOTOPOLIS_CITY",
+ "dest_warp_id": 5
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/SootopolisCity_House3/events.inc b/data/maps/SootopolisCity_House3/events.inc
deleted file mode 100644
index 987aa7a30..000000000
--- a/data/maps/SootopolisCity_House3/events.inc
+++ /dev/null
@@ -1,10 +0,0 @@
-SootopolisCity_House3_EventObjects:: @ 838B034
- object_event 1, EVENT_OBJ_GFX_WOMAN_5, 0, 2, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SootopolisCity_House3_EventScript_15B31A, 0
- object_event 2, EVENT_OBJ_GFX_GIRL_2, 0, 6, 4, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, SootopolisCity_House3_EventScript_15B343, 0
-
-SootopolisCity_House3_MapWarps:: @ 838B064
- warp_def 3, 6, 0, 6, MAP_SOOTOPOLIS_CITY
- warp_def 4, 6, 0, 6, MAP_SOOTOPOLIS_CITY
-
-SootopolisCity_House3_MapEvents:: @ 838B074
- map_events SootopolisCity_House3_EventObjects, SootopolisCity_House3_MapWarps, 0x0, 0x0
diff --git a/data/maps/SootopolisCity_House3/header.inc b/data/maps/SootopolisCity_House3/header.inc
deleted file mode 100644
index 19d25ea53..000000000
--- a/data/maps/SootopolisCity_House3/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SootopolisCity_House3:: @ 83069F0
- .4byte SootopolisCity_House3_Layout
- .4byte SootopolisCity_House3_MapEvents
- .4byte SootopolisCity_House3_MapScripts
- .4byte 0x0
- .2byte MUS_RUNECITY
- .2byte 310
- .byte MAPSEC_SOOTOPOLIS_CITY
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/SootopolisCity_House3/map.json b/data/maps/SootopolisCity_House3/map.json
new file mode 100644
index 000000000..d2a01f18e
--- /dev/null
+++ b/data/maps/SootopolisCity_House3/map.json
@@ -0,0 +1,59 @@
+{
+ "id": "MAP_SOOTOPOLIS_CITY_HOUSE3",
+ "name": "SootopolisCity_House3",
+ "layout": "LAYOUT_SOOTOPOLIS_CITY_HOUSE3",
+ "music": "MUS_RUNECITY",
+ "region_map_section": "MAPSEC_SOOTOPOLIS_CITY",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_5",
+ "x": 2,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SootopolisCity_House3_EventScript_15B31A",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_GIRL_2",
+ "x": 6,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SootopolisCity_House3_EventScript_15B343",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 3,
+ "y": 6,
+ "elevation": 0,
+ "dest_map": "MAP_SOOTOPOLIS_CITY",
+ "dest_warp_id": 6
+ },
+ {
+ "x": 4,
+ "y": 6,
+ "elevation": 0,
+ "dest_map": "MAP_SOOTOPOLIS_CITY",
+ "dest_warp_id": 6
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/SootopolisCity_House4/events.inc b/data/maps/SootopolisCity_House4/events.inc
deleted file mode 100644
index 6f4eeb127..000000000
--- a/data/maps/SootopolisCity_House4/events.inc
+++ /dev/null
@@ -1,11 +0,0 @@
-SootopolisCity_House4_EventObjects:: @ 838B088
- object_event 1, EVENT_OBJ_GFX_MAN_1, 0, 2, 4, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, SootopolisCity_House4_EventScript_15B34D, 0
- object_event 2, EVENT_OBJ_GFX_WOMAN_5, 0, 5, 2, 3, MOVEMENT_TYPE_FACE_UP, 1, 2, 0, 0, SootopolisCity_House4_EventScript_15B356, 0
- object_event 3, EVENT_OBJ_GFX_AZUMARILL, 0, 2, 3, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, SootopolisCity_House4_EventScript_15B35F, 0
-
-SootopolisCity_House4_MapWarps:: @ 838B0D0
- warp_def 3, 6, 0, 7, MAP_SOOTOPOLIS_CITY
- warp_def 4, 6, 0, 7, MAP_SOOTOPOLIS_CITY
-
-SootopolisCity_House4_MapEvents:: @ 838B0E0
- map_events SootopolisCity_House4_EventObjects, SootopolisCity_House4_MapWarps, 0x0, 0x0
diff --git a/data/maps/SootopolisCity_House4/header.inc b/data/maps/SootopolisCity_House4/header.inc
deleted file mode 100644
index 89f13124f..000000000
--- a/data/maps/SootopolisCity_House4/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SootopolisCity_House4:: @ 8306A0C
- .4byte SootopolisCity_House1_Layout
- .4byte SootopolisCity_House4_MapEvents
- .4byte SootopolisCity_House4_MapScripts
- .4byte 0x0
- .2byte MUS_RUNECITY
- .2byte 308
- .byte MAPSEC_SOOTOPOLIS_CITY
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/SootopolisCity_House4/map.json b/data/maps/SootopolisCity_House4/map.json
new file mode 100644
index 000000000..f68c71213
--- /dev/null
+++ b/data/maps/SootopolisCity_House4/map.json
@@ -0,0 +1,72 @@
+{
+ "id": "MAP_SOOTOPOLIS_CITY_HOUSE4",
+ "name": "SootopolisCity_House4",
+ "layout": "LAYOUT_SOOTOPOLIS_CITY_HOUSE1",
+ "music": "MUS_RUNECITY",
+ "region_map_section": "MAPSEC_SOOTOPOLIS_CITY",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_1",
+ "x": 2,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SootopolisCity_House4_EventScript_15B34D",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_5",
+ "x": 5,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP",
+ "movement_range_x": 1,
+ "movement_range_y": 2,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SootopolisCity_House4_EventScript_15B356",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_AZUMARILL",
+ "x": 2,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SootopolisCity_House4_EventScript_15B35F",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 3,
+ "y": 6,
+ "elevation": 0,
+ "dest_map": "MAP_SOOTOPOLIS_CITY",
+ "dest_warp_id": 7
+ },
+ {
+ "x": 4,
+ "y": 6,
+ "elevation": 0,
+ "dest_map": "MAP_SOOTOPOLIS_CITY",
+ "dest_warp_id": 7
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/SootopolisCity_House5/events.inc b/data/maps/SootopolisCity_House5/events.inc
deleted file mode 100644
index f256463bb..000000000
--- a/data/maps/SootopolisCity_House5/events.inc
+++ /dev/null
@@ -1,10 +0,0 @@
-SootopolisCity_House5_EventObjects:: @ 838B0F4
- object_event 1, EVENT_OBJ_GFX_MANIAC, 0, 3, 3, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, SootopolisCity_House5_EventScript_15B373, 0
- object_event 2, EVENT_OBJ_GFX_GIRL_3, 0, 6, 3, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, SootopolisCity_House5_EventScript_15B37C, 0
-
-SootopolisCity_House5_MapWarps:: @ 838B124
- warp_def 3, 6, 0, 8, MAP_SOOTOPOLIS_CITY
- warp_def 4, 6, 0, 8, MAP_SOOTOPOLIS_CITY
-
-SootopolisCity_House5_MapEvents:: @ 838B134
- map_events SootopolisCity_House5_EventObjects, SootopolisCity_House5_MapWarps, 0x0, 0x0
diff --git a/data/maps/SootopolisCity_House5/header.inc b/data/maps/SootopolisCity_House5/header.inc
deleted file mode 100644
index cfe70c9da..000000000
--- a/data/maps/SootopolisCity_House5/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SootopolisCity_House5:: @ 8306A28
- .4byte SootopolisCity_House2_Layout
- .4byte SootopolisCity_House5_MapEvents
- .4byte SootopolisCity_House5_MapScripts
- .4byte 0x0
- .2byte MUS_RUNECITY
- .2byte 309
- .byte MAPSEC_SOOTOPOLIS_CITY
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/SootopolisCity_House5/map.json b/data/maps/SootopolisCity_House5/map.json
new file mode 100644
index 000000000..32bf9dc1f
--- /dev/null
+++ b/data/maps/SootopolisCity_House5/map.json
@@ -0,0 +1,59 @@
+{
+ "id": "MAP_SOOTOPOLIS_CITY_HOUSE5",
+ "name": "SootopolisCity_House5",
+ "layout": "LAYOUT_SOOTOPOLIS_CITY_HOUSE2",
+ "music": "MUS_RUNECITY",
+ "region_map_section": "MAPSEC_SOOTOPOLIS_CITY",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MANIAC",
+ "x": 3,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SootopolisCity_House5_EventScript_15B373",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_GIRL_3",
+ "x": 6,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SootopolisCity_House5_EventScript_15B37C",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 3,
+ "y": 6,
+ "elevation": 0,
+ "dest_map": "MAP_SOOTOPOLIS_CITY",
+ "dest_warp_id": 8
+ },
+ {
+ "x": 4,
+ "y": 6,
+ "elevation": 0,
+ "dest_map": "MAP_SOOTOPOLIS_CITY",
+ "dest_warp_id": 8
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/SootopolisCity_House6/events.inc b/data/maps/SootopolisCity_House6/events.inc
deleted file mode 100644
index 24534b199..000000000
--- a/data/maps/SootopolisCity_House6/events.inc
+++ /dev/null
@@ -1,9 +0,0 @@
-SootopolisCity_House6_EventObjects:: @ 838B148
- object_event 1, EVENT_OBJ_GFX_WOMAN_3, 0, 4, 3, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, SootopolisCity_House6_EventScript_15B386, 0
-
-SootopolisCity_House6_MapWarps:: @ 838B160
- warp_def 3, 6, 0, 9, MAP_SOOTOPOLIS_CITY
- warp_def 4, 6, 0, 9, MAP_SOOTOPOLIS_CITY
-
-SootopolisCity_House6_MapEvents:: @ 838B170
- map_events SootopolisCity_House6_EventObjects, SootopolisCity_House6_MapWarps, 0x0, 0x0
diff --git a/data/maps/SootopolisCity_House6/header.inc b/data/maps/SootopolisCity_House6/header.inc
deleted file mode 100644
index 6b3dbce40..000000000
--- a/data/maps/SootopolisCity_House6/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SootopolisCity_House6:: @ 8306A44
- .4byte SootopolisCity_House3_Layout
- .4byte SootopolisCity_House6_MapEvents
- .4byte SootopolisCity_House6_MapScripts
- .4byte 0x0
- .2byte MUS_RUNECITY
- .2byte 310
- .byte MAPSEC_SOOTOPOLIS_CITY
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/SootopolisCity_House6/map.json b/data/maps/SootopolisCity_House6/map.json
new file mode 100644
index 000000000..586979fcf
--- /dev/null
+++ b/data/maps/SootopolisCity_House6/map.json
@@ -0,0 +1,46 @@
+{
+ "id": "MAP_SOOTOPOLIS_CITY_HOUSE6",
+ "name": "SootopolisCity_House6",
+ "layout": "LAYOUT_SOOTOPOLIS_CITY_HOUSE3",
+ "music": "MUS_RUNECITY",
+ "region_map_section": "MAPSEC_SOOTOPOLIS_CITY",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_3",
+ "x": 4,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SootopolisCity_House6_EventScript_15B386",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 3,
+ "y": 6,
+ "elevation": 0,
+ "dest_map": "MAP_SOOTOPOLIS_CITY",
+ "dest_warp_id": 9
+ },
+ {
+ "x": 4,
+ "y": 6,
+ "elevation": 0,
+ "dest_map": "MAP_SOOTOPOLIS_CITY",
+ "dest_warp_id": 9
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/SootopolisCity_House7/events.inc b/data/maps/SootopolisCity_House7/events.inc
deleted file mode 100644
index 291e041cb..000000000
--- a/data/maps/SootopolisCity_House7/events.inc
+++ /dev/null
@@ -1,10 +0,0 @@
-SootopolisCity_House7_EventObjects:: @ 838B184
- object_event 1, EVENT_OBJ_GFX_OLD_MAN_2, 0, 5, 3, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, SootopolisCity_House7_EventScript_15B3EE, 0
- object_event 2, EVENT_OBJ_GFX_WOMAN_2, 0, 1, 4, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, SootopolisCity_House7_EventScript_15B3F7, 0
-
-SootopolisCity_House7_MapWarps:: @ 838B1B4
- warp_def 3, 6, 0, 10, MAP_SOOTOPOLIS_CITY
- warp_def 4, 6, 0, 10, MAP_SOOTOPOLIS_CITY
-
-SootopolisCity_House7_MapEvents:: @ 838B1C4
- map_events SootopolisCity_House7_EventObjects, SootopolisCity_House7_MapWarps, 0x0, 0x0
diff --git a/data/maps/SootopolisCity_House7/header.inc b/data/maps/SootopolisCity_House7/header.inc
deleted file mode 100644
index 378c638ae..000000000
--- a/data/maps/SootopolisCity_House7/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SootopolisCity_House7:: @ 8306A60
- .4byte SootopolisCity_House1_Layout
- .4byte SootopolisCity_House7_MapEvents
- .4byte SootopolisCity_House7_MapScripts
- .4byte 0x0
- .2byte MUS_RUNECITY
- .2byte 308
- .byte MAPSEC_SOOTOPOLIS_CITY
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/SootopolisCity_House7/map.json b/data/maps/SootopolisCity_House7/map.json
new file mode 100644
index 000000000..796901032
--- /dev/null
+++ b/data/maps/SootopolisCity_House7/map.json
@@ -0,0 +1,59 @@
+{
+ "id": "MAP_SOOTOPOLIS_CITY_HOUSE7",
+ "name": "SootopolisCity_House7",
+ "layout": "LAYOUT_SOOTOPOLIS_CITY_HOUSE1",
+ "music": "MUS_RUNECITY",
+ "region_map_section": "MAPSEC_SOOTOPOLIS_CITY",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_OLD_MAN_2",
+ "x": 5,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SootopolisCity_House7_EventScript_15B3EE",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_2",
+ "x": 1,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SootopolisCity_House7_EventScript_15B3F7",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 3,
+ "y": 6,
+ "elevation": 0,
+ "dest_map": "MAP_SOOTOPOLIS_CITY",
+ "dest_warp_id": 10
+ },
+ {
+ "x": 4,
+ "y": 6,
+ "elevation": 0,
+ "dest_map": "MAP_SOOTOPOLIS_CITY",
+ "dest_warp_id": 10
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/SootopolisCity_House8/events.inc b/data/maps/SootopolisCity_House8/events.inc
deleted file mode 100644
index 8cf607f25..000000000
--- a/data/maps/SootopolisCity_House8/events.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SootopolisCity_House8_EventObjects:: @ 838B1D8
- object_event 1, EVENT_OBJ_GFX_FISHERMAN, 0, 2, 4, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, SootopolisCity_House8_EventScript_15B492, 0
- object_event 2, EVENT_OBJ_GFX_HIKER, 0, 5, 4, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, SootopolisCity_House8_EventScript_15B401, 0
-
-SootopolisCity_House8_MapWarps:: @ 838B208
- warp_def 3, 6, 0, 11, MAP_SOOTOPOLIS_CITY
- warp_def 4, 6, 0, 11, MAP_SOOTOPOLIS_CITY
-
-SootopolisCity_House8_MapBGEvents:: @ 838B218
- bg_event 5, 1, 0, BG_EVENT_PLAYER_FACING_ANY, SootopolisCity_House8_EventScript_15B523
- bg_event 2, 1, 0, BG_EVENT_PLAYER_FACING_ANY, SootopolisCity_House8_EventScript_15B531
-
-SootopolisCity_House8_MapEvents:: @ 838B230
- map_events SootopolisCity_House8_EventObjects, SootopolisCity_House8_MapWarps, 0x0, SootopolisCity_House8_MapBGEvents
diff --git a/data/maps/SootopolisCity_House8/header.inc b/data/maps/SootopolisCity_House8/header.inc
deleted file mode 100644
index 80734140d..000000000
--- a/data/maps/SootopolisCity_House8/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SootopolisCity_House8:: @ 8306A7C
- .4byte SootopolisCity_House8_Layout
- .4byte SootopolisCity_House8_MapEvents
- .4byte SootopolisCity_House8_MapScripts
- .4byte 0x0
- .2byte MUS_RUNECITY
- .2byte 298
- .byte MAPSEC_SOOTOPOLIS_CITY
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/SootopolisCity_House8/map.json b/data/maps/SootopolisCity_House8/map.json
new file mode 100644
index 000000000..e645c2dd5
--- /dev/null
+++ b/data/maps/SootopolisCity_House8/map.json
@@ -0,0 +1,76 @@
+{
+ "id": "MAP_SOOTOPOLIS_CITY_HOUSE8",
+ "name": "SootopolisCity_House8",
+ "layout": "LAYOUT_SOOTOPOLIS_CITY_HOUSE8",
+ "music": "MUS_RUNECITY",
+ "region_map_section": "MAPSEC_SOOTOPOLIS_CITY",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_FISHERMAN",
+ "x": 2,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SootopolisCity_House8_EventScript_15B492",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_HIKER",
+ "x": 5,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SootopolisCity_House8_EventScript_15B401",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 3,
+ "y": 6,
+ "elevation": 0,
+ "dest_map": "MAP_SOOTOPOLIS_CITY",
+ "dest_warp_id": 11
+ },
+ {
+ "x": 4,
+ "y": 6,
+ "elevation": 0,
+ "dest_map": "MAP_SOOTOPOLIS_CITY",
+ "dest_warp_id": 11
+ }
+ ],
+ "coord_events": [],
+ "bg_events": [
+ {
+ "type": "sign",
+ "x": 5,
+ "y": 1,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "SootopolisCity_House8_EventScript_15B523"
+ },
+ {
+ "type": "sign",
+ "x": 2,
+ "y": 1,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "SootopolisCity_House8_EventScript_15B531"
+ }
+ ]
+} \ No newline at end of file
diff --git a/data/maps/SootopolisCity_Mart/events.inc b/data/maps/SootopolisCity_Mart/events.inc
deleted file mode 100644
index ba99aa4de..000000000
--- a/data/maps/SootopolisCity_Mart/events.inc
+++ /dev/null
@@ -1,11 +0,0 @@
-SootopolisCity_Mart_EventObjects:: @ 838AF38
- object_event 1, EVENT_OBJ_GFX_MART_EMPLOYEE, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, SootopolisCity_Mart_EventScript_15B21B, 0
- object_event 2, EVENT_OBJ_GFX_FAT_MAN, 0, 5, 5, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, SootopolisCity_Mart_EventScript_15B24A, 0
- object_event 3, EVENT_OBJ_GFX_GENTLEMAN, 0, 9, 5, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, SootopolisCity_Mart_EventScript_15B272, 0
-
-SootopolisCity_Mart_MapWarps:: @ 838AF80
- warp_def 3, 7, 0, 1, MAP_SOOTOPOLIS_CITY
- warp_def 4, 7, 0, 1, MAP_SOOTOPOLIS_CITY
-
-SootopolisCity_Mart_MapEvents:: @ 838AF90
- map_events SootopolisCity_Mart_EventObjects, SootopolisCity_Mart_MapWarps, 0x0, 0x0
diff --git a/data/maps/SootopolisCity_Mart/header.inc b/data/maps/SootopolisCity_Mart/header.inc
deleted file mode 100644
index bb13d1016..000000000
--- a/data/maps/SootopolisCity_Mart/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SootopolisCity_Mart:: @ 830699C
- .4byte PokeMart_Layout
- .4byte SootopolisCity_Mart_MapEvents
- .4byte SootopolisCity_Mart_MapScripts
- .4byte 0x0
- .2byte MUS_FRIENDLY
- .2byte 63
- .byte MAPSEC_SOOTOPOLIS_CITY
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/SootopolisCity_Mart/map.json b/data/maps/SootopolisCity_Mart/map.json
new file mode 100644
index 000000000..bb2231ba1
--- /dev/null
+++ b/data/maps/SootopolisCity_Mart/map.json
@@ -0,0 +1,72 @@
+{
+ "id": "MAP_SOOTOPOLIS_CITY_MART",
+ "name": "SootopolisCity_Mart",
+ "layout": "LAYOUT_POKE_MART",
+ "music": "MUS_FRIENDLY",
+ "region_map_section": "MAPSEC_SOOTOPOLIS_CITY",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MART_EMPLOYEE",
+ "x": 1,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SootopolisCity_Mart_EventScript_15B21B",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_FAT_MAN",
+ "x": 5,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SootopolisCity_Mart_EventScript_15B24A",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_GENTLEMAN",
+ "x": 9,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SootopolisCity_Mart_EventScript_15B272",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 3,
+ "y": 7,
+ "elevation": 0,
+ "dest_map": "MAP_SOOTOPOLIS_CITY",
+ "dest_warp_id": 1
+ },
+ {
+ "x": 4,
+ "y": 7,
+ "elevation": 0,
+ "dest_map": "MAP_SOOTOPOLIS_CITY",
+ "dest_warp_id": 1
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/SootopolisCity_PokemonCenter_1F/events.inc b/data/maps/SootopolisCity_PokemonCenter_1F/events.inc
deleted file mode 100644
index f2c8fb7d1..000000000
--- a/data/maps/SootopolisCity_PokemonCenter_1F/events.inc
+++ /dev/null
@@ -1,12 +0,0 @@
-SootopolisCity_PokemonCenter_1F_EventObjects:: @ 838AE40
- object_event 1, EVENT_OBJ_GFX_NURSE, 0, 7, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SootopolisCity_PokemonCenter_1F_EventScript_15BC70, 0
- object_event 2, EVENT_OBJ_GFX_GENTLEMAN, 0, 12, 4, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, SootopolisCity_PokemonCenter_1F_EventScript_15B1A8, 0
- object_event 3, EVENT_OBJ_GFX_WOMAN_7, 0, 4, 7, 3, MOVEMENT_TYPE_WANDER_LEFT_AND_RIGHT, 1, 0, 0, 0, SootopolisCity_PokemonCenter_1F_EventScript_15B1D0, 0
-
-SootopolisCity_PokemonCenter_1F_MapWarps:: @ 838AE88
- warp_def 7, 8, 3, 0, MAP_SOOTOPOLIS_CITY
- warp_def 6, 8, 3, 0, MAP_SOOTOPOLIS_CITY
- warp_def 1, 6, 4, 0, MAP_SOOTOPOLIS_CITY_POKEMON_CENTER_2F
-
-SootopolisCity_PokemonCenter_1F_MapEvents:: @ 838AEA0
- map_events SootopolisCity_PokemonCenter_1F_EventObjects, SootopolisCity_PokemonCenter_1F_MapWarps, 0x0, 0x0
diff --git a/data/maps/SootopolisCity_PokemonCenter_1F/header.inc b/data/maps/SootopolisCity_PokemonCenter_1F/header.inc
deleted file mode 100644
index 8739812a2..000000000
--- a/data/maps/SootopolisCity_PokemonCenter_1F/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SootopolisCity_PokemonCenter_1F:: @ 8306964
- .4byte PokemonCenter_1F_Layout
- .4byte SootopolisCity_PokemonCenter_1F_MapEvents
- .4byte SootopolisCity_PokemonCenter_1F_MapScripts
- .4byte 0x0
- .2byte MUS_POKECEN
- .2byte 61
- .byte MAPSEC_SOOTOPOLIS_CITY
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/SootopolisCity_PokemonCenter_1F/map.json b/data/maps/SootopolisCity_PokemonCenter_1F/map.json
new file mode 100644
index 000000000..bed5ed911
--- /dev/null
+++ b/data/maps/SootopolisCity_PokemonCenter_1F/map.json
@@ -0,0 +1,79 @@
+{
+ "id": "MAP_SOOTOPOLIS_CITY_POKEMON_CENTER_1F",
+ "name": "SootopolisCity_PokemonCenter_1F",
+ "layout": "LAYOUT_POKEMON_CENTER_1F",
+ "music": "MUS_POKECEN",
+ "region_map_section": "MAPSEC_SOOTOPOLIS_CITY",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_NURSE",
+ "x": 7,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SootopolisCity_PokemonCenter_1F_EventScript_15BC70",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_GENTLEMAN",
+ "x": 12,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SootopolisCity_PokemonCenter_1F_EventScript_15B1A8",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_7",
+ "x": 4,
+ "y": 7,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_LEFT_AND_RIGHT",
+ "movement_range_x": 1,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SootopolisCity_PokemonCenter_1F_EventScript_15B1D0",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 7,
+ "y": 8,
+ "elevation": 3,
+ "dest_map": "MAP_SOOTOPOLIS_CITY",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 6,
+ "y": 8,
+ "elevation": 3,
+ "dest_map": "MAP_SOOTOPOLIS_CITY",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 1,
+ "y": 6,
+ "elevation": 4,
+ "dest_map": "MAP_SOOTOPOLIS_CITY_POKEMON_CENTER_2F",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/SootopolisCity_PokemonCenter_2F/events.inc b/data/maps/SootopolisCity_PokemonCenter_2F/events.inc
deleted file mode 100644
index 4117f8e0f..000000000
--- a/data/maps/SootopolisCity_PokemonCenter_2F/events.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SootopolisCity_PokemonCenter_2F_EventObjects:: @ 838AEB4
- object_event 1, EVENT_OBJ_GFX_TEALA, 0, 4, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SootopolisCity_PokemonCenter_2F_EventScript_15B208, 0
- object_event 2, EVENT_OBJ_GFX_TEALA, 0, 7, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SootopolisCity_PokemonCenter_2F_EventScript_15B20E, 0
- object_event 3, EVENT_OBJ_GFX_TEALA, 0, 10, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SootopolisCity_PokemonCenter_2F_EventScript_15B214, 0
-
-SootopolisCity_PokemonCenter_2F_MapWarps:: @ 838AEFC
- warp_def 1, 5, 4, 2, MAP_SOOTOPOLIS_CITY_POKEMON_CENTER_1F
- warp_def 5, 1, 0, 0, MAP_SINGLE_BATTLE_COLOSSEUM
- warp_def 8, 1, 0, 0, MAP_TRADE_CENTER
- warp_def 11, 1, 0, 0, MAP_RECORD_CORNER
- warp_def 0, 0, 0, 0, MAP_DOUBLE_BATTLE_COLOSSEUM
-
-SootopolisCity_PokemonCenter_2F_MapEvents:: @ 838AF24
- map_events SootopolisCity_PokemonCenter_2F_EventObjects, SootopolisCity_PokemonCenter_2F_MapWarps, 0x0, 0x0
diff --git a/data/maps/SootopolisCity_PokemonCenter_2F/header.inc b/data/maps/SootopolisCity_PokemonCenter_2F/header.inc
deleted file mode 100644
index fb3f2f8c4..000000000
--- a/data/maps/SootopolisCity_PokemonCenter_2F/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SootopolisCity_PokemonCenter_2F:: @ 8306980
- .4byte PokemonCenter_2F_Layout
- .4byte SootopolisCity_PokemonCenter_2F_MapEvents
- .4byte SootopolisCity_PokemonCenter_2F_MapScripts
- .4byte 0x0
- .2byte MUS_POKECEN
- .2byte 62
- .byte MAPSEC_SOOTOPOLIS_CITY
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/SootopolisCity_PokemonCenter_2F/map.json b/data/maps/SootopolisCity_PokemonCenter_2F/map.json
new file mode 100644
index 000000000..134e3d67b
--- /dev/null
+++ b/data/maps/SootopolisCity_PokemonCenter_2F/map.json
@@ -0,0 +1,93 @@
+{
+ "id": "MAP_SOOTOPOLIS_CITY_POKEMON_CENTER_2F",
+ "name": "SootopolisCity_PokemonCenter_2F",
+ "layout": "LAYOUT_POKEMON_CENTER_2F",
+ "music": "MUS_POKECEN",
+ "region_map_section": "MAPSEC_SOOTOPOLIS_CITY",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_TEALA",
+ "x": 4,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SootopolisCity_PokemonCenter_2F_EventScript_15B208",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_TEALA",
+ "x": 7,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SootopolisCity_PokemonCenter_2F_EventScript_15B20E",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_TEALA",
+ "x": 10,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SootopolisCity_PokemonCenter_2F_EventScript_15B214",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 1,
+ "y": 5,
+ "elevation": 4,
+ "dest_map": "MAP_SOOTOPOLIS_CITY_POKEMON_CENTER_1F",
+ "dest_warp_id": 2
+ },
+ {
+ "x": 5,
+ "y": 1,
+ "elevation": 0,
+ "dest_map": "MAP_SINGLE_BATTLE_COLOSSEUM",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 8,
+ "y": 1,
+ "elevation": 0,
+ "dest_map": "MAP_TRADE_CENTER",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 11,
+ "y": 1,
+ "elevation": 0,
+ "dest_map": "MAP_RECORD_CORNER",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 0,
+ "y": 0,
+ "elevation": 0,
+ "dest_map": "MAP_DOUBLE_BATTLE_COLOSSEUM",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/SouthernIsland_Exterior/events.inc b/data/maps/SouthernIsland_Exterior/events.inc
deleted file mode 100644
index 42b61bdd8..000000000
--- a/data/maps/SouthernIsland_Exterior/events.inc
+++ /dev/null
@@ -1,13 +0,0 @@
-SouthernIsland_Exterior_EventObjects:: @ 8391E00
- object_event 1, EVENT_OBJ_GFX_SAILOR, 0, 13, 23, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, SouthernIsland_Exterior_EventScript_160AE0, 0
- object_event 2, EVENT_OBJ_GFX_SS_TIDAL, 0, 13, 25, 1, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, 0x0, 0
-
-SouthernIsland_Exterior_MapWarps:: @ 8391E30
- warp_def 14, 5, 3, 0, MAP_SOUTHERN_ISLAND_INTERIOR
- warp_def 15, 5, 3, 1, MAP_SOUTHERN_ISLAND_INTERIOR
-
-SouthernIsland_Exterior_MapBGEvents:: @ 8391E40
- bg_event 16, 7, 3, BG_EVENT_PLAYER_FACING_ANY, SouthernIsland_Exterior_EventScript_160B4A
-
-SouthernIsland_Exterior_MapEvents:: @ 8391E4C
- map_events SouthernIsland_Exterior_EventObjects, SouthernIsland_Exterior_MapWarps, 0x0, SouthernIsland_Exterior_MapBGEvents
diff --git a/data/maps/SouthernIsland_Exterior/header.inc b/data/maps/SouthernIsland_Exterior/header.inc
deleted file mode 100644
index a35ed72a7..000000000
--- a/data/maps/SouthernIsland_Exterior/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SouthernIsland_Exterior:: @ 8307CA4
- .4byte SouthernIsland_Exterior_Layout
- .4byte SouthernIsland_Exterior_MapEvents
- .4byte SouthernIsland_Exterior_MapScripts
- .4byte 0x0
- .2byte MUS_DAN02
- .2byte 291
- .byte MAPSEC_SOUTHERN_ISLAND
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_ROUTE
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/SouthernIsland_Exterior/map.json b/data/maps/SouthernIsland_Exterior/map.json
new file mode 100644
index 000000000..9863ed343
--- /dev/null
+++ b/data/maps/SouthernIsland_Exterior/map.json
@@ -0,0 +1,68 @@
+{
+ "id": "MAP_SOUTHERN_ISLAND_EXTERIOR",
+ "name": "SouthernIsland_Exterior",
+ "layout": "LAYOUT_SOUTHERN_ISLAND_EXTERIOR",
+ "music": "MUS_DAN02",
+ "region_map_section": "MAPSEC_SOUTHERN_ISLAND",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_ROUTE",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_SAILOR",
+ "x": 13,
+ "y": 23,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "SouthernIsland_Exterior_EventScript_160AE0",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_SS_TIDAL",
+ "x": 13,
+ "y": 25,
+ "elevation": 1,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 14,
+ "y": 5,
+ "elevation": 3,
+ "dest_map": "MAP_SOUTHERN_ISLAND_INTERIOR",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 15,
+ "y": 5,
+ "elevation": 3,
+ "dest_map": "MAP_SOUTHERN_ISLAND_INTERIOR",
+ "dest_warp_id": 1
+ }
+ ],
+ "coord_events": [],
+ "bg_events": [
+ {
+ "type": "sign",
+ "x": 16,
+ "y": 7,
+ "elevation": 3,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "SouthernIsland_Exterior_EventScript_160B4A"
+ }
+ ]
+} \ No newline at end of file
diff --git a/data/maps/SouthernIsland_Interior/events.inc b/data/maps/SouthernIsland_Interior/events.inc
deleted file mode 100644
index 6ad29dd5f..000000000
--- a/data/maps/SouthernIsland_Interior/events.inc
+++ /dev/null
@@ -1,13 +0,0 @@
-SouthernIsland_Interior_EventObjects:: @ 8391E60
- object_event 1, EVENT_OBJ_GFX_VAR_0, 0, 13, 12, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, 0x0, FLAG_HIDE_LATIOS_OR_LATIAS_FLYING
- object_event 2, EVENT_OBJ_GFX_VAR_1, 0, 13, 2, 0, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_HIDE_LATIOS_OR_LATIAS_STATIONARY
-
-SouthernIsland_Interior_MapWarps:: @ 8391E90
- warp_def 13, 18, 3, 0, MAP_SOUTHERN_ISLAND_EXTERIOR
- warp_def 14, 18, 3, 1, MAP_SOUTHERN_ISLAND_EXTERIOR
-
-SouthernIsland_Interior_MapBGEvents:: @ 8391EA0
- bg_event 13, 11, 3, BG_EVENT_PLAYER_FACING_NORTH, SouthernIsland_Interior_EventScript_160B9B
-
-SouthernIsland_Interior_MapEvents:: @ 8391EAC
- map_events SouthernIsland_Interior_EventObjects, SouthernIsland_Interior_MapWarps, 0x0, SouthernIsland_Interior_MapBGEvents
diff --git a/data/maps/SouthernIsland_Interior/header.inc b/data/maps/SouthernIsland_Interior/header.inc
deleted file mode 100644
index 5bef25e13..000000000
--- a/data/maps/SouthernIsland_Interior/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-SouthernIsland_Interior:: @ 8307CC0
- .4byte SouthernIsland_Interior_Layout
- .4byte SouthernIsland_Interior_MapEvents
- .4byte SouthernIsland_Interior_MapScripts
- .4byte 0x0
- .2byte MUS_DAN02
- .2byte 292
- .byte MAPSEC_SOUTHERN_ISLAND
- .byte 0
- .byte WEATHER_SHADE
- .byte MAP_TYPE_ROUTE
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/SouthernIsland_Interior/map.json b/data/maps/SouthernIsland_Interior/map.json
new file mode 100644
index 000000000..0c925de3f
--- /dev/null
+++ b/data/maps/SouthernIsland_Interior/map.json
@@ -0,0 +1,68 @@
+{
+ "id": "MAP_SOUTHERN_ISLAND_INTERIOR",
+ "name": "SouthernIsland_Interior",
+ "layout": "LAYOUT_SOUTHERN_ISLAND_INTERIOR",
+ "music": "MUS_DAN02",
+ "region_map_section": "MAPSEC_SOUTHERN_ISLAND",
+ "requires_flash": false,
+ "weather": "WEATHER_SHADE",
+ "map_type": "MAP_TYPE_ROUTE",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_0",
+ "x": 13,
+ "y": 12,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_HIDE_LATIOS_OR_LATIAS_FLYING"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_1",
+ "x": 13,
+ "y": 2,
+ "elevation": 0,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "0x0",
+ "flag": "FLAG_HIDE_LATIOS_OR_LATIAS_STATIONARY"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 13,
+ "y": 18,
+ "elevation": 3,
+ "dest_map": "MAP_SOUTHERN_ISLAND_EXTERIOR",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 14,
+ "y": 18,
+ "elevation": 3,
+ "dest_map": "MAP_SOUTHERN_ISLAND_EXTERIOR",
+ "dest_warp_id": 1
+ }
+ ],
+ "coord_events": [],
+ "bg_events": [
+ {
+ "type": "sign",
+ "x": 13,
+ "y": 11,
+ "elevation": 3,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH",
+ "script": "SouthernIsland_Interior_EventScript_160B9B"
+ }
+ ]
+} \ No newline at end of file
diff --git a/data/maps/TradeCenter/events.inc b/data/maps/TradeCenter/events.inc
deleted file mode 100644
index dbeb2c20b..000000000
--- a/data/maps/TradeCenter/events.inc
+++ /dev/null
@@ -1,13 +0,0 @@
-TradeCenter_EventObjects:: @ 8391340
- object_event 1, EVENT_OBJ_GFX_WOMAN_6, 0, 9, 6, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, TradeCenter_EventScript_1A44AD, 0
-
-TradeCenter_MapWarps:: @ 8391358
- warp_def 5, 8, 3, 127, MAP_NONE
- warp_def 6, 8, 3, 127, MAP_NONE
-
-TradeCenter_MapCoordEvents:: @ 8391368
- coord_event 4, 5, 3, VAR_TEMP_0, 0, TradeCenter_EventScript_1A43F0
- coord_event 7, 5, 3, VAR_TEMP_0, 0, TradeCenter_EventScript_1A43FA
-
-TradeCenter_MapEvents:: @ 8391388
- map_events TradeCenter_EventObjects, TradeCenter_MapWarps, TradeCenter_MapCoordEvents, 0x0
diff --git a/data/maps/TradeCenter/header.inc b/data/maps/TradeCenter/header.inc
deleted file mode 100644
index d7bdaaac4..000000000
--- a/data/maps/TradeCenter/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-TradeCenter:: @ 8307994
- .4byte TradeCenter_Layout
- .4byte TradeCenter_MapEvents
- .4byte TradeCenter_MapScripts
- .4byte 0x0
- .2byte MUS_RAINBOW
- .2byte 223
- .byte MAPSEC_DYNAMIC
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/TradeCenter/map.json b/data/maps/TradeCenter/map.json
new file mode 100644
index 000000000..a3351b84f
--- /dev/null
+++ b/data/maps/TradeCenter/map.json
@@ -0,0 +1,65 @@
+{
+ "id": "MAP_TRADE_CENTER",
+ "name": "TradeCenter",
+ "layout": "LAYOUT_TRADE_CENTER",
+ "music": "MUS_RAINBOW",
+ "region_map_section": "MAPSEC_DYNAMIC",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_6",
+ "x": 9,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "TradeCenter_EventScript_1A44AD",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 5,
+ "y": 8,
+ "elevation": 3,
+ "dest_map": "MAP_NONE",
+ "dest_warp_id": 127
+ },
+ {
+ "x": 6,
+ "y": 8,
+ "elevation": 3,
+ "dest_map": "MAP_NONE",
+ "dest_warp_id": 127
+ }
+ ],
+ "coord_events": [
+ {
+ "type": "trigger",
+ "x": 4,
+ "y": 5,
+ "elevation": 3,
+ "var": "VAR_TEMP_0",
+ "var_value": "0",
+ "script": "TradeCenter_EventScript_1A43F0"
+ },
+ {
+ "type": "trigger",
+ "x": 7,
+ "y": 5,
+ "elevation": 3,
+ "var": "VAR_TEMP_0",
+ "var_value": "0",
+ "script": "TradeCenter_EventScript_1A43FA"
+ }
+ ],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/Underwater1/connections.inc b/data/maps/Underwater1/connections.inc
deleted file mode 100644
index 7eaebf9da..000000000
--- a/data/maps/Underwater1/connections.inc
+++ /dev/null
@@ -1,7 +0,0 @@
-Underwater1_MapConnectionsList:: @ 8308D10
- connection down, 0, MAP_UNDERWATER2
- connection emerge, 0, MAP_ROUTE124
-
-Underwater1_MapConnections:: @ 8308D28
- .4byte 0x2
- .4byte Underwater1_MapConnectionsList
diff --git a/data/maps/Underwater1/events.inc b/data/maps/Underwater1/events.inc
deleted file mode 100644
index 12b3cf72b..000000000
--- a/data/maps/Underwater1/events.inc
+++ /dev/null
@@ -1,11 +0,0 @@
-Underwater1_MapBGEvents:: @ 8385518
- bg_hidden_item_event 42, 51, 0, ITEM_CARBOS, FLAG_HIDDEN_ITEM_8
- bg_hidden_item_event 14, 40, 0, ITEM_GREEN_SHARD, FLAG_HIDDEN_ITEM_9
- bg_hidden_item_event 66, 34, 3, ITEM_PEARL, FLAG_HIDDEN_ITEM_A
- bg_hidden_item_event 64, 54, 3, ITEM_BIG_PEARL, FLAG_HIDDEN_ITEM_B
- bg_hidden_item_event 70, 64, 3, ITEM_HEART_SCALE, FLAG_HIDDEN_ITEM_D
- bg_hidden_item_event 42, 5, 3, ITEM_CALCIUM, FLAG_HIDDEN_ITEM_24
- bg_hidden_item_event 45, 36, 3, ITEM_HEART_SCALE, FLAG_HIDDEN_ITEM_26
-
-Underwater1_MapEvents:: @ 838556C
- map_events 0x0, 0x0, 0x0, Underwater1_MapBGEvents
diff --git a/data/maps/Underwater1/header.inc b/data/maps/Underwater1/header.inc
deleted file mode 100644
index 52c15d1b0..000000000
--- a/data/maps/Underwater1/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-Underwater1:: @ 83059C0
- .4byte Underwater1_Layout
- .4byte Underwater1_MapEvents
- .4byte Underwater1_MapScripts
- .4byte Underwater1_MapConnections
- .2byte MUS_DEEPDEEP
- .2byte 275
- .byte MAPSEC_UNDERWATER_124
- .byte 0
- .byte WEATHER_BUBBLES
- .byte MAP_TYPE_UNDERWATER
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/Underwater1/map.json b/data/maps/Underwater1/map.json
new file mode 100644
index 000000000..4315d5adf
--- /dev/null
+++ b/data/maps/Underwater1/map.json
@@ -0,0 +1,85 @@
+{
+ "id": "MAP_UNDERWATER1",
+ "name": "Underwater1",
+ "layout": "LAYOUT_UNDERWATER1",
+ "music": "MUS_DEEPDEEP",
+ "region_map_section": "MAPSEC_UNDERWATER_124",
+ "requires_flash": false,
+ "weather": "WEATHER_BUBBLES",
+ "map_type": "MAP_TYPE_UNDERWATER",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": [
+ {
+ "direction": "down",
+ "offset": 0,
+ "map": "MAP_UNDERWATER2"
+ },
+ {
+ "direction": "emerge",
+ "offset": 0,
+ "map": "MAP_ROUTE124"
+ }
+ ],
+ "object_events": [],
+ "warp_events": [],
+ "coord_events": [],
+ "bg_events": [
+ {
+ "type": "hidden_item",
+ "x": 42,
+ "y": 51,
+ "elevation": 0,
+ "item": "ITEM_CARBOS",
+ "flag": "FLAG_HIDDEN_ITEM_8"
+ },
+ {
+ "type": "hidden_item",
+ "x": 14,
+ "y": 40,
+ "elevation": 0,
+ "item": "ITEM_GREEN_SHARD",
+ "flag": "FLAG_HIDDEN_ITEM_9"
+ },
+ {
+ "type": "hidden_item",
+ "x": 66,
+ "y": 34,
+ "elevation": 3,
+ "item": "ITEM_PEARL",
+ "flag": "FLAG_HIDDEN_ITEM_A"
+ },
+ {
+ "type": "hidden_item",
+ "x": 64,
+ "y": 54,
+ "elevation": 3,
+ "item": "ITEM_BIG_PEARL",
+ "flag": "FLAG_HIDDEN_ITEM_B"
+ },
+ {
+ "type": "hidden_item",
+ "x": 70,
+ "y": 64,
+ "elevation": 3,
+ "item": "ITEM_HEART_SCALE",
+ "flag": "FLAG_HIDDEN_ITEM_D"
+ },
+ {
+ "type": "hidden_item",
+ "x": 42,
+ "y": 5,
+ "elevation": 3,
+ "item": "ITEM_CALCIUM",
+ "flag": "FLAG_HIDDEN_ITEM_24"
+ },
+ {
+ "type": "hidden_item",
+ "x": 45,
+ "y": 36,
+ "elevation": 3,
+ "item": "ITEM_HEART_SCALE",
+ "flag": "FLAG_HIDDEN_ITEM_26"
+ }
+ ]
+} \ No newline at end of file
diff --git a/data/maps/Underwater2/connections.inc b/data/maps/Underwater2/connections.inc
deleted file mode 100644
index e24e6e122..000000000
--- a/data/maps/Underwater2/connections.inc
+++ /dev/null
@@ -1,8 +0,0 @@
-Underwater2_MapConnectionsList:: @ 8308D30
- connection up, 0, MAP_UNDERWATER1
- connection right, 0, MAP_UNDERWATER3
- connection emerge, 0, MAP_ROUTE126
-
-Underwater2_MapConnections:: @ 8308D54
- .4byte 0x3
- .4byte Underwater2_MapConnectionsList
diff --git a/data/maps/Underwater2/events.inc b/data/maps/Underwater2/events.inc
deleted file mode 100644
index a628cf972..000000000
--- a/data/maps/Underwater2/events.inc
+++ /dev/null
@@ -1,15 +0,0 @@
-Underwater2_MapWarps:: @ 8385580
- warp_def 45, 65, 0, 0, MAP_UNDERWATER_SOOTOPOLIS_CITY
-
-Underwater2_MapBGEvents:: @ 8385588
- bg_hidden_item_event 30, 17, 3, ITEM_HEART_SCALE, FLAG_HIDDEN_ITEM_E
- bg_hidden_item_event 41, 19, 3, ITEM_ULTRA_BALL, FLAG_HIDDEN_ITEM_F
- bg_hidden_item_event 63, 19, 3, ITEM_STARDUST, FLAG_HIDDEN_ITEM_10
- bg_hidden_item_event 10, 36, 3, ITEM_PEARL, FLAG_HIDDEN_ITEM_11
- bg_hidden_item_event 11, 39, 3, ITEM_IRON, FLAG_HIDDEN_ITEM_13
- bg_hidden_item_event 12, 35, 3, ITEM_YELLOW_SHARD, FLAG_HIDDEN_ITEM_12
- bg_hidden_item_event 65, 60, 3, ITEM_BIG_PEARL, FLAG_HIDDEN_ITEM_14
- bg_hidden_item_event 9, 77, 3, ITEM_BLUE_SHARD, FLAG_HIDDEN_ITEM_C
-
-Underwater2_MapEvents:: @ 83855E8
- map_events 0x0, Underwater2_MapWarps, 0x0, Underwater2_MapBGEvents
diff --git a/data/maps/Underwater2/header.inc b/data/maps/Underwater2/header.inc
deleted file mode 100644
index f0e15d9c3..000000000
--- a/data/maps/Underwater2/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-Underwater2:: @ 83059DC
- .4byte Underwater2_Layout
- .4byte Underwater2_MapEvents
- .4byte Underwater2_MapScripts
- .4byte Underwater2_MapConnections
- .2byte MUS_DEEPDEEP
- .2byte 51
- .byte MAPSEC_UNDERWATER_125
- .byte 0
- .byte WEATHER_BUBBLES
- .byte MAP_TYPE_UNDERWATER
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/Underwater2/map.json b/data/maps/Underwater2/map.json
new file mode 100644
index 000000000..317a9aaa0
--- /dev/null
+++ b/data/maps/Underwater2/map.json
@@ -0,0 +1,106 @@
+{
+ "id": "MAP_UNDERWATER2",
+ "name": "Underwater2",
+ "layout": "LAYOUT_UNDERWATER2",
+ "music": "MUS_DEEPDEEP",
+ "region_map_section": "MAPSEC_UNDERWATER_125",
+ "requires_flash": false,
+ "weather": "WEATHER_BUBBLES",
+ "map_type": "MAP_TYPE_UNDERWATER",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": [
+ {
+ "direction": "up",
+ "offset": 0,
+ "map": "MAP_UNDERWATER1"
+ },
+ {
+ "direction": "right",
+ "offset": 0,
+ "map": "MAP_UNDERWATER3"
+ },
+ {
+ "direction": "emerge",
+ "offset": 0,
+ "map": "MAP_ROUTE126"
+ }
+ ],
+ "object_events": [],
+ "warp_events": [
+ {
+ "x": 45,
+ "y": 65,
+ "elevation": 0,
+ "dest_map": "MAP_UNDERWATER_SOOTOPOLIS_CITY",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [],
+ "bg_events": [
+ {
+ "type": "hidden_item",
+ "x": 30,
+ "y": 17,
+ "elevation": 3,
+ "item": "ITEM_HEART_SCALE",
+ "flag": "FLAG_HIDDEN_ITEM_E"
+ },
+ {
+ "type": "hidden_item",
+ "x": 41,
+ "y": 19,
+ "elevation": 3,
+ "item": "ITEM_ULTRA_BALL",
+ "flag": "FLAG_HIDDEN_ITEM_F"
+ },
+ {
+ "type": "hidden_item",
+ "x": 63,
+ "y": 19,
+ "elevation": 3,
+ "item": "ITEM_STARDUST",
+ "flag": "FLAG_HIDDEN_ITEM_10"
+ },
+ {
+ "type": "hidden_item",
+ "x": 10,
+ "y": 36,
+ "elevation": 3,
+ "item": "ITEM_PEARL",
+ "flag": "FLAG_HIDDEN_ITEM_11"
+ },
+ {
+ "type": "hidden_item",
+ "x": 11,
+ "y": 39,
+ "elevation": 3,
+ "item": "ITEM_IRON",
+ "flag": "FLAG_HIDDEN_ITEM_13"
+ },
+ {
+ "type": "hidden_item",
+ "x": 12,
+ "y": 35,
+ "elevation": 3,
+ "item": "ITEM_YELLOW_SHARD",
+ "flag": "FLAG_HIDDEN_ITEM_12"
+ },
+ {
+ "type": "hidden_item",
+ "x": 65,
+ "y": 60,
+ "elevation": 3,
+ "item": "ITEM_BIG_PEARL",
+ "flag": "FLAG_HIDDEN_ITEM_14"
+ },
+ {
+ "type": "hidden_item",
+ "x": 9,
+ "y": 77,
+ "elevation": 3,
+ "item": "ITEM_BLUE_SHARD",
+ "flag": "FLAG_HIDDEN_ITEM_C"
+ }
+ ]
+} \ No newline at end of file
diff --git a/data/maps/Underwater3/connections.inc b/data/maps/Underwater3/connections.inc
deleted file mode 100644
index ef0acd44b..000000000
--- a/data/maps/Underwater3/connections.inc
+++ /dev/null
@@ -1,8 +0,0 @@
-Underwater3_MapConnectionsList:: @ 8308D5C
- connection emerge, 0, MAP_ROUTE127
- connection left, 0, MAP_UNDERWATER2
- connection down, 0, MAP_UNDERWATER4
-
-Underwater3_MapConnections:: @ 8308D80
- .4byte 0x3
- .4byte Underwater3_MapConnectionsList
diff --git a/data/maps/Underwater3/events.inc b/data/maps/Underwater3/events.inc
deleted file mode 100644
index 62518bafa..000000000
--- a/data/maps/Underwater3/events.inc
+++ /dev/null
@@ -1,8 +0,0 @@
-Underwater3_MapBGEvents:: @ 83855FC
- bg_hidden_item_event 12, 42, 3, ITEM_STAR_PIECE, FLAG_HIDDEN_ITEM_15
- bg_hidden_item_event 50, 36, 3, ITEM_HP_UP, FLAG_HIDDEN_ITEM_16
- bg_hidden_item_event 34, 72, 3, ITEM_HEART_SCALE, FLAG_HIDDEN_ITEM_17
- bg_hidden_item_event 72, 20, 3, ITEM_RED_SHARD, FLAG_HIDDEN_ITEM_18
-
-Underwater3_MapEvents:: @ 838562C
- map_events 0x0, 0x0, 0x0, Underwater3_MapBGEvents
diff --git a/data/maps/Underwater3/header.inc b/data/maps/Underwater3/header.inc
deleted file mode 100644
index 46244962f..000000000
--- a/data/maps/Underwater3/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-Underwater3:: @ 83059F8
- .4byte Underwater3_Layout
- .4byte Underwater3_MapEvents
- .4byte Underwater3_MapScripts
- .4byte Underwater3_MapConnections
- .2byte MUS_DEEPDEEP
- .2byte 52
- .byte MAPSEC_UNDERWATER_126
- .byte 0
- .byte WEATHER_BUBBLES
- .byte MAP_TYPE_UNDERWATER
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/Underwater3/map.json b/data/maps/Underwater3/map.json
new file mode 100644
index 000000000..20b8acfe9
--- /dev/null
+++ b/data/maps/Underwater3/map.json
@@ -0,0 +1,66 @@
+{
+ "id": "MAP_UNDERWATER3",
+ "name": "Underwater3",
+ "layout": "LAYOUT_UNDERWATER3",
+ "music": "MUS_DEEPDEEP",
+ "region_map_section": "MAPSEC_UNDERWATER_126",
+ "requires_flash": false,
+ "weather": "WEATHER_BUBBLES",
+ "map_type": "MAP_TYPE_UNDERWATER",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": [
+ {
+ "direction": "emerge",
+ "offset": 0,
+ "map": "MAP_ROUTE127"
+ },
+ {
+ "direction": "left",
+ "offset": 0,
+ "map": "MAP_UNDERWATER2"
+ },
+ {
+ "direction": "down",
+ "offset": 0,
+ "map": "MAP_UNDERWATER4"
+ }
+ ],
+ "object_events": [],
+ "warp_events": [],
+ "coord_events": [],
+ "bg_events": [
+ {
+ "type": "hidden_item",
+ "x": 12,
+ "y": 42,
+ "elevation": 3,
+ "item": "ITEM_STAR_PIECE",
+ "flag": "FLAG_HIDDEN_ITEM_15"
+ },
+ {
+ "type": "hidden_item",
+ "x": 50,
+ "y": 36,
+ "elevation": 3,
+ "item": "ITEM_HP_UP",
+ "flag": "FLAG_HIDDEN_ITEM_16"
+ },
+ {
+ "type": "hidden_item",
+ "x": 34,
+ "y": 72,
+ "elevation": 3,
+ "item": "ITEM_HEART_SCALE",
+ "flag": "FLAG_HIDDEN_ITEM_17"
+ },
+ {
+ "type": "hidden_item",
+ "x": 72,
+ "y": 20,
+ "elevation": 3,
+ "item": "ITEM_RED_SHARD",
+ "flag": "FLAG_HIDDEN_ITEM_18"
+ }
+ ]
+} \ No newline at end of file
diff --git a/data/maps/Underwater4/connections.inc b/data/maps/Underwater4/connections.inc
deleted file mode 100644
index f29aba11e..000000000
--- a/data/maps/Underwater4/connections.inc
+++ /dev/null
@@ -1,7 +0,0 @@
-Underwater4_MapConnectionsList:: @ 8308D88
- connection up, 0, MAP_UNDERWATER3
- connection emerge, 0, MAP_ROUTE128
-
-Underwater4_MapConnections:: @ 8308DA0
- .4byte 0x2
- .4byte Underwater4_MapConnectionsList
diff --git a/data/maps/Underwater4/events.inc b/data/maps/Underwater4/events.inc
deleted file mode 100644
index fad99382b..000000000
--- a/data/maps/Underwater4/events.inc
+++ /dev/null
@@ -1,9 +0,0 @@
-Underwater4_MapWarps:: @ 8385640
- warp_def 38, 26, 3, 0, MAP_UNDERWATER_SEAFLOOR_CAVERN
-
-Underwater4_MapBGEvents:: @ 8385648
- bg_hidden_item_event 38, 19, 3, ITEM_PROTEIN, FLAG_HIDDEN_ITEM_19
- bg_hidden_item_event 69, 18, 3, ITEM_PEARL, FLAG_HIDDEN_ITEM_1A
-
-Underwater4_MapEvents:: @ 8385660
- map_events 0x0, Underwater4_MapWarps, 0x0, Underwater4_MapBGEvents
diff --git a/data/maps/Underwater4/header.inc b/data/maps/Underwater4/header.inc
deleted file mode 100644
index 060ff9b3a..000000000
--- a/data/maps/Underwater4/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-Underwater4:: @ 8305A14
- .4byte Underwater4_Layout
- .4byte Underwater4_MapEvents
- .4byte Underwater4_MapScripts
- .4byte Underwater4_MapConnections
- .2byte MUS_DEEPDEEP
- .2byte 53
- .byte MAPSEC_UNDERWATER_127
- .byte 0
- .byte WEATHER_BUBBLES
- .byte MAP_TYPE_UNDERWATER
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/Underwater4/map.json b/data/maps/Underwater4/map.json
new file mode 100644
index 000000000..ce04b09ea
--- /dev/null
+++ b/data/maps/Underwater4/map.json
@@ -0,0 +1,53 @@
+{
+ "id": "MAP_UNDERWATER4",
+ "name": "Underwater4",
+ "layout": "LAYOUT_UNDERWATER4",
+ "music": "MUS_DEEPDEEP",
+ "region_map_section": "MAPSEC_UNDERWATER_127",
+ "requires_flash": false,
+ "weather": "WEATHER_BUBBLES",
+ "map_type": "MAP_TYPE_UNDERWATER",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": [
+ {
+ "direction": "up",
+ "offset": 0,
+ "map": "MAP_UNDERWATER3"
+ },
+ {
+ "direction": "emerge",
+ "offset": 0,
+ "map": "MAP_ROUTE128"
+ }
+ ],
+ "object_events": [],
+ "warp_events": [
+ {
+ "x": 38,
+ "y": 26,
+ "elevation": 3,
+ "dest_map": "MAP_UNDERWATER_SEAFLOOR_CAVERN",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [],
+ "bg_events": [
+ {
+ "type": "hidden_item",
+ "x": 38,
+ "y": 19,
+ "elevation": 3,
+ "item": "ITEM_PROTEIN",
+ "flag": "FLAG_HIDDEN_ITEM_19"
+ },
+ {
+ "type": "hidden_item",
+ "x": 69,
+ "y": 18,
+ "elevation": 3,
+ "item": "ITEM_PEARL",
+ "flag": "FLAG_HIDDEN_ITEM_1A"
+ }
+ ]
+} \ No newline at end of file
diff --git a/data/maps/Underwater_Route134/events.inc b/data/maps/Underwater_Route134/events.inc
deleted file mode 100644
index 6dc462c80..000000000
--- a/data/maps/Underwater_Route134/events.inc
+++ /dev/null
@@ -1,5 +0,0 @@
-Underwater_Route134_MapWarps:: @ 838E744
- warp_def 8, 8, 0, 0, MAP_UNDERWATER_SEALED_CHAMBER
-
-Underwater_Route134_MapEvents:: @ 838E74C
- map_events 0x0, Underwater_Route134_MapWarps, 0x0, 0x0
diff --git a/data/maps/Underwater_Route134/header.inc b/data/maps/Underwater_Route134/header.inc
deleted file mode 100644
index dc0bfd8e1..000000000
--- a/data/maps/Underwater_Route134/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-Underwater_Route134:: @ 83074FC
- .4byte Underwater_Route134_Layout
- .4byte Underwater_Route134_MapEvents
- .4byte Underwater_Route134_MapScripts
- .4byte 0x0
- .2byte MUS_DEEPDEEP
- .2byte 283
- .byte MAPSEC_UNDERWATER_SEALED_CHAMBER
- .byte 0
- .byte WEATHER_BUBBLES
- .byte MAP_TYPE_UNDERWATER
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/Underwater_Route134/map.json b/data/maps/Underwater_Route134/map.json
new file mode 100644
index 000000000..53d5ee607
--- /dev/null
+++ b/data/maps/Underwater_Route134/map.json
@@ -0,0 +1,25 @@
+{
+ "id": "MAP_UNDERWATER_ROUTE134",
+ "name": "Underwater_Route134",
+ "layout": "LAYOUT_UNDERWATER_ROUTE134",
+ "music": "MUS_DEEPDEEP",
+ "region_map_section": "MAPSEC_UNDERWATER_SEALED_CHAMBER",
+ "requires_flash": false,
+ "weather": "WEATHER_BUBBLES",
+ "map_type": "MAP_TYPE_UNDERWATER",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [],
+ "warp_events": [
+ {
+ "x": 8,
+ "y": 8,
+ "elevation": 0,
+ "dest_map": "MAP_UNDERWATER_SEALED_CHAMBER",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/Underwater_SeafloorCavern/events.inc b/data/maps/Underwater_SeafloorCavern/events.inc
deleted file mode 100644
index db16aaab4..000000000
--- a/data/maps/Underwater_SeafloorCavern/events.inc
+++ /dev/null
@@ -1,11 +0,0 @@
-Underwater_SeafloorCavern_EventObjects:: @ 838D018
- object_event 1, EVENT_OBJ_GFX_RIVAL_BRENDAN_NORMAL, 0, 5, 4, 3, MOVEMENT_TYPE_INVISIBLE, 1, 1, 0, 0, Underwater_SeafloorCavern_EventScript_15DA3F, FLAG_HIDE_UNDERWATER_SUBMARINE_INTERACTION
- object_event 2, EVENT_OBJ_GFX_RIVAL_BRENDAN_NORMAL, 0, 6, 4, 3, MOVEMENT_TYPE_INVISIBLE, 1, 1, 0, 0, Underwater_SeafloorCavern_EventScript_15DA3F, FLAG_HIDE_UNDERWATER_SUBMARINE_INTERACTION
- object_event 3, EVENT_OBJ_GFX_RIVAL_BRENDAN_NORMAL, 0, 7, 4, 3, MOVEMENT_TYPE_INVISIBLE, 1, 1, 0, 0, Underwater_SeafloorCavern_EventScript_15DA3F, FLAG_HIDE_UNDERWATER_SUBMARINE_INTERACTION
- object_event 4, EVENT_OBJ_GFX_RIVAL_BRENDAN_NORMAL, 0, 8, 4, 3, MOVEMENT_TYPE_INVISIBLE, 1, 1, 0, 0, Underwater_SeafloorCavern_EventScript_15DA3F, FLAG_HIDE_UNDERWATER_SUBMARINE_INTERACTION
-
-Underwater_SeafloorCavern_MapWarps:: @ 838D078
- warp_def 6, 7, 0, 0, MAP_UNDERWATER4
-
-Underwater_SeafloorCavern_MapEvents:: @ 838D080
- map_events Underwater_SeafloorCavern_EventObjects, Underwater_SeafloorCavern_MapWarps, 0x0, 0x0
diff --git a/data/maps/Underwater_SeafloorCavern/header.inc b/data/maps/Underwater_SeafloorCavern/header.inc
deleted file mode 100644
index 604f1acba..000000000
--- a/data/maps/Underwater_SeafloorCavern/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-Underwater_SeafloorCavern:: @ 8307048
- .4byte Underwater_SeafloorCavern_Layout
- .4byte Underwater_SeafloorCavern_MapEvents
- .4byte Underwater_SeafloorCavern_MapScripts
- .4byte 0x0
- .2byte MUS_DEEPDEEP
- .2byte 147
- .byte MAPSEC_UNDERWATER_128
- .byte 0
- .byte WEATHER_BUBBLES
- .byte MAP_TYPE_UNDERWATER
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/Underwater_SeafloorCavern/map.json b/data/maps/Underwater_SeafloorCavern/map.json
new file mode 100644
index 000000000..cd02aeebd
--- /dev/null
+++ b/data/maps/Underwater_SeafloorCavern/map.json
@@ -0,0 +1,78 @@
+{
+ "id": "MAP_UNDERWATER_SEAFLOOR_CAVERN",
+ "name": "Underwater_SeafloorCavern",
+ "layout": "LAYOUT_UNDERWATER_SEAFLOOR_CAVERN",
+ "music": "MUS_DEEPDEEP",
+ "region_map_section": "MAPSEC_UNDERWATER_128",
+ "requires_flash": false,
+ "weather": "WEATHER_BUBBLES",
+ "map_type": "MAP_TYPE_UNDERWATER",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_RIVAL_BRENDAN_NORMAL",
+ "x": 5,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_INVISIBLE",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Underwater_SeafloorCavern_EventScript_15DA3F",
+ "flag": "FLAG_HIDE_UNDERWATER_SUBMARINE_INTERACTION"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_RIVAL_BRENDAN_NORMAL",
+ "x": 6,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_INVISIBLE",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Underwater_SeafloorCavern_EventScript_15DA3F",
+ "flag": "FLAG_HIDE_UNDERWATER_SUBMARINE_INTERACTION"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_RIVAL_BRENDAN_NORMAL",
+ "x": 7,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_INVISIBLE",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Underwater_SeafloorCavern_EventScript_15DA3F",
+ "flag": "FLAG_HIDE_UNDERWATER_SUBMARINE_INTERACTION"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_RIVAL_BRENDAN_NORMAL",
+ "x": 8,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_INVISIBLE",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "Underwater_SeafloorCavern_EventScript_15DA3F",
+ "flag": "FLAG_HIDE_UNDERWATER_SUBMARINE_INTERACTION"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 6,
+ "y": 7,
+ "elevation": 0,
+ "dest_map": "MAP_UNDERWATER4",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/Underwater_SealedChamber/events.inc b/data/maps/Underwater_SealedChamber/events.inc
deleted file mode 100644
index b7794a9ce..000000000
--- a/data/maps/Underwater_SealedChamber/events.inc
+++ /dev/null
@@ -1,8 +0,0 @@
-Underwater_SealedChamber_MapWarps:: @ 838E760
- warp_def 7, 1, 0, 0, MAP_UNDERWATER_ROUTE134
-
-Underwater_SealedChamber_MapBGEvents:: @ 838E768
- bg_event 12, 43, 0, BG_EVENT_PLAYER_FACING_ANY, Underwater_SealedChamber_EventScript_15F0B8
-
-Underwater_SealedChamber_MapEvents:: @ 838E774
- map_events 0x0, Underwater_SealedChamber_MapWarps, 0x0, Underwater_SealedChamber_MapBGEvents
diff --git a/data/maps/Underwater_SealedChamber/header.inc b/data/maps/Underwater_SealedChamber/header.inc
deleted file mode 100644
index dd1c92d47..000000000
--- a/data/maps/Underwater_SealedChamber/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-Underwater_SealedChamber:: @ 8307518
- .4byte Underwater_SealedChamber_Layout
- .4byte Underwater_SealedChamber_MapEvents
- .4byte Underwater_SealedChamber_MapScripts
- .4byte 0x0
- .2byte MUS_DEEPDEEP
- .2byte 284
- .byte MAPSEC_UNDERWATER_SEALED_CHAMBER
- .byte 0
- .byte WEATHER_BUBBLES
- .byte MAP_TYPE_UNDERWATER
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/Underwater_SealedChamber/map.json b/data/maps/Underwater_SealedChamber/map.json
new file mode 100644
index 000000000..109e01432
--- /dev/null
+++ b/data/maps/Underwater_SealedChamber/map.json
@@ -0,0 +1,34 @@
+{
+ "id": "MAP_UNDERWATER_SEALED_CHAMBER",
+ "name": "Underwater_SealedChamber",
+ "layout": "LAYOUT_UNDERWATER_SEALED_CHAMBER",
+ "music": "MUS_DEEPDEEP",
+ "region_map_section": "MAPSEC_UNDERWATER_SEALED_CHAMBER",
+ "requires_flash": false,
+ "weather": "WEATHER_BUBBLES",
+ "map_type": "MAP_TYPE_UNDERWATER",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [],
+ "warp_events": [
+ {
+ "x": 7,
+ "y": 1,
+ "elevation": 0,
+ "dest_map": "MAP_UNDERWATER_ROUTE134",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [],
+ "bg_events": [
+ {
+ "type": "sign",
+ "x": 12,
+ "y": 43,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "Underwater_SealedChamber_EventScript_15F0B8"
+ }
+ ]
+} \ No newline at end of file
diff --git a/data/maps/Underwater_SootopolisCity/events.inc b/data/maps/Underwater_SootopolisCity/events.inc
deleted file mode 100644
index f745dc557..000000000
--- a/data/maps/Underwater_SootopolisCity/events.inc
+++ /dev/null
@@ -1,6 +0,0 @@
-Underwater_SootopolisCity_MapWarps:: @ 838BE98
- warp_def 9, 8, 0, 0, MAP_UNDERWATER2
- warp_def 10, 8, 0, 0, MAP_UNDERWATER2
-
-Underwater_SootopolisCity_MapEvents:: @ 838BEA8
- map_events 0x0, Underwater_SootopolisCity_MapWarps, 0x0, 0x0
diff --git a/data/maps/Underwater_SootopolisCity/header.inc b/data/maps/Underwater_SootopolisCity/header.inc
deleted file mode 100644
index 7e1228388..000000000
--- a/data/maps/Underwater_SootopolisCity/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-Underwater_SootopolisCity:: @ 8306DFC
- .4byte Underwater_SootopolisCity_Layout
- .4byte Underwater_SootopolisCity_MapEvents
- .4byte Underwater_SootopolisCity_MapScripts
- .4byte 0x0
- .2byte MUS_DEEPDEEP
- .2byte 131
- .byte MAPSEC_UNDERWATER_SOOTOPOLIS
- .byte 0
- .byte WEATHER_BUBBLES
- .byte MAP_TYPE_UNDERWATER
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/Underwater_SootopolisCity/map.json b/data/maps/Underwater_SootopolisCity/map.json
new file mode 100644
index 000000000..a0cadda64
--- /dev/null
+++ b/data/maps/Underwater_SootopolisCity/map.json
@@ -0,0 +1,32 @@
+{
+ "id": "MAP_UNDERWATER_SOOTOPOLIS_CITY",
+ "name": "Underwater_SootopolisCity",
+ "layout": "LAYOUT_UNDERWATER_SOOTOPOLIS_CITY",
+ "music": "MUS_DEEPDEEP",
+ "region_map_section": "MAPSEC_UNDERWATER_SOOTOPOLIS",
+ "requires_flash": false,
+ "weather": "WEATHER_BUBBLES",
+ "map_type": "MAP_TYPE_UNDERWATER",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [],
+ "warp_events": [
+ {
+ "x": 9,
+ "y": 8,
+ "elevation": 0,
+ "dest_map": "MAP_UNDERWATER2",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 10,
+ "y": 8,
+ "elevation": 0,
+ "dest_map": "MAP_UNDERWATER2",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/UnknownMap_25_29/events.inc b/data/maps/UnknownMap_25_29/events.inc
deleted file mode 100644
index 5f3412382..000000000
--- a/data/maps/UnknownMap_25_29/events.inc
+++ /dev/null
@@ -1 +0,0 @@
-UnknownMap_25_29_MapEvents:: @ 8391604
diff --git a/data/maps/UnknownMap_25_29/header.inc b/data/maps/UnknownMap_25_29/header.inc
deleted file mode 100644
index 8db6a3794..000000000
--- a/data/maps/UnknownMap_25_29/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-UnknownMap_25_29:: @ 8307A04
- .4byte UnknownMap_25_29_Layout
- .4byte UnknownMap_25_29_MapEvents
- .4byte UnknownMap_25_29_MapScripts
- .4byte 0x0
- .2byte MUS_NIBI
- .2byte 227
- .byte MAPSEC_DYNAMIC
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/UnknownMap_25_29/map.json b/data/maps/UnknownMap_25_29/map.json
new file mode 100644
index 000000000..83ca5ce0c
--- /dev/null
+++ b/data/maps/UnknownMap_25_29/map.json
@@ -0,0 +1,15 @@
+{
+ "id": "MAP_UNKNOWN_MAP_25_29",
+ "name": "UnknownMap_25_29",
+ "layout": "LAYOUT_UNKNOWN_MAP_25_29",
+ "music": "MUS_NIBI",
+ "region_map_section": "MAPSEC_DYNAMIC",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "shared_events_map": "LinkContestRoom1",
+ "shared_scripts_map": "LinkContestRoom1"
+} \ No newline at end of file
diff --git a/data/maps/UnknownMap_25_29/scripts.inc b/data/maps/UnknownMap_25_29/scripts.inc
index a62e0c9f3..8b1378917 100644
--- a/data/maps/UnknownMap_25_29/scripts.inc
+++ b/data/maps/UnknownMap_25_29/scripts.inc
@@ -1 +1 @@
-UnknownMap_25_29_MapScripts:: @ 815F580
+
diff --git a/data/maps/UnknownMap_25_30/events.inc b/data/maps/UnknownMap_25_30/events.inc
deleted file mode 100644
index 8ce359a0b..000000000
--- a/data/maps/UnknownMap_25_30/events.inc
+++ /dev/null
@@ -1 +0,0 @@
-UnknownMap_25_30_MapEvents:: @ 8391604
diff --git a/data/maps/UnknownMap_25_30/header.inc b/data/maps/UnknownMap_25_30/header.inc
deleted file mode 100644
index 5db313070..000000000
--- a/data/maps/UnknownMap_25_30/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-UnknownMap_25_30:: @ 8307A20
- .4byte UnknownMap_25_30_Layout
- .4byte UnknownMap_25_30_MapEvents
- .4byte UnknownMap_25_30_MapScripts
- .4byte 0x0
- .2byte MUS_NIBI
- .2byte 228
- .byte MAPSEC_DYNAMIC
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/UnknownMap_25_30/map.json b/data/maps/UnknownMap_25_30/map.json
new file mode 100644
index 000000000..c43f27759
--- /dev/null
+++ b/data/maps/UnknownMap_25_30/map.json
@@ -0,0 +1,15 @@
+{
+ "id": "MAP_UNKNOWN_MAP_25_30",
+ "name": "UnknownMap_25_30",
+ "layout": "LAYOUT_UNKNOWN_MAP_25_30",
+ "music": "MUS_NIBI",
+ "region_map_section": "MAPSEC_DYNAMIC",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "shared_events_map": "LinkContestRoom1",
+ "shared_scripts_map": "LinkContestRoom1"
+} \ No newline at end of file
diff --git a/data/maps/UnknownMap_25_30/scripts.inc b/data/maps/UnknownMap_25_30/scripts.inc
index 70a1f0ac2..8b1378917 100644
--- a/data/maps/UnknownMap_25_30/scripts.inc
+++ b/data/maps/UnknownMap_25_30/scripts.inc
@@ -1 +1 @@
-UnknownMap_25_30_MapScripts:: @ 815F580
+
diff --git a/data/maps/UnknownMap_25_31/events.inc b/data/maps/UnknownMap_25_31/events.inc
deleted file mode 100644
index f2eabe57f..000000000
--- a/data/maps/UnknownMap_25_31/events.inc
+++ /dev/null
@@ -1 +0,0 @@
-UnknownMap_25_31_MapEvents:: @ 8391604
diff --git a/data/maps/UnknownMap_25_31/header.inc b/data/maps/UnknownMap_25_31/header.inc
deleted file mode 100644
index 917a5acea..000000000
--- a/data/maps/UnknownMap_25_31/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-UnknownMap_25_31:: @ 8307A3C
- .4byte UnknownMap_25_31_Layout
- .4byte UnknownMap_25_31_MapEvents
- .4byte UnknownMap_25_31_MapScripts
- .4byte 0x0
- .2byte MUS_NIBI
- .2byte 229
- .byte MAPSEC_DYNAMIC
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/UnknownMap_25_31/map.json b/data/maps/UnknownMap_25_31/map.json
new file mode 100644
index 000000000..a4dc2582a
--- /dev/null
+++ b/data/maps/UnknownMap_25_31/map.json
@@ -0,0 +1,15 @@
+{
+ "id": "MAP_UNKNOWN_MAP_25_31",
+ "name": "UnknownMap_25_31",
+ "layout": "LAYOUT_UNKNOWN_MAP_25_31",
+ "music": "MUS_NIBI",
+ "region_map_section": "MAPSEC_DYNAMIC",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "shared_events_map": "LinkContestRoom1",
+ "shared_scripts_map": "LinkContestRoom1"
+} \ No newline at end of file
diff --git a/data/maps/UnknownMap_25_31/scripts.inc b/data/maps/UnknownMap_25_31/scripts.inc
index 44c67cab5..8b1378917 100644
--- a/data/maps/UnknownMap_25_31/scripts.inc
+++ b/data/maps/UnknownMap_25_31/scripts.inc
@@ -1 +1 @@
-UnknownMap_25_31_MapScripts:: @ 815F580
+
diff --git a/data/maps/UnknownMap_25_32/events.inc b/data/maps/UnknownMap_25_32/events.inc
deleted file mode 100644
index aa0435850..000000000
--- a/data/maps/UnknownMap_25_32/events.inc
+++ /dev/null
@@ -1 +0,0 @@
-UnknownMap_25_32_MapEvents:: @ 8391604
diff --git a/data/maps/UnknownMap_25_32/header.inc b/data/maps/UnknownMap_25_32/header.inc
deleted file mode 100644
index db6f36bf1..000000000
--- a/data/maps/UnknownMap_25_32/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-UnknownMap_25_32:: @ 8307A58
- .4byte UnknownMap_25_32_Layout
- .4byte UnknownMap_25_32_MapEvents
- .4byte UnknownMap_25_32_MapScripts
- .4byte 0x0
- .2byte MUS_NIBI
- .2byte 230
- .byte MAPSEC_DYNAMIC
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/UnknownMap_25_32/map.json b/data/maps/UnknownMap_25_32/map.json
new file mode 100644
index 000000000..2f1000c45
--- /dev/null
+++ b/data/maps/UnknownMap_25_32/map.json
@@ -0,0 +1,15 @@
+{
+ "id": "MAP_UNKNOWN_MAP_25_32",
+ "name": "UnknownMap_25_32",
+ "layout": "LAYOUT_UNKNOWN_MAP_25_32",
+ "music": "MUS_NIBI",
+ "region_map_section": "MAPSEC_DYNAMIC",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "shared_events_map": "LinkContestRoom1",
+ "shared_scripts_map": "LinkContestRoom1"
+} \ No newline at end of file
diff --git a/data/maps/UnknownMap_25_32/scripts.inc b/data/maps/UnknownMap_25_32/scripts.inc
index 485a626e6..8b1378917 100644
--- a/data/maps/UnknownMap_25_32/scripts.inc
+++ b/data/maps/UnknownMap_25_32/scripts.inc
@@ -1 +1 @@
-UnknownMap_25_32_MapScripts:: @ 815F580
+
diff --git a/data/maps/UnknownMap_25_33/events.inc b/data/maps/UnknownMap_25_33/events.inc
deleted file mode 100644
index db91b6ef5..000000000
--- a/data/maps/UnknownMap_25_33/events.inc
+++ /dev/null
@@ -1 +0,0 @@
-UnknownMap_25_33_MapEvents:: @ 8391604
diff --git a/data/maps/UnknownMap_25_33/header.inc b/data/maps/UnknownMap_25_33/header.inc
deleted file mode 100644
index d1dd75a38..000000000
--- a/data/maps/UnknownMap_25_33/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-UnknownMap_25_33:: @ 8307A74
- .4byte UnknownMap_25_33_Layout
- .4byte UnknownMap_25_33_MapEvents
- .4byte UnknownMap_25_33_MapScripts
- .4byte 0x0
- .2byte MUS_NIBI
- .2byte 231
- .byte MAPSEC_DYNAMIC
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/UnknownMap_25_33/map.json b/data/maps/UnknownMap_25_33/map.json
new file mode 100644
index 000000000..e0a3cd273
--- /dev/null
+++ b/data/maps/UnknownMap_25_33/map.json
@@ -0,0 +1,15 @@
+{
+ "id": "MAP_UNKNOWN_MAP_25_33",
+ "name": "UnknownMap_25_33",
+ "layout": "LAYOUT_UNKNOWN_MAP_25_33",
+ "music": "MUS_NIBI",
+ "region_map_section": "MAPSEC_DYNAMIC",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "shared_events_map": "LinkContestRoom1",
+ "shared_scripts_map": "LinkContestRoom1"
+} \ No newline at end of file
diff --git a/data/maps/UnknownMap_25_33/scripts.inc b/data/maps/UnknownMap_25_33/scripts.inc
index 68feb9cc6..8b1378917 100644
--- a/data/maps/UnknownMap_25_33/scripts.inc
+++ b/data/maps/UnknownMap_25_33/scripts.inc
@@ -1 +1 @@
-UnknownMap_25_33_MapScripts:: @ 815F580
+
diff --git a/data/maps/UnknownMap_25_34/events.inc b/data/maps/UnknownMap_25_34/events.inc
deleted file mode 100644
index 7cca882bc..000000000
--- a/data/maps/UnknownMap_25_34/events.inc
+++ /dev/null
@@ -1,2 +0,0 @@
-UnknownMap_25_34_MapEvents:: @ 8391604
- map_events LinkContestRoom1_EventObjects, 0x0, 0x0, 0x0
diff --git a/data/maps/UnknownMap_25_34/header.inc b/data/maps/UnknownMap_25_34/header.inc
deleted file mode 100644
index e2b15dc37..000000000
--- a/data/maps/UnknownMap_25_34/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-UnknownMap_25_34:: @ 8307A90
- .4byte UnknownMap_25_34_Layout
- .4byte UnknownMap_25_34_MapEvents
- .4byte UnknownMap_25_34_MapScripts
- .4byte 0x0
- .2byte MUS_NIBI
- .2byte 232
- .byte MAPSEC_DYNAMIC
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/UnknownMap_25_34/map.json b/data/maps/UnknownMap_25_34/map.json
new file mode 100644
index 000000000..7db383760
--- /dev/null
+++ b/data/maps/UnknownMap_25_34/map.json
@@ -0,0 +1,15 @@
+{
+ "id": "MAP_UNKNOWN_MAP_25_34",
+ "name": "UnknownMap_25_34",
+ "layout": "LAYOUT_UNKNOWN_MAP_25_34",
+ "music": "MUS_NIBI",
+ "region_map_section": "MAPSEC_DYNAMIC",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "shared_events_map": "LinkContestRoom1",
+ "shared_scripts_map": "LinkContestRoom1"
+} \ No newline at end of file
diff --git a/data/maps/UnknownMap_25_34/scripts.inc b/data/maps/UnknownMap_25_34/scripts.inc
index 47599d41b..8b1378917 100644
--- a/data/maps/UnknownMap_25_34/scripts.inc
+++ b/data/maps/UnknownMap_25_34/scripts.inc
@@ -1,429 +1 @@
-UnknownMap_25_34_MapScripts:: @ 815F580
- map_script 4, LinkContestRoom1_MapScript2_15F610
- map_script 2, LinkContestRoom1_MapScript2_15F606
- map_script 3, LinkContestRoom1_MapScript1_15F595
- map_script 5, LinkContestRoom1_MapScript1_15F5F4
- .byte 0
-LinkContestRoom1_MapScript1_15F595:: @ 815F595
- call LinkContestRoom1_EventScript_15F5A5
- setvar VAR_TEMP_0, 1
- call LinkContestRoom1_EventScript_15F630
- end
-
-LinkContestRoom1_EventScript_15F5A5:: @ 815F5A5
- special ScriptGetMultiplayerId
- compare RESULT, 0
- call_if_eq LinkContestRoom1_EventScript_15F5E0
- compare RESULT, 1
- call_if_eq LinkContestRoom1_EventScript_15F5E4
- compare RESULT, 2
- call_if_eq LinkContestRoom1_EventScript_15F5E8
- compare RESULT, 3
- call_if_eq LinkContestRoom1_EventScript_15F5EC
- compare RESULT, 4
- call_if_eq LinkContestRoom1_EventScript_15F5F0
- return
-
-LinkContestRoom1_EventScript_15F5E0:: @ 815F5E0
- savebgm MUS_TEST1
- return
-
-LinkContestRoom1_EventScript_15F5E4:: @ 815F5E4
- savebgm MUS_TEST2
- return
-
-LinkContestRoom1_EventScript_15F5E8:: @ 815F5E8
- savebgm MUS_TEST3
- return
-
-LinkContestRoom1_EventScript_15F5EC:: @ 815F5EC
- savebgm MUS_TEST4
- return
-
-LinkContestRoom1_EventScript_15F5F0:: @ 815F5F0
- savebgm MUS_CONTEST0
- return
-
-LinkContestRoom1_MapScript1_15F5F4:: @ 815F5F4
- compare VAR_TEMP_9, 1
- call_if_eq LinkContestRoom1_EventScript_15F600
- end
-
-LinkContestRoom1_EventScript_15F600:: @ 815F600
- call LinkContestRoom1_EventScript_15F919
- return
-
-LinkContestRoom1_MapScript2_15F606:: @ 815F606
- map_script_2 VAR_LINK_CONTEST_ROOM_STATE, 1, LinkContestRoom1_EventScript_15F61A
- .2byte 0
-
-LinkContestRoom1_MapScript2_15F610:: @ 815F610
- map_script_2 VAR_LINK_CONTEST_ROOM_STATE, 1, LinkContestRoom1_EventScript_15F625
- .2byte 0
-
-LinkContestRoom1_EventScript_15F61A:: @ 815F61A
- call LinkContestRoom1_EventScript_1A514D
- call LinkContestRoom1_EventScript_15FB64
- end
-
-LinkContestRoom1_EventScript_15F625:: @ 815F625
- hideobjectat 255, MAP_LITTLEROOT_TOWN
- call LinkContestRoom1_EventScript_15F919
- end
-
-LinkContestRoom1_EventScript_15F630:: @ 815F630
- call LinkContestRoom1_EventScript_15F6E6
- call LinkContestRoom1_EventScript_15F646
- compare VAR_TEMP_0, 8
- goto_if_lt LinkContestRoom1_EventScript_15F630
- return
-
-LinkContestRoom1_EventScript_15F646:: @ 815F646
- switch VAR_TEMP_0
- case 1, LinkContestRoom1_EventScript_15F699
- case 2, LinkContestRoom1_EventScript_15F6A4
- case 3, LinkContestRoom1_EventScript_15F6AF
- case 4, LinkContestRoom1_EventScript_15F6BA
- case 5, LinkContestRoom1_EventScript_15F6C5
- case 6, LinkContestRoom1_EventScript_15F6D0
- case 7, LinkContestRoom1_EventScript_15F6DB
- end
-
-LinkContestRoom1_EventScript_15F699:: @ 815F699
- copyvar VAR_OBJ_GFX_ID_4, VAR_TEMP_1
- addvar VAR_TEMP_0, 1
- return
-
-LinkContestRoom1_EventScript_15F6A4:: @ 815F6A4
- copyvar VAR_OBJ_GFX_ID_5, VAR_TEMP_1
- addvar VAR_TEMP_0, 1
- return
-
-LinkContestRoom1_EventScript_15F6AF:: @ 815F6AF
- copyvar VAR_OBJ_GFX_ID_6, VAR_TEMP_1
- addvar VAR_TEMP_0, 1
- return
-
-LinkContestRoom1_EventScript_15F6BA:: @ 815F6BA
- copyvar VAR_OBJ_GFX_ID_7, VAR_TEMP_1
- addvar VAR_TEMP_0, 1
- return
-
-LinkContestRoom1_EventScript_15F6C5:: @ 815F6C5
- copyvar VAR_OBJ_GFX_ID_8, VAR_TEMP_1
- addvar VAR_TEMP_0, 1
- return
-
-LinkContestRoom1_EventScript_15F6D0:: @ 815F6D0
- copyvar VAR_OBJ_GFX_ID_9, VAR_TEMP_1
- addvar VAR_TEMP_0, 1
- return
-
-LinkContestRoom1_EventScript_15F6DB:: @ 815F6DB
- copyvar VAR_OBJ_GFX_ID_A, VAR_TEMP_1
- addvar VAR_TEMP_0, 1
- return
-
-LinkContestRoom1_EventScript_15F6E6:: @ 815F6E6
- setvar RESULT, 32
- special ScriptRandom
- addvar RESULT, 1
- switch RESULT
- case 1, LinkContestRoom1_EventScript_15F859
- case 2, LinkContestRoom1_EventScript_15F85F
- case 3, LinkContestRoom1_EventScript_15F865
- case 4, LinkContestRoom1_EventScript_15F86B
- case 5, LinkContestRoom1_EventScript_15F871
- case 6, LinkContestRoom1_EventScript_15F877
- case 7, LinkContestRoom1_EventScript_15F87D
- case 8, LinkContestRoom1_EventScript_15F883
- case 9, LinkContestRoom1_EventScript_15F889
- case 10, LinkContestRoom1_EventScript_15F88F
- case 11, LinkContestRoom1_EventScript_15F895
- case 12, LinkContestRoom1_EventScript_15F89B
- case 13, LinkContestRoom1_EventScript_15F8A1
- case 14, LinkContestRoom1_EventScript_15F8A7
- case 15, LinkContestRoom1_EventScript_15F8AD
- case 16, LinkContestRoom1_EventScript_15F8B3
- case 17, LinkContestRoom1_EventScript_15F8B9
- case 18, LinkContestRoom1_EventScript_15F8BF
- case 19, LinkContestRoom1_EventScript_15F8C5
- case 20, LinkContestRoom1_EventScript_15F8CB
- case 21, LinkContestRoom1_EventScript_15F8D1
- case 22, LinkContestRoom1_EventScript_15F8D7
- case 23, LinkContestRoom1_EventScript_15F8DD
- case 24, LinkContestRoom1_EventScript_15F8E3
- case 25, LinkContestRoom1_EventScript_15F8E9
- case 26, LinkContestRoom1_EventScript_15F8EF
- case 27, LinkContestRoom1_EventScript_15F8F5
- case 28, LinkContestRoom1_EventScript_15F8FB
- case 29, LinkContestRoom1_EventScript_15F901
- case 30, LinkContestRoom1_EventScript_15F907
- case 31, LinkContestRoom1_EventScript_15F90D
- case 32, LinkContestRoom1_EventScript_15F913
- end
-
-LinkContestRoom1_EventScript_15F859:: @ 815F859
- setvar VAR_TEMP_1, 5
- return
-
-LinkContestRoom1_EventScript_15F85F:: @ 815F85F
- setvar VAR_TEMP_1, 6
- return
-
-LinkContestRoom1_EventScript_15F865:: @ 815F865
- setvar VAR_TEMP_1, 7
- return
-
-LinkContestRoom1_EventScript_15F86B:: @ 815F86B
- setvar VAR_TEMP_1, 8
- return
-
-LinkContestRoom1_EventScript_15F871:: @ 815F871
- setvar VAR_TEMP_1, 10
- return
-
-LinkContestRoom1_EventScript_15F877:: @ 815F877
- setvar VAR_TEMP_1, 11
- return
-
-LinkContestRoom1_EventScript_15F87D:: @ 815F87D
- setvar VAR_TEMP_1, 12
- return
-
-LinkContestRoom1_EventScript_15F883:: @ 815F883
- setvar VAR_TEMP_1, 13
- return
-
-LinkContestRoom1_EventScript_15F889:: @ 815F889
- setvar VAR_TEMP_1, 14
- return
-
-LinkContestRoom1_EventScript_15F88F:: @ 815F88F
- setvar VAR_TEMP_1, 15
- return
-
-LinkContestRoom1_EventScript_15F895:: @ 815F895
- setvar VAR_TEMP_1, 17
- return
-
-LinkContestRoom1_EventScript_15F89B:: @ 815F89B
- setvar VAR_TEMP_1, 18
- return
-
-LinkContestRoom1_EventScript_15F8A1:: @ 815F8A1
- setvar VAR_TEMP_1, 19
- return
-
-LinkContestRoom1_EventScript_15F8A7:: @ 815F8A7
- setvar VAR_TEMP_1, 20
- return
-
-LinkContestRoom1_EventScript_15F8AD:: @ 815F8AD
- setvar VAR_TEMP_1, 21
- return
-
-LinkContestRoom1_EventScript_15F8B3:: @ 815F8B3
- setvar VAR_TEMP_1, 22
- return
-
-LinkContestRoom1_EventScript_15F8B9:: @ 815F8B9
- setvar VAR_TEMP_1, 25
- return
-
-LinkContestRoom1_EventScript_15F8BF:: @ 815F8BF
- setvar VAR_TEMP_1, 26
- return
-
-LinkContestRoom1_EventScript_15F8C5:: @ 815F8C5
- setvar VAR_TEMP_1, 27
- return
-
-LinkContestRoom1_EventScript_15F8CB:: @ 815F8CB
- setvar VAR_TEMP_1, 47
- return
-
-LinkContestRoom1_EventScript_15F8D1:: @ 815F8D1
- setvar VAR_TEMP_1, 30
- return
-
-LinkContestRoom1_EventScript_15F8D7:: @ 815F8D7
- setvar VAR_TEMP_1, 31
- return
-
-LinkContestRoom1_EventScript_15F8DD:: @ 815F8DD
- setvar VAR_TEMP_1, 32
- return
-
-LinkContestRoom1_EventScript_15F8E3:: @ 815F8E3
- setvar VAR_TEMP_1, 33
- return
-
-LinkContestRoom1_EventScript_15F8E9:: @ 815F8E9
- setvar VAR_TEMP_1, 34
- return
-
-LinkContestRoom1_EventScript_15F8EF:: @ 815F8EF
- setvar VAR_TEMP_1, 35
- return
-
-LinkContestRoom1_EventScript_15F8F5:: @ 815F8F5
- setvar VAR_TEMP_1, 36
- return
-
-LinkContestRoom1_EventScript_15F8FB:: @ 815F8FB
- setvar VAR_TEMP_1, 37
- return
-
-LinkContestRoom1_EventScript_15F901:: @ 815F901
- setvar VAR_TEMP_1, 38
- return
-
-LinkContestRoom1_EventScript_15F907:: @ 815F907
- setvar VAR_TEMP_1, 44
- return
-
-LinkContestRoom1_EventScript_15F90D:: @ 815F90D
- setvar VAR_TEMP_1, 45
- return
-
-LinkContestRoom1_EventScript_15F913:: @ 815F913
- setvar VAR_TEMP_1, 46
- return
-
-LinkContestRoom1_EventScript_15F919:: @ 815F919
- switch VAR_CONTEST_LOCATION
- case 1, LinkContestRoom1_EventScript_15F956
- case 2, LinkContestRoom1_EventScript_15F969
- case 3, LinkContestRoom1_EventScript_15F9C4
- case 4, LinkContestRoom1_EventScript_15FA70
- case 5, LinkContestRoom1_EventScript_15FA70
- return
-
-LinkContestRoom1_EventScript_15F956:: @ 815F956
- createvobject 5, 20, 3, 2, 3, 1
- createvobject 46, 24, 11, 2, 3, 1
- return
-
-LinkContestRoom1_EventScript_15F969:: @ 815F969
- createvobject 45, 0, 2, 3, 3, 4
- createvobject 66, 1, 2, 4, 3, 4
- createvobject 55, 2, 2, 7, 3, 4
- createvobject 46, 3, 2, 8, 3, 4
- createvobject 5, 10, 12, 3, 3, 3
- createvobject 20, 11, 12, 4, 3, 3
- createvobject 24, 12, 12, 7, 3, 3
- createvobject 12, 13, 12, 8, 3, 3
- createvobject 47, 20, 3, 2, 3, 1
- createvobject 46, 24, 11, 2, 3, 1
- return
-
-LinkContestRoom1_EventScript_15F9C4:: @ 815F9C4
- createvobject 45, 0, 2, 3, 3, 4
- createvobject 66, 1, 2, 4, 3, 4
- createvobject 55, 2, 2, 7, 3, 4
- createvobject 48, 3, 2, 8, 3, 4
- createvobject 5, 10, 12, 3, 3, 3
- createvobject 20, 11, 12, 4, 3, 3
- createvobject 24, 12, 12, 7, 3, 3
- createvobject 45, 13, 12, 8, 3, 3
- createvobject 22, 20, 3, 2, 3, 1
- createvobject 23, 20, 6, 2, 3, 1
- createvobject 34, 20, 7, 2, 3, 1
- createvobject 46, 24, 8, 2, 3, 1
- createvobject 48, 24, 11, 2, 3, 1
- createvobject 11, 25, 3, 9, 3, 2
- createvobject 35, 26, 4, 9, 3, 2
- createvobject 17, 27, 5, 9, 3, 2
- createvobject 41, 28, 9, 9, 3, 2
- createvobject 38, 29, 10, 9, 3, 2
- createvobject 83, 30, 11, 9, 3, 2
- return
-
-LinkContestRoom1_EventScript_15FA70:: @ 815FA70
- createvobject 45, 0, 2, 3, 3, 4
- createvobject 66, 1, 2, 4, 3, 4
- createvobject 55, 2, 2, 7, 3, 4
- createvobject 12, 3, 2, 8, 3, 4
- createvobject 39, 4, 1, 3, 3, 4
- createvobject 34, 6, 1, 5, 3, 4
- createvobject 26, 7, 1, 6, 3, 4
- createvobject 48, 9, 1, 8, 3, 4
- createvobject 5, 10, 12, 3, 3, 3
- createvobject 20, 11, 12, 4, 3, 3
- createvobject 24, 12, 12, 7, 3, 3
- createvobject 45, 13, 12, 8, 3, 3
- createvobject 50, 14, 13, 3, 3, 3
- createvobject 52, 15, 13, 4, 3, 3
- createvobject 65, 17, 13, 6, 3, 3
- createvobject 83, 18, 13, 7, 3, 3
- createvobject 116, 19, 13, 8, 3, 3
- createvobject 25, 20, 3, 2, 3, 1
- createvobject 31, 21, 6, 2, 3, 1
- createvobject 33, 22, 7, 2, 3, 1
- createvobject 46, 24, 11, 2, 3, 1
- createvobject 49, 25, 3, 9, 3, 2
- createvobject 35, 26, 4, 9, 3, 2
- createvobject 48, 27, 5, 9, 3, 2
- createvobject 41, 28, 9, 9, 3, 2
- createvobject 38, 29, 10, 9, 3, 2
- createvobject 83, 30, 11, 9, 3, 2
- return
-
-LinkContestRoom1_EventScript_15FB64:: @ 815FB64
- switch VAR_CONTEST_LOCATION
- case 1, LinkContestRoom1_EventScript_15FBA1
- case 2, LinkContestRoom1_EventScript_15FBAD
- case 3, LinkContestRoom1_EventScript_15FBB9
- case 4, LinkContestRoom1_EventScript_15FBC5
- case 5, LinkContestRoom1_EventScript_15FBD1
- return
-
-LinkContestRoom1_EventScript_15FBA1:: @ 815FBA1
- incrementgamestat GAME_STAT_ENTERED_CONTEST
- warp MAP_VERDANTURF_TOWN_CONTEST_LOBBY, 255, 5, 4
- waitstate
- end
-
-LinkContestRoom1_EventScript_15FBAD:: @ 815FBAD
- incrementgamestat GAME_STAT_ENTERED_CONTEST
- warp MAP_FALLARBOR_TOWN_CONTEST_LOBBY, 255, 5, 4
- waitstate
- end
-
-LinkContestRoom1_EventScript_15FBB9:: @ 815FBB9
- incrementgamestat GAME_STAT_ENTERED_CONTEST
- warp MAP_SLATEPORT_CITY_CONTEST_LOBBY, 255, 5, 4
- waitstate
- end
-
-LinkContestRoom1_EventScript_15FBC5:: @ 815FBC5
- incrementgamestat GAME_STAT_ENTERED_CONTEST
- warp MAP_LILYCOVE_CITY_CONTEST_LOBBY, 255, 6, 4
- waitstate
- end
-
-LinkContestRoom1_EventScript_15FBD1:: @ 815FBD1
- warp MAP_LILYCOVE_CITY_CONTEST_LOBBY, 255, 7, 4
- waitstate
- end
-
-FallarborTown_ContestLobby_EventScript_15FBDB:: @ 815FBDB
-LilycoveCity_ContestLobby_EventScript_15FBDB:: @ 815FBDB
-SlateportCity_ContestLobby_EventScript_15FBDB:: @ 815FBDB
-VerdanturfTown_ContestLobby_EventScript_15FBDB:: @ 815FBDB
- checkplayergender
- compare RESULT, 0
- goto_if_eq FallarborTown_ContestLobby_EventScript_15FBF3
- compare RESULT, 1
- goto_if_eq FallarborTown_ContestLobby_EventScript_15FBF9
- return
-
-FallarborTown_ContestLobby_EventScript_15FBF3:: @ 815FBF3
- setvar VAR_OBJ_GFX_ID_3, EVENT_OBJ_GFX_RIVAL_BRENDAN_NORMAL
- return
-
-FallarborTown_ContestLobby_EventScript_15FBF9:: @ 815FBF9
- setvar VAR_OBJ_GFX_ID_3, EVENT_OBJ_GFX_RIVAL_MAY_NORMAL
- return
diff --git a/data/maps/VerdanturfTown/connections.inc b/data/maps/VerdanturfTown/connections.inc
deleted file mode 100644
index 16b03bc03..000000000
--- a/data/maps/VerdanturfTown/connections.inc
+++ /dev/null
@@ -1,7 +0,0 @@
-VerdanturfTown_MapConnectionsList:: @ 83086A4
- connection up, -80, MAP_ROUTE116
- connection right, 0, MAP_ROUTE117
-
-VerdanturfTown_MapConnections:: @ 83086BC
- .4byte 0x2
- .4byte VerdanturfTown_MapConnectionsList
diff --git a/data/maps/VerdanturfTown/events.inc b/data/maps/VerdanturfTown/events.inc
deleted file mode 100644
index 8438ff430..000000000
--- a/data/maps/VerdanturfTown/events.inc
+++ /dev/null
@@ -1,27 +0,0 @@
-VerdanturfTown_EventObjects:: @ 8380F00
- object_event 1, EVENT_OBJ_GFX_MAN_2, 0, 4, 17, 3, MOVEMENT_TYPE_WANDER_LEFT_AND_RIGHT, 1, 0, 0, 0, VerdanturfTown_EventScript_14E899, 0
- object_event 2, EVENT_OBJ_GFX_LITTLE_GIRL_1, 0, 9, 2, 3, MOVEMENT_TYPE_FACE_LEFT, 1, 0, 0, 0, VerdanturfTown_EventScript_14E866, 0
- object_event 3, EVENT_OBJ_GFX_BOY_1, 0, 11, 9, 3, MOVEMENT_TYPE_WANDER_UP_AND_DOWN, 0, 1, 0, 0, VerdanturfTown_EventScript_14E8AB, 0
- object_event 4, EVENT_OBJ_GFX_CAMPER, 0, 6, 10, 3, MOVEMENT_TYPE_WANDER_LEFT_AND_RIGHT, 1, 0, 0, 0, VerdanturfTown_EventScript_14E8A2, 0
-
-VerdanturfTown_MapWarps:: @ 8380F60
- warp_def 4, 7, 0, 0, MAP_VERDANTURF_TOWN_CONTEST_LOBBY
- warp_def 12, 3, 0, 0, MAP_VERDANTURF_TOWN_MART
- warp_def 16, 3, 0, 0, MAP_VERDANTURF_TOWN_POKEMON_CENTER_1F
- warp_def 10, 14, 0, 0, MAP_VERDANTURF_TOWN_WANDAS_HOUSE
- warp_def 8, 1, 0, 1, MAP_RUSTURF_TUNNEL
- warp_def 1, 14, 0, 0, MAP_VERDANTURF_TOWN_FRIENDSHIP_RATERS_HOUSE
- warp_def 17, 15, 0, 0, MAP_VERDANTURF_TOWN_HOUSE
-
-VerdanturfTown_MapBGEvents:: @ 8380F98
- bg_event 14, 3, 0, BG_EVENT_PLAYER_FACING_NORTH, VerdanturfTown_EventScript_1A00E1
- bg_event 14, 6, 0, BG_EVENT_PLAYER_FACING_ANY, VerdanturfTown_EventScript_14E8CA
- bg_event 17, 3, 0, BG_EVENT_PLAYER_FACING_NORTH, VerdanturfTown_EventScript_1A00EA
- bg_event 7, 14, 0, BG_EVENT_PLAYER_FACING_ANY, VerdanturfTown_EventScript_14E8D3
- bg_event 13, 3, 0, BG_EVENT_PLAYER_FACING_NORTH, VerdanturfTown_EventScript_1A00E1
- bg_event 18, 3, 0, BG_EVENT_PLAYER_FACING_NORTH, VerdanturfTown_EventScript_1A00EA
- bg_event 3, 8, 0, BG_EVENT_PLAYER_FACING_ANY, VerdanturfTown_EventScript_14E8DC
- bg_event 7, 3, 0, BG_EVENT_PLAYER_FACING_ANY, VerdanturfTown_EventScript_14E8E5
-
-VerdanturfTown_MapEvents:: @ 8380FF8
- map_events VerdanturfTown_EventObjects, VerdanturfTown_MapWarps, 0x0, VerdanturfTown_MapBGEvents
diff --git a/data/maps/VerdanturfTown/header.inc b/data/maps/VerdanturfTown/header.inc
deleted file mode 100644
index 6c012f392..000000000
--- a/data/maps/VerdanturfTown/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-VerdanturfTown:: @ 83055D0
- .4byte VerdanturfTown_Layout
- .4byte VerdanturfTown_MapEvents
- .4byte VerdanturfTown_MapScripts
- .4byte VerdanturfTown_MapConnections
- .2byte MUS_GOMACHI0
- .2byte 15
- .byte MAPSEC_VERDANTURF_TOWN
- .byte 0
- .byte WEATHER_SUNNY
- .byte MAP_TYPE_TOWN
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/VerdanturfTown/map.json b/data/maps/VerdanturfTown/map.json
new file mode 100644
index 000000000..56da57485
--- /dev/null
+++ b/data/maps/VerdanturfTown/map.json
@@ -0,0 +1,196 @@
+{
+ "id": "MAP_VERDANTURF_TOWN",
+ "name": "VerdanturfTown",
+ "layout": "LAYOUT_VERDANTURF_TOWN",
+ "music": "MUS_GOMACHI0",
+ "region_map_section": "MAPSEC_VERDANTURF_TOWN",
+ "requires_flash": false,
+ "weather": "WEATHER_SUNNY",
+ "map_type": "MAP_TYPE_TOWN",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": [
+ {
+ "direction": "up",
+ "offset": -80,
+ "map": "MAP_ROUTE116"
+ },
+ {
+ "direction": "right",
+ "offset": 0,
+ "map": "MAP_ROUTE117"
+ }
+ ],
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_2",
+ "x": 4,
+ "y": 17,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_LEFT_AND_RIGHT",
+ "movement_range_x": 1,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "VerdanturfTown_EventScript_14E899",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_LITTLE_GIRL_1",
+ "x": 9,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 1,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "VerdanturfTown_EventScript_14E866",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BOY_1",
+ "x": 11,
+ "y": 9,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_UP_AND_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "VerdanturfTown_EventScript_14E8AB",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_CAMPER",
+ "x": 6,
+ "y": 10,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_LEFT_AND_RIGHT",
+ "movement_range_x": 1,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "VerdanturfTown_EventScript_14E8A2",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 4,
+ "y": 7,
+ "elevation": 0,
+ "dest_map": "MAP_VERDANTURF_TOWN_CONTEST_LOBBY",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 12,
+ "y": 3,
+ "elevation": 0,
+ "dest_map": "MAP_VERDANTURF_TOWN_MART",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 16,
+ "y": 3,
+ "elevation": 0,
+ "dest_map": "MAP_VERDANTURF_TOWN_POKEMON_CENTER_1F",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 10,
+ "y": 14,
+ "elevation": 0,
+ "dest_map": "MAP_VERDANTURF_TOWN_WANDAS_HOUSE",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 8,
+ "y": 1,
+ "elevation": 0,
+ "dest_map": "MAP_RUSTURF_TUNNEL",
+ "dest_warp_id": 1
+ },
+ {
+ "x": 1,
+ "y": 14,
+ "elevation": 0,
+ "dest_map": "MAP_VERDANTURF_TOWN_FRIENDSHIP_RATERS_HOUSE",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 17,
+ "y": 15,
+ "elevation": 0,
+ "dest_map": "MAP_VERDANTURF_TOWN_HOUSE",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [],
+ "bg_events": [
+ {
+ "type": "sign",
+ "x": 14,
+ "y": 3,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH",
+ "script": "VerdanturfTown_EventScript_1A00E1"
+ },
+ {
+ "type": "sign",
+ "x": 14,
+ "y": 6,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "VerdanturfTown_EventScript_14E8CA"
+ },
+ {
+ "type": "sign",
+ "x": 17,
+ "y": 3,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH",
+ "script": "VerdanturfTown_EventScript_1A00EA"
+ },
+ {
+ "type": "sign",
+ "x": 7,
+ "y": 14,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "VerdanturfTown_EventScript_14E8D3"
+ },
+ {
+ "type": "sign",
+ "x": 13,
+ "y": 3,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH",
+ "script": "VerdanturfTown_EventScript_1A00E1"
+ },
+ {
+ "type": "sign",
+ "x": 18,
+ "y": 3,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH",
+ "script": "VerdanturfTown_EventScript_1A00EA"
+ },
+ {
+ "type": "sign",
+ "x": 3,
+ "y": 8,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "VerdanturfTown_EventScript_14E8DC"
+ },
+ {
+ "type": "sign",
+ "x": 7,
+ "y": 3,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "VerdanturfTown_EventScript_14E8E5"
+ }
+ ]
+} \ No newline at end of file
diff --git a/data/maps/VerdanturfTown_ContestHall/events.inc b/data/maps/VerdanturfTown_ContestHall/events.inc
deleted file mode 100644
index 50a0fcf27..000000000
--- a/data/maps/VerdanturfTown_ContestHall/events.inc
+++ /dev/null
@@ -1,15 +0,0 @@
-VerdanturfTown_ContestHall_EventObjects:: @ 8386AEC
- object_event 1, EVENT_OBJ_GFX_BOY_4, 0, 0, 7, 0, MOVEMENT_TYPE_WANDER_AROUND, 1, 3, 0, 0, VerdanturfTown_ContestHall_EventScript_153EA9, 0
- object_event 2, EVENT_OBJ_GFX_BOY_3, 0, 20, 15, 0, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, VerdanturfTown_ContestHall_EventScript_153E97, 0
- object_event 3, EVENT_OBJ_GFX_LITTLE_GIRL_2, 0, 9, 8, 3, MOVEMENT_TYPE_WANDER_AROUND, 2, 2, 0, 0, VerdanturfTown_ContestHall_EventScript_153EA0, 0
-
-VerdanturfTown_ContestHall_MapWarps:: @ 8386B34
- warp_def 11, 17, 0, 2, MAP_VERDANTURF_TOWN_CONTEST_LOBBY
- warp_def 10, 17, 0, 2, MAP_VERDANTURF_TOWN_CONTEST_LOBBY
-
-VerdanturfTown_ContestHall_MapBGEvents:: @ 8386B44
- bg_event 12, 14, 3, BG_EVENT_PLAYER_FACING_ANY, VerdanturfTown_ContestHall_EventScript_153EB2
- bg_event 8, 14, 3, BG_EVENT_PLAYER_FACING_ANY, VerdanturfTown_ContestHall_EventScript_153EB2
-
-VerdanturfTown_ContestHall_MapEvents:: @ 8386B5C
- map_events VerdanturfTown_ContestHall_EventObjects, VerdanturfTown_ContestHall_MapWarps, 0x0, VerdanturfTown_ContestHall_MapBGEvents
diff --git a/data/maps/VerdanturfTown_ContestHall/header.inc b/data/maps/VerdanturfTown_ContestHall/header.inc
deleted file mode 100644
index cacdf5f20..000000000
--- a/data/maps/VerdanturfTown_ContestHall/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-VerdanturfTown_ContestHall:: @ 8305D94
- .4byte ContestHall_Layout
- .4byte VerdanturfTown_ContestHall_MapEvents
- .4byte VerdanturfTown_ContestHall_MapScripts
- .4byte 0x0
- .2byte MUS_CONLOBBY
- .2byte 73
- .byte MAPSEC_VERDANTURF_TOWN
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/VerdanturfTown_ContestHall/map.json b/data/maps/VerdanturfTown_ContestHall/map.json
new file mode 100644
index 000000000..9a8c4abe3
--- /dev/null
+++ b/data/maps/VerdanturfTown_ContestHall/map.json
@@ -0,0 +1,89 @@
+{
+ "id": "MAP_VERDANTURF_TOWN_CONTEST_HALL",
+ "name": "VerdanturfTown_ContestHall",
+ "layout": "LAYOUT_CONTEST_HALL",
+ "music": "MUS_CONLOBBY",
+ "region_map_section": "MAPSEC_VERDANTURF_TOWN",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BOY_4",
+ "x": 0,
+ "y": 7,
+ "elevation": 0,
+ "movement_type": "MOVEMENT_TYPE_WANDER_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 3,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "VerdanturfTown_ContestHall_EventScript_153EA9",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BOY_3",
+ "x": 20,
+ "y": 15,
+ "elevation": 0,
+ "movement_type": "MOVEMENT_TYPE_WANDER_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "VerdanturfTown_ContestHall_EventScript_153E97",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_LITTLE_GIRL_2",
+ "x": 9,
+ "y": 8,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_AROUND",
+ "movement_range_x": 2,
+ "movement_range_y": 2,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "VerdanturfTown_ContestHall_EventScript_153EA0",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 11,
+ "y": 17,
+ "elevation": 0,
+ "dest_map": "MAP_VERDANTURF_TOWN_CONTEST_LOBBY",
+ "dest_warp_id": 2
+ },
+ {
+ "x": 10,
+ "y": 17,
+ "elevation": 0,
+ "dest_map": "MAP_VERDANTURF_TOWN_CONTEST_LOBBY",
+ "dest_warp_id": 2
+ }
+ ],
+ "coord_events": [],
+ "bg_events": [
+ {
+ "type": "sign",
+ "x": 12,
+ "y": 14,
+ "elevation": 3,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "VerdanturfTown_ContestHall_EventScript_153EB2"
+ },
+ {
+ "type": "sign",
+ "x": 8,
+ "y": 14,
+ "elevation": 3,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "VerdanturfTown_ContestHall_EventScript_153EB2"
+ }
+ ]
+} \ No newline at end of file
diff --git a/data/maps/VerdanturfTown_ContestLobby/events.inc b/data/maps/VerdanturfTown_ContestLobby/events.inc
deleted file mode 100644
index bcb7d9328..000000000
--- a/data/maps/VerdanturfTown_ContestLobby/events.inc
+++ /dev/null
@@ -1,21 +0,0 @@
-VerdanturfTown_ContestLobby_EventObjects:: @ 8386A00
- object_event 1, EVENT_OBJ_GFX_TEALA, 0, 5, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 3, 0, 0, VerdanturfTown_ContestLobby_EventScript_153D76, 0
- object_event 2, EVENT_OBJ_GFX_OLD_MAN_1, 0, 11, 5, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, VerdanturfTown_ContestLobby_EventScript_1B77A0, 0
- object_event 3, EVENT_OBJ_GFX_GIRL_1, 0, 14, 2, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, VerdanturfTown_ContestLobby_EventScript_153E47, 0
- object_event 4, EVENT_OBJ_GFX_BOY_2, 0, 1, 6, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, VerdanturfTown_ContestLobby_EventScript_153E3E, 0
- object_event 5, EVENT_OBJ_GFX_REPORTER_M, 0, 7, 5, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, VerdanturfTown_ContestLobby_EventScript_1AE0B6, FLAG_HIDE_CONTEST_REPORTER_VERDANTURF
- object_event 6, EVENT_OBJ_GFX_BOY_3, 0, 0, 3, 3, MOVEMENT_TYPE_WANDER_UP_AND_DOWN, 0, 1, 0, 0, VerdanturfTown_ContestLobby_EventScript_153E80, 0
-
-VerdanturfTown_ContestLobby_MapWarps:: @ 8386A90
- warp_def 5, 6, 0, 0, MAP_VERDANTURF_TOWN
- warp_def 6, 6, 0, 0, MAP_VERDANTURF_TOWN
- warp_def 1, 1, 0, 1, MAP_VERDANTURF_TOWN_CONTEST_HALL
-
-VerdanturfTown_ContestLobby_MapBGEvents:: @ 8386AA8
- bg_event 10, 3, 0, BG_EVENT_PLAYER_FACING_ANY, VerdanturfTown_ContestLobby_EventScript_1B782F
- bg_event 12, 5, 0, BG_EVENT_PLAYER_FACING_ANY, VerdanturfTown_ContestLobby_EventScript_1B763F
- bg_event 11, 1, 0, BG_EVENT_PLAYER_FACING_ANY, VerdanturfTown_ContestLobby_EventScript_153E37
- bg_event 13, 1, 0, BG_EVENT_PLAYER_FACING_ANY, VerdanturfTown_ContestLobby_EventScript_153E89
-
-VerdanturfTown_ContestLobby_MapEvents:: @ 8386AD8
- map_events VerdanturfTown_ContestLobby_EventObjects, VerdanturfTown_ContestLobby_MapWarps, 0x0, VerdanturfTown_ContestLobby_MapBGEvents
diff --git a/data/maps/VerdanturfTown_ContestLobby/header.inc b/data/maps/VerdanturfTown_ContestLobby/header.inc
deleted file mode 100644
index d8ec51ef3..000000000
--- a/data/maps/VerdanturfTown_ContestLobby/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-VerdanturfTown_ContestLobby:: @ 8305D78
- .4byte ContestLobby_Layout
- .4byte VerdanturfTown_ContestLobby_MapEvents
- .4byte VerdanturfTown_ContestLobby_MapScripts
- .4byte 0x0
- .2byte MUS_CONLOBBY
- .2byte 72
- .byte MAPSEC_VERDANTURF_TOWN
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/VerdanturfTown_ContestLobby/map.json b/data/maps/VerdanturfTown_ContestLobby/map.json
new file mode 100644
index 000000000..a6a1b79fe
--- /dev/null
+++ b/data/maps/VerdanturfTown_ContestLobby/map.json
@@ -0,0 +1,151 @@
+{
+ "id": "MAP_VERDANTURF_TOWN_CONTEST_LOBBY",
+ "name": "VerdanturfTown_ContestLobby",
+ "layout": "LAYOUT_CONTEST_LOBBY",
+ "music": "MUS_CONLOBBY",
+ "region_map_section": "MAPSEC_VERDANTURF_TOWN",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_TEALA",
+ "x": 5,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 3,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "VerdanturfTown_ContestLobby_EventScript_153D76",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_OLD_MAN_1",
+ "x": 11,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "VerdanturfTown_ContestLobby_EventScript_1B77A0",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_GIRL_1",
+ "x": 14,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "VerdanturfTown_ContestLobby_EventScript_153E47",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BOY_2",
+ "x": 1,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "VerdanturfTown_ContestLobby_EventScript_153E3E",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_REPORTER_M",
+ "x": 7,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "VerdanturfTown_ContestLobby_EventScript_1AE0B6",
+ "flag": "FLAG_HIDE_CONTEST_REPORTER_VERDANTURF"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BOY_3",
+ "x": 0,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_UP_AND_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "VerdanturfTown_ContestLobby_EventScript_153E80",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 5,
+ "y": 6,
+ "elevation": 0,
+ "dest_map": "MAP_VERDANTURF_TOWN",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 6,
+ "y": 6,
+ "elevation": 0,
+ "dest_map": "MAP_VERDANTURF_TOWN",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 1,
+ "y": 1,
+ "elevation": 0,
+ "dest_map": "MAP_VERDANTURF_TOWN_CONTEST_HALL",
+ "dest_warp_id": 1
+ }
+ ],
+ "coord_events": [],
+ "bg_events": [
+ {
+ "type": "sign",
+ "x": 10,
+ "y": 3,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "VerdanturfTown_ContestLobby_EventScript_1B782F"
+ },
+ {
+ "type": "sign",
+ "x": 12,
+ "y": 5,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "VerdanturfTown_ContestLobby_EventScript_1B763F"
+ },
+ {
+ "type": "sign",
+ "x": 11,
+ "y": 1,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "VerdanturfTown_ContestLobby_EventScript_153E37"
+ },
+ {
+ "type": "sign",
+ "x": 13,
+ "y": 1,
+ "elevation": 0,
+ "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
+ "script": "VerdanturfTown_ContestLobby_EventScript_153E89"
+ }
+ ]
+} \ No newline at end of file
diff --git a/data/maps/VerdanturfTown_FriendshipRatersHouse/events.inc b/data/maps/VerdanturfTown_FriendshipRatersHouse/events.inc
deleted file mode 100644
index 81b2a84de..000000000
--- a/data/maps/VerdanturfTown_FriendshipRatersHouse/events.inc
+++ /dev/null
@@ -1,10 +0,0 @@
-VerdanturfTown_FriendshipRatersHouse_EventObjects:: @ 8386D88
- object_event 1, EVENT_OBJ_GFX_WOMAN_3, 0, 3, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, VerdanturfTown_FriendshipRatersHouse_EventScript_154030, 0
- object_event 2, EVENT_OBJ_GFX_PIKACHU, 0, 4, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, VerdanturfTown_FriendshipRatersHouse_EventScript_1540D9, 0
-
-VerdanturfTown_FriendshipRatersHouse_MapWarps:: @ 8386DB8
- warp_def 3, 7, 0, 5, MAP_VERDANTURF_TOWN
- warp_def 4, 7, 0, 5, MAP_VERDANTURF_TOWN
-
-VerdanturfTown_FriendshipRatersHouse_MapEvents:: @ 8386DC8
- map_events VerdanturfTown_FriendshipRatersHouse_EventObjects, VerdanturfTown_FriendshipRatersHouse_MapWarps, 0x0, 0x0
diff --git a/data/maps/VerdanturfTown_FriendshipRatersHouse/header.inc b/data/maps/VerdanturfTown_FriendshipRatersHouse/header.inc
deleted file mode 100644
index fd47e6b5b..000000000
--- a/data/maps/VerdanturfTown_FriendshipRatersHouse/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-VerdanturfTown_FriendshipRatersHouse:: @ 8305E20
- .4byte House2_Layout
- .4byte VerdanturfTown_FriendshipRatersHouse_MapEvents
- .4byte VerdanturfTown_FriendshipRatersHouse_MapScripts
- .4byte 0x0
- .2byte MUS_GOMACHI0
- .2byte 60
- .byte MAPSEC_VERDANTURF_TOWN
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/VerdanturfTown_FriendshipRatersHouse/map.json b/data/maps/VerdanturfTown_FriendshipRatersHouse/map.json
new file mode 100644
index 000000000..52ef96351
--- /dev/null
+++ b/data/maps/VerdanturfTown_FriendshipRatersHouse/map.json
@@ -0,0 +1,59 @@
+{
+ "id": "MAP_VERDANTURF_TOWN_FRIENDSHIP_RATERS_HOUSE",
+ "name": "VerdanturfTown_FriendshipRatersHouse",
+ "layout": "LAYOUT_HOUSE2",
+ "music": "MUS_GOMACHI0",
+ "region_map_section": "MAPSEC_VERDANTURF_TOWN",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_3",
+ "x": 3,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "VerdanturfTown_FriendshipRatersHouse_EventScript_154030",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_PIKACHU",
+ "x": 4,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "VerdanturfTown_FriendshipRatersHouse_EventScript_1540D9",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 3,
+ "y": 7,
+ "elevation": 0,
+ "dest_map": "MAP_VERDANTURF_TOWN",
+ "dest_warp_id": 5
+ },
+ {
+ "x": 4,
+ "y": 7,
+ "elevation": 0,
+ "dest_map": "MAP_VERDANTURF_TOWN",
+ "dest_warp_id": 5
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/VerdanturfTown_House/events.inc b/data/maps/VerdanturfTown_House/events.inc
deleted file mode 100644
index b0856c090..000000000
--- a/data/maps/VerdanturfTown_House/events.inc
+++ /dev/null
@@ -1,10 +0,0 @@
-VerdanturfTown_House_EventObjects:: @ 8386DDC
- object_event 1, EVENT_OBJ_GFX_WOMAN_7, 0, 4, 5, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, VerdanturfTown_House_EventScript_1540ED, 0
- object_event 2, EVENT_OBJ_GFX_WOMAN_7, 0, 4, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, VerdanturfTown_House_EventScript_1540F6, 0
-
-VerdanturfTown_House_MapWarps:: @ 8386E0C
- warp_def 3, 8, 0, 6, MAP_VERDANTURF_TOWN
- warp_def 4, 8, 0, 6, MAP_VERDANTURF_TOWN
-
-VerdanturfTown_House_MapEvents:: @ 8386E1C
- map_events VerdanturfTown_House_EventObjects, VerdanturfTown_House_MapWarps, 0x0, 0x0
diff --git a/data/maps/VerdanturfTown_House/header.inc b/data/maps/VerdanturfTown_House/header.inc
deleted file mode 100644
index b99ebf511..000000000
--- a/data/maps/VerdanturfTown_House/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-VerdanturfTown_House:: @ 8305E3C
- .4byte House1_Layout
- .4byte VerdanturfTown_House_MapEvents
- .4byte VerdanturfTown_House_MapScripts
- .4byte 0x0
- .2byte MUS_GOMACHI0
- .2byte 59
- .byte MAPSEC_VERDANTURF_TOWN
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/VerdanturfTown_House/map.json b/data/maps/VerdanturfTown_House/map.json
new file mode 100644
index 000000000..1a345f0e7
--- /dev/null
+++ b/data/maps/VerdanturfTown_House/map.json
@@ -0,0 +1,59 @@
+{
+ "id": "MAP_VERDANTURF_TOWN_HOUSE",
+ "name": "VerdanturfTown_House",
+ "layout": "LAYOUT_HOUSE1",
+ "music": "MUS_GOMACHI0",
+ "region_map_section": "MAPSEC_VERDANTURF_TOWN",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_7",
+ "x": 4,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "VerdanturfTown_House_EventScript_1540ED",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_7",
+ "x": 4,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "VerdanturfTown_House_EventScript_1540F6",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 3,
+ "y": 8,
+ "elevation": 0,
+ "dest_map": "MAP_VERDANTURF_TOWN",
+ "dest_warp_id": 6
+ },
+ {
+ "x": 4,
+ "y": 8,
+ "elevation": 0,
+ "dest_map": "MAP_VERDANTURF_TOWN",
+ "dest_warp_id": 6
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/VerdanturfTown_Mart/events.inc b/data/maps/VerdanturfTown_Mart/events.inc
deleted file mode 100644
index 0565d10b4..000000000
--- a/data/maps/VerdanturfTown_Mart/events.inc
+++ /dev/null
@@ -1,12 +0,0 @@
-VerdanturfTown_Mart_EventObjects:: @ 8386B70
- object_event 1, EVENT_OBJ_GFX_MART_EMPLOYEE, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, VerdanturfTown_Mart_EventScript_153EBC, 0
- object_event 2, EVENT_OBJ_GFX_BOY_2, 0, 5, 4, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, VerdanturfTown_Mart_EventScript_153EEE, 0
- object_event 3, EVENT_OBJ_GFX_OLD_WOMAN_1, 0, 8, 5, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, VerdanturfTown_Mart_EventScript_153EF7, 0
- object_event 4, EVENT_OBJ_GFX_LASS, 0, 3, 2, 3, MOVEMENT_TYPE_FACE_LEFT, 1, 1, 0, 0, VerdanturfTown_Mart_EventScript_153F00, 0
-
-VerdanturfTown_Mart_MapWarps:: @ 8386BD0
- warp_def 3, 7, 0, 1, MAP_VERDANTURF_TOWN
- warp_def 4, 7, 0, 1, MAP_VERDANTURF_TOWN
-
-VerdanturfTown_Mart_MapEvents:: @ 8386BE0
- map_events VerdanturfTown_Mart_EventObjects, VerdanturfTown_Mart_MapWarps, 0x0, 0x0
diff --git a/data/maps/VerdanturfTown_Mart/header.inc b/data/maps/VerdanturfTown_Mart/header.inc
deleted file mode 100644
index d5d47fc72..000000000
--- a/data/maps/VerdanturfTown_Mart/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-VerdanturfTown_Mart:: @ 8305DB0
- .4byte PokeMart_Layout
- .4byte VerdanturfTown_Mart_MapEvents
- .4byte VerdanturfTown_Mart_MapScripts
- .4byte 0x0
- .2byte MUS_FRIENDLY
- .2byte 63
- .byte MAPSEC_VERDANTURF_TOWN
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/VerdanturfTown_Mart/map.json b/data/maps/VerdanturfTown_Mart/map.json
new file mode 100644
index 000000000..ff9a09f9d
--- /dev/null
+++ b/data/maps/VerdanturfTown_Mart/map.json
@@ -0,0 +1,85 @@
+{
+ "id": "MAP_VERDANTURF_TOWN_MART",
+ "name": "VerdanturfTown_Mart",
+ "layout": "LAYOUT_POKE_MART",
+ "music": "MUS_FRIENDLY",
+ "region_map_section": "MAPSEC_VERDANTURF_TOWN",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MART_EMPLOYEE",
+ "x": 1,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "VerdanturfTown_Mart_EventScript_153EBC",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BOY_2",
+ "x": 5,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "VerdanturfTown_Mart_EventScript_153EEE",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_OLD_WOMAN_1",
+ "x": 8,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "VerdanturfTown_Mart_EventScript_153EF7",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_LASS",
+ "x": 3,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "VerdanturfTown_Mart_EventScript_153F00",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 3,
+ "y": 7,
+ "elevation": 0,
+ "dest_map": "MAP_VERDANTURF_TOWN",
+ "dest_warp_id": 1
+ },
+ {
+ "x": 4,
+ "y": 7,
+ "elevation": 0,
+ "dest_map": "MAP_VERDANTURF_TOWN",
+ "dest_warp_id": 1
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/VerdanturfTown_PokemonCenter_1F/events.inc b/data/maps/VerdanturfTown_PokemonCenter_1F/events.inc
deleted file mode 100644
index b5d3c658a..000000000
--- a/data/maps/VerdanturfTown_PokemonCenter_1F/events.inc
+++ /dev/null
@@ -1,12 +0,0 @@
-VerdanturfTown_PokemonCenter_1F_EventObjects:: @ 8386BF4
- object_event 1, EVENT_OBJ_GFX_NURSE, 0, 7, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, VerdanturfTown_PokemonCenter_1F_EventScript_153F18, 0
- object_event 2, EVENT_OBJ_GFX_GENTLEMAN, 0, 4, 5, 3, MOVEMENT_TYPE_WANDER_LEFT_AND_RIGHT, 1, 0, 0, 0, VerdanturfTown_PokemonCenter_1F_EventScript_153F26, 0
- object_event 3, EVENT_OBJ_GFX_OLD_MAN_1, 0, 12, 2, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, VerdanturfTown_PokemonCenter_1F_EventScript_153F2F, 0
-
-VerdanturfTown_PokemonCenter_1F_MapWarps:: @ 8386C3C
- warp_def 7, 8, 3, 2, MAP_VERDANTURF_TOWN
- warp_def 6, 8, 3, 2, MAP_VERDANTURF_TOWN
- warp_def 1, 6, 4, 0, MAP_VERDANTURF_TOWN_POKEMON_CENTER_2F
-
-VerdanturfTown_PokemonCenter_1F_MapEvents:: @ 8386C54
- map_events VerdanturfTown_PokemonCenter_1F_EventObjects, VerdanturfTown_PokemonCenter_1F_MapWarps, 0x0, 0x0
diff --git a/data/maps/VerdanturfTown_PokemonCenter_1F/header.inc b/data/maps/VerdanturfTown_PokemonCenter_1F/header.inc
deleted file mode 100644
index 2238e0e72..000000000
--- a/data/maps/VerdanturfTown_PokemonCenter_1F/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-VerdanturfTown_PokemonCenter_1F:: @ 8305DCC
- .4byte PokemonCenter_1F_Layout
- .4byte VerdanturfTown_PokemonCenter_1F_MapEvents
- .4byte VerdanturfTown_PokemonCenter_1F_MapScripts
- .4byte 0x0
- .2byte MUS_POKECEN
- .2byte 61
- .byte MAPSEC_VERDANTURF_TOWN
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/VerdanturfTown_PokemonCenter_1F/map.json b/data/maps/VerdanturfTown_PokemonCenter_1F/map.json
new file mode 100644
index 000000000..5bf660e2d
--- /dev/null
+++ b/data/maps/VerdanturfTown_PokemonCenter_1F/map.json
@@ -0,0 +1,79 @@
+{
+ "id": "MAP_VERDANTURF_TOWN_POKEMON_CENTER_1F",
+ "name": "VerdanturfTown_PokemonCenter_1F",
+ "layout": "LAYOUT_POKEMON_CENTER_1F",
+ "music": "MUS_POKECEN",
+ "region_map_section": "MAPSEC_VERDANTURF_TOWN",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_NURSE",
+ "x": 7,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "VerdanturfTown_PokemonCenter_1F_EventScript_153F18",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_GENTLEMAN",
+ "x": 4,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_LEFT_AND_RIGHT",
+ "movement_range_x": 1,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "VerdanturfTown_PokemonCenter_1F_EventScript_153F26",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_OLD_MAN_1",
+ "x": 12,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "VerdanturfTown_PokemonCenter_1F_EventScript_153F2F",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 7,
+ "y": 8,
+ "elevation": 3,
+ "dest_map": "MAP_VERDANTURF_TOWN",
+ "dest_warp_id": 2
+ },
+ {
+ "x": 6,
+ "y": 8,
+ "elevation": 3,
+ "dest_map": "MAP_VERDANTURF_TOWN",
+ "dest_warp_id": 2
+ },
+ {
+ "x": 1,
+ "y": 6,
+ "elevation": 4,
+ "dest_map": "MAP_VERDANTURF_TOWN_POKEMON_CENTER_2F",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/VerdanturfTown_PokemonCenter_2F/events.inc b/data/maps/VerdanturfTown_PokemonCenter_2F/events.inc
deleted file mode 100644
index 1e99a098d..000000000
--- a/data/maps/VerdanturfTown_PokemonCenter_2F/events.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-VerdanturfTown_PokemonCenter_2F_EventObjects:: @ 8386C68
- object_event 1, EVENT_OBJ_GFX_TEALA, 0, 4, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, VerdanturfTown_PokemonCenter_2F_EventScript_153F48, 0
- object_event 2, EVENT_OBJ_GFX_TEALA, 0, 7, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, VerdanturfTown_PokemonCenter_2F_EventScript_153F4E, 0
- object_event 3, EVENT_OBJ_GFX_TEALA, 0, 10, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, VerdanturfTown_PokemonCenter_2F_EventScript_153F54, 0
-
-VerdanturfTown_PokemonCenter_2F_MapWarps:: @ 8386CB0
- warp_def 1, 5, 4, 2, MAP_VERDANTURF_TOWN_POKEMON_CENTER_1F
- warp_def 5, 1, 0, 0, MAP_SINGLE_BATTLE_COLOSSEUM
- warp_def 8, 1, 0, 0, MAP_TRADE_CENTER
- warp_def 11, 1, 0, 0, MAP_RECORD_CORNER
- warp_def 0, 0, 0, 0, MAP_DOUBLE_BATTLE_COLOSSEUM
-
-VerdanturfTown_PokemonCenter_2F_MapEvents:: @ 8386CD8
- map_events VerdanturfTown_PokemonCenter_2F_EventObjects, VerdanturfTown_PokemonCenter_2F_MapWarps, 0x0, 0x0
diff --git a/data/maps/VerdanturfTown_PokemonCenter_2F/header.inc b/data/maps/VerdanturfTown_PokemonCenter_2F/header.inc
deleted file mode 100644
index bd6369091..000000000
--- a/data/maps/VerdanturfTown_PokemonCenter_2F/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-VerdanturfTown_PokemonCenter_2F:: @ 8305DE8
- .4byte PokemonCenter_2F_Layout
- .4byte VerdanturfTown_PokemonCenter_2F_MapEvents
- .4byte VerdanturfTown_PokemonCenter_2F_MapScripts
- .4byte 0x0
- .2byte MUS_POKECEN
- .2byte 62
- .byte MAPSEC_VERDANTURF_TOWN
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/VerdanturfTown_PokemonCenter_2F/map.json b/data/maps/VerdanturfTown_PokemonCenter_2F/map.json
new file mode 100644
index 000000000..8850238f5
--- /dev/null
+++ b/data/maps/VerdanturfTown_PokemonCenter_2F/map.json
@@ -0,0 +1,93 @@
+{
+ "id": "MAP_VERDANTURF_TOWN_POKEMON_CENTER_2F",
+ "name": "VerdanturfTown_PokemonCenter_2F",
+ "layout": "LAYOUT_POKEMON_CENTER_2F",
+ "music": "MUS_POKECEN",
+ "region_map_section": "MAPSEC_VERDANTURF_TOWN",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_TEALA",
+ "x": 4,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "VerdanturfTown_PokemonCenter_2F_EventScript_153F48",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_TEALA",
+ "x": 7,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "VerdanturfTown_PokemonCenter_2F_EventScript_153F4E",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_TEALA",
+ "x": 10,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "VerdanturfTown_PokemonCenter_2F_EventScript_153F54",
+ "flag": "0"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 1,
+ "y": 5,
+ "elevation": 4,
+ "dest_map": "MAP_VERDANTURF_TOWN_POKEMON_CENTER_1F",
+ "dest_warp_id": 2
+ },
+ {
+ "x": 5,
+ "y": 1,
+ "elevation": 0,
+ "dest_map": "MAP_SINGLE_BATTLE_COLOSSEUM",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 8,
+ "y": 1,
+ "elevation": 0,
+ "dest_map": "MAP_TRADE_CENTER",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 11,
+ "y": 1,
+ "elevation": 0,
+ "dest_map": "MAP_RECORD_CORNER",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 0,
+ "y": 0,
+ "elevation": 0,
+ "dest_map": "MAP_DOUBLE_BATTLE_COLOSSEUM",
+ "dest_warp_id": 0
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/VerdanturfTown_WandasHouse/events.inc b/data/maps/VerdanturfTown_WandasHouse/events.inc
deleted file mode 100644
index 462b93b73..000000000
--- a/data/maps/VerdanturfTown_WandasHouse/events.inc
+++ /dev/null
@@ -1,13 +0,0 @@
-VerdanturfTown_WandasHouse_EventObjects:: @ 8386CEC
- object_event 1, EVENT_OBJ_GFX_WALLY, 0, 14, 5, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, VerdanturfTown_WandasHouse_EventScript_153F5B, FLAG_HIDE_WALLY_WANDAS_HOUSE
- object_event 2, EVENT_OBJ_GFX_BLACK_BELT, 0, 5, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, VerdanturfTown_WandasHouse_EventScript_153FAF, FLAG_HIDE_BOYFRIEND_WANDAS_HOUSE
- object_event 3, EVENT_OBJ_GFX_MAN_3, 0, 7, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, VerdanturfTown_WandasHouse_EventScript_153F7D, FLAG_HIDE_WALLY_FATHER_WANDAS_HOUSE
- object_event 4, EVENT_OBJ_GFX_WOMAN_2, 0, 2, 4, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, VerdanturfTown_WandasHouse_EventScript_153FEA, 0
- object_event 5, EVENT_OBJ_GFX_WOMAN_3, 0, 5, 5, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, VerdanturfTown_WandasHouse_EventScript_153FB8, FLAG_HIDE_GIRLFRIEND_WANDAS_HOUSE
-
-VerdanturfTown_WandasHouse_MapWarps:: @ 8386D64
- warp_def 7, 7, 0, 3, MAP_VERDANTURF_TOWN
- warp_def 8, 7, 0, 3, MAP_VERDANTURF_TOWN
-
-VerdanturfTown_WandasHouse_MapEvents:: @ 8386D74
- map_events VerdanturfTown_WandasHouse_EventObjects, VerdanturfTown_WandasHouse_MapWarps, 0x0, 0x0
diff --git a/data/maps/VerdanturfTown_WandasHouse/header.inc b/data/maps/VerdanturfTown_WandasHouse/header.inc
deleted file mode 100644
index 01bfcbde5..000000000
--- a/data/maps/VerdanturfTown_WandasHouse/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-VerdanturfTown_WandasHouse:: @ 8305E04
- .4byte VerdanturfTown_WandasHouse_Layout
- .4byte VerdanturfTown_WandasHouse_MapEvents
- .4byte VerdanturfTown_WandasHouse_MapScripts
- .4byte 0x0
- .2byte MUS_GOMACHI0
- .2byte 76
- .byte MAPSEC_VERDANTURF_TOWN
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_INDOOR
- .2byte 0
- .byte 0
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/VerdanturfTown_WandasHouse/map.json b/data/maps/VerdanturfTown_WandasHouse/map.json
new file mode 100644
index 000000000..57b32a20c
--- /dev/null
+++ b/data/maps/VerdanturfTown_WandasHouse/map.json
@@ -0,0 +1,98 @@
+{
+ "id": "MAP_VERDANTURF_TOWN_WANDAS_HOUSE",
+ "name": "VerdanturfTown_WandasHouse",
+ "layout": "LAYOUT_VERDANTURF_TOWN_WANDAS_HOUSE",
+ "music": "MUS_GOMACHI0",
+ "region_map_section": "MAPSEC_VERDANTURF_TOWN",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WALLY",
+ "x": 14,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_WANDER_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "VerdanturfTown_WandasHouse_EventScript_153F5B",
+ "flag": "FLAG_HIDE_WALLY_WANDAS_HOUSE"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BLACK_BELT",
+ "x": 5,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "VerdanturfTown_WandasHouse_EventScript_153FAF",
+ "flag": "FLAG_HIDE_BOYFRIEND_WANDAS_HOUSE"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_3",
+ "x": 7,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "VerdanturfTown_WandasHouse_EventScript_153F7D",
+ "flag": "FLAG_HIDE_WALLY_FATHER_WANDAS_HOUSE"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_2",
+ "x": 2,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "VerdanturfTown_WandasHouse_EventScript_153FEA",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_3",
+ "x": 5,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "VerdanturfTown_WandasHouse_EventScript_153FB8",
+ "flag": "FLAG_HIDE_GIRLFRIEND_WANDAS_HOUSE"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 7,
+ "y": 7,
+ "elevation": 0,
+ "dest_map": "MAP_VERDANTURF_TOWN",
+ "dest_warp_id": 3
+ },
+ {
+ "x": 8,
+ "y": 7,
+ "elevation": 0,
+ "dest_map": "MAP_VERDANTURF_TOWN",
+ "dest_warp_id": 3
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/VictoryRoad_1F/events.inc b/data/maps/VictoryRoad_1F/events.inc
deleted file mode 100644
index 54bed846b..000000000
--- a/data/maps/VictoryRoad_1F/events.inc
+++ /dev/null
@@ -1,26 +0,0 @@
-VictoryRoad_1F_EventObjects:: @ 838D8E4
- object_event 1, EVENT_OBJ_GFX_MAN_4, 0, 33, 22, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 1, 3, VictoryRoad_1F_EventScript_15DF6F, 0
- object_event 2, EVENT_OBJ_GFX_WOMAN_7, 0, 6, 15, 4, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 1, 4, VictoryRoad_1F_EventScript_15DF9D, 0
- object_event 3, EVENT_OBJ_GFX_MAN_4, 0, 27, 34, 3, MOVEMENT_TYPE_FACE_DOWN_AND_RIGHT, 0, 0, 1, 3, VictoryRoad_1F_EventScript_15DF86, 0
- object_event 4, EVENT_OBJ_GFX_WALLY, 0, 31, 12, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 0, 0, VictoryRoad_1F_EventScript_15DF28, FLAG_HIDE_WALLY_BATTLE_VICTORY_ROAD
- object_event 5, EVENT_OBJ_GFX_ITEM_BALL, 0, 40, 26, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, VictoryRoad_1F_EventScript_1B1AC6, FLAG_ITEM_VICTORY_ROAD_1F_1
- object_event 6, EVENT_OBJ_GFX_ITEM_BALL, 0, 37, 39, 4, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, VictoryRoad_1F_EventScript_1B1AD3, FLAG_ITEM_VICTORY_ROAD_1F_2
- object_event 7, EVENT_OBJ_GFX_WALLY, 0, 31, 9, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, VictoryRoad_1F_EventScript_15DF31, FLAG_HIDE_WALLY_DEFEATED_VICTORY_ROAD
-
-VictoryRoad_1F_MapWarps:: @ 838D98C
- warp_def 15, 40, 3, 2, MAP_EVER_GRANDE_CITY
- warp_def 39, 5, 3, 3, MAP_EVER_GRANDE_CITY
- warp_def 21, 32, 3, 5, MAP_VICTORY_ROAD_B1F
- warp_def 42, 38, 4, 2, MAP_VICTORY_ROAD_B1F
- warp_def 9, 14, 4, 4, MAP_VICTORY_ROAD_B1F
-
-VictoryRoad_1F_MapCoordEvents:: @ 838D9B4
- coord_event 34, 3, 3, VAR_VICTORY_ROAD_1F_STATE, 0, VictoryRoad_1F_EventScript_15DE97
- coord_event 34, 4, 3, VAR_VICTORY_ROAD_1F_STATE, 0, VictoryRoad_1F_EventScript_15DEAB
- coord_event 34, 5, 3, VAR_VICTORY_ROAD_1F_STATE, 0, VictoryRoad_1F_EventScript_15DEBF
-
-VictoryRoad_1F_MapBGEvents:: @ 838D9E4
- bg_hidden_item_event 30, 39, 4, ITEM_ULTRA_BALL, FLAG_HIDDEN_ITEM_51
-
-VictoryRoad_1F_MapEvents:: @ 838D9F0
- map_events VictoryRoad_1F_EventObjects, VictoryRoad_1F_MapWarps, VictoryRoad_1F_MapCoordEvents, VictoryRoad_1F_MapBGEvents
diff --git a/data/maps/VictoryRoad_1F/header.inc b/data/maps/VictoryRoad_1F/header.inc
deleted file mode 100644
index 0a9f56e9b..000000000
--- a/data/maps/VictoryRoad_1F/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-VictoryRoad_1F:: @ 8307224
- .4byte VictoryRoad_1F_Layout
- .4byte VictoryRoad_1F_MapEvents
- .4byte VictoryRoad_1F_MapScripts
- .4byte 0x0
- .2byte MUS_C_ROAD
- .2byte 164
- .byte MAPSEC_VICTORY_ROAD
- .byte 0
- .byte WEATHER_NONE
- .byte MAP_TYPE_UNDERGROUND
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/VictoryRoad_1F/map.json b/data/maps/VictoryRoad_1F/map.json
new file mode 100644
index 000000000..d7e721397
--- /dev/null
+++ b/data/maps/VictoryRoad_1F/map.json
@@ -0,0 +1,182 @@
+{
+ "id": "MAP_VICTORY_ROAD_1F",
+ "name": "VictoryRoad_1F",
+ "layout": "LAYOUT_VICTORY_ROAD_1F",
+ "music": "MUS_C_ROAD",
+ "region_map_section": "MAPSEC_VICTORY_ROAD",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_UNDERGROUND",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_4",
+ "x": 33,
+ "y": 22,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "3",
+ "script": "VictoryRoad_1F_EventScript_15DF6F",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_7",
+ "x": 6,
+ "y": 15,
+ "elevation": 4,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "4",
+ "script": "VictoryRoad_1F_EventScript_15DF9D",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_4",
+ "x": 27,
+ "y": 34,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN_AND_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "3",
+ "script": "VictoryRoad_1F_EventScript_15DF86",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WALLY",
+ "x": 31,
+ "y": 12,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "VictoryRoad_1F_EventScript_15DF28",
+ "flag": "FLAG_HIDE_WALLY_BATTLE_VICTORY_ROAD"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ITEM_BALL",
+ "x": 40,
+ "y": 26,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "VictoryRoad_1F_EventScript_1B1AC6",
+ "flag": "FLAG_ITEM_VICTORY_ROAD_1F_1"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ITEM_BALL",
+ "x": 37,
+ "y": 39,
+ "elevation": 4,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "VictoryRoad_1F_EventScript_1B1AD3",
+ "flag": "FLAG_ITEM_VICTORY_ROAD_1F_2"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WALLY",
+ "x": 31,
+ "y": 9,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "VictoryRoad_1F_EventScript_15DF31",
+ "flag": "FLAG_HIDE_WALLY_DEFEATED_VICTORY_ROAD"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 15,
+ "y": 40,
+ "elevation": 3,
+ "dest_map": "MAP_EVER_GRANDE_CITY",
+ "dest_warp_id": 2
+ },
+ {
+ "x": 39,
+ "y": 5,
+ "elevation": 3,
+ "dest_map": "MAP_EVER_GRANDE_CITY",
+ "dest_warp_id": 3
+ },
+ {
+ "x": 21,
+ "y": 32,
+ "elevation": 3,
+ "dest_map": "MAP_VICTORY_ROAD_B1F",
+ "dest_warp_id": 5
+ },
+ {
+ "x": 42,
+ "y": 38,
+ "elevation": 4,
+ "dest_map": "MAP_VICTORY_ROAD_B1F",
+ "dest_warp_id": 2
+ },
+ {
+ "x": 9,
+ "y": 14,
+ "elevation": 4,
+ "dest_map": "MAP_VICTORY_ROAD_B1F",
+ "dest_warp_id": 4
+ }
+ ],
+ "coord_events": [
+ {
+ "type": "trigger",
+ "x": 34,
+ "y": 3,
+ "elevation": 3,
+ "var": "VAR_VICTORY_ROAD_1F_STATE",
+ "var_value": "0",
+ "script": "VictoryRoad_1F_EventScript_15DE97"
+ },
+ {
+ "type": "trigger",
+ "x": 34,
+ "y": 4,
+ "elevation": 3,
+ "var": "VAR_VICTORY_ROAD_1F_STATE",
+ "var_value": "0",
+ "script": "VictoryRoad_1F_EventScript_15DEAB"
+ },
+ {
+ "type": "trigger",
+ "x": 34,
+ "y": 5,
+ "elevation": 3,
+ "var": "VAR_VICTORY_ROAD_1F_STATE",
+ "var_value": "0",
+ "script": "VictoryRoad_1F_EventScript_15DEBF"
+ }
+ ],
+ "bg_events": [
+ {
+ "type": "hidden_item",
+ "x": 30,
+ "y": 39,
+ "elevation": 4,
+ "item": "ITEM_ULTRA_BALL",
+ "flag": "FLAG_HIDDEN_ITEM_51"
+ }
+ ]
+} \ No newline at end of file
diff --git a/data/maps/VictoryRoad_B1F/events.inc b/data/maps/VictoryRoad_B1F/events.inc
deleted file mode 100644
index 94e995b66..000000000
--- a/data/maps/VictoryRoad_B1F/events.inc
+++ /dev/null
@@ -1,32 +0,0 @@
-VictoryRoad_B1F_EventObjects:: @ 838DA04
- object_event 1, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 20, 5, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, S_PushableBoulder, FLAG_TEMP_13
- object_event 2, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 21, 4, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, S_PushableBoulder, FLAG_TEMP_14
- object_event 3, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 4, 7, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, S_PushableBoulder, FLAG_TEMP_11
- object_event 4, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 9, 10, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, S_PushableBoulder, FLAG_TEMP_12
- object_event 5, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 20, 26, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, S_PushableBoulder, FLAG_TEMP_17
- object_event 6, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 21, 25, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, S_PushableBoulder, FLAG_TEMP_16
- object_event 7, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 35, 6, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, S_PushableBoulder, FLAG_TEMP_1E
- object_event 8, EVENT_OBJ_GFX_BREAKABLE_ROCK, 0, 19, 5, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, S_BreakableRock, FLAG_TEMP_19
- object_event 9, EVENT_OBJ_GFX_BREAKABLE_ROCK, 0, 20, 4, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, S_BreakableRock, FLAG_TEMP_1A
- object_event 10, EVENT_OBJ_GFX_BREAKABLE_ROCK, 0, 18, 12, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, S_BreakableRock, FLAG_TEMP_1B
- object_event 11, EVENT_OBJ_GFX_BREAKABLE_ROCK, 0, 20, 25, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, S_BreakableRock, FLAG_TEMP_1C
- object_event 12, EVENT_OBJ_GFX_BREAKABLE_ROCK, 0, 21, 26, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, S_BreakableRock, FLAG_TEMP_1D
- object_event 13, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 34, 4, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, S_PushableBoulder, FLAG_TEMP_1F
- object_event 14, EVENT_OBJ_GFX_MAN_4, 0, 37, 12, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 1, 3, VictoryRoad_B1F_EventScript_15DFB5, 0
- object_event 15, EVENT_OBJ_GFX_WOMAN_7, 0, 26, 16, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 1, 4, VictoryRoad_B1F_EventScript_15DFCC, 0
- object_event 16, EVENT_OBJ_GFX_WOMAN_7, 0, 5, 21, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 1, 2, VictoryRoad_B1F_EventScript_15DFE3, 0
- object_event 17, EVENT_OBJ_GFX_BREAKABLE_ROCK, 0, 34, 3, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, S_BreakableRock, FLAG_VICTORY_ROAD_ROCK
- object_event 18, EVENT_OBJ_GFX_ITEM_BALL, 0, 42, 8, 4, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, VictoryRoad_B1F_EventScript_1B1AE0, FLAG_ITEM_VICTORY_ROAD_B1F_1
- object_event 19, EVENT_OBJ_GFX_ITEM_BALL, 0, 32, 3, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, VictoryRoad_B1F_EventScript_1B1AED, FLAG_ITEM_VICTORY_ROAD_B1F_2
-
-VictoryRoad_B1F_MapWarps:: @ 838DBCC
- warp_def 30, 25, 3, 0, MAP_VICTORY_ROAD_B2F
- warp_def 17, 16, 3, 2, MAP_VICTORY_ROAD_B2F
- warp_def 42, 25, 3, 3, MAP_VICTORY_ROAD_1F
- warp_def 42, 2, 4, 1, MAP_VICTORY_ROAD_B2F
- warp_def 8, 3, 3, 4, MAP_VICTORY_ROAD_1F
- warp_def 20, 21, 3, 2, MAP_VICTORY_ROAD_1F
- warp_def 5, 26, 3, 3, MAP_VICTORY_ROAD_B2F
-
-VictoryRoad_B1F_MapEvents:: @ 838DC04
- map_events VictoryRoad_B1F_EventObjects, VictoryRoad_B1F_MapWarps, 0x0, 0x0
diff --git a/data/maps/VictoryRoad_B1F/header.inc b/data/maps/VictoryRoad_B1F/header.inc
deleted file mode 100644
index b7a3455ca..000000000
--- a/data/maps/VictoryRoad_B1F/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-VictoryRoad_B1F:: @ 8307240
- .4byte VictoryRoad_B1F_Layout
- .4byte VictoryRoad_B1F_MapEvents
- .4byte VictoryRoad_B1F_MapScripts
- .4byte 0x0
- .2byte MUS_C_ROAD
- .2byte 286
- .byte MAPSEC_VICTORY_ROAD
- .byte 1
- .byte WEATHER_NONE
- .byte MAP_TYPE_UNDERGROUND
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/VictoryRoad_B1F/map.json b/data/maps/VictoryRoad_B1F/map.json
new file mode 100644
index 000000000..a833aaea5
--- /dev/null
+++ b/data/maps/VictoryRoad_B1F/map.json
@@ -0,0 +1,315 @@
+{
+ "id": "MAP_VICTORY_ROAD_B1F",
+ "name": "VictoryRoad_B1F",
+ "layout": "LAYOUT_VICTORY_ROAD_B1F",
+ "music": "MUS_C_ROAD",
+ "region_map_section": "MAPSEC_VICTORY_ROAD",
+ "requires_flash": true,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_UNDERGROUND",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_PUSHABLE_BOULDER",
+ "x": 20,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "S_PushableBoulder",
+ "flag": "FLAG_TEMP_13"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_PUSHABLE_BOULDER",
+ "x": 21,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "S_PushableBoulder",
+ "flag": "FLAG_TEMP_14"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_PUSHABLE_BOULDER",
+ "x": 4,
+ "y": 7,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "S_PushableBoulder",
+ "flag": "FLAG_TEMP_11"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_PUSHABLE_BOULDER",
+ "x": 9,
+ "y": 10,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "S_PushableBoulder",
+ "flag": "FLAG_TEMP_12"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_PUSHABLE_BOULDER",
+ "x": 20,
+ "y": 26,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "S_PushableBoulder",
+ "flag": "FLAG_TEMP_17"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_PUSHABLE_BOULDER",
+ "x": 21,
+ "y": 25,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "S_PushableBoulder",
+ "flag": "FLAG_TEMP_16"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_PUSHABLE_BOULDER",
+ "x": 35,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "S_PushableBoulder",
+ "flag": "FLAG_TEMP_1E"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BREAKABLE_ROCK",
+ "x": 19,
+ "y": 5,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "S_BreakableRock",
+ "flag": "FLAG_TEMP_19"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BREAKABLE_ROCK",
+ "x": 20,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "S_BreakableRock",
+ "flag": "FLAG_TEMP_1A"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BREAKABLE_ROCK",
+ "x": 18,
+ "y": 12,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "S_BreakableRock",
+ "flag": "FLAG_TEMP_1B"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BREAKABLE_ROCK",
+ "x": 20,
+ "y": 25,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "S_BreakableRock",
+ "flag": "FLAG_TEMP_1C"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BREAKABLE_ROCK",
+ "x": 21,
+ "y": 26,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "S_BreakableRock",
+ "flag": "FLAG_TEMP_1D"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_PUSHABLE_BOULDER",
+ "x": 34,
+ "y": 4,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "S_PushableBoulder",
+ "flag": "FLAG_TEMP_1F"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_4",
+ "x": 37,
+ "y": 12,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "3",
+ "script": "VictoryRoad_B1F_EventScript_15DFB5",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_7",
+ "x": 26,
+ "y": 16,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "4",
+ "script": "VictoryRoad_B1F_EventScript_15DFCC",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_7",
+ "x": 5,
+ "y": 21,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "2",
+ "script": "VictoryRoad_B1F_EventScript_15DFE3",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_BREAKABLE_ROCK",
+ "x": 34,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "S_BreakableRock",
+ "flag": "FLAG_VICTORY_ROAD_ROCK"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ITEM_BALL",
+ "x": 42,
+ "y": 8,
+ "elevation": 4,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "VictoryRoad_B1F_EventScript_1B1AE0",
+ "flag": "FLAG_ITEM_VICTORY_ROAD_B1F_1"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ITEM_BALL",
+ "x": 32,
+ "y": 3,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "VictoryRoad_B1F_EventScript_1B1AED",
+ "flag": "FLAG_ITEM_VICTORY_ROAD_B1F_2"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 30,
+ "y": 25,
+ "elevation": 3,
+ "dest_map": "MAP_VICTORY_ROAD_B2F",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 17,
+ "y": 16,
+ "elevation": 3,
+ "dest_map": "MAP_VICTORY_ROAD_B2F",
+ "dest_warp_id": 2
+ },
+ {
+ "x": 42,
+ "y": 25,
+ "elevation": 3,
+ "dest_map": "MAP_VICTORY_ROAD_1F",
+ "dest_warp_id": 3
+ },
+ {
+ "x": 42,
+ "y": 2,
+ "elevation": 4,
+ "dest_map": "MAP_VICTORY_ROAD_B2F",
+ "dest_warp_id": 1
+ },
+ {
+ "x": 8,
+ "y": 3,
+ "elevation": 3,
+ "dest_map": "MAP_VICTORY_ROAD_1F",
+ "dest_warp_id": 4
+ },
+ {
+ "x": 20,
+ "y": 21,
+ "elevation": 3,
+ "dest_map": "MAP_VICTORY_ROAD_1F",
+ "dest_warp_id": 2
+ },
+ {
+ "x": 5,
+ "y": 26,
+ "elevation": 3,
+ "dest_map": "MAP_VICTORY_ROAD_B2F",
+ "dest_warp_id": 3
+ }
+ ],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/VictoryRoad_B2F/events.inc b/data/maps/VictoryRoad_B2F/events.inc
deleted file mode 100644
index c58ff33f3..000000000
--- a/data/maps/VictoryRoad_B2F/events.inc
+++ /dev/null
@@ -1,19 +0,0 @@
-VictoryRoad_B2F_EventObjects:: @ 838DC18
- object_event 1, EVENT_OBJ_GFX_MAN_4, 0, 15, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 1, 2, VictoryRoad_B2F_EventScript_15DFFB, 0
- object_event 2, EVENT_OBJ_GFX_MAN_4, 0, 43, 14, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 1, 4, VictoryRoad_B2F_EventScript_15E012, 0
- object_event 3, EVENT_OBJ_GFX_WOMAN_7, 0, 2, 17, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 1, 2, VictoryRoad_B2F_EventScript_15E029, 0
- object_event 4, EVENT_OBJ_GFX_WOMAN_7, 0, 35, 22, 3, MOVEMENT_TYPE_FACE_LEFT, 1, 1, 1, 2, VictoryRoad_B2F_EventScript_15E040, 0
- object_event 5, EVENT_OBJ_GFX_ITEM_BALL, 0, 13, 8, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, VictoryRoad_B2F_EventScript_1B1AFA, FLAG_ITEM_VICTORY_ROAD_B2F_1
-
-VictoryRoad_B2F_MapWarps:: @ 838DC90
- warp_def 30, 25, 3, 0, MAP_VICTORY_ROAD_B1F
- warp_def 43, 2, 3, 3, MAP_VICTORY_ROAD_B1F
- warp_def 19, 12, 3, 1, MAP_VICTORY_ROAD_B1F
- warp_def 5, 26, 3, 6, MAP_VICTORY_ROAD_B1F
-
-VictoryRoad_B2F_MapBGEvents:: @ 838DCB0
- bg_hidden_item_event 28, 5, 3, ITEM_ELIXIR, FLAG_HIDDEN_ITEM_52
- bg_hidden_item_event 37, 1, 3, ITEM_MAX_REPEL, FLAG_HIDDEN_ITEM_53
-
-VictoryRoad_B2F_MapEvents:: @ 838DCC8
- map_events VictoryRoad_B2F_EventObjects, VictoryRoad_B2F_MapWarps, 0x0, VictoryRoad_B2F_MapBGEvents
diff --git a/data/maps/VictoryRoad_B2F/header.inc b/data/maps/VictoryRoad_B2F/header.inc
deleted file mode 100644
index 2cad4acec..000000000
--- a/data/maps/VictoryRoad_B2F/header.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-VictoryRoad_B2F:: @ 830725C
- .4byte VictoryRoad_B2F_Layout
- .4byte VictoryRoad_B2F_MapEvents
- .4byte VictoryRoad_B2F_MapScripts
- .4byte 0x0
- .2byte MUS_C_ROAD
- .2byte 287
- .byte MAPSEC_VICTORY_ROAD
- .byte 1
- .byte WEATHER_NONE
- .byte MAP_TYPE_UNDERGROUND
- .2byte 0
- .byte 1
- .byte MAP_BATTLE_SCENE_NORMAL
diff --git a/data/maps/VictoryRoad_B2F/map.json b/data/maps/VictoryRoad_B2F/map.json
new file mode 100644
index 000000000..a8d0480ca
--- /dev/null
+++ b/data/maps/VictoryRoad_B2F/map.json
@@ -0,0 +1,129 @@
+{
+ "id": "MAP_VICTORY_ROAD_B2F",
+ "name": "VictoryRoad_B2F",
+ "layout": "LAYOUT_VICTORY_ROAD_B2F",
+ "music": "MUS_C_ROAD",
+ "region_map_section": "MAPSEC_VICTORY_ROAD",
+ "requires_flash": true,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_UNDERGROUND",
+ "show_map_name": true,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_4",
+ "x": 15,
+ "y": 6,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "2",
+ "script": "VictoryRoad_B2F_EventScript_15DFFB",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_MAN_4",
+ "x": 43,
+ "y": 14,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "4",
+ "script": "VictoryRoad_B2F_EventScript_15E012",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_7",
+ "x": 2,
+ "y": 17,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "2",
+ "script": "VictoryRoad_B2F_EventScript_15E029",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_WOMAN_7",
+ "x": 35,
+ "y": 22,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "1",
+ "trainer_sight_or_berry_tree_id": "2",
+ "script": "VictoryRoad_B2F_EventScript_15E040",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_ITEM_BALL",
+ "x": 13,
+ "y": 8,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "VictoryRoad_B2F_EventScript_1B1AFA",
+ "flag": "FLAG_ITEM_VICTORY_ROAD_B2F_1"
+ }
+ ],
+ "warp_events": [
+ {
+ "x": 30,
+ "y": 25,
+ "elevation": 3,
+ "dest_map": "MAP_VICTORY_ROAD_B1F",
+ "dest_warp_id": 0
+ },
+ {
+ "x": 43,
+ "y": 2,
+ "elevation": 3,
+ "dest_map": "MAP_VICTORY_ROAD_B1F",
+ "dest_warp_id": 3
+ },
+ {
+ "x": 19,
+ "y": 12,
+ "elevation": 3,
+ "dest_map": "MAP_VICTORY_ROAD_B1F",
+ "dest_warp_id": 1
+ },
+ {
+ "x": 5,
+ "y": 26,
+ "elevation": 3,
+ "dest_map": "MAP_VICTORY_ROAD_B1F",
+ "dest_warp_id": 6
+ }
+ ],
+ "coord_events": [],
+ "bg_events": [
+ {
+ "type": "hidden_item",
+ "x": 28,
+ "y": 5,
+ "elevation": 3,
+ "item": "ITEM_ELIXIR",
+ "flag": "FLAG_HIDDEN_ITEM_52"
+ },
+ {
+ "type": "hidden_item",
+ "x": 37,
+ "y": 1,
+ "elevation": 3,
+ "item": "ITEM_MAX_REPEL",
+ "flag": "FLAG_HIDDEN_ITEM_53"
+ }
+ ]
+} \ No newline at end of file
diff --git a/data/maps/connections.inc b/data/maps/connections.inc
deleted file mode 100644
index ab2ffb7b9..000000000
--- a/data/maps/connections.inc
+++ /dev/null
@@ -1,58 +0,0 @@
- .include "data/maps/LittlerootTown/connections.inc"
- .include "data/maps/OldaleTown/connections.inc"
- .include "data/maps/DewfordTown/connections.inc"
- .include "data/maps/LavaridgeTown/connections.inc"
- .include "data/maps/FallarborTown/connections.inc"
- .include "data/maps/VerdanturfTown/connections.inc"
- .include "data/maps/PacifidlogTown/connections.inc"
- .include "data/maps/PetalburgCity/connections.inc"
- .include "data/maps/SlateportCity/connections.inc"
- .include "data/maps/MauvilleCity/connections.inc"
- .include "data/maps/RustboroCity/connections.inc"
- .include "data/maps/FortreeCity/connections.inc"
- .include "data/maps/LilycoveCity/connections.inc"
- .include "data/maps/MossdeepCity/connections.inc"
- .include "data/maps/SootopolisCity/connections.inc"
- .include "data/maps/EverGrandeCity/connections.inc"
- .include "data/maps/Route101/connections.inc"
- .include "data/maps/Route102/connections.inc"
- .include "data/maps/Route103/connections.inc"
- .include "data/maps/Route104/connections.inc"
- .include "data/maps/Route105/connections.inc"
- .include "data/maps/Route106/connections.inc"
- .include "data/maps/Route107/connections.inc"
- .include "data/maps/Route108/connections.inc"
- .include "data/maps/Route109/connections.inc"
- .include "data/maps/Route110/connections.inc"
- .include "data/maps/Route111/connections.inc"
- .include "data/maps/Route112/connections.inc"
- .include "data/maps/Route113/connections.inc"
- .include "data/maps/Route114/connections.inc"
- .include "data/maps/Route115/connections.inc"
- .include "data/maps/Route116/connections.inc"
- .include "data/maps/Route117/connections.inc"
- .include "data/maps/Route118/connections.inc"
- .include "data/maps/Route119/connections.inc"
- .include "data/maps/Route120/connections.inc"
- .include "data/maps/Route121/connections.inc"
- .include "data/maps/Route122/connections.inc"
- .include "data/maps/Route123/connections.inc"
- .include "data/maps/Route124/connections.inc"
- .include "data/maps/Route125/connections.inc"
- .include "data/maps/Route126/connections.inc"
- .include "data/maps/Route127/connections.inc"
- .include "data/maps/Route128/connections.inc"
- .include "data/maps/Route129/connections.inc"
- .include "data/maps/Route130/connections.inc"
- .include "data/maps/Route131/connections.inc"
- .include "data/maps/Route132/connections.inc"
- .include "data/maps/Route133/connections.inc"
- .include "data/maps/Route134/connections.inc"
- .include "data/maps/Underwater1/connections.inc"
- .include "data/maps/Underwater2/connections.inc"
- .include "data/maps/Underwater3/connections.inc"
- .include "data/maps/Underwater4/connections.inc"
- .include "data/maps/SafariZone_Northwest/connections.inc"
- .include "data/maps/SafariZone_Northeast/connections.inc"
- .include "data/maps/SafariZone_Southwest/connections.inc"
- .include "data/maps/SafariZone_Southeast/connections.inc"
diff --git a/data/maps/groups.inc b/data/maps/groups.inc
deleted file mode 100644
index 478f03e86..000000000
--- a/data/maps/groups.inc
+++ /dev/null
@@ -1,532 +0,0 @@
- .align 2
-gMapGroup0:: @ 8307F60
- .4byte PetalburgCity
- .4byte SlateportCity
- .4byte MauvilleCity
- .4byte RustboroCity
- .4byte FortreeCity
- .4byte LilycoveCity
- .4byte MossdeepCity
- .4byte SootopolisCity
- .4byte EverGrandeCity
- .4byte LittlerootTown
- .4byte OldaleTown
- .4byte DewfordTown
- .4byte LavaridgeTown
- .4byte FallarborTown
- .4byte VerdanturfTown
- .4byte PacifidlogTown
- .4byte Route101
- .4byte Route102
- .4byte Route103
- .4byte Route104
- .4byte Route105
- .4byte Route106
- .4byte Route107
- .4byte Route108
- .4byte Route109
- .4byte Route110
- .4byte Route111
- .4byte Route112
- .4byte Route113
- .4byte Route114
- .4byte Route115
- .4byte Route116
- .4byte Route117
- .4byte Route118
- .4byte Route119
- .4byte Route120
- .4byte Route121
- .4byte Route122
- .4byte Route123
- .4byte Route124
- .4byte Route125
- .4byte Route126
- .4byte Route127
- .4byte Route128
- .4byte Route129
- .4byte Route130
- .4byte Route131
- .4byte Route132
- .4byte Route133
- .4byte Route134
- .4byte Underwater1
- .4byte Underwater2
- .4byte Underwater3
- .4byte Underwater4
-
- .align 2
-gMapGroup1:: @ 8308038
- .4byte LittlerootTown_BrendansHouse_1F
- .4byte LittlerootTown_BrendansHouse_2F
- .4byte LittlerootTown_MaysHouse_1F
- .4byte LittlerootTown_MaysHouse_2F
- .4byte LittlerootTown_ProfessorBirchsLab
-
- .align 2
-gMapGroup2:: @ 830804C
- .4byte OldaleTown_House1
- .4byte OldaleTown_House2
- .4byte OldaleTown_PokemonCenter_1F
- .4byte OldaleTown_PokemonCenter_2F
- .4byte OldaleTown_Mart
-
- .align 2
-gMapGroup3:: @ 8308060
- .4byte DewfordTown_House1
- .4byte DewfordTown_PokemonCenter_1F
- .4byte DewfordTown_PokemonCenter_2F
- .4byte DewfordTown_Gym
- .4byte DewfordTown_Hall
- .4byte DewfordTown_House2
-
- .align 2
-gMapGroup4:: @ 8308078
- .4byte LavaridgeTown_HerbShop
- .4byte LavaridgeTown_Gym_1F
- .4byte LavaridgeTown_Gym_B1F
- .4byte LavaridgeTown_House
- .4byte LavaridgeTown_Mart
- .4byte LavaridgeTown_PokemonCenter_1F
- .4byte LavaridgeTown_PokemonCenter_2F
-
- .align 2
-gMapGroup5:: @ 8308094
- .4byte FallarborTown_Mart
- .4byte FallarborTown_ContestLobby
- .4byte FallarborTown_ContestHall
- .4byte FallarborTown_PokemonCenter_1F
- .4byte FallarborTown_PokemonCenter_2F
- .4byte FallarborTown_House1
- .4byte FallarborTown_House2
-
- .align 2
-gMapGroup6:: @ 83080B0
- .4byte VerdanturfTown_ContestLobby
- .4byte VerdanturfTown_ContestHall
- .4byte VerdanturfTown_Mart
- .4byte VerdanturfTown_PokemonCenter_1F
- .4byte VerdanturfTown_PokemonCenter_2F
- .4byte VerdanturfTown_WandasHouse
- .4byte VerdanturfTown_FriendshipRatersHouse
- .4byte VerdanturfTown_House
-
- .align 2
-gMapGroup7:: @ 83080D0
- .4byte PacifidlogTown_PokemonCenter_1F
- .4byte PacifidlogTown_PokemonCenter_2F
- .4byte PacifidlogTown_House1
- .4byte PacifidlogTown_House2
- .4byte PacifidlogTown_House3
- .4byte PacifidlogTown_House4
- .4byte PacifidlogTown_House5
-
- .align 2
-gMapGroup8:: @ 83080EC
- .4byte PetalburgCity_WallysHouse
- .4byte PetalburgCity_Gym
- .4byte PetalburgCity_House1
- .4byte PetalburgCity_House2
- .4byte PetalburgCity_PokemonCenter_1F
- .4byte PetalburgCity_PokemonCenter_2F
- .4byte PetalburgCity_Mart
-
- .align 2
-gMapGroup9:: @ 8308108
- .4byte SlateportCity_SternsShipyard_1F
- .4byte SlateportCity_SternsShipyard_2F
- .4byte SlateportCity_ContestLobby
- .4byte SlateportCity_ContestHall
- .4byte SlateportCity_House1
- .4byte SlateportCity_PokemonFanClub
- .4byte SlateportCity_OceanicMuseum_1F
- .4byte SlateportCity_OceanicMuseum_2F
- .4byte SlateportCity_Harbor
- .4byte SlateportCity_House2
- .4byte SlateportCity_PokemonCenter_1F
- .4byte SlateportCity_PokemonCenter_2F
- .4byte SlateportCity_Mart
-
- .align 2
-gMapGroup10:: @ 830813C
- .4byte MauvilleCity_Gym
- .4byte MauvilleCity_BikeShop
- .4byte MauvilleCity_House1
- .4byte MauvilleCity_GameCorner
- .4byte MauvilleCity_House2
- .4byte MauvilleCity_PokemonCenter_1F
- .4byte MauvilleCity_PokemonCenter_2F
- .4byte MauvilleCity_Mart
-
- .align 2
-gMapGroup11:: @ 830815C
- .4byte RustboroCity_DevonCorp_1F
- .4byte RustboroCity_DevonCorp_2F
- .4byte RustboroCity_DevonCorp_3F
- .4byte RustboroCity_Gym
- .4byte RustboroCity_PokemonSchool
- .4byte RustboroCity_PokemonCenter_1F
- .4byte RustboroCity_PokemonCenter_2F
- .4byte RustboroCity_Mart
- .4byte RustboroCity_Flat1_1F
- .4byte RustboroCity_Flat1_2F
- .4byte RustboroCity_House1
- .4byte RustboroCity_CuttersHouse
- .4byte RustboroCity_House2
- .4byte RustboroCity_Flat2_1F
- .4byte RustboroCity_Flat2_2F
- .4byte RustboroCity_Flat2_3F
- .4byte RustboroCity_House3
-
- .align 2
-gMapGroup12:: @ 83081A0
- .4byte FortreeCity_House1
- .4byte FortreeCity_Gym
- .4byte FortreeCity_PokemonCenter_1F
- .4byte FortreeCity_PokemonCenter_2F
- .4byte FortreeCity_Mart
- .4byte FortreeCity_House2
- .4byte FortreeCity_House3
- .4byte FortreeCity_House4
- .4byte FortreeCity_House5
- .4byte FortreeCity_DecorationShop
-
- .align 2
-gMapGroup13:: @ 83081C8
- .4byte LilycoveCity_CoveLilyMotel_1F
- .4byte LilycoveCity_CoveLilyMotel_2F
- .4byte LilycoveCity_LilycoveMuseum_1F
- .4byte LilycoveCity_LilycoveMuseum_2F
- .4byte LilycoveCity_ContestLobby
- .4byte LilycoveCity_ContestHall
- .4byte LilycoveCity_PokemonCenter_1F
- .4byte LilycoveCity_PokemonCenter_2F
- .4byte LilycoveCity_UnusedMart
- .4byte LilycoveCity_PokemonTrainerFanClub
- .4byte LilycoveCity_Harbor
- .4byte LilycoveCity_EmptyMap
- .4byte LilycoveCity_MoveDeletersHouse
- .4byte LilycoveCity_House1
- .4byte LilycoveCity_House2
- .4byte LilycoveCity_House3
- .4byte LilycoveCity_House4
- .4byte LilycoveCity_DepartmentStore_1F
- .4byte LilycoveCity_DepartmentStore_2F
- .4byte LilycoveCity_DepartmentStore_3F
- .4byte LilycoveCity_DepartmentStore_4F
- .4byte LilycoveCity_DepartmentStore_5F
- .4byte LilycoveCity_DepartmentStoreRooftop
- .4byte LilycoveCity_DepartmentStoreElevator
-
- .align 2
-gMapGroup14:: @ 8308228
- .4byte MossdeepCity_Gym
- .4byte MossdeepCity_House1
- .4byte MossdeepCity_House2
- .4byte MossdeepCity_PokemonCenter_1F
- .4byte MossdeepCity_PokemonCenter_2F
- .4byte MossdeepCity_Mart
- .4byte MossdeepCity_House3
- .4byte MossdeepCity_StevensHouse
- .4byte MossdeepCity_House4
- .4byte MossdeepCity_SpaceCenter_1F
- .4byte MossdeepCity_SpaceCenter_2F
- .4byte MossdeepCity_GameCorner_1F
- .4byte MossdeepCity_GameCorner_B1F
-
- .align 2
-gMapGroup15:: @ 830825C
- .4byte SootopolisCity_Gym_1F
- .4byte SootopolisCity_Gym_B1F
- .4byte SootopolisCity_PokemonCenter_1F
- .4byte SootopolisCity_PokemonCenter_2F
- .4byte SootopolisCity_Mart
- .4byte SootopolisCity_House1
- .4byte SootopolisCity_House2
- .4byte SootopolisCity_House3
- .4byte SootopolisCity_House4
- .4byte SootopolisCity_House5
- .4byte SootopolisCity_House6
- .4byte SootopolisCity_House7
- .4byte SootopolisCity_House8
-
- .align 2
-gMapGroup16:: @ 8308290
- .4byte EverGrandeCity_SidneysRoom
- .4byte EverGrandeCity_PhoebesRoom
- .4byte EverGrandeCity_GlaciasRoom
- .4byte EverGrandeCity_DrakesRoom
- .4byte EverGrandeCity_ChampionsRoom
- .4byte EverGrandeCity_Corridor1
- .4byte EverGrandeCity_Corridor2
- .4byte EverGrandeCity_Corridor3
- .4byte EverGrandeCity_Corridor4
- .4byte EverGrandeCity_Corridor5
- .4byte EverGrandeCity_PokemonLeague
- .4byte EverGrandeCity_HallOfFame
- .4byte EverGrandeCity_PokemonCenter_1F
- .4byte EverGrandeCity_PokemonCenter_2F
-
- .align 2
-gMapGroup17:: @ 83082C8
- .4byte Route104_MrBrineysHouse
- .4byte Route104_PrettyPetalFlowerShop
-
- .align 2
-gMapGroup18:: @ 83082D0
- .4byte Route111_WinstrateFamilysHouse
- .4byte Route111_OldLadysRestStop
-
- .align 2
-gMapGroup19:: @ 83082D8
- .4byte Route112_CableCarStation
- .4byte MtChimney_CableCarStation
-
- .align 2
-gMapGroup20:: @ 83082E0
- .4byte Route114_FossilManiacsHouse
- .4byte Route114_FossilManiacsTunnel
- .4byte Route114_LanettesHouse
-
- .align 2
-gMapGroup21:: @ 83082EC
- .4byte Route116_TunnelersRestHouse
-
- .align 2
-gMapGroup22:: @ 83082F0
- .4byte Route117_PokemonDayCare
-
- .align 2
-gMapGroup23:: @ 83082F4
- .4byte Route121_SafariZoneEntrance
-
- .align 2
-gMapGroup24:: @ 83082F8
- .4byte MeteorFalls_1F_1R
- .4byte MeteorFalls_1F_2R
- .4byte MeteorFalls_B1F_1R
- .4byte MeteorFalls_B1F_2R
- .4byte RusturfTunnel
- .4byte Underwater_SootopolisCity
- .4byte DesertRuins
- .4byte GraniteCave_1F
- .4byte GraniteCave_B1F
- .4byte GraniteCave_B2F
- .4byte GraniteCave_StevensRoom
- .4byte PetalburgWoods
- .4byte MtChimney
- .4byte JaggedPass
- .4byte FieryPath
- .4byte MtPyre_1F
- .4byte MtPyre_2F
- .4byte MtPyre_3F
- .4byte MtPyre_4F
- .4byte MtPyre_5F
- .4byte MtPyre_6F
- .4byte MtPyre_Exterior
- .4byte MtPyre_Summit
- .4byte AquaHideout_1F
- .4byte AquaHideout_B1F
- .4byte AquaHideout_B2F
- .4byte Underwater_SeafloorCavern
- .4byte SeafloorCavern_Entrance
- .4byte SeafloorCavern_Room1
- .4byte SeafloorCavern_Room2
- .4byte SeafloorCavern_Room3
- .4byte SeafloorCavern_Room4
- .4byte SeafloorCavern_Room5
- .4byte SeafloorCavern_Room6
- .4byte SeafloorCavern_Room7
- .4byte SeafloorCavern_Room8
- .4byte SeafloorCavern_Room9
- .4byte CaveOfOrigin_Entrance
- .4byte CaveOfOrigin_1F
- .4byte CaveOfOrigin_B1F
- .4byte CaveOfOrigin_B2F
- .4byte CaveOfOrigin_B3F
- .4byte CaveOfOrigin_B4F
- .4byte VictoryRoad_1F
- .4byte VictoryRoad_B1F
- .4byte VictoryRoad_B2F
- .4byte ShoalCave_LowTideEntranceRoom
- .4byte ShoalCave_LowTideInnerRoom
- .4byte ShoalCave_LowTideStairsRoom
- .4byte ShoalCave_LowTideLowerRoom
- .4byte ShoalCave_HighTideEntranceRoom
- .4byte ShoalCave_HighTideInnerRoom
- .4byte NewMauville_Entrance
- .4byte NewMauville_Inside
- .4byte AbandonedShip_Deck
- .4byte AbandonedShip_Corridors_1F
- .4byte AbandonedShip_Rooms_1F
- .4byte AbandonedShip_Corridors_B1F
- .4byte AbandonedShip_Rooms_B1F
- .4byte AbandonedShip_Rooms2_B1F
- .4byte AbandonedShip_Underwater1
- .4byte AbandonedShip_Room_B1F
- .4byte AbandonedShip_Rooms2_1F
- .4byte AbandonedShip_CaptainsOffice
- .4byte AbandonedShip_Underwater2
- .4byte AbandonedShip_HiddenFloorCorridors
- .4byte AbandonedShip_HiddenFloorRooms
- .4byte IslandCave
- .4byte AncientTomb
- .4byte Underwater_Route134
- .4byte Underwater_SealedChamber
- .4byte SealedChamber_OuterRoom
- .4byte SealedChamber_InnerRoom
- .4byte ScorchedSlab
- .4byte MagmaHideout_1F
- .4byte MagmaHideout_B1F
- .4byte MagmaHideout_B2F
- .4byte SkyPillar_Entrance
- .4byte SkyPillar_Outside
- .4byte SkyPillar_1F
- .4byte SkyPillar_2F
- .4byte SkyPillar_3F
- .4byte SkyPillar_4F
- .4byte ShoalCave_LowTideIceRoom
- .4byte SkyPillar_5F
- .4byte SkyPillar_Top
-
- .align 2
-gMapGroup25:: @ 8308450
- .4byte SecretBase_RedCave1
- .4byte SecretBase_BrownCave1
- .4byte SecretBase_BlueCave1
- .4byte SecretBase_YellowCave1
- .4byte SecretBase_Tree1
- .4byte SecretBase_Shrub1
- .4byte SecretBase_RedCave2
- .4byte SecretBase_BrownCave2
- .4byte SecretBase_BlueCave2
- .4byte SecretBase_YellowCave2
- .4byte SecretBase_Tree2
- .4byte SecretBase_Shrub2
- .4byte SecretBase_RedCave3
- .4byte SecretBase_BrownCave3
- .4byte SecretBase_BlueCave3
- .4byte SecretBase_YellowCave3
- .4byte SecretBase_Tree3
- .4byte SecretBase_Shrub3
- .4byte SecretBase_RedCave4
- .4byte SecretBase_BrownCave4
- .4byte SecretBase_BlueCave4
- .4byte SecretBase_YellowCave4
- .4byte SecretBase_Tree4
- .4byte SecretBase_Shrub4
- .4byte SingleBattleColosseum
- .4byte TradeCenter
- .4byte RecordCorner
- .4byte DoubleBattleColosseum
- .4byte LinkContestRoom1
- .4byte UnknownMap_25_29
- .4byte UnknownMap_25_30
- .4byte UnknownMap_25_31
- .4byte UnknownMap_25_32
- .4byte UnknownMap_25_33
- .4byte UnknownMap_25_34
- .4byte LinkContestRoom2
- .4byte LinkContestRoom3
- .4byte LinkContestRoom4
- .4byte LinkContestRoom5
- .4byte LinkContestRoom6
- .4byte InsideOfTruck
- .4byte SSTidalCorridor
- .4byte SSTidalLowerDeck
- .4byte SSTidalRooms
-
- .align 2
-gMapGroup26:: @ 8308500
- .4byte SafariZone_Northwest
- .4byte SafariZone_Northeast
- .4byte SafariZone_Southwest
- .4byte SafariZone_Southeast
- .4byte BattleTower_Outside
- .4byte BattleTower_Lobby
- .4byte BattleTower_Elevator
- .4byte BattleTower_Corridor
- .4byte BattleTower_BattleRoom
- .4byte SouthernIsland_Exterior
- .4byte SouthernIsland_Interior
- .4byte SafariZone_RestHouse
-
- .align 2
-gMapGroup27:: @ 8308530
- .4byte Route104_Prototype
- .4byte Route104_PrototypePrettyPetalFlowerShop
-
- .align 2
-gMapGroup28:: @ 8308538
- .4byte Route109_SeashoreHouse
-
- .align 2
-gMapGroup29:: @ 830853C
- .4byte Route110_TrickHouseEntrance
- .4byte Route110_TrickHouseEnd
- .4byte Route110_TrickHouseCorridor
- .4byte Route110_TrickHousePuzzle1
- .4byte Route110_TrickHousePuzzle2
- .4byte Route110_TrickHousePuzzle3
- .4byte Route110_TrickHousePuzzle4
- .4byte Route110_TrickHousePuzzle5
- .4byte Route110_TrickHousePuzzle6
- .4byte Route110_TrickHousePuzzle7
- .4byte Route110_TrickHousePuzzle8
- .4byte Route110_SeasideCyclingRoadSouthEntrance
- .4byte Route110_SeasideCyclingRoadNorthEntrance
-
- .align 2
-gMapGroup30:: @ 8308570
- .4byte Route113_GlassWorkshop
-
- .align 2
-gMapGroup31:: @ 8308574
- .4byte Route123_BerryMastersHouse
-
- .align 2
-gMapGroup32:: @ 8308578
- .4byte Route119_WeatherInstitute_1F
- .4byte Route119_WeatherInstitute_2F
- .4byte Route119_House
-
- .align 2
-gMapGroup33:: @ 8308584
- .4byte Route124_DivingTreasureHuntersHouse
-
- .align 2
-gMapGroups:: @ 8308588
- .4byte gMapGroup0
- .4byte gMapGroup1
- .4byte gMapGroup2
- .4byte gMapGroup3
- .4byte gMapGroup4
- .4byte gMapGroup5
- .4byte gMapGroup6
- .4byte gMapGroup7
- .4byte gMapGroup8
- .4byte gMapGroup9
- .4byte gMapGroup10
- .4byte gMapGroup11
- .4byte gMapGroup12
- .4byte gMapGroup13
- .4byte gMapGroup14
- .4byte gMapGroup15
- .4byte gMapGroup16
- .4byte gMapGroup17
- .4byte gMapGroup18
- .4byte gMapGroup19
- .4byte gMapGroup20
- .4byte gMapGroup21
- .4byte gMapGroup22
- .4byte gMapGroup23
- .4byte gMapGroup24
- .4byte gMapGroup25
- .4byte gMapGroup26
- .4byte gMapGroup27
- .4byte gMapGroup28
- .4byte gMapGroup29
- .4byte gMapGroup30
- .4byte gMapGroup31
- .4byte gMapGroup32
- .4byte gMapGroup33
diff --git a/data/maps/headers.inc b/data/maps/headers.inc
deleted file mode 100644
index 1dce8aba3..000000000
--- a/data/maps/headers.inc
+++ /dev/null
@@ -1,394 +0,0 @@
- .include "data/maps/PetalburgCity/header.inc"
- .include "data/maps/SlateportCity/header.inc"
- .include "data/maps/MauvilleCity/header.inc"
- .include "data/maps/RustboroCity/header.inc"
- .include "data/maps/FortreeCity/header.inc"
- .include "data/maps/LilycoveCity/header.inc"
- .include "data/maps/MossdeepCity/header.inc"
- .include "data/maps/SootopolisCity/header.inc"
- .include "data/maps/EverGrandeCity/header.inc"
- .include "data/maps/LittlerootTown/header.inc"
- .include "data/maps/OldaleTown/header.inc"
- .include "data/maps/DewfordTown/header.inc"
- .include "data/maps/LavaridgeTown/header.inc"
- .include "data/maps/FallarborTown/header.inc"
- .include "data/maps/VerdanturfTown/header.inc"
- .include "data/maps/PacifidlogTown/header.inc"
- .include "data/maps/Route101/header.inc"
- .include "data/maps/Route102/header.inc"
- .include "data/maps/Route103/header.inc"
- .include "data/maps/Route104/header.inc"
- .include "data/maps/Route105/header.inc"
- .include "data/maps/Route106/header.inc"
- .include "data/maps/Route107/header.inc"
- .include "data/maps/Route108/header.inc"
- .include "data/maps/Route109/header.inc"
- .include "data/maps/Route110/header.inc"
- .include "data/maps/Route111/header.inc"
- .include "data/maps/Route112/header.inc"
- .include "data/maps/Route113/header.inc"
- .include "data/maps/Route114/header.inc"
- .include "data/maps/Route115/header.inc"
- .include "data/maps/Route116/header.inc"
- .include "data/maps/Route117/header.inc"
- .include "data/maps/Route118/header.inc"
- .include "data/maps/Route119/header.inc"
- .include "data/maps/Route120/header.inc"
- .include "data/maps/Route121/header.inc"
- .include "data/maps/Route122/header.inc"
- .include "data/maps/Route123/header.inc"
- .include "data/maps/Route124/header.inc"
- .include "data/maps/Route125/header.inc"
- .include "data/maps/Route126/header.inc"
- .include "data/maps/Route127/header.inc"
- .include "data/maps/Route128/header.inc"
- .include "data/maps/Route129/header.inc"
- .include "data/maps/Route130/header.inc"
- .include "data/maps/Route131/header.inc"
- .include "data/maps/Route132/header.inc"
- .include "data/maps/Route133/header.inc"
- .include "data/maps/Route134/header.inc"
- .include "data/maps/Underwater1/header.inc"
- .include "data/maps/Underwater2/header.inc"
- .include "data/maps/Underwater3/header.inc"
- .include "data/maps/Underwater4/header.inc"
- .include "data/maps/LittlerootTown_BrendansHouse_1F/header.inc"
- .include "data/maps/LittlerootTown_BrendansHouse_2F/header.inc"
- .include "data/maps/LittlerootTown_MaysHouse_1F/header.inc"
- .include "data/maps/LittlerootTown_MaysHouse_2F/header.inc"
- .include "data/maps/LittlerootTown_ProfessorBirchsLab/header.inc"
- .include "data/maps/OldaleTown_House1/header.inc"
- .include "data/maps/OldaleTown_House2/header.inc"
- .include "data/maps/OldaleTown_PokemonCenter_1F/header.inc"
- .include "data/maps/OldaleTown_PokemonCenter_2F/header.inc"
- .include "data/maps/OldaleTown_Mart/header.inc"
- .include "data/maps/DewfordTown_House1/header.inc"
- .include "data/maps/DewfordTown_PokemonCenter_1F/header.inc"
- .include "data/maps/DewfordTown_PokemonCenter_2F/header.inc"
- .include "data/maps/DewfordTown_Gym/header.inc"
- .include "data/maps/DewfordTown_Hall/header.inc"
- .include "data/maps/DewfordTown_House2/header.inc"
- .include "data/maps/LavaridgeTown_HerbShop/header.inc"
- .include "data/maps/LavaridgeTown_Gym_1F/header.inc"
- .include "data/maps/LavaridgeTown_Gym_B1F/header.inc"
- .include "data/maps/LavaridgeTown_House/header.inc"
- .include "data/maps/LavaridgeTown_Mart/header.inc"
- .include "data/maps/LavaridgeTown_PokemonCenter_1F/header.inc"
- .include "data/maps/LavaridgeTown_PokemonCenter_2F/header.inc"
- .include "data/maps/FallarborTown_Mart/header.inc"
- .include "data/maps/FallarborTown_ContestLobby/header.inc"
- .include "data/maps/FallarborTown_ContestHall/header.inc"
- .include "data/maps/FallarborTown_PokemonCenter_1F/header.inc"
- .include "data/maps/FallarborTown_PokemonCenter_2F/header.inc"
- .include "data/maps/FallarborTown_House1/header.inc"
- .include "data/maps/FallarborTown_House2/header.inc"
- .include "data/maps/VerdanturfTown_ContestLobby/header.inc"
- .include "data/maps/VerdanturfTown_ContestHall/header.inc"
- .include "data/maps/VerdanturfTown_Mart/header.inc"
- .include "data/maps/VerdanturfTown_PokemonCenter_1F/header.inc"
- .include "data/maps/VerdanturfTown_PokemonCenter_2F/header.inc"
- .include "data/maps/VerdanturfTown_WandasHouse/header.inc"
- .include "data/maps/VerdanturfTown_FriendshipRatersHouse/header.inc"
- .include "data/maps/VerdanturfTown_House/header.inc"
- .include "data/maps/PacifidlogTown_PokemonCenter_1F/header.inc"
- .include "data/maps/PacifidlogTown_PokemonCenter_2F/header.inc"
- .include "data/maps/PacifidlogTown_House1/header.inc"
- .include "data/maps/PacifidlogTown_House2/header.inc"
- .include "data/maps/PacifidlogTown_House3/header.inc"
- .include "data/maps/PacifidlogTown_House4/header.inc"
- .include "data/maps/PacifidlogTown_House5/header.inc"
- .include "data/maps/PetalburgCity_WallysHouse/header.inc"
- .include "data/maps/PetalburgCity_Gym/header.inc"
- .include "data/maps/PetalburgCity_House1/header.inc"
- .include "data/maps/PetalburgCity_House2/header.inc"
- .include "data/maps/PetalburgCity_PokemonCenter_1F/header.inc"
- .include "data/maps/PetalburgCity_PokemonCenter_2F/header.inc"
- .include "data/maps/PetalburgCity_Mart/header.inc"
- .include "data/maps/SlateportCity_SternsShipyard_1F/header.inc"
- .include "data/maps/SlateportCity_SternsShipyard_2F/header.inc"
- .include "data/maps/SlateportCity_ContestLobby/header.inc"
- .include "data/maps/SlateportCity_ContestHall/header.inc"
- .include "data/maps/SlateportCity_House1/header.inc"
- .include "data/maps/SlateportCity_PokemonFanClub/header.inc"
- .include "data/maps/SlateportCity_OceanicMuseum_1F/header.inc"
- .include "data/maps/SlateportCity_OceanicMuseum_2F/header.inc"
- .include "data/maps/SlateportCity_Harbor/header.inc"
- .include "data/maps/SlateportCity_House2/header.inc"
- .include "data/maps/SlateportCity_PokemonCenter_1F/header.inc"
- .include "data/maps/SlateportCity_PokemonCenter_2F/header.inc"
- .include "data/maps/SlateportCity_Mart/header.inc"
- .include "data/maps/MauvilleCity_Gym/header.inc"
- .include "data/maps/MauvilleCity_BikeShop/header.inc"
- .include "data/maps/MauvilleCity_House1/header.inc"
- .include "data/maps/MauvilleCity_GameCorner/header.inc"
- .include "data/maps/MauvilleCity_House2/header.inc"
- .include "data/maps/MauvilleCity_PokemonCenter_1F/header.inc"
- .include "data/maps/MauvilleCity_PokemonCenter_2F/header.inc"
- .include "data/maps/MauvilleCity_Mart/header.inc"
- .include "data/maps/RustboroCity_DevonCorp_1F/header.inc"
- .include "data/maps/RustboroCity_DevonCorp_2F/header.inc"
- .include "data/maps/RustboroCity_DevonCorp_3F/header.inc"
- .include "data/maps/RustboroCity_Gym/header.inc"
- .include "data/maps/RustboroCity_PokemonSchool/header.inc"
- .include "data/maps/RustboroCity_PokemonCenter_1F/header.inc"
- .include "data/maps/RustboroCity_PokemonCenter_2F/header.inc"
- .include "data/maps/RustboroCity_Mart/header.inc"
- .include "data/maps/RustboroCity_Flat1_1F/header.inc"
- .include "data/maps/RustboroCity_Flat1_2F/header.inc"
- .include "data/maps/RustboroCity_House1/header.inc"
- .include "data/maps/RustboroCity_CuttersHouse/header.inc"
- .include "data/maps/RustboroCity_House2/header.inc"
- .include "data/maps/RustboroCity_Flat2_1F/header.inc"
- .include "data/maps/RustboroCity_Flat2_2F/header.inc"
- .include "data/maps/RustboroCity_Flat2_3F/header.inc"
- .include "data/maps/RustboroCity_House3/header.inc"
- .include "data/maps/FortreeCity_House1/header.inc"
- .include "data/maps/FortreeCity_Gym/header.inc"
- .include "data/maps/FortreeCity_PokemonCenter_1F/header.inc"
- .include "data/maps/FortreeCity_PokemonCenter_2F/header.inc"
- .include "data/maps/FortreeCity_Mart/header.inc"
- .include "data/maps/FortreeCity_House2/header.inc"
- .include "data/maps/FortreeCity_House3/header.inc"
- .include "data/maps/FortreeCity_House4/header.inc"
- .include "data/maps/FortreeCity_House5/header.inc"
- .include "data/maps/FortreeCity_DecorationShop/header.inc"
- .include "data/maps/LilycoveCity_CoveLilyMotel_1F/header.inc"
- .include "data/maps/LilycoveCity_CoveLilyMotel_2F/header.inc"
- .include "data/maps/LilycoveCity_LilycoveMuseum_1F/header.inc"
- .include "data/maps/LilycoveCity_LilycoveMuseum_2F/header.inc"
- .include "data/maps/LilycoveCity_ContestLobby/header.inc"
- .include "data/maps/LilycoveCity_ContestHall/header.inc"
- .include "data/maps/LilycoveCity_PokemonCenter_1F/header.inc"
- .include "data/maps/LilycoveCity_PokemonCenter_2F/header.inc"
- .include "data/maps/LilycoveCity_UnusedMart/header.inc"
- .include "data/maps/LilycoveCity_PokemonTrainerFanClub/header.inc"
- .include "data/maps/LilycoveCity_Harbor/header.inc"
- .include "data/maps/LilycoveCity_EmptyMap/header.inc"
- .include "data/maps/LilycoveCity_MoveDeletersHouse/header.inc"
- .include "data/maps/LilycoveCity_House1/header.inc"
- .include "data/maps/LilycoveCity_House2/header.inc"
- .include "data/maps/LilycoveCity_House3/header.inc"
- .include "data/maps/LilycoveCity_House4/header.inc"
- .include "data/maps/LilycoveCity_DepartmentStore_1F/header.inc"
- .include "data/maps/LilycoveCity_DepartmentStore_2F/header.inc"
- .include "data/maps/LilycoveCity_DepartmentStore_3F/header.inc"
- .include "data/maps/LilycoveCity_DepartmentStore_4F/header.inc"
- .include "data/maps/LilycoveCity_DepartmentStore_5F/header.inc"
- .include "data/maps/LilycoveCity_DepartmentStoreRooftop/header.inc"
- .include "data/maps/LilycoveCity_DepartmentStoreElevator/header.inc"
- .include "data/maps/MossdeepCity_Gym/header.inc"
- .include "data/maps/MossdeepCity_House1/header.inc"
- .include "data/maps/MossdeepCity_House2/header.inc"
- .include "data/maps/MossdeepCity_PokemonCenter_1F/header.inc"
- .include "data/maps/MossdeepCity_PokemonCenter_2F/header.inc"
- .include "data/maps/MossdeepCity_Mart/header.inc"
- .include "data/maps/MossdeepCity_House3/header.inc"
- .include "data/maps/MossdeepCity_StevensHouse/header.inc"
- .include "data/maps/MossdeepCity_House4/header.inc"
- .include "data/maps/MossdeepCity_SpaceCenter_1F/header.inc"
- .include "data/maps/MossdeepCity_SpaceCenter_2F/header.inc"
- .include "data/maps/MossdeepCity_GameCorner_1F/header.inc"
- .include "data/maps/MossdeepCity_GameCorner_B1F/header.inc"
- .include "data/maps/SootopolisCity_Gym_1F/header.inc"
- .include "data/maps/SootopolisCity_Gym_B1F/header.inc"
- .include "data/maps/SootopolisCity_PokemonCenter_1F/header.inc"
- .include "data/maps/SootopolisCity_PokemonCenter_2F/header.inc"
- .include "data/maps/SootopolisCity_Mart/header.inc"
- .include "data/maps/SootopolisCity_House1/header.inc"
- .include "data/maps/SootopolisCity_House2/header.inc"
- .include "data/maps/SootopolisCity_House3/header.inc"
- .include "data/maps/SootopolisCity_House4/header.inc"
- .include "data/maps/SootopolisCity_House5/header.inc"
- .include "data/maps/SootopolisCity_House6/header.inc"
- .include "data/maps/SootopolisCity_House7/header.inc"
- .include "data/maps/SootopolisCity_House8/header.inc"
- .include "data/maps/EverGrandeCity_SidneysRoom/header.inc"
- .include "data/maps/EverGrandeCity_PhoebesRoom/header.inc"
- .include "data/maps/EverGrandeCity_GlaciasRoom/header.inc"
- .include "data/maps/EverGrandeCity_DrakesRoom/header.inc"
- .include "data/maps/EverGrandeCity_ChampionsRoom/header.inc"
- .include "data/maps/EverGrandeCity_Corridor1/header.inc"
- .include "data/maps/EverGrandeCity_Corridor2/header.inc"
- .include "data/maps/EverGrandeCity_Corridor3/header.inc"
- .include "data/maps/EverGrandeCity_Corridor4/header.inc"
- .include "data/maps/EverGrandeCity_Corridor5/header.inc"
- .include "data/maps/EverGrandeCity_PokemonLeague/header.inc"
- .include "data/maps/EverGrandeCity_HallOfFame/header.inc"
- .include "data/maps/EverGrandeCity_PokemonCenter_1F/header.inc"
- .include "data/maps/EverGrandeCity_PokemonCenter_2F/header.inc"
- .include "data/maps/Route104_MrBrineysHouse/header.inc"
- .include "data/maps/Route104_PrettyPetalFlowerShop/header.inc"
- .include "data/maps/Route111_WinstrateFamilysHouse/header.inc"
- .include "data/maps/Route111_OldLadysRestStop/header.inc"
- .include "data/maps/Route112_CableCarStation/header.inc"
- .include "data/maps/MtChimney_CableCarStation/header.inc"
- .include "data/maps/Route114_FossilManiacsHouse/header.inc"
- .include "data/maps/Route114_FossilManiacsTunnel/header.inc"
- .include "data/maps/Route114_LanettesHouse/header.inc"
- .include "data/maps/Route116_TunnelersRestHouse/header.inc"
- .include "data/maps/Route117_PokemonDayCare/header.inc"
- .include "data/maps/Route121_SafariZoneEntrance/header.inc"
- .include "data/maps/MeteorFalls_1F_1R/header.inc"
- .include "data/maps/MeteorFalls_1F_2R/header.inc"
- .include "data/maps/MeteorFalls_B1F_1R/header.inc"
- .include "data/maps/MeteorFalls_B1F_2R/header.inc"
- .include "data/maps/RusturfTunnel/header.inc"
- .include "data/maps/Underwater_SootopolisCity/header.inc"
- .include "data/maps/DesertRuins/header.inc"
- .include "data/maps/GraniteCave_1F/header.inc"
- .include "data/maps/GraniteCave_B1F/header.inc"
- .include "data/maps/GraniteCave_B2F/header.inc"
- .include "data/maps/GraniteCave_StevensRoom/header.inc"
- .include "data/maps/PetalburgWoods/header.inc"
- .include "data/maps/MtChimney/header.inc"
- .include "data/maps/JaggedPass/header.inc"
- .include "data/maps/FieryPath/header.inc"
- .include "data/maps/MtPyre_1F/header.inc"
- .include "data/maps/MtPyre_2F/header.inc"
- .include "data/maps/MtPyre_3F/header.inc"
- .include "data/maps/MtPyre_4F/header.inc"
- .include "data/maps/MtPyre_5F/header.inc"
- .include "data/maps/MtPyre_6F/header.inc"
- .include "data/maps/MtPyre_Exterior/header.inc"
- .include "data/maps/MtPyre_Summit/header.inc"
- .include "data/maps/AquaHideout_1F/header.inc"
- .include "data/maps/AquaHideout_B1F/header.inc"
- .include "data/maps/AquaHideout_B2F/header.inc"
- .include "data/maps/Underwater_SeafloorCavern/header.inc"
- .include "data/maps/SeafloorCavern_Entrance/header.inc"
- .include "data/maps/SeafloorCavern_Room1/header.inc"
- .include "data/maps/SeafloorCavern_Room2/header.inc"
- .include "data/maps/SeafloorCavern_Room3/header.inc"
- .include "data/maps/SeafloorCavern_Room4/header.inc"
- .include "data/maps/SeafloorCavern_Room5/header.inc"
- .include "data/maps/SeafloorCavern_Room6/header.inc"
- .include "data/maps/SeafloorCavern_Room7/header.inc"
- .include "data/maps/SeafloorCavern_Room8/header.inc"
- .include "data/maps/SeafloorCavern_Room9/header.inc"
- .include "data/maps/CaveOfOrigin_Entrance/header.inc"
- .include "data/maps/CaveOfOrigin_1F/header.inc"
- .include "data/maps/CaveOfOrigin_B1F/header.inc"
- .include "data/maps/CaveOfOrigin_B2F/header.inc"
- .include "data/maps/CaveOfOrigin_B3F/header.inc"
- .include "data/maps/CaveOfOrigin_B4F/header.inc"
- .include "data/maps/VictoryRoad_1F/header.inc"
- .include "data/maps/VictoryRoad_B1F/header.inc"
- .include "data/maps/VictoryRoad_B2F/header.inc"
- .include "data/maps/ShoalCave_LowTideEntranceRoom/header.inc"
- .include "data/maps/ShoalCave_LowTideInnerRoom/header.inc"
- .include "data/maps/ShoalCave_LowTideStairsRoom/header.inc"
- .include "data/maps/ShoalCave_LowTideLowerRoom/header.inc"
- .include "data/maps/ShoalCave_HighTideEntranceRoom/header.inc"
- .include "data/maps/ShoalCave_HighTideInnerRoom/header.inc"
- .include "data/maps/NewMauville_Entrance/header.inc"
- .include "data/maps/NewMauville_Inside/header.inc"
- .include "data/maps/AbandonedShip_Deck/header.inc"
- .include "data/maps/AbandonedShip_Corridors_1F/header.inc"
- .include "data/maps/AbandonedShip_Rooms_1F/header.inc"
- .include "data/maps/AbandonedShip_Corridors_B1F/header.inc"
- .include "data/maps/AbandonedShip_Rooms_B1F/header.inc"
- .include "data/maps/AbandonedShip_Rooms2_B1F/header.inc"
- .include "data/maps/AbandonedShip_Underwater1/header.inc"
- .include "data/maps/AbandonedShip_Room_B1F/header.inc"
- .include "data/maps/AbandonedShip_Rooms2_1F/header.inc"
- .include "data/maps/AbandonedShip_CaptainsOffice/header.inc"
- .include "data/maps/AbandonedShip_Underwater2/header.inc"
- .include "data/maps/AbandonedShip_HiddenFloorCorridors/header.inc"
- .include "data/maps/AbandonedShip_HiddenFloorRooms/header.inc"
- .include "data/maps/IslandCave/header.inc"
- .include "data/maps/AncientTomb/header.inc"
- .include "data/maps/Underwater_Route134/header.inc"
- .include "data/maps/Underwater_SealedChamber/header.inc"
- .include "data/maps/SealedChamber_OuterRoom/header.inc"
- .include "data/maps/SealedChamber_InnerRoom/header.inc"
- .include "data/maps/ScorchedSlab/header.inc"
- .include "data/maps/MagmaHideout_1F/header.inc"
- .include "data/maps/MagmaHideout_B1F/header.inc"
- .include "data/maps/MagmaHideout_B2F/header.inc"
- .include "data/maps/SkyPillar_Entrance/header.inc"
- .include "data/maps/SkyPillar_Outside/header.inc"
- .include "data/maps/SkyPillar_1F/header.inc"
- .include "data/maps/SkyPillar_2F/header.inc"
- .include "data/maps/SkyPillar_3F/header.inc"
- .include "data/maps/SkyPillar_4F/header.inc"
- .include "data/maps/ShoalCave_LowTideIceRoom/header.inc"
- .include "data/maps/SkyPillar_5F/header.inc"
- .include "data/maps/SkyPillar_Top/header.inc"
- .include "data/maps/SecretBase_RedCave1/header.inc"
- .include "data/maps/SecretBase_BrownCave1/header.inc"
- .include "data/maps/SecretBase_BlueCave1/header.inc"
- .include "data/maps/SecretBase_YellowCave1/header.inc"
- .include "data/maps/SecretBase_Tree1/header.inc"
- .include "data/maps/SecretBase_Shrub1/header.inc"
- .include "data/maps/SecretBase_RedCave2/header.inc"
- .include "data/maps/SecretBase_BrownCave2/header.inc"
- .include "data/maps/SecretBase_BlueCave2/header.inc"
- .include "data/maps/SecretBase_YellowCave2/header.inc"
- .include "data/maps/SecretBase_Tree2/header.inc"
- .include "data/maps/SecretBase_Shrub2/header.inc"
- .include "data/maps/SecretBase_RedCave3/header.inc"
- .include "data/maps/SecretBase_BrownCave3/header.inc"
- .include "data/maps/SecretBase_BlueCave3/header.inc"
- .include "data/maps/SecretBase_YellowCave3/header.inc"
- .include "data/maps/SecretBase_Tree3/header.inc"
- .include "data/maps/SecretBase_Shrub3/header.inc"
- .include "data/maps/SecretBase_RedCave4/header.inc"
- .include "data/maps/SecretBase_BrownCave4/header.inc"
- .include "data/maps/SecretBase_BlueCave4/header.inc"
- .include "data/maps/SecretBase_YellowCave4/header.inc"
- .include "data/maps/SecretBase_Tree4/header.inc"
- .include "data/maps/SecretBase_Shrub4/header.inc"
- .include "data/maps/SingleBattleColosseum/header.inc"
- .include "data/maps/TradeCenter/header.inc"
- .include "data/maps/RecordCorner/header.inc"
- .include "data/maps/DoubleBattleColosseum/header.inc"
- .include "data/maps/LinkContestRoom1/header.inc"
- .include "data/maps/UnknownMap_25_29/header.inc"
- .include "data/maps/UnknownMap_25_30/header.inc"
- .include "data/maps/UnknownMap_25_31/header.inc"
- .include "data/maps/UnknownMap_25_32/header.inc"
- .include "data/maps/UnknownMap_25_33/header.inc"
- .include "data/maps/UnknownMap_25_34/header.inc"
- .include "data/maps/LinkContestRoom2/header.inc"
- .include "data/maps/LinkContestRoom3/header.inc"
- .include "data/maps/LinkContestRoom4/header.inc"
- .include "data/maps/LinkContestRoom5/header.inc"
- .include "data/maps/LinkContestRoom6/header.inc"
- .include "data/maps/InsideOfTruck/header.inc"
- .include "data/maps/SSTidalCorridor/header.inc"
- .include "data/maps/SSTidalLowerDeck/header.inc"
- .include "data/maps/SSTidalRooms/header.inc"
- .include "data/maps/SafariZone_Northwest/header.inc"
- .include "data/maps/SafariZone_Northeast/header.inc"
- .include "data/maps/SafariZone_Southwest/header.inc"
- .include "data/maps/SafariZone_Southeast/header.inc"
- .include "data/maps/BattleTower_Outside/header.inc"
- .include "data/maps/BattleTower_Lobby/header.inc"
- .include "data/maps/BattleTower_Elevator/header.inc"
- .include "data/maps/BattleTower_Corridor/header.inc"
- .include "data/maps/BattleTower_BattleRoom/header.inc"
- .include "data/maps/SouthernIsland_Exterior/header.inc"
- .include "data/maps/SouthernIsland_Interior/header.inc"
- .include "data/maps/SafariZone_RestHouse/header.inc"
- .include "data/maps/Route104_Prototype/header.inc"
- .include "data/maps/Route104_PrototypePrettyPetalFlowerShop/header.inc"
- .include "data/maps/Route109_SeashoreHouse/header.inc"
- .include "data/maps/Route110_TrickHouseEntrance/header.inc"
- .include "data/maps/Route110_TrickHouseEnd/header.inc"
- .include "data/maps/Route110_TrickHouseCorridor/header.inc"
- .include "data/maps/Route110_TrickHousePuzzle1/header.inc"
- .include "data/maps/Route110_TrickHousePuzzle2/header.inc"
- .include "data/maps/Route110_TrickHousePuzzle3/header.inc"
- .include "data/maps/Route110_TrickHousePuzzle4/header.inc"
- .include "data/maps/Route110_TrickHousePuzzle5/header.inc"
- .include "data/maps/Route110_TrickHousePuzzle6/header.inc"
- .include "data/maps/Route110_TrickHousePuzzle7/header.inc"
- .include "data/maps/Route110_TrickHousePuzzle8/header.inc"
- .include "data/maps/Route110_SeasideCyclingRoadSouthEntrance/header.inc"
- .include "data/maps/Route110_SeasideCyclingRoadNorthEntrance/header.inc"
- .include "data/maps/Route113_GlassWorkshop/header.inc"
- .include "data/maps/Route123_BerryMastersHouse/header.inc"
- .include "data/maps/Route119_WeatherInstitute_1F/header.inc"
- .include "data/maps/Route119_WeatherInstitute_2F/header.inc"
- .include "data/maps/Route119_House/header.inc"
- .include "data/maps/Route124_DivingTreasureHuntersHouse/header.inc"
diff --git a/data/maps/map_groups.json b/data/maps/map_groups.json
new file mode 100644
index 000000000..e804c8968
--- /dev/null
+++ b/data/maps/map_groups.json
@@ -0,0 +1,560 @@
+{
+ "group_order": [
+ "gMapGroup0",
+ "gMapGroup1",
+ "gMapGroup2",
+ "gMapGroup3",
+ "gMapGroup4",
+ "gMapGroup5",
+ "gMapGroup6",
+ "gMapGroup7",
+ "gMapGroup8",
+ "gMapGroup9",
+ "gMapGroup10",
+ "gMapGroup11",
+ "gMapGroup12",
+ "gMapGroup13",
+ "gMapGroup14",
+ "gMapGroup15",
+ "gMapGroup16",
+ "gMapGroup17",
+ "gMapGroup18",
+ "gMapGroup19",
+ "gMapGroup20",
+ "gMapGroup21",
+ "gMapGroup22",
+ "gMapGroup23",
+ "gMapGroup24",
+ "gMapGroup25",
+ "gMapGroup26",
+ "gMapGroup27",
+ "gMapGroup28",
+ "gMapGroup29",
+ "gMapGroup30",
+ "gMapGroup31",
+ "gMapGroup32",
+ "gMapGroup33"
+ ],
+ "gMapGroup0": [
+ "PetalburgCity",
+ "SlateportCity",
+ "MauvilleCity",
+ "RustboroCity",
+ "FortreeCity",
+ "LilycoveCity",
+ "MossdeepCity",
+ "SootopolisCity",
+ "EverGrandeCity",
+ "LittlerootTown",
+ "OldaleTown",
+ "DewfordTown",
+ "LavaridgeTown",
+ "FallarborTown",
+ "VerdanturfTown",
+ "PacifidlogTown",
+ "Route101",
+ "Route102",
+ "Route103",
+ "Route104",
+ "Route105",
+ "Route106",
+ "Route107",
+ "Route108",
+ "Route109",
+ "Route110",
+ "Route111",
+ "Route112",
+ "Route113",
+ "Route114",
+ "Route115",
+ "Route116",
+ "Route117",
+ "Route118",
+ "Route119",
+ "Route120",
+ "Route121",
+ "Route122",
+ "Route123",
+ "Route124",
+ "Route125",
+ "Route126",
+ "Route127",
+ "Route128",
+ "Route129",
+ "Route130",
+ "Route131",
+ "Route132",
+ "Route133",
+ "Route134",
+ "Underwater1",
+ "Underwater2",
+ "Underwater3",
+ "Underwater4"
+ ],
+ "gMapGroup1": [
+ "LittlerootTown_BrendansHouse_1F",
+ "LittlerootTown_BrendansHouse_2F",
+ "LittlerootTown_MaysHouse_1F",
+ "LittlerootTown_MaysHouse_2F",
+ "LittlerootTown_ProfessorBirchsLab"
+ ],
+ "gMapGroup2": [
+ "OldaleTown_House1",
+ "OldaleTown_House2",
+ "OldaleTown_PokemonCenter_1F",
+ "OldaleTown_PokemonCenter_2F",
+ "OldaleTown_Mart"
+ ],
+ "gMapGroup3": [
+ "DewfordTown_House1",
+ "DewfordTown_PokemonCenter_1F",
+ "DewfordTown_PokemonCenter_2F",
+ "DewfordTown_Gym",
+ "DewfordTown_Hall",
+ "DewfordTown_House2"
+ ],
+ "gMapGroup4": [
+ "LavaridgeTown_HerbShop",
+ "LavaridgeTown_Gym_1F",
+ "LavaridgeTown_Gym_B1F",
+ "LavaridgeTown_House",
+ "LavaridgeTown_Mart",
+ "LavaridgeTown_PokemonCenter_1F",
+ "LavaridgeTown_PokemonCenter_2F"
+ ],
+ "gMapGroup5": [
+ "FallarborTown_Mart",
+ "FallarborTown_ContestLobby",
+ "FallarborTown_ContestHall",
+ "FallarborTown_PokemonCenter_1F",
+ "FallarborTown_PokemonCenter_2F",
+ "FallarborTown_House1",
+ "FallarborTown_House2"
+ ],
+ "gMapGroup6": [
+ "VerdanturfTown_ContestLobby",
+ "VerdanturfTown_ContestHall",
+ "VerdanturfTown_Mart",
+ "VerdanturfTown_PokemonCenter_1F",
+ "VerdanturfTown_PokemonCenter_2F",
+ "VerdanturfTown_WandasHouse",
+ "VerdanturfTown_FriendshipRatersHouse",
+ "VerdanturfTown_House"
+ ],
+ "gMapGroup7": [
+ "PacifidlogTown_PokemonCenter_1F",
+ "PacifidlogTown_PokemonCenter_2F",
+ "PacifidlogTown_House1",
+ "PacifidlogTown_House2",
+ "PacifidlogTown_House3",
+ "PacifidlogTown_House4",
+ "PacifidlogTown_House5"
+ ],
+ "gMapGroup8": [
+ "PetalburgCity_WallysHouse",
+ "PetalburgCity_Gym",
+ "PetalburgCity_House1",
+ "PetalburgCity_House2",
+ "PetalburgCity_PokemonCenter_1F",
+ "PetalburgCity_PokemonCenter_2F",
+ "PetalburgCity_Mart"
+ ],
+ "gMapGroup9": [
+ "SlateportCity_SternsShipyard_1F",
+ "SlateportCity_SternsShipyard_2F",
+ "SlateportCity_ContestLobby",
+ "SlateportCity_ContestHall",
+ "SlateportCity_House1",
+ "SlateportCity_PokemonFanClub",
+ "SlateportCity_OceanicMuseum_1F",
+ "SlateportCity_OceanicMuseum_2F",
+ "SlateportCity_Harbor",
+ "SlateportCity_House2",
+ "SlateportCity_PokemonCenter_1F",
+ "SlateportCity_PokemonCenter_2F",
+ "SlateportCity_Mart"
+ ],
+ "gMapGroup10": [
+ "MauvilleCity_Gym",
+ "MauvilleCity_BikeShop",
+ "MauvilleCity_House1",
+ "MauvilleCity_GameCorner",
+ "MauvilleCity_House2",
+ "MauvilleCity_PokemonCenter_1F",
+ "MauvilleCity_PokemonCenter_2F",
+ "MauvilleCity_Mart"
+ ],
+ "gMapGroup11": [
+ "RustboroCity_DevonCorp_1F",
+ "RustboroCity_DevonCorp_2F",
+ "RustboroCity_DevonCorp_3F",
+ "RustboroCity_Gym",
+ "RustboroCity_PokemonSchool",
+ "RustboroCity_PokemonCenter_1F",
+ "RustboroCity_PokemonCenter_2F",
+ "RustboroCity_Mart",
+ "RustboroCity_Flat1_1F",
+ "RustboroCity_Flat1_2F",
+ "RustboroCity_House1",
+ "RustboroCity_CuttersHouse",
+ "RustboroCity_House2",
+ "RustboroCity_Flat2_1F",
+ "RustboroCity_Flat2_2F",
+ "RustboroCity_Flat2_3F",
+ "RustboroCity_House3"
+ ],
+ "gMapGroup12": [
+ "FortreeCity_House1",
+ "FortreeCity_Gym",
+ "FortreeCity_PokemonCenter_1F",
+ "FortreeCity_PokemonCenter_2F",
+ "FortreeCity_Mart",
+ "FortreeCity_House2",
+ "FortreeCity_House3",
+ "FortreeCity_House4",
+ "FortreeCity_House5",
+ "FortreeCity_DecorationShop"
+ ],
+ "gMapGroup13": [
+ "LilycoveCity_CoveLilyMotel_1F",
+ "LilycoveCity_CoveLilyMotel_2F",
+ "LilycoveCity_LilycoveMuseum_1F",
+ "LilycoveCity_LilycoveMuseum_2F",
+ "LilycoveCity_ContestLobby",
+ "LilycoveCity_ContestHall",
+ "LilycoveCity_PokemonCenter_1F",
+ "LilycoveCity_PokemonCenter_2F",
+ "LilycoveCity_UnusedMart",
+ "LilycoveCity_PokemonTrainerFanClub",
+ "LilycoveCity_Harbor",
+ "LilycoveCity_EmptyMap",
+ "LilycoveCity_MoveDeletersHouse",
+ "LilycoveCity_House1",
+ "LilycoveCity_House2",
+ "LilycoveCity_House3",
+ "LilycoveCity_House4",
+ "LilycoveCity_DepartmentStore_1F",
+ "LilycoveCity_DepartmentStore_2F",
+ "LilycoveCity_DepartmentStore_3F",
+ "LilycoveCity_DepartmentStore_4F",
+ "LilycoveCity_DepartmentStore_5F",
+ "LilycoveCity_DepartmentStoreRooftop",
+ "LilycoveCity_DepartmentStoreElevator"
+ ],
+ "gMapGroup14": [
+ "MossdeepCity_Gym",
+ "MossdeepCity_House1",
+ "MossdeepCity_House2",
+ "MossdeepCity_PokemonCenter_1F",
+ "MossdeepCity_PokemonCenter_2F",
+ "MossdeepCity_Mart",
+ "MossdeepCity_House3",
+ "MossdeepCity_StevensHouse",
+ "MossdeepCity_House4",
+ "MossdeepCity_SpaceCenter_1F",
+ "MossdeepCity_SpaceCenter_2F",
+ "MossdeepCity_GameCorner_1F",
+ "MossdeepCity_GameCorner_B1F"
+ ],
+ "gMapGroup15": [
+ "SootopolisCity_Gym_1F",
+ "SootopolisCity_Gym_B1F",
+ "SootopolisCity_PokemonCenter_1F",
+ "SootopolisCity_PokemonCenter_2F",
+ "SootopolisCity_Mart",
+ "SootopolisCity_House1",
+ "SootopolisCity_House2",
+ "SootopolisCity_House3",
+ "SootopolisCity_House4",
+ "SootopolisCity_House5",
+ "SootopolisCity_House6",
+ "SootopolisCity_House7",
+ "SootopolisCity_House8"
+ ],
+ "gMapGroup16": [
+ "EverGrandeCity_SidneysRoom",
+ "EverGrandeCity_PhoebesRoom",
+ "EverGrandeCity_GlaciasRoom",
+ "EverGrandeCity_DrakesRoom",
+ "EverGrandeCity_ChampionsRoom",
+ "EverGrandeCity_Corridor1",
+ "EverGrandeCity_Corridor2",
+ "EverGrandeCity_Corridor3",
+ "EverGrandeCity_Corridor4",
+ "EverGrandeCity_Corridor5",
+ "EverGrandeCity_PokemonLeague",
+ "EverGrandeCity_HallOfFame",
+ "EverGrandeCity_PokemonCenter_1F",
+ "EverGrandeCity_PokemonCenter_2F"
+ ],
+ "gMapGroup17": [
+ "Route104_MrBrineysHouse",
+ "Route104_PrettyPetalFlowerShop"
+ ],
+ "gMapGroup18": [
+ "Route111_WinstrateFamilysHouse",
+ "Route111_OldLadysRestStop"
+ ],
+ "gMapGroup19": [
+ "Route112_CableCarStation",
+ "MtChimney_CableCarStation"
+ ],
+ "gMapGroup20": [
+ "Route114_FossilManiacsHouse",
+ "Route114_FossilManiacsTunnel",
+ "Route114_LanettesHouse"
+ ],
+ "gMapGroup21": [
+ "Route116_TunnelersRestHouse"
+ ],
+ "gMapGroup22": [
+ "Route117_PokemonDayCare"
+ ],
+ "gMapGroup23": [
+ "Route121_SafariZoneEntrance"
+ ],
+ "gMapGroup24": [
+ "MeteorFalls_1F_1R",
+ "MeteorFalls_1F_2R",
+ "MeteorFalls_B1F_1R",
+ "MeteorFalls_B1F_2R",
+ "RusturfTunnel",
+ "Underwater_SootopolisCity",
+ "DesertRuins",
+ "GraniteCave_1F",
+ "GraniteCave_B1F",
+ "GraniteCave_B2F",
+ "GraniteCave_StevensRoom",
+ "PetalburgWoods",
+ "MtChimney",
+ "JaggedPass",
+ "FieryPath",
+ "MtPyre_1F",
+ "MtPyre_2F",
+ "MtPyre_3F",
+ "MtPyre_4F",
+ "MtPyre_5F",
+ "MtPyre_6F",
+ "MtPyre_Exterior",
+ "MtPyre_Summit",
+ "AquaHideout_1F",
+ "AquaHideout_B1F",
+ "AquaHideout_B2F",
+ "Underwater_SeafloorCavern",
+ "SeafloorCavern_Entrance",
+ "SeafloorCavern_Room1",
+ "SeafloorCavern_Room2",
+ "SeafloorCavern_Room3",
+ "SeafloorCavern_Room4",
+ "SeafloorCavern_Room5",
+ "SeafloorCavern_Room6",
+ "SeafloorCavern_Room7",
+ "SeafloorCavern_Room8",
+ "SeafloorCavern_Room9",
+ "CaveOfOrigin_Entrance",
+ "CaveOfOrigin_1F",
+ "CaveOfOrigin_B1F",
+ "CaveOfOrigin_B2F",
+ "CaveOfOrigin_B3F",
+ "CaveOfOrigin_B4F",
+ "VictoryRoad_1F",
+ "VictoryRoad_B1F",
+ "VictoryRoad_B2F",
+ "ShoalCave_LowTideEntranceRoom",
+ "ShoalCave_LowTideInnerRoom",
+ "ShoalCave_LowTideStairsRoom",
+ "ShoalCave_LowTideLowerRoom",
+ "ShoalCave_HighTideEntranceRoom",
+ "ShoalCave_HighTideInnerRoom",
+ "NewMauville_Entrance",
+ "NewMauville_Inside",
+ "AbandonedShip_Deck",
+ "AbandonedShip_Corridors_1F",
+ "AbandonedShip_Rooms_1F",
+ "AbandonedShip_Corridors_B1F",
+ "AbandonedShip_Rooms_B1F",
+ "AbandonedShip_Rooms2_B1F",
+ "AbandonedShip_Underwater1",
+ "AbandonedShip_Room_B1F",
+ "AbandonedShip_Rooms2_1F",
+ "AbandonedShip_CaptainsOffice",
+ "AbandonedShip_Underwater2",
+ "AbandonedShip_HiddenFloorCorridors",
+ "AbandonedShip_HiddenFloorRooms",
+ "IslandCave",
+ "AncientTomb",
+ "Underwater_Route134",
+ "Underwater_SealedChamber",
+ "SealedChamber_OuterRoom",
+ "SealedChamber_InnerRoom",
+ "ScorchedSlab",
+ "MagmaHideout_1F",
+ "MagmaHideout_B1F",
+ "MagmaHideout_B2F",
+ "SkyPillar_Entrance",
+ "SkyPillar_Outside",
+ "SkyPillar_1F",
+ "SkyPillar_2F",
+ "SkyPillar_3F",
+ "SkyPillar_4F",
+ "ShoalCave_LowTideIceRoom",
+ "SkyPillar_5F",
+ "SkyPillar_Top"
+ ],
+ "gMapGroup25": [
+ "SecretBase_RedCave1",
+ "SecretBase_BrownCave1",
+ "SecretBase_BlueCave1",
+ "SecretBase_YellowCave1",
+ "SecretBase_Tree1",
+ "SecretBase_Shrub1",
+ "SecretBase_RedCave2",
+ "SecretBase_BrownCave2",
+ "SecretBase_BlueCave2",
+ "SecretBase_YellowCave2",
+ "SecretBase_Tree2",
+ "SecretBase_Shrub2",
+ "SecretBase_RedCave3",
+ "SecretBase_BrownCave3",
+ "SecretBase_BlueCave3",
+ "SecretBase_YellowCave3",
+ "SecretBase_Tree3",
+ "SecretBase_Shrub3",
+ "SecretBase_RedCave4",
+ "SecretBase_BrownCave4",
+ "SecretBase_BlueCave4",
+ "SecretBase_YellowCave4",
+ "SecretBase_Tree4",
+ "SecretBase_Shrub4",
+ "SingleBattleColosseum",
+ "TradeCenter",
+ "RecordCorner",
+ "DoubleBattleColosseum",
+ "LinkContestRoom1",
+ "UnknownMap_25_29",
+ "UnknownMap_25_30",
+ "UnknownMap_25_31",
+ "UnknownMap_25_32",
+ "UnknownMap_25_33",
+ "UnknownMap_25_34",
+ "LinkContestRoom2",
+ "LinkContestRoom3",
+ "LinkContestRoom4",
+ "LinkContestRoom5",
+ "LinkContestRoom6",
+ "InsideOfTruck",
+ "SSTidalCorridor",
+ "SSTidalLowerDeck",
+ "SSTidalRooms"
+ ],
+ "gMapGroup26": [
+ "SafariZone_Northwest",
+ "SafariZone_Northeast",
+ "SafariZone_Southwest",
+ "SafariZone_Southeast",
+ "BattleTower_Outside",
+ "BattleTower_Lobby",
+ "BattleTower_Elevator",
+ "BattleTower_Corridor",
+ "BattleTower_BattleRoom",
+ "SouthernIsland_Exterior",
+ "SouthernIsland_Interior",
+ "SafariZone_RestHouse"
+ ],
+ "gMapGroup27": [
+ "Route104_Prototype",
+ "Route104_PrototypePrettyPetalFlowerShop"
+ ],
+ "gMapGroup28": [
+ "Route109_SeashoreHouse"
+ ],
+ "gMapGroup29": [
+ "Route110_TrickHouseEntrance",
+ "Route110_TrickHouseEnd",
+ "Route110_TrickHouseCorridor",
+ "Route110_TrickHousePuzzle1",
+ "Route110_TrickHousePuzzle2",
+ "Route110_TrickHousePuzzle3",
+ "Route110_TrickHousePuzzle4",
+ "Route110_TrickHousePuzzle5",
+ "Route110_TrickHousePuzzle6",
+ "Route110_TrickHousePuzzle7",
+ "Route110_TrickHousePuzzle8",
+ "Route110_SeasideCyclingRoadSouthEntrance",
+ "Route110_SeasideCyclingRoadNorthEntrance"
+ ],
+ "gMapGroup30": [
+ "Route113_GlassWorkshop"
+ ],
+ "gMapGroup31": [
+ "Route123_BerryMastersHouse"
+ ],
+ "gMapGroup32": [
+ "Route119_WeatherInstitute_1F",
+ "Route119_WeatherInstitute_2F",
+ "Route119_House"
+ ],
+ "gMapGroup33": [
+ "Route124_DivingTreasureHuntersHouse"
+ ],
+ "connections_include_order": [
+ "LittlerootTown",
+ "OldaleTown",
+ "DewfordTown",
+ "LavaridgeTown",
+ "FallarborTown",
+ "VerdanturfTown",
+ "PacifidlogTown",
+ "PetalburgCity",
+ "SlateportCity",
+ "MauvilleCity",
+ "RustboroCity",
+ "FortreeCity",
+ "LilycoveCity",
+ "MossdeepCity",
+ "SootopolisCity",
+ "EverGrandeCity",
+ "Route101",
+ "Route102",
+ "Route103",
+ "Route104",
+ "Route105",
+ "Route106",
+ "Route107",
+ "Route108",
+ "Route109",
+ "Route110",
+ "Route111",
+ "Route112",
+ "Route113",
+ "Route114",
+ "Route115",
+ "Route116",
+ "Route117",
+ "Route118",
+ "Route119",
+ "Route120",
+ "Route121",
+ "Route122",
+ "Route123",
+ "Route124",
+ "Route125",
+ "Route126",
+ "Route127",
+ "Route128",
+ "Route129",
+ "Route130",
+ "Route131",
+ "Route132",
+ "Route133",
+ "Route134",
+ "Underwater1",
+ "Underwater2",
+ "Underwater3",
+ "Underwater4",
+ "SafariZone_Northwest",
+ "SafariZone_Northeast",
+ "SafariZone_Southwest",
+ "SafariZone_Southeast"
+ ]
+} \ No newline at end of file
diff --git a/data/pokenav.s b/data/pokenav.s
index 485568157..15c5ee534 100644
--- a/data/pokenav.s
+++ b/data/pokenav.s
@@ -4,10 +4,6 @@
.section .rodata
.align 2
-gUnknown_083DFEC4:: @ 83DFEC4
- .4byte gSharedMem
-
- .align 2
gUnknown_083DFEC8:: @ 83DFEC8
.4byte gTileBuffer
@@ -1148,19 +1144,3 @@ gUnknown_083E499C:: @ 83E499C
.2byte 0x4C
.2byte 0x4D
.2byte 0x4E
-
- .align 2
-gUnknown_083E49C0:: @ 83E49C0
- .2byte 0x109, 0xA
- .2byte 0x10A, 0x2
- .2byte 0x10B, 0x9
- .2byte 0x10C, 0x3
- .2byte 0x10D, 0x7
- .2byte 0x10E, 0xB
- .2byte 0x10F, 0xD
- .2byte 0x110, 0xE
- .2byte 0x105, 0xF
- .2byte 0x106, 0xF
- .2byte 0x107, 0xF
- .2byte 0x108, 0xF
- .2byte 0x14F, 0xF
diff --git a/data/scripts/magma_chimney.inc b/data/scripts/magma_chimney.inc
index daa8c96db..5f70c1295 100644
--- a/data/scripts/magma_chimney.inc
+++ b/data/scripts/magma_chimney.inc
@@ -82,7 +82,7 @@ MtChimney_EventScript_1B2CCB:: @ 81B2CCB
compare FACING, 2
call_if_eq MtChimney_EventScript_1B2D9E
removeobject 1
- setflag FLAG_HIDE_OTEHR_TEAM_MT_CHIMNEY
+ setflag FLAG_HIDE_OTHER_TEAM_MT_CHIMNEY
setflag FLAG_DEFEATED_EVIL_TEAM_MT_CHIMNEY
clearflag FLAG_HIDE_PROF_COSMO_FALLARBOR
setflag FLAG_HIDE_PROF_COSMO_METEOR_FALLS
diff --git a/graphics-de/pokenav/map_squares.png b/graphics-de/pokenav/zoom_tiles.png
index 4cf6aa78c..4cf6aa78c 100644
--- a/graphics-de/pokenav/map_squares.png
+++ b/graphics-de/pokenav/zoom_tiles.png
Binary files differ
diff --git a/graphics/pokenav/region_map_section_layout.bin b/graphics/pokenav/region_map_section_layout.bin
new file mode 100644
index 000000000..fc8496ef2
--- /dev/null
+++ b/graphics/pokenav/region_map_section_layout.bin
Binary files differ
diff --git a/graphics/pokenav/map_squares.png b/graphics/pokenav/zoom_tiles.png
index fb73235ff..fb73235ff 100644
--- a/graphics/pokenav/map_squares.png
+++ b/graphics/pokenav/zoom_tiles.png
Binary files differ
diff --git a/include/battle.h b/include/battle.h
index ac95f6fff..a799f8360 100644
--- a/include/battle.h
+++ b/include/battle.h
@@ -21,7 +21,7 @@
#define B_ACTION_SAFARI_GO_NEAR 7
#define B_ACTION_SAFARI_RUN 8
// The exact purposes of these are unclear
-#define B_ACTION_UNKNOWN9 9
+#define B_ACTION_WALLY_THROW 9
#define B_ACTION_EXEC_SCRIPT 10 // when executing an action
#define B_ACTION_CANCEL_PARTNER 12 // when choosing an action
#define B_ACTION_FINISHED 12 // when executing an action
@@ -691,6 +691,18 @@ struct scriptsStack
u8 size;
};
+#define IS_TYPE_PHYSICAL(moveType)(moveType < TYPE_MYSTERY)
+#define IS_TYPE_SPECIAL(moveType)(moveType > TYPE_MYSTERY)
+
+#define IS_BATTLER_OF_TYPE(battlerId, type)((gBattleMons[battlerId].type1 == type || gBattleMons[battlerId].type2 == type))
+#define SET_BATTLER_TYPE(battlerId, type) \
+{ \
+ gBattleMons[battlerId].type1 = type; \
+ gBattleMons[battlerId].type2 = type; \
+}
+
+#define GET_STAT_BUFF_VALUE2(n)((n & 0xF0))
+
extern u8 gBattleTextBuff1[];
//function declarations of buffer emits
diff --git a/include/battle_util.h b/include/battle_util.h
index 15fa39d1a..3d178b487 100644
--- a/include/battle_util.h
+++ b/include/battle_util.h
@@ -10,6 +10,43 @@
#define BS_GET_PLAYER2 13
#define BS_GET_OPPONENT2 14
+#define MOVE_LIMITATION_ZEROMOVE (1 << 0)
+#define MOVE_LIMITATION_PP (1 << 1)
+#define MOVE_LIMITATION_DISABLED (1 << 2)
+#define MOVE_LIMITATION_TORMENTED (1 << 3)
+#define MOVE_LIMITATION_TAUNT (1 << 4)
+#define MOVE_LIMITATION_IMPRISON (1 << 5)
+
+#define ABILITYEFFECT_ON_SWITCHIN 0x0
+#define ABILITYEFFECT_ENDTURN 0x1
+#define ABILITYEFFECT_MOVES_BLOCK 0x2
+#define ABILITYEFFECT_ABSORBING 0x3
+#define ABILITYEFFECT_MOVE_END 0x4
+#define ABILITYEFFECT_IMMUNITY 0x5
+#define ABILITYEFFECT_FORECAST 0x6
+#define ABILITYEFFECT_SYNCHRONIZE 0x7
+#define ABILITYEFFECT_ATK_SYNCHRONIZE 0x8
+#define ABILITYEFFECT_INTIMIDATE1 0x9
+#define ABILITYEFFECT_INTIMIDATE2 0xA
+#define ABILITYEFFECT_TRACE 0xB
+#define ABILITYEFFECT_CHECK_OTHER_SIDE 0xC
+#define ABILITYEFFECT_CHECK_BATTLER_SIDE 0xD
+#define ABILITYEFFECT_FIELD_SPORT 0xE
+#define ABILITYEFFECT_CHECK_FIELD_EXCEPT_BATTLER 0xF
+#define ABILITYEFFECT_COUNT_OTHER_SIDE 0x10
+#define ABILITYEFFECT_COUNT_BATTLER_SIDE 0x11
+#define ABILITYEFFECT_COUNT_ON_FIELD 0x12
+#define ABILITYEFFECT_CHECK_ON_FIELD 0x13
+#define ABILITYEFFECT_SWITCH_IN_WEATHER 0xFF
+
+#define ABILITY_ON_OPPOSING_FIELD(battlerId, abilityId)(AbilityBattleEffects(ABILITYEFFECT_CHECK_OTHER_SIDE, battlerId, abilityId, 0, 0))
+#define ABILITY_ON_FIELD(abilityId)(AbilityBattleEffects(ABILITYEFFECT_CHECK_ON_FIELD, 0, abilityId, 0, 0))
+#define ABILITY_ON_FIELD2(abilityId)(AbilityBattleEffects(ABILITYEFFECT_FIELD_SPORT, 0, abilityId, 0, 0))
+
+#define ITEMEFFECT_ON_SWITCH_IN 0x0
+#define ITEMEFFECT_MOVE_END 0x3
+#define ITEMEFFECT_KINGSROCK_SHELLBELL 0x4
+
void TryClearRageStatuses(void);
void BattleScriptPush(const u8* BS_ptr);
void PressurePPLoseOnUsingImprision(u8 bankAtk);
@@ -25,5 +62,7 @@ bool8 HandleWishPerishSongOnTurnEnd(void);
void BattleScriptExecute(const u8* BS_ptr);
void BattleScriptPushCursorAndCallback(u8* BS_ptr);
u8 IsMonDisobedient(void);
+bool8 AreAllMovesUnusable(void);
+u8 TrySetCantSelectMoveBattleScript(void);
#endif // GUARD_BATTLE_UTIL_H
diff --git a/include/constants/flags.h b/include/constants/flags.h
index a867fd77e..753024403 100644
--- a/include/constants/flags.h
+++ b/include/constants/flags.h
@@ -545,7 +545,7 @@
#define FLAG_HIDE_GRUNTS_HIDEOUTS 0x39C
#define FLAG_HIDE_LILYCOVE_MOTEL_PEOPLE 0x39D
#define FLAG_HIDE_EVIL_TEAM_MT_CHIMNEY 0x39E
-#define FLAG_HIDE_OTEHR_TEAM_MT_CHIMNEY 0x39F
+#define FLAG_HIDE_OTHER_TEAM_MT_CHIMNEY 0x39F
#define FLAG_HIDE_PROF_COSMO_FALLARBOR 0x3A0
#define FLAG_HIDE_RIVAL_LAVARIDGE_1 0x3A1
#define FLAG_HIDE_RIVAL_LAVARIDGE_2 0x3A2
diff --git a/include/constants/layouts.h b/include/constants/layouts.h
new file mode 100755
index 000000000..f0008036c
--- /dev/null
+++ b/include/constants/layouts.h
@@ -0,0 +1,337 @@
+#ifndef GUARD_CONSTANTS_LAYOUTS_H
+#define GUARD_CONSTANTS_LAYOUTS_H
+
+#define LAYOUT_PETALBURG_CITY 1
+#define LAYOUT_SLATEPORT_CITY 2
+#define LAYOUT_MAUVILLE_CITY 3
+#define LAYOUT_RUSTBORO_CITY 4
+#define LAYOUT_FORTREE_CITY 5
+#define LAYOUT_LILYCOVE_CITY 6
+#define LAYOUT_MOSSDEEP_CITY 7
+#define LAYOUT_SOOTOPOLIS_CITY 8
+#define LAYOUT_EVER_GRANDE_CITY 9
+#define LAYOUT_LITTLEROOT_TOWN 10
+#define LAYOUT_OLDALE_TOWN 11
+#define LAYOUT_DEWFORD_TOWN 12
+#define LAYOUT_LAVARIDGE_TOWN 13
+#define LAYOUT_FALLARBOR_TOWN 14
+#define LAYOUT_VERDANTURF_TOWN 15
+#define LAYOUT_PACIFIDLOG_TOWN 16
+#define LAYOUT_ROUTE101 17
+#define LAYOUT_ROUTE102 18
+#define LAYOUT_ROUTE103 19
+#define LAYOUT_ROUTE104 20
+#define LAYOUT_ROUTE105 21
+#define LAYOUT_ROUTE106 22
+#define LAYOUT_ROUTE107 23
+#define LAYOUT_ROUTE108 24
+#define LAYOUT_ROUTE109 25
+#define LAYOUT_ROUTE110 26
+#define LAYOUT_ROUTE111 27
+#define LAYOUT_ROUTE112 28
+#define LAYOUT_ROUTE113 29
+#define LAYOUT_ROUTE114 30
+#define LAYOUT_ROUTE115 31
+#define LAYOUT_ROUTE116 32
+#define LAYOUT_ROUTE117 33
+#define LAYOUT_ROUTE118 34
+#define LAYOUT_ROUTE119 35
+#define LAYOUT_ROUTE120 36
+#define LAYOUT_ROUTE121 37
+#define LAYOUT_ROUTE122 38
+#define LAYOUT_ROUTE123 39
+#define LAYOUT_ROUTE124 40
+#define LAYOUT_ROUTE125 41
+#define LAYOUT_ROUTE126 42
+#define LAYOUT_ROUTE127 43
+#define LAYOUT_ROUTE128 44
+#define LAYOUT_ROUTE129 45
+#define LAYOUT_UNREFERENCED_MAP 46
+#define LAYOUT_ROUTE131 47
+#define LAYOUT_ROUTE132 48
+#define LAYOUT_ROUTE133 49
+#define LAYOUT_ROUTE134 50
+#define LAYOUT_UNDERWATER2 51
+#define LAYOUT_UNDERWATER3 52
+#define LAYOUT_UNDERWATER4 53
+#define LAYOUT_LITTLEROOT_TOWN_BRENDANS_HOUSE_1F 54
+#define LAYOUT_LITTLEROOT_TOWN_BRENDANS_HOUSE_2F 55
+#define LAYOUT_LITTLEROOT_TOWN_MAYS_HOUSE_1F 56
+#define LAYOUT_LITTLEROOT_TOWN_MAYS_HOUSE_2F 57
+#define LAYOUT_LITTLEROOT_TOWN_PROFESSOR_BIRCHS_LAB 58
+#define LAYOUT_HOUSE1 59
+#define LAYOUT_HOUSE2 60
+#define LAYOUT_POKEMON_CENTER_1F 61
+#define LAYOUT_POKEMON_CENTER_2F 62
+#define LAYOUT_POKE_MART 63
+#define LAYOUT_HOUSE3 64
+#define LAYOUT_DEWFORD_TOWN_GYM 65
+#define LAYOUT_DEWFORD_TOWN_HALL 66
+#define LAYOUT_HOUSE4 67
+#define LAYOUT_LAVARIDGE_TOWN_HERB_SHOP 68
+#define LAYOUT_LAVARIDGE_TOWN_GYM_1F 69
+#define LAYOUT_LAVARIDGE_TOWN_GYM_B1F 70
+#define LAYOUT_LAVARIDGE_TOWN_POKEMON_CENTER_1F 71
+#define LAYOUT_CONTEST_LOBBY 72
+#define LAYOUT_CONTEST_HALL 73
+#define LAYOUT_LILYCOVE_CITY_HOUSE2 74
+#define LAYOUT_UNKNOWN_MAP_082CF564 75
+#define LAYOUT_VERDANTURF_TOWN_WANDAS_HOUSE 76
+#define LAYOUT_PACIFIDLOG_TOWN_HOUSE1 77
+#define LAYOUT_PACIFIDLOG_TOWN_HOUSE2 78
+#define LAYOUT_PETALBURG_CITY_GYM 79
+#define LAYOUT_HOUSE_WITH_BED 80
+#define LAYOUT_SLATEPORT_CITY_STERNS_SHIPYARD_1F 81
+#define LAYOUT_SLATEPORT_CITY_STERNS_SHIPYARD_2F 82
+#define LAYOUT_UNKNOWN_MAP_082D05D8 83
+#define LAYOUT_UNKNOWN_MAP_082D05FC 84
+#define LAYOUT_SLATEPORT_CITY_POKEMON_FAN_CLUB 85
+#define LAYOUT_SLATEPORT_CITY_OCEANIC_MUSEUM_1F 86
+#define LAYOUT_SLATEPORT_CITY_OCEANIC_MUSEUM_2F 87
+#define LAYOUT_HARBOR 88
+#define LAYOUT_MAUVILLE_CITY_GYM 89
+#define LAYOUT_MAUVILLE_CITY_BIKE_SHOP 90
+#define LAYOUT_MAUVILLE_CITY_GAME_CORNER 91
+#define LAYOUT_RUSTBORO_CITY_DEVON_CORP_1F 92
+#define LAYOUT_RUSTBORO_CITY_DEVON_CORP_2F 93
+#define LAYOUT_RUSTBORO_CITY_GYM 94
+#define LAYOUT_RUSTBORO_CITY_POKEMON_SCHOOL 95
+#define LAYOUT_RUSTBORO_CITY_HOUSE 96
+#define LAYOUT_RUSTBORO_CITY_HOUSE1 97
+#define LAYOUT_RUSTBORO_CITY_CUTTERS_HOUSE 98
+#define LAYOUT_FORTREE_CITY_HOUSE1 99
+#define LAYOUT_FORTREE_CITY_GYM 100
+#define LAYOUT_FORTREE_CITY_HOUSE2 101
+#define LAYOUT_ROUTE104_MR_BRINEYS_HOUSE 102
+#define LAYOUT_LILYCOVE_CITY_LILYCOVE_MUSEUM_1F 103
+#define LAYOUT_LILYCOVE_CITY_LILYCOVE_MUSEUM_2F 104
+#define LAYOUT_LILYCOVE_CITY_CONTEST_LOBBY 105
+#define LAYOUT_LILYCOVE_CITY_CONTEST_HALL 106
+#define LAYOUT_LILYCOVE_CITY_POKEMON_TRAINER_FAN_CLUB 107
+#define LAYOUT_LILYCOVE_CITY_EMPTY_MAP 108
+#define LAYOUT_MOSSDEEP_CITY_GYM 109
+#define LAYOUT_SOOTOPOLIS_CITY_GYM_1F 110
+#define LAYOUT_SOOTOPOLIS_CITY_GYM_B1F 111
+#define LAYOUT_EVER_GRANDE_CITY_SIDNEYS_ROOM 112
+#define LAYOUT_EVER_GRANDE_CITY_PHOEBES_ROOM 113
+#define LAYOUT_EVER_GRANDE_CITY_GLACIAS_ROOM 114
+#define LAYOUT_EVER_GRANDE_CITY_DRAKES_ROOM 115
+#define LAYOUT_EVER_GRANDE_CITY_CHAMPIONS_ROOM 116
+#define LAYOUT_EVER_GRANDE_CITY_SHORT_CORRIDOR 117
+#define LAYOUT_ROUTE104_PRETTY_PETAL_FLOWER_SHOP 118
+#define LAYOUT_CABLE_CAR_STATION 119
+#define LAYOUT_ROUTE114_FOSSIL_MANIACS_HOUSE 120
+#define LAYOUT_ROUTE114_FOSSIL_MANIACS_TUNNEL 121
+#define LAYOUT_ROUTE114_LANETTES_HOUSE 122
+#define LAYOUT_ROUTE116_TUNNELERS_REST_HOUSE 123
+#define LAYOUT_ROUTE117_POKEMON_DAY_CARE 124
+#define LAYOUT_ROUTE121_SAFARI_ZONE_ENTRANCE 125
+#define LAYOUT_METEOR_FALLS_1F_1R 126
+#define LAYOUT_METEOR_FALLS_1F_2R 127
+#define LAYOUT_METEOR_FALLS_B1F_1R 128
+#define LAYOUT_METEOR_FALLS_B1F_2R 129
+#define LAYOUT_RUSTURF_TUNNEL 130
+#define LAYOUT_UNDERWATER_SOOTOPOLIS_CITY 131
+#define LAYOUT_DESERT_RUINS 132
+#define LAYOUT_GRANITE_CAVE_1F 133
+#define LAYOUT_GRANITE_CAVE_B1F 134
+#define LAYOUT_GRANITE_CAVE_B2F 135
+#define LAYOUT_PETALBURG_WOODS 136
+#define LAYOUT_MT_CHIMNEY 137
+#define LAYOUT_MT_PYRE_1F 138
+#define LAYOUT_MT_PYRE_2F 139
+#define LAYOUT_MT_PYRE_3F 140
+#define LAYOUT_MT_PYRE_4F 141
+#define LAYOUT_MT_PYRE_5F 142
+#define LAYOUT_MT_PYRE_6F 143
+#define LAYOUT_AQUA_HIDEOUT_1F 144
+#define LAYOUT_AQUA_HIDEOUT_B1F 145
+#define LAYOUT_AQUA_HIDEOUT_B2F 146
+#define LAYOUT_UNDERWATER_SEAFLOOR_CAVERN 147
+#define LAYOUT_SEAFLOOR_CAVERN_ENTRANCE 148
+#define LAYOUT_SEAFLOOR_CAVERN_ROOM1 149
+#define LAYOUT_SEAFLOOR_CAVERN_ROOM2 150
+#define LAYOUT_SEAFLOOR_CAVERN_ROOM3 151
+#define LAYOUT_SEAFLOOR_CAVERN_ROOM4 152
+#define LAYOUT_SEAFLOOR_CAVERN_ROOM5 153
+#define LAYOUT_SEAFLOOR_CAVERN_ROOM6 154
+#define LAYOUT_SEAFLOOR_CAVERN_ROOM7 155
+#define LAYOUT_SEAFLOOR_CAVERN_ROOM8 156
+#define LAYOUT_SEAFLOOR_CAVERN_ROOM9 157
+#define LAYOUT_CAVE_OF_ORIGIN_ENTRANCE 158
+#define LAYOUT_CAVE_OF_ORIGIN_1F 159
+#define LAYOUT_CAVE_OF_ORIGIN_B1F 160
+#define LAYOUT_CAVE_OF_ORIGIN_B2F 161
+#define LAYOUT_CAVE_OF_ORIGIN_B3F 162
+#define LAYOUT_CAVE_OF_ORIGIN_B4F 163
+#define LAYOUT_VICTORY_ROAD_1F 164
+#define LAYOUT_SHOAL_CAVE_LOW_TIDE_ENTRANCE_ROOM 165
+#define LAYOUT_SHOAL_CAVE_LOW_TIDE_INNER_ROOM 166
+#define LAYOUT_SHOAL_CAVE_LOW_TIDE_STAIRS_ROOM 167
+#define LAYOUT_SHOAL_CAVE_LOW_TIDE_LOWER_ROOM 168
+#define LAYOUT_SHOAL_CAVE_HIGH_TIDE_ENTRANCE_ROOM 169
+#define LAYOUT_SHOAL_CAVE_HIGH_TIDE_INNER_ROOM 170
+#define LAYOUT_UNKNOWN_MAP_082E55C8 171
+#define LAYOUT_UNKNOWN_MAP_082E55EC 172
+#define LAYOUT_UNKNOWN_MAP_082E5610 173
+#define LAYOUT_UNKNOWN_MAP_082E5634 174
+#define LAYOUT_UNKNOWN_MAP_082E5658 175
+#define LAYOUT_UNKNOWN_MAP_082E567C 176
+#define LAYOUT_UNKNOWN_MAP_082E56A0 177
+#define LAYOUT_UNKNOWN_MAP_082E56C4 178
+#define LAYOUT_UNKNOWN_MAP_082E56E8 179
+#define LAYOUT_UNKNOWN_MAP_082E570C 180
+#define LAYOUT_UNKNOWN_MAP_082E5730 181
+#define LAYOUT_UNKNOWN_MAP_082E5754 182
+#define LAYOUT_UNKNOWN_MAP_082E5778 183
+#define LAYOUT_UNKNOWN_MAP_082E579C 184
+#define LAYOUT_NEW_MAUVILLE_ENTRANCE 185
+#define LAYOUT_NEW_MAUVILLE_INSIDE 186
+#define LAYOUT_ABANDONED_SHIP_DECK 187
+#define LAYOUT_ABANDONED_SHIP_CORRIDORS_1F 188
+#define LAYOUT_ABANDONED_SHIP_ROOMS_1F 189
+#define LAYOUT_ABANDONED_SHIP_CORRIDORS_B1F 190
+#define LAYOUT_ABANDONED_SHIP_ROOMS_B1F 191
+#define LAYOUT_ABANDONED_SHIP_ROOMS2_B1F 192
+#define LAYOUT_ABANDONED_SHIP_UNDERWATER1 193
+#define LAYOUT_ABANDONED_SHIP_ROOM_B1F 194
+#define LAYOUT_ABANDONED_SHIP_ROOMS2_1F 195
+#define LAYOUT_ABANDONED_SHIP_CAPTAINS_OFFICE 196
+#define LAYOUT_ABANDONED_SHIP_UNDERWATER2 197
+#define LAYOUT_SECRET_BASE_RED_CAVE1 198
+#define LAYOUT_SECRET_BASE_BROWN_CAVE1 199
+#define LAYOUT_SECRET_BASE_BLUE_CAVE1 200
+#define LAYOUT_SECRET_BASE_YELLOW_CAVE1 201
+#define LAYOUT_SECRET_BASE_TREE1 202
+#define LAYOUT_SECRET_BASE_SHRUB1 203
+#define LAYOUT_SECRET_BASE_RED_CAVE2 204
+#define LAYOUT_SECRET_BASE_BROWN_CAVE2 205
+#define LAYOUT_SECRET_BASE_BLUE_CAVE2 206
+#define LAYOUT_SECRET_BASE_YELLOW_CAVE2 207
+#define LAYOUT_SECRET_BASE_TREE2 208
+#define LAYOUT_SECRET_BASE_SHRUB2 209
+#define LAYOUT_SECRET_BASE_RED_CAVE3 210
+#define LAYOUT_SECRET_BASE_BROWN_CAVE3 211
+#define LAYOUT_SECRET_BASE_BLUE_CAVE3 212
+#define LAYOUT_SECRET_BASE_YELLOW_CAVE3 213
+#define LAYOUT_SECRET_BASE_TREE3 214
+#define LAYOUT_SECRET_BASE_SHRUB3 215
+#define LAYOUT_SECRET_BASE_RED_CAVE4 216
+#define LAYOUT_SECRET_BASE_BROWN_CAVE4 217
+#define LAYOUT_SECRET_BASE_BLUE_CAVE4 218
+#define LAYOUT_SECRET_BASE_YELLOW_CAVE4 219
+#define LAYOUT_SECRET_BASE_TREE4 220
+#define LAYOUT_SECRET_BASE_SHRUB4 221
+#define LAYOUT_SINGLE_BATTLE_COLOSSEUM 222
+#define LAYOUT_TRADE_CENTER 223
+#define LAYOUT_RECORD_CORNER 224
+#define LAYOUT_DOUBLE_BATTLE_COLOSSEUM 225
+#define LAYOUT_LINK_CONTEST_ROOM1 226
+#define LAYOUT_UNKNOWN_MAP_25_29 227
+#define LAYOUT_UNKNOWN_MAP_25_30 228
+#define LAYOUT_UNKNOWN_MAP_25_31 229
+#define LAYOUT_UNKNOWN_MAP_25_32 230
+#define LAYOUT_UNKNOWN_MAP_25_33 231
+#define LAYOUT_UNKNOWN_MAP_25_34 232
+#define LAYOUT_LINK_CONTEST_ROOM2 233
+#define LAYOUT_LINK_CONTEST_ROOM3 234
+#define LAYOUT_LINK_CONTEST_ROOM4 235
+#define LAYOUT_LINK_CONTEST_ROOM5 236
+#define LAYOUT_LINK_CONTEST_ROOM6 237
+#define LAYOUT_INSIDE_OF_TRUCK 238
+#define LAYOUT_SAFARI_ZONE_NORTHWEST 239
+#define LAYOUT_SAFARI_ZONE_NORTHEAST 240
+#define LAYOUT_SAFARI_ZONE_SOUTHWEST 241
+#define LAYOUT_SAFARI_ZONE_SOUTHEAST 242
+#define LAYOUT_UNKNOWN_MAP_082EDF30 243
+#define LAYOUT_ROUTE109_SEASHORE_HOUSE 244
+#define LAYOUT_ROUTE110_TRICK_HOUSE_ENTRANCE 245
+#define LAYOUT_ROUTE110_TRICK_HOUSE_END 246
+#define LAYOUT_ROUTE110_TRICK_HOUSE_CORRIDOR 247
+#define LAYOUT_ROUTE110_TRICK_HOUSE_PUZZLE1 248
+#define LAYOUT_ROUTE110_TRICK_HOUSE_PUZZLE2 249
+#define LAYOUT_ROUTE110_TRICK_HOUSE_PUZZLE3 250
+#define LAYOUT_ROUTE110_TRICK_HOUSE_PUZZLE4 251
+#define LAYOUT_ROUTE110_TRICK_HOUSE_PUZZLE5 252
+#define LAYOUT_ROUTE110_TRICK_HOUSE_PUZZLE6 253
+#define LAYOUT_ROUTE110_TRICK_HOUSE_PUZZLE7 254
+#define LAYOUT_ROUTE110_TRICK_HOUSE_PUZZLE8 255
+#define LAYOUT_FORTREE_CITY_DECORATION_SHOP 256
+#define LAYOUT_ROUTE110_SEASIDE_CYCLING_ROAD_ENTRACE 257
+#define LAYOUT_LILYCOVE_CITY_DEPARTMENT_STORE_1F 258
+#define LAYOUT_LILYCOVE_CITY_DEPARTMENT_STORE_2F 259
+#define LAYOUT_LILYCOVE_CITY_DEPARTMENT_STORE_3F 260
+#define LAYOUT_LILYCOVE_CITY_DEPARTMENT_STORE_4F 261
+#define LAYOUT_LILYCOVE_CITY_DEPARTMENT_STORE_5F 262
+#define LAYOUT_LILYCOVE_CITY_DEPARTMENT_STORE_ROOFTOP 263
+#define LAYOUT_ROUTE130 264
+#define LAYOUT_BATTLE_TOWER_LOBBY 265
+#define LAYOUT_BATTLE_TOWER_OUTSIDE 266
+#define LAYOUT_BATTLE_TOWER_ELEVATOR 267
+#define LAYOUT_BATTLE_TOWER_CORRIDOR 268
+#define LAYOUT_BATTLE_TOWER_BATTLE_ROOM 269
+#define LAYOUT_RUSTBORO_CITY_DEVON_CORP_3F 270
+#define LAYOUT_EVER_GRANDE_CITY_POKEMON_LEAGUE 271
+#define LAYOUT_ROUTE119_WEATHER_INSTITUTE_1F 272
+#define LAYOUT_ROUTE119_WEATHER_INSTITUTE_2F 273
+#define LAYOUT_LILYCOVE_CITY_DEPARTMENT_STORE_ELEVATOR 274
+#define LAYOUT_UNDERWATER1 275
+#define LAYOUT_MOSSDEEP_CITY_SPACE_CENTER_1F 276
+#define LAYOUT_MOSSDEEP_CITY_SPACE_CENTER_2F 277
+#define LAYOUT_SS_TIDAL_CORRIDOR 278
+#define LAYOUT_SS_TIDAL_LOWER_DECK 279
+#define LAYOUT_SS_TIDAL_ROOMS 280
+#define LAYOUT_ISLAND_CAVE 281
+#define LAYOUT_ANCIENT_TOMB 282
+#define LAYOUT_UNDERWATER_ROUTE134 283
+#define LAYOUT_UNDERWATER_SEALED_CHAMBER 284
+#define LAYOUT_SEALED_CHAMBER_OUTER_ROOM 285
+#define LAYOUT_VICTORY_ROAD_B1F 286
+#define LAYOUT_VICTORY_ROAD_B2F 287
+#define LAYOUT_ROUTE104_PROTOTYPE 288
+#define LAYOUT_GRANITE_CAVE_STEVENS_ROOM 289
+#define LAYOUT_ABANDONED_SHIP_HIDDEN_FLOOR_CORRIDORS 290
+#define LAYOUT_SOUTHERN_ISLAND_EXTERIOR 291
+#define LAYOUT_SOUTHERN_ISLAND_INTERIOR 292
+#define LAYOUT_JAGGED_PASS 293
+#define LAYOUT_FIERY_PATH 294
+#define LAYOUT_RUSTBORO_CITY_FLAT2_1F 295
+#define LAYOUT_RUSTBORO_CITY_FLAT2_2F 296
+#define LAYOUT_RUSTBORO_CITY_FLAT2_3F 297
+#define LAYOUT_SOOTOPOLIS_CITY_HOUSE8 298
+#define LAYOUT_EVER_GRANDE_CITY_HALL_OF_FAME 299
+#define LAYOUT_LILYCOVE_CITY_COVE_LILY_MOTEL_1F 300
+#define LAYOUT_LILYCOVE_CITY_COVE_LILY_MOTEL_2F 301
+#define LAYOUT_ROUTE124_DIVING_TREASURE_HUNTERS_HOUSE 302
+#define LAYOUT_MT_PYRE_EXTERIOR 303
+#define LAYOUT_MT_PYRE_SUMMIT 304
+#define LAYOUT_SEALED_CHAMBER_INNER_ROOM 305
+#define LAYOUT_MOSSDEEP_CITY_GAME_CORNER_1F 306
+#define LAYOUT_MOSSDEEP_CITY_GAME_CORNER_B1F 307
+#define LAYOUT_SOOTOPOLIS_CITY_HOUSE1 308
+#define LAYOUT_SOOTOPOLIS_CITY_HOUSE2 309
+#define LAYOUT_SOOTOPOLIS_CITY_HOUSE3 310
+#define LAYOUT_ABANDONED_SHIP_HIDDEN_FLOOR_ROOMS 311
+#define LAYOUT_SCORCHED_SLAB 312
+#define LAYOUT_UNKNOWN_MAP_082FF894 313
+#define LAYOUT_RUSTBORO_CITY_FLAT1_1F 314
+#define LAYOUT_RUSTBORO_CITY_FLAT1_2F 315
+#define LAYOUT_EVER_GRANDE_CITY_CORRIDOR4 316
+#define LAYOUT_MAGMA_HIDEOUT_1F 317
+#define LAYOUT_MAGMA_HIDEOUT_B1F 318
+#define LAYOUT_MAGMA_HIDEOUT_B2F 319
+#define LAYOUT_UNKNOWN_MAP_08302970 320
+#define LAYOUT_SKY_PILLAR_ENTRANCE 321
+#define LAYOUT_SKY_PILLAR_OUTSIDE 322
+#define LAYOUT_SKY_PILLAR_1F 323
+#define LAYOUT_SKY_PILLAR_2F 324
+#define LAYOUT_SKY_PILLAR_3F 325
+#define LAYOUT_SKY_PILLAR_4F 326
+#define LAYOUT_UNKNOWN_MAP_083041B4 327
+#define LAYOUT_MOSSDEEP_CITY_STEVENS_HOUSE 328
+#define LAYOUT_SHOAL_CAVE_LOW_TIDE_ICE_ROOM 329
+#define LAYOUT_SAFARI_ZONE_REST_HOUSE 330
+#define LAYOUT_SKY_PILLAR_5F 331
+#define LAYOUT_SKY_PILLAR_TOP 332
+
+#endif // GUARD_CONSTANTS_LAYOUTS_H
diff --git a/include/constants/map_groups.h b/include/constants/map_groups.h
new file mode 100755
index 000000000..d799d785d
--- /dev/null
+++ b/include/constants/map_groups.h
@@ -0,0 +1,468 @@
+#ifndef GUARD_CONSTANTS_MAP_GROUPS_H
+#define GUARD_CONSTANTS_MAP_GROUPS_H
+
+// Map Group 0
+#define MAP_PETALBURG_CITY (0 | (0 << 8))
+#define MAP_SLATEPORT_CITY (1 | (0 << 8))
+#define MAP_MAUVILLE_CITY (2 | (0 << 8))
+#define MAP_RUSTBORO_CITY (3 | (0 << 8))
+#define MAP_FORTREE_CITY (4 | (0 << 8))
+#define MAP_LILYCOVE_CITY (5 | (0 << 8))
+#define MAP_MOSSDEEP_CITY (6 | (0 << 8))
+#define MAP_SOOTOPOLIS_CITY (7 | (0 << 8))
+#define MAP_EVER_GRANDE_CITY (8 | (0 << 8))
+#define MAP_LITTLEROOT_TOWN (9 | (0 << 8))
+#define MAP_OLDALE_TOWN (10 | (0 << 8))
+#define MAP_DEWFORD_TOWN (11 | (0 << 8))
+#define MAP_LAVARIDGE_TOWN (12 | (0 << 8))
+#define MAP_FALLARBOR_TOWN (13 | (0 << 8))
+#define MAP_VERDANTURF_TOWN (14 | (0 << 8))
+#define MAP_PACIFIDLOG_TOWN (15 | (0 << 8))
+#define MAP_ROUTE101 (16 | (0 << 8))
+#define MAP_ROUTE102 (17 | (0 << 8))
+#define MAP_ROUTE103 (18 | (0 << 8))
+#define MAP_ROUTE104 (19 | (0 << 8))
+#define MAP_ROUTE105 (20 | (0 << 8))
+#define MAP_ROUTE106 (21 | (0 << 8))
+#define MAP_ROUTE107 (22 | (0 << 8))
+#define MAP_ROUTE108 (23 | (0 << 8))
+#define MAP_ROUTE109 (24 | (0 << 8))
+#define MAP_ROUTE110 (25 | (0 << 8))
+#define MAP_ROUTE111 (26 | (0 << 8))
+#define MAP_ROUTE112 (27 | (0 << 8))
+#define MAP_ROUTE113 (28 | (0 << 8))
+#define MAP_ROUTE114 (29 | (0 << 8))
+#define MAP_ROUTE115 (30 | (0 << 8))
+#define MAP_ROUTE116 (31 | (0 << 8))
+#define MAP_ROUTE117 (32 | (0 << 8))
+#define MAP_ROUTE118 (33 | (0 << 8))
+#define MAP_ROUTE119 (34 | (0 << 8))
+#define MAP_ROUTE120 (35 | (0 << 8))
+#define MAP_ROUTE121 (36 | (0 << 8))
+#define MAP_ROUTE122 (37 | (0 << 8))
+#define MAP_ROUTE123 (38 | (0 << 8))
+#define MAP_ROUTE124 (39 | (0 << 8))
+#define MAP_ROUTE125 (40 | (0 << 8))
+#define MAP_ROUTE126 (41 | (0 << 8))
+#define MAP_ROUTE127 (42 | (0 << 8))
+#define MAP_ROUTE128 (43 | (0 << 8))
+#define MAP_ROUTE129 (44 | (0 << 8))
+#define MAP_ROUTE130 (45 | (0 << 8))
+#define MAP_ROUTE131 (46 | (0 << 8))
+#define MAP_ROUTE132 (47 | (0 << 8))
+#define MAP_ROUTE133 (48 | (0 << 8))
+#define MAP_ROUTE134 (49 | (0 << 8))
+#define MAP_UNDERWATER1 (50 | (0 << 8))
+#define MAP_UNDERWATER2 (51 | (0 << 8))
+#define MAP_UNDERWATER3 (52 | (0 << 8))
+#define MAP_UNDERWATER4 (53 | (0 << 8))
+
+// Map Group 1
+#define MAP_LITTLEROOT_TOWN_BRENDANS_HOUSE_1F (0 | (1 << 8))
+#define MAP_LITTLEROOT_TOWN_BRENDANS_HOUSE_2F (1 | (1 << 8))
+#define MAP_LITTLEROOT_TOWN_MAYS_HOUSE_1F (2 | (1 << 8))
+#define MAP_LITTLEROOT_TOWN_MAYS_HOUSE_2F (3 | (1 << 8))
+#define MAP_LITTLEROOT_TOWN_PROFESSOR_BIRCHS_LAB (4 | (1 << 8))
+
+// Map Group 2
+#define MAP_OLDALE_TOWN_HOUSE1 (0 | (2 << 8))
+#define MAP_OLDALE_TOWN_HOUSE2 (1 | (2 << 8))
+#define MAP_OLDALE_TOWN_POKEMON_CENTER_1F (2 | (2 << 8))
+#define MAP_OLDALE_TOWN_POKEMON_CENTER_2F (3 | (2 << 8))
+#define MAP_OLDALE_TOWN_MART (4 | (2 << 8))
+
+// Map Group 3
+#define MAP_DEWFORD_TOWN_HOUSE1 (0 | (3 << 8))
+#define MAP_DEWFORD_TOWN_POKEMON_CENTER_1F (1 | (3 << 8))
+#define MAP_DEWFORD_TOWN_POKEMON_CENTER_2F (2 | (3 << 8))
+#define MAP_DEWFORD_TOWN_GYM (3 | (3 << 8))
+#define MAP_DEWFORD_TOWN_HALL (4 | (3 << 8))
+#define MAP_DEWFORD_TOWN_HOUSE2 (5 | (3 << 8))
+
+// Map Group 4
+#define MAP_LAVARIDGE_TOWN_HERB_SHOP (0 | (4 << 8))
+#define MAP_LAVARIDGE_TOWN_GYM_1F (1 | (4 << 8))
+#define MAP_LAVARIDGE_TOWN_GYM_B1F (2 | (4 << 8))
+#define MAP_LAVARIDGE_TOWN_HOUSE (3 | (4 << 8))
+#define MAP_LAVARIDGE_TOWN_MART (4 | (4 << 8))
+#define MAP_LAVARIDGE_TOWN_POKEMON_CENTER_1F (5 | (4 << 8))
+#define MAP_LAVARIDGE_TOWN_POKEMON_CENTER_2F (6 | (4 << 8))
+
+// Map Group 5
+#define MAP_FALLARBOR_TOWN_MART (0 | (5 << 8))
+#define MAP_FALLARBOR_TOWN_CONTEST_LOBBY (1 | (5 << 8))
+#define MAP_FALLARBOR_TOWN_CONTEST_HALL (2 | (5 << 8))
+#define MAP_FALLARBOR_TOWN_POKEMON_CENTER_1F (3 | (5 << 8))
+#define MAP_FALLARBOR_TOWN_POKEMON_CENTER_2F (4 | (5 << 8))
+#define MAP_FALLARBOR_TOWN_HOUSE1 (5 | (5 << 8))
+#define MAP_FALLARBOR_TOWN_HOUSE2 (6 | (5 << 8))
+
+// Map Group 6
+#define MAP_VERDANTURF_TOWN_CONTEST_LOBBY (0 | (6 << 8))
+#define MAP_VERDANTURF_TOWN_CONTEST_HALL (1 | (6 << 8))
+#define MAP_VERDANTURF_TOWN_MART (2 | (6 << 8))
+#define MAP_VERDANTURF_TOWN_POKEMON_CENTER_1F (3 | (6 << 8))
+#define MAP_VERDANTURF_TOWN_POKEMON_CENTER_2F (4 | (6 << 8))
+#define MAP_VERDANTURF_TOWN_WANDAS_HOUSE (5 | (6 << 8))
+#define MAP_VERDANTURF_TOWN_FRIENDSHIP_RATERS_HOUSE (6 | (6 << 8))
+#define MAP_VERDANTURF_TOWN_HOUSE (7 | (6 << 8))
+
+// Map Group 7
+#define MAP_PACIFIDLOG_TOWN_POKEMON_CENTER_1F (0 | (7 << 8))
+#define MAP_PACIFIDLOG_TOWN_POKEMON_CENTER_2F (1 | (7 << 8))
+#define MAP_PACIFIDLOG_TOWN_HOUSE1 (2 | (7 << 8))
+#define MAP_PACIFIDLOG_TOWN_HOUSE2 (3 | (7 << 8))
+#define MAP_PACIFIDLOG_TOWN_HOUSE3 (4 | (7 << 8))
+#define MAP_PACIFIDLOG_TOWN_HOUSE4 (5 | (7 << 8))
+#define MAP_PACIFIDLOG_TOWN_HOUSE5 (6 | (7 << 8))
+
+// Map Group 8
+#define MAP_PETALBURG_CITY_WALLYS_HOUSE (0 | (8 << 8))
+#define MAP_PETALBURG_CITY_GYM (1 | (8 << 8))
+#define MAP_PETALBURG_CITY_HOUSE1 (2 | (8 << 8))
+#define MAP_PETALBURG_CITY_HOUSE2 (3 | (8 << 8))
+#define MAP_PETALBURG_CITY_POKEMON_CENTER_1F (4 | (8 << 8))
+#define MAP_PETALBURG_CITY_POKEMON_CENTER_2F (5 | (8 << 8))
+#define MAP_PETALBURG_CITY_MART (6 | (8 << 8))
+
+// Map Group 9
+#define MAP_SLATEPORT_CITY_STERNS_SHIPYARD_1F (0 | (9 << 8))
+#define MAP_SLATEPORT_CITY_STERNS_SHIPYARD_2F (1 | (9 << 8))
+#define MAP_SLATEPORT_CITY_CONTEST_LOBBY (2 | (9 << 8))
+#define MAP_SLATEPORT_CITY_CONTEST_HALL (3 | (9 << 8))
+#define MAP_SLATEPORT_CITY_HOUSE1 (4 | (9 << 8))
+#define MAP_SLATEPORT_CITY_POKEMON_FAN_CLUB (5 | (9 << 8))
+#define MAP_SLATEPORT_CITY_OCEANIC_MUSEUM_1F (6 | (9 << 8))
+#define MAP_SLATEPORT_CITY_OCEANIC_MUSEUM_2F (7 | (9 << 8))
+#define MAP_SLATEPORT_CITY_HARBOR (8 | (9 << 8))
+#define MAP_SLATEPORT_CITY_HOUSE2 (9 | (9 << 8))
+#define MAP_SLATEPORT_CITY_POKEMON_CENTER_1F (10 | (9 << 8))
+#define MAP_SLATEPORT_CITY_POKEMON_CENTER_2F (11 | (9 << 8))
+#define MAP_SLATEPORT_CITY_MART (12 | (9 << 8))
+
+// Map Group 10
+#define MAP_MAUVILLE_CITY_GYM (0 | (10 << 8))
+#define MAP_MAUVILLE_CITY_BIKE_SHOP (1 | (10 << 8))
+#define MAP_MAUVILLE_CITY_HOUSE1 (2 | (10 << 8))
+#define MAP_MAUVILLE_CITY_GAME_CORNER (3 | (10 << 8))
+#define MAP_MAUVILLE_CITY_HOUSE2 (4 | (10 << 8))
+#define MAP_MAUVILLE_CITY_POKEMON_CENTER_1F (5 | (10 << 8))
+#define MAP_MAUVILLE_CITY_POKEMON_CENTER_2F (6 | (10 << 8))
+#define MAP_MAUVILLE_CITY_MART (7 | (10 << 8))
+
+// Map Group 11
+#define MAP_RUSTBORO_CITY_DEVON_CORP_1F (0 | (11 << 8))
+#define MAP_RUSTBORO_CITY_DEVON_CORP_2F (1 | (11 << 8))
+#define MAP_RUSTBORO_CITY_DEVON_CORP_3F (2 | (11 << 8))
+#define MAP_RUSTBORO_CITY_GYM (3 | (11 << 8))
+#define MAP_RUSTBORO_CITY_POKEMON_SCHOOL (4 | (11 << 8))
+#define MAP_RUSTBORO_CITY_POKEMON_CENTER_1F (5 | (11 << 8))
+#define MAP_RUSTBORO_CITY_POKEMON_CENTER_2F (6 | (11 << 8))
+#define MAP_RUSTBORO_CITY_MART (7 | (11 << 8))
+#define MAP_RUSTBORO_CITY_FLAT1_1F (8 | (11 << 8))
+#define MAP_RUSTBORO_CITY_FLAT1_2F (9 | (11 << 8))
+#define MAP_RUSTBORO_CITY_HOUSE1 (10 | (11 << 8))
+#define MAP_RUSTBORO_CITY_CUTTERS_HOUSE (11 | (11 << 8))
+#define MAP_RUSTBORO_CITY_HOUSE2 (12 | (11 << 8))
+#define MAP_RUSTBORO_CITY_FLAT2_1F (13 | (11 << 8))
+#define MAP_RUSTBORO_CITY_FLAT2_2F (14 | (11 << 8))
+#define MAP_RUSTBORO_CITY_FLAT2_3F (15 | (11 << 8))
+#define MAP_RUSTBORO_CITY_HOUSE3 (16 | (11 << 8))
+
+// Map Group 12
+#define MAP_FORTREE_CITY_HOUSE1 (0 | (12 << 8))
+#define MAP_FORTREE_CITY_GYM (1 | (12 << 8))
+#define MAP_FORTREE_CITY_POKEMON_CENTER_1F (2 | (12 << 8))
+#define MAP_FORTREE_CITY_POKEMON_CENTER_2F (3 | (12 << 8))
+#define MAP_FORTREE_CITY_MART (4 | (12 << 8))
+#define MAP_FORTREE_CITY_HOUSE2 (5 | (12 << 8))
+#define MAP_FORTREE_CITY_HOUSE3 (6 | (12 << 8))
+#define MAP_FORTREE_CITY_HOUSE4 (7 | (12 << 8))
+#define MAP_FORTREE_CITY_HOUSE5 (8 | (12 << 8))
+#define MAP_FORTREE_CITY_DECORATION_SHOP (9 | (12 << 8))
+
+// Map Group 13
+#define MAP_LILYCOVE_CITY_COVE_LILY_MOTEL_1F (0 | (13 << 8))
+#define MAP_LILYCOVE_CITY_COVE_LILY_MOTEL_2F (1 | (13 << 8))
+#define MAP_LILYCOVE_CITY_LILYCOVE_MUSEUM_1F (2 | (13 << 8))
+#define MAP_LILYCOVE_CITY_LILYCOVE_MUSEUM_2F (3 | (13 << 8))
+#define MAP_LILYCOVE_CITY_CONTEST_LOBBY (4 | (13 << 8))
+#define MAP_LILYCOVE_CITY_CONTEST_HALL (5 | (13 << 8))
+#define MAP_LILYCOVE_CITY_POKEMON_CENTER_1F (6 | (13 << 8))
+#define MAP_LILYCOVE_CITY_POKEMON_CENTER_2F (7 | (13 << 8))
+#define MAP_LILYCOVE_CITY_UNUSED_MART (8 | (13 << 8))
+#define MAP_LILYCOVE_CITY_POKEMON_TRAINER_FAN_CLUB (9 | (13 << 8))
+#define MAP_LILYCOVE_CITY_HARBOR (10 | (13 << 8))
+#define MAP_LILYCOVE_CITY_EMPTY_MAP (11 | (13 << 8))
+#define MAP_LILYCOVE_CITY_MOVE_DELETERS_HOUSE (12 | (13 << 8))
+#define MAP_LILYCOVE_CITY_HOUSE1 (13 | (13 << 8))
+#define MAP_LILYCOVE_CITY_HOUSE2 (14 | (13 << 8))
+#define MAP_LILYCOVE_CITY_HOUSE3 (15 | (13 << 8))
+#define MAP_LILYCOVE_CITY_HOUSE4 (16 | (13 << 8))
+#define MAP_LILYCOVE_CITY_DEPARTMENT_STORE_1F (17 | (13 << 8))
+#define MAP_LILYCOVE_CITY_DEPARTMENT_STORE_2F (18 | (13 << 8))
+#define MAP_LILYCOVE_CITY_DEPARTMENT_STORE_3F (19 | (13 << 8))
+#define MAP_LILYCOVE_CITY_DEPARTMENT_STORE_4F (20 | (13 << 8))
+#define MAP_LILYCOVE_CITY_DEPARTMENT_STORE_5F (21 | (13 << 8))
+#define MAP_LILYCOVE_CITY_DEPARTMENT_STORE_ROOFTOP (22 | (13 << 8))
+#define MAP_LILYCOVE_CITY_DEPARTMENT_STORE_ELEVATOR (23 | (13 << 8))
+
+// Map Group 14
+#define MAP_MOSSDEEP_CITY_GYM (0 | (14 << 8))
+#define MAP_MOSSDEEP_CITY_HOUSE1 (1 | (14 << 8))
+#define MAP_MOSSDEEP_CITY_HOUSE2 (2 | (14 << 8))
+#define MAP_MOSSDEEP_CITY_POKEMON_CENTER_1F (3 | (14 << 8))
+#define MAP_MOSSDEEP_CITY_POKEMON_CENTER_2F (4 | (14 << 8))
+#define MAP_MOSSDEEP_CITY_MART (5 | (14 << 8))
+#define MAP_MOSSDEEP_CITY_HOUSE3 (6 | (14 << 8))
+#define MAP_MOSSDEEP_CITY_STEVENS_HOUSE (7 | (14 << 8))
+#define MAP_MOSSDEEP_CITY_HOUSE4 (8 | (14 << 8))
+#define MAP_MOSSDEEP_CITY_SPACE_CENTER_1F (9 | (14 << 8))
+#define MAP_MOSSDEEP_CITY_SPACE_CENTER_2F (10 | (14 << 8))
+#define MAP_MOSSDEEP_CITY_GAME_CORNER_1F (11 | (14 << 8))
+#define MAP_MOSSDEEP_CITY_GAME_CORNER_B1F (12 | (14 << 8))
+
+// Map Group 15
+#define MAP_SOOTOPOLIS_CITY_GYM_1F (0 | (15 << 8))
+#define MAP_SOOTOPOLIS_CITY_GYM_B1F (1 | (15 << 8))
+#define MAP_SOOTOPOLIS_CITY_POKEMON_CENTER_1F (2 | (15 << 8))
+#define MAP_SOOTOPOLIS_CITY_POKEMON_CENTER_2F (3 | (15 << 8))
+#define MAP_SOOTOPOLIS_CITY_MART (4 | (15 << 8))
+#define MAP_SOOTOPOLIS_CITY_HOUSE1 (5 | (15 << 8))
+#define MAP_SOOTOPOLIS_CITY_HOUSE2 (6 | (15 << 8))
+#define MAP_SOOTOPOLIS_CITY_HOUSE3 (7 | (15 << 8))
+#define MAP_SOOTOPOLIS_CITY_HOUSE4 (8 | (15 << 8))
+#define MAP_SOOTOPOLIS_CITY_HOUSE5 (9 | (15 << 8))
+#define MAP_SOOTOPOLIS_CITY_HOUSE6 (10 | (15 << 8))
+#define MAP_SOOTOPOLIS_CITY_HOUSE7 (11 | (15 << 8))
+#define MAP_SOOTOPOLIS_CITY_HOUSE8 (12 | (15 << 8))
+
+// Map Group 16
+#define MAP_EVER_GRANDE_CITY_SIDNEYS_ROOM (0 | (16 << 8))
+#define MAP_EVER_GRANDE_CITY_PHOEBES_ROOM (1 | (16 << 8))
+#define MAP_EVER_GRANDE_CITY_GLACIAS_ROOM (2 | (16 << 8))
+#define MAP_EVER_GRANDE_CITY_DRAKES_ROOM (3 | (16 << 8))
+#define MAP_EVER_GRANDE_CITY_CHAMPIONS_ROOM (4 | (16 << 8))
+#define MAP_EVER_GRANDE_CITY_CORRIDOR1 (5 | (16 << 8))
+#define MAP_EVER_GRANDE_CITY_CORRIDOR2 (6 | (16 << 8))
+#define MAP_EVER_GRANDE_CITY_CORRIDOR3 (7 | (16 << 8))
+#define MAP_EVER_GRANDE_CITY_CORRIDOR4 (8 | (16 << 8))
+#define MAP_EVER_GRANDE_CITY_CORRIDOR5 (9 | (16 << 8))
+#define MAP_EVER_GRANDE_CITY_POKEMON_LEAGUE (10 | (16 << 8))
+#define MAP_EVER_GRANDE_CITY_HALL_OF_FAME (11 | (16 << 8))
+#define MAP_EVER_GRANDE_CITY_POKEMON_CENTER_1F (12 | (16 << 8))
+#define MAP_EVER_GRANDE_CITY_POKEMON_CENTER_2F (13 | (16 << 8))
+
+// Map Group 17
+#define MAP_ROUTE104_MR_BRINEYS_HOUSE (0 | (17 << 8))
+#define MAP_ROUTE104_PRETTY_PETAL_FLOWER_SHOP (1 | (17 << 8))
+
+// Map Group 18
+#define MAP_ROUTE111_WINSTRATE_FAMILYS_HOUSE (0 | (18 << 8))
+#define MAP_ROUTE111_OLD_LADYS_REST_STOP (1 | (18 << 8))
+
+// Map Group 19
+#define MAP_ROUTE112_CABLE_CAR_STATION (0 | (19 << 8))
+#define MAP_MT_CHIMNEY_CABLE_CAR_STATION (1 | (19 << 8))
+
+// Map Group 20
+#define MAP_ROUTE114_FOSSIL_MANIACS_HOUSE (0 | (20 << 8))
+#define MAP_ROUTE114_FOSSIL_MANIACS_TUNNEL (1 | (20 << 8))
+#define MAP_ROUTE114_LANETTES_HOUSE (2 | (20 << 8))
+
+// Map Group 21
+#define MAP_ROUTE116_TUNNELERS_REST_HOUSE (0 | (21 << 8))
+
+// Map Group 22
+#define MAP_ROUTE117_POKEMON_DAY_CARE (0 | (22 << 8))
+
+// Map Group 23
+#define MAP_ROUTE121_SAFARI_ZONE_ENTRANCE (0 | (23 << 8))
+
+// Map Group 24
+#define MAP_METEOR_FALLS_1F_1R (0 | (24 << 8))
+#define MAP_METEOR_FALLS_1F_2R (1 | (24 << 8))
+#define MAP_METEOR_FALLS_B1F_1R (2 | (24 << 8))
+#define MAP_METEOR_FALLS_B1F_2R (3 | (24 << 8))
+#define MAP_RUSTURF_TUNNEL (4 | (24 << 8))
+#define MAP_UNDERWATER_SOOTOPOLIS_CITY (5 | (24 << 8))
+#define MAP_DESERT_RUINS (6 | (24 << 8))
+#define MAP_GRANITE_CAVE_1F (7 | (24 << 8))
+#define MAP_GRANITE_CAVE_B1F (8 | (24 << 8))
+#define MAP_GRANITE_CAVE_B2F (9 | (24 << 8))
+#define MAP_GRANITE_CAVE_STEVENS_ROOM (10 | (24 << 8))
+#define MAP_PETALBURG_WOODS (11 | (24 << 8))
+#define MAP_MT_CHIMNEY (12 | (24 << 8))
+#define MAP_JAGGED_PASS (13 | (24 << 8))
+#define MAP_FIERY_PATH (14 | (24 << 8))
+#define MAP_MT_PYRE_1F (15 | (24 << 8))
+#define MAP_MT_PYRE_2F (16 | (24 << 8))
+#define MAP_MT_PYRE_3F (17 | (24 << 8))
+#define MAP_MT_PYRE_4F (18 | (24 << 8))
+#define MAP_MT_PYRE_5F (19 | (24 << 8))
+#define MAP_MT_PYRE_6F (20 | (24 << 8))
+#define MAP_MT_PYRE_EXTERIOR (21 | (24 << 8))
+#define MAP_MT_PYRE_SUMMIT (22 | (24 << 8))
+#define MAP_AQUA_HIDEOUT_1F (23 | (24 << 8))
+#define MAP_AQUA_HIDEOUT_B1F (24 | (24 << 8))
+#define MAP_AQUA_HIDEOUT_B2F (25 | (24 << 8))
+#define MAP_UNDERWATER_SEAFLOOR_CAVERN (26 | (24 << 8))
+#define MAP_SEAFLOOR_CAVERN_ENTRANCE (27 | (24 << 8))
+#define MAP_SEAFLOOR_CAVERN_ROOM1 (28 | (24 << 8))
+#define MAP_SEAFLOOR_CAVERN_ROOM2 (29 | (24 << 8))
+#define MAP_SEAFLOOR_CAVERN_ROOM3 (30 | (24 << 8))
+#define MAP_SEAFLOOR_CAVERN_ROOM4 (31 | (24 << 8))
+#define MAP_SEAFLOOR_CAVERN_ROOM5 (32 | (24 << 8))
+#define MAP_SEAFLOOR_CAVERN_ROOM6 (33 | (24 << 8))
+#define MAP_SEAFLOOR_CAVERN_ROOM7 (34 | (24 << 8))
+#define MAP_SEAFLOOR_CAVERN_ROOM8 (35 | (24 << 8))
+#define MAP_SEAFLOOR_CAVERN_ROOM9 (36 | (24 << 8))
+#define MAP_CAVE_OF_ORIGIN_ENTRANCE (37 | (24 << 8))
+#define MAP_CAVE_OF_ORIGIN_1F (38 | (24 << 8))
+#define MAP_CAVE_OF_ORIGIN_B1F (39 | (24 << 8))
+#define MAP_CAVE_OF_ORIGIN_B2F (40 | (24 << 8))
+#define MAP_CAVE_OF_ORIGIN_B3F (41 | (24 << 8))
+#define MAP_CAVE_OF_ORIGIN_B4F (42 | (24 << 8))
+#define MAP_VICTORY_ROAD_1F (43 | (24 << 8))
+#define MAP_VICTORY_ROAD_B1F (44 | (24 << 8))
+#define MAP_VICTORY_ROAD_B2F (45 | (24 << 8))
+#define MAP_SHOAL_CAVE_LOW_TIDE_ENTRANCE_ROOM (46 | (24 << 8))
+#define MAP_SHOAL_CAVE_LOW_TIDE_INNER_ROOM (47 | (24 << 8))
+#define MAP_SHOAL_CAVE_LOW_TIDE_STAIRS_ROOM (48 | (24 << 8))
+#define MAP_SHOAL_CAVE_LOW_TIDE_LOWER_ROOM (49 | (24 << 8))
+#define MAP_SHOAL_CAVE_HIGH_TIDE_ENTRANCE_ROOM (50 | (24 << 8))
+#define MAP_SHOAL_CAVE_HIGH_TIDE_INNER_ROOM (51 | (24 << 8))
+#define MAP_NEW_MAUVILLE_ENTRANCE (52 | (24 << 8))
+#define MAP_NEW_MAUVILLE_INSIDE (53 | (24 << 8))
+#define MAP_ABANDONED_SHIP_DECK (54 | (24 << 8))
+#define MAP_ABANDONED_SHIP_CORRIDORS_1F (55 | (24 << 8))
+#define MAP_ABANDONED_SHIP_ROOMS_1F (56 | (24 << 8))
+#define MAP_ABANDONED_SHIP_CORRIDORS_B1F (57 | (24 << 8))
+#define MAP_ABANDONED_SHIP_ROOMS_B1F (58 | (24 << 8))
+#define MAP_ABANDONED_SHIP_ROOMS2_B1F (59 | (24 << 8))
+#define MAP_ABANDONED_SHIP_UNDERWATER1 (60 | (24 << 8))
+#define MAP_ABANDONED_SHIP_ROOM_B1F (61 | (24 << 8))
+#define MAP_ABANDONED_SHIP_ROOMS2_1F (62 | (24 << 8))
+#define MAP_ABANDONED_SHIP_CAPTAINS_OFFICE (63 | (24 << 8))
+#define MAP_ABANDONED_SHIP_UNDERWATER2 (64 | (24 << 8))
+#define MAP_ABANDONED_SHIP_HIDDEN_FLOOR_CORRIDORS (65 | (24 << 8))
+#define MAP_ABANDONED_SHIP_HIDDEN_FLOOR_ROOMS (66 | (24 << 8))
+#define MAP_ISLAND_CAVE (67 | (24 << 8))
+#define MAP_ANCIENT_TOMB (68 | (24 << 8))
+#define MAP_UNDERWATER_ROUTE134 (69 | (24 << 8))
+#define MAP_UNDERWATER_SEALED_CHAMBER (70 | (24 << 8))
+#define MAP_SEALED_CHAMBER_OUTER_ROOM (71 | (24 << 8))
+#define MAP_SEALED_CHAMBER_INNER_ROOM (72 | (24 << 8))
+#define MAP_SCORCHED_SLAB (73 | (24 << 8))
+#define MAP_MAGMA_HIDEOUT_1F (74 | (24 << 8))
+#define MAP_MAGMA_HIDEOUT_B1F (75 | (24 << 8))
+#define MAP_MAGMA_HIDEOUT_B2F (76 | (24 << 8))
+#define MAP_SKY_PILLAR_ENTRANCE (77 | (24 << 8))
+#define MAP_SKY_PILLAR_OUTSIDE (78 | (24 << 8))
+#define MAP_SKY_PILLAR_1F (79 | (24 << 8))
+#define MAP_SKY_PILLAR_2F (80 | (24 << 8))
+#define MAP_SKY_PILLAR_3F (81 | (24 << 8))
+#define MAP_SKY_PILLAR_4F (82 | (24 << 8))
+#define MAP_SHOAL_CAVE_LOW_TIDE_ICE_ROOM (83 | (24 << 8))
+#define MAP_SKY_PILLAR_5F (84 | (24 << 8))
+#define MAP_SKY_PILLAR_TOP (85 | (24 << 8))
+
+// Map Group 25
+#define MAP_SECRET_BASE_RED_CAVE1 (0 | (25 << 8))
+#define MAP_SECRET_BASE_BROWN_CAVE1 (1 | (25 << 8))
+#define MAP_SECRET_BASE_BLUE_CAVE1 (2 | (25 << 8))
+#define MAP_SECRET_BASE_YELLOW_CAVE1 (3 | (25 << 8))
+#define MAP_SECRET_BASE_TREE1 (4 | (25 << 8))
+#define MAP_SECRET_BASE_SHRUB1 (5 | (25 << 8))
+#define MAP_SECRET_BASE_RED_CAVE2 (6 | (25 << 8))
+#define MAP_SECRET_BASE_BROWN_CAVE2 (7 | (25 << 8))
+#define MAP_SECRET_BASE_BLUE_CAVE2 (8 | (25 << 8))
+#define MAP_SECRET_BASE_YELLOW_CAVE2 (9 | (25 << 8))
+#define MAP_SECRET_BASE_TREE2 (10 | (25 << 8))
+#define MAP_SECRET_BASE_SHRUB2 (11 | (25 << 8))
+#define MAP_SECRET_BASE_RED_CAVE3 (12 | (25 << 8))
+#define MAP_SECRET_BASE_BROWN_CAVE3 (13 | (25 << 8))
+#define MAP_SECRET_BASE_BLUE_CAVE3 (14 | (25 << 8))
+#define MAP_SECRET_BASE_YELLOW_CAVE3 (15 | (25 << 8))
+#define MAP_SECRET_BASE_TREE3 (16 | (25 << 8))
+#define MAP_SECRET_BASE_SHRUB3 (17 | (25 << 8))
+#define MAP_SECRET_BASE_RED_CAVE4 (18 | (25 << 8))
+#define MAP_SECRET_BASE_BROWN_CAVE4 (19 | (25 << 8))
+#define MAP_SECRET_BASE_BLUE_CAVE4 (20 | (25 << 8))
+#define MAP_SECRET_BASE_YELLOW_CAVE4 (21 | (25 << 8))
+#define MAP_SECRET_BASE_TREE4 (22 | (25 << 8))
+#define MAP_SECRET_BASE_SHRUB4 (23 | (25 << 8))
+#define MAP_SINGLE_BATTLE_COLOSSEUM (24 | (25 << 8))
+#define MAP_TRADE_CENTER (25 | (25 << 8))
+#define MAP_RECORD_CORNER (26 | (25 << 8))
+#define MAP_DOUBLE_BATTLE_COLOSSEUM (27 | (25 << 8))
+#define MAP_LINK_CONTEST_ROOM1 (28 | (25 << 8))
+#define MAP_UNKNOWN_MAP_25_29 (29 | (25 << 8))
+#define MAP_UNKNOWN_MAP_25_30 (30 | (25 << 8))
+#define MAP_UNKNOWN_MAP_25_31 (31 | (25 << 8))
+#define MAP_UNKNOWN_MAP_25_32 (32 | (25 << 8))
+#define MAP_UNKNOWN_MAP_25_33 (33 | (25 << 8))
+#define MAP_UNKNOWN_MAP_25_34 (34 | (25 << 8))
+#define MAP_LINK_CONTEST_ROOM2 (35 | (25 << 8))
+#define MAP_LINK_CONTEST_ROOM3 (36 | (25 << 8))
+#define MAP_LINK_CONTEST_ROOM4 (37 | (25 << 8))
+#define MAP_LINK_CONTEST_ROOM5 (38 | (25 << 8))
+#define MAP_LINK_CONTEST_ROOM6 (39 | (25 << 8))
+#define MAP_INSIDE_OF_TRUCK (40 | (25 << 8))
+#define MAP_SS_TIDAL_CORRIDOR (41 | (25 << 8))
+#define MAP_SS_TIDAL_LOWER_DECK (42 | (25 << 8))
+#define MAP_SS_TIDAL_ROOMS (43 | (25 << 8))
+
+// Map Group 26
+#define MAP_SAFARI_ZONE_NORTHWEST (0 | (26 << 8))
+#define MAP_SAFARI_ZONE_NORTHEAST (1 | (26 << 8))
+#define MAP_SAFARI_ZONE_SOUTHWEST (2 | (26 << 8))
+#define MAP_SAFARI_ZONE_SOUTHEAST (3 | (26 << 8))
+#define MAP_BATTLE_TOWER_OUTSIDE (4 | (26 << 8))
+#define MAP_BATTLE_TOWER_LOBBY (5 | (26 << 8))
+#define MAP_BATTLE_TOWER_ELEVATOR (6 | (26 << 8))
+#define MAP_BATTLE_TOWER_CORRIDOR (7 | (26 << 8))
+#define MAP_BATTLE_TOWER_BATTLE_ROOM (8 | (26 << 8))
+#define MAP_SOUTHERN_ISLAND_EXTERIOR (9 | (26 << 8))
+#define MAP_SOUTHERN_ISLAND_INTERIOR (10 | (26 << 8))
+#define MAP_SAFARI_ZONE_REST_HOUSE (11 | (26 << 8))
+
+// Map Group 27
+#define MAP_ROUTE104_PROTOTYPE (0 | (27 << 8))
+#define MAP_ROUTE104_PROTOTYPE_PRETTY_PETAL_FLOWER_SHOP (1 | (27 << 8))
+
+// Map Group 28
+#define MAP_ROUTE109_SEASHORE_HOUSE (0 | (28 << 8))
+
+// Map Group 29
+#define MAP_ROUTE110_TRICK_HOUSE_ENTRANCE (0 | (29 << 8))
+#define MAP_ROUTE110_TRICK_HOUSE_END (1 | (29 << 8))
+#define MAP_ROUTE110_TRICK_HOUSE_CORRIDOR (2 | (29 << 8))
+#define MAP_ROUTE110_TRICK_HOUSE_PUZZLE1 (3 | (29 << 8))
+#define MAP_ROUTE110_TRICK_HOUSE_PUZZLE2 (4 | (29 << 8))
+#define MAP_ROUTE110_TRICK_HOUSE_PUZZLE3 (5 | (29 << 8))
+#define MAP_ROUTE110_TRICK_HOUSE_PUZZLE4 (6 | (29 << 8))
+#define MAP_ROUTE110_TRICK_HOUSE_PUZZLE5 (7 | (29 << 8))
+#define MAP_ROUTE110_TRICK_HOUSE_PUZZLE6 (8 | (29 << 8))
+#define MAP_ROUTE110_TRICK_HOUSE_PUZZLE7 (9 | (29 << 8))
+#define MAP_ROUTE110_TRICK_HOUSE_PUZZLE8 (10 | (29 << 8))
+#define MAP_ROUTE110_SEASIDE_CYCLING_ROAD_SOUTH_ENTRANCE (11 | (29 << 8))
+#define MAP_ROUTE110_SEASIDE_CYCLING_ROAD_NORTH_ENTRANCE (12 | (29 << 8))
+
+// Map Group 30
+#define MAP_ROUTE113_GLASS_WORKSHOP (0 | (30 << 8))
+
+// Map Group 31
+#define MAP_ROUTE123_BERRY_MASTERS_HOUSE (0 | (31 << 8))
+
+// Map Group 32
+#define MAP_ROUTE119_WEATHER_INSTITUTE_1F (0 | (32 << 8))
+#define MAP_ROUTE119_WEATHER_INSTITUTE_2F (1 | (32 << 8))
+#define MAP_ROUTE119_HOUSE (2 | (32 << 8))
+
+// Map Group 33
+#define MAP_ROUTE124_DIVING_TREASURE_HUNTERS_HOUSE (0 | (33 << 8))
+
+#define MAP_GROUPS_COUNT 34
+
+#endif // GUARD_CONSTANTS_MAP_GROUPS_H
diff --git a/include/constants/maps.h b/include/constants/maps.h
index f96591f60..e1e2da992 100644
--- a/include/constants/maps.h
+++ b/include/constants/maps.h
@@ -1,473 +1,11 @@
#ifndef GUARD_CONSTANTS_MAPS_H
#define GUARD_CONSTANTS_MAPS_H
-// Map Group 0
-#define MAP_PETALBURG_CITY (0 | (0 << 8))
-#define MAP_SLATEPORT_CITY (1 | (0 << 8))
-#define MAP_MAUVILLE_CITY (2 | (0 << 8))
-#define MAP_RUSTBORO_CITY (3 | (0 << 8))
-#define MAP_FORTREE_CITY (4 | (0 << 8))
-#define MAP_LILYCOVE_CITY (5 | (0 << 8))
-#define MAP_MOSSDEEP_CITY (6 | (0 << 8))
-#define MAP_SOOTOPOLIS_CITY (7 | (0 << 8))
-#define MAP_EVER_GRANDE_CITY (8 | (0 << 8))
-#define MAP_LITTLEROOT_TOWN (9 | (0 << 8))
-#define MAP_OLDALE_TOWN (10 | (0 << 8))
-#define MAP_DEWFORD_TOWN (11 | (0 << 8))
-#define MAP_LAVARIDGE_TOWN (12 | (0 << 8))
-#define MAP_FALLARBOR_TOWN (13 | (0 << 8))
-#define MAP_VERDANTURF_TOWN (14 | (0 << 8))
-#define MAP_PACIFIDLOG_TOWN (15 | (0 << 8))
-#define MAP_ROUTE101 (16 | (0 << 8))
-#define MAP_ROUTE102 (17 | (0 << 8))
-#define MAP_ROUTE103 (18 | (0 << 8))
-#define MAP_ROUTE104 (19 | (0 << 8))
-#define MAP_ROUTE105 (20 | (0 << 8))
-#define MAP_ROUTE106 (21 | (0 << 8))
-#define MAP_ROUTE107 (22 | (0 << 8))
-#define MAP_ROUTE108 (23 | (0 << 8))
-#define MAP_ROUTE109 (24 | (0 << 8))
-#define MAP_ROUTE110 (25 | (0 << 8))
-#define MAP_ROUTE111 (26 | (0 << 8))
-#define MAP_ROUTE112 (27 | (0 << 8))
-#define MAP_ROUTE113 (28 | (0 << 8))
-#define MAP_ROUTE114 (29 | (0 << 8))
-#define MAP_ROUTE115 (30 | (0 << 8))
-#define MAP_ROUTE116 (31 | (0 << 8))
-#define MAP_ROUTE117 (32 | (0 << 8))
-#define MAP_ROUTE118 (33 | (0 << 8))
-#define MAP_ROUTE119 (34 | (0 << 8))
-#define MAP_ROUTE120 (35 | (0 << 8))
-#define MAP_ROUTE121 (36 | (0 << 8))
-#define MAP_ROUTE122 (37 | (0 << 8))
-#define MAP_ROUTE123 (38 | (0 << 8))
-#define MAP_ROUTE124 (39 | (0 << 8))
-#define MAP_ROUTE125 (40 | (0 << 8))
-#define MAP_ROUTE126 (41 | (0 << 8))
-#define MAP_ROUTE127 (42 | (0 << 8))
-#define MAP_ROUTE128 (43 | (0 << 8))
-#define MAP_ROUTE129 (44 | (0 << 8))
-#define MAP_ROUTE130 (45 | (0 << 8))
-#define MAP_ROUTE131 (46 | (0 << 8))
-#define MAP_ROUTE132 (47 | (0 << 8))
-#define MAP_ROUTE133 (48 | (0 << 8))
-#define MAP_ROUTE134 (49 | (0 << 8))
-#define MAP_UNDERWATER1 (50 | (0 << 8))
-#define MAP_UNDERWATER2 (51 | (0 << 8))
-#define MAP_UNDERWATER3 (52 | (0 << 8))
-#define MAP_UNDERWATER4 (53 | (0 << 8))
-
-// Map Group 1
-#define MAP_LITTLEROOT_TOWN_BRENDANS_HOUSE_1F (0 | (1 << 8))
-#define MAP_LITTLEROOT_TOWN_BRENDANS_HOUSE_2F (1 | (1 << 8))
-#define MAP_LITTLEROOT_TOWN_MAYS_HOUSE_1F (2 | (1 << 8))
-#define MAP_LITTLEROOT_TOWN_MAYS_HOUSE_2F (3 | (1 << 8))
-#define MAP_LITTLEROOT_TOWN_PROFESSOR_BIRCHS_LAB (4 | (1 << 8))
-
-// Map Group 2
-#define MAP_OLDALE_TOWN_HOUSE1 (0 | (2 << 8))
-#define MAP_OLDALE_TOWN_HOUSE2 (1 | (2 << 8))
-#define MAP_OLDALE_TOWN_POKEMON_CENTER_1F (2 | (2 << 8))
-#define MAP_OLDALE_TOWN_POKEMON_CENTER_2F (3 | (2 << 8))
-#define MAP_OLDALE_TOWN_MART (4 | (2 << 8))
-
-// Map Group 3
-#define MAP_DEWFORD_TOWN_HOUSE1 (0 | (3 << 8))
-#define MAP_DEWFORD_TOWN_POKEMON_CENTER_1F (1 | (3 << 8))
-#define MAP_DEWFORD_TOWN_POKEMON_CENTER_2F (2 | (3 << 8))
-#define MAP_DEWFORD_TOWN_GYM (3 | (3 << 8))
-#define MAP_DEWFORD_TOWN_HALL (4 | (3 << 8))
-#define MAP_DEWFORD_TOWN_HOUSE2 (5 | (3 << 8))
-
-// Map Group 4
-#define MAP_LAVARIDGE_TOWN_HERB_SHOP (0 | (4 << 8))
-#define MAP_LAVARIDGE_TOWN_GYM_1F (1 | (4 << 8))
-#define MAP_LAVARIDGE_TOWN_GYM_B1F (2 | (4 << 8))
-#define MAP_LAVARIDGE_TOWN_HOUSE (3 | (4 << 8))
-#define MAP_LAVARIDGE_TOWN_MART (4 | (4 << 8))
-#define MAP_LAVARIDGE_TOWN_POKEMON_CENTER_1F (5 | (4 << 8))
-#define MAP_LAVARIDGE_TOWN_POKEMON_CENTER_2F (6 | (4 << 8))
-
-// Map Group 5
-#define MAP_FALLARBOR_TOWN_MART (0 | (5 << 8))
-#define MAP_FALLARBOR_TOWN_CONTEST_LOBBY (1 | (5 << 8))
-#define MAP_FALLARBOR_TOWN_CONTEST_HALL (2 | (5 << 8))
-#define MAP_FALLARBOR_TOWN_POKEMON_CENTER_1F (3 | (5 << 8))
-#define MAP_FALLARBOR_TOWN_POKEMON_CENTER_2F (4 | (5 << 8))
-#define MAP_FALLARBOR_TOWN_HOUSE1 (5 | (5 << 8))
-#define MAP_FALLARBOR_TOWN_HOUSE2 (6 | (5 << 8))
-
-// Map Group 6
-#define MAP_VERDANTURF_TOWN_CONTEST_LOBBY (0 | (6 << 8))
-#define MAP_VERDANTURF_TOWN_CONTEST_HALL (1 | (6 << 8))
-#define MAP_VERDANTURF_TOWN_MART (2 | (6 << 8))
-#define MAP_VERDANTURF_TOWN_POKEMON_CENTER_1F (3 | (6 << 8))
-#define MAP_VERDANTURF_TOWN_POKEMON_CENTER_2F (4 | (6 << 8))
-#define MAP_VERDANTURF_TOWN_WANDAS_HOUSE (5 | (6 << 8))
-#define MAP_VERDANTURF_TOWN_FRIENDSHIP_RATERS_HOUSE (6 | (6 << 8))
-#define MAP_VERDANTURF_TOWN_HOUSE (7 | (6 << 8))
-
-// Map Group 7
-#define MAP_PACIFIDLOG_TOWN_POKEMON_CENTER_1F (0 | (7 << 8))
-#define MAP_PACIFIDLOG_TOWN_POKEMON_CENTER_2F (1 | (7 << 8))
-#define MAP_PACIFIDLOG_TOWN_HOUSE1 (2 | (7 << 8))
-#define MAP_PACIFIDLOG_TOWN_HOUSE2 (3 | (7 << 8))
-#define MAP_PACIFIDLOG_TOWN_HOUSE3 (4 | (7 << 8))
-#define MAP_PACIFIDLOG_TOWN_HOUSE4 (5 | (7 << 8))
-#define MAP_PACIFIDLOG_TOWN_HOUSE5 (6 | (7 << 8))
-
-// Map Group 8
-#define MAP_PETALBURG_CITY_WALLYS_HOUSE (0 | (8 << 8))
-#define MAP_PETALBURG_CITY_GYM (1 | (8 << 8))
-#define MAP_PETALBURG_CITY_HOUSE1 (2 | (8 << 8))
-#define MAP_PETALBURG_CITY_HOUSE2 (3 | (8 << 8))
-#define MAP_PETALBURG_CITY_POKEMON_CENTER_1F (4 | (8 << 8))
-#define MAP_PETALBURG_CITY_POKEMON_CENTER_2F (5 | (8 << 8))
-#define MAP_PETALBURG_CITY_MART (6 | (8 << 8))
-
-// Map Group 9
-#define MAP_SLATEPORT_CITY_STERNS_SHIPYARD_1F (0 | (9 << 8))
-#define MAP_SLATEPORT_CITY_STERNS_SHIPYARD_2F (1 | (9 << 8))
-#define MAP_SLATEPORT_CITY_CONTEST_LOBBY (2 | (9 << 8))
-#define MAP_SLATEPORT_CITY_CONTEST_HALL (3 | (9 << 8))
-#define MAP_SLATEPORT_CITY_HOUSE1 (4 | (9 << 8))
-#define MAP_SLATEPORT_CITY_POKEMON_FAN_CLUB (5 | (9 << 8))
-#define MAP_SLATEPORT_CITY_OCEANIC_MUSEUM_1F (6 | (9 << 8))
-#define MAP_SLATEPORT_CITY_OCEANIC_MUSEUM_2F (7 | (9 << 8))
-#define MAP_SLATEPORT_CITY_HARBOR (8 | (9 << 8))
-#define MAP_SLATEPORT_CITY_HOUSE2 (9 | (9 << 8))
-#define MAP_SLATEPORT_CITY_POKEMON_CENTER_1F (10 | (9 << 8))
-#define MAP_SLATEPORT_CITY_POKEMON_CENTER_2F (11 | (9 << 8))
-#define MAP_SLATEPORT_CITY_MART (12 | (9 << 8))
-
-// Map Group 10
-#define MAP_MAUVILLE_CITY_GYM (0 | (10 << 8))
-#define MAP_MAUVILLE_CITY_BIKE_SHOP (1 | (10 << 8))
-#define MAP_MAUVILLE_CITY_HOUSE1 (2 | (10 << 8))
-#define MAP_MAUVILLE_CITY_GAME_CORNER (3 | (10 << 8))
-#define MAP_MAUVILLE_CITY_HOUSE2 (4 | (10 << 8))
-#define MAP_MAUVILLE_CITY_POKEMON_CENTER_1F (5 | (10 << 8))
-#define MAP_MAUVILLE_CITY_POKEMON_CENTER_2F (6 | (10 << 8))
-#define MAP_MAUVILLE_CITY_MART (7 | (10 << 8))
-
-// Map Group 11
-#define MAP_RUSTBORO_CITY_DEVON_CORP_1F (0 | (11 << 8))
-#define MAP_RUSTBORO_CITY_DEVON_CORP_2F (1 | (11 << 8))
-#define MAP_RUSTBORO_CITY_DEVON_CORP_3F (2 | (11 << 8))
-#define MAP_RUSTBORO_CITY_GYM (3 | (11 << 8))
-#define MAP_RUSTBORO_CITY_POKEMON_SCHOOL (4 | (11 << 8))
-#define MAP_RUSTBORO_CITY_POKEMON_CENTER_1F (5 | (11 << 8))
-#define MAP_RUSTBORO_CITY_POKEMON_CENTER_2F (6 | (11 << 8))
-#define MAP_RUSTBORO_CITY_MART (7 | (11 << 8))
-#define MAP_RUSTBORO_CITY_FLAT1_1F (8 | (11 << 8))
-#define MAP_RUSTBORO_CITY_FLAT1_2F (9 | (11 << 8))
-#define MAP_RUSTBORO_CITY_HOUSE1 (10 | (11 << 8))
-#define MAP_RUSTBORO_CITY_CUTTERS_HOUSE (11 | (11 << 8))
-#define MAP_RUSTBORO_CITY_HOUSE2 (12 | (11 << 8))
-#define MAP_RUSTBORO_CITY_FLAT2_1F (13 | (11 << 8))
-#define MAP_RUSTBORO_CITY_FLAT2_2F (14 | (11 << 8))
-#define MAP_RUSTBORO_CITY_FLAT2_3F (15 | (11 << 8))
-#define MAP_RUSTBORO_CITY_HOUSE3 (16 | (11 << 8))
-
-// Map Group 12
-#define MAP_FORTREE_CITY_HOUSE1 (0 | (12 << 8))
-#define MAP_FORTREE_CITY_GYM (1 | (12 << 8))
-#define MAP_FORTREE_CITY_POKEMON_CENTER_1F (2 | (12 << 8))
-#define MAP_FORTREE_CITY_POKEMON_CENTER_2F (3 | (12 << 8))
-#define MAP_FORTREE_CITY_MART (4 | (12 << 8))
-#define MAP_FORTREE_CITY_HOUSE2 (5 | (12 << 8))
-#define MAP_FORTREE_CITY_HOUSE3 (6 | (12 << 8))
-#define MAP_FORTREE_CITY_HOUSE4 (7 | (12 << 8))
-#define MAP_FORTREE_CITY_HOUSE5 (8 | (12 << 8))
-#define MAP_FORTREE_CITY_DECORATION_SHOP (9 | (12 << 8))
-
-// Map Group 13
-#define MAP_LILYCOVE_CITY_COVE_LILY_MOTEL_1F (0 | (13 << 8))
-#define MAP_LILYCOVE_CITY_COVE_LILY_MOTEL_2F (1 | (13 << 8))
-#define MAP_LILYCOVE_CITY_LILYCOVE_MUSEUM_1F (2 | (13 << 8))
-#define MAP_LILYCOVE_CITY_LILYCOVE_MUSEUM_2F (3 | (13 << 8))
-#define MAP_LILYCOVE_CITY_CONTEST_LOBBY (4 | (13 << 8))
-#define MAP_LILYCOVE_CITY_CONTEST_HALL (5 | (13 << 8))
-#define MAP_LILYCOVE_CITY_POKEMON_CENTER_1F (6 | (13 << 8))
-#define MAP_LILYCOVE_CITY_POKEMON_CENTER_2F (7 | (13 << 8))
-#define MAP_LILYCOVE_CITY_UNUSED_MART (8 | (13 << 8))
-#define MAP_LILYCOVE_CITY_POKEMON_TRAINER_FAN_CLUB (9 | (13 << 8))
-#define MAP_LILYCOVE_CITY_HARBOR (10 | (13 << 8))
-#define MAP_LILYCOVE_CITY_EMPTY_MAP (11 | (13 << 8))
-#define MAP_LILYCOVE_CITY_MOVE_DELETERS_HOUSE (12 | (13 << 8))
-#define MAP_LILYCOVE_CITY_HOUSE1 (13 | (13 << 8))
-#define MAP_LILYCOVE_CITY_HOUSE2 (14 | (13 << 8))
-#define MAP_LILYCOVE_CITY_HOUSE3 (15 | (13 << 8))
-#define MAP_LILYCOVE_CITY_HOUSE4 (16 | (13 << 8))
-#define MAP_LILYCOVE_CITY_DEPARTMENT_STORE_1F (17 | (13 << 8))
-#define MAP_LILYCOVE_CITY_DEPARTMENT_STORE_2F (18 | (13 << 8))
-#define MAP_LILYCOVE_CITY_DEPARTMENT_STORE_3F (19 | (13 << 8))
-#define MAP_LILYCOVE_CITY_DEPARTMENT_STORE_4F (20 | (13 << 8))
-#define MAP_LILYCOVE_CITY_DEPARTMENT_STORE_5F (21 | (13 << 8))
-#define MAP_LILYCOVE_CITY_DEPARTMENT_STORE_ROOFTOP (22 | (13 << 8))
-#define MAP_LILYCOVE_CITY_DEPARTMENT_STORE_ELEVATOR (23 | (13 << 8))
-
-// Map Group 14
-#define MAP_MOSSDEEP_CITY_GYM (0 | (14 << 8))
-#define MAP_MOSSDEEP_CITY_HOUSE1 (1 | (14 << 8))
-#define MAP_MOSSDEEP_CITY_HOUSE2 (2 | (14 << 8))
-#define MAP_MOSSDEEP_CITY_POKEMON_CENTER_1F (3 | (14 << 8))
-#define MAP_MOSSDEEP_CITY_POKEMON_CENTER_2F (4 | (14 << 8))
-#define MAP_MOSSDEEP_CITY_MART (5 | (14 << 8))
-#define MAP_MOSSDEEP_CITY_HOUSE3 (6 | (14 << 8))
-#define MAP_MOSSDEEP_CITY_STEVENS_HOUSE (7 | (14 << 8))
-#define MAP_MOSSDEEP_CITY_HOUSE4 (8 | (14 << 8))
-#define MAP_MOSSDEEP_CITY_SPACE_CENTER_1F (9 | (14 << 8))
-#define MAP_MOSSDEEP_CITY_SPACE_CENTER_2F (10 | (14 << 8))
-#define MAP_MOSSDEEP_CITY_GAME_CORNER_1F (11 | (14 << 8))
-#define MAP_MOSSDEEP_CITY_GAME_CORNER_B1F (12 | (14 << 8))
-
-// Map Group 15
-#define MAP_SOOTOPOLIS_CITY_GYM_1F (0 | (15 << 8))
-#define MAP_SOOTOPOLIS_CITY_GYM_B1F (1 | (15 << 8))
-#define MAP_SOOTOPOLIS_CITY_POKEMON_CENTER_1F (2 | (15 << 8))
-#define MAP_SOOTOPOLIS_CITY_POKEMON_CENTER_2F (3 | (15 << 8))
-#define MAP_SOOTOPOLIS_CITY_MART (4 | (15 << 8))
-#define MAP_SOOTOPOLIS_CITY_HOUSE1 (5 | (15 << 8))
-#define MAP_SOOTOPOLIS_CITY_HOUSE2 (6 | (15 << 8))
-#define MAP_SOOTOPOLIS_CITY_HOUSE3 (7 | (15 << 8))
-#define MAP_SOOTOPOLIS_CITY_HOUSE4 (8 | (15 << 8))
-#define MAP_SOOTOPOLIS_CITY_HOUSE5 (9 | (15 << 8))
-#define MAP_SOOTOPOLIS_CITY_HOUSE6 (10 | (15 << 8))
-#define MAP_SOOTOPOLIS_CITY_HOUSE7 (11 | (15 << 8))
-#define MAP_SOOTOPOLIS_CITY_HOUSE8 (12 | (15 << 8))
-
-// Map Group 16
-#define MAP_EVER_GRANDE_CITY_SIDNEYS_ROOM (0 | (16 << 8))
-#define MAP_EVER_GRANDE_CITY_PHOEBES_ROOM (1 | (16 << 8))
-#define MAP_EVER_GRANDE_CITY_GLACIAS_ROOM (2 | (16 << 8))
-#define MAP_EVER_GRANDE_CITY_DRAKES_ROOM (3 | (16 << 8))
-#define MAP_EVER_GRANDE_CITY_CHAMPIONS_ROOM (4 | (16 << 8))
-#define MAP_EVER_GRANDE_CITY_CORRIDOR1 (5 | (16 << 8))
-#define MAP_EVER_GRANDE_CITY_CORRIDOR2 (6 | (16 << 8))
-#define MAP_EVER_GRANDE_CITY_CORRIDOR3 (7 | (16 << 8))
-#define MAP_EVER_GRANDE_CITY_CORRIDOR4 (8 | (16 << 8))
-#define MAP_EVER_GRANDE_CITY_CORRIDOR5 (9 | (16 << 8))
-#define MAP_EVER_GRANDE_CITY_POKEMON_LEAGUE (10 | (16 << 8))
-#define MAP_EVER_GRANDE_CITY_HALL_OF_FAME (11 | (16 << 8))
-#define MAP_EVER_GRANDE_CITY_POKEMON_CENTER_1F (12 | (16 << 8))
-#define MAP_EVER_GRANDE_CITY_POKEMON_CENTER_2F (13 | (16 << 8))
-
-// Map Group 17
-#define MAP_ROUTE104_MR_BRINEYS_HOUSE (0 | (17 << 8))
-#define MAP_ROUTE104_PRETTY_PETAL_FLOWER_SHOP (1 | (17 << 8))
-
-// Map Group 18
-#define MAP_ROUTE111_WINSTRATE_FAMILYS_HOUSE (0 | (18 << 8))
-#define MAP_ROUTE111_OLD_LADYS_REST_STOP (1 | (18 << 8))
-
-// Map Group 19
-#define MAP_ROUTE112_CABLE_CAR_STATION (0 | (19 << 8))
-#define MAP_MT_CHIMNEY_CABLE_CAR_STATION (1 | (19 << 8))
-
-// Map Group 20
-#define MAP_ROUTE114_FOSSIL_MANIACS_HOUSE (0 | (20 << 8))
-#define MAP_ROUTE114_FOSSIL_MANIACS_TUNNEL (1 | (20 << 8))
-#define MAP_ROUTE114_LANETTES_HOUSE (2 | (20 << 8))
-
-// Map Group 21
-#define MAP_ROUTE116_TUNNELERS_REST_HOUSE (0 | (21 << 8))
-
-// Map Group 22
-#define MAP_ROUTE117_POKEMON_DAY_CARE (0 | (22 << 8))
-
-// Map Group 23
-#define MAP_ROUTE121_SAFARI_ZONE_ENTRANCE (0 | (23 << 8))
-
-// Map Group 24
-#define MAP_METEOR_FALLS_1F_1R (0 | (24 << 8))
-#define MAP_METEOR_FALLS_1F_2R (1 | (24 << 8))
-#define MAP_METEOR_FALLS_B1F_1R (2 | (24 << 8))
-#define MAP_METEOR_FALLS_B1F_2R (3 | (24 << 8))
-#define MAP_RUSTURF_TUNNEL (4 | (24 << 8))
-#define MAP_UNDERWATER_SOOTOPOLIS_CITY (5 | (24 << 8))
-#define MAP_DESERT_RUINS (6 | (24 << 8))
-#define MAP_GRANITE_CAVE_1F (7 | (24 << 8))
-#define MAP_GRANITE_CAVE_B1F (8 | (24 << 8))
-#define MAP_GRANITE_CAVE_B2F (9 | (24 << 8))
-#define MAP_GRANITE_CAVE_STEVENS_ROOM (10 | (24 << 8))
-#define MAP_PETALBURG_WOODS (11 | (24 << 8))
-#define MAP_MT_CHIMNEY (12 | (24 << 8))
-#define MAP_JAGGED_PASS (13 | (24 << 8))
-#define MAP_FIERY_PATH (14 | (24 << 8))
-#define MAP_MT_PYRE_1F (15 | (24 << 8))
-#define MAP_MT_PYRE_2F (16 | (24 << 8))
-#define MAP_MT_PYRE_3F (17 | (24 << 8))
-#define MAP_MT_PYRE_4F (18 | (24 << 8))
-#define MAP_MT_PYRE_5F (19 | (24 << 8))
-#define MAP_MT_PYRE_6F (20 | (24 << 8))
-#define MAP_MT_PYRE_EXTERIOR (21 | (24 << 8))
-#define MAP_MT_PYRE_SUMMIT (22 | (24 << 8))
-#define MAP_AQUA_HIDEOUT_1F (23 | (24 << 8))
-#define MAP_AQUA_HIDEOUT_B1F (24 | (24 << 8))
-#define MAP_AQUA_HIDEOUT_B2F (25 | (24 << 8))
-#define MAP_UNDERWATER_SEAFLOOR_CAVERN (26 | (24 << 8))
-#define MAP_SEAFLOOR_CAVERN_ENTRANCE (27 | (24 << 8))
-#define MAP_SEAFLOOR_CAVERN_ROOM1 (28 | (24 << 8))
-#define MAP_SEAFLOOR_CAVERN_ROOM2 (29 | (24 << 8))
-#define MAP_SEAFLOOR_CAVERN_ROOM3 (30 | (24 << 8))
-#define MAP_SEAFLOOR_CAVERN_ROOM4 (31 | (24 << 8))
-#define MAP_SEAFLOOR_CAVERN_ROOM5 (32 | (24 << 8))
-#define MAP_SEAFLOOR_CAVERN_ROOM6 (33 | (24 << 8))
-#define MAP_SEAFLOOR_CAVERN_ROOM7 (34 | (24 << 8))
-#define MAP_SEAFLOOR_CAVERN_ROOM8 (35 | (24 << 8))
-#define MAP_SEAFLOOR_CAVERN_ROOM9 (36 | (24 << 8))
-#define MAP_CAVE_OF_ORIGIN_ENTRANCE (37 | (24 << 8))
-#define MAP_CAVE_OF_ORIGIN_1F (38 | (24 << 8))
-#define MAP_CAVE_OF_ORIGIN_B1F (39 | (24 << 8))
-#define MAP_CAVE_OF_ORIGIN_B2F (40 | (24 << 8))
-#define MAP_CAVE_OF_ORIGIN_B3F (41 | (24 << 8))
-#define MAP_CAVE_OF_ORIGIN_B4F (42 | (24 << 8))
-#define MAP_VICTORY_ROAD_1F (43 | (24 << 8))
-#define MAP_VICTORY_ROAD_B1F (44 | (24 << 8))
-#define MAP_VICTORY_ROAD_B2F (45 | (24 << 8))
-#define MAP_SHOAL_CAVE_LOW_TIDE_ENTRANCE_ROOM (46 | (24 << 8))
-#define MAP_SHOAL_CAVE_LOW_TIDE_INNER_ROOM (47 | (24 << 8))
-#define MAP_SHOAL_CAVE_LOW_TIDE_STAIRS_ROOM (48 | (24 << 8))
-#define MAP_SHOAL_CAVE_LOW_TIDE_LOWER_ROOM (49 | (24 << 8))
-#define MAP_SHOAL_CAVE_HIGH_TIDE_ENTRANCE_ROOM (50 | (24 << 8))
-#define MAP_SHOAL_CAVE_HIGH_TIDE_INNER_ROOM (51 | (24 << 8))
-#define MAP_NEW_MAUVILLE_ENTRANCE (52 | (24 << 8))
-#define MAP_NEW_MAUVILLE_INSIDE (53 | (24 << 8))
-#define MAP_ABANDONED_SHIP_DECK (54 | (24 << 8))
-#define MAP_ABANDONED_SHIP_CORRIDORS_1F (55 | (24 << 8))
-#define MAP_ABANDONED_SHIP_ROOMS_1F (56 | (24 << 8))
-#define MAP_ABANDONED_SHIP_CORRIDORS_B1F (57 | (24 << 8))
-#define MAP_ABANDONED_SHIP_ROOMS_B1F (58 | (24 << 8))
-#define MAP_ABANDONED_SHIP_ROOMS2_B1F (59 | (24 << 8))
-#define MAP_ABANDONED_SHIP_UNDERWATER1 (60 | (24 << 8))
-#define MAP_ABANDONED_SHIP_ROOM_B1F (61 | (24 << 8))
-#define MAP_ABANDONED_SHIP_ROOMS2_1F (62 | (24 << 8))
-#define MAP_ABANDONED_SHIP_CAPTAINS_OFFICE (63 | (24 << 8))
-#define MAP_ABANDONED_SHIP_UNDERWATER2 (64 | (24 << 8))
-#define MAP_ABANDONED_SHIP_HIDDEN_FLOOR_CORRIDORS (65 | (24 << 8))
-#define MAP_ABANDONED_SHIP_HIDDEN_FLOOR_ROOMS (66 | (24 << 8))
-#define MAP_ISLAND_CAVE (67 | (24 << 8))
-#define MAP_ANCIENT_TOMB (68 | (24 << 8))
-#define MAP_UNDERWATER_ROUTE134 (69 | (24 << 8))
-#define MAP_UNDERWATER_SEALED_CHAMBER (70 | (24 << 8))
-#define MAP_SEALED_CHAMBER_OUTER_ROOM (71 | (24 << 8))
-#define MAP_SEALED_CHAMBER_INNER_ROOM (72 | (24 << 8))
-#define MAP_SCORCHED_SLAB (73 | (24 << 8))
-#define MAP_MAGMA_HIDEOUT_1F (74 | (24 << 8))
-#define MAP_MAGMA_HIDEOUT_B1F (75 | (24 << 8))
-#define MAP_MAGMA_HIDEOUT_B2F (76 | (24 << 8))
-#define MAP_SKY_PILLAR_ENTRANCE (77 | (24 << 8))
-#define MAP_SKY_PILLAR_OUTSIDE (78 | (24 << 8))
-#define MAP_SKY_PILLAR_1F (79 | (24 << 8))
-#define MAP_SKY_PILLAR_2F (80 | (24 << 8))
-#define MAP_SKY_PILLAR_3F (81 | (24 << 8))
-#define MAP_SKY_PILLAR_4F (82 | (24 << 8))
-#define MAP_SHOAL_CAVE_LOW_TIDE_ICE_ROOM (83 | (24 << 8))
-#define MAP_SKY_PILLAR_5F (84 | (24 << 8))
-#define MAP_SKY_PILLAR_TOP (85 | (24 << 8))
-
-// Map Group 25
-#define MAP_SECRET_BASE_RED_CAVE1 (0 | (25 << 8))
-#define MAP_SECRET_BASE_BROWN_CAVE1 (1 | (25 << 8))
-#define MAP_SECRET_BASE_BLUE_CAVE1 (2 | (25 << 8))
-#define MAP_SECRET_BASE_YELLOW_CAVE1 (3 | (25 << 8))
-#define MAP_SECRET_BASE_TREE1 (4 | (25 << 8))
-#define MAP_SECRET_BASE_SHRUB1 (5 | (25 << 8))
-#define MAP_SECRET_BASE_RED_CAVE2 (6 | (25 << 8))
-#define MAP_SECRET_BASE_BROWN_CAVE2 (7 | (25 << 8))
-#define MAP_SECRET_BASE_BLUE_CAVE2 (8 | (25 << 8))
-#define MAP_SECRET_BASE_YELLOW_CAVE2 (9 | (25 << 8))
-#define MAP_SECRET_BASE_TREE2 (10 | (25 << 8))
-#define MAP_SECRET_BASE_SHRUB2 (11 | (25 << 8))
-#define MAP_SECRET_BASE_RED_CAVE3 (12 | (25 << 8))
-#define MAP_SECRET_BASE_BROWN_CAVE3 (13 | (25 << 8))
-#define MAP_SECRET_BASE_BLUE_CAVE3 (14 | (25 << 8))
-#define MAP_SECRET_BASE_YELLOW_CAVE3 (15 | (25 << 8))
-#define MAP_SECRET_BASE_TREE3 (16 | (25 << 8))
-#define MAP_SECRET_BASE_SHRUB3 (17 | (25 << 8))
-#define MAP_SECRET_BASE_RED_CAVE4 (18 | (25 << 8))
-#define MAP_SECRET_BASE_BROWN_CAVE4 (19 | (25 << 8))
-#define MAP_SECRET_BASE_BLUE_CAVE4 (20 | (25 << 8))
-#define MAP_SECRET_BASE_YELLOW_CAVE4 (21 | (25 << 8))
-#define MAP_SECRET_BASE_TREE4 (22 | (25 << 8))
-#define MAP_SECRET_BASE_SHRUB4 (23 | (25 << 8))
-#define MAP_SINGLE_BATTLE_COLOSSEUM (24 | (25 << 8))
-#define MAP_TRADE_CENTER (25 | (25 << 8))
-#define MAP_RECORD_CORNER (26 | (25 << 8))
-#define MAP_DOUBLE_BATTLE_COLOSSEUM (27 | (25 << 8))
-#define MAP_LINK_CONTEST_ROOM1 (28 | (25 << 8))
-#define MAP_UNKNOWN_MAP_25_29 (29 | (25 << 8))
-#define MAP_UNKNOWN_MAP_25_30 (30 | (25 << 8))
-#define MAP_UNKNOWN_MAP_25_31 (31 | (25 << 8))
-#define MAP_UNKNOWN_MAP_25_32 (32 | (25 << 8))
-#define MAP_UNKNOWN_MAP_25_33 (33 | (25 << 8))
-#define MAP_UNKNOWN_MAP_25_34 (34 | (25 << 8))
-#define MAP_LINK_CONTEST_ROOM2 (35 | (25 << 8))
-#define MAP_LINK_CONTEST_ROOM3 (36 | (25 << 8))
-#define MAP_LINK_CONTEST_ROOM4 (37 | (25 << 8))
-#define MAP_LINK_CONTEST_ROOM5 (38 | (25 << 8))
-#define MAP_LINK_CONTEST_ROOM6 (39 | (25 << 8))
-#define MAP_INSIDE_OF_TRUCK (40 | (25 << 8))
-#define MAP_SS_TIDAL_CORRIDOR (41 | (25 << 8))
-#define MAP_SS_TIDAL_LOWER_DECK (42 | (25 << 8))
-#define MAP_SS_TIDAL_ROOMS (43 | (25 << 8))
-
-// Map Group 26
-#define MAP_SAFARI_ZONE_NORTHWEST (0 | (26 << 8))
-#define MAP_SAFARI_ZONE_NORTHEAST (1 | (26 << 8))
-#define MAP_SAFARI_ZONE_SOUTHWEST (2 | (26 << 8))
-#define MAP_SAFARI_ZONE_SOUTHEAST (3 | (26 << 8))
-#define MAP_BATTLE_TOWER_OUTSIDE (4 | (26 << 8))
-#define MAP_BATTLE_TOWER_LOBBY (5 | (26 << 8))
-#define MAP_BATTLE_TOWER_ELEVATOR (6 | (26 << 8))
-#define MAP_BATTLE_TOWER_CORRIDOR (7 | (26 << 8))
-#define MAP_BATTLE_TOWER_BATTLE_ROOM (8 | (26 << 8))
-#define MAP_SOUTHERN_ISLAND_EXTERIOR (9 | (26 << 8))
-#define MAP_SOUTHERN_ISLAND_INTERIOR (10 | (26 << 8))
-#define MAP_SAFARI_ZONE_REST_HOUSE (11 | (26 << 8))
-
-// Map Group 27
-#define MAP_ROUTE104_PROTOTYPE (0 | (27 << 8))
-#define MAP_ROUTE104_PROTOTYPE_PRETTY_PETAL_FLOWER_SHOP (1 | (27 << 8))
-
-// Map Group 28
-#define MAP_ROUTE109_SEASHORE_HOUSE (0 | (28 << 8))
-
-// Map Group 29
-#define MAP_ROUTE110_TRICK_HOUSE_ENTRANCE (0 | (29 << 8))
-#define MAP_ROUTE110_TRICK_HOUSE_END (1 | (29 << 8))
-#define MAP_ROUTE110_TRICK_HOUSE_CORRIDOR (2 | (29 << 8))
-#define MAP_ROUTE110_TRICK_HOUSE_PUZZLE1 (3 | (29 << 8))
-#define MAP_ROUTE110_TRICK_HOUSE_PUZZLE2 (4 | (29 << 8))
-#define MAP_ROUTE110_TRICK_HOUSE_PUZZLE3 (5 | (29 << 8))
-#define MAP_ROUTE110_TRICK_HOUSE_PUZZLE4 (6 | (29 << 8))
-#define MAP_ROUTE110_TRICK_HOUSE_PUZZLE5 (7 | (29 << 8))
-#define MAP_ROUTE110_TRICK_HOUSE_PUZZLE6 (8 | (29 << 8))
-#define MAP_ROUTE110_TRICK_HOUSE_PUZZLE7 (9 | (29 << 8))
-#define MAP_ROUTE110_TRICK_HOUSE_PUZZLE8 (10 | (29 << 8))
-#define MAP_ROUTE110_SEASIDE_CYCLING_ROAD_SOUTH_ENTRANCE (11 | (29 << 8))
-#define MAP_ROUTE110_SEASIDE_CYCLING_ROAD_NORTH_ENTRANCE (12 | (29 << 8))
-
-// Map Group 30
-#define MAP_ROUTE113_GLASS_WORKSHOP (0 | (30 << 8))
-
-// Map Group 31
-#define MAP_ROUTE123_BERRY_MASTERS_HOUSE (0 | (31 << 8))
-
-// Map Group 32
-#define MAP_ROUTE119_WEATHER_INSTITUTE_1F (0 | (32 << 8))
-#define MAP_ROUTE119_WEATHER_INSTITUTE_2F (1 | (32 << 8))
-#define MAP_ROUTE119_HOUSE (2 | (32 << 8))
-
-// Map Group 33
-#define MAP_ROUTE124_DIVING_TREASURE_HUNTERS_HOUSE (0 | (33 << 8))
-
+#include "map_groups.h"
#define MAP_NONE (0x7F | (0x7F << 8))
#define MAP_UNDEFINED (0xFF | (0xFF << 8))
-
#define MAP_GROUP(map) (MAP_##map >> 8)
#define MAP_NUM(map) (MAP_##map & 0xFF)
diff --git a/include/constants/region_map_sections.h b/include/constants/region_map_sections.h
index 254ae2edd..4fd9aa894 100644
--- a/include/constants/region_map_sections.h
+++ b/include/constants/region_map_sections.h
@@ -89,6 +89,6 @@
#define MAPSEC_SKY_PILLAR 0x55
#define MAPSEC_SECRET_BASE 0x56
#define MAPSEC_DYNAMIC 0x57
-#define MAPSEC_NOTHING 0x58
+#define MAPSEC_NONE 0x58
#endif // GUARD_REGIONMAPSEC_H
diff --git a/include/contest_painting_effects.h b/include/contest_painting_effects.h
index 1fa3c90fb..8b99ba692 100644
--- a/include/contest_painting_effects.h
+++ b/include/contest_painting_effects.h
@@ -6,9 +6,9 @@ struct Unk03005E20
u8 var_0;
u8 pad1[3];
u16 (*var_4)[][32];
- u16 (*var_8)[];
+ u16 *var_8;
u8 pad0C[4];
- u32 var_10;
+ u16 (*var_10)[][32];
u16 var_14;
u16 var_16;
u8 var_18;
diff --git a/include/ewram.h b/include/ewram.h
index 01c4c3492..390ad9d80 100644
--- a/include/ewram.h
+++ b/include/ewram.h
@@ -25,8 +25,6 @@ extern u8 gSharedMem[];
#define eVoidSharedArr2 (u32)(ewram_addr) // ew(ram)
#define eSlotMachine ((struct SlotMachineEwramStruct *)(gSharedMem + 0x0))
#define ewram0_9(i) (u8 *)(ewram_addr + (i * 0x20))
-#define ewram0_10 (*(struct UnknownPokenav0*)(gSharedMem + 0))
-#define ewram0_11 (*(struct UnknownPokenav0_1*)(gSharedMem + 0))
#define ePokemonStorageSystem (*(struct PokemonStorageSystemData *)(gSharedMem + 0))
#define ewram4 (*(struct UnknownStruct8 *)(gSharedMem + 0x4))
#define ewram520 ((struct UnknownStruct7 *)(gSharedMem + 0x00520))
@@ -133,6 +131,7 @@ extern u8 gSharedMem[];
#define ewram1608B gSharedMem[0x1608B]
#define ewram1608Carr(battler) (gSharedMem[0x1608C + battler])
+#define ewram16094arr(battler) (gSharedMem[0x16094 + battler])
#define EWRAM_1609D (gSharedMem[0x1609D])
#define ewram160A1 (gSharedMem[0x160A1])
#define ewram160A4 (gSharedMem[0x160A4])
@@ -160,7 +159,7 @@ extern u8 gSharedMem[];
#define USED_HELD_ITEMS(battler) (*(u16 *)&gSharedMem[0x160CC + 2 * (battler)])
#define ewram160D4(battler) (gSharedMem[0x160D4 + (battler / 2) * 2])
#define ewram160D8(battler) (gSharedMem[0x160D8 + (battler / 2)])
-#define ewram160DA(battler) (gSharedMem[0x160DA + (battler / 2)])
+#define ewram160DA(battler) (gSharedMem[0x160DA + (battler >> 1)])
#define ewram160DD (gSharedMem[0x160DD])
#define ewram160E0(i) (gSharedMem[0x160E0 + i])
#define ewram160E6 (gSharedMem[0x160E6])
diff --git a/include/gba/m4a_internal.h b/include/gba/m4a_internal.h
index 9df1ed940..488ccfbdc 100644
--- a/include/gba/m4a_internal.h
+++ b/include/gba/m4a_internal.h
@@ -100,7 +100,7 @@ struct CgbChannel
u8 le;
u8 sw;
u32 fr;
- u32 wp;
+ u32* wp;
u32 cp;
u32 tp;
u32 pp;
diff --git a/include/heated_rock.h b/include/heated_rock.h
index 26856fe7f..9ef460b35 100644
--- a/include/heated_rock.h
+++ b/include/heated_rock.h
@@ -7,4 +7,4 @@
u16 sub_80D5940(u8 spriteId);
void sub_80D5994(struct Sprite *sprite, s16 x, s16 y);
-#endif // GUARD_HEATED_ROCK_H \ No newline at end of file
+#endif // GUARD_HEATED_ROCK_H
diff --git a/include/party_menu.h b/include/party_menu.h
index e687f48c4..172435b2d 100644
--- a/include/party_menu.h
+++ b/include/party_menu.h
@@ -17,6 +17,16 @@ enum
PARTY_MENU_TYPE_MOVE_TUTOR,
};
+enum
+{
+ PARTY_CHOOSE_MON,
+ PARTY_MUST_CHOOSE_MON,
+ PARTY_CANT_SWITCH,
+ PARTY_USE_ITEM_ON,
+ PARTY_ABILITY_PREVENTS,
+ PARTY_GIVE_ITEM,
+};
+
// The party menu screen is presented differently depending on which menu layout is set.
enum
{
diff --git a/include/pokenav.h b/include/pokenav.h
index a72cea9c4..654911593 100644
--- a/include/pokenav.h
+++ b/include/pokenav.h
@@ -1,14 +1,15 @@
#ifndef GUARD_POKENAV_H
#define GUARD_POKENAV_H
+#include "main.h"
#include "region_map.h"
#include "mon_markings.h"
-struct UnkPokenavStruct_Sub {
- /*0x0*/ u16 unk0;
- /*0x2*/ u16 unk2;
- /*0x4*/ u8 unk4;
- /*0x5*/ u8 unk5;
+struct TrainersEyeStruct {
+ /*0x0*/ u16 opponentId;
+ /*0x2*/ u16 regionMapSectionId;
+ /*0x4*/ u8 rematchTableIdx;
+ /*0x5*/ u8 rematchNo;
};
struct UnkPokenavStruct_Sub1 {
@@ -37,9 +38,9 @@ struct UnkPokenavStruct_Sub3 {
struct UnkUsePokeblockSub {
/*0x0*/ u8 unk0;
/*0x1*/ u8 unk1;
- /*0x2*/ u8 partyIdx:5;
- /*0x2*/ u16 unk2:9;
- /*0x3*/ u8 unk4:1;
+ /*0x2*/ u16 partyIdx:5;
+ /*0x2*/ u16 unk2_5:9;
+ /*0x3*/ u16 unk3_14:1;
};
struct UnkPokenav11 {
@@ -47,9 +48,23 @@ struct UnkPokenav11 {
u16 unk2;
};
+struct UnknownStruct_Pokenav_8FF0 {
+ /*0x000*/ u8 unk0[4][5];
+ /*0x014*/ struct UnkPokenav11 unk14[4][5];
+ /*0x064*/ struct UnkPokenav11 unk64[10][5];
+ /*0x12C*/ struct UnkPokenav11 unk12C[5];
+ /*0x140*/ u16 unk140[66][2];
+ /*0x248*/ u16 unk248[66][2];
+ /*0x350*/ u16 unk350;
+ /*0x352*/ u16 unk352;
+ /*0x354*/ u8 unk354;
+ /*0x355*/ u8 unk355;
+};
+
struct UnkPokenavStruct {
/*0x0000*/ u16 unk0[6][0x40];
- /*0x0300*/ u8 filler0300[0x6];
+ /*0x0300*/ void (*unk300)(void);
+ /*0x0304*/ u16 unk304;
/*0x0306*/ u16 unk306;
/*0x0306*/ int unk308;
/*0x030C*/ s16 unk030C;
@@ -83,12 +98,23 @@ struct UnkPokenavStruct {
/*0x6DA0*/ u16 unk6DA0;
/*0x6DA2*/ u16 unk6DA2;
/*0x6DA4*/ u16 taskId6DA4;
- /*0x6DA6*/ u8 filler6DA6[0x6];
+ /*0x6DA6*/ u8 filler6DA6[0x5];
+ /*0x6DAB*/ u8 unk6DAB;
/*0x6DAC*/ u8 unk6DAC;
/*0x6DAD*/ s8 unk6DAD;
/*0x6DAE*/ s8 unk6DAE;
/*0x6DAF*/ u8 filler6DAF[0x3];
- /*0x6DB2*/ u8 unk6DB2[0x66];
+ /*0x6DB2*/ u8 unk6DB2[0x2A];
+ /*0x6DDC*/ s8 unk6DDC;
+ /*0x6DDD*/ u8 filler6DDD[0x13];
+ /*0x6DF0*/ s8 unk6DF0;
+ /*0x6DF1*/ u8 filler6DF1[0x0B];
+ /*0x6DFC*/ u8 unk6DFC;
+ /*0x6DFD*/ u8 filler6DFD[0x17];
+ /*0x6E14*/ u8 unk6E14;
+ /*0x6E15*/ u8 unk6E15;
+ /*0x6E16*/ u8 unk6E16;
+ /*0x6E17*/ u8 unk6E17;
/*0x6E18*/ struct RegionMap regionMap;
/*0x7698*/ u16 unk7698;
/*0x769A*/ u16 unk769A;
@@ -113,7 +139,7 @@ struct UnkPokenavStruct {
/*0x877C*/ s16 unk877C;
/*0x877E*/ u16 unk877E;
/*0x8780*/ u16 unk8780;
- /*0x8782*/ u8 filler8782[0x2];
+ /*0x8782*/ u16 unk8782;
/*0x8784*/ u16 unk8784;
/*0x8786*/ u16 unk8786;
/*0x8788*/ u8 unk8788[0x40];
@@ -124,11 +150,9 @@ struct UnkPokenavStruct {
/*0x87CC*/ struct Sprite *unk87CC;
/*0x87D0*/ struct Sprite *unk87D0[2];
/*0x87D8*/ u8 unk87D8;
- /*0x87D9*/ u8 filler87D9[0x1];
/*0x87DA*/ s16 unk87DA;
/*0x87DC*/ s16 unk87DC;
/*0x87DE*/ u8 unk87DE;
- /*0x87DF*/ u8 filler87DF[0x1];
/*0x87E0*/ bool8 (*unk87E0)(void);
/*0x87E4*/ struct Sprite *unk87E4[7];
/*0x8800*/ struct Sprite *unk8800[10];
@@ -142,23 +166,25 @@ struct UnkPokenavStruct {
/*0x8FE4*/ u16 unk8FE4;
/*0x8FE6*/ u8 unk8FE6;
/*0x8FE7*/ u8 unk8FE7;
- /*0x8FE8*/ u8 filler8FE8[0x1];
+ /*0x8FE8*/ s8 unk8FE8;
/*0x8fe9*/ s8 unk8fe9;
/*0x8fea*/ s8 unk8FEA;
/*0x8feb*/ s8 unk8FEB;
/*0x8fec*/ s8 unk8FEC;
- /*0x8FED*/ u8 filler8FED[0x1];
/*0x8fee*/ u16 unk8FEE;
+
+ // UnknownStruct_Pokenav_8FF0
/*0x8ff0*/ u8 unk8ff0[4][5];
- /*0x9004*/ struct UnkPokenav11 unk9004[3][5];
- /*0x9040*/ struct UnkPokenav11 unk9040[5];
- /*0x9054*/ struct UnkPokenav11 unk9054[9][5];
- /*0x9108*/ u8 unk9108[0x14];
+ /*0x9004*/ struct UnkPokenav11 unk9004[4][5];
+ /*0x9054*/ struct UnkPokenav11 unk9054[10][5];
/*0x911C*/ struct UnkPokenav11 unk911C[5];
- /*0x9130*/ u8 filler9130[0x212];
+ /*0x9130*/ u16 unk9130[66][2];
+ /*0x9238*/ u16 unk9238[66][2];
+ /*0x9340*/ u16 unk9340;
/*0x9342*/ u16 unk9342;
/*0x9344*/ u8 unk9344;
- /*0x9345*/ u8 filler9345[3];
+ /*0x9345*/ u8 unk9345;
+
/*0x9348*/ struct Sprite *unk9348;
/*0x934C*/ u16 unk934C[0x280];
/*0x984C*/ u8 unk984C[0xC][0x100];
@@ -170,7 +196,9 @@ struct UnkPokenavStruct {
/*0xBC91*/ u8 unkBC91;
/*0xBC92*/ u8 unkBC92;
/*0xBC93*/ u8 unkBC93;
- /*0xBC94*/ u8 fillerBC94[0x6];
+ /*0xBC94*/ u8 unkBC94;
+ /*0xBC95*/ u8 unkBC95;
+ /*0xBC96*/ u8 unkBC96[0x4];
/*0xBC9A*/ u8 unkBC9A;
/*0xBC9B*/ u8 unkBC9B;
/*0xBC9C*/ u8 unkBC9C[22][200];
@@ -182,14 +210,15 @@ struct UnkPokenavStruct {
/*0xCE8E*/ u16 palettesCE8E[0x21];
/*0xCED0*/ struct Sprite *unkCED0;
/*0xCED4*/ struct Sprite *unkCED4[5];
- /*0xCEE8*/ struct UnkPokenavStruct_Sub unkCEE8[69];
+ /*0xCEE8*/ struct TrainersEyeStruct trainersEye[69];
/*0xD110*/ const u8 *trainerEyeDescriptionLines[4];
/*0xD120*/ u8 fillerD114[0x18];
/*0xD138*/ u8 unkD138[0x20];
/*0xD158*/ u16 unkD158;
- /*0xD15A*/ u16 unkD15A;
+ /*0xD15A*/ s16 unkD15A;
/*0xD15C*/ u16 unkD15C;
- /*0xD15E*/ u8 fillerD15E[2];
+ /*0xD15E*/ u8 unkD15E;
+ /*0xD15F*/ u8 unkD15F;
/*0xD160*/ u16 unkD160;
/*0xD162*/ u8 unkD162;
/*0xD164*/ struct UnkPokenavStruct_Sub1 unkD164;
@@ -202,7 +231,7 @@ struct UnkPokenavStruct {
/*0x131E4*/ u8 unk131E4[0x1000];
};
-extern struct UnkPokenavStruct *const gUnknown_083DFEC4;
+extern struct UnkPokenavStruct *const gPokenavStructPtr;
bool8 sub_80F170C(void);
bool8 sub_80F1778(void);
@@ -217,7 +246,8 @@ void sub_80F3C94(void);
void sub_80F3D00(void);
void sub_80F4BD0(void);
void sub_80F556C(struct UnkPokenav11*);
-void sub_80F567C(void *, void *);
+void sub_80F55AC(u8 *a0, struct UnkPokenav11 a1[]);
+void sub_80F567C(u8 *, struct UnkPokenav11 *);
void sub_80F5B38(void);
bool8 sub_80F5B50(void);
void sub_80F5CDC(u8);
@@ -229,5 +259,215 @@ void sub_80F5550(struct UnkPokenav11*, struct UnkPokenav11*);
bool8 sub_80F555C(void);
void sub_80F7224(u8);
void sub_80F5BDC(void);
+void sub_80F2F7C(u8 arg0);
+
+bool8 sub_80F0D5C(void);
+void LoadTrainerEyesDescriptionLines(void);
+void sub_80F0FFC(u8);
+void sub_80F105C(void);
+void sub_80F43D4(u8 *);
+void sub_80F063C(s16 arg0);
+void sub_80F6074(s16 arg0);
+void sub_80F6208(void);
+bool8 sub_80F6250();
+
+void sub_80EBCA8();
+void sub_80EEE20();
+bool8 sub_80EEE54();
+void sub_80EEE08();
+void sub_80EED2C(u8);
+void sub_80EC268();
+void sub_80EED1C();
+void sub_80EE9C0(u8, u8, u8);
+bool8 sub_80EEA0C();
+bool8 sub_80EEC10();
+void sub_80EED9C();
+void sub_80EDB88();
+void sub_80EC4A0();
+void sub_80EC81C();
+void sub_80EE96C();
+void sub_80EE3D8();
+bool8 sub_80EEF34();
+void sub_80EED0C();
+void sub_80EC67C();
+void sub_80EC86C();
+bool8 sub_80EEC90();
+void sub_80ED620();
+void sub_80EC960();
+void sub_80ED01C();
+void sub_80ECC08();
+void sub_80ED31C();
+void sub_80ED4D8();
+void sub_80ED858();
+void sub_80EDDBC();
+void sub_80EDE70();
+void sub_80EDEE4();
+void sub_80EE06C();
+void sub_80EE294();
+void sub_80EE58C();
+void sub_80EE658();
+void sub_80EE8F4();
+void sub_80EEDC4();
+void ShowMapNamePopUpWindow(void);
+void sub_80F0954(u16, u16, u16);
+bool8 sub_80F098C(void);
+u8 *sub_80F445C(u8*, u16);
+void sub_80F081C(u8);
+bool8 sub_80F0944(void);
+u8 *sub_80F4428(u8*, u16, u8);
+void sub_80F700C(u8*, u16);
+void sub_80F0B24(void);
+bool8 sub_80F0B44(void);
+void sub_80F0C28(void);
+bool8 sub_80F0C48(void);
+void LoadTrainerEyesDescriptionLines(void);
+bool8 sub_80F0D5C(void);
+void sub_80F0EC0(void);
+bool8 sub_80F0EF4(void);
+void sub_80F0F64(void);
+void sub_80F0FA0(void);
+bool8 sub_80F0FEC(void);
+bool8 sub_80F0718(void);
+void sub_80F0FFC(u8);
+void sub_80F19DC(u8*);
+bool8 sub_80F1080(void);
+void sub_80F1614(void);
+void DrawMonRibbonIcons(void);
+void sub_80F13FC(void);
+void sub_80F1438(void);
+void sub_80F1494(void);
+bool8 sub_80F162C(u8);
+void sub_80F01E0(u16);
+void sub_80F19FC(void);
+void sub_80F1A74(void);
+void sub_80F1A80(void);
+void sub_80F1A90(void);
+bool8 sub_80F1AC4(void);
+void sub_80F1B8C(u8);
+bool8 sub_80F1BC8(u8);
+void sub_80F2458(u8);
+void sub_80F2514(u8);
+void sub_80F1DF0(void);
+void sub_80F2218(struct Sprite *sprite);
+bool8 sub_80F1E50(void);
+bool8 sub_80F22F8(void);
+void sub_80F2108(void);
+bool8 sub_80F1E6C(void);
+void sub_80F1E84(void);
+void sub_80F2148(void);
+void sub_80F2240(struct Sprite *sprite);
+bool8 sub_80F1F10(void);
+bool8 sub_80F2360(void);
+void sub_80F2170(void);
+bool8 sub_80F23C8(void);
+void sub_80F21F8(void);
+void sub_80F1FF0(void);
+void sub_80F208C(void);
+void sub_80F22B0(struct Sprite *sprite);
+void sub_80F240C(struct Sprite *sprite);
+void sub_80F2598(void);
+void sub_80F2620(void);
+bool8 sub_80F26BC(void);
+void sub_80F2C58(struct Sprite *sprite);
+void sub_80F2D04(u8);
+void sub_80F2D6C(u8);
+void sub_80F2DD8(void);
+void sub_80F2DF4(void);
+void sub_80F2FEC(struct Sprite *sprite);
+void sub_80F2FB0(void);
+void sub_80F3008(u8);
+void sub_80F3130(void);
+void sub_80F3264(void);
+void sub_80F3294(u8);
+void sub_80F35B4(void);
+void sub_80F363C(struct Sprite *sprite);
+void SetMonMarkings(u16, u16, u8);
+void sub_80F36F0(void);
+bool8 sub_80F3724(void);
+void sub_80F379C(void);
+bool8 sub_80F37D0(void);
+void sub_80F38B8(void);
+bool8 sub_80F38EC(void);
+void sub_80F3970(void);
+bool8 sub_80F39A4(void);
+void sub_80F3B00(void);
+bool8 sub_80F3B58(void);
+void sub_80F3B94(void);
+bool8 sub_80F3BD4(void);
+void sub_80F3C2C(void);
+void sub_80F3F20(u8, u8);
+void sub_80F3FAC(void);
+void sub_80F3FF0(void);
+bool8 sub_80F4024(void);
+void sub_80F42C4(u8*);
+void sub_80F4394(void);
+u8 *sub_80F6514(u8*, u16, u8);
+u8 *sub_80F443C(u8 *, u16);
+void sub_80F55AC(u8*, struct UnkPokenav11 *);
+void sub_80F4CF0(void);
+void sub_80F4D44(void);
+bool8 sub_80F4D88(void);
+void sub_80F53EC(struct UnkPokenav11*, struct UnkPokenav11*);
+bool8 sub_80F5504(void);
+bool8 sub_80F5264(void);
+bool8 sub_80F52F8(void);
+bool8 sub_80F5364(void);
+
+void sub_80F0900(void);
+void sub_80F01A4(void);
+void sub_80EFD3C(void);
+void sub_8095C8C();
+void sub_80EFDA0(void);
+void sub_80EFD74(void);
+bool8 sub_80EFC64(void);
+void sub_80EFC3C(void);
+void sub_80EF624(const u16 *, const u16 *, u8, u8, u16 *);
+void sub_80EF7D4(void);
+void sub_80EF54C(u8);
+void sub_80EF58C(u8);
+void sub_80F6FFC();
+void sub_80F6FB8(bool8);
+void sub_80F6DB8();
+bool8 sub_80F6E9C();
+bool8 sub_80F6ED4();
+bool8 sub_80F70FC();
+void sub_80F708C(s8);
+void sub_80F6F10();
+void sub_80F15A8(void);
+void sub_80F6A4C(s8);
+bool8 sub_80F6AF0();
+u8 sub_80F68E8();
+void sub_80F66E0();
+void sub_80F638C();
+bool8 sub_80F63D0();
+void sub_80EFF34();
+bool8 sub_80EFF68();
+void sub_80F6134();
+u8 sub_80F5DD4();
+void sub_80F0264(u8);
+bool8 sub_80F02A0();
+void sub_80EF9F8(void);
+bool8 sub_80EFBDC(bool8);
+void sub_80EFBB0(void);
+void sub_80EEFBC(u8);
+void sub_80EF814(void);
+void sub_80EF840(void);
+bool8 sub_80EF874(void);
+bool8 sub_80F6250();
+void sub_80F6C20();
+void sub_80EF248(u8);
+bool8 sub_80EF284(u8);
+void sub_80EF428(u8, u8);
+bool8 sub_80EEF78();
+void sub_80EBC10();
+void sub_80EBDBC(void (*func)(void));
+void sub_80EBBE8();
+void sub_80EBDD8();
+void sub_80EBD90();
+void sub_80EBD18();
+void sub_80FB260();
+void sub_80EFE7C(void);
+void sub_80F5BF0();
+void sub_80F6F64();
#endif // GUARD_POKENAV_H
diff --git a/include/region_map.h b/include/region_map.h
index 7ded72e49..24c768ea5 100644
--- a/include/region_map.h
+++ b/include/region_map.h
@@ -15,46 +15,46 @@ struct RegionMap
/*0x16*/ u8 unk16;
/*0x17*/ u8 everGrandeCityArea;
/*0x18*/ u8 (*inputCallback)(void);
- struct Sprite *cursorSprite;
- struct Sprite *playerIconSprite;
- s32 bg2x;
- s32 bg2y;
- u32 unk2C; //
- u32 unk30; // Map rotation parameters
- u32 unk34; // Likely a scrapped feature
- u32 unk38; //
- s32 unk3C;
- s32 unk40;
- s32 unk44;
- s32 unk48;
- s32 unk4C;
- s32 unk50;
- u16 cursorPosX;
- u16 cursorPosY;
- u16 cursorTileTag;
- u16 cursorPaletteTag;
- s16 scrollX;
- s16 scrollY;
- s16 unk60;
- s16 unk62;
- u16 unk64;
- u16 unk66;
- u16 unk68;
- u16 unk6A;
- u16 unk6C;
- u16 unk6E;
- u16 playerIconTileTag;
- u16 playerIconPaletteTag;
- u16 unk74;
- u16 unk76;
- bool8 zoomed;
- u8 initStep;
- s8 unk7A;
- s8 cursorDeltaX;
- s8 cursorDeltaY;
- bool8 needUpdateVideoRegs;
- bool8 blinkPlayerIcon;
- bool8 playerIsInCave;
+ /*0x1C*/ struct Sprite *cursorSprite;
+ /*0x20*/ struct Sprite *playerIconSprite;
+ /*0x24*/ s32 bg2x;
+ /*0x28*/ s32 bg2y;
+ /*0x2C*/ u32 unk2C; //
+ /*0x30*/ u32 unk30; // Map rotation parameters
+ /*0x34*/ u32 unk34; // Likely a scrapped feature
+ /*0x38*/ u32 unk38; //
+ /*0x3C*/ s32 unk3C;
+ /*0x40*/ s32 unk40;
+ /*0x44*/ s32 unk44;
+ /*0x48*/ s32 unk48;
+ /*0x4C*/ s32 unk4C;
+ /*0x50*/ s32 unk50;
+ /*0x54*/ u16 cursorPosX;
+ /*0x56*/ u16 cursorPosY;
+ /*0x58*/ u16 cursorTileTag;
+ /*0x5A*/ u16 cursorPaletteTag;
+ /*0x5C*/ s16 scrollX;
+ /*0x5E*/ s16 scrollY;
+ /*0x60*/ s16 unk60;
+ /*0x62*/ s16 unk62;
+ /*0x64*/ u16 unk64;
+ /*0x66*/ u16 unk66;
+ /*0x68*/ u16 unk68;
+ /*0x6A*/ u16 unk6A;
+ /*0x6C*/ u16 unk6C;
+ /*0x6E*/ u16 unk6E;
+ /*0x70*/ u16 playerIconTileTag;
+ /*0x72*/ u16 playerIconPaletteTag;
+ /*0x74*/ u16 unk74;
+ /*0x76*/ u16 unk76;
+ /*0x78*/ bool8 zoomed;
+ /*0x79*/ u8 initStep;
+ /*0x7A*/ s8 unk7A;
+ /*0x7B*/ s8 cursorDeltaX;
+ /*0x7C*/ s8 cursorDeltaY;
+ /*0x7D*/ bool8 needUpdateVideoRegs;
+ /*0x7E*/ bool8 blinkPlayerIcon;
+ /*0x7F*/ bool8 playerIsInCave;
/*0x080*/ u8 filler80[0x100];
/*0x180*/ u8 cursorSmallImage[0x100];
/*0x280*/ u8 cursorLargeImage[0x600];
@@ -80,6 +80,6 @@ void debug_sub_8110F28(void);
u16 GetRegionMapSectionAt_(u16 x, u16 y);
void sub_80FBF94(void);
-extern const struct RegionMapLocation gRegionMapLocations[];
+extern const struct RegionMapLocation gRegionMapEntries[];
#endif // GUARD_REGION_MAP_H
diff --git a/ld_script.txt b/ld_script.txt
index 18ddb39b6..aaafe34ed 100644
--- a/ld_script.txt
+++ b/ld_script.txt
@@ -23,7 +23,7 @@ SECTIONS {
INCLUDE "sym_bss.ld"
/* .bss.code starts at 0x3000F60 */
- src/libs/m4a_2.o(.bss.code);
+ src/libs/m4a.o(.bss.code);
/* COMMON starts at 0x3001760 */
INCLUDE "sym_common.ld"
@@ -294,9 +294,8 @@ SECTIONS {
src/easy_chat_1.o(.text);
src/easy_chat_2.o(.text);
src/pokenav_before.o(.text);
- asm/pokenav.o(.text);
- src/pokenav_after.o(.text);
- asm/pokenav.o(.text_80F708C);
+ src/pokenav.o(.text);
+ src/trainers_eye.o(.text);
src/mon_markings.o(.text);
src/mauville_man.o(.text);
src/mail.o(.text);
@@ -306,7 +305,6 @@ SECTIONS {
src/heal_location.o(.text);
src/region_map.o(.text);
src/contest_painting_effects.o(.text);
- asm/contest_painting_effects.o(.text);
src/decoration.o(.text);
src/slot_machine.o(.text);
src/contest_painting.o(.text);
@@ -399,9 +397,7 @@ SECTIONS {
{
src/libs/libgcnmultiboot.o(.text);
src/libs/m4a_1.o(.text);
- src/libs/m4a_2.o(.text);
- asm/m4a_3.o(.text);
- src/libs/m4a_4.o(.text);
+ src/libs/m4a.o(.text);
src/libs/agb_flash.o(.text);
src/libs/agb_flash_1m.o(.text);
src/libs/agb_flash_mx.o(.text);
@@ -697,7 +693,10 @@ SECTIONS {
src/easy_chat_1.o(.rodata);
src/easy_chat_2.o(.rodata);
src/easy_chat_2.o(.data);
+ src/pokenav_before.o(.rodata);
+ src/pokenav.o(.rodata);
data/pokenav.o(.rodata);
+ src/trainers_eye.o(.rodata);
src/mon_markings.o(.rodata);
src/mauville_man.o(.rodata);
src/mail.o(.rodata);
diff --git a/map_data_rules.mk b/map_data_rules.mk
new file mode 100755
index 000000000..89308fba1
--- /dev/null
+++ b/map_data_rules.mk
@@ -0,0 +1,31 @@
+# Map JSON data
+
+MAPS_DIR = data/maps
+LAYOUTS_DIR = data/layouts
+
+MAP_DIRS := $(dir $(wildcard $(MAPS_DIR)/*/))
+MAP_CONNECTIONS := $(patsubst $(MAPS_DIR)/%/,$(MAPS_DIR)/%/connections.inc,$(MAP_DIRS))
+MAP_EVENTS := $(patsubst $(MAPS_DIR)/%/,$(MAPS_DIR)/%/events.inc,$(MAP_DIRS))
+MAP_HEADERS := $(patsubst $(MAPS_DIR)/%/,$(MAPS_DIR)/%/header.inc,$(MAP_DIRS))
+
+$(BUILD_DIR)/data/maps.o: data/maps.s $(LAYOUTS_DIR)/layouts.inc $(LAYOUTS_DIR)/layouts_table.inc $(MAPS_DIR)/headers.inc $(MAPS_DIR)/groups.inc $(MAPS_DIR)/connections.inc $(MAP_CONNECTIONS) $(MAP_HEADERS)
+ $(PREPROC) $< charmap.txt | $(CPP) -I include | $(AS) $(ASFLAGS) -o $@
+$(BUILD_DIR)/data/map_events.o: data/map_events.s $(MAPS_DIR)/events.inc $(MAP_EVENTS)
+ $(PREPROC) $< charmap.txt | $(CPP) -I include | $(AS) $(ASFLAGS) -o $@
+
+$(MAPS_DIR)/%/header.inc: $(MAPS_DIR)/%/map.json
+ $(MAPJSON) map ruby $< $(LAYOUTS_DIR)/layouts.json
+$(MAPS_DIR)/%/events.inc: $(MAPS_DIR)/%/header.inc ;
+$(MAPS_DIR)/%/connections.inc: $(MAPS_DIR)/%/events.inc ;
+
+$(MAPS_DIR)/groups.inc: $(MAPS_DIR)/map_groups.json
+ $(MAPJSON) groups ruby $<
+$(MAPS_DIR)/connections.inc: $(MAPS_DIR)/groups.inc ;
+$(MAPS_DIR)/events.inc: $(MAPS_DIR)/connections.inc ;
+$(MAPS_DIR)/headers.inc: $(MAPS_DIR)/events.inc ;
+include/constants/map_groups.h: $(MAPS_DIR)/headers.inc ;
+
+$(LAYOUTS_DIR)/layouts.inc: $(LAYOUTS_DIR)/layouts.json
+ $(MAPJSON) layouts ruby $<
+$(LAYOUTS_DIR)/layouts_table.inc: $(LAYOUTS_DIR)/layouts.inc ;
+include/constants/layouts.h: $(LAYOUTS_DIR)/layouts_table.inc ;
diff --git a/src/battle/battle_2.c b/src/battle/battle_2.c
index 5a71733b8..b372413de 100644
--- a/src/battle/battle_2.c
+++ b/src/battle/battle_2.c
@@ -64,12 +64,6 @@ struct UnknownStruct8
u8 unk1A;
};
-struct UnknownStruct12
-{
- u32 unk0;
- u8 filler4[0x54];
-};
-
extern void sub_802BBD4();
extern struct SpriteTemplate gUnknown_02024E8C;
@@ -90,7 +84,6 @@ extern u8 gBattlersCount;
extern u16 gBattlerPartyIndexes[];
extern u8 gCurrentActionFuncId;
extern u8 gBanksByTurnOrder[];
-extern struct UnknownStruct12 gUnknown_02024AD0[];
extern u8 gBankSpriteIds[];
extern u16 gCurrentMove; // This is mis-named. It is a species, not a move ID.
extern u8 gLastUsedAbility;
@@ -1374,7 +1367,7 @@ void debug_sub_8012D10(u8);
u32 debug_sub_8013294(u8, void *, u32);
void debug_sub_80132C8(u8, void *, u32);
-extern s16 gUnknown_Debug_2023A76[][0x23];
+extern s16 gUnknown_Debug_2023A76[][35];
extern s16 gUnknown_Debug_2023B02[][6][4];
extern u8 gUnknown_Debug_03004360;
extern struct Window gUnknown_Debug_03004370;
@@ -1548,12 +1541,6 @@ void debug_sub_8010B80(u8 a)
= r12 * 10 + r7;
}
-// For some unexplainable reason, code in various functions will cause SetActionsAndBanksTurnOrder,
-// a completely separate and unrelated function, to use different registers. I have
-// absolutely no clue as to why this phenomenon occurs. For example,
-// I have to make debug_sub_8010CAC access gUnknown_Debug_2023A76 as a 3D array.
-// If I use a 2D array, SetActionsAndBanksTurnOrder will no longer match.
-#ifdef NONMATCHING
void debug_sub_8010CAC(void)
{
s32 r5;
@@ -1851,309 +1838,6 @@ void debug_sub_8010CAC(void)
AnimateSprites();
BuildOamBuffer();
}
-#else
-
-// 3D array
-extern s16 gUnknown_Debug_2023A76_[][7][5];
-
-void debug_sub_8010CAC(void)
-{
- s32 r5;
-
- if (gMain.heldKeysRaw == (L_BUTTON | SELECT_BUTTON))
- DoSoftReset();
- if (gMain.newKeysRaw == SELECT_BUTTON)
- {
- if (gUnknown_Debug_030043A4 < 6)
- {
- gUnknown_Debug_030043A8 = 0;
- debug_sub_8012628();
- SetMainCallback2(debug_sub_8011498);
- }
- if (gUnknown_Debug_030043A0 == 0 && gUnknown_Debug_030043A4 == 6)
- {
- gMain.savedCallback = debug_sub_80108B8;
- CreateMon(
- &gPlayerParty[0],
- gUnknown_Debug_2023A76_[0][0][0],
- gUnknown_Debug_2023A76_[0][0][1],
- 32,
- 0, 0, 0, 0);
- for (r5 = 0; r5 < 4; r5++)
- {
- SetMonData(&gPlayerParty[0], MON_DATA_MOVE1 + r5, &gUnknown_Debug_2023B02[0][0][r5]);
- SetMonData(&gPlayerParty[0], MON_DATA_PP1 + r5, &gBattleMoves[gUnknown_Debug_2023B02[0][0][r5]].pp);
- }
- switch (gUnknown_Debug_2023A76_[0][6][0])
- {
- case 1:
- gCB2_AfterEvolution = debug_sub_80108B8;
- EvolutionScene(&gPlayerParty[0], gUnknown_Debug_2023A76_[0][1][0], 1, 0);
- break;
- case 2:
- debug_sub_8012688();
- break;
- }
- }
- if (gUnknown_Debug_030043A0 == 1 && gUnknown_Debug_030043A4 == 6)
- {
- // This is really weird
- r5 = (gSaveBlock2.optionsBattleSceneOff | (gSaveBlock2.optionsSound << 1));
- r5++;
- if (r5 == 4)
- r5 = 0;
- gSaveBlock2.optionsBattleSceneOff = (r5 & 1);
- gSaveBlock2.optionsSound = (r5 & 2) >> 1;
- SetPokemonCryStereo(gSaveBlock2.optionsSound);
- debug_nullsub_3();
- }
- }
- if (gMain.newKeysRaw == START_BUTTON)
- debug_sub_801174C();
- if (gMain.newKeysRaw == DPAD_UP)
- {
- debug_sub_80125E4();
- if (gUnknown_Debug_030043A4 != 0)
- gUnknown_Debug_030043A4--;
- else
- gUnknown_Debug_030043A4 = 6;
- debug_sub_8011E74();
- debug_sub_80123D8(gUnknown_Debug_030043A4 * 5);
- debug_sub_80125A0();
- }
- if (gMain.newKeysRaw == DPAD_DOWN)
- {
- debug_sub_80125E4();
- if (gUnknown_Debug_030043A4 == 6)
- gUnknown_Debug_030043A4 = 0;
- else
- gUnknown_Debug_030043A4++;
- debug_sub_8011E74();
- debug_sub_80123D8(gUnknown_Debug_030043A4 * 5);
- debug_sub_80125A0();
- }
- if (gMain.newKeysRaw == DPAD_LEFT)
- {
- debug_sub_80125E4();
- if (gUnknown_Debug_030043A0 != 0)
- {
- gUnknown_Debug_030043A0--;
- }
- else
- {
- if (gUnknown_Debug_03004360 != 0)
- {
- gUnknown_Debug_03004360 = 0;
- gUnknown_Debug_030043A0 = 4;
- gBattle_BG1_X = 0;
- debug_sub_8011E5C();
- debug_sub_8011E74();
- debug_sub_80123D8(gUnknown_Debug_030043A4 * 5);
- }
- }
- debug_sub_80125A0();
- }
- if (gMain.newKeysRaw == DPAD_RIGHT)
- {
- debug_sub_80125E4();
- if (gUnknown_Debug_030043A0 != 4)
- {
- gUnknown_Debug_030043A0++;
- }
- else
- {
- if (gUnknown_Debug_03004360 == 0)
- {
- gUnknown_Debug_03004360 = 1;
- gUnknown_Debug_030043A0 = 0;
- gBattle_BG1_X = 0x100;
- debug_sub_8011E5C();
- debug_sub_8011E74();
- debug_sub_80123D8(gUnknown_Debug_030043A4 * 5);
- }
- }
- debug_sub_80125A0();
- }
- if (gMain.newAndRepeatedKeys & B_BUTTON)
- {
- switch (gUnknown_Debug_030043A0 + gUnknown_Debug_030043A4 * 5)
- {
- case 31:
- debug_sub_8010818();
- debug_sub_8011E5C();
- debug_sub_8011E74();
- debug_sub_8012540();
- debug_nullsub_3();
- debug_sub_80123D8(gUnknown_Debug_030043A4 * 5);
- break;
- case 32:
- debug_sub_80132C8(31, gUnknown_Debug_2023A76, 0xEC);
- debug_sub_8011E5C();
- debug_sub_8011E74();
- debug_sub_8012540();
- debug_nullsub_3();
- debug_sub_80123D8(gUnknown_Debug_030043A4 * 5);
- break;
- case 33:
- debug_sub_8013294(31, gUnknown_Debug_2023A76, 0xEC);
- break;
- case 34:
- if (gUnknown_Debug_2023A76_[0][6][4] != 0)
- {
- gUnknown_Debug_2023A76_[0][6][4]--;
- gUnknown_Debug_2023A76_[1][6][4]--;
- }
- else
- {
- gUnknown_Debug_2023A76_[0][6][4] = 8;
- gUnknown_Debug_2023A76_[1][6][4] = 8;
- }
- debug_sub_8012540();
- break;
- case 30:
- debug_sub_8010B80(0);
- debug_sub_8011EA0(gUnknown_Debug_030043A0 + gUnknown_Debug_030043A4 * 5);
- break;
- default:
- if (gUnknown_Debug_030043A0 == 4 && gUnknown_Debug_030043A4 < 6)
- {
- debug_sub_8010AAC(1);
- }
- else
- {
- gUnknown_Debug_2023A76[gUnknown_Debug_03004360][gUnknown_Debug_030043A0 + gUnknown_Debug_030043A4 * 5]--;
- if (gUnknown_Debug_2023A76[gUnknown_Debug_03004360][gUnknown_Debug_030043A4 * 5 + gUnknown_Debug_030043A0] < gUnknown_Debug_821F424[gUnknown_Debug_030043A4 * 5 + gUnknown_Debug_030043A0][4])
- gUnknown_Debug_2023A76[gUnknown_Debug_03004360][gUnknown_Debug_030043A4 * 5 + gUnknown_Debug_030043A0] = gUnknown_Debug_821F424[gUnknown_Debug_030043A4 * 5 + gUnknown_Debug_030043A0][3];
- }
- if (gUnknown_Debug_030043A0 == 0)
- {
- debug_sub_8010AAC(0);
- debug_sub_8011EA0(gUnknown_Debug_030043A4 * 5 + 4);
- }
- debug_sub_8011EA0(gUnknown_Debug_030043A4 * 5 + gUnknown_Debug_030043A0);
- debug_sub_80123D8(gUnknown_Debug_030043A4 * 5);
- break;
- }
- }
- if (gMain.newAndRepeatedKeys & A_BUTTON)
- {
- switch (gUnknown_Debug_030043A0 + gUnknown_Debug_030043A4 * 5)
- {
- case 31:
- debug_sub_8010818();
- debug_sub_8011E5C();
- debug_sub_8011E74();
- debug_sub_8012540();
- debug_nullsub_3();
- debug_sub_80123D8(gUnknown_Debug_030043A4 * 5);
- break;
- case 32:
- debug_sub_80132C8(31, gUnknown_Debug_2023A76, 0xEC);
- debug_sub_8011E5C();
- debug_sub_8011E74();
- debug_sub_8012540();
- debug_nullsub_3();
- debug_sub_80123D8(gUnknown_Debug_030043A4 * 5);
- break;
- case 33:
- debug_sub_8013294(31, gUnknown_Debug_2023A76, 0xEC);
- break;
- case 34:
- if (gUnknown_Debug_2023A76_[0][6][4] < 8)
- {
- gUnknown_Debug_2023A76_[0][6][4]++;
- gUnknown_Debug_2023A76_[1][6][4]++;
- }
- else
- {
- gUnknown_Debug_2023A76_[0][6][4] = 0;
- gUnknown_Debug_2023A76_[1][6][4] = 0;
- }
- debug_sub_8012540();
- break;
- case 30:
- debug_sub_8010B80(1);
- debug_sub_8011EA0(gUnknown_Debug_030043A0 + gUnknown_Debug_030043A4 * 5);
- break;
- default:
- if (gUnknown_Debug_030043A0 == 4 && gUnknown_Debug_030043A4 < 6)
- {
- debug_sub_8010AAC(1);
- }
- else
- {
- gUnknown_Debug_2023A76[gUnknown_Debug_03004360][gUnknown_Debug_030043A0 + gUnknown_Debug_030043A4 * 5]++;
- if (gUnknown_Debug_2023A76[gUnknown_Debug_03004360][gUnknown_Debug_030043A4 * 5 + gUnknown_Debug_030043A0] > gUnknown_Debug_821F424[gUnknown_Debug_030043A4 * 5 + gUnknown_Debug_030043A0][3])
- gUnknown_Debug_2023A76[gUnknown_Debug_03004360][gUnknown_Debug_030043A4 * 5 + gUnknown_Debug_030043A0] = gUnknown_Debug_821F424[gUnknown_Debug_030043A4 * 5 + gUnknown_Debug_030043A0][4];
- }
- if (gUnknown_Debug_030043A0 == 0)
- {
- debug_sub_8010AAC(0);
- debug_sub_8011EA0(gUnknown_Debug_030043A4 * 5 + 4);
- }
- debug_sub_8011EA0(gUnknown_Debug_030043A0 + gUnknown_Debug_030043A4 * 5);
- debug_sub_80123D8(gUnknown_Debug_030043A4 * 5);
- break;
- }
- }
- if (gMain.newAndRepeatedKeys & L_BUTTON)
- {
- if (gUnknown_Debug_030043A0 == 4 && gUnknown_Debug_030043A4 < 6)
- {
- debug_sub_8010AAC(1);
- }
- else
- {
- if (gUnknown_Debug_030043A4 * 5 + gUnknown_Debug_030043A0 == 30)
- {
- debug_sub_8010B80(2);
- }
- else
- {
- gUnknown_Debug_2023A76[gUnknown_Debug_03004360][gUnknown_Debug_030043A4 * 5 + gUnknown_Debug_030043A0] -= 10;
- while (gUnknown_Debug_2023A76[gUnknown_Debug_03004360][gUnknown_Debug_030043A4 * 5 + gUnknown_Debug_030043A0] < gUnknown_Debug_821F424[gUnknown_Debug_030043A4 * 5 + gUnknown_Debug_030043A0][4])
- gUnknown_Debug_2023A76[gUnknown_Debug_03004360][gUnknown_Debug_030043A4 * 5 + gUnknown_Debug_030043A0] += gUnknown_Debug_821F424[gUnknown_Debug_030043A4 * 5 + gUnknown_Debug_030043A0][3];
- }
- }
- if (gUnknown_Debug_030043A0 == 0)
- {
- debug_sub_8010AAC(0);
- debug_sub_8011EA0(gUnknown_Debug_030043A4 * 5 + 4);
- }
- debug_sub_8011EA0(gUnknown_Debug_030043A4 * 5 + gUnknown_Debug_030043A0);
- debug_sub_80123D8(gUnknown_Debug_030043A4 * 5);
- }
- if (gMain.newAndRepeatedKeys & R_BUTTON)
- {
- if (gUnknown_Debug_030043A0 == 4 && gUnknown_Debug_030043A4 < 6)
- {
- debug_sub_8010AAC(1);
- }
- else
- {
- if (gUnknown_Debug_030043A4 * 5 + gUnknown_Debug_030043A0 == 30)
- {
- debug_sub_8010B80(3);
- }
- else
- {
- gUnknown_Debug_2023A76[gUnknown_Debug_03004360][gUnknown_Debug_030043A4 * 5 + gUnknown_Debug_030043A0] += 10;
- while (gUnknown_Debug_2023A76[gUnknown_Debug_03004360][gUnknown_Debug_030043A4 * 5 + gUnknown_Debug_030043A0] > gUnknown_Debug_821F424[gUnknown_Debug_030043A4 * 5 + gUnknown_Debug_030043A0][3])
- gUnknown_Debug_2023A76[gUnknown_Debug_03004360][gUnknown_Debug_030043A4 * 5 + gUnknown_Debug_030043A0] -= gUnknown_Debug_821F424[gUnknown_Debug_030043A4 * 5 + gUnknown_Debug_030043A0][3];
- }
- }
- if (gUnknown_Debug_030043A0 == 0)
- {
- debug_sub_8010AAC(0);
- debug_sub_8011EA0(gUnknown_Debug_030043A4 * 5 + 4);
- }
- debug_sub_8011EA0(gUnknown_Debug_030043A4 * 5 + gUnknown_Debug_030043A0);
- debug_sub_80123D8(gUnknown_Debug_030043A4 * 5);
- }
- AnimateSprites();
- BuildOamBuffer();
-}
-#endif
extern u16 gUnknown_Debug_821F564[][5];
@@ -3725,10 +3409,8 @@ void SwitchInClearSetData(void)
gBattleMons[gActiveBattler].statStages[i] = 6;
for (i = 0; i < gBattlersCount; i++)
{
- struct UnknownStruct12 *sp20 = &gUnknown_02024AD0[i];
-
- if ((sp20->unk0 & 0x04000000) && gDisableStructs[i].bankPreventingEscape == gActiveBattler)
- sp20->unk0 &= ~0x04000000;
+ if ((gBattleMons[i].status2 & STATUS2_ESCAPE_PREVENTION) && gDisableStructs[i].bankPreventingEscape == gActiveBattler)
+ gBattleMons[i].status2 &= ~STATUS2_ESCAPE_PREVENTION;
if ((gStatuses3[i] & STATUS3_ALWAYS_HITS) && gDisableStructs[i].bankWithSureHit == gActiveBattler)
{
gStatuses3[i] &= ~STATUS3_ALWAYS_HITS;
@@ -3760,10 +3442,10 @@ void SwitchInClearSetData(void)
for (i = 0; i < gBattlersCount; i++)
{
- if (gUnknown_02024AD0[i].unk0 & (gBitTable[gActiveBattler] << 16))
- gUnknown_02024AD0[i].unk0 &= ~(gBitTable[gActiveBattler] << 16);
- if ((gUnknown_02024AD0[i].unk0 & 0xE000) && ewram16020arr(i) == gActiveBattler)
- gUnknown_02024AD0[i].unk0 &= ~0xE000;
+ if (gBattleMons[i].status2 & (gBitTable[gActiveBattler] << 16))
+ gBattleMons[i].status2 &= ~(gBitTable[gActiveBattler] << 16);
+ if ((gBattleMons[i].status2 & STATUS2_WRAPPED) && ewram16020arr(i) == gActiveBattler)
+ gBattleMons[i].status2 &= ~STATUS2_WRAPPED;
}
gActionSelectionCursor[gActiveBattler] = 0;
@@ -4408,1536 +4090,366 @@ void sub_8012258(u8 a)
}
}
-/*
+enum
+{
+ STATE_BEFORE_ACTION_CHOSEN,
+ STATE_WAIT_ACTION_CHOSEN,
+ STATE_WAIT_ACTION_CASE_CHOSEN,
+ STATE_WAIT_ACTION_CONFIRMED_STANDBY,
+ STATE_WAIT_ACTION_CONFIRMED,
+ STATE_SELECTION_SCRIPT,
+ STATE_WAIT_SET_BEFORE_ACTION,
+ STATE_SELECTION_SCRIPT_MAY_RUN
+};
+
+extern u8 * gSelectionBattleScripts[];
+extern u8 BattleScript_ActionSelectionItemsCantBeUsed[];
+extern u8 BattleScript_PrintFullBox[];
+extern u8 BattleScript_PrintCantRunFromTrainer[];
+extern u8 BattleScript_PrintCantEscapeFromBattle[];
+
void sub_8012324(void)
{
- u8 r5;
+ u8 position;
+ s32 i;
gBattleCommunication[4] = 0;
// inverted loop
//_0801234C
for (gActiveBattler = 0; gActiveBattler < gBattlersCount; gActiveBattler++)
{
- r5 = GetBattlerPosition(gActiveBattler);
+ position = GetBattlerPosition(gActiveBattler);
switch (gBattleCommunication[gActiveBattler])
{
- case 0:
- ewram16068arr(gActiveBattler) = 6;
- if (!(gBattleTypeFlags & 0x40)
- && (r5 & 2)
- && !(ewram160A6 & gBitTable[GetBattlerAtPosition(r5 ^ 2)])
- && gBattleCommunication[GetBattlerAtPosition(r5)] != 4)
+ case STATE_BEFORE_ACTION_CHOSEN:
+ ewram16068arr(gActiveBattler) = 6;
+ if (!(gBattleTypeFlags & BATTLE_TYPE_MULTI)
+ && (position & BIT_FLANK) != B_FLANK_LEFT
+ && !(ewram160A6 & gBitTable[GetBattlerAtPosition(BATTLE_PARTNER(position))])
+ && gBattleCommunication[GetBattlerAtPosition(BATTLE_PARTNER(position))] != STATE_WAIT_ACTION_CONFIRMED)
+ break;
+ //_080123F8
+ if (ewram160A6 & gBitTable[gActiveBattler])
+ {
+ gActionForBanks[gActiveBattler] = 13;
+ if (!(gBattleTypeFlags & 0x40))
+ gBattleCommunication[gActiveBattler] = 4;
+ //_08012454
+ else
+ gBattleCommunication[gActiveBattler] = 3;
+ break;
+ }
+ //_08012468
+ if ((gBattleMons[gActiveBattler].status2 & 0x1000)
+ || (gBattleMons[gActiveBattler].status2 & 0x400000))
+ {
+ gActionForBanks[gActiveBattler] = 0;
+ gBattleCommunication[gActiveBattler] = 3;
+ }
+ else
+ {
+ Emitcmd18(0, gActionForBanks[0], gBattleBufferB[0][1] | (gBattleBufferB[0][2] << 8));
+ MarkBufferBankForExecution(gActiveBattler);
+ gBattleCommunication[gActiveBattler]++;
+ }
break;
- //_080123F8
- if (ewram160A6 & gBitTable[gActiveBattler])
- {
- gActionForBanks[gActiveBattler] = 13;
- if (!(gBattleTypeFlags & 0x40))
- gBattleCommunication[gActiveBattler] = 4;
- //_08012454
+ case STATE_WAIT_ACTION_CHOSEN:
+ if (!(gBattleExecBuffer & ((gBitTable[gActiveBattler]) | (0xF0000000) | (gBitTable[gActiveBattler] << 4) | (gBitTable[gActiveBattler] << 8) | (gBitTable[gActiveBattler] << 0xC))))
+ {
+ gActionForBanks[gActiveBattler] = gBattleBufferB[gActiveBattler][1];
+ switch (gBattleBufferB[gActiveBattler][1])
+ {
+ case B_ACTION_USE_MOVE:
+ if (AreAllMovesUnusable())
+ {
+ gBattleCommunication[gActiveBattler] = STATE_SELECTION_SCRIPT;
+ ewram16060(gActiveBattler) = FALSE;
+ ewram16094arr(gActiveBattler) = STATE_WAIT_ACTION_CONFIRMED_STANDBY;
+ ewram16010arr(gActiveBattler) = gBattleBufferB[gActiveBattler][3];
+ return;
+ }
+ else if (gDisableStructs[gActiveBattler].encoredMove != 0)
+ {
+ gChosenMovesByBanks[gActiveBattler] = gDisableStructs[gActiveBattler].encoredMove;
+ gBattleCommunication[gActiveBattler] = STATE_WAIT_ACTION_CONFIRMED_STANDBY;
+ return;
+ }
+ else
+ {
+ struct ChooseMoveStruct {
+ u16 moves[4];
+ u8 currentPp[4];
+ u8 maxPp[4];
+ u16 species;
+ u8 monType1;
+ u8 monType2;
+ } moveInfo;
+
+ moveInfo.species = gBattleMons[gActiveBattler].species;
+ moveInfo.monType1 = gBattleMons[gActiveBattler].type1;
+ moveInfo.monType2 = gBattleMons[gActiveBattler].type2;
+
+ for (i = 0; i < 4; i++)
+ {
+ moveInfo.moves[i] = gBattleMons[gActiveBattler].moves[i];
+ moveInfo.currentPp[i] = gBattleMons[gActiveBattler].pp[i];
+ moveInfo.maxPp[i] = CalculatePPWithBonus(
+ gBattleMons[gActiveBattler].moves[i],
+ gBattleMons[gActiveBattler].ppBonuses,
+ i);
+ }
+
+ Emitcmd20(0, (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) != 0, FALSE, (u8 *)&moveInfo);
+ MarkBufferBankForExecution(gActiveBattler);
+ }
+ break;
+ case B_ACTION_USE_ITEM:
+ if (gBattleTypeFlags & (BATTLE_TYPE_LINK
+ | BATTLE_TYPE_BATTLE_TOWER
+ | BATTLE_TYPE_EREADER_TRAINER))
+ {
+ gSelectionBattleScripts[gActiveBattler] = BattleScript_ActionSelectionItemsCantBeUsed;
+ gBattleCommunication[gActiveBattler] = STATE_SELECTION_SCRIPT;
+ ewram16060(gActiveBattler) = FALSE;
+ ewram16094arr(gActiveBattler) = STATE_BEFORE_ACTION_CHOSEN;
+ return;
+ }
+ else
+ {
+ EmitOpenBag(0, &ewram1606Carr(0, gActiveBattler));
+ MarkBufferBankForExecution(gActiveBattler);
+ }
+ break;
+ case B_ACTION_SWITCH:
+ ewram16064arr(gActiveBattler) = gBattlerPartyIndexes[gActiveBattler];
+ if (gBattleMons[gActiveBattler].status2 & (STATUS2_WRAPPED | STATUS2_ESCAPE_PREVENTION)
+ || gStatuses3[gActiveBattler] & STATUS3_ROOTED)
+ {
+ EmitChoosePokemon(0, 2, 6, ABILITY_NONE, &ewram1606Carr(0, gActiveBattler));
+ }
+ else if ((i = ABILITY_ON_OPPOSING_FIELD(gActiveBattler, ABILITY_SHADOW_TAG))
+ || ((i = ABILITY_ON_OPPOSING_FIELD(gActiveBattler, ABILITY_ARENA_TRAP))
+ && !IS_BATTLER_OF_TYPE(gActiveBattler, TYPE_FLYING)
+ && gBattleMons[gActiveBattler].ability != ABILITY_LEVITATE)
+ || ((i = AbilityBattleEffects(ABILITYEFFECT_CHECK_FIELD_EXCEPT_BATTLER, gActiveBattler, ABILITY_MAGNET_PULL, 0, 0))
+ && IS_BATTLER_OF_TYPE(gActiveBattler, TYPE_STEEL)))
+ {
+ EmitChoosePokemon(0, ((i - 1) << 4) | PARTY_ABILITY_PREVENTS, 6, gLastUsedAbility, &ewram1606Carr(0, gActiveBattler));
+ }
+ else
+ {
+ if (gActiveBattler == 2 && gActionForBanks[0] == B_ACTION_SWITCH)
+ EmitChoosePokemon(0, PARTY_CHOOSE_MON, ewram16068arr(0), ABILITY_NONE, &ewram1606Carr(0, gActiveBattler));
+ else if (gActiveBattler == 3 && gActionForBanks[1] == B_ACTION_SWITCH)
+ EmitChoosePokemon(0, PARTY_CHOOSE_MON, ewram16068arr(1), ABILITY_NONE, &ewram1606Carr(0, gActiveBattler));
+ else
+ EmitChoosePokemon(0, PARTY_CHOOSE_MON, 6, ABILITY_NONE, &ewram1606Carr(0, gActiveBattler));
+ }
+ MarkBufferBankForExecution(gActiveBattler);
+ break;
+ case B_ACTION_SAFARI_BALL:
+ if (PlayerPartyAndPokemonStorageFull())
+ {
+ gSelectionBattleScripts[gActiveBattler] = BattleScript_PrintFullBox;
+ gBattleCommunication[gActiveBattler] = STATE_SELECTION_SCRIPT;
+ ewram16060(gActiveBattler) = FALSE;
+ ewram16094arr(gActiveBattler) = STATE_BEFORE_ACTION_CHOSEN;
+ return;
+ }
+ break;
+ case B_ACTION_SAFARI_POKEBLOCK:
+ EmitOpenBag(0, &ewram1606Carr(0, gActiveBattler));
+ MarkBufferBankForExecution(gActiveBattler);
+ break;
+ case B_ACTION_CANCEL_PARTNER:
+ gBattleCommunication[gActiveBattler] = STATE_WAIT_SET_BEFORE_ACTION;
+ gBattleCommunication[GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(gActiveBattler)))] = STATE_BEFORE_ACTION_CHOSEN;
+ Emitcmd50(0);
+ MarkBufferBankForExecution(gActiveBattler);
+ return;
+ }
+
+ if (gBattleTypeFlags & BATTLE_TYPE_TRAINER
+ && !(gBattleTypeFlags & (BATTLE_TYPE_LINK))
+ && gBattleBufferB[gActiveBattler][1] == B_ACTION_RUN)
+ {
+ BattleScriptExecute(BattleScript_PrintCantRunFromTrainer);
+ gBattleCommunication[gActiveBattler] = STATE_BEFORE_ACTION_CHOSEN;
+ }
+ else if (CanRunFromBattle()
+ && gBattleBufferB[gActiveBattler][1] == B_ACTION_RUN)
+ {
+ gSelectionBattleScripts[gActiveBattler] = BattleScript_PrintCantEscapeFromBattle;
+ gBattleCommunication[gActiveBattler] = STATE_SELECTION_SCRIPT;
+ ewram16060(gActiveBattler) = FALSE;
+ ewram16094arr(gActiveBattler) = STATE_BEFORE_ACTION_CHOSEN;
+ return;
+ }
+ else
+ {
+ gBattleCommunication[gActiveBattler]++;
+ }
+ }
+ break;
+ case STATE_WAIT_ACTION_CASE_CHOSEN:
+ if (!(gBattleExecBuffer & ((gBitTable[gActiveBattler]) | (0xF0000000) | (gBitTable[gActiveBattler] << 4) | (gBitTable[gActiveBattler] << 8) | (gBitTable[gActiveBattler] << 0xC))))
+ {
+ switch (gActionForBanks[gActiveBattler])
+ {
+ case B_ACTION_USE_MOVE:
+ switch (gBattleBufferB[gActiveBattler][1])
+ {
+ case 3:
+ case 4:
+ case 5:
+ case 6:
+ case 7:
+ case 8:
+ case 9:
+ gActionForBanks[gActiveBattler] = gBattleBufferB[gActiveBattler][1];
+ return;
+ default:
+ if ((gBattleBufferB[gActiveBattler][2] | (gBattleBufferB[gActiveBattler][3] << 8)) == 0xFFFF)
+ {
+ gBattleCommunication[gActiveBattler] = STATE_BEFORE_ACTION_CHOSEN;
+ }
+ else if (TrySetCantSelectMoveBattleScript())
+ {
+ gBattleCommunication[gActiveBattler] = STATE_SELECTION_SCRIPT;
+ ewram16060(gActiveBattler) = FALSE;
+ gBattleBufferB[gActiveBattler][1] = 0;
+ ewram16094arr(gActiveBattler) = STATE_WAIT_ACTION_CHOSEN;
+ return;
+ }
+ else
+ {
+ ewram1608Carr(gActiveBattler) = gBattleBufferB[gActiveBattler][2];
+ gChosenMovesByBanks[gActiveBattler] = gBattleMons[gActiveBattler].moves[ewram1608Carr(gActiveBattler)];
+ ewram16010arr(gActiveBattler) = gBattleBufferB[gActiveBattler][3];
+ gBattleCommunication[gActiveBattler]++;
+ }
+ break;
+ }
+ break;
+ case B_ACTION_USE_ITEM:
+ if ((gBattleBufferB[gActiveBattler][1] | (gBattleBufferB[gActiveBattler][2] << 8)) == 0)
+ {
+ gBattleCommunication[gActiveBattler] = STATE_BEFORE_ACTION_CHOSEN;
+ }
+ else
+ {
+ gLastUsedItem = (gBattleBufferB[gActiveBattler][1] | (gBattleBufferB[gActiveBattler][2] << 8));
+ gBattleCommunication[gActiveBattler]++;
+ }
+ break;
+ case B_ACTION_SWITCH:
+ if (gBattleBufferB[gActiveBattler][1] == PARTY_SIZE)
+ {
+ gBattleCommunication[gActiveBattler] = STATE_BEFORE_ACTION_CHOSEN;
+ }
+ else
+ {
+ ewram16068arr(gActiveBattler) = gBattleBufferB[gActiveBattler][1];
+
+ if (gBattleTypeFlags & BATTLE_TYPE_MULTI)
+ {
+ ewram1606Carr(0, gActiveBattler) &= 0xF;
+ ewram1606Carr(0, gActiveBattler) |= (gBattleBufferB[gActiveBattler][2] & 0xF0);
+ ewram1606Carr(1, gActiveBattler) = gBattleBufferB[gActiveBattler][3];
+
+ ewram1606Carr(0, (gActiveBattler ^ BIT_FLANK)) &= (0xF0);
+ ewram1606Carr(0, (gActiveBattler ^ BIT_FLANK)) |= (gBattleBufferB[gActiveBattler][2] & 0xF0) >> 4;
+ ewram1606Carr(2, (gActiveBattler ^ BIT_FLANK)) = gBattleBufferB[gActiveBattler][3];
+ }
+ gBattleCommunication[gActiveBattler]++;
+ }
+ break;
+ case B_ACTION_RUN:
+ gHitMarker |= HITMARKER_RUN;
+ gBattleCommunication[gActiveBattler]++;
+ break;
+ case B_ACTION_SAFARI_WATCH_CAREFULLY:
+ gBattleCommunication[gActiveBattler]++;
+ break;
+ case B_ACTION_SAFARI_BALL:
+ gBattleCommunication[gActiveBattler]++;
+ break;
+ case B_ACTION_SAFARI_POKEBLOCK:
+ if ((gBattleBufferB[gActiveBattler][1] | (gBattleBufferB[gActiveBattler][2] << 8)) != 0)
+ {
+ gBattleCommunication[gActiveBattler]++;
+ }
+ else
+ {
+ gBattleCommunication[gActiveBattler] = STATE_BEFORE_ACTION_CHOSEN;
+ }
+ break;
+ case B_ACTION_SAFARI_GO_NEAR:
+ gBattleCommunication[gActiveBattler]++;
+ break;
+ case B_ACTION_SAFARI_RUN:
+ gHitMarker |= HITMARKER_RUN;
+ gBattleCommunication[gActiveBattler]++;
+ break;
+ case B_ACTION_WALLY_THROW:
+ gBattleCommunication[gActiveBattler]++;
+ break;
+ }
+ }
+ break;
+ case STATE_WAIT_ACTION_CONFIRMED_STANDBY:
+ if (!(gBattleExecBuffer & ((gBitTable[gActiveBattler]) | (0xF0000000) | (gBitTable[gActiveBattler] << 4) | (gBitTable[gActiveBattler] << 8) | (gBitTable[gActiveBattler] << 0xC))))
+ {
+ if (((gBattleTypeFlags & (BATTLE_TYPE_MULTI | BATTLE_TYPE_DOUBLE)) != BATTLE_TYPE_DOUBLE)
+ || (position & BIT_FLANK) != B_FLANK_LEFT
+ || (ewram160A6 & gBitTable[GetBattlerAtPosition(position ^ BIT_FLANK)]))
+ {
+ EmitLinkStandbyMsg(0, 0);
+ }
+ else
+ {
+ EmitLinkStandbyMsg(0, 1);
+ }
+ MarkBufferBankForExecution(gActiveBattler);
+ gBattleCommunication[gActiveBattler]++;
+ }
+ break;
+ case STATE_WAIT_ACTION_CONFIRMED:
+ if (!(gBattleExecBuffer & ((gBitTable[gActiveBattler]) | (0xF0000000) | (gBitTable[gActiveBattler] << 4) | (gBitTable[gActiveBattler] << 8) | (gBitTable[gActiveBattler] << 0xC))))
+ {
+ gBattleCommunication[ACTIONS_CONFIRMED_COUNT]++;
+ }
+ break;
+ case STATE_SELECTION_SCRIPT:
+ if (ewram16060(gActiveBattler))
+ {
+ gBattleCommunication[gActiveBattler] = ewram16094arr(gActiveBattler);
+ }
else
- gBattleCommunication[gActiveBattler] = 3;
+ {
+ gBankAttacker = gActiveBattler;
+ gBattlescriptCurrInstr = gSelectionBattleScripts[gActiveBattler];
+ if (!(gBattleExecBuffer & ((gBitTable[gActiveBattler]) | (0xF0000000) | (gBitTable[gActiveBattler] << 4) | (gBitTable[gActiveBattler] << 8) | (gBitTable[gActiveBattler] << 0xC))))
+ {
+ gBattleScriptingCommandsTable[gBattlescriptCurrInstr[0]]();
+ }
+ gSelectionBattleScripts[gActiveBattler] = gBattlescriptCurrInstr;
+ }
+ break;
+ case STATE_WAIT_SET_BEFORE_ACTION:
+ if (!(gBattleExecBuffer & ((gBitTable[gActiveBattler]) | (0xF0000000) | (gBitTable[gActiveBattler] << 4) | (gBitTable[gActiveBattler] << 8) | (gBitTable[gActiveBattler] << 0xC))))
+ {
+ gBattleCommunication[gActiveBattler] = STATE_BEFORE_ACTION_CHOSEN;
+ }
break;
- }
- //_08012468
- if ((gBattleMons[gActiveBattler].status2 & 0x1000)
- || (gBattleMons[gActiveBattler].status2 & 0x10000000))
- {
- gActionForBanks[gActiveBattler] = 0;
- gBattleCommunication[gActiveBattler] = 3;
- }
- else
- {
- Emitcmd18(0, gActionForBanks[0], gBattleBufferB[0][1] | (gBattleBufferB[0][2] << 8));
- MarkBufferBankForExecution(gActiveBattler);
- gBattleCommunication[gActiveBattler]++;
- }
- break;
- case 1:
}
}
-}
-*/
-NAKED
-void sub_8012324(void)
-{
- asm(".syntax unified\n\
- push {r4-r7,lr}\n\
- mov r7, r10\n\
- mov r6, r9\n\
- mov r5, r8\n\
- push {r5-r7}\n\
- sub sp, 0x1C\n\
- ldr r0, _08012340 @ =gBattleCommunication\n\
- movs r1, 0\n\
- strb r1, [r0, 0x4]\n\
- ldr r0, _08012344 @ =gActiveBattler\n\
- strb r1, [r0]\n\
- ldr r0, _08012348 @ =gBattlersCount\n\
- bl _08012F74\n\
- .align 2, 0\n\
-_08012340: .4byte gBattleCommunication\n\
-_08012344: .4byte gActiveBattler\n\
-_08012348: .4byte gBattlersCount\n\
-_0801234C:\n\
- ldr r4, _08012374 @ =gActiveBattler\n\
- ldrb r0, [r4]\n\
- bl GetBattlerPosition\n\
- lsls r0, 24\n\
- lsrs r5, r0, 24\n\
- ldr r1, _08012378 @ =gBattleCommunication\n\
- ldrb r0, [r4]\n\
- adds r0, r1\n\
- ldrb r0, [r0]\n\
- cmp r0, 0x6\n\
- bls _08012368\n\
- bl _08012F66\n\
-_08012368:\n\
- lsls r0, 2\n\
- ldr r1, _0801237C @ =_08012380\n\
- adds r0, r1\n\
- ldr r0, [r0]\n\
- mov pc, r0\n\
- .align 2, 0\n\
-_08012374: .4byte gActiveBattler\n\
-_08012378: .4byte gBattleCommunication\n\
-_0801237C: .4byte _08012380\n\
- .align 2, 0\n\
-_08012380:\n\
- .4byte _0801239C\n\
- .4byte _080124C8\n\
- .4byte _08012A28\n\
- .4byte _08012DA8\n\
- .4byte _08012E50\n\
- .4byte _08012E94\n\
- .4byte _08012F38\n\
-_0801239C:\n\
- ldr r4, _08012434 @ =gSharedMem\n\
- ldr r0, _08012438 @ =gActiveBattler\n\
- ldrb r0, [r0]\n\
- ldr r1, _0801243C @ =0x00016068\n\
- adds r0, r1\n\
- adds r0, r4\n\
- movs r1, 0x6\n\
- strb r1, [r0]\n\
- ldr r0, _08012440 @ =gBattleTypeFlags\n\
- ldrh r1, [r0]\n\
- movs r0, 0x40\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- bne _080123F8\n\
- movs r1, 0x2\n\
- movs r0, 0x2\n\
- ands r0, r5\n\
- cmp r0, 0\n\
- beq _080123F8\n\
- eors r5, r1\n\
- adds r0, r5, 0\n\
- bl GetBattlerAtPosition\n\
- ldr r2, _08012444 @ =0x000160a6\n\
- adds r1, r4, r2\n\
- ldrb r1, [r1]\n\
- ldr r2, _08012448 @ =gBitTable\n\
- lsls r0, 24\n\
- lsrs r0, 22\n\
- adds r0, r2\n\
- ldr r0, [r0]\n\
- ands r1, r0\n\
- cmp r1, 0\n\
- bne _080123F8\n\
- ldr r4, _0801244C @ =gBattleCommunication\n\
- adds r0, r5, 0\n\
- bl GetBattlerAtPosition\n\
- lsls r0, 24\n\
- lsrs r0, 24\n\
- adds r0, r4\n\
- ldrb r0, [r0]\n\
- cmp r0, 0x4\n\
- beq _080123F8\n\
- bl _08012F66\n\
-_080123F8:\n\
- ldr r0, _08012434 @ =gSharedMem\n\
- ldr r3, _08012444 @ =0x000160a6\n\
- adds r0, r3\n\
- ldrb r3, [r0]\n\
- ldr r1, _08012448 @ =gBitTable\n\
- ldr r4, _08012438 @ =gActiveBattler\n\
- ldrb r2, [r4]\n\
- lsls r0, r2, 2\n\
- adds r0, r1\n\
- ldr r0, [r0]\n\
- ands r3, r0\n\
- cmp r3, 0\n\
- beq _08012468\n\
- ldr r0, _08012450 @ =gActionForBanks\n\
- adds r0, r2, r0\n\
- movs r1, 0xD\n\
- strb r1, [r0]\n\
- ldr r0, _08012440 @ =gBattleTypeFlags\n\
- ldrh r1, [r0]\n\
- movs r0, 0x40\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- bne _08012454\n\
- ldr r0, _0801244C @ =gBattleCommunication\n\
- ldrb r1, [r4]\n\
- adds r1, r0\n\
- movs r0, 0x4\n\
- strb r0, [r1]\n\
- bl _08012F66\n\
- .align 2, 0\n\
-_08012434: .4byte gSharedMem\n\
-_08012438: .4byte gActiveBattler\n\
-_0801243C: .4byte 0x00016068\n\
-_08012440: .4byte gBattleTypeFlags\n\
-_08012444: .4byte 0x000160a6\n\
-_08012448: .4byte gBitTable\n\
-_0801244C: .4byte gBattleCommunication\n\
-_08012450: .4byte gActionForBanks\n\
-_08012454:\n\
- ldr r0, _08012464 @ =gBattleCommunication\n\
- ldrb r1, [r4]\n\
- adds r1, r0\n\
- movs r0, 0x3\n\
- strb r0, [r1]\n\
- bl _08012F66\n\
- .align 2, 0\n\
-_08012464: .4byte gBattleCommunication\n\
-_08012468:\n\
- ldr r1, _0801249C @ =gBattleMons\n\
- movs r0, 0x58\n\
- muls r0, r2\n\
- adds r1, 0x50\n\
- adds r0, r1\n\
- ldr r1, [r0]\n\
- movs r0, 0x80\n\
- lsls r0, 5\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- bne _08012488\n\
- movs r0, 0x80\n\
- lsls r0, 15\n\
- ands r1, r0\n\
- cmp r1, 0\n\
- beq _080124A8\n\
-_08012488:\n\
- ldr r0, _080124A0 @ =gActionForBanks\n\
- adds r0, r2, r0\n\
- strb r3, [r0]\n\
- ldr r1, _080124A4 @ =gBattleCommunication\n\
- ldrb r0, [r4]\n\
- adds r0, r1\n\
- movs r1, 0x3\n\
- strb r1, [r0]\n\
- bl _08012F66\n\
- .align 2, 0\n\
-_0801249C: .4byte gBattleMons\n\
-_080124A0: .4byte gActionForBanks\n\
-_080124A4: .4byte gBattleCommunication\n\
-_080124A8:\n\
- ldr r0, _080124C0 @ =gActionForBanks\n\
- ldrb r1, [r0]\n\
- ldr r0, _080124C4 @ =gBattleBufferB\n\
- ldrb r2, [r0, 0x1]\n\
- ldrb r0, [r0, 0x2]\n\
- lsls r0, 8\n\
- orrs r2, r0\n\
- movs r0, 0\n\
- bl Emitcmd18\n\
- bl _08012E32\n\
- .align 2, 0\n\
-_080124C0: .4byte gActionForBanks\n\
-_080124C4: .4byte gBattleBufferB\n\
-_080124C8:\n\
- ldr r4, _08012520 @ =gBattleExecBuffer\n\
- ldr r1, _08012524 @ =gBitTable\n\
- ldr r3, _08012528 @ =gActiveBattler\n\
- ldrb r5, [r3]\n\
- lsls r0, r5, 2\n\
- adds r0, r1\n\
- ldr r2, [r0]\n\
- lsls r0, r2, 4\n\
- movs r1, 0xF0\n\
- lsls r1, 24\n\
- orrs r0, r1\n\
- orrs r0, r2\n\
- lsls r1, r2, 8\n\
- orrs r0, r1\n\
- lsls r2, 12\n\
- orrs r0, r2\n\
- ldr r1, [r4]\n\
- ands r1, r0\n\
- mov r8, r3\n\
- cmp r1, 0\n\
- beq _080124F6\n\
- bl _08012F66\n\
-_080124F6:\n\
- ldr r2, _0801252C @ =gActionForBanks\n\
- adds r2, r5, r2\n\
- ldr r1, _08012530 @ =gBattleBufferB\n\
- lsls r0, r5, 9\n\
- adds r1, 0x1\n\
- adds r0, r1\n\
- ldrb r0, [r0]\n\
- strb r0, [r2]\n\
- ldrb r0, [r3]\n\
- lsls r0, 9\n\
- adds r0, r1\n\
- ldrb r0, [r0]\n\
- cmp r0, 0xC\n\
- bls _08012514\n\
- b _08012968\n\
-_08012514:\n\
- lsls r0, 2\n\
- ldr r1, _08012534 @ =_08012538\n\
- adds r0, r1\n\
- ldr r0, [r0]\n\
- mov pc, r0\n\
- .align 2, 0\n\
-_08012520: .4byte gBattleExecBuffer\n\
-_08012524: .4byte gBitTable\n\
-_08012528: .4byte gActiveBattler\n\
-_0801252C: .4byte gActionForBanks\n\
-_08012530: .4byte gBattleBufferB\n\
-_08012534: .4byte _08012538\n\
- .align 2, 0\n\
-_08012538:\n\
- .4byte _0801256C\n\
- .4byte _080126B4\n\
- .4byte _080126E0\n\
- .4byte _08012968\n\
- .4byte _08012968\n\
- .4byte _080128B0\n\
- .4byte _08012908\n\
- .4byte _08012968\n\
- .4byte _08012968\n\
- .4byte _08012968\n\
- .4byte _08012968\n\
- .4byte _08012968\n\
- .4byte _0801292C\n\
-_0801256C:\n\
- bl AreAllMovesUnusable\n\
- lsls r0, 24\n\
- cmp r0, 0\n\
- beq _080125D0\n\
- ldr r0, _080125B4 @ =gBattleCommunication\n\
- ldr r2, _080125B8 @ =gActiveBattler\n\
- ldrb r1, [r2]\n\
- adds r1, r0\n\
- movs r4, 0\n\
- movs r0, 0x5\n\
- strb r0, [r1]\n\
- ldr r3, _080125BC @ =gSharedMem\n\
- ldrb r0, [r2]\n\
- ldr r1, _080125C0 @ =0x00016060\n\
- adds r0, r1\n\
- adds r0, r3\n\
- strb r4, [r0]\n\
- ldrb r0, [r2]\n\
- ldr r4, _080125C4 @ =0x00016094\n\
- adds r0, r4\n\
- adds r0, r3\n\
- movs r1, 0x3\n\
- strb r1, [r0]\n\
- ldrb r1, [r2]\n\
- ldr r0, _080125C8 @ =0x00016010\n\
- adds r2, r1, r0\n\
- adds r2, r3\n\
- ldr r0, _080125CC @ =gBattleBufferB\n\
- lsls r1, 9\n\
- adds r0, 0x3\n\
- adds r1, r0\n\
- ldrb r0, [r1]\n\
- strb r0, [r2]\n\
- bl _08012F90\n\
- .align 2, 0\n\
-_080125B4: .4byte gBattleCommunication\n\
-_080125B8: .4byte gActiveBattler\n\
-_080125BC: .4byte gSharedMem\n\
-_080125C0: .4byte 0x00016060\n\
-_080125C4: .4byte 0x00016094\n\
-_080125C8: .4byte 0x00016010\n\
-_080125CC: .4byte gBattleBufferB\n\
-_080125D0:\n\
- ldr r1, _080125FC @ =gDisableStructs\n\
- ldr r5, _08012600 @ =gActiveBattler\n\
- ldrb r4, [r5]\n\
- lsls r0, r4, 3\n\
- subs r0, r4\n\
- lsls r0, 2\n\
- adds r0, r1\n\
- ldrh r2, [r0, 0x6]\n\
- cmp r2, 0\n\
- beq _0801260C\n\
- ldr r1, _08012604 @ =gChosenMovesByBanks\n\
- lsls r0, r4, 1\n\
- adds r0, r1\n\
- strh r2, [r0]\n\
- ldr r1, _08012608 @ =gBattleCommunication\n\
- ldrb r0, [r5]\n\
- adds r0, r1\n\
- movs r1, 0x3\n\
- strb r1, [r0]\n\
- bl _08012F90\n\
- .align 2, 0\n\
-_080125FC: .4byte gDisableStructs\n\
-_08012600: .4byte gActiveBattler\n\
-_08012604: .4byte gChosenMovesByBanks\n\
-_08012608: .4byte gBattleCommunication\n\
-_0801260C:\n\
- add r2, sp, 0x4\n\
- ldr r3, _080126AC @ =gBattleMons\n\
- movs r1, 0x58\n\
- adds r0, r4, 0\n\
- muls r0, r1\n\
- adds r0, r3\n\
- ldrh r0, [r0]\n\
- strh r0, [r2, 0x10]\n\
- ldrb r0, [r5]\n\
- muls r0, r1\n\
- adds r0, r3\n\
- adds r0, 0x21\n\
- ldrb r0, [r0]\n\
- strb r0, [r2, 0x12]\n\
- ldrb r0, [r5]\n\
- muls r0, r1\n\
- adds r0, r3\n\
- adds r0, 0x22\n\
- ldrb r0, [r0]\n\
- strb r0, [r2, 0x13]\n\
- movs r4, 0\n\
- mov r1, sp\n\
- adds r1, 0xC\n\
- str r1, [sp, 0x18]\n\
- add r2, sp, 0x10\n\
- mov r10, r2\n\
- mov r8, r3\n\
- adds r7, r5, 0\n\
- movs r6, 0x58\n\
- movs r3, 0xC\n\
- add r3, r8\n\
- mov r9, r3\n\
- add r5, sp, 0x4\n\
-_0801264E:\n\
- lsls r2, r4, 1\n\
- ldrb r0, [r7]\n\
- muls r0, r6\n\
- adds r0, r2, r0\n\
- add r0, r9\n\
- ldrh r0, [r0]\n\
- strh r0, [r5]\n\
- ldr r0, [sp, 0x18]\n\
- adds r3, r0, r4\n\
- ldrb r0, [r7]\n\
- muls r0, r6\n\
- adds r0, r4, r0\n\
- mov r1, r8\n\
- adds r1, 0x24\n\
- adds r0, r1\n\
- ldrb r0, [r0]\n\
- strb r0, [r3]\n\
- ldrb r0, [r7]\n\
- adds r1, r0, 0\n\
- muls r1, r6\n\
- adds r2, r1\n\
- add r2, r9\n\
- ldrh r0, [r2]\n\
- add r1, r8\n\
- adds r1, 0x3B\n\
- ldrb r1, [r1]\n\
- lsls r2, r4, 24\n\
- lsrs r2, 24\n\
- bl CalculatePPWithBonus\n\
- mov r2, r10\n\
- adds r1, r2, r4\n\
- strb r0, [r1]\n\
- adds r5, 0x2\n\
- adds r4, 0x1\n\
- cmp r4, 0x3\n\
- ble _0801264E\n\
- ldr r0, _080126B0 @ =gBattleTypeFlags\n\
- ldrb r0, [r0]\n\
- movs r1, 0x1\n\
- ands r1, r0\n\
- movs r0, 0\n\
- movs r2, 0\n\
- add r3, sp, 0x4\n\
- bl Emitcmd20\n\
- b _0801289E\n\
- .align 2, 0\n\
-_080126AC: .4byte gBattleMons\n\
-_080126B0: .4byte gBattleTypeFlags\n\
-_080126B4:\n\
- ldr r0, _080126D0 @ =gBattleTypeFlags\n\
- ldrh r1, [r0]\n\
- ldr r0, _080126D4 @ =0x00000902\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- bne _080126C2\n\
- b _08012908\n\
-_080126C2:\n\
- ldr r1, _080126D8 @ =gUnknown_02024C1C\n\
- mov r3, r8\n\
- ldrb r0, [r3]\n\
- lsls r0, 2\n\
- adds r0, r1\n\
- ldr r1, _080126DC @ =BattleScript_ActionSelectionItemsCantBeUsed\n\
- b _080129CC\n\
- .align 2, 0\n\
-_080126D0: .4byte gBattleTypeFlags\n\
-_080126D4: .4byte 0x00000902\n\
-_080126D8: .4byte gUnknown_02024C1C\n\
-_080126DC: .4byte BattleScript_ActionSelectionItemsCantBeUsed\n\
-_080126E0:\n\
- ldr r3, _08012738 @ =gSharedMem\n\
- ldr r5, _0801273C @ =gActiveBattler\n\
- ldrb r0, [r5]\n\
- ldr r4, _08012740 @ =0x00016064\n\
- adds r1, r0, r4\n\
- adds r1, r3\n\
- ldr r2, _08012744 @ =gBattlerPartyIndexes\n\
- lsls r0, 1\n\
- adds r0, r2\n\
- ldrh r0, [r0]\n\
- strb r0, [r1]\n\
- ldr r7, _08012748 @ =gBattleMons\n\
- ldrb r2, [r5]\n\
- movs r6, 0x58\n\
- adds r0, r2, 0\n\
- muls r0, r6\n\
- adds r1, r7, 0\n\
- adds r1, 0x50\n\
- adds r0, r1\n\
- ldr r0, [r0]\n\
- ldr r1, _0801274C @ =0x0400e000\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- bne _08012722\n\
- ldr r0, _08012750 @ =gStatuses3\n\
- lsls r1, r2, 2\n\
- adds r1, r0\n\
- ldr r1, [r1]\n\
- movs r0, 0x80\n\
- lsls r0, 3\n\
- ands r1, r0\n\
- cmp r1, 0\n\
- beq _08012758\n\
-_08012722:\n\
- lsls r0, r2, 1\n\
- adds r0, r2\n\
- ldr r2, _08012754 @ =0x0001606c\n\
- adds r1, r3, r2\n\
- adds r0, r1\n\
- str r0, [sp]\n\
- movs r0, 0\n\
- movs r1, 0x2\n\
- movs r2, 0x6\n\
- b _0801286C\n\
- .align 2, 0\n\
-_08012738: .4byte gSharedMem\n\
-_0801273C: .4byte gActiveBattler\n\
-_08012740: .4byte 0x00016064\n\
-_08012744: .4byte gBattlerPartyIndexes\n\
-_08012748: .4byte gBattleMons\n\
-_0801274C: .4byte 0x0400e000\n\
-_08012750: .4byte gStatuses3\n\
-_08012754: .4byte 0x0001606c\n\
-_08012758:\n\
- str r1, [sp]\n\
- movs r0, 0xC\n\
- adds r1, r2, 0\n\
- movs r2, 0x17\n\
- movs r3, 0\n\
- bl AbilityBattleEffects\n\
- lsls r0, 24\n\
- lsrs r4, r0, 24\n\
- cmp r4, 0\n\
- bne _080127E0\n\
- ldrb r1, [r5]\n\
- str r4, [sp]\n\
- movs r0, 0xC\n\
- movs r2, 0x47\n\
- movs r3, 0\n\
- bl AbilityBattleEffects\n\
- lsls r0, 24\n\
- lsrs r4, r0, 24\n\
- cmp r4, 0\n\
- beq _080127A8\n\
- ldrb r0, [r5]\n\
- muls r0, r6\n\
- adds r1, r0, r7\n\
- adds r0, r1, 0\n\
- adds r0, 0x21\n\
- ldrb r0, [r0]\n\
- cmp r0, 0x2\n\
- beq _080127A8\n\
- adds r0, r1, 0\n\
- adds r0, 0x22\n\
- ldrb r0, [r0]\n\
- cmp r0, 0x2\n\
- beq _080127A8\n\
- adds r0, r1, 0\n\
- adds r0, 0x20\n\
- ldrb r0, [r0]\n\
- cmp r0, 0x1A\n\
- bne _080127E0\n\
-_080127A8:\n\
- ldr r5, _08012808 @ =gActiveBattler\n\
- ldrb r1, [r5]\n\
- movs r0, 0\n\
- str r0, [sp]\n\
- movs r0, 0xF\n\
- movs r2, 0x2A\n\
- movs r3, 0\n\
- bl AbilityBattleEffects\n\
- lsls r0, 24\n\
- lsrs r4, r0, 24\n\
- cmp r4, 0\n\
- beq _08012818\n\
- ldr r2, _0801280C @ =gBattleMons\n\
- ldrb r1, [r5]\n\
- movs r0, 0x58\n\
- muls r0, r1\n\
- adds r1, r0, r2\n\
- adds r0, r1, 0\n\
- adds r0, 0x21\n\
- ldrb r0, [r0]\n\
- cmp r0, 0x8\n\
- beq _080127E0\n\
- adds r0, r1, 0\n\
- adds r0, 0x22\n\
- ldrb r0, [r0]\n\
- cmp r0, 0x8\n\
- bne _08012818\n\
-_080127E0:\n\
- subs r1, r4, 0x1\n\
- lsls r1, 4\n\
- movs r0, 0x4\n\
- orrs r1, r0\n\
- lsls r1, 24\n\
- lsrs r1, 24\n\
- ldr r0, _08012810 @ =gLastUsedAbility\n\
- ldrb r3, [r0]\n\
- ldr r0, _08012808 @ =gActiveBattler\n\
- ldrb r2, [r0]\n\
- lsls r0, r2, 1\n\
- adds r0, r2\n\
- ldr r2, _08012814 @ =gSharedMem + 0x1606C\n\
- adds r0, r2\n\
- str r0, [sp]\n\
- movs r0, 0\n\
- movs r2, 0x6\n\
- bl EmitChoosePokemon\n\
- b _0801289E\n\
- .align 2, 0\n\
-_08012808: .4byte gActiveBattler\n\
-_0801280C: .4byte gBattleMons\n\
-_08012810: .4byte gLastUsedAbility\n\
-_08012814: .4byte gSharedMem + 0x1606C\n\
-_08012818:\n\
- ldr r0, _08012830 @ =gActiveBattler\n\
- ldrb r1, [r0]\n\
- mov r8, r0\n\
- cmp r1, 0x2\n\
- bne _08012840\n\
- ldr r0, _08012834 @ =gActionForBanks\n\
- ldrb r0, [r0]\n\
- cmp r0, 0x2\n\
- bne _08012840\n\
- ldr r3, _08012838 @ =gSharedMem\n\
- ldr r4, _0801283C @ =0x00016068\n\
- b _08012854\n\
- .align 2, 0\n\
-_08012830: .4byte gActiveBattler\n\
-_08012834: .4byte gActionForBanks\n\
-_08012838: .4byte gSharedMem\n\
-_0801283C: .4byte 0x00016068\n\
-_08012840:\n\
- mov r2, r8\n\
- ldrb r0, [r2]\n\
- cmp r0, 0x3\n\
- bne _08012884\n\
- ldr r0, _08012874 @ =gActionForBanks\n\
- ldrb r0, [r0, 0x1]\n\
- cmp r0, 0x2\n\
- bne _08012884\n\
- ldr r3, _08012878 @ =gSharedMem\n\
- ldr r4, _0801287C @ =0x00016069\n\
-_08012854:\n\
- adds r0, r3, r4\n\
- ldrb r2, [r0]\n\
- mov r0, r8\n\
- ldrb r1, [r0]\n\
- lsls r0, r1, 1\n\
- adds r0, r1\n\
- ldr r1, _08012880 @ =0x0001606c\n\
- adds r3, r1\n\
- adds r0, r3\n\
- str r0, [sp]\n\
- movs r0, 0\n\
- movs r1, 0\n\
-_0801286C:\n\
- movs r3, 0\n\
- bl EmitChoosePokemon\n\
- b _0801289E\n\
- .align 2, 0\n\
-_08012874: .4byte gActionForBanks\n\
-_08012878: .4byte gSharedMem\n\
-_0801287C: .4byte 0x00016069\n\
-_08012880: .4byte 0x0001606c\n\
-_08012884:\n\
- ldr r0, _080128A8 @ =gActiveBattler\n\
- ldrb r1, [r0]\n\
- lsls r0, r1, 1\n\
- adds r0, r1\n\
- ldr r1, _080128AC @ =gSharedMem + 0x1606C\n\
- adds r0, r1\n\
- str r0, [sp]\n\
- movs r0, 0\n\
- movs r1, 0\n\
- movs r2, 0x6\n\
- movs r3, 0\n\
- bl EmitChoosePokemon\n\
-_0801289E:\n\
- ldr r0, _080128A8 @ =gActiveBattler\n\
- ldrb r0, [r0]\n\
- bl MarkBufferBankForExecution\n\
- b _08012968\n\
- .align 2, 0\n\
-_080128A8: .4byte gActiveBattler\n\
-_080128AC: .4byte gSharedMem + 0x1606C\n\
-_080128B0:\n\
- bl PlayerPartyAndPokemonStorageFull\n\
- lsls r0, 24\n\
- cmp r0, 0\n\
- beq _08012968\n\
- ldr r1, _080128EC @ =gUnknown_02024C1C\n\
- ldr r2, _080128F0 @ =gActiveBattler\n\
- ldrb r0, [r2]\n\
- lsls r0, 2\n\
- adds r0, r1\n\
- ldr r1, _080128F4 @ =BattleScript_PrintFullBox\n\
- str r1, [r0]\n\
- ldr r0, _080128F8 @ =gBattleCommunication\n\
- ldrb r1, [r2]\n\
- adds r1, r0\n\
- movs r3, 0\n\
- movs r0, 0x5\n\
- strb r0, [r1]\n\
- ldr r1, _080128FC @ =gSharedMem\n\
- ldrb r0, [r2]\n\
- ldr r4, _08012900 @ =0x00016060\n\
- adds r0, r4\n\
- adds r0, r1\n\
- strb r3, [r0]\n\
- ldrb r0, [r2]\n\
- ldr r2, _08012904 @ =0x00016094\n\
- adds r0, r2\n\
- adds r0, r1\n\
- strb r3, [r0]\n\
- b _08012F90\n\
- .align 2, 0\n\
-_080128EC: .4byte gUnknown_02024C1C\n\
-_080128F0: .4byte gActiveBattler\n\
-_080128F4: .4byte BattleScript_PrintFullBox\n\
-_080128F8: .4byte gBattleCommunication\n\
-_080128FC: .4byte gSharedMem\n\
-_08012900: .4byte 0x00016060\n\
-_08012904: .4byte 0x00016094\n\
-_08012908:\n\
- ldr r4, _08012924 @ =gActiveBattler\n\
- ldrb r0, [r4]\n\
- lsls r1, r0, 1\n\
- adds r1, r0\n\
- ldr r0, _08012928 @ =gSharedMem + 0x1606C\n\
- adds r1, r0\n\
- movs r0, 0\n\
- bl EmitOpenBag\n\
- ldrb r0, [r4]\n\
- bl MarkBufferBankForExecution\n\
- b _08012968\n\
- .align 2, 0\n\
-_08012924: .4byte gActiveBattler\n\
-_08012928: .4byte gSharedMem + 0x1606C\n\
-_0801292C:\n\
- ldr r4, _08012964 @ =gBattleCommunication\n\
- mov r3, r8\n\
- ldrb r1, [r3]\n\
- adds r1, r4\n\
- movs r5, 0\n\
- movs r0, 0x6\n\
- strb r0, [r1]\n\
- ldrb r0, [r3]\n\
- bl GetBattlerPosition\n\
- movs r1, 0x2\n\
- eors r0, r1\n\
- lsls r0, 24\n\
- lsrs r0, 24\n\
- bl GetBattlerAtPosition\n\
- lsls r0, 24\n\
- lsrs r0, 24\n\
- adds r0, r4\n\
- strb r5, [r0]\n\
- movs r0, 0\n\
- bl Emitcmd50\n\
- mov r4, r8\n\
- ldrb r0, [r4]\n\
- bl MarkBufferBankForExecution\n\
- b _08012F90\n\
- .align 2, 0\n\
-_08012964: .4byte gBattleCommunication\n\
-_08012968:\n\
- ldr r0, _08012994 @ =gBattleTypeFlags\n\
- ldrh r1, [r0]\n\
- movs r0, 0xA\n\
- ands r0, r1\n\
- cmp r0, 0x8\n\
- bne _080129A8\n\
- ldr r0, _08012998 @ =gBattleBufferB\n\
- ldr r4, _0801299C @ =gActiveBattler\n\
- ldrb r1, [r4]\n\
- lsls r1, 9\n\
- adds r0, 0x1\n\
- adds r1, r0\n\
- ldrb r0, [r1]\n\
- cmp r0, 0x3\n\
- bne _080129A8\n\
- ldr r0, _080129A0 @ =BattleScript_PrintCantRunFromTrainer\n\
- bl BattleScriptExecute\n\
- ldr r1, _080129A4 @ =gBattleCommunication\n\
- ldrb r0, [r4]\n\
- adds r0, r1\n\
- b _08012BFE\n\
- .align 2, 0\n\
-_08012994: .4byte gBattleTypeFlags\n\
-_08012998: .4byte gBattleBufferB\n\
-_0801299C: .4byte gActiveBattler\n\
-_080129A0: .4byte BattleScript_PrintCantRunFromTrainer\n\
-_080129A4: .4byte gBattleCommunication\n\
-_080129A8:\n\
- bl CanRunFromBattle\n\
- lsls r0, 24\n\
- cmp r0, 0\n\
- beq _08012A14\n\
- ldr r0, _080129F4 @ =gBattleBufferB\n\
- ldr r3, _080129F8 @ =gActiveBattler\n\
- ldrb r2, [r3]\n\
- lsls r1, r2, 9\n\
- adds r0, 0x1\n\
- adds r1, r0\n\
- ldrb r0, [r1]\n\
- cmp r0, 0x3\n\
- bne _08012A14\n\
- ldr r1, _080129FC @ =gUnknown_02024C1C\n\
- lsls r0, r2, 2\n\
- adds r0, r1\n\
- ldr r1, _08012A00 @ =BattleScript_PrintCantEscapeFromBattle\n\
-_080129CC:\n\
- str r1, [r0]\n\
- ldr r0, _08012A04 @ =gBattleCommunication\n\
- ldrb r1, [r3]\n\
- adds r1, r0\n\
- movs r2, 0\n\
- movs r0, 0x5\n\
- strb r0, [r1]\n\
- ldr r1, _08012A08 @ =gSharedMem\n\
- ldrb r0, [r3]\n\
- ldr r4, _08012A0C @ =0x00016060\n\
- adds r0, r4\n\
- adds r0, r1\n\
- strb r2, [r0]\n\
- ldrb r0, [r3]\n\
- ldr r3, _08012A10 @ =0x00016094\n\
- adds r0, r3\n\
- adds r0, r1\n\
- strb r2, [r0]\n\
- b _08012F90\n\
- .align 2, 0\n\
-_080129F4: .4byte gBattleBufferB\n\
-_080129F8: .4byte gActiveBattler\n\
-_080129FC: .4byte gUnknown_02024C1C\n\
-_08012A00: .4byte BattleScript_PrintCantEscapeFromBattle\n\
-_08012A04: .4byte gBattleCommunication\n\
-_08012A08: .4byte gSharedMem\n\
-_08012A0C: .4byte 0x00016060\n\
-_08012A10: .4byte 0x00016094\n\
-_08012A14:\n\
- ldr r2, _08012A20 @ =gBattleCommunication\n\
- ldr r0, _08012A24 @ =gActiveBattler\n\
- ldrb r1, [r0]\n\
- adds r1, r2\n\
- b _08012E3E\n\
- .align 2, 0\n\
-_08012A20: .4byte gBattleCommunication\n\
-_08012A24: .4byte gActiveBattler\n\
-_08012A28:\n\
- ldr r4, _08012A6C @ =gBattleExecBuffer\n\
- ldr r1, _08012A70 @ =gBitTable\n\
- ldr r3, _08012A74 @ =gActiveBattler\n\
- ldrb r5, [r3]\n\
- lsls r0, r5, 2\n\
- adds r0, r1\n\
- ldr r2, [r0]\n\
- lsls r0, r2, 4\n\
- movs r1, 0xF0\n\
- lsls r1, 24\n\
- orrs r0, r1\n\
- orrs r0, r2\n\
- lsls r1, r2, 8\n\
- orrs r0, r1\n\
- lsls r2, 12\n\
- orrs r0, r2\n\
- ldr r1, [r4]\n\
- ands r1, r0\n\
- mov r8, r3\n\
- cmp r1, 0\n\
- beq _08012A54\n\
- b _08012F66\n\
-_08012A54:\n\
- ldr r1, _08012A78 @ =gActionForBanks\n\
- adds r0, r5, r1\n\
- ldrb r0, [r0]\n\
- adds r3, r1, 0\n\
- cmp r0, 0x9\n\
- bls _08012A62\n\
- b _08012F66\n\
-_08012A62:\n\
- lsls r0, 2\n\
- ldr r1, _08012A7C @ =_08012A80\n\
- adds r0, r1\n\
- ldr r0, [r0]\n\
- mov pc, r0\n\
- .align 2, 0\n\
-_08012A6C: .4byte gBattleExecBuffer\n\
-_08012A70: .4byte gBitTable\n\
-_08012A74: .4byte gActiveBattler\n\
-_08012A78: .4byte gActionForBanks\n\
-_08012A7C: .4byte _08012A80\n\
- .align 2, 0\n\
-_08012A80:\n\
- .4byte _08012AA8\n\
- .4byte _08012BB0\n\
- .4byte _08012BE8\n\
- .4byte _08012CE0\n\
- .4byte _08012D04\n\
- .4byte _08012D18\n\
- .4byte _08012D2C\n\
- .4byte _08012D5C\n\
- .4byte _08012D70\n\
- .4byte _08012D94\n\
-_08012AA8:\n\
- ldr r0, _08012AC8 @ =gBattleBufferB\n\
- mov r1, r8\n\
- ldrb r4, [r1]\n\
- lsls r1, r4, 9\n\
- adds r2, r0, 0x1\n\
- adds r1, r2\n\
- ldrb r1, [r1]\n\
- adds r6, r0, 0\n\
- cmp r1, 0x9\n\
- bgt _08012ACC\n\
- cmp r1, 0x3\n\
- blt _08012ACC\n\
- adds r0, r4, r3\n\
- strb r1, [r0]\n\
- b _08012F90\n\
- .align 2, 0\n\
-_08012AC8: .4byte gBattleBufferB\n\
-_08012ACC:\n\
- adds r3, r6, 0\n\
- mov r5, r8\n\
- ldrb r4, [r5]\n\
- lsls r1, r4, 9\n\
- adds r7, r3, 0x2\n\
- adds r0, r1, r7\n\
- ldrb r2, [r0]\n\
- adds r3, 0x3\n\
- mov r9, r3\n\
- add r1, r9\n\
- ldrb r0, [r1]\n\
- lsls r0, 8\n\
- orrs r2, r0\n\
- ldr r0, _08012AF4 @ =0x0000ffff\n\
- cmp r2, r0\n\
- bne _08012AFC\n\
- ldr r0, _08012AF8 @ =gBattleCommunication\n\
- adds r0, r4, r0\n\
- b _08012BFE\n\
- .align 2, 0\n\
-_08012AF4: .4byte 0x0000ffff\n\
-_08012AF8: .4byte gBattleCommunication\n\
-_08012AFC:\n\
- bl TrySetCantSelectMoveBattleScript\n\
- lsls r0, 24\n\
- cmp r0, 0\n\
- beq _08012B48\n\
- ldr r0, _08012B38 @ =gBattleCommunication\n\
- ldrb r1, [r5]\n\
- adds r1, r0\n\
- movs r2, 0\n\
- movs r0, 0x5\n\
- strb r0, [r1]\n\
- ldr r3, _08012B3C @ =gSharedMem\n\
- ldrb r0, [r5]\n\
- ldr r4, _08012B40 @ =0x00016060\n\
- adds r0, r4\n\
- adds r0, r3\n\
- strb r2, [r0]\n\
- ldrb r0, [r5]\n\
- lsls r0, 9\n\
- adds r1, r6, 0x1\n\
- adds r0, r1\n\
- strb r2, [r0]\n\
- ldrb r0, [r5]\n\
- ldr r1, _08012B44 @ =0x00016094\n\
- adds r0, r1\n\
- adds r0, r3\n\
- movs r1, 0x1\n\
- strb r1, [r0]\n\
- b _08012F90\n\
- .align 2, 0\n\
-_08012B38: .4byte gBattleCommunication\n\
-_08012B3C: .4byte gSharedMem\n\
-_08012B40: .4byte 0x00016060\n\
-_08012B44: .4byte 0x00016094\n\
-_08012B48:\n\
- ldr r6, _08012B98 @ =gSharedMem\n\
- mov r2, r8\n\
- ldrb r0, [r2]\n\
- ldr r2, _08012B9C @ =0x0001608c\n\
- adds r1, r0, r2\n\
- adds r1, r6\n\
- lsls r0, 9\n\
- adds r0, r7\n\
- ldrb r0, [r0]\n\
- strb r0, [r1]\n\
- ldr r0, _08012BA0 @ =gChosenMovesByBanks\n\
- mov r4, r8\n\
- ldrb r3, [r4]\n\
- lsls r5, r3, 1\n\
- adds r5, r0\n\
- ldr r4, _08012BA4 @ =gBattleMons\n\
- adds r2, r3, r2\n\
- adds r2, r6\n\
- ldrb r0, [r2]\n\
- lsls r0, 1\n\
- movs r1, 0x58\n\
- muls r1, r3\n\
- adds r0, r1\n\
- adds r4, 0xC\n\
- adds r0, r4\n\
- ldrh r0, [r0]\n\
- strh r0, [r5]\n\
- mov r1, r8\n\
- ldrb r0, [r1]\n\
- ldr r2, _08012BA8 @ =0x00016010\n\
- adds r1, r0, r2\n\
- adds r1, r6\n\
- lsls r0, 9\n\
- add r0, r9\n\
- ldrb r0, [r0]\n\
- strb r0, [r1]\n\
- ldr r0, _08012BAC @ =gBattleCommunication\n\
- mov r3, r8\n\
- ldrb r1, [r3]\n\
- b _08012E3C\n\
- .align 2, 0\n\
-_08012B98: .4byte gSharedMem\n\
-_08012B9C: .4byte 0x0001608c\n\
-_08012BA0: .4byte gChosenMovesByBanks\n\
-_08012BA4: .4byte gBattleMons\n\
-_08012BA8: .4byte 0x00016010\n\
-_08012BAC: .4byte gBattleCommunication\n\
-_08012BB0:\n\
- ldr r2, _08012BD8 @ =gBattleBufferB\n\
- ldr r5, _08012BDC @ =gActiveBattler\n\
- ldrb r4, [r5]\n\
- lsls r1, r4, 9\n\
- adds r0, r2, 0x1\n\
- adds r0, r1, r0\n\
- ldrb r3, [r0]\n\
- adds r2, 0x2\n\
- adds r1, r2\n\
- ldrb r0, [r1]\n\
- lsls r0, 8\n\
- orrs r3, r0\n\
- cmp r3, 0\n\
- bne _08012BCE\n\
- b _08012F60\n\
-_08012BCE:\n\
- ldr r0, _08012BE0 @ =gLastUsedItem\n\
- strh r3, [r0]\n\
- ldr r0, _08012BE4 @ =gBattleCommunication\n\
- ldrb r1, [r5]\n\
- b _08012E3C\n\
- .align 2, 0\n\
-_08012BD8: .4byte gBattleBufferB\n\
-_08012BDC: .4byte gActiveBattler\n\
-_08012BE0: .4byte gLastUsedItem\n\
-_08012BE4: .4byte gBattleCommunication\n\
-_08012BE8:\n\
- ldr r4, _08012C04 @ =gBattleBufferB\n\
- ldr r7, _08012C08 @ =gActiveBattler\n\
- ldrb r2, [r7]\n\
- lsls r0, r2, 9\n\
- adds r1, r4, 0x1\n\
- adds r0, r1\n\
- ldrb r1, [r0]\n\
- cmp r1, 0x6\n\
- bne _08012C10\n\
- ldr r0, _08012C0C @ =gBattleCommunication\n\
- adds r0, r2, r0\n\
-_08012BFE:\n\
- movs r1, 0\n\
- strb r1, [r0]\n\
- b _08012F66\n\
- .align 2, 0\n\
-_08012C04: .4byte gBattleBufferB\n\
-_08012C08: .4byte gActiveBattler\n\
-_08012C0C: .4byte gBattleCommunication\n\
-_08012C10:\n\
- ldr r0, _08012CC4 @ =gSharedMem\n\
- mov r12, r0\n\
- ldr r3, _08012CC8 @ =0x00016068\n\
- adds r0, r2, r3\n\
- add r0, r12\n\
- strb r1, [r0]\n\
- ldr r0, _08012CCC @ =gBattleTypeFlags\n\
- ldrh r1, [r0]\n\
- movs r0, 0x40\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- beq _08012CBE\n\
- ldrb r0, [r7]\n\
- lsls r1, r0, 1\n\
- adds r1, r0\n\
- ldr r5, _08012CD0 @ =0x0001606c\n\
- adds r1, r5\n\
- add r1, r12\n\
- ldrb r2, [r1]\n\
- movs r0, 0xF\n\
- ands r0, r2\n\
- strb r0, [r1]\n\
- ldrb r0, [r7]\n\
- lsls r2, r0, 1\n\
- adds r2, r0\n\
- adds r2, r5\n\
- add r2, r12\n\
- lsls r0, 9\n\
- adds r6, r4, 0x2\n\
- adds r0, r6\n\
- ldrb r1, [r0]\n\
- movs r3, 0xF0\n\
- adds r0, r3, 0\n\
- ands r0, r1\n\
- ldrb r1, [r2]\n\
- orrs r0, r1\n\
- strb r0, [r2]\n\
- ldrb r0, [r7]\n\
- lsls r1, r0, 1\n\
- adds r1, r0\n\
- ldr r2, _08012CD4 @ =0x0001606d\n\
- adds r1, r2\n\
- add r1, r12\n\
- lsls r0, 9\n\
- adds r4, 0x3\n\
- mov r8, r4\n\
- add r0, r8\n\
- ldrb r0, [r0]\n\
- strb r0, [r1]\n\
- ldrb r0, [r7]\n\
- movs r4, 0x2\n\
- eors r0, r4\n\
- lsls r1, r0, 1\n\
- adds r1, r0\n\
- adds r1, r5\n\
- add r1, r12\n\
- ldrb r2, [r1]\n\
- adds r0, r3, 0\n\
- ands r0, r2\n\
- strb r0, [r1]\n\
- ldrb r0, [r7]\n\
- eors r0, r4\n\
- lsls r1, r0, 1\n\
- adds r1, r0\n\
- adds r1, r5\n\
- add r1, r12\n\
- ldrb r0, [r7]\n\
- lsls r0, 9\n\
- adds r0, r6\n\
- ldrb r0, [r0]\n\
- ands r3, r0\n\
- lsrs r3, 4\n\
- ldrb r0, [r1]\n\
- orrs r3, r0\n\
- strb r3, [r1]\n\
- ldrb r0, [r7]\n\
- eors r4, r0\n\
- lsls r1, r4, 1\n\
- adds r1, r4\n\
- ldr r3, _08012CD8 @ =0x0001606e\n\
- adds r1, r3\n\
- add r1, r12\n\
- ldrb r0, [r7]\n\
- lsls r0, 9\n\
- add r0, r8\n\
- ldrb r0, [r0]\n\
- strb r0, [r1]\n\
-_08012CBE:\n\
- ldr r0, _08012CDC @ =gBattleCommunication\n\
- ldrb r1, [r7]\n\
- b _08012E3C\n\
- .align 2, 0\n\
-_08012CC4: .4byte gSharedMem\n\
-_08012CC8: .4byte 0x00016068\n\
-_08012CCC: .4byte gBattleTypeFlags\n\
-_08012CD0: .4byte 0x0001606c\n\
-_08012CD4: .4byte 0x0001606d\n\
-_08012CD8: .4byte 0x0001606e\n\
-_08012CDC: .4byte gBattleCommunication\n\
-_08012CE0:\n\
- ldr r2, _08012CF8 @ =gHitMarker\n\
- ldr r0, [r2]\n\
- movs r1, 0x80\n\
- lsls r1, 8\n\
- orrs r0, r1\n\
- str r0, [r2]\n\
- ldr r2, _08012CFC @ =gBattleCommunication\n\
- ldr r0, _08012D00 @ =gActiveBattler\n\
- ldrb r1, [r0]\n\
- adds r1, r2\n\
- b _08012E3E\n\
- .align 2, 0\n\
-_08012CF8: .4byte gHitMarker\n\
-_08012CFC: .4byte gBattleCommunication\n\
-_08012D00: .4byte gActiveBattler\n\
-_08012D04:\n\
- ldr r2, _08012D10 @ =gBattleCommunication\n\
- ldr r0, _08012D14 @ =gActiveBattler\n\
- ldrb r1, [r0]\n\
- adds r1, r2\n\
- b _08012E3E\n\
- .align 2, 0\n\
-_08012D10: .4byte gBattleCommunication\n\
-_08012D14: .4byte gActiveBattler\n\
-_08012D18:\n\
- ldr r2, _08012D24 @ =gBattleCommunication\n\
- ldr r0, _08012D28 @ =gActiveBattler\n\
- ldrb r1, [r0]\n\
- adds r1, r2\n\
- b _08012E3E\n\
- .align 2, 0\n\
-_08012D24: .4byte gBattleCommunication\n\
-_08012D28: .4byte gActiveBattler\n\
-_08012D2C:\n\
- ldr r2, _08012D50 @ =gBattleBufferB\n\
- ldr r0, _08012D54 @ =gActiveBattler\n\
- ldrb r4, [r0]\n\
- lsls r1, r4, 9\n\
- adds r0, r2, 0x1\n\
- adds r0, r1, r0\n\
- ldrb r3, [r0]\n\
- adds r2, 0x2\n\
- adds r1, r2\n\
- ldrb r0, [r1]\n\
- lsls r0, 8\n\
- orrs r3, r0\n\
- cmp r3, 0\n\
- bne _08012D4A\n\
- b _08012F60\n\
-_08012D4A:\n\
- ldr r1, _08012D58 @ =gBattleCommunication\n\
- adds r1, r4, r1\n\
- b _08012E3E\n\
- .align 2, 0\n\
-_08012D50: .4byte gBattleBufferB\n\
-_08012D54: .4byte gActiveBattler\n\
-_08012D58: .4byte gBattleCommunication\n\
-_08012D5C:\n\
- ldr r2, _08012D68 @ =gBattleCommunication\n\
- ldr r0, _08012D6C @ =gActiveBattler\n\
- ldrb r1, [r0]\n\
- adds r1, r2\n\
- b _08012E3E\n\
- .align 2, 0\n\
-_08012D68: .4byte gBattleCommunication\n\
-_08012D6C: .4byte gActiveBattler\n\
-_08012D70:\n\
- ldr r2, _08012D88 @ =gHitMarker\n\
- ldr r0, [r2]\n\
- movs r1, 0x80\n\
- lsls r1, 8\n\
- orrs r0, r1\n\
- str r0, [r2]\n\
- ldr r2, _08012D8C @ =gBattleCommunication\n\
- ldr r0, _08012D90 @ =gActiveBattler\n\
- ldrb r1, [r0]\n\
- adds r1, r2\n\
- b _08012E3E\n\
- .align 2, 0\n\
-_08012D88: .4byte gHitMarker\n\
-_08012D8C: .4byte gBattleCommunication\n\
-_08012D90: .4byte gActiveBattler\n\
-_08012D94:\n\
- ldr r2, _08012DA0 @ =gBattleCommunication\n\
- ldr r0, _08012DA4 @ =gActiveBattler\n\
- ldrb r1, [r0]\n\
- adds r1, r2\n\
- b _08012E3E\n\
- .align 2, 0\n\
-_08012DA0: .4byte gBattleCommunication\n\
-_08012DA4: .4byte gActiveBattler\n\
-_08012DA8:\n\
- ldr r3, _08012E10 @ =gBattleExecBuffer\n\
- ldr r4, _08012E14 @ =gBitTable\n\
- ldr r0, _08012E18 @ =gActiveBattler\n\
- ldrb r0, [r0]\n\
- lsls r0, 2\n\
- adds r0, r4\n\
- ldr r2, [r0]\n\
- lsls r1, r2, 4\n\
- movs r0, 0xF0\n\
- lsls r0, 24\n\
- orrs r1, r0\n\
- orrs r1, r2\n\
- lsls r0, r2, 8\n\
- orrs r1, r0\n\
- lsls r2, 12\n\
- orrs r1, r2\n\
- ldr r0, [r3]\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- beq _08012DD2\n\
- b _08012F66\n\
-_08012DD2:\n\
- ldr r0, _08012E1C @ =gBattleTypeFlags\n\
- ldrh r1, [r0]\n\
- movs r0, 0x41\n\
- ands r0, r1\n\
- cmp r0, 0x1\n\
- bne _08012E06\n\
- movs r1, 0x2\n\
- movs r0, 0x2\n\
- ands r0, r5\n\
- cmp r0, 0\n\
- bne _08012E06\n\
- adds r0, r5, 0\n\
- eors r0, r1\n\
- bl GetBattlerAtPosition\n\
- ldr r1, _08012E20 @ =gSharedMem\n\
- ldr r2, _08012E24 @ =0x000160a6\n\
- adds r1, r2\n\
- ldrb r1, [r1]\n\
- lsls r0, 24\n\
- lsrs r0, 22\n\
- adds r0, r4\n\
- ldr r0, [r0]\n\
- ands r1, r0\n\
- cmp r1, 0\n\
- beq _08012E28\n\
-_08012E06:\n\
- movs r0, 0\n\
- movs r1, 0\n\
- bl EmitLinkStandbyMsg\n\
- b _08012E30\n\
- .align 2, 0\n\
-_08012E10: .4byte gBattleExecBuffer\n\
-_08012E14: .4byte gBitTable\n\
-_08012E18: .4byte gActiveBattler\n\
-_08012E1C: .4byte gBattleTypeFlags\n\
-_08012E20: .4byte gSharedMem\n\
-_08012E24: .4byte 0x000160a6\n\
-_08012E28:\n\
- movs r0, 0\n\
- movs r1, 0x1\n\
- bl EmitLinkStandbyMsg\n\
-_08012E30:\n\
- ldr r4, _08012E48 @ =gActiveBattler\n\
-_08012E32:\n\
- ldrb r0, [r4]\n\
- bl MarkBufferBankForExecution\n\
- ldr r0, _08012E4C @ =gBattleCommunication\n\
- ldrb r1, [r4]\n\
-_08012E3C:\n\
- adds r1, r0\n\
-_08012E3E:\n\
- ldrb r0, [r1]\n\
- adds r0, 0x1\n\
- strb r0, [r1]\n\
- b _08012F66\n\
- .align 2, 0\n\
-_08012E48: .4byte gActiveBattler\n\
-_08012E4C: .4byte gBattleCommunication\n\
-_08012E50:\n\
- ldr r3, _08012E84 @ =gBattleExecBuffer\n\
- ldr r1, _08012E88 @ =gBitTable\n\
- ldr r0, _08012E8C @ =gActiveBattler\n\
- ldrb r0, [r0]\n\
- lsls r0, 2\n\
- adds r0, r1\n\
- ldr r2, [r0]\n\
- lsls r1, r2, 4\n\
- movs r0, 0xF0\n\
- lsls r0, 24\n\
- orrs r1, r0\n\
- orrs r1, r2\n\
- lsls r0, r2, 8\n\
- orrs r1, r0\n\
- lsls r2, 12\n\
- orrs r1, r2\n\
- ldr r0, [r3]\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- bne _08012F66\n\
- ldr r1, _08012E90 @ =gBattleCommunication\n\
- ldrb r0, [r1, 0x4]\n\
- adds r0, 0x1\n\
- strb r0, [r1, 0x4]\n\
- b _08012F66\n\
- .align 2, 0\n\
-_08012E84: .4byte gBattleExecBuffer\n\
-_08012E88: .4byte gBitTable\n\
-_08012E8C: .4byte gActiveBattler\n\
-_08012E90: .4byte gBattleCommunication\n\
-_08012E94:\n\
- ldr r2, _08012EB8 @ =gSharedMem\n\
- ldr r5, _08012EBC @ =gActiveBattler\n\
- ldrb r1, [r5]\n\
- ldr r3, _08012EC0 @ =0x00016060\n\
- adds r0, r1, r3\n\
- adds r0, r2\n\
- ldrb r0, [r0]\n\
- cmp r0, 0\n\
- beq _08012ECC\n\
- ldr r0, _08012EC4 @ =gBattleCommunication\n\
- adds r0, r1, r0\n\
- ldr r4, _08012EC8 @ =0x00016094\n\
- adds r1, r4\n\
- adds r1, r2\n\
- ldrb r1, [r1]\n\
- strb r1, [r0]\n\
- b _08012F66\n\
- .align 2, 0\n\
-_08012EB8: .4byte gSharedMem\n\
-_08012EBC: .4byte gActiveBattler\n\
-_08012EC0: .4byte 0x00016060\n\
-_08012EC4: .4byte gBattleCommunication\n\
-_08012EC8: .4byte 0x00016094\n\
-_08012ECC:\n\
- ldr r0, _08012F20 @ =gBankAttacker\n\
- strb r1, [r0]\n\
- ldr r7, _08012F24 @ =gBattlescriptCurrInstr\n\
- ldr r6, _08012F28 @ =gUnknown_02024C1C\n\
- ldrb r0, [r5]\n\
- lsls r0, 2\n\
- adds r0, r6\n\
- ldr r4, [r0]\n\
- str r4, [r7]\n\
- ldr r3, _08012F2C @ =gBattleExecBuffer\n\
- ldr r1, _08012F30 @ =gBitTable\n\
- ldrb r0, [r5]\n\
- lsls r0, 2\n\
- adds r0, r1\n\
- ldr r2, [r0]\n\
- lsls r1, r2, 4\n\
- movs r0, 0xF0\n\
- lsls r0, 24\n\
- orrs r1, r0\n\
- orrs r1, r2\n\
- lsls r0, r2, 8\n\
- orrs r1, r0\n\
- lsls r2, 12\n\
- orrs r1, r2\n\
- ldr r0, [r3]\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- bne _08012F12\n\
- ldr r0, _08012F34 @ =gBattleScriptingCommandsTable\n\
- ldrb r1, [r4]\n\
- lsls r1, 2\n\
- adds r1, r0\n\
- ldr r0, [r1]\n\
- bl _call_via_r0\n\
-_08012F12:\n\
- ldrb r0, [r5]\n\
- lsls r0, 2\n\
- adds r0, r6\n\
- ldr r1, [r7]\n\
- str r1, [r0]\n\
- b _08012F66\n\
- .align 2, 0\n\
-_08012F20: .4byte gBankAttacker\n\
-_08012F24: .4byte gBattlescriptCurrInstr\n\
-_08012F28: .4byte gUnknown_02024C1C\n\
-_08012F2C: .4byte gBattleExecBuffer\n\
-_08012F30: .4byte gBitTable\n\
-_08012F34: .4byte gBattleScriptingCommandsTable\n\
-_08012F38:\n\
- ldr r3, _08012FA0 @ =gBattleExecBuffer\n\
- ldr r1, _08012FA4 @ =gBitTable\n\
- ldr r0, _08012FA8 @ =gActiveBattler\n\
- ldrb r4, [r0]\n\
- lsls r0, r4, 2\n\
- adds r0, r1\n\
- ldr r2, [r0]\n\
- lsls r0, r2, 4\n\
- movs r1, 0xF0\n\
- lsls r1, 24\n\
- orrs r0, r1\n\
- orrs r0, r2\n\
- lsls r1, r2, 8\n\
- orrs r0, r1\n\
- lsls r2, 12\n\
- orrs r0, r2\n\
- ldr r3, [r3]\n\
- ands r3, r0\n\
- cmp r3, 0\n\
- bne _08012F66\n\
-_08012F60:\n\
- ldr r0, _08012FAC @ =gBattleCommunication\n\
- adds r0, r4, r0\n\
- strb r3, [r0]\n\
-_08012F66:\n\
- ldr r0, _08012FA8 @ =gActiveBattler\n\
- ldrb r1, [r0]\n\
- adds r1, 0x1\n\
- strb r1, [r0]\n\
- ldr r0, _08012FB0 @ =gBattlersCount\n\
- lsls r1, 24\n\
- lsrs r1, 24\n\
-_08012F74:\n\
- adds r2, r0, 0\n\
- ldrb r0, [r2]\n\
- cmp r1, r0\n\
- bcs _08012F80\n\
- bl _0801234C\n\
-_08012F80:\n\
- ldr r0, _08012FAC @ =gBattleCommunication\n\
- ldrb r0, [r0, 0x4]\n\
- ldrb r2, [r2]\n\
- cmp r0, r2\n\
- bne _08012F90\n\
- ldr r1, _08012FB4 @ =gBattleMainFunc\n\
- ldr r0, _08012FB8 @ =SetActionsAndBanksTurnOrder\n\
- str r0, [r1]\n\
-_08012F90:\n\
- add sp, 0x1C\n\
- pop {r3-r5}\n\
- mov r8, r3\n\
- mov r9, r4\n\
- mov r10, r5\n\
- pop {r4-r7}\n\
- pop {r0}\n\
- bx r0\n\
- .align 2, 0\n\
-_08012FA0: .4byte gBattleExecBuffer\n\
-_08012FA4: .4byte gBitTable\n\
-_08012FA8: .4byte gActiveBattler\n\
-_08012FAC: .4byte gBattleCommunication\n\
-_08012FB0: .4byte gBattlersCount\n\
-_08012FB4: .4byte gBattleMainFunc\n\
-_08012FB8: .4byte SetActionsAndBanksTurnOrder\n\
- .syntax divided\n");
+
+ // Check if everyone chose actions.
+ if (gBattleCommunication[ACTIONS_CONFIRMED_COUNT] == gBattlersCount)
+ {
+ gBattleMainFunc = SetActionsAndBanksTurnOrder;
+ }
}
void SwapTurnOrder(u8 a, u8 b)
@@ -6748,7 +5260,6 @@ void HandleAction_Switch(void)
gBattleResults.unk2++;
}
-#ifdef NONMATCHING
void HandleAction_UseItem(void)
{
gBankAttacker = gBankTarget = gBanksByTurnOrder[gCurrentTurnActionNumber];
@@ -6788,7 +5299,7 @@ void HandleAction_UseItem(void)
{
while (!(ewram160DA(gBankAttacker) & 1))
{
- ewram160DA(gBankAttacker) /= 2;
+ ewram160DA(gBankAttacker) >>= 1;
gBattleCommunication[MULTISTRING_CHOOSER]++;
}
}
@@ -6806,7 +5317,7 @@ void HandleAction_UseItem(void)
while (!(ewram160DA(gBankAttacker) & 1))
{
- ewram160DA(gBankAttacker) /= 2;
+ ewram160DA(gBankAttacker) >>= 1;
gBattleTextBuff1[2]++;
}
@@ -6826,376 +5337,6 @@ void HandleAction_UseItem(void)
}
gCurrentActionFuncId = ACTION_RUN_BATTLESCRIPT;
}
-#else
-NAKED
-void HandleAction_UseItem(void)
-{
- asm(".syntax unified\n\
- push {r4-r7,lr}\n\
- mov r7, r10\n\
- mov r6, r9\n\
- mov r5, r8\n\
- push {r5-r7}\n\
- ldr r4, _08014804 @ =gBankAttacker\n\
- ldr r2, _08014808 @ =gBankTarget\n\
- ldr r1, _0801480C @ =gBanksByTurnOrder\n\
- ldr r0, _08014810 @ =gCurrentTurnActionNumber\n\
- ldrb r0, [r0]\n\
- adds r0, r1\n\
- ldrb r0, [r0]\n\
- strb r0, [r2]\n\
- strb r0, [r4]\n\
- ldr r0, _08014814 @ =gBattle_BG0_X\n\
- movs r2, 0\n\
- strh r2, [r0]\n\
- ldr r0, _08014818 @ =gBattle_BG0_Y\n\
- strh r2, [r0]\n\
- ldr r3, _0801481C @ =gDisableStructs\n\
- ldrb r1, [r4]\n\
- lsls r0, r1, 3\n\
- subs r0, r1\n\
- lsls r0, 2\n\
- adds r0, r3\n\
- strb r2, [r0, 0x10]\n\
- ldr r5, _08014820 @ =gLastUsedItem\n\
- ldr r2, _08014824 @ =gBattleBufferB\n\
- ldrb r1, [r4]\n\
- lsls r1, 9\n\
- adds r0, r2, 0x1\n\
- adds r0, r1, r0\n\
- ldrb r3, [r0]\n\
- adds r2, 0x2\n\
- adds r1, r2\n\
- ldrb r0, [r1]\n\
- lsls r0, 8\n\
- orrs r3, r0\n\
- strh r3, [r5]\n\
- cmp r3, 0xC\n\
- bhi _08014830\n\
- ldr r2, _08014828 @ =gBattlescriptCurrInstr\n\
- ldr r1, _0801482C @ =gBattlescriptsForBallThrow\n\
- ldrh r0, [r5]\n\
- lsls r0, 2\n\
- adds r0, r1\n\
- ldr r0, [r0]\n\
- str r0, [r2]\n\
- b _08014A8C\n\
- .align 2, 0\n\
-_08014804: .4byte gBankAttacker\n\
-_08014808: .4byte gBankTarget\n\
-_0801480C: .4byte gBanksByTurnOrder\n\
-_08014810: .4byte gCurrentTurnActionNumber\n\
-_08014814: .4byte gBattle_BG0_X\n\
-_08014818: .4byte gBattle_BG0_Y\n\
-_0801481C: .4byte gDisableStructs\n\
-_08014820: .4byte gLastUsedItem\n\
-_08014824: .4byte gBattleBufferB\n\
-_08014828: .4byte gBattlescriptCurrInstr\n\
-_0801482C: .4byte gBattlescriptsForBallThrow\n\
-_08014830:\n\
- adds r0, r3, 0\n\
- subs r0, 0x50\n\
- lsls r0, 16\n\
- lsrs r0, 16\n\
- cmp r0, 0x1\n\
- bhi _0801484C\n\
- ldr r0, _08014844 @ =gBattlescriptCurrInstr\n\
- ldr r1, _08014848 @ =gBattlescriptsForRunningByItem\n\
- b _0801485C\n\
- .align 2, 0\n\
-_08014844: .4byte gBattlescriptCurrInstr\n\
-_08014848: .4byte gBattlescriptsForRunningByItem\n\
-_0801484C:\n\
- ldrb r0, [r4]\n\
- bl GetBattlerSide\n\
- lsls r0, 24\n\
- cmp r0, 0\n\
- bne _0801486C\n\
- ldr r0, _08014864 @ =gBattlescriptCurrInstr\n\
- ldr r1, _08014868 @ =gBattlescriptsForUsingItem\n\
-_0801485C:\n\
- ldr r1, [r1]\n\
- str r1, [r0]\n\
- b _08014A8C\n\
- .align 2, 0\n\
-_08014864: .4byte gBattlescriptCurrInstr\n\
-_08014868: .4byte gBattlescriptsForUsingItem\n\
-_0801486C:\n\
- ldr r2, _080148A0 @ =gSharedMem\n\
- ldrb r0, [r4]\n\
- ldr r3, _080148A4 @ =0x00016003\n\
- adds r1, r2, r3\n\
- strb r0, [r1]\n\
- lsls r0, 24\n\
- lsrs r0, 25\n\
- ldr r1, _080148A8 @ =0x000160d8\n\
- adds r0, r1\n\
- adds r0, r2\n\
- ldrb r0, [r0]\n\
- subs r0, 0x1\n\
- mov r8, r4\n\
- ldr r3, _080148AC @ =gBattlescriptCurrInstr\n\
- mov r9, r3\n\
- ldr r1, _080148B0 @ =gBattlescriptsForUsingItem\n\
- mov r10, r1\n\
- adds r7, r2, 0\n\
- cmp r0, 0x4\n\
- bls _08014896\n\
- b _08014A74\n\
-_08014896:\n\
- lsls r0, 2\n\
- ldr r1, _080148B4 @ =_080148B8\n\
- adds r0, r1\n\
- ldr r0, [r0]\n\
- mov pc, r0\n\
- .align 2, 0\n\
-_080148A0: .4byte gSharedMem\n\
-_080148A4: .4byte 0x00016003\n\
-_080148A8: .4byte 0x000160d8\n\
-_080148AC: .4byte gBattlescriptCurrInstr\n\
-_080148B0: .4byte gBattlescriptsForUsingItem\n\
-_080148B4: .4byte _080148B8\n\
- .align 2, 0\n\
-_080148B8:\n\
- .4byte _08014A74\n\
- .4byte _08014A74\n\
- .4byte _080148CC\n\
- .4byte _08014958\n\
- .4byte _08014A30\n\
-_080148CC:\n\
- ldr r2, _08014904 @ =gBattleCommunication\n\
- movs r0, 0\n\
- strb r0, [r2, 0x5]\n\
- ldr r1, _08014908 @ =gBankAttacker\n\
- ldrb r0, [r1]\n\
- lsrs r0, 1\n\
- ldr r6, _0801490C @ =0x000160da\n\
- adds r0, r6\n\
- adds r0, r7\n\
- ldrb r3, [r0]\n\
- movs r0, 0x1\n\
- ands r0, r3\n\
- mov r8, r1\n\
- cmp r0, 0\n\
- beq _08014918\n\
- movs r0, 0x3E\n\
- ands r0, r3\n\
- ldr r3, _08014910 @ =gBattlescriptCurrInstr\n\
- mov r9, r3\n\
- ldr r1, _08014914 @ =gBattlescriptsForUsingItem\n\
- mov r10, r1\n\
- cmp r0, 0\n\
- bne _080148FC\n\
- b _08014A74\n\
-_080148FC:\n\
- movs r0, 0x5\n\
- strb r0, [r2, 0x5]\n\
- b _08014A74\n\
- .align 2, 0\n\
-_08014904: .4byte gBattleCommunication\n\
-_08014908: .4byte gBankAttacker\n\
-_0801490C: .4byte 0x000160da\n\
-_08014910: .4byte gBattlescriptCurrInstr\n\
-_08014914: .4byte gBattlescriptsForUsingItem\n\
-_08014918:\n\
- ldr r3, _08014950 @ =gBattlescriptCurrInstr\n\
- mov r9, r3\n\
- ldr r0, _08014954 @ =gBattlescriptsForUsingItem\n\
- mov r10, r0\n\
- adds r5, r7, 0\n\
- mov r4, r8\n\
- adds r3, r6, 0\n\
-_08014926:\n\
- ldrb r0, [r4]\n\
- lsrs r0, 1\n\
- adds r0, r3\n\
- adds r0, r5\n\
- ldrb r1, [r0]\n\
- lsrs r1, 1\n\
- strb r1, [r0]\n\
- ldrb r0, [r2, 0x5]\n\
- adds r0, 0x1\n\
- strb r0, [r2, 0x5]\n\
- ldrb r0, [r4]\n\
- lsrs r0, 1\n\
- adds r0, r3\n\
- adds r0, r5\n\
- ldrb r1, [r0]\n\
- movs r0, 0x1\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- beq _08014926\n\
- b _08014A74\n\
- .align 2, 0\n\
-_08014950: .4byte gBattlescriptCurrInstr\n\
-_08014954: .4byte gBattlescriptsForUsingItem\n\
-_08014958:\n\
- ldr r3, _0801498C @ =gBattleCommunication\n\
- movs r0, 0x4\n\
- strb r0, [r3, 0x5]\n\
- ldr r2, _08014990 @ =gBankAttacker\n\
- ldrb r0, [r2]\n\
- lsrs r0, 1\n\
- ldr r1, _08014994 @ =0x000160da\n\
- mov r12, r1\n\
- add r0, r12\n\
- adds r6, r0, r7\n\
- ldrb r1, [r6]\n\
- movs r0, 0x80\n\
- ands r0, r1\n\
- lsls r0, 24\n\
- lsrs r5, r0, 24\n\
- mov r8, r2\n\
- cmp r5, 0\n\
- beq _080149A0\n\
- movs r0, 0x5\n\
- strb r0, [r3, 0x5]\n\
- ldr r2, _08014998 @ =gBattlescriptCurrInstr\n\
- mov r9, r2\n\
- ldr r3, _0801499C @ =gBattlescriptsForUsingItem\n\
- mov r10, r3\n\
- b _08014A74\n\
- .align 2, 0\n\
-_0801498C: .4byte gBattleCommunication\n\
-_08014990: .4byte gBankAttacker\n\
-_08014994: .4byte 0x000160da\n\
-_08014998: .4byte gBattlescriptCurrInstr\n\
-_0801499C: .4byte gBattlescriptsForUsingItem\n\
-_080149A0:\n\
- ldr r3, _08014A18 @ =gBattleTextBuff1\n\
- movs r4, 0xFD\n\
- strb r4, [r3]\n\
- movs r0, 0x5\n\
- strb r0, [r3, 0x1]\n\
- movs r2, 0x1\n\
- strb r2, [r3, 0x2]\n\
- movs r0, 0xFF\n\
- strb r0, [r3, 0x3]\n\
- ldr r1, _08014A1C @ =gBattleTextBuff2\n\
- strb r4, [r1]\n\
- strb r5, [r1, 0x1]\n\
- movs r0, 0xD2\n\
- strb r0, [r1, 0x2]\n\
- strb r5, [r1, 0x3]\n\
- subs r0, 0xD3\n\
- strb r0, [r1, 0x4]\n\
- ldrb r0, [r6]\n\
- ands r2, r0\n\
- ldr r0, _08014A20 @ =gBattlescriptCurrInstr\n\
- mov r9, r0\n\
- ldr r1, _08014A24 @ =gBattlescriptsForUsingItem\n\
- mov r10, r1\n\
- adds r6, r3, 0\n\
- cmp r2, 0\n\
- bne _08014A02\n\
- adds r3, r7, 0\n\
- mov r5, r8\n\
- mov r4, r12\n\
- adds r2, r6, 0\n\
-_080149DC:\n\
- ldrb r0, [r5]\n\
- lsrs r0, 1\n\
- adds r0, r4\n\
- adds r0, r3\n\
- ldrb r1, [r0]\n\
- lsrs r1, 1\n\
- strb r1, [r0]\n\
- ldrb r0, [r2, 0x2]\n\
- adds r0, 0x1\n\
- strb r0, [r2, 0x2]\n\
- ldrb r0, [r5]\n\
- lsrs r0, 1\n\
- adds r0, r4\n\
- adds r0, r3\n\
- ldrb r1, [r0]\n\
- movs r0, 0x1\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- beq _080149DC\n\
-_08014A02:\n\
- ldrb r0, [r6, 0x2]\n\
- adds r0, 0xE\n\
- ldr r2, _08014A28 @ =0x000160a4\n\
- adds r1, r7, r2\n\
- movs r2, 0\n\
- strb r0, [r1]\n\
- ldr r3, _08014A2C @ =0x000160a5\n\
- adds r0, r7, r3\n\
- strb r2, [r0]\n\
- b _08014A74\n\
- .align 2, 0\n\
-_08014A18: .4byte gBattleTextBuff1\n\
-_08014A1C: .4byte gBattleTextBuff2\n\
-_08014A20: .4byte gBattlescriptCurrInstr\n\
-_08014A24: .4byte gBattlescriptsForUsingItem\n\
-_08014A28: .4byte 0x000160a4\n\
-_08014A2C: .4byte 0x000160a5\n\
-_08014A30:\n\
- ldr r0, _08014A50 @ =gBattleTypeFlags\n\
- ldrh r0, [r0]\n\
- movs r1, 0x1\n\
- ands r1, r0\n\
- cmp r1, 0\n\
- beq _08014A64\n\
- ldr r1, _08014A54 @ =gBattleCommunication\n\
- movs r0, 0x2\n\
- strb r0, [r1, 0x5]\n\
- ldr r0, _08014A58 @ =gBankAttacker\n\
- mov r8, r0\n\
- ldr r1, _08014A5C @ =gBattlescriptCurrInstr\n\
- mov r9, r1\n\
- ldr r2, _08014A60 @ =gBattlescriptsForUsingItem\n\
- mov r10, r2\n\
- b _08014A74\n\
- .align 2, 0\n\
-_08014A50: .4byte gBattleTypeFlags\n\
-_08014A54: .4byte gBattleCommunication\n\
-_08014A58: .4byte gBankAttacker\n\
-_08014A5C: .4byte gBattlescriptCurrInstr\n\
-_08014A60: .4byte gBattlescriptsForUsingItem\n\
-_08014A64:\n\
- ldr r0, _08014AA0 @ =gBattleCommunication\n\
- strb r1, [r0, 0x5]\n\
- ldr r3, _08014AA4 @ =gBankAttacker\n\
- mov r8, r3\n\
- ldr r0, _08014AA8 @ =gBattlescriptCurrInstr\n\
- mov r9, r0\n\
- ldr r1, _08014AAC @ =gBattlescriptsForUsingItem\n\
- mov r10, r1\n\
-_08014A74:\n\
- mov r2, r8\n\
- ldrb r0, [r2]\n\
- lsrs r0, 1\n\
- ldr r3, _08014AB0 @ =0x000160d8\n\
- adds r0, r3\n\
- adds r0, r7\n\
- ldrb r0, [r0]\n\
- lsls r0, 2\n\
- add r0, r10\n\
- ldr r0, [r0]\n\
- mov r1, r9\n\
- str r0, [r1]\n\
-_08014A8C:\n\
- movs r0, 0xA\n\
- ldr r2, _08014AB4 @ =gCurrentActionFuncId\n\
- strb r0, [r2]\n\
- pop {r3-r5}\n\
- mov r8, r3\n\
- mov r9, r4\n\
- mov r10, r5\n\
- pop {r4-r7}\n\
- pop {r0}\n\
- bx r0\n\
- .align 2, 0\n\
-_08014AA0: .4byte gBattleCommunication\n\
-_08014AA4: .4byte gBankAttacker\n\
-_08014AA8: .4byte gBattlescriptCurrInstr\n\
-_08014AAC: .4byte gBattlescriptsForUsingItem\n\
-_08014AB0: .4byte 0x000160d8\n\
-_08014AB4: .4byte gCurrentActionFuncId\n\
- .syntax divided\n");
-}
-#endif // NONMATCHING
bool8 TryRunFromBattle(u8 bank)
{
diff --git a/src/battle/battle_4.c b/src/battle/battle_4.c
index 39ba0318b..c2e7d47a0 100644
--- a/src/battle/battle_4.c
+++ b/src/battle/battle_4.c
@@ -3714,7 +3714,7 @@ _0801EA84:\n\
ldrb r1, [r1]\n\
movs r0, 0x58\n\
muls r0, r1\n\
- ldr r1, _0801EAEC @ =gUnknown_02024ACC\n\
+ ldr r1, _0801EAEC @ =gBattleMons+0x4C @ gBattleMons.status1\n\
adds r0, r1\n\
str r0, [sp]\n\
movs r0, 0\n\
@@ -3744,7 +3744,7 @@ _0801EADC: .4byte gBattlescriptCurrInstr\n\
_0801EAE0: .4byte gMoveEffectBS_Ptrs\n\
_0801EAE4: .4byte gBattleCommunication\n\
_0801EAE8: .4byte gActiveBattler\n\
-_0801EAEC: .4byte gUnknown_02024ACC\n\
+_0801EAEC: .4byte gBattleMons+0x4C @ gBattleMons.status1\n\
_0801EAF0: .4byte gHitMarker\n\
_0801EAF4: .4byte 0xffffdfff\n\
_0801EAF8:\n\
@@ -6523,7 +6523,7 @@ _0802163C:\n\
beq _080216E4\n\
movs r0, 0x1\n\
mov r10, r0\n\
- ldr r0, _08021678 @ =gUnknown_02024A98\n\
+ ldr r0, _08021678 @ =gBattleMons+0x18 @ gBattleMons.statStages\n\
mov r9, r0\n\
lsls r5, r1, 16\n\
_0802164A:\n\
@@ -6548,7 +6548,7 @@ _0802164A:\n\
.align 2, 0\n\
_08021670: .4byte gBattlescriptCurrInstr\n\
_08021674: .4byte gActiveBattler\n\
-_08021678: .4byte gUnknown_02024A98\n\
+_08021678: .4byte gBattleMons+0x18 @ gBattleMons.statStages\n\
_0802167C:\n\
ldr r6, _08021700 @ =gActiveBattler\n\
ldrb r0, [r6]\n\
@@ -6636,7 +6636,7 @@ _0802171C:\n\
mov r9, r5\n\
cmp r4, 0\n\
beq _08021758\n\
- ldr r6, _0802178C @ =gUnknown_02024A98\n\
+ ldr r6, _0802178C @ =gBattleMons+0x18 @ gBattleMons.statStages\n\
adds r5, r2, 0\n\
lsls r2, r1, 16\n\
_08021728:\n\
@@ -6694,7 +6694,7 @@ _08021772:\n\
mov r1, r9\n\
b _080217E6\n\
.align 2, 0\n\
-_0802178C: .4byte gUnknown_02024A98\n\
+_0802178C: .4byte gBattleMons+0x18 @ gBattleMons.statStages\n\
_08021790:\n\
cmp r3, 0\n\
beq _080217E0\n\
@@ -7644,7 +7644,7 @@ _08021E3C:\n\
ldr r2, _08021E64 @ =gDisableStructs\n\
ldr r5, _08021E68 @ =0xfeffffff\n\
adds r3, r0, 0\n\
- ldr r1, _08021E6C @ =gUnknown_02024AD0\n\
+ ldr r1, _08021E6C @ =gBattleMons+0x50\n\
_08021E44:\n\
ldrb r0, [r2, 0xA]\n\
cmp r0, 0\n\
@@ -7664,7 +7664,7 @@ _08021E50:\n\
_08021E60: .4byte gBattlersCount\n\
_08021E64: .4byte gDisableStructs\n\
_08021E68: .4byte 0xfeffffff\n\
-_08021E6C: .4byte gUnknown_02024AD0\n\
+_08021E6C: .4byte gBattleMons+0x50\n\
_08021E70:\n\
ldr r1, _08021F2C @ =gHitMarker\n\
ldr r3, [r1]\n\
diff --git a/src/battle/battle_util.c b/src/battle/battle_util.c
index 7cb39acb7..3d1770239 100644
--- a/src/battle/battle_util.c
+++ b/src/battle/battle_util.c
@@ -27,7 +27,7 @@ extern u8 gUnknown_02023A14_50;
extern const u8* gBattlescriptCurrInstr;
extern u8 gActiveBattler;
extern u8 gBattleBufferB[4][0x200];
-extern u8* gUnknown_02024C1C[4]; //battlescript location when you try to choose a move you're not allowed to
+extern u8* gSelectionBattleScripts[4]; //battlescript location when you try to choose a move you're not allowed to
extern u16 gLastUsedMove[4];
extern struct BattlePokemon gBattleMons[4];
extern struct BattleEnigmaBerry gEnigmaBerries[4];
@@ -481,25 +481,25 @@ u8 TrySetCantSelectMoveBattleScript(void) //msg can't select a move
{
gBattleStruct->scriptingActive = gActiveBattler;
gCurrentMove = move;
- gUnknown_02024C1C[gActiveBattler] = BattleScript_MoveSelectionDisabledMove;
+ gSelectionBattleScripts[gActiveBattler] = BattleScript_MoveSelectionDisabledMove;
limitations++;
}
if (move == gLastUsedMove[gActiveBattler] && move != MOVE_STRUGGLE && gBattleMons[gActiveBattler].status2 & STATUS2_TORMENT)
{
CancelMultiTurnMoves(gActiveBattler);
- gUnknown_02024C1C[gActiveBattler] = BattleScript_MoveSelectionTormented;
+ gSelectionBattleScripts[gActiveBattler] = BattleScript_MoveSelectionTormented;
limitations++;
}
if (gDisableStructs[gActiveBattler].tauntTimer1 && gBattleMoves[move].power == 0)
{
gCurrentMove = move;
- gUnknown_02024C1C[gActiveBattler] = BattleScript_MoveSelectionTaunted;
+ gSelectionBattleScripts[gActiveBattler] = BattleScript_MoveSelectionTaunted;
limitations++;
}
if (IsImprisoned(gActiveBattler, move))
{
gCurrentMove = move;
- gUnknown_02024C1C[gActiveBattler] = BattleScript_MoveSelectionImprisoned;
+ gSelectionBattleScripts[gActiveBattler] = BattleScript_MoveSelectionImprisoned;
limitations++;
}
if (gBattleMons[gActiveBattler].item == ITEM_ENIGMA_BERRY)
@@ -511,12 +511,12 @@ u8 TrySetCantSelectMoveBattleScript(void) //msg can't select a move
{
gCurrentMove = *choicedMove;
gLastUsedItem = gBattleMons[gActiveBattler].item;
- gUnknown_02024C1C[gActiveBattler] = BattleScript_MoveSelectionChoiceBanded;
+ gSelectionBattleScripts[gActiveBattler] = BattleScript_MoveSelectionChoiceBanded;
limitations++;
}
if (gBattleMons[gActiveBattler].pp[gBattleBufferB[gActiveBattler][2]] == 0)
{
- gUnknown_02024C1C[gActiveBattler] = BattleScript_MoveSelectionNoPP;
+ gSelectionBattleScripts[gActiveBattler] = BattleScript_MoveSelectionNoPP;
limitations++;
}
return limitations;
@@ -568,7 +568,7 @@ bool8 AreAllMovesUnusable(void)
if (unusable == 0xF) //all moves are unusable
{
gProtectStructs[gActiveBattler].onlyStruggle = 1;
- gUnknown_02024C1C[gActiveBattler] = BattleScript_NoMovesLeft;
+ gSelectionBattleScripts[gActiveBattler] = BattleScript_NoMovesLeft;
if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE)
gBattleBufferB[gActiveBattler][3] = GetBattlerAtPosition((GetBattlerPosition(gActiveBattler) ^ 1) | (Random() & 2));
else
diff --git a/src/contest_painting.c b/src/contest_painting.c
index d61632a8e..0c5cdcd49 100644
--- a/src/contest_painting.c
+++ b/src/contest_painting.c
@@ -23,7 +23,7 @@ u16 (*gUnknown_03005E10)[][32];
struct Unk03005E20 gUnknown_03005E20;
u8 gUnknown_03005E40[0x4C];
struct ContestEntry *gUnknown_03005E8C;
-u16 (*gUnknown_03005E90)[];
+u16 *gUnknown_03005E90;
static const u16 gPictureFramePalettes[][16] =
{
@@ -634,7 +634,7 @@ static u8 sub_8106EE0(u8 arg0)
static void sub_8106F4C(void)
{
- gUnknown_03005E90 = &ewram15E00.unk2017e00;
+ gUnknown_03005E90 = ewram15E00.unk2017e00;
gUnknown_03005E10 = &ewram15E00.unk2015e00;
}
@@ -667,7 +667,7 @@ static void sub_8106F6C(u8 arg0)
gUnknown_03005E20.var_16 = 2;
gUnknown_03005E20.var_0 = arg0;
- gUnknown_03005E20.var_10 = 0x6010000;
+ gUnknown_03005E20.var_10 = OBJ_VRAM0;
sub_80FC7A0(&gUnknown_03005E20);
sub_80FDA18(&gUnknown_03005E20);
diff --git a/src/contest_painting_effects.c b/src/contest_painting_effects.c
index ae89df88e..57706aea7 100644
--- a/src/contest_painting_effects.c
+++ b/src/contest_painting_effects.c
@@ -4,14 +4,15 @@
extern u16 (*gUnknown_03005DEC)[][32];
extern u8 gUnknown_083E7A50[][3];
-extern u8 gUnknown_03005E00;
+extern u8 gUnknown_03005DE8;
+extern u8 gUnknown_03005DF0;
extern u8 gUnknown_03005DFC;
extern u8 gUnknown_03005DF8;
-extern u8 gUnknown_03005DF0;
-extern u8 gUnknown_03005E04;
extern u8 gUnknown_03005DF4;
-
-extern u8 gUnknown_03005DE8;
+extern u8 gUnknown_03005E00;
+extern u8 gUnknown_03005E04;
+extern u16 * gUnknown_03005E08;
+extern u16 gUnknown_03005E0C;
// this file's functions
void sub_80FCAA4(void);
@@ -36,6 +37,19 @@ u16 InvertColor(u16*);
u16 sub_80FD7AC(u16*, u16*, u16*);
u16 sub_80FD568(u16*, u16*);
u16 GetCoolColorFromPersonality(u8);
+void sub_80FDC18(bool8);
+void sub_80FDAE4(void);
+void sub_80FDF88(void);
+void sub_80FDBE4(void);
+void sub_80FDED8(void);
+void sub_80FDBA8(void);
+void sub_80FDE28(void);
+void sub_80FDB8C(void);
+void sub_80FDD70(void);
+u16 sub_80FE038(u16 *);
+u16 sub_80FE17C(u16 *);
+u16 sub_80FE1B0(u16 *);
+u16 sub_80FE0AC(u16 *);
void sub_80FC7A0(struct Unk03005E20* info)
{
@@ -751,3 +765,770 @@ u16 InvertColor(u16 *color)
return RGB2(red, green, blue);
}
+
+u16 sub_80FD568(u16 *a0, u16 *a1)
+{
+ u16 sp0[2][3];
+ u16 spC[3];
+ u8 r4;
+ u16 r2;
+ u16 r, g, b;
+
+ if (*a0 == *a1)
+ return *a1;
+
+ sp0[0][0] = (*a0 >> 0) & 0x1F;
+ sp0[0][1] = (*a0 >> 5) & 0x1F;
+ sp0[0][2] = (*a0 >> 10) & 0x1F;
+ sp0[1][0] = (*a1 >> 0) & 0x1F;
+ sp0[1][1] = (*a1 >> 5) & 0x1F;
+ sp0[1][2] = (*a1 >> 10) & 0x1F;
+
+ if (sp0[0][0] > 25 && sp0[0][1] > 25 && sp0[0][2] > 25)
+ return *a1;
+ if (sp0[1][0] > 25 && sp0[1][1] > 25 && sp0[1][2] > 25)
+ return *a1;
+
+ for (r4 = 0; r4 < 3; r4++)
+ {
+ if (sp0[0][r4] > sp0[1][r4])
+ spC[r4] = sp0[0][r4] - sp0[1][r4];
+ else
+ spC[r4] = sp0[1][r4] - sp0[0][r4];
+ }
+
+ if (spC[0] >= spC[1])
+ {
+ if (spC[0] >= spC[2])
+ r2 = spC[0];
+ else if (spC[1] >= spC[2])
+ r2 = spC[1];
+ else
+ r2 = spC[2];
+ }
+ else
+ {
+ if (spC[1] >= spC[2])
+ r2 = spC[1];
+ else if (spC[2] >= spC[0])
+ r2 = spC[2];
+ else
+ r2 = spC[0];
+ }
+
+ r = (sp0[1][0] * (31 - r2 / 2)) / 31;
+ g = (sp0[1][1] * (31 - r2 / 2)) / 31;
+ b = (sp0[1][2] * (31 - r2 / 2)) / 31;
+ return RGB2(r, g, b);
+}
+
+u16 sub_80FD68C(u16 * a0, u16 * a1, u16 * a2)
+{
+ u16 red, green, blue;
+ u16 avg0, avg1, avg2;
+ u16 diff1, diff2;
+ u32 minimum;
+ u16 factor;
+
+ if (*a0 == *a1 && *a2 == *a1)
+ return *a1;
+
+ red = (*a1 >> 0) & 0x1F;
+ green = (*a1 >> 5) & 0x1F;
+ blue = (*a1 >> 10) & 0x1F;
+
+ avg0 = (((*a0 >> 0) & 0x1F) + ((*a0 >> 5) & 0x1F) + ((*a0 >> 10) & 0x1F)) / 3;
+ avg1 = (((*a1 >> 0) & 0x1F) + ((*a1 >> 5) & 0x1F) + ((*a1 >> 10) & 0x1F)) / 3;
+ avg2 = (((*a2 >> 0) & 0x1F) + ((*a2 >> 5) & 0x1F) + ((*a2 >> 10) & 0x1F)) / 3;
+
+ if (avg0 == avg1 && avg2 == avg1)
+ return *a1;
+
+ if (avg0 > avg1)
+ diff1 = avg0 - avg1;
+ else
+ diff1 = avg1 - avg0;
+
+ if (avg2 > avg1)
+ diff2 = avg2 - avg1;
+ else
+ diff2 = avg1 - avg2;
+
+ if (diff1 >= diff2)
+ minimum = diff1;
+ else
+ minimum = diff2;
+
+ factor = 31 - minimum / 2;
+ red = red * factor / 31;
+ green = green * factor / 31;
+ blue = blue * factor / 31;
+ return RGB2(red, green, blue);
+}
+
+u16 sub_80FD7AC(u16 *a0, u16 *a1, u16 *a2)
+{
+ u16 red, green, blue;
+ u16 avg0, avg1, avg2;
+ u16 diff1, diff2;
+ u32 minimum;
+ u16 factor;
+
+ if (*a0 == *a1 && *a2 == *a1)
+ return *a1;
+
+ red = (*a1 >> 0) & 0x1F;
+ green = (*a1 >> 5) & 0x1F;
+ blue = (*a1 >> 10) & 0x1F;
+
+ avg0 = (((*a0 >> 0) & 0x1F) + ((*a0 >> 5) & 0x1F) + ((*a0 >> 10) & 0x1F)) / 3;
+ avg1 = (((*a1 >> 0) & 0x1F) + ((*a1 >> 5) & 0x1F) + ((*a1 >> 10) & 0x1F)) / 3;
+ avg2 = (((*a2 >> 0) & 0x1F) + ((*a2 >> 5) & 0x1F) + ((*a2 >> 10) & 0x1F)) / 3;
+
+ if (avg0 == avg1 && avg2 == avg1)
+ return *a1;
+
+ if (avg0 > avg1)
+ diff1 = avg0 - avg1;
+ else
+ diff1 = avg1 - avg0;
+
+ if (avg2 > avg1)
+ diff2 = avg2 - avg1;
+ else
+ diff2 = avg1 - avg2;
+
+ if (diff1 >= diff2)
+ minimum = diff1;
+ else
+ minimum = diff2;
+
+ factor = 31 - minimum;
+ red = red * factor / 31;
+ green = green * factor / 31;
+ blue = blue * factor / 31;
+ return RGB2(red, green, blue);
+}
+
+/*
+void sub_80FD8CC(struct Unk03005E20 * a0)
+{
+ u16 i, j, k;
+ u8 r5 = a0->var_1D >> 3;
+ u8 sp08 = a0->var_1E >> 3;
+ u16 * sp00 = (u16 *)a0->var_4;
+ u16 * sp04 = (u16 *)a0->var_10;
+ if (a0->var_16 == 2)
+ {
+ for (i = 0; i < sp08; i++)
+ {
+ for (j = 0; j < r5; j++)
+ {
+ for (k = 0; k < 8; k++)
+ {
+ u16 * r3 = &sp04[i * r5 * 32 + 4 * k];
+ u16 * r2 = &sp00[j * 8 + (i * 8 + k) * 8 * r5];
+ r3[0] = r2[0] | (r2[1] << 8);
+ r3[1] = r2[2] | (r2[3] << 8);
+ r3[2] = r2[4] | (r2[5] << 8);
+ r3[3] = r2[6] | (r2[7] << 8);
+ }
+ }
+ }
+ }
+ else
+ {
+ for (i = 0; i < sp08; i++)
+ {
+ for (j = 0; j < r5; j++)
+ {
+ for (k = 0; k < 8; k++)
+ {
+ u16 * r3 = &sp04[i * r5 * 16 + 2 * k];
+ u16 * r2 = &sp00[j * 8 + (i * 8 + k) * 8 * r5];
+ r3[0] = r2[0] | (r2[1] << 4) | (r2[2] << 8) | (r2[3] << 12);
+ r3[1] = r2[4] | (r2[5] << 4) | (r2[6] << 8) | (r2[7] << 12);
+ }
+ }
+ }
+ }
+}
+*/
+
+NAKED
+void sub_80FD8CC(struct Unk03005E20 * a0)
+{
+ asm_unified("\tpush {r4-r7,lr}\n"
+ "\tmov r7, r10\n"
+ "\tmov r6, r9\n"
+ "\tmov r5, r8\n"
+ "\tpush {r5-r7}\n"
+ "\tsub sp, 0xC\n"
+ "\tldrb r1, [r0, 0x1D]\n"
+ "\tlsrs r5, r1, 3\n"
+ "\tldrb r1, [r0, 0x1E]\n"
+ "\tlsrs r1, 3\n"
+ "\tstr r1, [sp, 0x8]\n"
+ "\tldr r1, [r0, 0x4]\n"
+ "\tstr r1, [sp]\n"
+ "\tldr r2, [r0, 0x10]\n"
+ "\tstr r2, [sp, 0x4]\n"
+ "\tldrh r0, [r0, 0x16]\n"
+ "\tcmp r0, 0x2\n"
+ "\tbne _080FD97C\n"
+ "\tmovs r1, 0\n"
+ "\tldr r0, [sp, 0x8]\n"
+ "\tcmp r1, r0\n"
+ "\tbcc _080FD8FA\n"
+ "\tb _080FDA08\n"
+ "_080FD8FA:\n"
+ "\tmovs r0, 0\n"
+ "\tadds r2, r1, 0x1\n"
+ "\tmov r10, r2\n"
+ "\tcmp r0, r5\n"
+ "\tbcs _080FD96E\n"
+ "\tadds r2, r1, 0\n"
+ "\tmuls r2, r5\n"
+ "\tmov r9, r2\n"
+ "\tlsls r1, 3\n"
+ "\tmov r8, r1\n"
+ "_080FD90E:\n"
+ "\tmovs r4, 0\n"
+ "\tlsls r6, r0, 4\n"
+ "\tadds r7, r0, 0x1\n"
+ "\tadd r0, r9\n"
+ "\tlsls r0, 6\n"
+ "\tldr r1, [sp, 0x4]\n"
+ "\tadds r1, r0\n"
+ "\tmov r12, r1\n"
+ "_080FD91E:\n"
+ "\tlsls r0, r4, 3\n"
+ "\tmov r2, r12\n"
+ "\tadds r3, r2, r0\n"
+ "\tmov r1, r8\n"
+ "\tadds r0, r1, r4\n"
+ "\tlsls r0, 3\n"
+ "\tmuls r0, r5\n"
+ "\tlsls r0, 1\n"
+ "\tldr r2, [sp]\n"
+ "\tadds r0, r2, r0\n"
+ "\tadds r2, r0, r6\n"
+ "\tldrh r0, [r2, 0x2]\n"
+ "\tlsls r0, 8\n"
+ "\tldrh r1, [r2]\n"
+ "\torrs r0, r1\n"
+ "\tstrh r0, [r3]\n"
+ "\tldrh r0, [r2, 0x6]\n"
+ "\tlsls r0, 8\n"
+ "\tldrh r1, [r2, 0x4]\n"
+ "\torrs r0, r1\n"
+ "\tstrh r0, [r3, 0x2]\n"
+ "\tldrh r0, [r2, 0xA]\n"
+ "\tlsls r0, 8\n"
+ "\tldrh r1, [r2, 0x8]\n"
+ "\torrs r0, r1\n"
+ "\tstrh r0, [r3, 0x4]\n"
+ "\tldrh r0, [r2, 0xE]\n"
+ "\tlsls r0, 8\n"
+ "\tldrh r1, [r2, 0xC]\n"
+ "\torrs r0, r1\n"
+ "\tstrh r0, [r3, 0x6]\n"
+ "\tadds r0, r4, 0x1\n"
+ "\tlsls r0, 16\n"
+ "\tlsrs r4, r0, 16\n"
+ "\tcmp r4, 0x7\n"
+ "\tbls _080FD91E\n"
+ "\tlsls r0, r7, 16\n"
+ "\tlsrs r0, 16\n"
+ "\tcmp r0, r5\n"
+ "\tbcc _080FD90E\n"
+ "_080FD96E:\n"
+ "\tmov r1, r10\n"
+ "\tlsls r0, r1, 16\n"
+ "\tlsrs r1, r0, 16\n"
+ "\tldr r2, [sp, 0x8]\n"
+ "\tcmp r1, r2\n"
+ "\tbcc _080FD8FA\n"
+ "\tb _080FDA08\n"
+ "_080FD97C:\n"
+ "\tmovs r1, 0\n"
+ "\tldr r0, [sp, 0x8]\n"
+ "\tcmp r1, r0\n"
+ "\tbcs _080FDA08\n"
+ "_080FD984:\n"
+ "\tmovs r0, 0\n"
+ "\tadds r2, r1, 0x1\n"
+ "\tmov r10, r2\n"
+ "\tcmp r0, r5\n"
+ "\tbcs _080FD9FC\n"
+ "\tadds r2, r1, 0\n"
+ "\tmuls r2, r5\n"
+ "\tmov r9, r2\n"
+ "\tlsls r1, 3\n"
+ "\tmov r8, r1\n"
+ "_080FD998:\n"
+ "\tmovs r4, 0\n"
+ "\tlsls r6, r0, 4\n"
+ "\tadds r7, r0, 0x1\n"
+ "\tadd r0, r9\n"
+ "\tlsls r0, 5\n"
+ "\tldr r1, [sp, 0x4]\n"
+ "\tadds r1, r0\n"
+ "\tmov r12, r1\n"
+ "_080FD9A8:\n"
+ "\tlsls r0, r4, 2\n"
+ "\tmov r2, r12\n"
+ "\tadds r3, r2, r0\n"
+ "\tmov r1, r8\n"
+ "\tadds r0, r1, r4\n"
+ "\tlsls r0, 3\n"
+ "\tmuls r0, r5\n"
+ "\tlsls r0, 1\n"
+ "\tldr r2, [sp]\n"
+ "\tadds r0, r2, r0\n"
+ "\tadds r2, r0, r6\n"
+ "\tldrh r1, [r2, 0x2]\n"
+ "\tlsls r1, 4\n"
+ "\tldrh r0, [r2]\n"
+ "\torrs r1, r0\n"
+ "\tldrh r0, [r2, 0x4]\n"
+ "\tlsls r0, 8\n"
+ "\torrs r1, r0\n"
+ "\tldrh r0, [r2, 0x6]\n"
+ "\tlsls r0, 12\n"
+ "\torrs r1, r0\n"
+ "\tstrh r1, [r3]\n"
+ "\tldrh r1, [r2, 0xA]\n"
+ "\tlsls r1, 4\n"
+ "\tldrh r0, [r2, 0x8]\n"
+ "\torrs r1, r0\n"
+ "\tldrh r0, [r2, 0xC]\n"
+ "\tlsls r0, 8\n"
+ "\torrs r1, r0\n"
+ "\tldrh r0, [r2, 0xE]\n"
+ "\tlsls r0, 12\n"
+ "\torrs r1, r0\n"
+ "\tstrh r1, [r3, 0x2]\n"
+ "\tadds r0, r4, 0x1\n"
+ "\tlsls r0, 16\n"
+ "\tlsrs r4, r0, 16\n"
+ "\tcmp r4, 0x7\n"
+ "\tbls _080FD9A8\n"
+ "\tlsls r0, r7, 16\n"
+ "\tlsrs r0, 16\n"
+ "\tcmp r0, r5\n"
+ "\tbcc _080FD998\n"
+ "_080FD9FC:\n"
+ "\tmov r1, r10\n"
+ "\tlsls r0, r1, 16\n"
+ "\tlsrs r1, r0, 16\n"
+ "\tldr r2, [sp, 0x8]\n"
+ "\tcmp r1, r2\n"
+ "\tbcc _080FD984\n"
+ "_080FDA08:\n"
+ "\tadd sp, 0xC\n"
+ "\tpop {r3-r5}\n"
+ "\tmov r8, r3\n"
+ "\tmov r9, r4\n"
+ "\tmov r10, r5\n"
+ "\tpop {r4-r7}\n"
+ "\tpop {r0}\n"
+ "\tbx r0");
+}
+
+void sub_80FDA18(struct Unk03005E20 *arg0)
+{
+ gUnknown_03005E0C = arg0->var_18 * 16;
+ gUnknown_03005E08 = &arg0->var_8[gUnknown_03005E0C];
+ gUnknown_03005DEC = arg0->var_4;
+ gUnknown_03005DE8 = arg0->var_19;
+ gUnknown_03005DFC = arg0->var_1A;
+ gUnknown_03005DF8 = arg0->var_1B;
+ gUnknown_03005DF0 = arg0->var_1C;
+ gUnknown_03005E04 = arg0->var_1D;
+ gUnknown_03005DF4 = arg0->var_1E;
+
+ switch (arg0->var_14)
+ {
+ case 0:
+ sub_80FDC18(FALSE);
+ break;
+ case 1:
+ sub_80FDC18(TRUE);
+ break;
+ case 2:
+ sub_80FDAE4();
+ sub_80FDF88();
+ break;
+ case 3:
+ sub_80FDBE4();
+ sub_80FDED8();
+ break;
+ case 4:
+ sub_80FDBA8();
+ sub_80FDE28();
+ break;
+ case 5:
+ sub_80FDB8C();
+ sub_80FDD70();
+ break;
+ }
+}
+
+void sub_80FDAE4(void)
+{
+ gUnknown_03005E08[0] = RGB2(0, 0, 0);
+ gUnknown_03005E08[1] = RGB2(6, 6, 6);
+ gUnknown_03005E08[2] = RGB2(29, 29, 29);
+ gUnknown_03005E08[3] = RGB2(11, 11, 11);
+ gUnknown_03005E08[4] = RGB2(29, 6, 6);
+ gUnknown_03005E08[5] = RGB2(6, 29, 6);
+ gUnknown_03005E08[6] = RGB2(6, 6, 29);
+ gUnknown_03005E08[7] = RGB2(29, 29, 6);
+ gUnknown_03005E08[8] = RGB2(29, 6, 29);
+ gUnknown_03005E08[9] = RGB2(6, 29, 29);
+ gUnknown_03005E08[10] = RGB2(29, 11, 6);
+ gUnknown_03005E08[11] = RGB2(11, 29, 6);
+ gUnknown_03005E08[12] = RGB2(6, 11, 29);
+ gUnknown_03005E08[13] = RGB2(29, 6, 11);
+ gUnknown_03005E08[14] = RGB2(6, 29, 11);
+ gUnknown_03005E08[15] = RGB2(11, 6, 29);
+}
+
+void sub_80FDB8C(void)
+{
+ gUnknown_03005E08[0] = RGB2(0, 0, 0);
+ gUnknown_03005E08[1] = RGB2(0, 0, 0);
+ gUnknown_03005E08[2] = RGB2(31, 31, 31);
+}
+
+void sub_80FDBA8(void)
+{
+ u8 i;
+
+ gUnknown_03005E08[0] = RGB2(0, 0, 0);
+ gUnknown_03005E08[1] = RGB2(0, 0, 0);
+ for (i = 0; i < 14; i++)
+ gUnknown_03005E08[i + 2] = RGB2(2 * (i + 2), 2 * (i + 2), 2 * (i + 2));
+}
+
+void sub_80FDBE4(void)
+{
+ u8 i;
+
+ gUnknown_03005E08[0] = RGB2(0, 0, 0);
+ for (i = 0; i < 32; i++)
+ gUnknown_03005E08[i + 1] = RGB2(i, i, i);
+}
+
+void sub_80FDC18(bool8 arg0)
+{
+ u8 i, j;
+ u16 maxIndex;
+
+ maxIndex = 0xDF;
+ if (!arg0)
+ maxIndex = 0xFF;
+
+ for (j = 0; j < maxIndex; j++)
+ gUnknown_03005E08[j] = 0;
+
+ gUnknown_03005E08[maxIndex] = RGB2(15, 15, 15);
+ for (i = 0; i < gUnknown_03005DF0; i++)
+ {
+ u16* var2 = &(*gUnknown_03005DEC)[0][(gUnknown_03005DFC + i) * gUnknown_03005E04];
+ u16* pal = &var2[gUnknown_03005DE8];
+ for (j = 0; j < gUnknown_03005DF8; j++, pal++)
+ {
+ if (*pal & 0x8000)
+ {
+ *pal = gUnknown_03005E0C;
+ }
+ else
+ {
+ u16 color = sub_80FE038(pal);
+ u8 curIndex = 1;
+ if (curIndex < maxIndex)
+ {
+ if (gUnknown_03005E08[curIndex] == RGB_BLACK)
+ {
+ gUnknown_03005E08[curIndex] = color;
+ *pal = gUnknown_03005E0C + curIndex;
+ }
+ else
+ {
+ while (curIndex < maxIndex)
+ {
+ if (gUnknown_03005E08[curIndex] == RGB_BLACK)
+ {
+ gUnknown_03005E08[curIndex] = color;
+ *pal = gUnknown_03005E0C + curIndex;
+ break;
+ }
+
+ if (gUnknown_03005E08[curIndex] == color)
+ {
+ *pal = gUnknown_03005E0C + curIndex;
+ break;
+ }
+
+ curIndex++;
+ }
+ }
+ }
+
+ if (curIndex == maxIndex)
+ {
+ curIndex = maxIndex;
+ *pal = curIndex;
+ }
+ }
+ }
+ }
+}
+
+void sub_80FDD70(void)
+{
+ u8 i, j;
+
+ for (i = 0; i < gUnknown_03005DF0; i++)
+ {
+ u16* var2 = &(*gUnknown_03005DEC)[0][(gUnknown_03005DFC + i) * gUnknown_03005E04];
+ u16* pal = &var2[gUnknown_03005DE8];
+ for (j = 0; j < gUnknown_03005DF8; j++, pal++)
+ {
+ if (*pal & 0x8000)
+ {
+ *pal = gUnknown_03005E0C;
+ }
+ else
+ {
+ if (ConvertToBlackOrWhite(pal) == RGB_BLACK)
+ *pal = gUnknown_03005E0C + 1;
+ else
+ *pal = gUnknown_03005E0C + 2;
+ }
+ }
+ }
+}
+
+void sub_80FDE28(void)
+{
+ u8 i, j;
+
+ for (i = 0; i < gUnknown_03005DF0; i++)
+ {
+ u16* var2 = &(*gUnknown_03005DEC)[0][(gUnknown_03005DFC + i) * gUnknown_03005E04];
+ u16* pal = &var2[gUnknown_03005DE8];
+ for (j = 0; j < gUnknown_03005DF8; j++, pal++)
+ {
+ if (*pal & 0x8000)
+ *pal = gUnknown_03005E0C;
+ else
+ *pal = sub_80FE17C(pal) + gUnknown_03005E0C;
+ }
+ }
+}
+
+void sub_80FDED8(void)
+{
+ u8 i, j;
+
+ for (i = 0; i < gUnknown_03005DF0; i++)
+ {
+ u16* var2 = &(*gUnknown_03005DEC)[0][(gUnknown_03005DFC + i) * gUnknown_03005E04];
+ u16* pal = &var2[gUnknown_03005DE8];
+ for (j = 0; j < gUnknown_03005DF8; j++, pal++)
+ {
+ if (*pal & 0x8000)
+ *pal = gUnknown_03005E0C;
+ else
+ *pal = sub_80FE1B0(pal) + gUnknown_03005E0C;
+ }
+ }
+}
+
+void sub_80FDF88(void)
+{
+ u8 i, j;
+
+ for (i = 0; i < gUnknown_03005DF0; i++)
+ {
+ u16* var2 = &(*gUnknown_03005DEC)[0][(gUnknown_03005DFC + i) * gUnknown_03005E04];
+ u16* pal = &var2[gUnknown_03005DE8];
+ for (j = 0; j < gUnknown_03005DF8; j++, pal++)
+ {
+ if (*pal & 0x8000)
+ *pal = gUnknown_03005E0C;
+ else
+ *pal = sub_80FE0AC(pal) + gUnknown_03005E0C;
+ }
+ }
+}
+
+u16 sub_80FE038(u16 *color)
+{
+ u16 red = *color & 0x1F;
+ u16 green = (*color >> 5) & 0x1F;
+ u16 blue = (*color >> 10) & 0x1F;
+
+ if (red & 3)
+ red = (red & 0x1C) + 4;
+ if (green & 3)
+ green = (green & 0x1C) + 4;
+ if (blue & 3)
+ blue = (blue & 0x1C) + 4;
+
+ if (red < 6)
+ red = 6;
+ if (red > 30)
+ red = 30;
+
+ if (green < 6)
+ green = 6;
+ if (green > 30)
+ green = 30;
+
+ if (blue < 6)
+ blue = 6;
+ if (blue > 30)
+ blue = 30;
+
+ return RGB2(red, green, blue);
+}
+
+u16 sub_80FE0AC(u16* color)
+{
+ u16 red = *color & 0x1F;
+ u16 green = (*color >> 5) & 0x1F;
+ u16 blue = (*color >> 10) & 0x1F;
+
+ if (red < 12 && green < 11 && blue < 11)
+ return 1;
+
+ if (red > 19 && green > 19 && blue > 19)
+ return 2;
+
+ if (red > 19)
+ {
+ if (green > 19)
+ {
+ if (blue > 14)
+ return 2;
+ else
+ return 7;
+ }
+ else if (blue > 19)
+ {
+ if (green > 14)
+ return 2;
+ else
+ return 8;
+ }
+ }
+
+ if (green > 19 && blue > 19)
+ {
+ if (red > 14)
+ return 2;
+ else
+ return 9;
+ }
+
+ if (red > 19)
+ {
+ if (green > 11)
+ {
+ if (blue > 11)
+ {
+ if (green < blue)
+ return 8;
+ else
+ return 7;
+ }
+ else
+ {
+ return 10;
+ }
+ }
+ else if (blue > 11)
+ {
+ return 13;
+ }
+ else
+ {
+ return 4;
+ }
+ }
+
+ if (green > 19)
+ {
+ if (red > 11)
+ {
+ if (blue > 11)
+ {
+ if (red < blue)
+ return 9;
+ else
+ return 7;
+ }
+ else
+ {
+ return 11;
+ }
+ }
+ else
+ {
+ if (blue > 11)
+ return 14;
+ else
+ return 5;
+ }
+ }
+
+ if (blue > 19)
+ {
+ if (red > 11)
+ {
+ if (green > 11)
+ {
+ if (red < green)
+ return 9;
+ else
+ return 8;
+ }
+ }
+ else if (green > 11)
+ {
+ return 12;
+ }
+
+ if (blue > 11)
+ return 15;
+ else
+ return 6;
+ }
+
+ return 3;
+}
+
+u16 sub_80FE17C(u16 *color)
+{
+ u16 red = *color & 0x1F;
+ u16 green = (*color >> 5) & 0x1F;
+ u16 blue = (*color >> 10) & 0x1F;
+ u16 average = ((red + green + blue) / 3) & 0x1E;
+ if (average == 0)
+ return 1;
+ else
+ return average / 2;
+}
+
+u16 sub_80FE1B0(u16 *color)
+{
+ u16 red = *color & 0x1F;
+ u16 green = (*color >> 5) & 0x1F;
+ u16 blue = (*color >> 10) & 0x1F;
+ u16 average = (red + green + blue) / 3;
+ return average + 1;
+}
diff --git a/src/data/battle_tower/level_100_mons.h b/src/data/battle_tower/level_100_mons.h
index 4f2b711ee..ed7359979 100644
--- a/src/data/battle_tower/level_100_mons.h
+++ b/src/data/battle_tower/level_100_mons.h
@@ -3900,4 +3900,4 @@ const struct BattleTowerPokemon gBattleTowerLevel100Mons[] =
.evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
.nature = NATURE_HARDY,
},
-}; \ No newline at end of file
+};
diff --git a/src/data/graphics.c b/src/data/graphics.c
index 60ba81dab..7aa3a4384 100644
--- a/src/data/graphics.c
+++ b/src/data/graphics.c
@@ -1058,9 +1058,9 @@ const u16 gPokenavMenuOptions2_Pal[] = INCBIN_U16("graphics/pokenav/pokenav2.gba
const u16 gPokenavMenuOptions3_Pal[] = INCBIN_U16("graphics/pokenav/pokenav3.gbapal");
const u8 gPokenavHoennMapHeader_Gfx[] = INCBIN_U8("graphics/pokenav/map_header.4bpp.lz");
const u8 gPokenavHoennMapMisc_Gfx[] = INCBIN_U8("graphics/pokenav/map_misc2.4bpp.lz");
-const u8 gPokenavHoennMapSquares_Gfx[] = INCBIN_U8("graphics/pokenav/map_squares.4bpp.lz");
+const u8 gPokenavHoennMapSquares_Gfx[] = INCBIN_U8("graphics/pokenav/zoom_tiles.4bpp.lz");
const u16 gPokenavHoennMap1_Pal[] = INCBIN_U16("graphics/pokenav/map_menu.gbapal");
-const u8 gPokenavHoennMapSquares_Pal[] = INCBIN_U8("graphics/pokenav/map_squares.gbapal");
+const u8 gPokenavHoennMapSquares_Pal[] = INCBIN_U8("graphics/pokenav/zoom_tiles.gbapal");
const u8 gPokenavConditionMenu_Gfx[] = INCBIN_U8("graphics/pokenav/condition_menu.4bpp.lz");
const u16 gPokenavConditionMenu_Pal[] = INCBIN_U16("graphics/pokenav/condition1.gbapal");
const u8 gPokenavConditionMenuHeader_Gfx[] = INCBIN_U8("graphics/pokenav/condition_menu_header.4bpp.lz");
diff --git a/src/data/pokemon/base_stats.h b/src/data/pokemon/base_stats.h
index bc6572b46..fcf2f7b00 100644
--- a/src/data/pokemon/base_stats.h
+++ b/src/data/pokemon/base_stats.h
@@ -1,9 +1,41 @@
#ifndef GUARD_BASE_STATS_H
#define GUARD_BASE_STATS_H
-// Maximum value for a female pokemon is 254 (MON_FEMALE) which is 100% female.
-// 255 (MON_GENDERLESS) is reserved for genderless pokemon.
+// Maximum value for a female Pokémon is 254 (MON_FEMALE) which is 100% female.
+// 255 (MON_GENDERLESS) is reserved for genderless Pokémon.
#define PERCENT_FEMALE(percent) min(254, ((percent * 255) / 100))
+#define OLD_UNOWN_BASE_STATS \
+ { \
+ .baseHP = 50, \
+ .baseAttack = 150, \
+ .baseDefense = 50, \
+ .baseSpAttack = 150, \
+ .baseSpDefense = 50, \
+ .baseSpeed = 150, \
+ .type1 = TYPE_NORMAL, \
+ .type2 = TYPE_NORMAL, \
+ .catchRate = 3, \
+ .expYield = 1, \
+ .evYield_HP = 2, \
+ .evYield_Attack = 2, \
+ .evYield_Defense = 2, \
+ .evYield_Speed = 2, \
+ .evYield_SpAttack = 2, \
+ .evYield_SpDefense = 2, \
+ .item1 = ITEM_NONE, \
+ .item2 = ITEM_NONE, \
+ .genderRatio = MON_GENDERLESS, \
+ .eggCycles = 120, \
+ .friendship = 0, \
+ .growthRate = GROWTH_MEDIUM_FAST, \
+ .eggGroup1 = EGG_GROUP_UNDISCOVERED,\
+ .eggGroup2 = EGG_GROUP_UNDISCOVERED,\
+ .ability1 = ABILITY_NONE, \
+ .ability2 = ABILITY_NONE, \
+ .safariZoneFleeRate = 0, \
+ .bodyColor = BODY_COLOR_BLACK, \
+ .noFlip = FALSE, \
+ }
const struct BaseStats gBaseStats[] =
{
@@ -8292,830 +8324,55 @@ const struct BaseStats gBaseStats[] =
.noFlip = FALSE,
},
- [SPECIES_OLD_UNOWN_B] =
- {
- .baseHP = 50,
- .baseAttack = 150,
- .baseDefense = 50,
- .baseSpeed = 150,
- .baseSpAttack = 150,
- .baseSpDefense = 50,
- .type1 = TYPE_NORMAL,
- .type2 = TYPE_NORMAL,
- .catchRate = 3,
- .expYield = 1,
- .evYield_HP = 2,
- .evYield_Attack = 2,
- .evYield_Defense = 2,
- .evYield_Speed = 2,
- .evYield_SpAttack = 2,
- .evYield_SpDefense = 2,
- .item1 = ITEM_NONE,
- .item2 = ITEM_NONE,
- .genderRatio = MON_GENDERLESS,
- .eggCycles = 120,
- .friendship = 0,
- .growthRate = GROWTH_MEDIUM_FAST,
- .eggGroup1 = EGG_GROUP_UNDISCOVERED,
- .eggGroup2 = EGG_GROUP_UNDISCOVERED,
- .ability1 = ABILITY_NONE,
- .ability2 = ABILITY_NONE,
- .safariZoneFleeRate = 0,
- .bodyColor = BODY_COLOR_BLACK,
- .noFlip = FALSE,
- },
+ [SPECIES_OLD_UNOWN_B] = OLD_UNOWN_BASE_STATS,
- [SPECIES_OLD_UNOWN_C] =
- {
- .baseHP = 50,
- .baseAttack = 150,
- .baseDefense = 50,
- .baseSpeed = 150,
- .baseSpAttack = 150,
- .baseSpDefense = 50,
- .type1 = TYPE_NORMAL,
- .type2 = TYPE_NORMAL,
- .catchRate = 3,
- .expYield = 1,
- .evYield_HP = 2,
- .evYield_Attack = 2,
- .evYield_Defense = 2,
- .evYield_Speed = 2,
- .evYield_SpAttack = 2,
- .evYield_SpDefense = 2,
- .item1 = ITEM_NONE,
- .item2 = ITEM_NONE,
- .genderRatio = MON_GENDERLESS,
- .eggCycles = 120,
- .friendship = 0,
- .growthRate = GROWTH_MEDIUM_FAST,
- .eggGroup1 = EGG_GROUP_UNDISCOVERED,
- .eggGroup2 = EGG_GROUP_UNDISCOVERED,
- .ability1 = ABILITY_NONE,
- .ability2 = ABILITY_NONE,
- .safariZoneFleeRate = 0,
- .bodyColor = BODY_COLOR_BLACK,
- .noFlip = FALSE,
- },
+ [SPECIES_OLD_UNOWN_C] = OLD_UNOWN_BASE_STATS,
- [SPECIES_OLD_UNOWN_D] =
- {
- .baseHP = 50,
- .baseAttack = 150,
- .baseDefense = 50,
- .baseSpeed = 150,
- .baseSpAttack = 150,
- .baseSpDefense = 50,
- .type1 = TYPE_NORMAL,
- .type2 = TYPE_NORMAL,
- .catchRate = 3,
- .expYield = 1,
- .evYield_HP = 2,
- .evYield_Attack = 2,
- .evYield_Defense = 2,
- .evYield_Speed = 2,
- .evYield_SpAttack = 2,
- .evYield_SpDefense = 2,
- .item1 = ITEM_NONE,
- .item2 = ITEM_NONE,
- .genderRatio = MON_GENDERLESS,
- .eggCycles = 120,
- .friendship = 0,
- .growthRate = GROWTH_MEDIUM_FAST,
- .eggGroup1 = EGG_GROUP_UNDISCOVERED,
- .eggGroup2 = EGG_GROUP_UNDISCOVERED,
- .ability1 = ABILITY_NONE,
- .ability2 = ABILITY_NONE,
- .safariZoneFleeRate = 0,
- .bodyColor = BODY_COLOR_BLACK,
- .noFlip = FALSE,
- },
+ [SPECIES_OLD_UNOWN_D] = OLD_UNOWN_BASE_STATS,
- [SPECIES_OLD_UNOWN_E] =
- {
- .baseHP = 50,
- .baseAttack = 150,
- .baseDefense = 50,
- .baseSpeed = 150,
- .baseSpAttack = 150,
- .baseSpDefense = 50,
- .type1 = TYPE_NORMAL,
- .type2 = TYPE_NORMAL,
- .catchRate = 3,
- .expYield = 1,
- .evYield_HP = 2,
- .evYield_Attack = 2,
- .evYield_Defense = 2,
- .evYield_Speed = 2,
- .evYield_SpAttack = 2,
- .evYield_SpDefense = 2,
- .item1 = ITEM_NONE,
- .item2 = ITEM_NONE,
- .genderRatio = MON_GENDERLESS,
- .eggCycles = 120,
- .friendship = 0,
- .growthRate = GROWTH_MEDIUM_FAST,
- .eggGroup1 = EGG_GROUP_UNDISCOVERED,
- .eggGroup2 = EGG_GROUP_UNDISCOVERED,
- .ability1 = ABILITY_NONE,
- .ability2 = ABILITY_NONE,
- .safariZoneFleeRate = 0,
- .bodyColor = BODY_COLOR_BLACK,
- .noFlip = FALSE,
- },
+ [SPECIES_OLD_UNOWN_E] = OLD_UNOWN_BASE_STATS,
- [SPECIES_OLD_UNOWN_F] =
- {
- .baseHP = 50,
- .baseAttack = 150,
- .baseDefense = 50,
- .baseSpeed = 150,
- .baseSpAttack = 150,
- .baseSpDefense = 50,
- .type1 = TYPE_NORMAL,
- .type2 = TYPE_NORMAL,
- .catchRate = 3,
- .expYield = 1,
- .evYield_HP = 2,
- .evYield_Attack = 2,
- .evYield_Defense = 2,
- .evYield_Speed = 2,
- .evYield_SpAttack = 2,
- .evYield_SpDefense = 2,
- .item1 = ITEM_NONE,
- .item2 = ITEM_NONE,
- .genderRatio = MON_GENDERLESS,
- .eggCycles = 120,
- .friendship = 0,
- .growthRate = GROWTH_MEDIUM_FAST,
- .eggGroup1 = EGG_GROUP_UNDISCOVERED,
- .eggGroup2 = EGG_GROUP_UNDISCOVERED,
- .ability1 = ABILITY_NONE,
- .ability2 = ABILITY_NONE,
- .safariZoneFleeRate = 0,
- .bodyColor = BODY_COLOR_BLACK,
- .noFlip = FALSE,
- },
+ [SPECIES_OLD_UNOWN_F] = OLD_UNOWN_BASE_STATS,
- [SPECIES_OLD_UNOWN_G] =
- {
- .baseHP = 50,
- .baseAttack = 150,
- .baseDefense = 50,
- .baseSpeed = 150,
- .baseSpAttack = 150,
- .baseSpDefense = 50,
- .type1 = TYPE_NORMAL,
- .type2 = TYPE_NORMAL,
- .catchRate = 3,
- .expYield = 1,
- .evYield_HP = 2,
- .evYield_Attack = 2,
- .evYield_Defense = 2,
- .evYield_Speed = 2,
- .evYield_SpAttack = 2,
- .evYield_SpDefense = 2,
- .item1 = ITEM_NONE,
- .item2 = ITEM_NONE,
- .genderRatio = MON_GENDERLESS,
- .eggCycles = 120,
- .friendship = 0,
- .growthRate = GROWTH_MEDIUM_FAST,
- .eggGroup1 = EGG_GROUP_UNDISCOVERED,
- .eggGroup2 = EGG_GROUP_UNDISCOVERED,
- .ability1 = ABILITY_NONE,
- .ability2 = ABILITY_NONE,
- .safariZoneFleeRate = 0,
- .bodyColor = BODY_COLOR_BLACK,
- .noFlip = FALSE,
- },
+ [SPECIES_OLD_UNOWN_G] = OLD_UNOWN_BASE_STATS,
- [SPECIES_OLD_UNOWN_H] =
- {
- .baseHP = 50,
- .baseAttack = 150,
- .baseDefense = 50,
- .baseSpeed = 150,
- .baseSpAttack = 150,
- .baseSpDefense = 50,
- .type1 = TYPE_NORMAL,
- .type2 = TYPE_NORMAL,
- .catchRate = 3,
- .expYield = 1,
- .evYield_HP = 2,
- .evYield_Attack = 2,
- .evYield_Defense = 2,
- .evYield_Speed = 2,
- .evYield_SpAttack = 2,
- .evYield_SpDefense = 2,
- .item1 = ITEM_NONE,
- .item2 = ITEM_NONE,
- .genderRatio = MON_GENDERLESS,
- .eggCycles = 120,
- .friendship = 0,
- .growthRate = GROWTH_MEDIUM_FAST,
- .eggGroup1 = EGG_GROUP_UNDISCOVERED,
- .eggGroup2 = EGG_GROUP_UNDISCOVERED,
- .ability1 = ABILITY_NONE,
- .ability2 = ABILITY_NONE,
- .safariZoneFleeRate = 0,
- .bodyColor = BODY_COLOR_BLACK,
- .noFlip = FALSE,
- },
+ [SPECIES_OLD_UNOWN_H] = OLD_UNOWN_BASE_STATS,
- [SPECIES_OLD_UNOWN_I] =
- {
- .baseHP = 50,
- .baseAttack = 150,
- .baseDefense = 50,
- .baseSpeed = 150,
- .baseSpAttack = 150,
- .baseSpDefense = 50,
- .type1 = TYPE_NORMAL,
- .type2 = TYPE_NORMAL,
- .catchRate = 3,
- .expYield = 1,
- .evYield_HP = 2,
- .evYield_Attack = 2,
- .evYield_Defense = 2,
- .evYield_Speed = 2,
- .evYield_SpAttack = 2,
- .evYield_SpDefense = 2,
- .item1 = ITEM_NONE,
- .item2 = ITEM_NONE,
- .genderRatio = MON_GENDERLESS,
- .eggCycles = 120,
- .friendship = 0,
- .growthRate = GROWTH_MEDIUM_FAST,
- .eggGroup1 = EGG_GROUP_UNDISCOVERED,
- .eggGroup2 = EGG_GROUP_UNDISCOVERED,
- .ability1 = ABILITY_NONE,
- .ability2 = ABILITY_NONE,
- .safariZoneFleeRate = 0,
- .bodyColor = BODY_COLOR_BLACK,
- .noFlip = FALSE,
- },
+ [SPECIES_OLD_UNOWN_I] = OLD_UNOWN_BASE_STATS,
- [SPECIES_OLD_UNOWN_J] =
- {
- .baseHP = 50,
- .baseAttack = 150,
- .baseDefense = 50,
- .baseSpeed = 150,
- .baseSpAttack = 150,
- .baseSpDefense = 50,
- .type1 = TYPE_NORMAL,
- .type2 = TYPE_NORMAL,
- .catchRate = 3,
- .expYield = 1,
- .evYield_HP = 2,
- .evYield_Attack = 2,
- .evYield_Defense = 2,
- .evYield_Speed = 2,
- .evYield_SpAttack = 2,
- .evYield_SpDefense = 2,
- .item1 = ITEM_NONE,
- .item2 = ITEM_NONE,
- .genderRatio = MON_GENDERLESS,
- .eggCycles = 120,
- .friendship = 0,
- .growthRate = GROWTH_MEDIUM_FAST,
- .eggGroup1 = EGG_GROUP_UNDISCOVERED,
- .eggGroup2 = EGG_GROUP_UNDISCOVERED,
- .ability1 = ABILITY_NONE,
- .ability2 = ABILITY_NONE,
- .safariZoneFleeRate = 0,
- .bodyColor = BODY_COLOR_BLACK,
- .noFlip = FALSE,
- },
+ [SPECIES_OLD_UNOWN_J] = OLD_UNOWN_BASE_STATS,
- [SPECIES_OLD_UNOWN_K] =
- {
- .baseHP = 50,
- .baseAttack = 150,
- .baseDefense = 50,
- .baseSpeed = 150,
- .baseSpAttack = 150,
- .baseSpDefense = 50,
- .type1 = TYPE_NORMAL,
- .type2 = TYPE_NORMAL,
- .catchRate = 3,
- .expYield = 1,
- .evYield_HP = 2,
- .evYield_Attack = 2,
- .evYield_Defense = 2,
- .evYield_Speed = 2,
- .evYield_SpAttack = 2,
- .evYield_SpDefense = 2,
- .item1 = ITEM_NONE,
- .item2 = ITEM_NONE,
- .genderRatio = MON_GENDERLESS,
- .eggCycles = 120,
- .friendship = 0,
- .growthRate = GROWTH_MEDIUM_FAST,
- .eggGroup1 = EGG_GROUP_UNDISCOVERED,
- .eggGroup2 = EGG_GROUP_UNDISCOVERED,
- .ability1 = ABILITY_NONE,
- .ability2 = ABILITY_NONE,
- .safariZoneFleeRate = 0,
- .bodyColor = BODY_COLOR_BLACK,
- .noFlip = FALSE,
- },
+ [SPECIES_OLD_UNOWN_K] = OLD_UNOWN_BASE_STATS,
- [SPECIES_OLD_UNOWN_L] =
- {
- .baseHP = 50,
- .baseAttack = 150,
- .baseDefense = 50,
- .baseSpeed = 150,
- .baseSpAttack = 150,
- .baseSpDefense = 50,
- .type1 = TYPE_NORMAL,
- .type2 = TYPE_NORMAL,
- .catchRate = 3,
- .expYield = 1,
- .evYield_HP = 2,
- .evYield_Attack = 2,
- .evYield_Defense = 2,
- .evYield_Speed = 2,
- .evYield_SpAttack = 2,
- .evYield_SpDefense = 2,
- .item1 = ITEM_NONE,
- .item2 = ITEM_NONE,
- .genderRatio = MON_GENDERLESS,
- .eggCycles = 120,
- .friendship = 0,
- .growthRate = GROWTH_MEDIUM_FAST,
- .eggGroup1 = EGG_GROUP_UNDISCOVERED,
- .eggGroup2 = EGG_GROUP_UNDISCOVERED,
- .ability1 = ABILITY_NONE,
- .ability2 = ABILITY_NONE,
- .safariZoneFleeRate = 0,
- .bodyColor = BODY_COLOR_BLACK,
- .noFlip = FALSE,
- },
+ [SPECIES_OLD_UNOWN_L] = OLD_UNOWN_BASE_STATS,
- [SPECIES_OLD_UNOWN_M] =
- {
- .baseHP = 50,
- .baseAttack = 150,
- .baseDefense = 50,
- .baseSpeed = 150,
- .baseSpAttack = 150,
- .baseSpDefense = 50,
- .type1 = TYPE_NORMAL,
- .type2 = TYPE_NORMAL,
- .catchRate = 3,
- .expYield = 1,
- .evYield_HP = 2,
- .evYield_Attack = 2,
- .evYield_Defense = 2,
- .evYield_Speed = 2,
- .evYield_SpAttack = 2,
- .evYield_SpDefense = 2,
- .item1 = ITEM_NONE,
- .item2 = ITEM_NONE,
- .genderRatio = MON_GENDERLESS,
- .eggCycles = 120,
- .friendship = 0,
- .growthRate = GROWTH_MEDIUM_FAST,
- .eggGroup1 = EGG_GROUP_UNDISCOVERED,
- .eggGroup2 = EGG_GROUP_UNDISCOVERED,
- .ability1 = ABILITY_NONE,
- .ability2 = ABILITY_NONE,
- .safariZoneFleeRate = 0,
- .bodyColor = BODY_COLOR_BLACK,
- .noFlip = FALSE,
- },
+ [SPECIES_OLD_UNOWN_M] = OLD_UNOWN_BASE_STATS,
- [SPECIES_OLD_UNOWN_N] =
- {
- .baseHP = 50,
- .baseAttack = 150,
- .baseDefense = 50,
- .baseSpeed = 150,
- .baseSpAttack = 150,
- .baseSpDefense = 50,
- .type1 = TYPE_NORMAL,
- .type2 = TYPE_NORMAL,
- .catchRate = 3,
- .expYield = 1,
- .evYield_HP = 2,
- .evYield_Attack = 2,
- .evYield_Defense = 2,
- .evYield_Speed = 2,
- .evYield_SpAttack = 2,
- .evYield_SpDefense = 2,
- .item1 = ITEM_NONE,
- .item2 = ITEM_NONE,
- .genderRatio = MON_GENDERLESS,
- .eggCycles = 120,
- .friendship = 0,
- .growthRate = GROWTH_MEDIUM_FAST,
- .eggGroup1 = EGG_GROUP_UNDISCOVERED,
- .eggGroup2 = EGG_GROUP_UNDISCOVERED,
- .ability1 = ABILITY_NONE,
- .ability2 = ABILITY_NONE,
- .safariZoneFleeRate = 0,
- .bodyColor = BODY_COLOR_BLACK,
- .noFlip = FALSE,
- },
+ [SPECIES_OLD_UNOWN_N] = OLD_UNOWN_BASE_STATS,
- [SPECIES_OLD_UNOWN_O] =
- {
- .baseHP = 50,
- .baseAttack = 150,
- .baseDefense = 50,
- .baseSpeed = 150,
- .baseSpAttack = 150,
- .baseSpDefense = 50,
- .type1 = TYPE_NORMAL,
- .type2 = TYPE_NORMAL,
- .catchRate = 3,
- .expYield = 1,
- .evYield_HP = 2,
- .evYield_Attack = 2,
- .evYield_Defense = 2,
- .evYield_Speed = 2,
- .evYield_SpAttack = 2,
- .evYield_SpDefense = 2,
- .item1 = ITEM_NONE,
- .item2 = ITEM_NONE,
- .genderRatio = MON_GENDERLESS,
- .eggCycles = 120,
- .friendship = 0,
- .growthRate = GROWTH_MEDIUM_FAST,
- .eggGroup1 = EGG_GROUP_UNDISCOVERED,
- .eggGroup2 = EGG_GROUP_UNDISCOVERED,
- .ability1 = ABILITY_NONE,
- .ability2 = ABILITY_NONE,
- .safariZoneFleeRate = 0,
- .bodyColor = BODY_COLOR_BLACK,
- .noFlip = FALSE,
- },
+ [SPECIES_OLD_UNOWN_O] = OLD_UNOWN_BASE_STATS,
- [SPECIES_OLD_UNOWN_P] =
- {
- .baseHP = 50,
- .baseAttack = 150,
- .baseDefense = 50,
- .baseSpeed = 150,
- .baseSpAttack = 150,
- .baseSpDefense = 50,
- .type1 = TYPE_NORMAL,
- .type2 = TYPE_NORMAL,
- .catchRate = 3,
- .expYield = 1,
- .evYield_HP = 2,
- .evYield_Attack = 2,
- .evYield_Defense = 2,
- .evYield_Speed = 2,
- .evYield_SpAttack = 2,
- .evYield_SpDefense = 2,
- .item1 = ITEM_NONE,
- .item2 = ITEM_NONE,
- .genderRatio = MON_GENDERLESS,
- .eggCycles = 120,
- .friendship = 0,
- .growthRate = GROWTH_MEDIUM_FAST,
- .eggGroup1 = EGG_GROUP_UNDISCOVERED,
- .eggGroup2 = EGG_GROUP_UNDISCOVERED,
- .ability1 = ABILITY_NONE,
- .ability2 = ABILITY_NONE,
- .safariZoneFleeRate = 0,
- .bodyColor = BODY_COLOR_BLACK,
- .noFlip = FALSE,
- },
+ [SPECIES_OLD_UNOWN_P] = OLD_UNOWN_BASE_STATS,
- [SPECIES_OLD_UNOWN_Q] =
- {
- .baseHP = 50,
- .baseAttack = 150,
- .baseDefense = 50,
- .baseSpeed = 150,
- .baseSpAttack = 150,
- .baseSpDefense = 50,
- .type1 = TYPE_NORMAL,
- .type2 = TYPE_NORMAL,
- .catchRate = 3,
- .expYield = 1,
- .evYield_HP = 2,
- .evYield_Attack = 2,
- .evYield_Defense = 2,
- .evYield_Speed = 2,
- .evYield_SpAttack = 2,
- .evYield_SpDefense = 2,
- .item1 = ITEM_NONE,
- .item2 = ITEM_NONE,
- .genderRatio = MON_GENDERLESS,
- .eggCycles = 120,
- .friendship = 0,
- .growthRate = GROWTH_MEDIUM_FAST,
- .eggGroup1 = EGG_GROUP_UNDISCOVERED,
- .eggGroup2 = EGG_GROUP_UNDISCOVERED,
- .ability1 = ABILITY_NONE,
- .ability2 = ABILITY_NONE,
- .safariZoneFleeRate = 0,
- .bodyColor = BODY_COLOR_BLACK,
- .noFlip = FALSE,
- },
+ [SPECIES_OLD_UNOWN_Q] = OLD_UNOWN_BASE_STATS,
- [SPECIES_OLD_UNOWN_R] =
- {
- .baseHP = 50,
- .baseAttack = 150,
- .baseDefense = 50,
- .baseSpeed = 150,
- .baseSpAttack = 150,
- .baseSpDefense = 50,
- .type1 = TYPE_NORMAL,
- .type2 = TYPE_NORMAL,
- .catchRate = 3,
- .expYield = 1,
- .evYield_HP = 2,
- .evYield_Attack = 2,
- .evYield_Defense = 2,
- .evYield_Speed = 2,
- .evYield_SpAttack = 2,
- .evYield_SpDefense = 2,
- .item1 = ITEM_NONE,
- .item2 = ITEM_NONE,
- .genderRatio = MON_GENDERLESS,
- .eggCycles = 120,
- .friendship = 0,
- .growthRate = GROWTH_MEDIUM_FAST,
- .eggGroup1 = EGG_GROUP_UNDISCOVERED,
- .eggGroup2 = EGG_GROUP_UNDISCOVERED,
- .ability1 = ABILITY_NONE,
- .ability2 = ABILITY_NONE,
- .safariZoneFleeRate = 0,
- .bodyColor = BODY_COLOR_BLACK,
- .noFlip = FALSE,
- },
+ [SPECIES_OLD_UNOWN_R] = OLD_UNOWN_BASE_STATS,
- [SPECIES_OLD_UNOWN_S] =
- {
- .baseHP = 50,
- .baseAttack = 150,
- .baseDefense = 50,
- .baseSpeed = 150,
- .baseSpAttack = 150,
- .baseSpDefense = 50,
- .type1 = TYPE_NORMAL,
- .type2 = TYPE_NORMAL,
- .catchRate = 3,
- .expYield = 1,
- .evYield_HP = 2,
- .evYield_Attack = 2,
- .evYield_Defense = 2,
- .evYield_Speed = 2,
- .evYield_SpAttack = 2,
- .evYield_SpDefense = 2,
- .item1 = ITEM_NONE,
- .item2 = ITEM_NONE,
- .genderRatio = MON_GENDERLESS,
- .eggCycles = 120,
- .friendship = 0,
- .growthRate = GROWTH_MEDIUM_FAST,
- .eggGroup1 = EGG_GROUP_UNDISCOVERED,
- .eggGroup2 = EGG_GROUP_UNDISCOVERED,
- .ability1 = ABILITY_NONE,
- .ability2 = ABILITY_NONE,
- .safariZoneFleeRate = 0,
- .bodyColor = BODY_COLOR_BLACK,
- .noFlip = FALSE,
- },
+ [SPECIES_OLD_UNOWN_S] = OLD_UNOWN_BASE_STATS,
- [SPECIES_OLD_UNOWN_T] =
- {
- .baseHP = 50,
- .baseAttack = 150,
- .baseDefense = 50,
- .baseSpeed = 150,
- .baseSpAttack = 150,
- .baseSpDefense = 50,
- .type1 = TYPE_NORMAL,
- .type2 = TYPE_NORMAL,
- .catchRate = 3,
- .expYield = 1,
- .evYield_HP = 2,
- .evYield_Attack = 2,
- .evYield_Defense = 2,
- .evYield_Speed = 2,
- .evYield_SpAttack = 2,
- .evYield_SpDefense = 2,
- .item1 = ITEM_NONE,
- .item2 = ITEM_NONE,
- .genderRatio = MON_GENDERLESS,
- .eggCycles = 120,
- .friendship = 0,
- .growthRate = GROWTH_MEDIUM_FAST,
- .eggGroup1 = EGG_GROUP_UNDISCOVERED,
- .eggGroup2 = EGG_GROUP_UNDISCOVERED,
- .ability1 = ABILITY_NONE,
- .ability2 = ABILITY_NONE,
- .safariZoneFleeRate = 0,
- .bodyColor = BODY_COLOR_BLACK,
- .noFlip = FALSE,
- },
+ [SPECIES_OLD_UNOWN_T] = OLD_UNOWN_BASE_STATS,
- [SPECIES_OLD_UNOWN_U] =
- {
- .baseHP = 50,
- .baseAttack = 150,
- .baseDefense = 50,
- .baseSpeed = 150,
- .baseSpAttack = 150,
- .baseSpDefense = 50,
- .type1 = TYPE_NORMAL,
- .type2 = TYPE_NORMAL,
- .catchRate = 3,
- .expYield = 1,
- .evYield_HP = 2,
- .evYield_Attack = 2,
- .evYield_Defense = 2,
- .evYield_Speed = 2,
- .evYield_SpAttack = 2,
- .evYield_SpDefense = 2,
- .item1 = ITEM_NONE,
- .item2 = ITEM_NONE,
- .genderRatio = MON_GENDERLESS,
- .eggCycles = 120,
- .friendship = 0,
- .growthRate = GROWTH_MEDIUM_FAST,
- .eggGroup1 = EGG_GROUP_UNDISCOVERED,
- .eggGroup2 = EGG_GROUP_UNDISCOVERED,
- .ability1 = ABILITY_NONE,
- .ability2 = ABILITY_NONE,
- .safariZoneFleeRate = 0,
- .bodyColor = BODY_COLOR_BLACK,
- .noFlip = FALSE,
- },
+ [SPECIES_OLD_UNOWN_U] = OLD_UNOWN_BASE_STATS,
- [SPECIES_OLD_UNOWN_V] =
- {
- .baseHP = 50,
- .baseAttack = 150,
- .baseDefense = 50,
- .baseSpeed = 150,
- .baseSpAttack = 150,
- .baseSpDefense = 50,
- .type1 = TYPE_NORMAL,
- .type2 = TYPE_NORMAL,
- .catchRate = 3,
- .expYield = 1,
- .evYield_HP = 2,
- .evYield_Attack = 2,
- .evYield_Defense = 2,
- .evYield_Speed = 2,
- .evYield_SpAttack = 2,
- .evYield_SpDefense = 2,
- .item1 = ITEM_NONE,
- .item2 = ITEM_NONE,
- .genderRatio = MON_GENDERLESS,
- .eggCycles = 120,
- .friendship = 0,
- .growthRate = GROWTH_MEDIUM_FAST,
- .eggGroup1 = EGG_GROUP_UNDISCOVERED,
- .eggGroup2 = EGG_GROUP_UNDISCOVERED,
- .ability1 = ABILITY_NONE,
- .ability2 = ABILITY_NONE,
- .safariZoneFleeRate = 0,
- .bodyColor = BODY_COLOR_BLACK,
- .noFlip = FALSE,
- },
+ [SPECIES_OLD_UNOWN_V] = OLD_UNOWN_BASE_STATS,
- [SPECIES_OLD_UNOWN_W] =
- {
- .baseHP = 50,
- .baseAttack = 150,
- .baseDefense = 50,
- .baseSpeed = 150,
- .baseSpAttack = 150,
- .baseSpDefense = 50,
- .type1 = TYPE_NORMAL,
- .type2 = TYPE_NORMAL,
- .catchRate = 3,
- .expYield = 1,
- .evYield_HP = 2,
- .evYield_Attack = 2,
- .evYield_Defense = 2,
- .evYield_Speed = 2,
- .evYield_SpAttack = 2,
- .evYield_SpDefense = 2,
- .item1 = ITEM_NONE,
- .item2 = ITEM_NONE,
- .genderRatio = MON_GENDERLESS,
- .eggCycles = 120,
- .friendship = 0,
- .growthRate = GROWTH_MEDIUM_FAST,
- .eggGroup1 = EGG_GROUP_UNDISCOVERED,
- .eggGroup2 = EGG_GROUP_UNDISCOVERED,
- .ability1 = ABILITY_NONE,
- .ability2 = ABILITY_NONE,
- .safariZoneFleeRate = 0,
- .bodyColor = BODY_COLOR_BLACK,
- .noFlip = FALSE,
- },
+ [SPECIES_OLD_UNOWN_W] = OLD_UNOWN_BASE_STATS,
- [SPECIES_OLD_UNOWN_X] =
- {
- .baseHP = 50,
- .baseAttack = 150,
- .baseDefense = 50,
- .baseSpeed = 150,
- .baseSpAttack = 150,
- .baseSpDefense = 50,
- .type1 = TYPE_NORMAL,
- .type2 = TYPE_NORMAL,
- .catchRate = 3,
- .expYield = 1,
- .evYield_HP = 2,
- .evYield_Attack = 2,
- .evYield_Defense = 2,
- .evYield_Speed = 2,
- .evYield_SpAttack = 2,
- .evYield_SpDefense = 2,
- .item1 = ITEM_NONE,
- .item2 = ITEM_NONE,
- .genderRatio = MON_GENDERLESS,
- .eggCycles = 120,
- .friendship = 0,
- .growthRate = GROWTH_MEDIUM_FAST,
- .eggGroup1 = EGG_GROUP_UNDISCOVERED,
- .eggGroup2 = EGG_GROUP_UNDISCOVERED,
- .ability1 = ABILITY_NONE,
- .ability2 = ABILITY_NONE,
- .safariZoneFleeRate = 0,
- .bodyColor = BODY_COLOR_BLACK,
- .noFlip = FALSE,
- },
+ [SPECIES_OLD_UNOWN_X] = OLD_UNOWN_BASE_STATS,
- [SPECIES_OLD_UNOWN_Y] =
- {
- .baseHP = 50,
- .baseAttack = 150,
- .baseDefense = 50,
- .baseSpeed = 150,
- .baseSpAttack = 150,
- .baseSpDefense = 50,
- .type1 = TYPE_NORMAL,
- .type2 = TYPE_NORMAL,
- .catchRate = 3,
- .expYield = 1,
- .evYield_HP = 2,
- .evYield_Attack = 2,
- .evYield_Defense = 2,
- .evYield_Speed = 2,
- .evYield_SpAttack = 2,
- .evYield_SpDefense = 2,
- .item1 = ITEM_NONE,
- .item2 = ITEM_NONE,
- .genderRatio = MON_GENDERLESS,
- .eggCycles = 120,
- .friendship = 0,
- .growthRate = GROWTH_MEDIUM_FAST,
- .eggGroup1 = EGG_GROUP_UNDISCOVERED,
- .eggGroup2 = EGG_GROUP_UNDISCOVERED,
- .ability1 = ABILITY_NONE,
- .ability2 = ABILITY_NONE,
- .safariZoneFleeRate = 0,
- .bodyColor = BODY_COLOR_BLACK,
- .noFlip = FALSE,
- },
+ [SPECIES_OLD_UNOWN_Y] = OLD_UNOWN_BASE_STATS,
- [SPECIES_OLD_UNOWN_Z] =
- {
- .baseHP = 50,
- .baseAttack = 150,
- .baseDefense = 50,
- .baseSpeed = 150,
- .baseSpAttack = 150,
- .baseSpDefense = 50,
- .type1 = TYPE_NORMAL,
- .type2 = TYPE_NORMAL,
- .catchRate = 3,
- .expYield = 1,
- .evYield_HP = 2,
- .evYield_Attack = 2,
- .evYield_Defense = 2,
- .evYield_Speed = 2,
- .evYield_SpAttack = 2,
- .evYield_SpDefense = 2,
- .item1 = ITEM_NONE,
- .item2 = ITEM_NONE,
- .genderRatio = MON_GENDERLESS,
- .eggCycles = 120,
- .friendship = 0,
- .growthRate = GROWTH_MEDIUM_FAST,
- .eggGroup1 = EGG_GROUP_UNDISCOVERED,
- .eggGroup2 = EGG_GROUP_UNDISCOVERED,
- .ability1 = ABILITY_NONE,
- .ability2 = ABILITY_NONE,
- .safariZoneFleeRate = 0,
- .bodyColor = BODY_COLOR_BLACK,
- .noFlip = FALSE,
- },
+ [SPECIES_OLD_UNOWN_Z] = OLD_UNOWN_BASE_STATS,
[SPECIES_TREECKO] =
{
diff --git a/src/data/region_map/region_map_entries.h b/src/data/region_map/region_map_entries.h
new file mode 100644
index 000000000..b41d729bf
--- /dev/null
+++ b/src/data/region_map/region_map_entries.h
@@ -0,0 +1,175 @@
+#ifndef GUARD_DATA_REGION_MAP_REGION_MAP_ENTRIES_H
+#define GUARD_DATA_REGION_MAP_REGION_MAP_ENTRIES_H
+
+static const u8 sMapName_LittlerootTown[] = _("LITTLEROOT{NAME_END} TOWN");
+static const u8 sMapName_OldaleTown[] = _("OLDALE{NAME_END} TOWN");
+static const u8 sMapName_DewfordTown[] = _("DEWFORD{NAME_END} TOWN");
+static const u8 sMapName_LavaridgeTown[] = _("LAVARIDGE{NAME_END} TOWN");
+static const u8 sMapName_FallarborTown[] = _("FALLARBOR{NAME_END} TOWN");
+static const u8 sMapName_VerdanturfTown[] = _("VERDANTURF{NAME_END} TOWN");
+static const u8 sMapName_PacifidlogTown[] = _("PACIFIDLOG{NAME_END} TOWN");
+static const u8 sMapName_PetalburgCity[] = _("PETALBURG{NAME_END} CITY");
+static const u8 sMapName_SlateportCity[] = _("SLATEPORT{NAME_END} CITY");
+static const u8 sMapName_MauvilleCity[] = _("MAUVILLE{NAME_END} CITY");
+static const u8 sMapName_RustboroCity[] = _("RUSTBORO{NAME_END} CITY");
+static const u8 sMapName_FortreeCity[] = _("FORTREE{NAME_END} CITY");
+static const u8 sMapName_LilycoveCity[] = _("LILYCOVE{NAME_END} CITY");
+static const u8 sMapName_MossdeepCity[] = _("MOSSDEEP{NAME_END} CITY");
+static const u8 sMapName_SootopolisCity[] = _("SOOTOPOLIS{NAME_END} CITY");
+static const u8 sMapName_EverGrandeCity[] = _("EVER GRANDE{NAME_END} CITY");
+static const u8 sMapName_Route101[] = _("ROUTE 101");
+static const u8 sMapName_Route102[] = _("ROUTE 102");
+static const u8 sMapName_Route103[] = _("ROUTE 103");
+static const u8 sMapName_Route104[] = _("ROUTE 104");
+static const u8 sMapName_Route105[] = _("ROUTE 105");
+static const u8 sMapName_Route106[] = _("ROUTE 106");
+static const u8 sMapName_Route107[] = _("ROUTE 107");
+static const u8 sMapName_Route108[] = _("ROUTE 108");
+static const u8 sMapName_Route109[] = _("ROUTE 109");
+static const u8 sMapName_Route110[] = _("ROUTE 110");
+static const u8 sMapName_Route111[] = _("ROUTE 111");
+static const u8 sMapName_Route112[] = _("ROUTE 112");
+static const u8 sMapName_Route113[] = _("ROUTE 113");
+static const u8 sMapName_Route114[] = _("ROUTE 114");
+static const u8 sMapName_Route115[] = _("ROUTE 115");
+static const u8 sMapName_Route116[] = _("ROUTE 116");
+static const u8 sMapName_Route117[] = _("ROUTE 117");
+static const u8 sMapName_Route118[] = _("ROUTE 118");
+static const u8 sMapName_Route119[] = _("ROUTE 119");
+static const u8 sMapName_Route120[] = _("ROUTE 120");
+static const u8 sMapName_Route121[] = _("ROUTE 121");
+static const u8 sMapName_Route122[] = _("ROUTE 122");
+static const u8 sMapName_Route123[] = _("ROUTE 123");
+static const u8 sMapName_Route124[] = _("ROUTE 124");
+static const u8 sMapName_Route125[] = _("ROUTE 125");
+static const u8 sMapName_Route126[] = _("ROUTE 126");
+static const u8 sMapName_Route127[] = _("ROUTE 127");
+static const u8 sMapName_Route128[] = _("ROUTE 128");
+static const u8 sMapName_Route129[] = _("ROUTE 129");
+static const u8 sMapName_Route130[] = _("ROUTE 130");
+static const u8 sMapName_Route131[] = _("ROUTE 131");
+static const u8 sMapName_Route132[] = _("ROUTE 132");
+static const u8 sMapName_Route133[] = _("ROUTE 133");
+static const u8 sMapName_Route134[] = _("ROUTE 134");
+static const u8 sMapName_Underwater[] = _("UNDERWATER");
+static const u8 sMapName_GraniteCave[] = _("GRANITE CAVE");
+static const u8 sMapName_MtChimney[] = _("MT. CHIMNEY");
+static const u8 sMapName_SafariZone[] = _("SAFARI ZONE");
+static const u8 sMapName_BattleTower[] = _("BATTLE TOWER");
+static const u8 sMapName_PetalburgWoods[] = _("PETALBURG WOODS");
+static const u8 sMapName_RusturfTunnel[] = _("RUSTURF TUNNEL");
+static const u8 sMapName_AbandonedShip[] = _("ABANDONED SHIP");
+static const u8 sMapName_NewMauville[] = _("NEW MAUVILLE");
+static const u8 sMapName_MeteorFalls[] = _("METEOR FALLS");
+static const u8 sMapName_MtPyre[] = _("MT. PYRE");
+static const u8 sMapName_EvilTeamHideout[] = _("{EVIL_TEAM} HIDEOUT");
+static const u8 sMapName_ShoalCave[] = _("SHOAL CAVE");
+static const u8 sMapName_SeafloorCavern[] = _("SEAFLOOR CAVERN");
+static const u8 sMapName_VictoryRoad[] = _("VICTORY ROAD");
+static const u8 sMapName_MirageIsland[] = _("MIRAGE ISLAND");
+static const u8 sMapName_CaveOfOrigin[] = _("CAVE OF ORIGIN");
+static const u8 sMapName_SouthernIsland[] = _("SOUTHERN ISLAND");
+static const u8 sMapName_FieryPath[] = _("FIERY PATH");
+static const u8 sMapName_JaggedPass[] = _("JAGGED PASS");
+static const u8 sMapName_SealedChamber[] = _("SEALED CHAMBER");
+static const u8 sMapName_ScorchedSlab[] = _("SCORCHED SLAB");
+static const u8 sMapName_IslandCave[] = _("ISLAND CAVE");
+static const u8 sMapName_DesertRuins[] = _("DESERT RUINS");
+static const u8 sMapName_AncientTomb[] = _("ANCIENT TOMB");
+static const u8 sMapName_InsideOfTruck[] = _("INSIDE OF TRUCK");
+static const u8 sMapName_SkyPillar[] = _("SKY PILLAR");
+static const u8 sMapName_SecretBase[] = _("SECRET BASE");
+static const u8 sMapName_None[] = _("");
+
+const struct RegionMapLocation gRegionMapEntries[] = {
+ [MAPSEC_LITTLEROOT_TOWN] = { 4, 11, 1, 1, sMapName_LittlerootTown},
+ [MAPSEC_OLDALE_TOWN] = { 4, 9, 1, 1, sMapName_OldaleTown},
+ [MAPSEC_DEWFORD_TOWN] = { 2, 14, 1, 1, sMapName_DewfordTown},
+ [MAPSEC_LAVARIDGE_TOWN] = { 5, 3, 1, 1, sMapName_LavaridgeTown},
+ [MAPSEC_FALLARBOR_TOWN] = { 3, 0, 1, 1, sMapName_FallarborTown},
+ [MAPSEC_VERDANTURF_TOWN] = { 4, 6, 1, 1, sMapName_VerdanturfTown},
+ [MAPSEC_PACIFIDLOG_TOWN] = {17, 10, 1, 1, sMapName_PacifidlogTown},
+ [MAPSEC_PETALBURG_CITY] = { 1, 9, 1, 1, sMapName_PetalburgCity},
+ [MAPSEC_SLATEPORT_CITY] = { 8, 10, 1, 2, sMapName_SlateportCity},
+ [MAPSEC_MAUVILLE_CITY] = { 8, 6, 2, 1, sMapName_MauvilleCity},
+ [MAPSEC_RUSTBORO_CITY] = { 0, 5, 1, 2, sMapName_RustboroCity},
+ [MAPSEC_FORTREE_CITY] = {12, 0, 1, 1, sMapName_FortreeCity},
+ [MAPSEC_LILYCOVE_CITY] = {18, 3, 2, 1, sMapName_LilycoveCity},
+ [MAPSEC_MOSSDEEP_CITY] = {24, 5, 2, 1, sMapName_MossdeepCity},
+ [MAPSEC_SOOTOPOLIS_CITY] = {21, 7, 1, 1, sMapName_SootopolisCity},
+ [MAPSEC_EVER_GRANDE_CITY] = {27, 8, 1, 2, sMapName_EverGrandeCity},
+ [MAPSEC_ROUTE_101] = { 4, 10, 1, 1, sMapName_Route101},
+ [MAPSEC_ROUTE_102] = { 2, 9, 2, 1, sMapName_Route102},
+ [MAPSEC_ROUTE_103] = { 4, 8, 4, 1, sMapName_Route103},
+ [MAPSEC_ROUTE_104] = { 0, 7, 1, 3, sMapName_Route104},
+ [MAPSEC_ROUTE_105] = { 0, 10, 1, 3, sMapName_Route105},
+ [MAPSEC_ROUTE_106] = { 0, 13, 2, 1, sMapName_Route106},
+ [MAPSEC_ROUTE_107] = { 3, 14, 3, 1, sMapName_Route107},
+ [MAPSEC_ROUTE_108] = { 6, 14, 2, 1, sMapName_Route108},
+ [MAPSEC_ROUTE_109] = { 8, 12, 1, 3, sMapName_Route109},
+ [MAPSEC_ROUTE_110] = { 8, 7, 1, 3, sMapName_Route110},
+ [MAPSEC_ROUTE_111] = { 8, 0, 1, 6, sMapName_Route111},
+ [MAPSEC_ROUTE_112] = { 6, 3, 2, 1, sMapName_Route112},
+ [MAPSEC_ROUTE_113] = { 4, 0, 4, 1, sMapName_Route113},
+ [MAPSEC_ROUTE_114] = { 1, 0, 2, 3, sMapName_Route114},
+ [MAPSEC_ROUTE_115] = { 0, 2, 1, 3, sMapName_Route115},
+ [MAPSEC_ROUTE_116] = { 1, 5, 4, 1, sMapName_Route116},
+ [MAPSEC_ROUTE_117] = { 5, 6, 3, 1, sMapName_Route117},
+ [MAPSEC_ROUTE_118] = {10, 6, 2, 1, sMapName_Route118},
+ [MAPSEC_ROUTE_119] = {11, 0, 1, 6, sMapName_Route119},
+ [MAPSEC_ROUTE_120] = {13, 0, 1, 4, sMapName_Route120},
+ [MAPSEC_ROUTE_121] = {14, 3, 4, 1, sMapName_Route121},
+ [MAPSEC_ROUTE_122] = {16, 4, 1, 2, sMapName_Route122},
+ [MAPSEC_ROUTE_123] = {12, 6, 5, 1, sMapName_Route123},
+ [MAPSEC_ROUTE_124] = {20, 3, 4, 3, sMapName_Route124},
+ [MAPSEC_ROUTE_125] = {24, 3, 2, 2, sMapName_Route125},
+ [MAPSEC_ROUTE_126] = {20, 6, 3, 3, sMapName_Route126},
+ [MAPSEC_ROUTE_127] = {23, 6, 3, 3, sMapName_Route127},
+ [MAPSEC_ROUTE_128] = {23, 9, 4, 1, sMapName_Route128},
+ [MAPSEC_ROUTE_129] = {24, 10, 2, 1, sMapName_Route129},
+ [MAPSEC_ROUTE_130] = {21, 10, 3, 1, sMapName_Route130},
+ [MAPSEC_ROUTE_131] = {18, 10, 3, 1, sMapName_Route131},
+ [MAPSEC_ROUTE_132] = {15, 10, 2, 1, sMapName_Route132},
+ [MAPSEC_ROUTE_133] = {12, 10, 3, 1, sMapName_Route133},
+ [MAPSEC_ROUTE_134] = { 9, 10, 3, 1, sMapName_Route134},
+ [MAPSEC_UNDERWATER_124] = {20, 3, 4, 3, sMapName_Underwater},
+ [MAPSEC_UNDERWATER_125] = {20, 6, 3, 3, sMapName_Underwater},
+ [MAPSEC_UNDERWATER_126] = {23, 6, 3, 3, sMapName_Underwater},
+ [MAPSEC_UNDERWATER_127] = {23, 9, 4, 1, sMapName_Underwater},
+ [MAPSEC_UNDERWATER_SOOTOPOLIS] = {21, 7, 1, 1, sMapName_Underwater},
+ [MAPSEC_GRANITE_CAVE] = { 1, 13, 1, 1, sMapName_GraniteCave},
+ [MAPSEC_MT_CHIMNEY] = { 6, 2, 1, 1, sMapName_MtChimney},
+ [MAPSEC_SAFARI_ZONE] = {16, 2, 1, 1, sMapName_SafariZone},
+ [MAPSEC_BATTLE_TOWER] = {22, 12, 1, 1, sMapName_BattleTower},
+ [MAPSEC_PETALBURG_WOODS] = { 0, 8, 1, 1, sMapName_PetalburgWoods},
+ [MAPSEC_RUSTURF_TUNNEL] = { 2, 5, 1, 1, sMapName_RusturfTunnel},
+ [MAPSEC_ABANDONED_SHIP] = { 6, 14, 1, 1, sMapName_AbandonedShip},
+ [MAPSEC_NEW_MAUVILLE] = { 8, 7, 1, 1, sMapName_NewMauville},
+ [MAPSEC_METEOR_FALLS] = { 0, 3, 1, 1, sMapName_MeteorFalls},
+ [MAPSEC_METEOR_FALLS_2] = { 1, 2, 1, 1, sMapName_MeteorFalls},
+ [MAPSEC_MT_PYRE] = {16, 4, 1, 1, sMapName_MtPyre},
+ [MAPSEC_EVIL_TEAM_HIDEOUT] = {19, 3, 1, 1, sMapName_EvilTeamHideout},
+ [MAPSEC_SHOAL_CAVE] = {24, 4, 1, 1, sMapName_ShoalCave},
+ [MAPSEC_SEAFLOOR_CAVERN] = {24, 9, 1, 1, sMapName_SeafloorCavern},
+ [MAPSEC_UNDERWATER_128] = {24, 9, 1, 1, sMapName_Underwater},
+ [MAPSEC_VICTORY_ROAD] = {27, 9, 1, 1, sMapName_VictoryRoad},
+ [MAPSEC_MIRAGE_ISLAND] = {17, 10, 1, 1, sMapName_MirageIsland},
+ [MAPSEC_CAVE_OF_ORIGIN] = {21, 7, 1, 1, sMapName_CaveOfOrigin},
+ [MAPSEC_SOUTHERN_ISLAND] = {12, 14, 1, 1, sMapName_SouthernIsland},
+ [MAPSEC_FIERY_PATH] = { 6, 3, 1, 1, sMapName_FieryPath},
+ [MAPSEC_FIERY_PATH_2] = { 7, 3, 1, 1, sMapName_FieryPath},
+ [MAPSEC_JAGGED_PASS] = { 6, 3, 1, 1, sMapName_JaggedPass},
+ [MAPSEC_JAGGED_PASS_2] = { 7, 2, 1, 1, sMapName_JaggedPass},
+ [MAPSEC_SEALED_CHAMBER] = {11, 10, 1, 1, sMapName_SealedChamber},
+ [MAPSEC_UNDERWATER_SEALED_CHAMBER] = {11, 10, 1, 1, sMapName_Underwater},
+ [MAPSEC_SCORCHED_SLAB] = {13, 0, 1, 1, sMapName_ScorchedSlab},
+ [MAPSEC_ISLAND_CAVE] = { 0, 10, 1, 1, sMapName_IslandCave},
+ [MAPSEC_DESERT_RUINS] = { 8, 3, 1, 1, sMapName_DesertRuins},
+ [MAPSEC_ANCIENT_TOMB] = {13, 2, 1, 1, sMapName_AncientTomb},
+ [MAPSEC_INSIDE_OF_TRUCK] = { 0, 0, 1, 1, sMapName_InsideOfTruck},
+ [MAPSEC_SKY_PILLAR] = {19, 10, 1, 1, sMapName_SkyPillar},
+ [MAPSEC_SECRET_BASE] = { 0, 0, 1, 1, sMapName_SecretBase},
+ [MAPSEC_DYNAMIC] = { 0, 0, 1, 1, sMapName_None},
+};
+
+#endif // GUARD_DATA_REGION_MAP_REGION_MAP_ENTRIES_H
diff --git a/src/data/region_map/region_map_entries_de.h b/src/data/region_map/region_map_entries_de.h
new file mode 100644
index 000000000..935db1446
--- /dev/null
+++ b/src/data/region_map/region_map_entries_de.h
@@ -0,0 +1,175 @@
+#ifndef GUARD_DATA_REGION_MAP_REGION_MAP_ENTRIES_H
+#define GUARD_DATA_REGION_MAP_REGION_MAP_ENTRIES_H
+
+static const u8 sMapName_LittlerootTown[] = _("WURZELHEIM");
+static const u8 sMapName_OldaleTown[] = _("ROSALTSTADT");
+static const u8 sMapName_DewfordTown[] = _("FAUSTAUHAVEN");
+static const u8 sMapName_LavaridgeTown[] = _("BAD LAVASTADT");
+static const u8 sMapName_FallarborTown[] = _("LAUBWECHSEL{NAME_END}FELD");
+static const u8 sMapName_VerdanturfTown[] = _("WIESENFLUR");
+static const u8 sMapName_PacifidlogTown[] = _("FLOSSBRUNN");
+static const u8 sMapName_PetalburgCity[] = _("BLÜTENBURG{NAME_END} CITY");
+static const u8 sMapName_SlateportCity[] = _("GRAPHITPORT{NAME_END} CITY");
+static const u8 sMapName_MauvilleCity[] = _("MALVENFROH{NAME_END} CITY");
+static const u8 sMapName_RustboroCity[] = _("METAROST{NAME_END} CITY");
+static const u8 sMapName_FortreeCity[] = _("BAUMHAUSEN{NAME_END} CITY");
+static const u8 sMapName_LilycoveCity[] = _("SEEGRASULB{NAME_END} CITY");
+static const u8 sMapName_MossdeepCity[] = _("MOOSBACH{NAME_END} CITY");
+static const u8 sMapName_SootopolisCity[] = _("XENEROVILLE");
+static const u8 sMapName_EverGrandeCity[] = _("PRACHTPOLIS{NAME_END} CITY");
+static const u8 sMapName_Route101[] = _("ROUTE 101");
+static const u8 sMapName_Route102[] = _("ROUTE 102");
+static const u8 sMapName_Route103[] = _("ROUTE 103");
+static const u8 sMapName_Route104[] = _("ROUTE 104");
+static const u8 sMapName_Route105[] = _("ROUTE 105");
+static const u8 sMapName_Route106[] = _("ROUTE 106");
+static const u8 sMapName_Route107[] = _("ROUTE 107");
+static const u8 sMapName_Route108[] = _("ROUTE 108");
+static const u8 sMapName_Route109[] = _("ROUTE 109");
+static const u8 sMapName_Route110[] = _("ROUTE 110");
+static const u8 sMapName_Route111[] = _("ROUTE 111");
+static const u8 sMapName_Route112[] = _("ROUTE 112");
+static const u8 sMapName_Route113[] = _("ROUTE 113");
+static const u8 sMapName_Route114[] = _("ROUTE 114");
+static const u8 sMapName_Route115[] = _("ROUTE 115");
+static const u8 sMapName_Route116[] = _("ROUTE 116");
+static const u8 sMapName_Route117[] = _("ROUTE 117");
+static const u8 sMapName_Route118[] = _("ROUTE 118");
+static const u8 sMapName_Route119[] = _("ROUTE 119");
+static const u8 sMapName_Route120[] = _("ROUTE 120");
+static const u8 sMapName_Route121[] = _("ROUTE 121");
+static const u8 sMapName_Route122[] = _("ROUTE 122");
+static const u8 sMapName_Route123[] = _("ROUTE 123");
+static const u8 sMapName_Route124[] = _("ROUTE 124");
+static const u8 sMapName_Route125[] = _("ROUTE 125");
+static const u8 sMapName_Route126[] = _("ROUTE 126");
+static const u8 sMapName_Route127[] = _("ROUTE 127");
+static const u8 sMapName_Route128[] = _("ROUTE 128");
+static const u8 sMapName_Route129[] = _("ROUTE 129");
+static const u8 sMapName_Route130[] = _("ROUTE 130");
+static const u8 sMapName_Route131[] = _("ROUTE 131");
+static const u8 sMapName_Route132[] = _("ROUTE 132");
+static const u8 sMapName_Route133[] = _("ROUTE 133");
+static const u8 sMapName_Route134[] = _("ROUTE 134");
+static const u8 sMapName_Underwater[] = _("UNTERWASSER");
+static const u8 sMapName_GraniteCave[] = _("GRANITHÖHLE");
+static const u8 sMapName_MtChimney[] = _("SCHLOTBERG");
+static const u8 sMapName_SafariZone[] = _("SAFARI-ZONE");
+static const u8 sMapName_BattleTower[] = _("DUELLTURM");
+static const u8 sMapName_PetalburgWoods[] = _("BLÜTENBURGWALD");
+static const u8 sMapName_RusturfTunnel[] = _("METAFLURTUNNEL");
+static const u8 sMapName_AbandonedShip[] = _("SCHIFFSWRACK");
+static const u8 sMapName_NewMauville[] = _("NEU MALVENFROH");
+static const u8 sMapName_MeteorFalls[] = _("METEORFÄLLE");
+static const u8 sMapName_MtPyre[] = _("PYROBERG");
+static const u8 sMapName_EvilTeamHideout[] = _("{EVIL_TEAM}s VERSTECK");
+static const u8 sMapName_ShoalCave[] = _("KÜSTENHÖHLE");
+static const u8 sMapName_SeafloorCavern[] = _("TIEFSEEHÖHLE");
+static const u8 sMapName_VictoryRoad[] = _("SIEGESSTRASSE");
+static const u8 sMapName_MirageIsland[] = _("WUNDEREILAND");
+static const u8 sMapName_CaveOfOrigin[] = _("URZEITHÖHLE");
+static const u8 sMapName_SouthernIsland[] = _("INSEL IM SÜDEN");
+static const u8 sMapName_FieryPath[] = _("FEURIGER PFAD");
+static const u8 sMapName_JaggedPass[] = _("STEILPASS");
+static const u8 sMapName_SealedChamber[] = _("SIEGELKAMMER");
+static const u8 sMapName_ScorchedSlab[] = _("SONNENGROTTE");
+static const u8 sMapName_IslandCave[] = _("INSELHÖHLE");
+static const u8 sMapName_DesertRuins[] = _("WÜSTENRUINE");
+static const u8 sMapName_AncientTomb[] = _("GRABMAL");
+static const u8 sMapName_InsideOfTruck[] = _("IM MÖBELWAGEN");
+static const u8 sMapName_SkyPillar[] = _("HIMMELTURM");
+static const u8 sMapName_SecretBase[] = _("GEHEIMBASIS");
+static const u8 sMapName_None[] = _("");
+
+const struct RegionMapLocation gRegionMapEntries[] = {
+ [MAPSEC_LITTLEROOT_TOWN] = { 4, 11, 1, 1, sMapName_LittlerootTown},
+ [MAPSEC_OLDALE_TOWN] = { 4, 9, 1, 1, sMapName_OldaleTown},
+ [MAPSEC_DEWFORD_TOWN] = { 2, 14, 1, 1, sMapName_DewfordTown},
+ [MAPSEC_LAVARIDGE_TOWN] = { 5, 3, 1, 1, sMapName_LavaridgeTown},
+ [MAPSEC_FALLARBOR_TOWN] = { 3, 0, 1, 1, sMapName_FallarborTown},
+ [MAPSEC_VERDANTURF_TOWN] = { 4, 6, 1, 1, sMapName_VerdanturfTown},
+ [MAPSEC_PACIFIDLOG_TOWN] = {17, 10, 1, 1, sMapName_PacifidlogTown},
+ [MAPSEC_PETALBURG_CITY] = { 1, 9, 1, 1, sMapName_PetalburgCity},
+ [MAPSEC_SLATEPORT_CITY] = { 8, 10, 1, 2, sMapName_SlateportCity},
+ [MAPSEC_MAUVILLE_CITY] = { 8, 6, 2, 1, sMapName_MauvilleCity},
+ [MAPSEC_RUSTBORO_CITY] = { 0, 5, 1, 2, sMapName_RustboroCity},
+ [MAPSEC_FORTREE_CITY] = {12, 0, 1, 1, sMapName_FortreeCity},
+ [MAPSEC_LILYCOVE_CITY] = {18, 3, 2, 1, sMapName_LilycoveCity},
+ [MAPSEC_MOSSDEEP_CITY] = {24, 5, 2, 1, sMapName_MossdeepCity},
+ [MAPSEC_SOOTOPOLIS_CITY] = {21, 7, 1, 1, sMapName_SootopolisCity},
+ [MAPSEC_EVER_GRANDE_CITY] = {27, 8, 1, 2, sMapName_EverGrandeCity},
+ [MAPSEC_ROUTE_101] = { 4, 10, 1, 1, sMapName_Route101},
+ [MAPSEC_ROUTE_102] = { 2, 9, 2, 1, sMapName_Route102},
+ [MAPSEC_ROUTE_103] = { 4, 8, 4, 1, sMapName_Route103},
+ [MAPSEC_ROUTE_104] = { 0, 7, 1, 3, sMapName_Route104},
+ [MAPSEC_ROUTE_105] = { 0, 10, 1, 3, sMapName_Route105},
+ [MAPSEC_ROUTE_106] = { 0, 13, 2, 1, sMapName_Route106},
+ [MAPSEC_ROUTE_107] = { 3, 14, 3, 1, sMapName_Route107},
+ [MAPSEC_ROUTE_108] = { 6, 14, 2, 1, sMapName_Route108},
+ [MAPSEC_ROUTE_109] = { 8, 12, 1, 3, sMapName_Route109},
+ [MAPSEC_ROUTE_110] = { 8, 7, 1, 3, sMapName_Route110},
+ [MAPSEC_ROUTE_111] = { 8, 0, 1, 6, sMapName_Route111},
+ [MAPSEC_ROUTE_112] = { 6, 3, 2, 1, sMapName_Route112},
+ [MAPSEC_ROUTE_113] = { 4, 0, 4, 1, sMapName_Route113},
+ [MAPSEC_ROUTE_114] = { 1, 0, 2, 3, sMapName_Route114},
+ [MAPSEC_ROUTE_115] = { 0, 2, 1, 3, sMapName_Route115},
+ [MAPSEC_ROUTE_116] = { 1, 5, 4, 1, sMapName_Route116},
+ [MAPSEC_ROUTE_117] = { 5, 6, 3, 1, sMapName_Route117},
+ [MAPSEC_ROUTE_118] = {10, 6, 2, 1, sMapName_Route118},
+ [MAPSEC_ROUTE_119] = {11, 0, 1, 6, sMapName_Route119},
+ [MAPSEC_ROUTE_120] = {13, 0, 1, 4, sMapName_Route120},
+ [MAPSEC_ROUTE_121] = {14, 3, 4, 1, sMapName_Route121},
+ [MAPSEC_ROUTE_122] = {16, 4, 1, 2, sMapName_Route122},
+ [MAPSEC_ROUTE_123] = {12, 6, 5, 1, sMapName_Route123},
+ [MAPSEC_ROUTE_124] = {20, 3, 4, 3, sMapName_Route124},
+ [MAPSEC_ROUTE_125] = {24, 3, 2, 2, sMapName_Route125},
+ [MAPSEC_ROUTE_126] = {20, 6, 3, 3, sMapName_Route126},
+ [MAPSEC_ROUTE_127] = {23, 6, 3, 3, sMapName_Route127},
+ [MAPSEC_ROUTE_128] = {23, 9, 4, 1, sMapName_Route128},
+ [MAPSEC_ROUTE_129] = {24, 10, 2, 1, sMapName_Route129},
+ [MAPSEC_ROUTE_130] = {21, 10, 3, 1, sMapName_Route130},
+ [MAPSEC_ROUTE_131] = {18, 10, 3, 1, sMapName_Route131},
+ [MAPSEC_ROUTE_132] = {15, 10, 2, 1, sMapName_Route132},
+ [MAPSEC_ROUTE_133] = {12, 10, 3, 1, sMapName_Route133},
+ [MAPSEC_ROUTE_134] = { 9, 10, 3, 1, sMapName_Route134},
+ [MAPSEC_UNDERWATER_124] = {20, 3, 4, 3, sMapName_Underwater},
+ [MAPSEC_UNDERWATER_125] = {20, 6, 3, 3, sMapName_Underwater},
+ [MAPSEC_UNDERWATER_126] = {23, 6, 3, 3, sMapName_Underwater},
+ [MAPSEC_UNDERWATER_127] = {23, 9, 4, 1, sMapName_Underwater},
+ [MAPSEC_UNDERWATER_SOOTOPOLIS] = {21, 7, 1, 1, sMapName_Underwater},
+ [MAPSEC_GRANITE_CAVE] = { 1, 13, 1, 1, sMapName_GraniteCave},
+ [MAPSEC_MT_CHIMNEY] = { 6, 2, 1, 1, sMapName_MtChimney},
+ [MAPSEC_SAFARI_ZONE] = {16, 2, 1, 1, sMapName_SafariZone},
+ [MAPSEC_BATTLE_TOWER] = {22, 12, 1, 1, sMapName_BattleTower},
+ [MAPSEC_PETALBURG_WOODS] = { 0, 8, 1, 1, sMapName_PetalburgWoods},
+ [MAPSEC_RUSTURF_TUNNEL] = { 2, 5, 1, 1, sMapName_RusturfTunnel},
+ [MAPSEC_ABANDONED_SHIP] = { 6, 14, 1, 1, sMapName_AbandonedShip},
+ [MAPSEC_NEW_MAUVILLE] = { 8, 7, 1, 1, sMapName_NewMauville},
+ [MAPSEC_METEOR_FALLS] = { 0, 3, 1, 1, sMapName_MeteorFalls},
+ [MAPSEC_METEOR_FALLS_2] = { 1, 2, 1, 1, sMapName_MeteorFalls},
+ [MAPSEC_MT_PYRE] = {16, 4, 1, 1, sMapName_MtPyre},
+ [MAPSEC_EVIL_TEAM_HIDEOUT] = {19, 3, 1, 1, sMapName_EvilTeamHideout},
+ [MAPSEC_SHOAL_CAVE] = {24, 4, 1, 1, sMapName_ShoalCave},
+ [MAPSEC_SEAFLOOR_CAVERN] = {24, 9, 1, 1, sMapName_SeafloorCavern},
+ [MAPSEC_UNDERWATER_128] = {24, 9, 1, 1, sMapName_Underwater},
+ [MAPSEC_VICTORY_ROAD] = {27, 9, 1, 1, sMapName_VictoryRoad},
+ [MAPSEC_MIRAGE_ISLAND] = {17, 10, 1, 1, sMapName_MirageIsland},
+ [MAPSEC_CAVE_OF_ORIGIN] = {21, 7, 1, 1, sMapName_CaveOfOrigin},
+ [MAPSEC_SOUTHERN_ISLAND] = {12, 14, 1, 1, sMapName_SouthernIsland},
+ [MAPSEC_FIERY_PATH] = { 6, 3, 1, 1, sMapName_FieryPath},
+ [MAPSEC_FIERY_PATH_2] = { 7, 3, 1, 1, sMapName_FieryPath},
+ [MAPSEC_JAGGED_PASS] = { 6, 3, 1, 1, sMapName_JaggedPass},
+ [MAPSEC_JAGGED_PASS_2] = { 7, 2, 1, 1, sMapName_JaggedPass},
+ [MAPSEC_SEALED_CHAMBER] = {11, 10, 1, 1, sMapName_SealedChamber},
+ [MAPSEC_UNDERWATER_SEALED_CHAMBER] = {11, 10, 1, 1, sMapName_Underwater},
+ [MAPSEC_SCORCHED_SLAB] = {13, 0, 1, 1, sMapName_ScorchedSlab},
+ [MAPSEC_ISLAND_CAVE] = { 0, 10, 1, 1, sMapName_IslandCave},
+ [MAPSEC_DESERT_RUINS] = { 8, 3, 1, 1, sMapName_DesertRuins},
+ [MAPSEC_ANCIENT_TOMB] = {13, 2, 1, 1, sMapName_AncientTomb},
+ [MAPSEC_INSIDE_OF_TRUCK] = { 0, 0, 1, 1, sMapName_InsideOfTruck},
+ [MAPSEC_SKY_PILLAR] = {19, 10, 1, 1, sMapName_SkyPillar},
+ [MAPSEC_SECRET_BASE] = { 0, 0, 1, 1, sMapName_SecretBase},
+ [MAPSEC_DYNAMIC] = { 0, 0, 1, 1, sMapName_None},
+};
+
+#endif // GUARD_DATA_REGION_MAP_REGION_MAP_ENTRIES_H
diff --git a/src/data/region_map_layout.h b/src/data/region_map_layout.h
deleted file mode 100644
index 1bc93cbb3..000000000
--- a/src/data/region_map_layout.h
+++ /dev/null
@@ -1,42 +0,0 @@
-// Abbreviated definitions to make the map layout more visual
-#define R(routeNum) MAPSEC_ROUTE_##routeNum
-#define LITT_T MAPSEC_LITTLEROOT_TOWN
-#define OLDA_T MAPSEC_OLDALE_TOWN
-#define DEWF_T MAPSEC_DEWFORD_TOWN
-#define LAVA_T MAPSEC_LAVARIDGE_TOWN
-#define FALL_T MAPSEC_FALLARBOR_TOWN
-#define VERD_T MAPSEC_VERDANTURF_TOWN
-#define PACI_T MAPSEC_PACIFIDLOG_TOWN
-#define PETA_C MAPSEC_PETALBURG_CITY
-#define SLAT_C MAPSEC_SLATEPORT_CITY
-#define MAUV_C MAPSEC_MAUVILLE_CITY
-#define RUST_C MAPSEC_RUSTBORO_CITY
-#define FORT_C MAPSEC_FORTREE_CITY
-#define LILY_C MAPSEC_LILYCOVE_CITY
-#define MOSS_C MAPSEC_MOSSDEEP_CITY
-#define SOOT_C MAPSEC_SOOTOPOLIS_CITY
-#define EVER_C MAPSEC_EVER_GRANDE_CITY
-#define MTCHIM MAPSEC_MT_CHIMNEY
-#define SAFARI MAPSEC_SAFARI_ZONE
-#define BTLTWR MAPSEC_BATTLE_TOWER
-#define S_ISLD MAPSEC_SOUTHERN_ISLAND
-#define ______ MAPSEC_NOTHING
-
-static const u8 sRegionMapLayout[] =
-{
- ______, R(114), R(114), FALL_T, R(113), R(113), R(113), R(113), R(111), ______, ______, R(119), FORT_C, R(120), ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______,
- ______, R(114), ______, ______, ______, ______, MTCHIM, MTCHIM, R(111), ______, ______, R(119), ______, R(120), ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______,
- R(115), R(114), ______, ______, ______, ______, MTCHIM, MTCHIM, R(111), ______, ______, R(119), ______, R(120), ______, ______, SAFARI, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______,
- R(115), ______, ______, ______, ______, LAVA_T, R(112), R(112), R(111), ______, ______, R(119), ______, R(120), R(121), R(121), R(121), R(121), LILY_C, LILY_C, R(124), R(124), R(124), R(124), R(125), R(125), ______, ______,
- R(115), ______, ______, ______, ______, ______, ______, ______, R(111), ______, ______, R(119), ______, ______, ______, ______, R(122), ______, ______, ______, R(124), R(124), R(124), R(124), R(125), R(125), ______, ______,
- RUST_C, R(116), R(116), R(116), R(116), ______, ______, ______, R(111), ______, ______, R(119), ______, ______, ______, ______, R(122), ______, ______, ______, R(124), R(124), R(124), R(124), MOSS_C, MOSS_C, ______, ______,
- RUST_C, ______, ______, ______, VERD_T, R(117), R(117), R(117), MAUV_C, MAUV_C, R(118), R(118), R(123), R(123), R(123), R(123), R(123), ______, ______, ______, R(126), R(126), R(126), R(127), R(127), R(127), ______, ______,
- R(104), ______, ______, ______, ______, ______, ______, ______, R(110), ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, R(126), SOOT_C, R(126), R(127), R(127), R(127), ______, ______,
- R(104), ______, ______, ______, R(103), R(103), R(103), R(103), R(110), ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, R(126), R(126), R(126), R(127), R(127), R(127), ______, EVER_C,
- R(104), PETA_C, R(102), R(102), OLDA_T, ______, ______, ______, R(110), ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, R(128), R(128), R(128), R(128), EVER_C,
- R(105), ______, ______, ______, R(101), ______, ______, ______, SLAT_C, R(134), R(134), R(134), R(133), R(133), R(133), R(132), R(132), PACI_T, R(131), R(131), R(131), R(130), R(130), R(130), R(129), R(129), ______, ______,
- R(105), ______, ______, ______, LITT_T, ______, ______, ______, SLAT_C, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______,
- R(105), ______, ______, ______, ______, ______, ______, ______, R(109), ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, BTLTWR, ______, ______, ______, ______, ______,
- R(106), R(106), R(106), ______, ______, ______, ______, ______, R(109), ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______,
- ______, ______, DEWF_T, R(107), R(107), R(107), R(108), R(108), R(109), ______, ______, ______, S_ISLD, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______,
-};
diff --git a/src/data/region_map_names_de.h b/src/data/region_map_names_de.h
deleted file mode 100644
index 10f53c8ba..000000000
--- a/src/data/region_map_names_de.h
+++ /dev/null
@@ -1,79 +0,0 @@
-const u8 gMapName_LittlerootTown[] = _("WURZELHEIM");
-const u8 gMapName_OldaleTown[] = _("ROSALTSTADT");
-const u8 gMapName_DewfordTown[] = _("FAUSTAUHAVEN");
-const u8 gMapName_LavaridgeTown[] = _("BAD LAVASTADT");
-const u8 gMapName_FallarborTown[] = _("LAUBWECHSEL{NAME_END}FELD");
-const u8 gMapName_VerdanturfTown[] = _("WIESENFLUR");
-const u8 gMapName_PacifidlogTown[] = _("FLOSSBRUNN");
-const u8 gMapName_PetalburgCity[] = _("BLÜTENBURG{NAME_END} CITY");
-const u8 gMapName_SlateportCity[] = _("GRAPHITPORT{NAME_END} CITY");
-const u8 gMapName_MauvilleCity[] = _("MALVENFROH{NAME_END} CITY");
-const u8 gMapName_RustboroCity[] = _("METAROST{NAME_END} CITY");
-const u8 gMapName_FortreeCity[] = _("BAUMHAUSEN{NAME_END} CITY");
-const u8 gMapName_LilycoveCity[] = _("SEEGRASULB{NAME_END} CITY");
-const u8 gMapName_MossdeepCity[] = _("MOOSBACH{NAME_END} CITY");
-const u8 gMapName_SootopolisCity[] = _("XENEROVILLE");
-const u8 gMapName_EverGrandeCity[] = _("PRACHTPOLIS{NAME_END} CITY");
-const u8 gMapName_Route101[] = _("ROUTE 101");
-const u8 gMapName_Route102[] = _("ROUTE 102");
-const u8 gMapName_Route103[] = _("ROUTE 103");
-const u8 gMapName_Route104[] = _("ROUTE 104");
-const u8 gMapName_Route105[] = _("ROUTE 105");
-const u8 gMapName_Route106[] = _("ROUTE 106");
-const u8 gMapName_Route107[] = _("ROUTE 107");
-const u8 gMapName_Route108[] = _("ROUTE 108");
-const u8 gMapName_Route109[] = _("ROUTE 109");
-const u8 gMapName_Route110[] = _("ROUTE 110");
-const u8 gMapName_Route111[] = _("ROUTE 111");
-const u8 gMapName_Route112[] = _("ROUTE 112");
-const u8 gMapName_Route113[] = _("ROUTE 113");
-const u8 gMapName_Route114[] = _("ROUTE 114");
-const u8 gMapName_Route115[] = _("ROUTE 115");
-const u8 gMapName_Route116[] = _("ROUTE 116");
-const u8 gMapName_Route117[] = _("ROUTE 117");
-const u8 gMapName_Route118[] = _("ROUTE 118");
-const u8 gMapName_Route119[] = _("ROUTE 119");
-const u8 gMapName_Route120[] = _("ROUTE 120");
-const u8 gMapName_Route121[] = _("ROUTE 121");
-const u8 gMapName_Route122[] = _("ROUTE 122");
-const u8 gMapName_Route123[] = _("ROUTE 123");
-const u8 gMapName_Route124[] = _("ROUTE 124");
-const u8 gMapName_Route125[] = _("ROUTE 125");
-const u8 gMapName_Route126[] = _("ROUTE 126");
-const u8 gMapName_Route127[] = _("ROUTE 127");
-const u8 gMapName_Route128[] = _("ROUTE 128");
-const u8 gMapName_Route129[] = _("ROUTE 129");
-const u8 gMapName_Route130[] = _("ROUTE 130");
-const u8 gMapName_Route131[] = _("ROUTE 131");
-const u8 gMapName_Route132[] = _("ROUTE 132");
-const u8 gMapName_Route133[] = _("ROUTE 133");
-const u8 gMapName_Route134[] = _("ROUTE 134");
-const u8 gMapName_Underwater[] = _("UNTERWASSER");
-const u8 gMapName_GraniteCave[] = _("GRANITHÖHLE");
-const u8 gMapName_MtChimney[] = _("SCHLOTBERG");
-const u8 gMapName_SafariZone[] = _("SAFARI-ZONE");
-const u8 gMapName_BattleTower[] = _("DUELLTURM");
-const u8 gMapName_PetalburgWoods[] = _("BLÜTENBURGWALD");
-const u8 gMapName_RusturfTunnel[] = _("METAFLURTUNNEL");
-const u8 gMapName_AbandonedShip[] = _("SCHIFFSWRACK");
-const u8 gMapName_NewMauville[] = _("NEU MALVENFROH");
-const u8 gMapName_MeteorFalls[] = _("METEORFÄLLE");
-const u8 gMapName_MtPyre[] = _("PYROBERG");
-const u8 gMapName_EvilTeamHideout[] = _("{EVIL_TEAM}s VERSTECK");
-const u8 gMapName_ShoalCave[] = _("KÜSTENHÖHLE");
-const u8 gMapName_SeafloorCavern[] = _("TIEFSEEHÖHLE");
-const u8 gMapName_VictoryRoad[] = _("SIEGESSTRASSE");
-const u8 gMapName_MirageIsland[] = _("WUNDEREILAND");
-const u8 gMapName_CaveOfOrigin[] = _("URZEITHÖHLE");
-const u8 gMapName_SouthernIsland[] = _("INSEL IM SÜDEN");
-const u8 gMapName_FieryPath[] = _("FEURIGER PFAD");
-const u8 gMapName_JaggedPass[] = _("STEILPASS");
-const u8 gMapName_SealedChamber[] = _("SIEGELKAMMER");
-const u8 gMapName_ScorchedSlab[] = _("SONNENGROTTE");
-const u8 gMapName_IslandCave[] = _("INSELHÖHLE");
-const u8 gMapName_DesertRuins[] = _("WÜSTENRUINE");
-const u8 gMapName_AncientTomb[] = _("GRABMAL");
-const u8 gMapName_InsideOfTruck[] = _("IM MÖBELWAGEN");
-const u8 gMapName_SkyPillar[] = _("HIMMELTURM");
-const u8 gMapName_SecretBase[] = _("GEHEIMBASIS");
-const u8 gMapName_None[] = _("");
diff --git a/src/data/region_map_names_en.h b/src/data/region_map_names_en.h
deleted file mode 100644
index 9dde3d71a..000000000
--- a/src/data/region_map_names_en.h
+++ /dev/null
@@ -1,79 +0,0 @@
-const u8 gMapName_LittlerootTown[] = _("LITTLEROOT{NAME_END} TOWN");
-const u8 gMapName_OldaleTown[] = _("OLDALE{NAME_END} TOWN");
-const u8 gMapName_DewfordTown[] = _("DEWFORD{NAME_END} TOWN");
-const u8 gMapName_LavaridgeTown[] = _("LAVARIDGE{NAME_END} TOWN");
-const u8 gMapName_FallarborTown[] = _("FALLARBOR{NAME_END} TOWN");
-const u8 gMapName_VerdanturfTown[] = _("VERDANTURF{NAME_END} TOWN");
-const u8 gMapName_PacifidlogTown[] = _("PACIFIDLOG{NAME_END} TOWN");
-const u8 gMapName_PetalburgCity[] = _("PETALBURG{NAME_END} CITY");
-const u8 gMapName_SlateportCity[] = _("SLATEPORT{NAME_END} CITY");
-const u8 gMapName_MauvilleCity[] = _("MAUVILLE{NAME_END} CITY");
-const u8 gMapName_RustboroCity[] = _("RUSTBORO{NAME_END} CITY");
-const u8 gMapName_FortreeCity[] = _("FORTREE{NAME_END} CITY");
-const u8 gMapName_LilycoveCity[] = _("LILYCOVE{NAME_END} CITY");
-const u8 gMapName_MossdeepCity[] = _("MOSSDEEP{NAME_END} CITY");
-const u8 gMapName_SootopolisCity[] = _("SOOTOPOLIS{NAME_END} CITY");
-const u8 gMapName_EverGrandeCity[] = _("EVER GRANDE{NAME_END} CITY");
-const u8 gMapName_Route101[] = _("ROUTE 101");
-const u8 gMapName_Route102[] = _("ROUTE 102");
-const u8 gMapName_Route103[] = _("ROUTE 103");
-const u8 gMapName_Route104[] = _("ROUTE 104");
-const u8 gMapName_Route105[] = _("ROUTE 105");
-const u8 gMapName_Route106[] = _("ROUTE 106");
-const u8 gMapName_Route107[] = _("ROUTE 107");
-const u8 gMapName_Route108[] = _("ROUTE 108");
-const u8 gMapName_Route109[] = _("ROUTE 109");
-const u8 gMapName_Route110[] = _("ROUTE 110");
-const u8 gMapName_Route111[] = _("ROUTE 111");
-const u8 gMapName_Route112[] = _("ROUTE 112");
-const u8 gMapName_Route113[] = _("ROUTE 113");
-const u8 gMapName_Route114[] = _("ROUTE 114");
-const u8 gMapName_Route115[] = _("ROUTE 115");
-const u8 gMapName_Route116[] = _("ROUTE 116");
-const u8 gMapName_Route117[] = _("ROUTE 117");
-const u8 gMapName_Route118[] = _("ROUTE 118");
-const u8 gMapName_Route119[] = _("ROUTE 119");
-const u8 gMapName_Route120[] = _("ROUTE 120");
-const u8 gMapName_Route121[] = _("ROUTE 121");
-const u8 gMapName_Route122[] = _("ROUTE 122");
-const u8 gMapName_Route123[] = _("ROUTE 123");
-const u8 gMapName_Route124[] = _("ROUTE 124");
-const u8 gMapName_Route125[] = _("ROUTE 125");
-const u8 gMapName_Route126[] = _("ROUTE 126");
-const u8 gMapName_Route127[] = _("ROUTE 127");
-const u8 gMapName_Route128[] = _("ROUTE 128");
-const u8 gMapName_Route129[] = _("ROUTE 129");
-const u8 gMapName_Route130[] = _("ROUTE 130");
-const u8 gMapName_Route131[] = _("ROUTE 131");
-const u8 gMapName_Route132[] = _("ROUTE 132");
-const u8 gMapName_Route133[] = _("ROUTE 133");
-const u8 gMapName_Route134[] = _("ROUTE 134");
-const u8 gMapName_Underwater[] = _("UNDERWATER");
-const u8 gMapName_GraniteCave[] = _("GRANITE CAVE");
-const u8 gMapName_MtChimney[] = _("MT. CHIMNEY");
-const u8 gMapName_SafariZone[] = _("SAFARI ZONE");
-const u8 gMapName_BattleTower[] = _("BATTLE TOWER");
-const u8 gMapName_PetalburgWoods[] = _("PETALBURG WOODS");
-const u8 gMapName_RusturfTunnel[] = _("RUSTURF TUNNEL");
-const u8 gMapName_AbandonedShip[] = _("ABANDONED SHIP");
-const u8 gMapName_NewMauville[] = _("NEW MAUVILLE");
-const u8 gMapName_MeteorFalls[] = _("METEOR FALLS");
-const u8 gMapName_MtPyre[] = _("MT. PYRE");
-const u8 gMapName_EvilTeamHideout[] = _("{EVIL_TEAM} HIDEOUT");
-const u8 gMapName_ShoalCave[] = _("SHOAL CAVE");
-const u8 gMapName_SeafloorCavern[] = _("SEAFLOOR CAVERN");
-const u8 gMapName_VictoryRoad[] = _("VICTORY ROAD");
-const u8 gMapName_MirageIsland[] = _("MIRAGE ISLAND");
-const u8 gMapName_CaveOfOrigin[] = _("CAVE OF ORIGIN");
-const u8 gMapName_SouthernIsland[] = _("SOUTHERN ISLAND");
-const u8 gMapName_FieryPath[] = _("FIERY PATH");
-const u8 gMapName_JaggedPass[] = _("JAGGED PASS");
-const u8 gMapName_SealedChamber[] = _("SEALED CHAMBER");
-const u8 gMapName_ScorchedSlab[] = _("SCORCHED SLAB");
-const u8 gMapName_IslandCave[] = _("ISLAND CAVE");
-const u8 gMapName_DesertRuins[] = _("DESERT RUINS");
-const u8 gMapName_AncientTomb[] = _("ANCIENT TOMB");
-const u8 gMapName_InsideOfTruck[] = _("INSIDE OF TRUCK");
-const u8 gMapName_SkyPillar[] = _("SKY PILLAR");
-const u8 gMapName_SecretBase[] = _("SECRET BASE");
-const u8 gMapName_None[] = _("");
diff --git a/src/landmark.c b/src/landmark.c
index 0572da4ca..520f88718 100644
--- a/src/landmark.c
+++ b/src/landmark.c
@@ -360,7 +360,7 @@ static const struct LandmarkList gLandmarkLists[] =
{MAPSEC_ROUTE_134, 1, Landmarks_OceanCurrent},
{MAPSEC_ROUTE_134, 2, Landmarks_Route134_2},
{MAPSEC_MT_CHIMNEY, 2, Landmarks_MtChimney_2},
- {MAPSEC_NOTHING, 0, NULL},
+ {MAPSEC_NONE, 0, NULL},
};
static const struct Landmark *const *GetLandmarks(u8 mapSection, u8 id);
@@ -396,7 +396,7 @@ static const struct Landmark *const *GetLandmarks(u8 mapSection, u8 id)
{
u16 i = 0;
- for (; gLandmarkLists[i].mapSection != MAPSEC_NOTHING; i++)
+ for (; gLandmarkLists[i].mapSection != MAPSEC_NONE; i++)
{
if (gLandmarkLists[i].mapSection > mapSection)
return NULL;
@@ -404,7 +404,7 @@ static const struct Landmark *const *GetLandmarks(u8 mapSection, u8 id)
break;
}
- if (gLandmarkLists[i].mapSection == MAPSEC_NOTHING)
+ if (gLandmarkLists[i].mapSection == MAPSEC_NONE)
return NULL;
for (; gLandmarkLists[i].mapSection == mapSection; i++)
diff --git a/src/libs/m4a.c b/src/libs/m4a.c
new file mode 100644
index 000000000..7b4441ca4
--- /dev/null
+++ b/src/libs/m4a.c
@@ -0,0 +1,1779 @@
+#include "gba/m4a_internal.h"
+
+extern const u8 gCgb3Vol[];
+
+#define BSS_CODE __attribute__((section(".bss.code")))
+
+BSS_CODE ALIGNED(4) char SoundMainRAM_Buffer[0x800] = {0};
+
+struct SoundInfo gSoundInfo;
+struct PokemonCrySong gPokemonCrySongs[MAX_POKEMON_CRIES];
+struct MusicPlayerInfo gPokemonCryMusicPlayers[MAX_POKEMON_CRIES];
+void *gMPlayJumpTable[36];
+struct CgbChannel gCgbChans[4];
+struct MusicPlayerTrack gPokemonCryTracks[MAX_POKEMON_CRIES * 2];
+struct PokemonCrySong gPokemonCrySong;
+struct MusicPlayerInfo gMPlayInfo_BGM;
+struct MusicPlayerInfo gMPlayInfo_SE1;
+struct MusicPlayerInfo gMPlayInfo_SE2;
+struct MusicPlayerInfo gMPlayInfo_SE3;
+u8 gMPlayMemAccArea[0x10];
+
+u32 MidiKeyToFreq(struct WaveData *wav, u8 key, u8 fineAdjust)
+{
+ u32 val1;
+ u32 val2;
+ u32 fineAdjustShifted = fineAdjust << 24;
+
+ if (key > 178)
+ {
+ key = 178;
+ fineAdjustShifted = 255 << 24;
+ }
+
+ val1 = gScaleTable[key];
+ val1 = gFreqTable[val1 & 0xF] >> (val1 >> 4);
+
+ val2 = gScaleTable[key + 1];
+ val2 = gFreqTable[val2 & 0xF] >> (val2 >> 4);
+
+ return umul3232H32(wav->freq, val1 + umul3232H32(val2 - val1, fineAdjustShifted));
+}
+
+void UnusedDummyFunc(void)
+{
+}
+
+void MPlayContinue(struct MusicPlayerInfo *mplayInfo)
+{
+ if (mplayInfo->ident == ID_NUMBER)
+ {
+ mplayInfo->ident++;
+ mplayInfo->status &= ~MUSICPLAYER_STATUS_PAUSE;
+ mplayInfo->ident = ID_NUMBER;
+ }
+}
+
+void MPlayFadeOut(struct MusicPlayerInfo *mplayInfo, u16 speed)
+{
+ if (mplayInfo->ident == ID_NUMBER)
+ {
+ mplayInfo->ident++;
+ mplayInfo->fadeOC = speed;
+ mplayInfo->fadeOI = speed;
+ mplayInfo->fadeOV = (64 << FADE_VOL_SHIFT);
+ mplayInfo->ident = ID_NUMBER;
+ }
+}
+
+void m4aSoundInit(void)
+{
+ s32 i;
+
+ CpuCopy32((void *)((s32)SoundMainRAM & ~1), SoundMainRAM_Buffer, sizeof(SoundMainRAM_Buffer));
+
+ SoundInit(&gSoundInfo);
+ MPlayExtender(gCgbChans);
+ m4aSoundMode(SOUND_MODE_DA_BIT_8
+ | SOUND_MODE_FREQ_13379
+ | (12 << SOUND_MODE_MASVOL_SHIFT)
+ | (5 << SOUND_MODE_MAXCHN_SHIFT));
+
+ for (i = 0; i < NUM_MUSIC_PLAYERS; i++)
+ {
+ struct MusicPlayerInfo *mplayInfo = gMPlayTable[i].info;
+ MPlayOpen(mplayInfo, gMPlayTable[i].track, gMPlayTable[i].unk_8);
+ mplayInfo->unk_B = gMPlayTable[i].unk_A;
+ mplayInfo->memAccArea = gMPlayMemAccArea;
+ }
+
+ memcpy(&gPokemonCrySong, &gPokemonCrySongTemplate, sizeof(struct PokemonCrySong));
+
+ for (i = 0; i < MAX_POKEMON_CRIES; i++)
+ {
+ struct MusicPlayerInfo *mplayInfo = &gPokemonCryMusicPlayers[i];
+ struct MusicPlayerTrack *track = &gPokemonCryTracks[i * 2];
+ MPlayOpen(mplayInfo, track, 2);
+ track->chan = 0;
+ }
+}
+
+void m4aSoundMain(void)
+{
+ SoundMain();
+}
+
+void m4aSongNumStart(u16 n)
+{
+ const struct MusicPlayer *mplayTable = gMPlayTable;
+ const struct Song *songTable = gSongTable;
+ const struct Song *song = &songTable[n];
+ const struct MusicPlayer *mplay = &mplayTable[song->ms];
+
+ MPlayStart(mplay->info, song->header);
+}
+
+void m4aSongNumStartOrChange(u16 n)
+{
+ const struct MusicPlayer *mplayTable = gMPlayTable;
+ const struct Song *songTable = gSongTable;
+ const struct Song *song = &songTable[n];
+ const struct MusicPlayer *mplay = &mplayTable[song->ms];
+
+ if (mplay->info->songHeader != song->header)
+ {
+ MPlayStart(mplay->info, song->header);
+ }
+ else
+ {
+ if ((mplay->info->status & MUSICPLAYER_STATUS_TRACK) == 0
+ || (mplay->info->status & MUSICPLAYER_STATUS_PAUSE))
+ {
+ MPlayStart(mplay->info, song->header);
+ }
+ }
+}
+
+void m4aSongNumStartOrContinue(u16 n)
+{
+ const struct MusicPlayer *mplayTable = gMPlayTable;
+ const struct Song *songTable = gSongTable;
+ const struct Song *song = &songTable[n];
+ const struct MusicPlayer *mplay = &mplayTable[song->ms];
+
+ if (mplay->info->songHeader != song->header)
+ MPlayStart(mplay->info, song->header);
+ else if ((mplay->info->status & MUSICPLAYER_STATUS_TRACK) == 0)
+ MPlayStart(mplay->info, song->header);
+ else if (mplay->info->status & MUSICPLAYER_STATUS_PAUSE)
+ MPlayContinue(mplay->info);
+}
+
+void m4aSongNumStop(u16 n)
+{
+ const struct MusicPlayer *mplayTable = gMPlayTable;
+ const struct Song *songTable = gSongTable;
+ const struct Song *song = &songTable[n];
+ const struct MusicPlayer *mplay = &mplayTable[song->ms];
+
+ if (mplay->info->songHeader == song->header)
+ m4aMPlayStop(mplay->info);
+}
+
+void m4aSongNumContinue(u16 n)
+{
+ const struct MusicPlayer *mplayTable = gMPlayTable;
+ const struct Song *songTable = gSongTable;
+ const struct Song *song = &songTable[n];
+ const struct MusicPlayer *mplay = &mplayTable[song->ms];
+
+ if (mplay->info->songHeader == song->header)
+ MPlayContinue(mplay->info);
+}
+
+void m4aMPlayAllStop(void)
+{
+ s32 i;
+
+ for (i = 0; i < NUM_MUSIC_PLAYERS; i++)
+ m4aMPlayStop(gMPlayTable[i].info);
+
+ for (i = 0; i < MAX_POKEMON_CRIES; i++)
+ m4aMPlayStop(&gPokemonCryMusicPlayers[i]);
+}
+
+void m4aMPlayContinue(struct MusicPlayerInfo *mplayInfo)
+{
+ MPlayContinue(mplayInfo);
+}
+
+void m4aMPlayAllContinue(void)
+{
+ s32 i;
+
+ for (i = 0; i < NUM_MUSIC_PLAYERS; i++)
+ MPlayContinue(gMPlayTable[i].info);
+
+ for (i = 0; i < MAX_POKEMON_CRIES; i++)
+ MPlayContinue(&gPokemonCryMusicPlayers[i]);
+}
+
+void m4aMPlayFadeOut(struct MusicPlayerInfo *mplayInfo, u16 speed)
+{
+ MPlayFadeOut(mplayInfo, speed);
+}
+
+void m4aMPlayFadeOutTemporarily(struct MusicPlayerInfo *mplayInfo, u16 speed)
+{
+ if (mplayInfo->ident == ID_NUMBER)
+ {
+ mplayInfo->ident++;
+ mplayInfo->fadeOC = speed;
+ mplayInfo->fadeOI = speed;
+ mplayInfo->fadeOV = (64 << FADE_VOL_SHIFT) | TEMPORARY_FADE;
+ mplayInfo->ident = ID_NUMBER;
+ }
+}
+
+void m4aMPlayFadeIn(struct MusicPlayerInfo *mplayInfo, u16 speed)
+{
+ if (mplayInfo->ident == ID_NUMBER)
+ {
+ mplayInfo->ident++;
+ mplayInfo->fadeOC = speed;
+ mplayInfo->fadeOI = speed;
+ mplayInfo->fadeOV = (0 << FADE_VOL_SHIFT) | FADE_IN;
+ mplayInfo->status &= ~MUSICPLAYER_STATUS_PAUSE;
+ mplayInfo->ident = ID_NUMBER;
+ }
+}
+
+void m4aMPlayImmInit(struct MusicPlayerInfo *mplayInfo)
+{
+ s32 trackCount = mplayInfo->trackCount;
+ struct MusicPlayerTrack *track = mplayInfo->tracks;
+
+ while (trackCount > 0)
+ {
+ if (track->flags & MPT_FLG_EXIST)
+ {
+ if (track->flags & MPT_FLG_START)
+ {
+ Clear64byte(track);
+ track->flags = MPT_FLG_EXIST;
+ track->bendRange = 2;
+ track->volX = 64;
+ track->lfoSpeed = 22;
+ track->tone.type = 1;
+ }
+ }
+
+ trackCount--;
+ track++;
+ }
+}
+
+void MPlayExtender(struct CgbChannel *cgbChans)
+{
+ struct SoundInfo *soundInfo;
+ u32 ident;
+
+ REG_SOUNDCNT_X = SOUND_MASTER_ENABLE
+ | SOUND_4_ON
+ | SOUND_3_ON
+ | SOUND_2_ON
+ | SOUND_1_ON;
+ REG_SOUNDCNT_L = 0; // set master volume to zero
+ REG_NR12 = 0x8;
+ REG_NR22 = 0x8;
+ REG_NR42 = 0x8;
+ REG_NR14 = 0x80;
+ REG_NR24 = 0x80;
+ REG_NR44 = 0x80;
+ REG_NR30 = 0;
+ REG_NR50 = 0x77;
+
+ soundInfo = SOUND_INFO_PTR;
+
+ ident = soundInfo->ident;
+
+ if (ident != ID_NUMBER)
+ return;
+
+ soundInfo->ident++;
+
+ gMPlayJumpTable[8] = ply_memacc;
+ gMPlayJumpTable[17] = ply_lfos;
+ gMPlayJumpTable[19] = ply_mod;
+ gMPlayJumpTable[28] = ply_xcmd;
+ gMPlayJumpTable[29] = ply_endtie;
+ gMPlayJumpTable[30] = SampleFreqSet;
+ gMPlayJumpTable[31] = TrackStop;
+ gMPlayJumpTable[32] = FadeOutBody;
+ gMPlayJumpTable[33] = TrkVolPitSet;
+
+ soundInfo->cgbChans = (struct CgbChannel *)cgbChans;
+ soundInfo->CgbSound = CgbSound;
+ soundInfo->CgbOscOff = CgbOscOff;
+ soundInfo->MidiKeyToCgbFreq = MidiKeyToCgbFreq;
+ soundInfo->maxLines = MAX_LINES;
+
+ CpuFill32(0, cgbChans, sizeof(struct CgbChannel) * 4);
+
+ cgbChans[0].ty = 1;
+ cgbChans[0].panMask = 0x11;
+ cgbChans[1].ty = 2;
+ cgbChans[1].panMask = 0x22;
+ cgbChans[2].ty = 3;
+ cgbChans[2].panMask = 0x44;
+ cgbChans[3].ty = 4;
+ cgbChans[3].panMask = 0x88;
+
+ soundInfo->ident = ident;
+}
+
+void MusicPlayerJumpTableCopy(void)
+{
+ asm("swi 0x2A");
+}
+
+void ClearChain(void *x)
+{
+ void (*func)(void *) = *(&gMPlayJumpTable[34]);
+ func(x);
+}
+
+void Clear64byte(void *x)
+{
+ void (*func)(void *) = *(&gMPlayJumpTable[35]);
+ func(x);
+}
+
+void SoundInit(struct SoundInfo *soundInfo)
+{
+ soundInfo->ident = 0;
+
+ if (REG_DMA1CNT & (DMA_REPEAT << 16))
+ REG_DMA1CNT = ((DMA_ENABLE | DMA_START_NOW | DMA_32BIT | DMA_SRC_INC | DMA_DEST_FIXED) << 16) | 4;
+
+ if (REG_DMA2CNT & (DMA_REPEAT << 16))
+ REG_DMA2CNT = ((DMA_ENABLE | DMA_START_NOW | DMA_32BIT | DMA_SRC_INC | DMA_DEST_FIXED) << 16) | 4;
+
+ REG_DMA1CNT_H = DMA_32BIT;
+ REG_DMA2CNT_H = DMA_32BIT;
+ REG_SOUNDCNT_X = SOUND_MASTER_ENABLE
+ | SOUND_4_ON
+ | SOUND_3_ON
+ | SOUND_2_ON
+ | SOUND_1_ON;
+ REG_SOUNDCNT_H = SOUND_B_FIFO_RESET | SOUND_B_TIMER_0 | SOUND_B_LEFT_OUTPUT
+ | SOUND_A_FIFO_RESET | SOUND_A_TIMER_0 | SOUND_A_RIGHT_OUTPUT
+ | SOUND_ALL_MIX_FULL;
+ REG_SOUNDBIAS_H = (REG_SOUNDBIAS_H & 0x3F) | 0x40;
+
+ REG_DMA1SAD = (s32)soundInfo->pcmBuffer;
+ REG_DMA1DAD = (s32)&REG_FIFO_A;
+ REG_DMA2SAD = (s32)soundInfo->pcmBuffer + PCM_DMA_BUF_SIZE;
+ REG_DMA2DAD = (s32)&REG_FIFO_B;
+
+ SOUND_INFO_PTR = soundInfo;
+ CpuFill32(0, soundInfo, sizeof(struct SoundInfo));
+
+ soundInfo->maxChans = 8;
+ soundInfo->masterVolume = 15;
+ soundInfo->plynote = (u32)ply_note;
+ soundInfo->CgbSound = DummyFunc;
+ soundInfo->CgbOscOff = (void (*)(u8))DummyFunc;
+ soundInfo->MidiKeyToCgbFreq = (u32 (*)(u8, u8, u8))DummyFunc;
+ soundInfo->ExtVolPit = (u32)DummyFunc;
+
+ MPlayJumpTableCopy(gMPlayJumpTable);
+
+ soundInfo->MPlayJumpTable = (u32)gMPlayJumpTable;
+
+ SampleFreqSet(SOUND_MODE_FREQ_13379);
+
+ soundInfo->ident = ID_NUMBER;
+}
+
+void SampleFreqSet(u32 freq)
+{
+ struct SoundInfo *soundInfo = SOUND_INFO_PTR;
+
+ freq = (freq & 0xF0000) >> 16;
+ soundInfo->freq = freq;
+ soundInfo->pcmSamplesPerVBlank = gPcmSamplesPerVBlankTable[freq - 1];
+ soundInfo->pcmDmaPeriod = PCM_DMA_BUF_SIZE / soundInfo->pcmSamplesPerVBlank;
+
+ // LCD refresh rate 59.7275Hz
+ soundInfo->pcmFreq = (597275 * soundInfo->pcmSamplesPerVBlank + 5000) / 10000;
+
+ // CPU frequency 16.78Mhz
+ soundInfo->divFreq = (16777216 / soundInfo->pcmFreq + 1) >> 1;
+
+ // Turn off timer 0.
+ REG_TM0CNT_H = 0;
+
+ // cycles per LCD fresh 280896
+ REG_TM0CNT_L = -(280896 / soundInfo->pcmSamplesPerVBlank);
+
+ m4aSoundVSyncOn();
+
+ while (*(vu8 *)REG_ADDR_VCOUNT == 159)
+ ;
+
+ while (*(vu8 *)REG_ADDR_VCOUNT != 159)
+ ;
+
+ REG_TM0CNT_H = TIMER_ENABLE | TIMER_1CLK;
+}
+
+void m4aSoundMode(u32 mode)
+{
+ struct SoundInfo *soundInfo = SOUND_INFO_PTR;
+ u32 temp;
+
+ if (soundInfo->ident != ID_NUMBER)
+ return;
+
+ soundInfo->ident++;
+
+ temp = mode & (SOUND_MODE_REVERB_SET | SOUND_MODE_REVERB_VAL);
+
+ if (temp)
+ soundInfo->reverb = temp & SOUND_MODE_REVERB_VAL;
+
+ temp = mode & SOUND_MODE_MAXCHN;
+
+ if (temp)
+ {
+ struct SoundChannel *chan;
+
+ soundInfo->maxChans = temp >> SOUND_MODE_MAXCHN_SHIFT;
+
+ temp = MAX_DIRECTSOUND_CHANNELS;
+ chan = &soundInfo->chans[0];
+
+ while (temp != 0)
+ {
+ chan->status = 0;
+ temp--;
+ chan++;
+ }
+ }
+
+ temp = mode & SOUND_MODE_MASVOL;
+
+ if (temp)
+ soundInfo->masterVolume = temp >> SOUND_MODE_MASVOL_SHIFT;
+
+ temp = mode & SOUND_MODE_DA_BIT;
+
+ if (temp)
+ {
+ temp = (temp & 0x300000) >> 14;
+ REG_SOUNDBIAS_H = (REG_SOUNDBIAS_H & 0x3F) | temp;
+ }
+
+ temp = mode & SOUND_MODE_FREQ;
+
+ if (temp)
+ {
+ m4aSoundVSyncOff();
+ SampleFreqSet(temp);
+ }
+
+ soundInfo->ident = ID_NUMBER;
+}
+
+void SoundClear(void)
+{
+ struct SoundInfo *soundInfo = SOUND_INFO_PTR;
+ s32 i;
+ void *chan;
+
+ if (soundInfo->ident != ID_NUMBER)
+ return;
+
+ soundInfo->ident++;
+
+ i = MAX_DIRECTSOUND_CHANNELS;
+ chan = &soundInfo->chans[0];
+
+ while (i > 0)
+ {
+ ((struct SoundChannel *)chan)->status = 0;
+ i--;
+ chan = (void *)((s32)chan + sizeof(struct SoundChannel));
+ }
+
+ chan = soundInfo->cgbChans;
+
+ if (chan)
+ {
+ i = 1;
+
+ while (i <= 4)
+ {
+ soundInfo->CgbOscOff(i);
+ ((struct CgbChannel *)chan)->sf = 0;
+ i++;
+ chan = (void *)((s32)chan + sizeof(struct CgbChannel));
+ }
+ }
+
+ soundInfo->ident = ID_NUMBER;
+}
+
+void m4aSoundVSyncOff(void)
+{
+ struct SoundInfo *soundInfo = SOUND_INFO_PTR;
+
+ if (soundInfo->ident >= ID_NUMBER && soundInfo->ident <= ID_NUMBER + 1)
+ {
+ soundInfo->ident += 10;
+
+ if (REG_DMA1CNT & (DMA_REPEAT << 16))
+ REG_DMA1CNT = ((DMA_ENABLE | DMA_START_NOW | DMA_32BIT | DMA_SRC_INC | DMA_DEST_FIXED) << 16) | 4;
+
+ if (REG_DMA2CNT & (DMA_REPEAT << 16))
+ REG_DMA2CNT = ((DMA_ENABLE | DMA_START_NOW | DMA_32BIT | DMA_SRC_INC | DMA_DEST_FIXED) << 16) | 4;
+
+ REG_DMA1CNT_H = DMA_32BIT;
+ REG_DMA2CNT_H = DMA_32BIT;
+
+ CpuFill32(0, soundInfo->pcmBuffer, sizeof(soundInfo->pcmBuffer));
+ }
+}
+
+void m4aSoundVSyncOn(void)
+{
+ struct SoundInfo *soundInfo = SOUND_INFO_PTR;
+ u32 ident = soundInfo->ident;
+
+ if (ident == ID_NUMBER)
+ return;
+
+ REG_DMA1CNT_H = DMA_ENABLE | DMA_START_SPECIAL | DMA_32BIT | DMA_REPEAT;
+ REG_DMA2CNT_H = DMA_ENABLE | DMA_START_SPECIAL | DMA_32BIT | DMA_REPEAT;
+
+ soundInfo->pcmDmaCounter = 0;
+ soundInfo->ident = ident - 10;
+}
+
+void MPlayOpen(struct MusicPlayerInfo *mplayInfo, struct MusicPlayerTrack *tracks, u8 trackCount)
+{
+ struct SoundInfo *soundInfo;
+
+ if (trackCount == 0)
+ return;
+
+ if (trackCount > MAX_MUSICPLAYER_TRACKS)
+ trackCount = MAX_MUSICPLAYER_TRACKS;
+
+ soundInfo = SOUND_INFO_PTR;
+
+ if (soundInfo->ident != ID_NUMBER)
+ return;
+
+ soundInfo->ident++;
+
+ Clear64byte(mplayInfo);
+
+ mplayInfo->tracks = tracks;
+ mplayInfo->trackCount = trackCount;
+ mplayInfo->status = MUSICPLAYER_STATUS_PAUSE;
+
+ while (trackCount != 0)
+ {
+ tracks->flags = 0;
+ trackCount--;
+ tracks++;
+ }
+
+ if (soundInfo->func != 0)
+ {
+ mplayInfo->func = soundInfo->func;
+ mplayInfo->intp = soundInfo->intp;
+ soundInfo->func = 0;
+ }
+
+ soundInfo->intp = (u32)mplayInfo;
+ soundInfo->func = (u32)MPlayMain;
+ soundInfo->ident = ID_NUMBER;
+ mplayInfo->ident = ID_NUMBER;
+}
+
+void MPlayStart(struct MusicPlayerInfo *mplayInfo, struct SongHeader *songHeader)
+{
+ s32 i;
+ u8 unk_B;
+ struct MusicPlayerTrack *track;
+
+ if (mplayInfo->ident != ID_NUMBER)
+ return;
+
+ unk_B = mplayInfo->unk_B;
+
+ if (!unk_B
+ || ((!mplayInfo->songHeader || !(mplayInfo->tracks[0].flags & MPT_FLG_START))
+ && ((mplayInfo->status & MUSICPLAYER_STATUS_TRACK) == 0
+ || (mplayInfo->status & MUSICPLAYER_STATUS_PAUSE)))
+ || (mplayInfo->priority <= songHeader->priority))
+ {
+ mplayInfo->ident++;
+ mplayInfo->status = 0;
+ mplayInfo->songHeader = songHeader;
+ mplayInfo->tone = songHeader->tone;
+ mplayInfo->priority = songHeader->priority;
+ mplayInfo->clock = 0;
+ mplayInfo->tempoD = 150;
+ mplayInfo->tempoI = 150;
+ mplayInfo->tempoU = 0x100;
+ mplayInfo->tempoC = 0;
+ mplayInfo->fadeOI = 0;
+
+ i = 0;
+ track = mplayInfo->tracks;
+
+ while (i < songHeader->trackCount && i < mplayInfo->trackCount)
+ {
+ TrackStop(mplayInfo, track);
+ track->flags = MPT_FLG_EXIST | MPT_FLG_START;
+ track->chan = 0;
+ track->cmdPtr = songHeader->part[i];
+ i++;
+ track++;
+ }
+
+ while (i < mplayInfo->trackCount)
+ {
+ TrackStop(mplayInfo, track);
+ track->flags = 0;
+ i++;
+ track++;
+ }
+
+ if (songHeader->reverb & 0x80)
+ m4aSoundMode(songHeader->reverb);
+
+ mplayInfo->ident = ID_NUMBER;
+ }
+}
+
+void m4aMPlayStop(struct MusicPlayerInfo *mplayInfo)
+{
+ s32 i;
+ struct MusicPlayerTrack *track;
+
+ if (mplayInfo->ident != ID_NUMBER)
+ return;
+
+ mplayInfo->ident++;
+ mplayInfo->status |= MUSICPLAYER_STATUS_PAUSE;
+
+ i = mplayInfo->trackCount;
+ track = mplayInfo->tracks;
+
+ while (i > 0)
+ {
+ TrackStop(mplayInfo, track);
+ i--;
+ track++;
+ }
+
+ mplayInfo->ident = ID_NUMBER;
+}
+
+void FadeOutBody(struct MusicPlayerInfo *mplayInfo)
+{
+ s32 i;
+ struct MusicPlayerTrack *track;
+ u16 fadeOV;
+#ifdef NONMATCHING
+ u16 mask;
+#else
+ register u16 mask asm("r2");
+#endif // NONMATCHING
+
+ if (mplayInfo->fadeOI == 0)
+ return;
+
+ mplayInfo->fadeOC--;
+ mask = 0xFFFF;
+
+ if (mplayInfo->fadeOC != 0)
+ return;
+
+ mplayInfo->fadeOC = mplayInfo->fadeOI;
+
+ if (mplayInfo->fadeOV & FADE_IN)
+ {
+ mplayInfo->fadeOV += (4 << FADE_VOL_SHIFT);
+
+ if ((u16)(mplayInfo->fadeOV & mask) >= (64 << FADE_VOL_SHIFT))
+ {
+ mplayInfo->fadeOV = (64 << FADE_VOL_SHIFT);
+ mplayInfo->fadeOI = 0;
+ }
+ }
+ else
+ {
+ mplayInfo->fadeOV -= (4 << FADE_VOL_SHIFT);
+
+ if ((s16)(mplayInfo->fadeOV & mask) <= 0)
+ {
+ i = mplayInfo->trackCount;
+ track = mplayInfo->tracks;
+
+ while (i > 0)
+ {
+ u32 val;
+
+ TrackStop(mplayInfo, track);
+
+ val = TEMPORARY_FADE;
+ fadeOV = mplayInfo->fadeOV;
+ val &= fadeOV;
+
+ if (!val)
+ track->flags = 0;
+
+ i--;
+ track++;
+ }
+
+ if (mplayInfo->fadeOV & TEMPORARY_FADE)
+ mplayInfo->status |= MUSICPLAYER_STATUS_PAUSE;
+ else
+ mplayInfo->status = MUSICPLAYER_STATUS_PAUSE;
+
+ mplayInfo->fadeOI = 0;
+ return;
+ }
+ }
+
+ i = mplayInfo->trackCount;
+ track = mplayInfo->tracks;
+
+ while (i > 0)
+ {
+ if (track->flags & MPT_FLG_EXIST)
+ {
+ fadeOV = mplayInfo->fadeOV;
+
+ track->volX = (fadeOV >> FADE_VOL_SHIFT);
+ track->flags |= MPT_FLG_VOLCHG;
+ }
+
+ i--;
+ track++;
+ }
+}
+
+void TrkVolPitSet(struct MusicPlayerInfo *mplayInfo, struct MusicPlayerTrack *track)
+{
+ if (track->flags & MPT_FLG_VOLSET)
+ {
+ s32 x;
+ s32 y;
+
+ x = (u32)(track->vol * track->volX) >> 5;
+
+ if (track->modT == 1)
+ x = (u32)(x * (track->modM + 128)) >> 7;
+
+ y = 2 * track->pan + track->panX;
+
+ if (track->modT == 2)
+ y += track->modM;
+
+ if (y < -128)
+ y = -128;
+ else if (y > 127)
+ y = 127;
+
+ track->volMR = (u32)((y + 128) * x) >> 8;
+ track->volML = (u32)((127 - y) * x) >> 8;
+ }
+
+ if (track->flags & MPT_FLG_PITSET)
+ {
+ s32 bend = track->bend * track->bendRange;
+ s32 x = (track->tune + bend)
+ * 4
+ + (track->keyShift << 8)
+ + (track->keyShiftX << 8)
+ + track->pitX;
+
+ if (track->modT == 0)
+ x += 16 * track->modM;
+
+ track->keyM = x >> 8;
+ track->pitM = x;
+ }
+
+ track->flags &= ~(MPT_FLG_PITSET | MPT_FLG_VOLSET);
+}
+
+u32 MidiKeyToCgbFreq(u8 chanNum, u8 key, u8 fineAdjust)
+{
+ if (chanNum == 4)
+ {
+ if (key <= 20)
+ {
+ key = 0;
+ }
+ else
+ {
+ key -= 21;
+ if (key > 59)
+ key = 59;
+ }
+
+ return gNoiseTable[key];
+ }
+ else
+ {
+ s32 val1;
+ s32 val2;
+
+ if (key <= 35)
+ {
+ fineAdjust = 0;
+ key = 0;
+ }
+ else
+ {
+ key -= 36;
+ if (key > 130)
+ {
+ key = 130;
+ fineAdjust = 255;
+ }
+ }
+
+ val1 = gCgbScaleTable[key];
+ val1 = gCgbFreqTable[val1 & 0xF] >> (val1 >> 4);
+
+ val2 = gCgbScaleTable[key + 1];
+ val2 = gCgbFreqTable[val2 & 0xF] >> (val2 >> 4);
+
+ return val1 + ((fineAdjust * (val2 - val1)) >> 8) + 2048;
+ }
+}
+
+void CgbOscOff(u8 chanNum)
+{
+ switch (chanNum)
+ {
+ case 1:
+ REG_NR12 = 8;
+ REG_NR14 = 0x80;
+ break;
+ case 2:
+ REG_NR22 = 8;
+ REG_NR24 = 0x80;
+ break;
+ case 3:
+ REG_NR30 = 0;
+ break;
+ default:
+ REG_NR42 = 8;
+ REG_NR44 = 0x80;
+ }
+}
+
+static inline int CgbPan(struct CgbChannel *chan)
+{
+ u32 rightVolume = chan->rightVolume;
+ u32 leftVolume = chan->leftVolume;
+
+ if ((rightVolume = (u8)rightVolume) >= (leftVolume = (u8)leftVolume))
+ {
+ if (rightVolume / 2 >= leftVolume)
+ {
+ chan->pan = 0x0F;
+ return 1;
+ }
+ }
+ else
+ {
+ if (leftVolume / 2 >= rightVolume)
+ {
+ chan->pan = 0xF0;
+ return 1;
+ }
+ }
+
+ return 0;
+}
+
+void CgbModVol(struct CgbChannel *chan)
+{
+ struct SoundInfo *soundInfo = SOUND_INFO_PTR;
+
+ if ((soundInfo->mode & 1) || !CgbPan(chan))
+ {
+ chan->pan = 0xFF;
+ chan->eg = (u32)(chan->rightVolume + chan->leftVolume) >> 4;
+ }
+ else
+ {
+ // Force chan->rightVolume and chan->leftVolume to be read from memory again,
+ // even though there is no reason to do so.
+ // The command line option "-fno-gcse" achieves the same result as this.
+ asm("" : : : "memory");
+
+ chan->eg = (u32)(chan->rightVolume + chan->leftVolume) >> 4;
+ if (chan->eg > 15)
+ chan->eg = 15;
+ }
+
+ chan->sg = (chan->eg * chan->su + 15) >> 4;
+ chan->pan &= chan->panMask;
+}
+
+void CgbSound(void)
+{
+ s32 ch;
+ struct CgbChannel *channels;
+ s32 evAdd;
+ s32 prevC15;
+ struct SoundInfo *soundInfo = SOUND_INFO_PTR;
+ vu8 *nrx0ptr;
+ vu8 *nrx1ptr;
+ vu8 *nrx2ptr;
+ vu8 *nrx3ptr;
+ vu8 *nrx4ptr;
+
+ // Most comparision operations that cast to s8 perform 'and' by 0xFF.
+ int mask = 0xff;
+
+ if (soundInfo->c15)
+ soundInfo->c15--;
+ else
+ soundInfo->c15 = 14;
+
+ for (ch = 1, channels = soundInfo->cgbChans; ch <= 4; ch++, channels++)
+ {
+ if (!(channels->sf & 0xc7))
+ continue;
+
+ switch (ch)
+ {
+ case 1:
+ nrx0ptr = (vu8 *)(REG_ADDR_NR10);
+ nrx1ptr = (vu8 *)(REG_ADDR_NR11);
+ nrx2ptr = (vu8 *)(REG_ADDR_NR12);
+ nrx3ptr = (vu8 *)(REG_ADDR_NR13);
+ nrx4ptr = (vu8 *)(REG_ADDR_NR14);
+ break;
+ case 2:
+ nrx0ptr = (vu8 *)(REG_ADDR_NR10+1);
+ nrx1ptr = (vu8 *)(REG_ADDR_NR21);
+ nrx2ptr = (vu8 *)(REG_ADDR_NR22);
+ nrx3ptr = (vu8 *)(REG_ADDR_NR23);
+ nrx4ptr = (vu8 *)(REG_ADDR_NR24);
+ break;
+ case 3:
+ nrx0ptr = (vu8 *)(REG_ADDR_NR30);
+ nrx1ptr = (vu8 *)(REG_ADDR_NR31);
+ nrx2ptr = (vu8 *)(REG_ADDR_NR32);
+ nrx3ptr = (vu8 *)(REG_ADDR_NR33);
+ nrx4ptr = (vu8 *)(REG_ADDR_NR34);
+ break;
+ default:
+ nrx0ptr = (vu8 *)(REG_ADDR_NR30+1);
+ nrx1ptr = (vu8 *)(REG_ADDR_NR41);
+ nrx2ptr = (vu8 *)(REG_ADDR_NR42);
+ nrx3ptr = (vu8 *)(REG_ADDR_NR43);
+ nrx4ptr = (vu8 *)(REG_ADDR_NR44);
+ break;
+ }
+
+ prevC15 = soundInfo->c15;
+ evAdd = *nrx2ptr;
+
+ if (channels->sf & 0x80)
+ {
+ if (!(channels->sf & 0x40))
+ {
+ channels->sf = 3;
+ channels->mo = 3;
+ CgbModVol(channels);
+ switch (ch)
+ {
+ case 1:
+ *nrx0ptr = channels->sw;
+ // fallthrough
+ case 2:
+ *nrx1ptr = ((u32)channels->wp << 6) + channels->le;
+ goto loc_82E0E30;
+ case 3:
+ if ((u32)channels->wp != channels->cp)
+ {
+ *nrx0ptr = 0x40;
+ REG_WAVE_RAM0 = channels->wp[0];
+ REG_WAVE_RAM1 = channels->wp[1];
+ REG_WAVE_RAM2 = channels->wp[2];
+ REG_WAVE_RAM3 = channels->wp[3];
+ channels->cp = (u32)channels->wp;
+ }
+ *nrx0ptr = 0;
+ *nrx1ptr = channels->le;
+ if (channels->le)
+ channels->n4 = -64;
+ else
+ channels->n4 = -128;
+ break;
+ default:
+ *nrx1ptr = channels->le;
+ *nrx3ptr = (u32)channels->wp << 3;
+ loc_82E0E30:
+ evAdd = channels->at + 8;
+ if (channels->le)
+ channels->n4 = 64;
+ else
+ channels->n4 = 0;
+ break;
+ }
+ channels->ec = channels->at;
+ if ((s8)(channels->at & mask))
+ {
+ channels->ev = 0;
+ goto EC_MINUS;
+ }
+ else
+ {
+ goto loc_82E0F96;
+ }
+ }
+ else
+ {
+ goto loc_82E0E82;
+ }
+ }
+ else if (channels->sf & 0x04)
+ {
+ channels->echoLength--;
+ if ((s8)(channels->echoLength & mask) <= 0)
+ {
+ loc_82E0E82:
+ CgbOscOff(ch);
+ channels->sf = 0;
+ goto LAST_LABEL;
+ }
+ goto loc_82E0FD6;
+ }
+ else if ((channels->sf & 0x40) && (channels->sf & 0x03))
+ {
+ channels->sf &= 0xfc;
+ channels->ec = channels->re;
+ if ((s8)(channels->re & mask))
+ {
+ channels->mo |= 1;
+ if (ch != 3)
+ {
+ evAdd = channels->re;
+ }
+ goto EC_MINUS;
+ }
+ else
+ {
+ goto loc_82E0F02;
+ }
+ }
+ else
+ {
+ loc_82E0ED0:
+ if (channels->ec == 0)
+ {
+ if (ch == 3)
+ {
+ channels->mo |= 1;
+ }
+ CgbModVol(channels);
+ if ((channels->sf & 0x3) == 0)
+ {
+ channels->ev--;
+ if ((s8)(channels->ev & mask) <= 0)
+ {
+ loc_82E0F02:
+ channels->ev = ((channels->eg * channels->echoVolume) + 0xFF) >> 8;
+ if (channels->ev)
+ {
+ channels->sf |= 0x4;
+ channels->mo |= 1;
+ if (ch != 3)
+ {
+ evAdd = 8;
+ }
+ goto loc_82E0FD6;
+ }
+ else
+ {
+ goto loc_82E0E82;
+ }
+ }
+ else
+ {
+ channels->ec = channels->re;
+ }
+ }
+ else if ((channels->sf & 0x3) == 1)
+ {
+ loc_82E0F3A:
+ channels->ev = channels->sg;
+ channels->ec = 7;
+ }
+ else if ((channels->sf & 0x3) == 2)
+ {
+ int ev, sg;
+
+ channels->ev--;
+ ev = (s8)(channels->ev & mask);
+ sg = (s8)(channels->sg);
+ if (ev <= sg)
+ {
+ loc_82E0F5A:
+ if (channels->su == 0)
+ {
+ channels->sf &= 0xfc;
+ goto loc_82E0F02;
+ }
+ else
+ {
+ channels->sf--;
+ channels->mo |= 1;
+ if (ch != 3)
+ {
+ evAdd = 8;
+ }
+ goto loc_82E0F3A;
+ }
+ }
+ else
+ {
+ channels->ec = channels->de;
+ }
+ }
+ else
+ {
+ channels->ev++;
+ if ((u8)(channels->ev & mask) >= channels->eg)
+ {
+ loc_82E0F96:
+ channels->sf--;
+ channels->ec = channels->de;
+ if ((u8)(channels->ec & mask))
+ {
+ channels->mo |= 1;
+ channels->ev = channels->eg;
+ if (ch != 3)
+ {
+ evAdd = channels->de;
+ }
+ }
+ else
+ {
+ goto loc_82E0F5A;
+ }
+ }
+ else
+ {
+ channels->ec = channels->at;
+ }
+ }
+ }
+ }
+
+ EC_MINUS:
+ channels->ec--;
+ if (prevC15 == 0)
+ {
+ prevC15--;
+ goto loc_82E0ED0;
+ }
+
+ loc_82E0FD6:
+ if (channels->mo & 0x2)
+ {
+ if (ch < 4 && (channels->ty & 0x08))
+ {
+ int biasH = REG_SOUNDBIAS_H;
+
+ if (biasH < 64)
+ {
+ channels->fr = (channels->fr + 2) & 0x7fc;
+ }
+ else if (biasH < 128)
+ {
+ channels->fr = (channels->fr + 1) & 0x7fe;
+ }
+ }
+ if (ch != 4)
+ {
+ *nrx3ptr = channels->fr;
+ }
+ else
+ {
+ *nrx3ptr = (*nrx3ptr & 0x08) | channels->fr;
+ }
+ channels->n4 = (channels->n4 & 0xC0) + (*((u8*)(&channels->fr) + 1));
+ *nrx4ptr = (s8)(channels->n4 & mask);
+ }
+
+ if (channels->mo & 1)
+ {
+ REG_NR51 = (REG_NR51 & ~channels->panMask) | channels->pan;
+ if (ch == 3)
+ {
+ *nrx2ptr = gCgb3Vol[channels->ev];
+ if (channels->n4 & 0x80)
+ {
+ *nrx0ptr = 0x80;
+ *nrx4ptr = channels->n4;
+ channels->n4 &= 0x7f;
+ }
+ }
+ else
+ {
+ evAdd &= 0xf;
+ *nrx2ptr = (channels->ev << 4) + evAdd;
+ *nrx4ptr = channels->n4 | 0x80;
+ if (ch == 1 && !(*nrx0ptr & 0x08))
+ {
+ *nrx4ptr = channels->n4 | 0x80;
+ }
+ }
+ }
+
+ LAST_LABEL:
+ channels->mo = 0;
+ }
+}
+
+void m4aMPlayTempoControl(struct MusicPlayerInfo *mplayInfo, u16 tempo)
+{
+ if (mplayInfo->ident == ID_NUMBER)
+ {
+ mplayInfo->ident++;
+ mplayInfo->tempoU = tempo;
+ mplayInfo->tempoI = (mplayInfo->tempoD * mplayInfo->tempoU) >> 8;
+ mplayInfo->ident = ID_NUMBER;
+ }
+}
+
+void m4aMPlayVolumeControl(struct MusicPlayerInfo *mplayInfo, u16 trackBits, u16 volume)
+{
+ s32 i;
+ u32 bit;
+ struct MusicPlayerTrack *track;
+
+ if (mplayInfo->ident != ID_NUMBER)
+ return;
+
+ mplayInfo->ident++;
+
+ i = mplayInfo->trackCount;
+ track = mplayInfo->tracks;
+ bit = 1;
+
+ while (i > 0)
+ {
+ if (trackBits & bit)
+ {
+ if (track->flags & MPT_FLG_EXIST)
+ {
+ track->volX = volume / 4;
+ track->flags |= MPT_FLG_VOLCHG;
+ }
+ }
+
+ i--;
+ track++;
+ bit <<= 1;
+ }
+
+ mplayInfo->ident = ID_NUMBER;
+}
+
+void m4aMPlayPitchControl(struct MusicPlayerInfo *mplayInfo, u16 trackBits, s16 pitch)
+{
+ s32 i;
+ u32 bit;
+ struct MusicPlayerTrack *track;
+
+ if (mplayInfo->ident != ID_NUMBER)
+ return;
+
+ mplayInfo->ident++;
+
+ i = mplayInfo->trackCount;
+ track = mplayInfo->tracks;
+ bit = 1;
+
+ while (i > 0)
+ {
+ if (trackBits & bit)
+ {
+ if (track->flags & MPT_FLG_EXIST)
+ {
+ track->keyShiftX = pitch >> 8;
+ track->pitX = pitch;
+ track->flags |= MPT_FLG_PITCHG;
+ }
+ }
+
+ i--;
+ track++;
+ bit <<= 1;
+ }
+
+ mplayInfo->ident = ID_NUMBER;
+}
+
+void m4aMPlayPanpotControl(struct MusicPlayerInfo *mplayInfo, u16 trackBits, s8 pan)
+{
+ s32 i;
+ u32 bit;
+ struct MusicPlayerTrack *track;
+
+ if (mplayInfo->ident != ID_NUMBER)
+ return;
+
+ mplayInfo->ident++;
+
+ i = mplayInfo->trackCount;
+ track = mplayInfo->tracks;
+ bit = 1;
+
+ while (i > 0)
+ {
+ if (trackBits & bit)
+ {
+ if (track->flags & MPT_FLG_EXIST)
+ {
+ track->panX = pan;
+ track->flags |= MPT_FLG_VOLCHG;
+ }
+ }
+
+ i--;
+ track++;
+ bit <<= 1;
+ }
+
+ mplayInfo->ident = ID_NUMBER;
+}
+
+void ClearModM(struct MusicPlayerTrack *track)
+{
+ track->lfoSpeedC = 0;
+ track->modM = 0;
+
+ if (track->modT == 0)
+ track->flags |= MPT_FLG_PITCHG;
+ else
+ track->flags |= MPT_FLG_VOLCHG;
+}
+
+void m4aMPlayModDepthSet(struct MusicPlayerInfo *mplayInfo, u16 trackBits, u8 modDepth)
+{
+ s32 i;
+ u32 bit;
+ struct MusicPlayerTrack *track;
+
+ if (mplayInfo->ident != ID_NUMBER)
+ return;
+
+ mplayInfo->ident++;
+
+ i = mplayInfo->trackCount;
+ track = mplayInfo->tracks;
+ bit = 1;
+
+ while (i > 0)
+ {
+ if (trackBits & bit)
+ {
+ if (track->flags & MPT_FLG_EXIST)
+ {
+ track->mod = modDepth;
+
+ if (!track->mod)
+ ClearModM(track);
+ }
+ }
+
+ i--;
+ track++;
+ bit <<= 1;
+ }
+
+ mplayInfo->ident = ID_NUMBER;
+}
+
+void m4aMPlayLFOSpeedSet(struct MusicPlayerInfo *mplayInfo, u16 trackBits, u8 lfoSpeed)
+{
+ s32 i;
+ u32 bit;
+ struct MusicPlayerTrack *track;
+
+ if (mplayInfo->ident != ID_NUMBER)
+ return;
+
+ mplayInfo->ident++;
+
+ i = mplayInfo->trackCount;
+ track = mplayInfo->tracks;
+ bit = 1;
+
+ while (i > 0)
+ {
+ if (trackBits & bit)
+ {
+ if (track->flags & MPT_FLG_EXIST)
+ {
+ track->lfoSpeed = lfoSpeed;
+
+ if (!track->lfoSpeed)
+ ClearModM(track);
+ }
+ }
+
+ i--;
+ track++;
+ bit <<= 1;
+ }
+
+ mplayInfo->ident = ID_NUMBER;
+}
+
+#define MEMACC_COND_JUMP(cond) \
+if (cond) \
+ goto cond_true; \
+else \
+ goto cond_false; \
+
+void ply_memacc(struct MusicPlayerInfo *mplayInfo, struct MusicPlayerTrack *track)
+{
+ u32 op;
+ u8 *addr;
+ u8 data;
+
+ op = *track->cmdPtr;
+ track->cmdPtr++;
+
+ addr = mplayInfo->memAccArea + *track->cmdPtr;
+ track->cmdPtr++;
+
+ data = *track->cmdPtr;
+ track->cmdPtr++;
+
+ switch (op)
+ {
+ case 0:
+ *addr = data;
+ return;
+ case 1:
+ *addr += data;
+ return;
+ case 2:
+ *addr -= data;
+ return;
+ case 3:
+ *addr = mplayInfo->memAccArea[data];
+ return;
+ case 4:
+ *addr += mplayInfo->memAccArea[data];
+ return;
+ case 5:
+ *addr -= mplayInfo->memAccArea[data];
+ return;
+ case 6:
+ MEMACC_COND_JUMP(*addr == data)
+ return;
+ case 7:
+ MEMACC_COND_JUMP(*addr != data)
+ return;
+ case 8:
+ MEMACC_COND_JUMP(*addr > data)
+ return;
+ case 9:
+ MEMACC_COND_JUMP(*addr >= data)
+ return;
+ case 10:
+ MEMACC_COND_JUMP(*addr <= data)
+ return;
+ case 11:
+ MEMACC_COND_JUMP(*addr < data)
+ return;
+ case 12:
+ MEMACC_COND_JUMP(*addr == mplayInfo->memAccArea[data])
+ return;
+ case 13:
+ MEMACC_COND_JUMP(*addr != mplayInfo->memAccArea[data])
+ return;
+ case 14:
+ MEMACC_COND_JUMP(*addr > mplayInfo->memAccArea[data])
+ return;
+ case 15:
+ MEMACC_COND_JUMP(*addr >= mplayInfo->memAccArea[data])
+ return;
+ case 16:
+ MEMACC_COND_JUMP(*addr <= mplayInfo->memAccArea[data])
+ return;
+ case 17:
+ MEMACC_COND_JUMP(*addr < mplayInfo->memAccArea[data])
+ return;
+ default:
+ return;
+ }
+
+cond_true:
+ {
+ void (*func)(struct MusicPlayerInfo *, struct MusicPlayerTrack *) = *(&gMPlayJumpTable[1]);
+ func(mplayInfo, track);
+ return;
+ }
+
+cond_false:
+ track->cmdPtr += 4;
+}
+
+void ply_xcmd(struct MusicPlayerInfo *mplayInfo, struct MusicPlayerTrack *track)
+{
+ u32 n = *track->cmdPtr;
+ track->cmdPtr++;
+
+ gXcmdTable[n](mplayInfo, track);
+}
+
+void ply_xxx(struct MusicPlayerInfo *mplayInfo, struct MusicPlayerTrack *track)
+{
+ void (*func)(struct MusicPlayerInfo *, struct MusicPlayerTrack *) = *(&gMPlayJumpTable[0]);
+ func(mplayInfo, track);
+}
+
+#define READ_XCMD_BYTE(var, n) \
+{ \
+ u32 byte = track->cmdPtr[(n)]; \
+ byte <<= n * 8; \
+ (var) &= ~(0xFF << (n * 8)); \
+ (var) |= byte; \
+}
+
+void ply_xwave(struct MusicPlayerInfo *mplayInfo, struct MusicPlayerTrack *track)
+{
+ u32 wav;
+
+ READ_XCMD_BYTE(wav, 0) // UB: uninitialized variable
+ READ_XCMD_BYTE(wav, 1)
+ READ_XCMD_BYTE(wav, 2)
+ READ_XCMD_BYTE(wav, 3)
+
+ track->tone.wav = (struct WaveData *)wav;
+ track->cmdPtr += 4;
+}
+
+void ply_xtype(struct MusicPlayerInfo *mplayInfo, struct MusicPlayerTrack *track)
+{
+ track->tone.type = *track->cmdPtr;
+ track->cmdPtr++;
+}
+
+void ply_xatta(struct MusicPlayerInfo *mplayInfo, struct MusicPlayerTrack *track)
+{
+ track->tone.attack = *track->cmdPtr;
+ track->cmdPtr++;
+}
+
+void ply_xdeca(struct MusicPlayerInfo *mplayInfo, struct MusicPlayerTrack *track)
+{
+ track->tone.decay = *track->cmdPtr;
+ track->cmdPtr++;
+}
+
+void ply_xsust(struct MusicPlayerInfo *mplayInfo, struct MusicPlayerTrack *track)
+{
+ track->tone.sustain = *track->cmdPtr;
+ track->cmdPtr++;
+}
+
+void ply_xrele(struct MusicPlayerInfo *mplayInfo, struct MusicPlayerTrack *track)
+{
+ track->tone.release = *track->cmdPtr;
+ track->cmdPtr++;
+}
+
+void ply_xiecv(struct MusicPlayerInfo *mplayInfo, struct MusicPlayerTrack *track)
+{
+ track->echoVolume = *track->cmdPtr;
+ track->cmdPtr++;
+}
+
+void ply_xiecl(struct MusicPlayerInfo *mplayInfo, struct MusicPlayerTrack *track)
+{
+ track->echoLength = *track->cmdPtr;
+ track->cmdPtr++;
+}
+
+void ply_xleng(struct MusicPlayerInfo *mplayInfo, struct MusicPlayerTrack *track)
+{
+ track->tone.length = *track->cmdPtr;
+ track->cmdPtr++;
+}
+
+void ply_xswee(struct MusicPlayerInfo *mplayInfo, struct MusicPlayerTrack *track)
+{
+ track->tone.pan_sweep = *track->cmdPtr;
+ track->cmdPtr++;
+}
+
+void ply_xcmd_0C(struct MusicPlayerInfo *mplayInfo, struct MusicPlayerTrack *track)
+{
+ u32 unk;
+
+ READ_XCMD_BYTE(unk, 0) // UB: uninitialized variable
+ READ_XCMD_BYTE(unk, 1)
+
+ if (track->unk_3A < (u16)unk)
+ {
+ track->unk_3A++;
+ track->cmdPtr -= 2;
+ track->wait = 1;
+ }
+ else
+ {
+ track->unk_3A = 0;
+ track->cmdPtr += 2;
+ }
+}
+
+void ply_xcmd_0D(struct MusicPlayerInfo *mplayInfo, struct MusicPlayerTrack *track)
+{
+ u32 unk;
+
+ READ_XCMD_BYTE(unk, 0) // UB: uninitialized variable
+ READ_XCMD_BYTE(unk, 1)
+ READ_XCMD_BYTE(unk, 2)
+ READ_XCMD_BYTE(unk, 3)
+
+ track->unk_3C = unk;
+ track->cmdPtr += 4;
+}
+
+void DummyFunc(void)
+{
+}
+
+struct MusicPlayerInfo *SetPokemonCryTone(struct ToneData *tone)
+{
+ u32 maxClock = 0;
+ s32 maxClockIndex = 0;
+ s32 i;
+ struct MusicPlayerInfo *mplayInfo;
+
+ for (i = 0; i < MAX_POKEMON_CRIES; i++)
+ {
+ struct MusicPlayerTrack *track = &gPokemonCryTracks[i * 2];
+
+ if (!track->flags && (!track->chan || track->chan->track != track))
+ goto start_song;
+
+ if (maxClock < gPokemonCryMusicPlayers[i].clock)
+ {
+ maxClock = gPokemonCryMusicPlayers[i].clock;
+ maxClockIndex = i;
+ }
+ }
+
+ i = maxClockIndex;
+
+start_song:
+ mplayInfo = &gPokemonCryMusicPlayers[i];
+ mplayInfo->ident++;
+
+#define CRY ((s32)&gPokemonCrySongs + i * sizeof(struct PokemonCrySong))
+#define CRY_OFS(field) offsetof(struct PokemonCrySong, field)
+
+ memcpy((void *)CRY, &gPokemonCrySong, sizeof(struct PokemonCrySong));
+
+ *(u32 *)(CRY + CRY_OFS(tone)) = (u32)tone;
+ *(u32 *)(CRY + CRY_OFS(part)) = CRY + CRY_OFS(part0);
+ *(u32 *)(CRY + CRY_OFS(part) + 4) = CRY + CRY_OFS(part1);
+ *(u32 *)(CRY + CRY_OFS(gotoTarget)) = CRY + CRY_OFS(cont);
+
+#undef CRY_OFS
+#undef CRY
+
+ mplayInfo->ident = ID_NUMBER;
+
+ MPlayStart(mplayInfo, (struct SongHeader *)(&gPokemonCrySongs[i]));
+
+ return mplayInfo;
+}
+
+void SetPokemonCryVolume(u8 val)
+{
+ gPokemonCrySong.volumeValue = val & 0x7F;
+}
+
+void SetPokemonCryPanpot(s8 val)
+{
+ gPokemonCrySong.panValue = (val + C_V) & 0x7F;
+}
+
+void SetPokemonCryPitch(s16 val)
+{
+ s16 b = val + 0x80;
+ u8 a = gPokemonCrySong.tuneValue2 - gPokemonCrySong.tuneValue;
+ gPokemonCrySong.tieKeyValue = (b >> 8) & 0x7F;
+ gPokemonCrySong.tuneValue = (b >> 1) & 0x7F;
+ gPokemonCrySong.tuneValue2 = (a + ((b >> 1) & 0x7F)) & 0x7F;
+}
+
+void SetPokemonCryLength(u16 val)
+{
+ gPokemonCrySong.unkCmd0CParam = val;
+}
+
+void SetPokemonCryRelease(u8 val)
+{
+ gPokemonCrySong.releaseValue = val;
+}
+
+void SetPokemonCryProgress(u32 val)
+{
+ gPokemonCrySong.unkCmd0DParam = val;
+}
+
+int IsPokemonCryPlaying(struct MusicPlayerInfo *mplayInfo)
+{
+ struct MusicPlayerTrack *track = mplayInfo->tracks;
+
+ if (track->chan && track->chan->track == track)
+ return 1;
+ else
+ return 0;
+}
+
+void SetPokemonCryChorus(s8 val)
+{
+ if (val)
+ {
+ gPokemonCrySong.trackCount = 2;
+ gPokemonCrySong.tuneValue2 = (val + gPokemonCrySong.tuneValue) & 0x7F;
+ }
+ else
+ {
+ gPokemonCrySong.trackCount = 1;
+ }
+}
+
+void SetPokemonCryStereo(u32 val)
+{
+ struct SoundInfo *soundInfo = SOUND_INFO_PTR;
+
+ if (val)
+ {
+ REG_SOUNDCNT_H = SOUND_B_TIMER_0 | SOUND_B_LEFT_OUTPUT
+ | SOUND_A_TIMER_0 | SOUND_A_RIGHT_OUTPUT
+ | SOUND_ALL_MIX_FULL;
+ soundInfo->mode &= ~1;
+ }
+ else
+ {
+ REG_SOUNDCNT_H = SOUND_B_TIMER_0 | SOUND_B_LEFT_OUTPUT | SOUND_B_RIGHT_OUTPUT
+ | SOUND_A_TIMER_0 | SOUND_A_LEFT_OUTPUT | SOUND_A_RIGHT_OUTPUT
+ | SOUND_B_MIX_HALF | SOUND_A_MIX_HALF | SOUND_CGB_MIX_FULL;
+ soundInfo->mode |= 1;
+ }
+}
+
+void SetPokemonCryPriority(u8 val)
+{
+ gPokemonCrySong.priority = val;
+}
diff --git a/src/libs/m4a_2.c b/src/libs/m4a_2.c
deleted file mode 100644
index 2e5956ef0..000000000
--- a/src/libs/m4a_2.c
+++ /dev/null
@@ -1,912 +0,0 @@
-#include "gba/m4a_internal.h"
-
-#define BSS_CODE __attribute__((section(".bss.code")))
-
-BSS_CODE ALIGNED(4) char SoundMainRAM_Buffer[0x800] = {0};
-
-struct SoundInfo gSoundInfo;
-struct PokemonCrySong gPokemonCrySongs[MAX_POKEMON_CRIES];
-struct MusicPlayerInfo gPokemonCryMusicPlayers[MAX_POKEMON_CRIES];
-void *gMPlayJumpTable[36];
-struct CgbChannel gCgbChans[4];
-struct MusicPlayerTrack gPokemonCryTracks[MAX_POKEMON_CRIES * 2];
-struct PokemonCrySong gPokemonCrySong;
-struct MusicPlayerInfo gMPlay_BGM;
-struct MusicPlayerInfo gMPlay_SE1;
-struct MusicPlayerInfo gMPlay_SE2;
-struct MusicPlayerInfo gMPlay_SE3;
-u8 gMPlayMemAccArea[0x10];
-
-u32 MidiKeyToFreq(struct WaveData *wav, u8 key, u8 fineAdjust)
-{
- u32 val1;
- u32 val2;
- u32 fineAdjustShifted = fineAdjust << 24;
-
- if (key > 178)
- {
- key = 178;
- fineAdjustShifted = 255 << 24;
- }
-
- val1 = gScaleTable[key];
- val1 = gFreqTable[val1 & 0xF] >> (val1 >> 4);
-
- val2 = gScaleTable[key + 1];
- val2 = gFreqTable[val2 & 0xF] >> (val2 >> 4);
-
- return umul3232H32(wav->freq, val1 + umul3232H32(val2 - val1, fineAdjustShifted));
-}
-
-void UnusedDummyFunc()
-{
-}
-
-void MPlayContinue(struct MusicPlayerInfo *mplayInfo)
-{
- if (mplayInfo->ident == ID_NUMBER)
- {
- mplayInfo->ident++;
- mplayInfo->status &= ~MUSICPLAYER_STATUS_PAUSE;
- mplayInfo->ident = ID_NUMBER;
- }
-}
-
-void MPlayFadeOut(struct MusicPlayerInfo *mplayInfo, u16 speed)
-{
- if (mplayInfo->ident == ID_NUMBER)
- {
- mplayInfo->ident++;
- mplayInfo->fadeOC = speed;
- mplayInfo->fadeOI = speed;
- mplayInfo->fadeOV = (64 << FADE_VOL_SHIFT);
- mplayInfo->ident = ID_NUMBER;
- }
-}
-
-void m4aSoundInit(void)
-{
- s32 i;
-
- CpuCopy32((void *)((s32)SoundMainRAM & ~1), SoundMainRAM_Buffer, sizeof(SoundMainRAM_Buffer));
-
- SoundInit(&gSoundInfo);
- MPlayExtender(gCgbChans);
- m4aSoundMode(SOUND_MODE_DA_BIT_8
- | SOUND_MODE_FREQ_13379
- | (12 << SOUND_MODE_MASVOL_SHIFT)
- | (5 << SOUND_MODE_MAXCHN_SHIFT));
-
- for (i = 0; i < NUM_MUSIC_PLAYERS; i++)
- {
- struct MusicPlayerInfo *mplayInfo = gMPlayTable[i].info;
- MPlayOpen(mplayInfo, gMPlayTable[i].track, gMPlayTable[i].unk_8);
- mplayInfo->unk_B = gMPlayTable[i].unk_A;
- mplayInfo->memAccArea = gMPlayMemAccArea;
- }
-
- gPokemonCrySong = gPokemonCrySongTemplate;
-
- for (i = 0; i < MAX_POKEMON_CRIES; i++)
- {
- struct MusicPlayerInfo *mplayInfo = &gPokemonCryMusicPlayers[i];
- struct MusicPlayerTrack *track = &gPokemonCryTracks[i * 2];
- MPlayOpen(mplayInfo, track, 2);
- track->chan = 0;
- }
-}
-
-void m4aSoundMain(void)
-{
- SoundMain();
-}
-
-void m4aSongNumStart(u16 n)
-{
- const struct MusicPlayer *mplayTable = gMPlayTable;
- const struct Song *songTable = gSongTable;
- const struct Song *song = &songTable[n];
- const struct MusicPlayer *mplay = &mplayTable[song->ms];
-
- MPlayStart(mplay->info, song->header);
-}
-
-void m4aSongNumStartOrChange(u16 n)
-{
- const struct MusicPlayer *mplayTable = gMPlayTable;
- const struct Song *songTable = gSongTable;
- const struct Song *song = &songTable[n];
- const struct MusicPlayer *mplay = &mplayTable[song->ms];
-
- if (mplay->info->songHeader != song->header)
- {
- MPlayStart(mplay->info, song->header);
- }
- else
- {
- if ((mplay->info->status & MUSICPLAYER_STATUS_TRACK) == 0
- || (mplay->info->status & MUSICPLAYER_STATUS_PAUSE))
- {
- MPlayStart(mplay->info, song->header);
- }
- }
-}
-
-void m4aSongNumStartOrContinue(u16 n)
-{
- const struct MusicPlayer *mplayTable = gMPlayTable;
- const struct Song *songTable = gSongTable;
- const struct Song *song = &songTable[n];
- const struct MusicPlayer *mplay = &mplayTable[song->ms];
-
- if (mplay->info->songHeader != song->header)
- MPlayStart(mplay->info, song->header);
- else if ((mplay->info->status & MUSICPLAYER_STATUS_TRACK) == 0)
- MPlayStart(mplay->info, song->header);
- else if (mplay->info->status & MUSICPLAYER_STATUS_PAUSE)
- MPlayContinue(mplay->info);
-}
-
-void m4aSongNumStop(u16 n)
-{
- const struct MusicPlayer *mplayTable = gMPlayTable;
- const struct Song *songTable = gSongTable;
- const struct Song *song = &songTable[n];
- const struct MusicPlayer *mplay = &mplayTable[song->ms];
-
- if (mplay->info->songHeader == song->header)
- m4aMPlayStop(mplay->info);
-}
-
-void m4aSongNumContinue(u16 n)
-{
- const struct MusicPlayer *mplayTable = gMPlayTable;
- const struct Song *songTable = gSongTable;
- const struct Song *song = &songTable[n];
- const struct MusicPlayer *mplay = &mplayTable[song->ms];
-
- if (mplay->info->songHeader == song->header)
- MPlayContinue(mplay->info);
-}
-
-void m4aMPlayAllStop(void)
-{
- s32 i;
-
- for (i = 0; i < NUM_MUSIC_PLAYERS; i++)
- m4aMPlayStop(gMPlayTable[i].info);
-
- for (i = 0; i < MAX_POKEMON_CRIES; i++)
- m4aMPlayStop(&gPokemonCryMusicPlayers[i]);
-}
-
-void m4aMPlayContinue(struct MusicPlayerInfo *mplayInfo)
-{
- MPlayContinue(mplayInfo);
-}
-
-void m4aMPlayAllContinue(void)
-{
- s32 i;
-
- for (i = 0; i < NUM_MUSIC_PLAYERS; i++)
- MPlayContinue(gMPlayTable[i].info);
-
- for (i = 0; i < MAX_POKEMON_CRIES; i++)
- MPlayContinue(&gPokemonCryMusicPlayers[i]);
-}
-
-void m4aMPlayFadeOut(struct MusicPlayerInfo *mplayInfo, u16 speed)
-{
- MPlayFadeOut(mplayInfo, speed);
-}
-
-void m4aMPlayFadeOutTemporarily(struct MusicPlayerInfo *mplayInfo, u16 speed)
-{
- if (mplayInfo->ident == ID_NUMBER)
- {
- mplayInfo->ident++;
- mplayInfo->fadeOC = speed;
- mplayInfo->fadeOI = speed;
- mplayInfo->fadeOV = (64 << FADE_VOL_SHIFT) | TEMPORARY_FADE;
- mplayInfo->ident = ID_NUMBER;
- }
-}
-
-void m4aMPlayFadeIn(struct MusicPlayerInfo *mplayInfo, u16 speed)
-{
- if (mplayInfo->ident == ID_NUMBER)
- {
- mplayInfo->ident++;
- mplayInfo->fadeOC = speed;
- mplayInfo->fadeOI = speed;
- mplayInfo->fadeOV = (0 << FADE_VOL_SHIFT) | FADE_IN;
- mplayInfo->status &= ~MUSICPLAYER_STATUS_PAUSE;
- mplayInfo->ident = ID_NUMBER;
- }
-}
-
-void m4aMPlayImmInit(struct MusicPlayerInfo *mplayInfo)
-{
- s32 trackCount = mplayInfo->trackCount;
- struct MusicPlayerTrack *track = mplayInfo->tracks;
-
- while (trackCount > 0)
- {
- if (track->flags & MPT_FLG_EXIST)
- {
- if (track->flags & MPT_FLG_START)
- {
- Clear64byte(track);
- track->flags = MPT_FLG_EXIST;
- track->bendRange = 2;
- track->volX = 64;
- track->lfoSpeed = 22;
- track->tone.type = 1;
- }
- }
-
- trackCount--;
- track++;
- }
-}
-
-void MPlayExtender(struct CgbChannel *cgbChans)
-{
- struct SoundInfo *soundInfo;
- u32 ident;
-
- REG_SOUNDCNT_X = SOUND_MASTER_ENABLE
- | SOUND_4_ON
- | SOUND_3_ON
- | SOUND_2_ON
- | SOUND_1_ON;
- REG_SOUNDCNT_L = 0; // set master volume to zero
- REG_NR12 = 0x8;
- REG_NR22 = 0x8;
- REG_NR42 = 0x8;
- REG_NR14 = 0x80;
- REG_NR24 = 0x80;
- REG_NR44 = 0x80;
- REG_NR30 = 0;
- REG_NR50 = 0x77;
-
- soundInfo = SOUND_INFO_PTR;
-
- ident = soundInfo->ident;
-
- if (ident != ID_NUMBER)
- return;
-
- soundInfo->ident++;
-
- gMPlayJumpTable[8] = ply_memacc;
- gMPlayJumpTable[17] = ply_lfos;
- gMPlayJumpTable[19] = ply_mod;
- gMPlayJumpTable[28] = ply_xcmd;
- gMPlayJumpTable[29] = ply_endtie;
- gMPlayJumpTable[30] = SampleFreqSet;
- gMPlayJumpTable[31] = TrackStop;
- gMPlayJumpTable[32] = FadeOutBody;
- gMPlayJumpTable[33] = TrkVolPitSet;
-
- soundInfo->cgbChans = (struct CgbChannel *)cgbChans;
- soundInfo->CgbSound = CgbSound;
- soundInfo->CgbOscOff = CgbOscOff;
- soundInfo->MidiKeyToCgbFreq = MidiKeyToCgbFreq;
- soundInfo->maxLines = MAX_LINES;
-
- CpuFill32(0, cgbChans, sizeof(struct CgbChannel) * 4);
-
- cgbChans[0].ty = 1;
- cgbChans[0].panMask = 0x11;
- cgbChans[1].ty = 2;
- cgbChans[1].panMask = 0x22;
- cgbChans[2].ty = 3;
- cgbChans[2].panMask = 0x44;
- cgbChans[3].ty = 4;
- cgbChans[3].panMask = 0x88;
-
- soundInfo->ident = ident;
-}
-
-void MusicPlayerJumpTableCopy(void)
-{
- asm("swi 0x2A");
-}
-
-void ClearChain(void *x)
-{
- void (*func)(void *) = *(&gMPlayJumpTable[34]);
- func(x);
-}
-
-void Clear64byte(void *x)
-{
- void (*func)(void *) = *(&gMPlayJumpTable[35]);
- func(x);
-}
-
-void SoundInit(struct SoundInfo *soundInfo)
-{
- soundInfo->ident = 0;
-
- if (REG_DMA1CNT & (DMA_REPEAT << 16))
- REG_DMA1CNT = ((DMA_ENABLE | DMA_START_NOW | DMA_32BIT | DMA_SRC_INC | DMA_DEST_FIXED) << 16) | 4;
-
- if (REG_DMA2CNT & (DMA_REPEAT << 16))
- REG_DMA2CNT = ((DMA_ENABLE | DMA_START_NOW | DMA_32BIT | DMA_SRC_INC | DMA_DEST_FIXED) << 16) | 4;
-
- REG_DMA1CNT_H = DMA_32BIT;
- REG_DMA2CNT_H = DMA_32BIT;
- REG_SOUNDCNT_X = SOUND_MASTER_ENABLE
- | SOUND_4_ON
- | SOUND_3_ON
- | SOUND_2_ON
- | SOUND_1_ON;
- REG_SOUNDCNT_H = SOUND_B_FIFO_RESET | SOUND_B_TIMER_0 | SOUND_B_LEFT_OUTPUT
- | SOUND_A_FIFO_RESET | SOUND_A_TIMER_0 | SOUND_A_RIGHT_OUTPUT
- | SOUND_ALL_MIX_FULL;
- REG_SOUNDBIAS_H = (REG_SOUNDBIAS_H & 0x3F) | 0x40;
-
- REG_DMA1SAD = (s32)soundInfo->pcmBuffer;
- REG_DMA1DAD = (s32)&REG_FIFO_A;
- REG_DMA2SAD = (s32)soundInfo->pcmBuffer + PCM_DMA_BUF_SIZE;
- REG_DMA2DAD = (s32)&REG_FIFO_B;
-
- SOUND_INFO_PTR = soundInfo;
- CpuFill32(0, soundInfo, sizeof(struct SoundInfo));
-
- soundInfo->maxChans = 8;
- soundInfo->masterVolume = 15;
- soundInfo->plynote = (u32)ply_note;
- soundInfo->CgbSound = DummyFunc;
- soundInfo->CgbOscOff = (void (*)(u8))DummyFunc;
- soundInfo->MidiKeyToCgbFreq = (u32 (*)(u8, u8, u8))DummyFunc;
- soundInfo->ExtVolPit = (u32)DummyFunc;
-
- MPlayJumpTableCopy(gMPlayJumpTable);
-
- soundInfo->MPlayJumpTable = (u32)gMPlayJumpTable;
-
- SampleFreqSet(SOUND_MODE_FREQ_13379);
-
- soundInfo->ident = ID_NUMBER;
-}
-
-void SampleFreqSet(u32 freq)
-{
- struct SoundInfo *soundInfo = SOUND_INFO_PTR;
-
- freq = (freq & 0xF0000) >> 16;
- soundInfo->freq = freq;
- soundInfo->pcmSamplesPerVBlank = gPcmSamplesPerVBlankTable[freq - 1];
- soundInfo->pcmDmaPeriod = PCM_DMA_BUF_SIZE / soundInfo->pcmSamplesPerVBlank;
-
- // LCD refresh rate 59.7275Hz
- soundInfo->pcmFreq = (597275 * soundInfo->pcmSamplesPerVBlank + 5000) / 10000;
-
- // CPU frequency 16.78Mhz
- soundInfo->divFreq = (16777216 / soundInfo->pcmFreq + 1) >> 1;
-
- // Turn off timer 0.
- REG_TM0CNT_H = 0;
-
- // cycles per LCD fresh 280896
- REG_TM0CNT_L = -(280896 / soundInfo->pcmSamplesPerVBlank);
-
- m4aSoundVSyncOn();
-
- while (*(vu8 *)REG_ADDR_VCOUNT == 159)
- ;
-
- while (*(vu8 *)REG_ADDR_VCOUNT != 159)
- ;
-
- REG_TM0CNT_H = TIMER_ENABLE | TIMER_1CLK;
-}
-
-void m4aSoundMode(u32 mode)
-{
- struct SoundInfo *soundInfo = SOUND_INFO_PTR;
- u32 temp;
-
- if (soundInfo->ident != ID_NUMBER)
- return;
-
- soundInfo->ident++;
-
- temp = mode & (SOUND_MODE_REVERB_SET | SOUND_MODE_REVERB_VAL);
-
- if (temp)
- soundInfo->reverb = temp & SOUND_MODE_REVERB_VAL;
-
- temp = mode & SOUND_MODE_MAXCHN;
-
- if (temp)
- {
- struct SoundChannel *chan;
-
- soundInfo->maxChans = temp >> SOUND_MODE_MAXCHN_SHIFT;
-
- temp = MAX_DIRECTSOUND_CHANNELS;
- chan = &soundInfo->chans[0];
-
- while (temp != 0)
- {
- chan->status = 0;
- temp--;
- chan++;
- }
- }
-
- temp = mode & SOUND_MODE_MASVOL;
-
- if (temp)
- soundInfo->masterVolume = temp >> SOUND_MODE_MASVOL_SHIFT;
-
- temp = mode & SOUND_MODE_DA_BIT;
-
- if (temp)
- {
- temp = (temp & 0x300000) >> 14;
- REG_SOUNDBIAS_H = (REG_SOUNDBIAS_H & 0x3F) | temp;
- }
-
- temp = mode & SOUND_MODE_FREQ;
-
- if (temp)
- {
- m4aSoundVSyncOff();
- SampleFreqSet(temp);
- }
-
- soundInfo->ident = ID_NUMBER;
-}
-
-void SoundClear(void)
-{
- struct SoundInfo *soundInfo = SOUND_INFO_PTR;
- s32 i;
- void *chan;
-
- if (soundInfo->ident != ID_NUMBER)
- return;
-
- soundInfo->ident++;
-
- i = MAX_DIRECTSOUND_CHANNELS;
- chan = &soundInfo->chans[0];
-
- while (i > 0)
- {
- ((struct SoundChannel *)chan)->status = 0;
- i--;
- chan = (void *)((s32)chan + sizeof(struct SoundChannel));
- }
-
- chan = soundInfo->cgbChans;
-
- if (chan)
- {
- i = 1;
-
- while (i <= 4)
- {
- soundInfo->CgbOscOff(i);
- ((struct CgbChannel *)chan)->sf = 0;
- i++;
- chan = (void *)((s32)chan + sizeof(struct CgbChannel));
- }
- }
-
- soundInfo->ident = ID_NUMBER;
-}
-
-void m4aSoundVSyncOff(void)
-{
- struct SoundInfo *soundInfo = SOUND_INFO_PTR;
-
- if (soundInfo->ident >= ID_NUMBER && soundInfo->ident <= ID_NUMBER + 1)
- {
- soundInfo->ident += 10;
-
- if (REG_DMA1CNT & (DMA_REPEAT << 16))
- REG_DMA1CNT = ((DMA_ENABLE | DMA_START_NOW | DMA_32BIT | DMA_SRC_INC | DMA_DEST_FIXED) << 16) | 4;
-
- if (REG_DMA2CNT & (DMA_REPEAT << 16))
- REG_DMA2CNT = ((DMA_ENABLE | DMA_START_NOW | DMA_32BIT | DMA_SRC_INC | DMA_DEST_FIXED) << 16) | 4;
-
- REG_DMA1CNT_H = DMA_32BIT;
- REG_DMA2CNT_H = DMA_32BIT;
-
- CpuFill32(0, soundInfo->pcmBuffer, sizeof(soundInfo->pcmBuffer));
- }
-}
-
-void m4aSoundVSyncOn(void)
-{
- struct SoundInfo *soundInfo = SOUND_INFO_PTR;
- u32 ident = soundInfo->ident;
-
- if (ident == ID_NUMBER)
- return;
-
- REG_DMA1CNT_H = DMA_ENABLE | DMA_START_SPECIAL | DMA_32BIT | DMA_REPEAT;
- REG_DMA2CNT_H = DMA_ENABLE | DMA_START_SPECIAL | DMA_32BIT | DMA_REPEAT;
-
- soundInfo->pcmDmaCounter = 0;
- soundInfo->ident = ident - 10;
-}
-
-void MPlayOpen(struct MusicPlayerInfo *mplayInfo, struct MusicPlayerTrack *tracks, u8 trackCount)
-{
- struct SoundInfo *soundInfo;
-
- if (trackCount == 0)
- return;
-
- if (trackCount > MAX_MUSICPLAYER_TRACKS)
- trackCount = MAX_MUSICPLAYER_TRACKS;
-
- soundInfo = SOUND_INFO_PTR;
-
- if (soundInfo->ident != ID_NUMBER)
- return;
-
- soundInfo->ident++;
-
- Clear64byte(mplayInfo);
-
- mplayInfo->tracks = tracks;
- mplayInfo->trackCount = trackCount;
- mplayInfo->status = MUSICPLAYER_STATUS_PAUSE;
-
- while (trackCount != 0)
- {
- tracks->flags = 0;
- trackCount--;
- tracks++;
- }
-
- if (soundInfo->func != 0)
- {
- mplayInfo->func = soundInfo->func;
- mplayInfo->intp = soundInfo->intp;
- soundInfo->func = 0;
- }
-
- soundInfo->intp = (u32)mplayInfo;
- soundInfo->func = (u32)MPlayMain;
- soundInfo->ident = ID_NUMBER;
- mplayInfo->ident = ID_NUMBER;
-}
-
-void MPlayStart(struct MusicPlayerInfo *mplayInfo, struct SongHeader *songHeader)
-{
- s32 i;
- u8 unk_B;
- struct MusicPlayerTrack *track;
-
- if (mplayInfo->ident != ID_NUMBER)
- return;
-
- unk_B = mplayInfo->unk_B;
-
- if (!unk_B
- || ((!mplayInfo->songHeader || !(mplayInfo->tracks[0].flags & MPT_FLG_START))
- && ((mplayInfo->status & MUSICPLAYER_STATUS_TRACK) == 0
- || (mplayInfo->status & MUSICPLAYER_STATUS_PAUSE)))
- || (mplayInfo->priority <= songHeader->priority))
- {
- mplayInfo->ident++;
- mplayInfo->status = 0;
- mplayInfo->songHeader = songHeader;
- mplayInfo->tone = songHeader->tone;
- mplayInfo->priority = songHeader->priority;
- mplayInfo->clock = 0;
- mplayInfo->tempoD = 150;
- mplayInfo->tempoI = 150;
- mplayInfo->tempoU = 0x100;
- mplayInfo->tempoC = 0;
- mplayInfo->fadeOI = 0;
-
- i = 0;
- track = mplayInfo->tracks;
-
- while (i < songHeader->trackCount && i < mplayInfo->trackCount)
- {
- TrackStop(mplayInfo, track);
- track->flags = MPT_FLG_EXIST | MPT_FLG_START;
- track->chan = 0;
- track->cmdPtr = songHeader->part[i];
- i++;
- track++;
- }
-
- while (i < mplayInfo->trackCount)
- {
- TrackStop(mplayInfo, track);
- track->flags = 0;
- i++;
- track++;
- }
-
- if (songHeader->reverb & 0x80)
- m4aSoundMode(songHeader->reverb);
-
- mplayInfo->ident = ID_NUMBER;
- }
-}
-
-void m4aMPlayStop(struct MusicPlayerInfo *mplayInfo)
-{
- s32 i;
- struct MusicPlayerTrack *track;
-
- if (mplayInfo->ident != ID_NUMBER)
- return;
-
- mplayInfo->ident++;
- mplayInfo->status |= MUSICPLAYER_STATUS_PAUSE;
-
- i = mplayInfo->trackCount;
- track = mplayInfo->tracks;
-
- while (i > 0)
- {
- TrackStop(mplayInfo, track);
- i--;
- track++;
- }
-
- mplayInfo->ident = ID_NUMBER;
-}
-
-void FadeOutBody(struct MusicPlayerInfo *mplayInfo)
-{
- s32 i;
- struct MusicPlayerTrack *track;
- u16 fadeOI = mplayInfo->fadeOI;
- register u32 temp asm("r3");
- register u16 mask asm("r2");
-
- if (fadeOI == 0)
- return;
-
- mplayInfo->fadeOC--;
-
- temp = 0xFFFF;
- mask = temp;
-
- if (mplayInfo->fadeOC != 0)
- return;
-
- mplayInfo->fadeOC = fadeOI;
-
- if (mplayInfo->fadeOV & FADE_IN)
- {
- mplayInfo->fadeOV += (4 << FADE_VOL_SHIFT);
-
- if ((u16)(mplayInfo->fadeOV & mask) >= (64 << FADE_VOL_SHIFT))
- {
- mplayInfo->fadeOV = (64 << FADE_VOL_SHIFT);
- mplayInfo->fadeOI = 0;
- }
- }
- else
- {
- mplayInfo->fadeOV -= (4 << FADE_VOL_SHIFT);
-
- if ((s16)(mplayInfo->fadeOV & mask) <= 0)
- {
- i = mplayInfo->trackCount;
- track = mplayInfo->tracks;
-
- while (i > 0)
- {
- register u32 fadeOV asm("r7");
- u32 val;
-
- TrackStop(mplayInfo, track);
-
- val = TEMPORARY_FADE;
- fadeOV = mplayInfo->fadeOV;
- val &= fadeOV;
-
- if (!val)
- track->flags = 0;
-
- i--;
- track++;
- }
-
- if (mplayInfo->fadeOV & TEMPORARY_FADE)
- mplayInfo->status |= MUSICPLAYER_STATUS_PAUSE;
- else
- mplayInfo->status = MUSICPLAYER_STATUS_PAUSE;
-
- mplayInfo->fadeOI = 0;
- return;
- }
- }
-
- i = mplayInfo->trackCount;
- track = mplayInfo->tracks;
-
- while (i > 0)
- {
- if (track->flags & MPT_FLG_EXIST)
- {
- track->volX = (mplayInfo->fadeOV >> FADE_VOL_SHIFT);
- track->flags |= MPT_FLG_VOLCHG;
- }
-
- i--;
- track++;
- }
-}
-
-void TrkVolPitSet(struct MusicPlayerInfo *mplayInfo, struct MusicPlayerTrack *track)
-{
- if (track->flags & MPT_FLG_VOLSET)
- {
- s32 x;
- s32 y;
-
- x = (u32)(track->vol * track->volX) >> 5;
-
- if (track->modT == 1)
- x = (u32)(x * (track->modM + 128)) >> 7;
-
- y = 2 * track->pan + track->panX;
-
- if (track->modT == 2)
- y += track->modM;
-
- if (y < -128)
- y = -128;
- else if (y > 127)
- y = 127;
-
- track->volMR = (u32)((y + 128) * x) >> 8;
- track->volML = (u32)((127 - y) * x) >> 8;
- }
-
- if (track->flags & MPT_FLG_PITSET)
- {
- s32 bend = track->bend * track->bendRange;
- register s32 x asm("r1") = track->tune;
- x += bend;
- x *= 4;
- x += (track->keyShift << 8);
- x += (track->keyShiftX << 8);
- x += track->pitX;
-
- if (track->modT == 0)
- x += 16 * track->modM;
-
- track->keyM = x >> 8;
- track->pitM = x;
- }
-
- track->flags &= ~(MPT_FLG_PITSET | MPT_FLG_VOLSET);
-}
-
-u32 MidiKeyToCgbFreq(u8 chanNum, u8 key, u8 fineAdjust)
-{
- if (chanNum == 4)
- {
- if (key <= 20)
- {
- key = 0;
- }
- else
- {
- key -= 21;
- if (key > 59)
- key = 59;
- }
-
- return gNoiseTable[key];
- }
- else
- {
- s32 val1;
- s32 val2;
-
- if (key <= 35)
- {
- fineAdjust = 0;
- key = 0;
- }
- else
- {
- key -= 36;
- if (key > 130)
- {
- key = 130;
- fineAdjust = 255;
- }
- }
-
- val1 = gCgbScaleTable[key];
- val1 = gCgbFreqTable[val1 & 0xF] >> (val1 >> 4);
-
- val2 = gCgbScaleTable[key + 1];
- val2 = gCgbFreqTable[val2 & 0xF] >> (val2 >> 4);
-
- return val1 + ((fineAdjust * (val2 - val1)) >> 8) + 2048;
- }
-}
-
-void CgbOscOff(u8 chanNum)
-{
- switch (chanNum)
- {
- case 1:
- REG_NR12 = 8;
- REG_NR14 = 0x80;
- break;
- case 2:
- REG_NR22 = 8;
- REG_NR24 = 0x80;
- break;
- case 3:
- REG_NR30 = 0;
- break;
- default:
- REG_NR42 = 8;
- REG_NR44 = 0x80;
- }
-}
-
-static inline int CgbPan(struct CgbChannel *chan)
-{
- u32 rightVolume = chan->rightVolume;
- u32 leftVolume = chan->leftVolume;
-
- if ((rightVolume = (u8)rightVolume) >= (leftVolume = (u8)leftVolume))
- {
- if (rightVolume / 2 >= leftVolume)
- {
- chan->pan = 0x0F;
- return 1;
- }
- }
- else
- {
- if (leftVolume / 2 >= rightVolume)
- {
- chan->pan = 0xF0;
- return 1;
- }
- }
-
- return 0;
-}
-
-void CgbModVol(struct CgbChannel *chan)
-{
- struct SoundInfo *soundInfo = SOUND_INFO_PTR;
-
- if ((soundInfo->mode & 1) || !CgbPan(chan))
- {
- chan->pan = 0xFF;
- chan->eg = (u32)(chan->rightVolume + chan->leftVolume) >> 4;
- }
- else
- {
- // Force chan->rightVolume and chan->leftVolume to be read from memory again,
- // even though there is no reason to do so.
- // The command line option "-fno-gcse" achieves the same result as this.
- asm("" : : : "memory");
-
- chan->eg = (u32)(chan->rightVolume + chan->leftVolume) >> 4;
- if (chan->eg > 15)
- chan->eg = 15;
- }
-
- chan->sg = (chan->eg * chan->su + 15) >> 4;
- chan->pan &= chan->panMask;
-}
diff --git a/src/libs/m4a_4.c b/src/libs/m4a_4.c
deleted file mode 100644
index da5550252..000000000
--- a/src/libs/m4a_4.c
+++ /dev/null
@@ -1,545 +0,0 @@
-#include "gba/m4a_internal.h"
-
-void m4aMPlayTempoControl(struct MusicPlayerInfo *mplayInfo, u16 tempo)
-{
- if (mplayInfo->ident == ID_NUMBER)
- {
- mplayInfo->ident++;
- mplayInfo->tempoU = tempo;
- mplayInfo->tempoI = (mplayInfo->tempoD * mplayInfo->tempoU) >> 8;
- mplayInfo->ident = ID_NUMBER;
- }
-}
-
-void m4aMPlayVolumeControl(struct MusicPlayerInfo *mplayInfo, u16 trackBits, u16 volume)
-{
- s32 i;
- u32 bit;
- struct MusicPlayerTrack *track;
-
- if (mplayInfo->ident != ID_NUMBER)
- return;
-
- mplayInfo->ident++;
-
- i = mplayInfo->trackCount;
- track = mplayInfo->tracks;
- bit = 1;
-
- while (i > 0)
- {
- if (trackBits & bit)
- {
- if (track->flags & MPT_FLG_EXIST)
- {
- track->volX = volume / 4;
- track->flags |= MPT_FLG_VOLCHG;
- }
- }
-
- i--;
- track++;
- bit <<= 1;
- }
-
- mplayInfo->ident = ID_NUMBER;
-}
-
-void m4aMPlayPitchControl(struct MusicPlayerInfo *mplayInfo, u16 trackBits, s16 pitch)
-{
- s32 i;
- u32 bit;
- struct MusicPlayerTrack *track;
-
- if (mplayInfo->ident != ID_NUMBER)
- return;
-
- mplayInfo->ident++;
-
- i = mplayInfo->trackCount;
- track = mplayInfo->tracks;
- bit = 1;
-
- while (i > 0)
- {
- if (trackBits & bit)
- {
- if (track->flags & MPT_FLG_EXIST)
- {
- track->keyShiftX = (s16)pitch >> 8;
- track->pitX = pitch;
- track->flags |= MPT_FLG_PITCHG;
- }
- }
-
- i--;
- track++;
- bit <<= 1;
- }
-
- mplayInfo->ident = ID_NUMBER;
-}
-
-void m4aMPlayPanpotControl(struct MusicPlayerInfo *mplayInfo, u16 trackBits, s8 pan)
-{
- s32 i;
- u32 bit;
- struct MusicPlayerTrack *track;
-
- if (mplayInfo->ident != ID_NUMBER)
- return;
-
- mplayInfo->ident++;
-
- i = mplayInfo->trackCount;
- track = mplayInfo->tracks;
- bit = 1;
-
- while (i > 0)
- {
- if (trackBits & bit)
- {
- if (track->flags & MPT_FLG_EXIST)
- {
- track->panX = pan;
- track->flags |= MPT_FLG_VOLCHG;
- }
- }
-
- i--;
- track++;
- bit <<= 1;
- }
-
- mplayInfo->ident = ID_NUMBER;
-}
-
-void ClearModM(struct MusicPlayerTrack *track)
-{
- track->lfoSpeedC = 0;
- track->modM = 0;
-
- if (track->modT == 0)
- track->flags |= MPT_FLG_PITCHG;
- else
- track->flags |= MPT_FLG_VOLCHG;
-}
-
-void m4aMPlayModDepthSet(struct MusicPlayerInfo *mplayInfo, u16 trackBits, u8 modDepth)
-{
- s32 i;
- u32 bit;
- struct MusicPlayerTrack *track;
-
- if (mplayInfo->ident != ID_NUMBER)
- return;
-
- mplayInfo->ident++;
-
- i = mplayInfo->trackCount;
- track = mplayInfo->tracks;
- bit = 1;
-
- while (i > 0)
- {
- if (trackBits & bit)
- {
- if (track->flags & MPT_FLG_EXIST)
- {
- track->mod = modDepth;
-
- if (!track->mod)
- ClearModM(track);
- }
- }
-
- i--;
- track++;
- bit <<= 1;
- }
-
- mplayInfo->ident = ID_NUMBER;
-}
-
-void m4aMPlayLFOSpeedSet(struct MusicPlayerInfo *mplayInfo, u16 trackBits, u8 lfoSpeed)
-{
- s32 i;
- u32 bit;
- struct MusicPlayerTrack *track;
-
- if (mplayInfo->ident != ID_NUMBER)
- return;
-
- mplayInfo->ident++;
-
- i = mplayInfo->trackCount;
- track = mplayInfo->tracks;
- bit = 1;
-
- while (i > 0)
- {
- if (trackBits & bit)
- {
- if (track->flags & MPT_FLG_EXIST)
- {
- track->lfoSpeed = lfoSpeed;
-
- if (!track->lfoSpeed)
- ClearModM(track);
- }
- }
-
- i--;
- track++;
- bit <<= 1;
- }
-
- mplayInfo->ident = ID_NUMBER;
-}
-
-#define MEMACC_COND_JUMP(cond) \
-if (cond) \
- goto cond_true; \
-else \
- goto cond_false; \
-
-void ply_memacc(struct MusicPlayerInfo *mplayInfo, struct MusicPlayerTrack *track)
-{
- u32 op;
- u8 *addr;
- u8 data;
-
- op = *track->cmdPtr;
- track->cmdPtr++;
-
- addr = mplayInfo->memAccArea + *track->cmdPtr;
- track->cmdPtr++;
-
- data = *track->cmdPtr;
- track->cmdPtr++;
-
- switch (op)
- {
- case 0:
- *addr = data;
- return;
- case 1:
- *addr += data;
- return;
- case 2:
- *addr -= data;
- return;
- case 3:
- *addr = mplayInfo->memAccArea[data];
- return;
- case 4:
- *addr += mplayInfo->memAccArea[data];
- return;
- case 5:
- *addr -= mplayInfo->memAccArea[data];
- return;
- case 6:
- MEMACC_COND_JUMP(*addr == data)
- return;
- case 7:
- MEMACC_COND_JUMP(*addr != data)
- return;
- case 8:
- MEMACC_COND_JUMP(*addr > data)
- return;
- case 9:
- MEMACC_COND_JUMP(*addr >= data)
- return;
- case 10:
- MEMACC_COND_JUMP(*addr <= data)
- return;
- case 11:
- MEMACC_COND_JUMP(*addr < data)
- return;
- case 12:
- MEMACC_COND_JUMP(*addr == mplayInfo->memAccArea[data])
- return;
- case 13:
- MEMACC_COND_JUMP(*addr != mplayInfo->memAccArea[data])
- return;
- case 14:
- MEMACC_COND_JUMP(*addr > mplayInfo->memAccArea[data])
- return;
- case 15:
- MEMACC_COND_JUMP(*addr >= mplayInfo->memAccArea[data])
- return;
- case 16:
- MEMACC_COND_JUMP(*addr <= mplayInfo->memAccArea[data])
- return;
- case 17:
- MEMACC_COND_JUMP(*addr < mplayInfo->memAccArea[data])
- return;
- default:
- return;
- }
-
-cond_true:
- {
- void (*func)(struct MusicPlayerInfo *, struct MusicPlayerTrack *) = *(&gMPlayJumpTable[1]);
- func(mplayInfo, track);
- return;
- }
-
-cond_false:
- track->cmdPtr += 4;
-}
-
-void ply_xcmd(struct MusicPlayerInfo *mplayInfo, struct MusicPlayerTrack *track)
-{
- u32 n = *track->cmdPtr;
- track->cmdPtr++;
-
- gXcmdTable[n](mplayInfo, track);
-}
-
-void ply_xxx(struct MusicPlayerInfo *mplayInfo, struct MusicPlayerTrack *track)
-{
- void (*func)(struct MusicPlayerInfo *, struct MusicPlayerTrack *) = *(&gMPlayJumpTable[0]);
- func(mplayInfo, track);
-}
-
-#define READ_XCMD_BYTE(var, n) \
-{ \
- u32 byte = track->cmdPtr[(n)]; \
- byte <<= n * 8; \
- (var) &= ~(0xFF << (n * 8)); \
- (var) |= byte; \
-}
-
-void ply_xwave(struct MusicPlayerInfo *mplayInfo, struct MusicPlayerTrack *track)
-{
- u32 wav;
-
- READ_XCMD_BYTE(wav, 0) // UB: uninitialized variable
- READ_XCMD_BYTE(wav, 1)
- READ_XCMD_BYTE(wav, 2)
- READ_XCMD_BYTE(wav, 3)
-
- track->tone.wav = (struct WaveData *)wav;
- track->cmdPtr += 4;
-}
-
-void ply_xtype(struct MusicPlayerInfo *mplayInfo, struct MusicPlayerTrack *track)
-{
- track->tone.type = *track->cmdPtr;
- track->cmdPtr++;
-}
-
-void ply_xatta(struct MusicPlayerInfo *mplayInfo, struct MusicPlayerTrack *track)
-{
- track->tone.attack = *track->cmdPtr;
- track->cmdPtr++;
-}
-
-void ply_xdeca(struct MusicPlayerInfo *mplayInfo, struct MusicPlayerTrack *track)
-{
- track->tone.decay = *track->cmdPtr;
- track->cmdPtr++;
-}
-
-void ply_xsust(struct MusicPlayerInfo *mplayInfo, struct MusicPlayerTrack *track)
-{
- track->tone.sustain = *track->cmdPtr;
- track->cmdPtr++;
-}
-
-void ply_xrele(struct MusicPlayerInfo *mplayInfo, struct MusicPlayerTrack *track)
-{
- track->tone.release = *track->cmdPtr;
- track->cmdPtr++;
-}
-
-void ply_xiecv(struct MusicPlayerInfo *mplayInfo, struct MusicPlayerTrack *track)
-{
- track->echoVolume = *track->cmdPtr;
- track->cmdPtr++;
-}
-
-void ply_xiecl(struct MusicPlayerInfo *mplayInfo, struct MusicPlayerTrack *track)
-{
- track->echoLength = *track->cmdPtr;
- track->cmdPtr++;
-}
-
-void ply_xleng(struct MusicPlayerInfo *mplayInfo, struct MusicPlayerTrack *track)
-{
- track->tone.length = *track->cmdPtr;
- track->cmdPtr++;
-}
-
-void ply_xswee(struct MusicPlayerInfo *mplayInfo, struct MusicPlayerTrack *track)
-{
- track->tone.pan_sweep = *track->cmdPtr;
- track->cmdPtr++;
-}
-
-void ply_xcmd_0C(struct MusicPlayerInfo *mplayInfo, struct MusicPlayerTrack *track)
-{
- u32 unk;
-
- READ_XCMD_BYTE(unk, 0) // UB: uninitialized variable
- READ_XCMD_BYTE(unk, 1)
-
- if (track->unk_3A < (u16)unk)
- {
- track->unk_3A++;
- track->cmdPtr -= 2;
- track->wait = 1;
- }
- else
- {
- track->unk_3A = 0;
- track->cmdPtr += 2;
- }
-}
-
-void ply_xcmd_0D(struct MusicPlayerInfo *mplayInfo, struct MusicPlayerTrack *track)
-{
- u32 unk;
-
- READ_XCMD_BYTE(unk, 0) // UB: uninitialized variable
- READ_XCMD_BYTE(unk, 1)
- READ_XCMD_BYTE(unk, 2)
- READ_XCMD_BYTE(unk, 3)
-
- track->unk_3C = unk;
- track->cmdPtr += 4;
-}
-
-void DummyFunc(void)
-{
-}
-
-struct MusicPlayerInfo *SetPokemonCryTone(struct ToneData *tone)
-{
- u32 maxClock = 0;
- s32 maxClockIndex = 0;
- s32 i;
- struct MusicPlayerInfo *mplayInfo;
-
- for (i = 0; i < MAX_POKEMON_CRIES; i++)
- {
- struct MusicPlayerTrack *track = &gPokemonCryTracks[i * 2];
-
- if (!track->flags && (!track->chan || track->chan->track != track))
- goto start_song;
-
- if (maxClock < gPokemonCryMusicPlayers[i].clock)
- {
- maxClock = gPokemonCryMusicPlayers[i].clock;
- maxClockIndex = i;
- }
- }
-
- i = maxClockIndex;
-
-start_song:
- mplayInfo = &gPokemonCryMusicPlayers[i];
- mplayInfo->ident++;
-
-#define CRY ((s32)&gPokemonCrySongs + i * sizeof(struct PokemonCrySong))
-#define CRY_OFS(field) offsetof(struct PokemonCrySong, field)
-
- *(struct PokemonCrySong *)CRY = gPokemonCrySong;
-
- *(u32 *)(CRY + CRY_OFS(tone)) = (u32)tone;
- *(u32 *)(CRY + CRY_OFS(part)) = CRY + CRY_OFS(part0);
- *(u32 *)(CRY + CRY_OFS(part) + 4) = CRY + CRY_OFS(part1);
- *(u32 *)(CRY + CRY_OFS(gotoTarget)) = CRY + CRY_OFS(cont);
-
-#undef CRY_OFS
-#undef CRY
-
- mplayInfo->ident = ID_NUMBER;
-
- MPlayStart(mplayInfo, (struct SongHeader *)(&gPokemonCrySongs[i]));
-
- return mplayInfo;
-}
-
-void SetPokemonCryVolume(u8 val)
-{
- gPokemonCrySong.volumeValue = val & 0x7F;
-}
-
-void SetPokemonCryPanpot(s8 val)
-{
- gPokemonCrySong.panValue = (val + C_V) & 0x7F;
-}
-
-void SetPokemonCryPitch(s16 val)
-{
- s16 b = val + 0x80;
- u8 a = gPokemonCrySong.tuneValue2 - gPokemonCrySong.tuneValue;
- gPokemonCrySong.tieKeyValue = (b >> 8) & 0x7F;
- gPokemonCrySong.tuneValue = (b >> 1) & 0x7F;
- gPokemonCrySong.tuneValue2 = (a + ((b >> 1) & 0x7F)) & 0x7F;
-}
-
-void SetPokemonCryLength(u16 val)
-{
- gPokemonCrySong.unkCmd0CParam = val;
-}
-
-void SetPokemonCryRelease(u8 val)
-{
- gPokemonCrySong.releaseValue = val;
-}
-
-void SetPokemonCryProgress(u32 val)
-{
- gPokemonCrySong.unkCmd0DParam = val;
-}
-
-int IsPokemonCryPlaying(struct MusicPlayerInfo *mplayInfo)
-{
- struct MusicPlayerTrack *track = mplayInfo->tracks;
-
- if (track->chan && track->chan->track == track)
- return 1;
- else
- return 0;
-}
-
-void SetPokemonCryChorus(s8 val)
-{
- if (val)
- {
- gPokemonCrySong.trackCount = 2;
- gPokemonCrySong.tuneValue2 = (val + gPokemonCrySong.tuneValue) & 0x7F;
- }
- else
- {
- gPokemonCrySong.trackCount = 1;
- }
-}
-
-void SetPokemonCryStereo(u32 val)
-{
- struct SoundInfo *soundInfo = SOUND_INFO_PTR;
-
- if (val)
- {
- REG_SOUNDCNT_H = SOUND_B_TIMER_0 | SOUND_B_LEFT_OUTPUT
- | SOUND_A_TIMER_0 | SOUND_A_RIGHT_OUTPUT
- | SOUND_ALL_MIX_FULL;
- soundInfo->mode &= ~1;
- }
- else
- {
- REG_SOUNDCNT_H = SOUND_B_TIMER_0 | SOUND_B_LEFT_OUTPUT | SOUND_B_RIGHT_OUTPUT
- | SOUND_A_TIMER_0 | SOUND_A_LEFT_OUTPUT | SOUND_A_RIGHT_OUTPUT
- | SOUND_B_MIX_HALF | SOUND_A_MIX_HALF | SOUND_CGB_MIX_FULL;
- soundInfo->mode |= 1;
- }
-}
-
-void SetPokemonCryPriority(u8 val)
-{
- gPokemonCrySong.priority = val;
-}
diff --git a/src/pokedex_area_screen.c b/src/pokedex_area_screen.c
index 76efdf08d..cd697270c 100644
--- a/src/pokedex_area_screen.c
+++ b/src/pokedex_area_screen.c
@@ -98,7 +98,7 @@ static const u16 sFeebasData[][3] = {
static const u16 sLandmarkData[][2] = {
{MAPSEC_SKY_PILLAR, FLAG_LANDMARK_SKY_PILLAR},
{MAPSEC_SEAFLOOR_CAVERN, FLAG_LANDMARK_SEAFLOOR_CAVERN},
- {MAPSEC_NOTHING}
+ {MAPSEC_NONE}
};
static struct PokedexAreaScreenEwramStruct *const gPokedexAreaScreenPtr = &ePokedexAreaScreen;
@@ -302,9 +302,9 @@ static void SetSpecialMapHasMon(u16 mapGroup, u16 mapNum)
if (gPokedexAreaScreenPtr->numSpecialAreas < 0x20)
{
mapHeader = Overworld_GetMapHeaderByGroupAndId(mapGroup, mapNum);
- if (mapHeader->regionMapSectionId < MAPSEC_NOTHING)
+ if (mapHeader->regionMapSectionId < MAPSEC_NONE)
{
- for (i = 0; sLandmarkData[i][0] != MAPSEC_NOTHING; i++)
+ for (i = 0; sLandmarkData[i][0] != MAPSEC_NONE; i++)
{
if (mapHeader->regionMapSectionId == sLandmarkData[i][0] && !FlagGet(sLandmarkData[i][1]))
return;
@@ -1348,10 +1348,10 @@ static void CreateAreaMarkerSprites(void)
for (i = 0; i < gPokedexAreaScreenPtr->numSpecialAreas; i++)
{
mapSecId = gPokedexAreaScreenPtr->specialAreaRegionMapSectionIds[i];
- x = 8 * (gRegionMapLocations[mapSecId].x + 1) + 4;
- y = 8 * (gRegionMapLocations[mapSecId].y) + 28;
- x += 4 * (gRegionMapLocations[mapSecId].width - 1);
- y += 4 * (gRegionMapLocations[mapSecId].height - 1);
+ x = 8 * (gRegionMapEntries[mapSecId].x + 1) + 4;
+ y = 8 * (gRegionMapEntries[mapSecId].y) + 28;
+ x += 4 * (gRegionMapEntries[mapSecId].width - 1);
+ y += 4 * (gRegionMapEntries[mapSecId].height - 1);
spriteId = CreateSprite(&sAreaMarkerSpriteTemplate, x, y, 0);
if (spriteId != MAX_SPRITES)
{
diff --git a/src/pokenav.c b/src/pokenav.c
index f57a98df6..82b9a0f01 100644
--- a/src/pokenav.c
+++ b/src/pokenav.c
@@ -1,6 +1,30 @@
// Includes
#include "global.h"
+#include "ewram.h"
+#include "main.h"
+#include "palette.h"
+#include "decompress.h"
+#include "trig.h"
+#include "data2.h"
+#include "scanline_effect.h"
+#include "pokemon_storage_system.h"
+#include "text.h"
+#include "menu.h"
+#include "landmark.h"
+#include "strings.h"
+#include "string_util.h"
+#include "event_data.h"
+#include "use_pokeblock.h"
+#include "overworld.h"
+#include "pokemon_summary_screen.h"
+#include "link.h"
+#include "sound.h"
+#include "battle_setup.h"
+#include "constants/songs.h"
+#include "constants/flags.h"
+#include "constants/game_stat.h"
+#include "pokenav.h"
// Static type declarations
@@ -9,8 +33,6450 @@
EWRAM_DATA u8 gUnknown_020388B0[4] = {};
EWRAM_DATA u16 gUnknown_020388B4 = 0;
+extern const u8 gUnknown_083E0314[];
+extern const u16 gUnknown_08E9F9E8[];
+extern const u16 gUnknown_083E0274[];
+extern const u8 gUnknown_08E9FC64[];
+extern const u8 gUnknown_083E0354[];
+extern const u8 gUnknown_08E9FD64[];
+extern const u8 gUnknown_08E9FE54[];
+extern const u8 gUnknown_08E9FD1C[];
+extern const u16 gPokenavConditionSearch2_Pal[];
+extern const u8 gUnknown_083E0334[];
+extern const u16 gUnknown_083E02B4[];
+extern const u8 gPokenavConditionSearch2_Gfx[];
+extern const u8 gUnknown_083E0254[];
+extern const u8 gUnknown_08E9FEB4[];
+extern const u8 gUnknown_083E01AC[];
+extern const u8 gUnknown_08E9AC4C[];
+extern const u8 gPokenavConditionMenu2_Pal[];
+extern const u8 gPokenavConditionView_Gfx[];
+extern const u8 gUnknown_08E9ABB4[];
+extern const u8 gUnknown_08E9AC2C[];
+extern const u8 *const gPokenavCityMaps[][2];
+extern const u8 gPokenavHoennMapSquares_Pal[];
+extern const u8 gPokenavHoennMapSquares_Gfx[];
+extern const u16 gUnknown_083E003C[];
+extern const u8 *const gUnknown_083E31B0[];
+extern const u8 *const gUnknown_083E31CC[];
+extern const u8 *const gUnknown_083E31D8[];
+extern u8 *gUnknown_083DFEC8;
+extern const u8 gUnknown_083DFEEC[];
+extern const u8 gUnknown_083E005C[];
+extern const u8 gUnknown_083E007C[];
+extern const u8 gPokenavOutlineTilemap[];
+extern const u8 gPokenavOutlineTiles[];
+extern const u8 gPokenavOutlinePalette[];
+extern const u8 gUnknown_083DFECC[];
+extern const u8 gUnknown_083DFF8C[];
+extern const u8 gPokenavHoennMapMisc_Gfx[];
+extern const u8 gUnknown_08E99FB0[];
+extern const u8 gUnknown_08E9A100[];
+extern const u16 gPokenavHoennMap1_Pal[];
+extern void (*const gUnknown_083E3270[])(u16, u16);
+extern const u8 gUnknown_083E039C[];
+extern const u8 gUnknown_083E03A0[];
+extern const u8 gUnknown_083E01F4[];
+extern const u8 *const gTrainerEyeDescriptions[];
+extern const u8 gUnknown_08E9FBA0[];
+extern const u8 gPokenavRibbonView_Gfx[];
+extern const u8 gUnknown_083E040C[];
+extern const u16 gPokenavRibbonView_Pal[];
+extern const u16 gUnknown_083E03A8[];
+extern const u16 gUnknown_083E3C60[][16];
+extern const u16 gPokenavRibbonsIconGfx[][2];
+extern const u8 *const gRibbonDescriptions[][2];
+extern const u8 *const gGiftRibbonDescriptions[][2];
+extern const u8 gUnknown_08E9FF58[];
+extern const u8 gPokenavRibbonPokeView_Gfx[];
+extern const u16 gUnknown_083E0124[];
+extern const u16 gUnknown_083E0144[];
+extern const u8 gPokenavMenuOptions_Gfx[];
+extern const u8 gPokenavConditionMenu_Gfx[];
+extern const u8 gPokenavConditionSearch_Gfx[];
+extern const struct SpriteTemplate gSpriteTemplate_83E4454;
+extern const union AffineAnimCmd *const gSpriteAffineAnimTable_83E4450[];
+extern const u16 gUnknown_083E42F8[];
+extern const u16 gPokenavMenuOptions1_Pal[];
+extern const u16 gPokenavMenuOptions2_Pal[];
+extern const u16 gPokenavConditionMenu_Pal[];
+extern const u16 gPokenavCondition6_Pal[];
+extern const u16 gPokenavCondition7_Pal[];
+extern const struct SpriteSheet gSpriteSheet_PokenavBlueLight;
+extern const struct SpritePalette gSpritePalette_PokenavBlueLight;
+extern const struct SpriteTemplate gSpriteTemplate_83E4484;
+extern const u8 gPokenavMainMenu_Gfx[];
+extern const u8 gPokenavConditionMenuHeader_Gfx[];
+extern const u8 gPokenavRibbonsHeader_Gfx[];
+extern const u8 gPokenavHoennMapHeader_Gfx[];
+extern const u8 gPokenavConditionMenuOptions_Gfx[];
+extern const u8 gPokenavConditionMenuOptions2_Gfx[];
+extern const u8 gPokenavTrainersEyesHeader_Gfx[];
+extern const struct SpritePalette gUnknown_083E449C[];
+extern const struct SpriteTemplate gSpriteTemplate_83E4530;
+extern const struct SpriteTemplate gSpriteTemplate_83E4548;
+extern const struct SpriteTemplate gSpriteTemplate_83E44E0;
+extern const struct SpriteTemplate gSpriteTemplate_83E44F8;
+extern const struct SpriteSheet gUnknown_083E4568;
+extern const struct SpriteTemplate gSpriteTemplate_83E4570;
+extern const struct SpritePalette gUnknown_083E4588;
+extern const struct SpriteSheet gUnknown_083E4590[3];
+extern const struct SpritePalette gUnknown_083E45A8;
+extern const u16 gUnknown_08E9F988[];
+extern const struct SpriteTemplate gSpriteTemplate_83E45B8;
+extern const struct SpriteTemplate gSpriteTemplate_83E45F0;
+extern const struct SpriteSheet gUnknown_083E4628[4];
+extern const struct SpritePalette gUnknown_083E4648[3];
+extern const struct SpriteTemplate gSpriteTemplate_83E4660;
+extern const u16 gUnknown_083E4678[];
+extern const u8 gUnknown_083E3D00[];
+extern const struct SpriteTemplate gSpriteTemplate_83E476C;
+extern const struct SpriteSheet gUnknown_083E4784;
+extern const struct SpritePalette gUnknown_083E478C;
+extern const struct SpriteTemplate gSpriteTemplate_83E4800;
+extern const s16 gUnknown_083E4794[][2];
+extern const u8 gUnknown_083E329C[];
+extern const struct SpritePalette gUnknown_083E4818;
+extern const struct SpriteTemplate gSpriteTemplate_83E4850;
+extern const struct SpritePalette gUnknown_083E4868;
+extern const struct SpriteTemplate gSpriteTemplate_83E4878;
+
// Static ROM declarations
+u8 sub_80F5E20(void);
+u8 sub_80F5EE4(void);
+u8 sub_80F5FB4(void);
+u8 sub_80F6010(void);
+
// .rodata
+extern const u8 gUnknown_083E4890[];
+
// .text
+
+void sub_80EEDE8(void)
+{
+ REG_BG0HOFS = 0;
+ REG_BG0VOFS = 0;
+ REG_BG2VOFS = 0;
+ REG_BG2HOFS = 0;
+ REG_BG3HOFS = 0;
+ REG_BG3VOFS = 0;
+}
+
+void sub_80EEE08(void)
+{
+ gPokenavStructPtr->unkD160 = 0;
+}
+
+void sub_80EEE20(void)
+{
+ gPokenavStructPtr->unkD160 = 0;
+ if (!gPokenavStructPtr->unk6DAC)
+ {
+ while (sub_80EEE54())
+ ;
+ }
+}
+
+bool8 sub_80EEE54(void)
+{
+ switch (gPokenavStructPtr->unkD160)
+ {
+ case 0:
+ LZ77UnCompVram(gPokenavHoennMapMisc_Gfx, (void *)VRAM + 0xC000);
+ break;
+ case 1:
+ LZ77UnCompVram(gUnknown_08E99FB0, (void *)VRAM + 0xD800);
+ break;
+ case 2:
+ LoadPalette(gPokenavHoennMap1_Pal, 0x10, 0x20);
+ break;
+ case 3:
+ sub_80EF58C(0);
+ sub_80EF58C(1);
+ sub_80EF58C(2);
+ break;
+ case 4:
+ gPokenavStructPtr->unk030C = 0;
+ REG_BG1HOFS = 0;
+ REG_BG1VOFS = 0;
+ REG_BG1CNT = 0x1B0C;
+ gPokenavStructPtr->unkD160++;
+ default:
+ return FALSE;
+ }
+ gPokenavStructPtr->unkD160++;
+ return TRUE;
+}
+
+bool8 sub_80EEF34(void)
+{
+ bool8 retVal = TRUE;
+
+ if (gPokenavStructPtr->unk030C == 32)
+ return FALSE;
+
+ gPokenavStructPtr->unk030C += 2;
+ if (gPokenavStructPtr->unk030C > 31)
+ {
+ gPokenavStructPtr->unk030C = 32;
+ retVal = FALSE;
+ }
+
+ REG_BG1VOFS = gPokenavStructPtr->unk030C;
+ return retVal;
+}
+
+bool8 sub_80EEF78(void)
+{
+ bool8 retVal = TRUE;
+
+ if (gPokenavStructPtr->unk030C == 0)
+ return FALSE;
+
+ gPokenavStructPtr->unk030C -= 2;
+ if (gPokenavStructPtr->unk030C <= 0)
+ {
+ gPokenavStructPtr->unk030C = 0;
+ retVal = FALSE;
+ }
+
+ REG_BG1VOFS = gPokenavStructPtr->unk030C;
+ return retVal;
+}
+
+void sub_80EEFBC(u8 a)
+{
+ u8 var1;
+
+ sub_809D104((void *)VRAM + 0xD800, 0, 22, gUnknown_08E9A100, 0, 0, 17, 2);
+
+ switch (a)
+ {
+ case 0:
+ sub_809D104((void *)VRAM + 0xD800, 0, 22, gUnknown_08E9A100, 17, 0, 10, 2);
+ sub_809D104((void *)VRAM + 0xD800, 10, 22, gUnknown_08E9A100, 0, 6, 7, 2);
+ break;
+ case 11:
+ sub_809D104((void *)VRAM + 0xD800, 8, 22, gUnknown_08E9A100, 0, 6, 7, 2);
+ break;
+ case 2:
+ var1 = gPokenavStructPtr->unk6DAC;
+ if (!var1)
+ {
+ sub_809D104((void *)VRAM + 0xD800, 0, 22, gUnknown_08E9A100, 10, 2, 10, 2);
+ sub_809D104((void *)VRAM + 0xD800, 10, 22, gUnknown_08E9A100, var1, 6, 7, 2);
+ }
+ else
+ {
+ sub_809D104((void *)VRAM + 0xD800, 10, 22, gUnknown_08E9A100, 0, 6, 7, 2);
+ }
+ break;
+ case 3:
+ sub_809D104((void *)VRAM + 0xD800, 0, 22, gUnknown_08E9A100, 0, 4, 10, 2);
+ sub_809D104((void *)VRAM + 0xD800, 10, 22, gUnknown_08E9A100, 0, 6, 7, 2);
+ break;
+ case 4:
+ sub_809D104((void *)VRAM + 0xD800, 0, 22, gUnknown_08E9A100, 20, 2, 10, 2);
+ sub_809D104((void *)VRAM + 0xD800, 10, 22, gUnknown_08E9A100, 0, 6, 7, 2);
+ break;
+ case 7:
+ sub_809D104((void *)VRAM + 0xD800, 0, 22, gUnknown_08E9A100, 10, 4, 10, 2);
+ sub_809D104((void *)VRAM + 0xD800, 7, 22, gUnknown_08E9A100, 0, 6, 7, 2);
+ break;
+ case 8:
+ sub_809D104((void *)VRAM + 0xD800, 0, 22, gUnknown_08E9A100, 20, 4, 10, 2);
+ sub_809D104((void *)VRAM + 0xD800, 7, 22, gUnknown_08E9A100, 0, 6, 7, 2);
+ break;
+ case 5:
+ case 9:
+ sub_809D104((void *)VRAM + 0xD800, 0, 22, gUnknown_08E9A100, 0, 2, 10, 2);
+ sub_809D104((void *)VRAM + 0xD800, 8, 22, gUnknown_08E9A100, 0, 6, 7, 2);
+ break;
+ case 10:
+ sub_809D104((void *)VRAM + 0xD800, 8, 22, gUnknown_08E9A100, 0, 6, 7, 2);
+ break;
+ }
+}
+
+void sub_80EF248(u8 a)
+{
+ gPokenavStructPtr->unkD160 = 0;
+
+ if (!gPokenavStructPtr->unk6DAC)
+ {
+ while (sub_80EF284(a))
+ ;
+ }
+}
+
+bool8 sub_80EF284(u8 a)
+{
+ switch (gPokenavStructPtr->unkD160)
+ {
+ case 0:
+ sub_80EEDE8();
+ break;
+ case 1:
+ Text_LoadWindowTemplate(&gWindowTemplate_81E7224);
+ break;
+ case 2:
+ MultistepInitMenuWindowBegin(&gWindowTemplate_81E7224);
+ break;
+ case 3:
+ if (!MultistepInitMenuWindowContinue())
+ return TRUE;
+ break;
+ case 4:
+ DmaCopy16Defvars(3, gUnknown_083DFEEC, (void *)VRAM + 0x5000, 0xA0);
+ break;
+ case 5:
+ LZ77UnCompVram(gUnknown_083DFF8C, (void *)VRAM + 0xF800);
+ break;
+ case 6:
+ DmaCopy16Defvars(3, gUnknown_083E005C, (void *)VRAM + 0x8000, 0x20);
+ break;
+ case 7:
+ LZ77UnCompVram(gUnknown_083E007C, (void *)VRAM + 0xE000);
+ break;
+ case 8:
+ LZ77UnCompVram(gPokenavOutlineTilemap, (void *)VRAM + 0xE800);
+ break;
+ case 9:
+ LZ77UnCompVram(gPokenavOutlineTiles, (void *)VRAM + 0x8020);
+ break;
+ case 10:
+ sub_80EF54C(a);
+ LoadPalette(gUnknown_083DFECC, 0xF0, 0x20);
+ LoadPalette(gPokenavOutlinePalette, 0x40, 0x20);
+ sub_80EF7D4();
+ break;
+ case 11:
+ REG_BG0CNT = 0x1F01;
+ REG_BG2CNT = 0x1D0A;
+ REG_BG3CNT = 0x1C0B;
+ REG_BLDCNT = 0;
+
+ gPokenavStructPtr->unkD160++;
+ return FALSE;
+ default:
+ return FALSE;
+ }
+
+ gPokenavStructPtr->unkD160++;
+ return TRUE;
+}
+
+void sub_80EF428(u8 a, u8 b)
+{
+ u8 *tileBuffer;
+ const u8 *pcText = 0;
+
+ switch (a)
+ {
+ case 0:
+ pcText = gUnknown_083E31B0[b];
+ break;
+ case 1:
+ pcText = gUnknown_083E31CC[b];
+ break;
+ case 2:
+ pcText = gUnknown_083E31D8[b];
+ break;
+ }
+
+ tileBuffer = gUnknown_083DFEC8;
+ AlignStringInMenuWindow(&tileBuffer[0x800], pcText, 0xC0, 2);
+ Menu_PrintText(&tileBuffer[0x800], 3, 17);
+}
+
+void sub_80EF490(u8 a)
+{
+ u16 var1, var2;
+
+ if (a == 2)
+ a = 1;
+
+ gPokenavStructPtr->unkCE4E = a * 30;
+ var1 = gPokenavStructPtr->unkCE4C;
+ var2 = a * 30;
+ if (var1 < var2)
+ gPokenavStructPtr->unkCE50 = 2;
+ else if (var1 > var2)
+ gPokenavStructPtr->unkCE50 = -2;
+ else
+ gPokenavStructPtr->unkCE50 = 0;
+}
+
+bool8 sub_80EF4F8(void)
+{
+ u16 *palettes;
+
+ if (gPokenavStructPtr->unkCE4C == gPokenavStructPtr->unkCE4E)
+ {
+ return FALSE;
+ }
+ else
+ {
+ gPokenavStructPtr->unkCE4C = gPokenavStructPtr->unkCE50 + gPokenavStructPtr->unkCE4C;
+
+ palettes = gPokenavStructPtr->palettesCE52;
+ LoadPalette(&palettes[gPokenavStructPtr->unkCE4C], 0x31, 4);
+ return TRUE;
+ }
+
+}
+
+void sub_80EF54C(u8 a)
+{
+ if (a == 2)
+ a = 1;
+
+ gPokenavStructPtr->unkCE4C = a * 30;
+ LoadPalette(&gPokenavStructPtr->palettesCE52[gPokenavStructPtr->unkCE4C], 0x31, 4);
+}
+
+void sub_80EF58C(u8 a)
+{
+ u16 i;
+ u16 * palettes;
+ const u16 *var1;
+
+ switch (a)
+ {
+ case 0:
+ for (i = 0; i < 62; i++)
+ gPokenavStructPtr->palettesCE52[i] = 0;
+ break;
+ case 1:
+ palettes = gPokenavStructPtr->palettesCE52;
+ var1 = gUnknown_083E003C;
+ sub_80EF624(&var1[1], &var1[3], 16, 2, palettes);
+ break;
+ case 2:
+ palettes = gPokenavStructPtr->palettesCE8E;
+ var1 = gUnknown_083E003C;
+ sub_80EF624(&var1[3], &var1[7], 16, 2, palettes);
+ break;
+ }
+}
+
+#ifdef NONMATCHING
+void sub_80EF624(const u16 *a, const u16 *b, u8 c, u8 d, u16 *palettes)
+{
+ u16 red1, green1, blue1;
+ u16 red2, green2, blue2;
+ s32 redDiv, greenDiv, blueDiv;
+ u16 *palettes2;
+ u16 i, j;
+
+ i = 0;
+ while (i < d)
+ {
+ red1 = (*a & 0x1F) << 8;
+ green1 = ((*a >> 5) & 0x1F) << 8;
+ blue1 = ((*a >> 10) & 0x1F) << 8;
+
+ red2 = (*b & 0x1F) << 8;
+ green2 = ((*b >> 5) & 0x1F) << 8;
+ blue2 = ((*b >> 10) & 0x1F) << 8;
+
+ redDiv = (red2 - red1) / c;
+ greenDiv = (green2 - green1) / c;
+ blueDiv = (blue2 - blue1) / c;
+
+ palettes2 = palettes;
+ for (j = 0; j < c - 1; j++)
+ {
+ *palettes2 = (((blue1 << 8) >> 16) << 10) | (((green1 << 8) >> 16) << 5) | ((red1 << 8) >> 16);
+ palettes2 += d;
+ red1 += redDiv;
+ green1 += greenDiv;
+ blue1 += blueDiv;
+ }
+
+ *palettes2 = (red2 >> 8) | (blue2 << 2) | (green2 >> 3);
+ palettes++;
+
+ a++;
+ b++;
+ i++;
+ }
+}
+#else
+NAKED
+void sub_80EF624(const u16 *a, const u16 *b, u8 c, u8 d, u16 *palettes)
+{
+ asm(".syntax unified\n\
+ push {r4-r7,lr}\n\
+ mov r7, r10\n\
+ mov r6, r9\n\
+ mov r5, r8\n\
+ push {r5-r7}\n\
+ sub sp, 0x38\n\
+ str r0, [sp]\n\
+ str r1, [sp, 0x4]\n\
+ ldr r4, [sp, 0x58]\n\
+ lsls r2, 24\n\
+ lsrs r2, 24\n\
+ str r2, [sp, 0x8]\n\
+ lsls r3, 24\n\
+ lsrs r3, 24\n\
+ str r3, [sp, 0xC]\n\
+ movs r0, 0\n\
+ str r0, [sp, 0x10]\n\
+ lsls r0, r3, 16\n\
+ ldr r1, [sp, 0x10]\n\
+ cmp r1, r3\n\
+ bcs _080EF72E\n\
+ subs r2, 0x1\n\
+ str r2, [sp, 0x20]\n\
+ str r0, [sp, 0x2C]\n\
+_080EF654:\n\
+ ldr r2, [sp]\n\
+ ldrh r1, [r2]\n\
+ movs r0, 0x1F\n\
+ ands r0, r1\n\
+ lsls r7, r0, 8\n\
+ lsls r1, 16\n\
+ lsrs r0, r1, 21\n\
+ movs r2, 0x1F\n\
+ ands r0, r2\n\
+ lsls r6, r0, 8\n\
+ lsrs r1, 26\n\
+ ands r1, r2\n\
+ lsls r5, r1, 8\n\
+ ldr r0, [sp, 0x4]\n\
+ ldrh r1, [r0]\n\
+ movs r0, 0x1F\n\
+ ands r0, r1\n\
+ lsls r0, 8\n\
+ str r0, [sp, 0x14]\n\
+ lsls r1, 16\n\
+ lsrs r0, r1, 21\n\
+ ands r0, r2\n\
+ lsls r0, 8\n\
+ str r0, [sp, 0x18]\n\
+ lsrs r1, 26\n\
+ ands r1, r2\n\
+ lsls r1, 8\n\
+ str r1, [sp, 0x1C]\n\
+ ldr r1, [sp, 0x14]\n\
+ subs r0, r1, r7\n\
+ ldr r1, [sp, 0x8]\n\
+ bl __divsi3\n\
+ mov r10, r0\n\
+ ldr r2, [sp, 0x18]\n\
+ subs r0, r2, r6\n\
+ ldr r1, [sp, 0x8]\n\
+ bl __divsi3\n\
+ mov r9, r0\n\
+ ldr r1, [sp, 0x1C]\n\
+ subs r0, r1, r5\n\
+ ldr r1, [sp, 0x8]\n\
+ bl __divsi3\n\
+ mov r8, r0\n\
+ adds r3, r4, 0\n\
+ movs r4, 0\n\
+ ldr r2, [sp]\n\
+ adds r2, 0x2\n\
+ str r2, [sp, 0x30]\n\
+ ldr r0, [sp, 0x4]\n\
+ adds r0, 0x2\n\
+ str r0, [sp, 0x34]\n\
+ adds r1, r3, 0x2\n\
+ str r1, [sp, 0x24]\n\
+ ldr r2, [sp, 0x10]\n\
+ adds r2, 0x1\n\
+ str r2, [sp, 0x28]\n\
+ ldr r0, [sp, 0x20]\n\
+ cmp r4, r0\n\
+ bge _080EF700\n\
+ ldr r1, [sp, 0xC]\n\
+ lsls r1, 1\n\
+ mov r12, r1\n\
+_080EF6D6:\n\
+ lsls r0, r7, 8\n\
+ lsrs r2, r0, 16\n\
+ lsls r0, r6, 8\n\
+ lsrs r1, r0, 16\n\
+ lsls r0, r5, 8\n\
+ lsrs r0, 16\n\
+ lsls r0, 10\n\
+ lsls r1, 5\n\
+ orrs r0, r1\n\
+ orrs r2, r0\n\
+ strh r2, [r3]\n\
+ add r3, r12\n\
+ add r7, r10\n\
+ add r6, r9\n\
+ add r5, r8\n\
+ adds r0, r4, 0x1\n\
+ lsls r0, 16\n\
+ lsrs r4, r0, 16\n\
+ ldr r2, [sp, 0x20]\n\
+ cmp r4, r2\n\
+ blt _080EF6D6\n\
+_080EF700:\n\
+ ldr r4, [sp, 0x14]\n\
+ lsrs r2, r4, 8\n\
+ ldr r1, [sp, 0x1C]\n\
+ lsls r0, r1, 2\n\
+ ldr r4, [sp, 0x18]\n\
+ lsrs r1, r4, 3\n\
+ orrs r0, r1\n\
+ orrs r2, r0\n\
+ strh r2, [r3]\n\
+ ldr r0, [sp, 0x30]\n\
+ str r0, [sp]\n\
+ ldr r1, [sp, 0x34]\n\
+ str r1, [sp, 0x4]\n\
+ ldr r4, [sp, 0x24]\n\
+ ldr r2, [sp, 0x28]\n\
+ lsls r0, r2, 16\n\
+ lsrs r0, 16\n\
+ str r0, [sp, 0x10]\n\
+ ldr r1, [sp, 0x2C]\n\
+ lsrs r0, r1, 16\n\
+ ldr r2, [sp, 0x10]\n\
+ cmp r2, r0\n\
+ bcc _080EF654\n\
+_080EF72E:\n\
+ add sp, 0x38\n\
+ pop {r3-r5}\n\
+ mov r8, r3\n\
+ mov r9, r4\n\
+ mov r10, r5\n\
+ pop {r4-r7}\n\
+ pop {r0}\n\
+ bx r0\n\
+ .syntax divided\n");
+}
+#endif // NONMATCHING
+
+void sub_80EF740(void)
+{
+ gPokenavStructPtr->unk6DA0 = (gPokenavStructPtr->unk6DA0 + 1) & 1;
+ if (gPokenavStructPtr->unk6DA0)
+ gPokenavStructPtr->unk6DA2++;
+
+ REG_BG3HOFS = gPokenavStructPtr->unk6DA2;
+}
+
+void sub_80EF780(u8 taskId)
+{
+ if (gTasks[taskId].data[0] == 0 || (gPokenavStructPtr->unk6DA2 & 0x7) != 0)
+ {
+ sub_80EF740();
+ }
+ else
+ {
+ u16 value = gPokenavStructPtr->unk6DA2 & 0x7;
+ gPokenavStructPtr->unk6DA2 = value;
+ gPokenavStructPtr->unk6DA0 = value;
+ REG_BG3HOFS = value;
+ }
+}
+
+void sub_80EF7D4(void)
+{
+ gPokenavStructPtr->unk6DA2 = 0;
+ gPokenavStructPtr->unk6DA0 = 0;
+ gPokenavStructPtr->taskId6DA4 = CreateTask(sub_80EF780, 80);
+}
+
+void sub_80EF814(void)
+{
+ if (FuncIsActiveTask(sub_80EF780))
+ DestroyTask(gPokenavStructPtr->taskId6DA4);
+}
+
+void sub_80EF840(void)
+{
+ gPokenavStructPtr->unkD160 = 0;
+
+ if (gPokenavStructPtr->unk6DAC == 0)
+ {
+ while (sub_80EF874() != 0)
+ ;
+ }
+}
+
+bool8 sub_80EF874(void)
+{
+ switch (gPokenavStructPtr->unkD160)
+ {
+ case 0:
+ sub_80EEDE8();
+ break;
+ case 1:
+ Text_LoadWindowTemplate(&gWindowTemplate_81E7224);
+ break;
+ case 2:
+ MultistepInitMenuWindowBegin(&gWindowTemplate_81E7224);
+ break;
+ case 3:
+ if (!MultistepInitMenuWindowContinue())
+ return TRUE;
+ break;
+ case 4:
+ Menu_EraseScreen();
+ break;
+ case 5:
+ sub_80FA904(&gPokenavStructPtr->regionMap, gSaveBlock2.regionMapZoom ? TRUE : FALSE);
+ break;
+ case 6:
+ if (sub_80FA940())
+ return TRUE;
+ break;
+ case 7:
+ LZ77UnCompVram(gPokenavHoennMapSquares_Gfx, (void *)VRAM + 0x5000);
+ break;
+ case 8:
+ LoadPalette(gPokenavHoennMapSquares_Pal, 0x30, 0x20);
+ sub_80EFC3C();
+ break;
+ case 9:
+ if (sub_80EFC64())
+ return TRUE;
+ break;
+ case 10:
+ Menu_DrawStdWindowFrame(13, 3, 29, 17);
+ sub_80EF9F8();
+ break;
+ case 11:
+ if (!gPokenavStructPtr->regionMap.zoomed)
+ {
+ gPokenavStructPtr->unk7698 = 160;
+ REG_BG0VOFS = 160;
+ }
+ else
+ {
+ gPokenavStructPtr->unk7698 = 256;
+ REG_BG0VOFS = 0;
+ }
+
+ REG_BG0CNT = REG_BG0CNT;
+ REG_BG0CNT |= 1;
+ REG_BLDCNT = 0;
+ break;
+ default:
+ return FALSE;
+ }
+
+ gPokenavStructPtr->unkD160++;
+ return TRUE;
+}
+
+asm(".include \"constants/gba_constants.inc\"\n");
+
+void sub_80EF9F8(void)
+{
+ bool8 someBool = FALSE;
+ u16 top = 4;
+ u16 mapSectionId;
+ u8 b;
+
+ switch (gPokenavStructPtr->regionMap.unk16)
+ {
+ case 0:
+ break;
+ case 1:
+ case 4:
+ sub_8072A18(gPokenavStructPtr->regionMap.mapSectionName, 0x70, top * 8, 0x78, 1);
+ top += 2;
+ if (gLinkOpen == TRUE)
+ {
+ sub_80F1A80();
+ someBool = TRUE;
+ }
+ else
+ {
+ u16 i;
+
+ for (i = 0; i < 4; i++)
+ {
+ const u8 *secName = GetLandmarkName(
+ gPokenavStructPtr->regionMap.mapSectionId,
+ gPokenavStructPtr->regionMap.everGrandeCityArea,
+ i);
+
+ if (secName == NULL)
+ break;
+ sub_8072A18(secName, 0x70, top * 8, 0x78, 1);
+ top += 2;
+ }
+ }
+ break;
+ case 2:
+ sub_8072A18(gPokenavStructPtr->regionMap.mapSectionName, 0x70, top * 8, 0x78, 1);
+ top += 2;
+ mapSectionId = gPokenavStructPtr->regionMap.mapSectionId;
+ b = gPokenavStructPtr->regionMap.everGrandeCityArea;
+ if (gPokenavStructPtr->unkCDCC[mapSectionId][b] != NULL)
+ {
+ Menu_BlankWindowRect(14, top, 15, 15);
+ Menu_BlankWindowRect(26, top, 28, 15);
+ sub_8095C8C((void *)(VRAM + 0xF800), 16, 6, gPokenavStructPtr->unkCDCC[mapSectionId][b], 0, 0, 10, 10, 10);
+ top += 11;
+ }
+ break;
+ case 3:
+ sub_8072A18(gPokenavStructPtr->regionMap.mapSectionName, 0x70, top * 8, 0x78, 1);
+ top += 2;
+ break;
+ }
+
+ // Epic fail by the compiler at optimizing this.
+ if (!someBool && top < 16)
+ Menu_BlankWindowRect(14, top, 28, 15);
+
+ if (gPokenavStructPtr->regionMap.unk16 == 2)
+ sub_80EFD74();
+ else
+ sub_80EFDA0();
+}
+
+void sub_80EFBB0(void)
+{
+ if (!gPokenavStructPtr->regionMap.zoomed)
+ sub_80EEFBC(8);
+ else
+ sub_80EEFBC(7);
+}
+
+bool8 sub_80EFBDC(bool8 a)
+{
+ bool8 retVal = TRUE;
+ u16 var1 = gPokenavStructPtr->unk7698;
+
+ if (a)
+ {
+ if (var1 > 168)
+ {
+ var1 = var1 - 8;
+ }
+ else
+ {
+ var1 = 160;
+ retVal = FALSE;
+ }
+ }
+ else
+ {
+ if (var1 < 248)
+ {
+ var1 = var1 + 8;
+ }
+ else
+ {
+ var1 = 256;
+ retVal = FALSE;
+ }
+ }
+
+ gPokenavStructPtr->unk7698 = var1;
+ REG_BG0VOFS = var1 & 0xFF;
+
+ return retVal;
+}
+
+void sub_80EFC3C(void)
+{
+ gPokenavStructPtr->unkBC9A = 0;
+ gPokenavStructPtr->unkBC9B = 0;
+ sub_80EFD3C();
+}
+
+bool8 sub_80EFC64(void)
+{
+ u16 i;
+ u8 var1;
+ u16 var2;
+
+ if (gPokenavStructPtr->unkBC9A >= 16)
+ return FALSE;
+
+ var1 = gPokenavStructPtr->unkBC9A;
+ var2 = gPokenavStructPtr->unkBC9B;
+ for (i = 0; i < 2; i++)
+ {
+ if (gPokenavCityMaps[var1][i] != 0)
+ {
+ LZ77UnCompVram(gPokenavCityMaps[var1][i], gPokenavStructPtr->unkBC9C[var2]);
+ gPokenavStructPtr->unkCDCC[var1][i] = gPokenavStructPtr->unkBC9C[var2];
+ var2++;
+ }
+ else
+ {
+ gPokenavStructPtr->unkCDCC[var1][i] = NULL;
+ }
+ }
+
+ if (++gPokenavStructPtr->unkBC9A >= 16)
+ return FALSE;
+
+ gPokenavStructPtr->unkBC9B = var2;
+ return TRUE;
+}
+
+void sub_80EFD3C(void)
+{
+ gPokenavStructPtr->unk769E = 0;
+ gPokenavStructPtr->unk769C = 47;
+ gPokenavStructPtr->unk769D = 0;
+ gPokenavStructPtr->unk769A = 0;
+}
+
+void sub_80EFD74(void)
+{
+ gPokenavStructPtr->unk769E = 1;
+ if (gPokenavStructPtr->unk769D == 1)
+ gPokenavStructPtr->unk769D = 2;
+}
+
+void sub_80EFDA0(void)
+{
+ sub_8095C8C((void *)VRAM + 0xF800, 14, 16, gUnknown_08E9AC2C, 0, 0, 15, 1, 15);
+ gPokenavStructPtr->unk769E = 0;
+}
+
+void sub_80EFDE4(u8 param0)
+{
+ u16 var1 = 60 - gPokenavStructPtr->unk769C;
+
+ if (var1 > 15)
+ var1 = 15;
+
+ if (gPokenavStructPtr->unk769E != 0)
+ {
+ sub_8095C8C((void *)VRAM + 0xF800, 14, 16, gUnknown_08E9ABB4, gPokenavStructPtr->unk769C, 0, var1, 1, 60);
+
+ if (var1 < 15)
+ {
+ u16 var2 = var1 + 14;
+
+ sub_8095C8C((void *)VRAM + 0xF800, var2, 16, gUnknown_08E9ABB4, 0, 0, (u16)(15 - var1), 1, 60);
+ }
+ }
+}
+
+void sub_80EFE7C(void)
+{
+ u16 var1;
+ u8 var2 = gPokenavStructPtr->unk769D;
+
+ switch (var2)
+ {
+ case 0:
+ var1 = ++gPokenavStructPtr->unk769C;
+
+ if (var1 > 59)
+ gPokenavStructPtr->unk769C = var2;
+
+ sub_80EFDE4(gPokenavStructPtr->unk769E);
+
+ switch (gPokenavStructPtr->unk769C)
+ {
+ case 0:
+ case 15:
+ case 30:
+ case 45:
+ gPokenavStructPtr->unk769D = 1;
+ gPokenavStructPtr->unk769A = 0;
+ break;
+ }
+ break;
+ case 1:
+ var1 = ++gPokenavStructPtr->unk769A;
+ if (var1 > 120)
+ {
+ gPokenavStructPtr->unk769A = 0;
+ gPokenavStructPtr->unk769D = 0;
+ }
+ break;
+ case 2:
+ sub_80EFDE4(1);
+ gPokenavStructPtr->unk769D = 1;
+ break;
+ }
+}
+
+void sub_80EFF34(void)
+{
+ gPokenavStructPtr->unkD160 = 0;
+
+ if (gPokenavStructPtr->unk6DAC == 0)
+ {
+ while (sub_80EFF68())
+ ;
+ }
+}
+
+bool8 sub_80EFF68(void)
+{
+ switch (gPokenavStructPtr->unkD160)
+ {
+ case 0:
+ sub_80EEDE8();
+ gPokenavStructPtr->unkD162 = 11;
+ break;
+ case 1:
+ Text_LoadWindowTemplate(&gWindowTemplate_81E7080);
+ break;
+ case 2:
+ MultistepInitMenuWindowBegin(&gWindowTemplate_81E7080);
+ break;
+ case 3:
+ if (!MultistepInitMenuWindowContinue())
+ return TRUE;
+ break;
+ case 4:
+ Menu_EraseScreen();
+ break;
+ case 5:
+ sub_80F1614();
+ break;
+ case 6:
+ if (sub_80F162C(0))
+ return TRUE;
+ break;
+ case 7:
+ LZ77UnCompVram(gPokenavConditionView_Gfx, (void *)VRAM + 0x5000);
+ break;
+ case 8:
+ LZ77UnCompVram(gUnknown_08E9AC4C, (void *)VRAM + 0xF000);
+ LoadPalette(gPokenavConditionMenu2_Pal, 0x20, 0x20);
+ break;
+ case 9:
+ if (gPokenavStructPtr->unk76AA == 1)
+ sub_8095C8C((void *)VRAM + 0xF000, 0, 5, gUnknown_083E01AC, 0, 0, 9, 4, 9);
+ break;
+ case 10:
+ LZ77UnCompVram(gUnknown_08E9FEB4, (void *)VRAM + 0xB800);
+ break;
+ case 11:
+ LoadPalette(gUnknown_083E0254, 0x30, 0x20);
+ LoadPalette(gUnknownPalette_81E6692, 0xB0, 0x20);
+ LoadPalette(&gPokenavConditionMenu2_Pal[2], 0xB1, 0x2);
+ LoadPalette(&gPokenavConditionMenu2_Pal[16], 0xB5, 0x2);
+ LoadPalette(&gPokenavConditionMenu2_Pal[30], 0xBF, 0x2);
+ sub_80F01A4();
+ break;
+ case 12:
+ sub_80F01E0(gPokenavStructPtr->unk8fe9);
+ break;
+ case 13:
+ REG_BG3CNT = 0x1E03;
+ REG_BG2CNT = 0x1702;
+ REG_BLDCNT = 0x844;
+ REG_BLDALPHA = 0x40B;
+ break;
+ default:
+ return FALSE;
+ }
+
+ gPokenavStructPtr->unkD160++;
+ return TRUE;
+}
+
+void sub_80F0174(bool8 bg2on)
+{
+ if (bg2on)
+ REG_DISPCNT |= DISPCNT_BG2_ON;
+ else
+ REG_DISPCNT &= ~DISPCNT_BG2_ON;
+}
+
+void sub_80F01A4(void)
+{
+ REG_WIN0H = WIN_RANGE(0, 240);
+ REG_WIN1H = WIN_RANGE(0, 155);
+ REG_WIN0V = WIN_RANGE(56, 121);
+ REG_WIN1V = WIN_RANGE(56, 121);
+ REG_WININ = 0x3F3F;
+ REG_WINOUT = 0x001B;
+}
+
+void sub_80F01E0(u16 a)
+{
+ Menu_PrintText(gPokenavStructPtr->unk8829[a], 13, 1);
+
+ if (gPokenavStructPtr->unk76AA == 1)
+ {
+ Menu_PrintText(gPokenavStructPtr->unk88E9[a], 13, 3);
+ sub_80F443C(gPokenavStructPtr->unk8788, gPokenavStructPtr->unk893c[gPokenavStructPtr->unk87DC].unk2_5);
+ Menu_PrintText(gPokenavStructPtr->unk8788, 1, 6);
+ }
+}
+
+void sub_80F0264(u8 a)
+{
+ gPokenavStructPtr->unk306 = 0;
+ gPokenavStructPtr->unk87CA = a;
+
+ if (gPokenavStructPtr->unk6DAC == 0)
+ {
+ while (sub_80F02A0())
+ ;
+ }
+}
+
+bool8 sub_80F02A0(void)
+{
+ const u16 *pointer;
+
+ switch (gPokenavStructPtr->unk306)
+ {
+ case 0:
+ sub_80EEDE8();
+
+ gPokenavStructPtr->unk87C8 = gPokenavStructPtr->unk87CA == 1;
+ gPokenavStructPtr->unkD162 = 11;
+ break;
+ case 1:
+ Text_LoadWindowTemplate(&gWindowTemplate_81E70D4);
+ break;
+ case 2:
+ MultistepInitMenuWindowBegin(&gWindowTemplate_81E70D4);
+ break;
+ case 3:
+ if (!MultistepInitMenuWindowContinue())
+ {
+ return TRUE;
+ }
+ break;
+ case 4:
+ Menu_EraseScreen();
+ break;
+ case 5:
+ LZ77UnCompVram(gUnknown_08E9FC64, (void *)VRAM + 0xE800);
+ break;
+ case 6:
+ LZ77UnCompVram(gPokenavConditionSearch2_Gfx, (void *)VRAM + 0x8000);
+ break;
+ case 7:
+ LoadPalette(gUnknown_083E02B4, 0xB0, 0x20);
+ LoadPalette(gUnknown_083E02B4, 0xF0, 0x20);
+ LoadPalette(gUnknown_083E0334, 0x40, 0x20);
+
+ if (gPokenavStructPtr->unk87CA == 0)
+ {
+ LoadPalette(gPokenavConditionSearch2_Pal, 0x30, 0x20);
+ gPlttBufferUnfaded[0] = gPokenavConditionSearch2_Pal[5];
+ LoadPalette(gUnknownPalette_81E6692, 0xB0, 0x20);
+ LoadPalette(&gUnknown_083E02B4[1], 0xB1, 0x2);
+ LoadPalette(&gUnknown_083E02B4[8], 0xB5, 0x2);
+ LoadPalette(&gPokenavConditionSearch2_Pal[5], 0xBF, 0x2);
+ }
+ else if (gPokenavStructPtr->unk87CA == 1)
+ {
+ LoadPalette(gUnknown_083E0274, 0x30, 0x20);
+ gPlttBufferUnfaded[0] = gUnknown_083E0274[5];
+ LoadPalette(gUnknownPalette_81E6692, 0xB0, 0x20);
+ LoadPalette(&gUnknown_083E02B4[1], 0xB1, 0x2);
+ LoadPalette(&gUnknown_083E02B4[8], 0xB5, 0x2);
+ LoadPalette(&gUnknown_083E0274[5], 0xBF, 0x2);
+ }
+ else
+ {
+ LoadPalette(gUnknown_08E9F9E8, 0x30, 0x20);
+ gPlttBufferUnfaded[0] = *(pointer = &gUnknown_08E9F9E8[5]);
+ LoadPalette(gUnknown_083E0314, 0x50, 0x20);
+ LoadPalette(&gUnknown_083E02B4[1], 0xB1, 0x2);
+ LoadPalette(&gUnknown_083E02B4[8], 0xB5, 0x2);
+ LoadPalette(pointer, 0xBF, 0x2);
+ LoadPalette(pointer, 0x5F, 0x2);
+ }
+ break;
+ case 8:
+ if (gPokenavStructPtr->unk87CA != 2)
+ {
+ sub_8095C8C((void *)VRAM + 0xE800, 0, 5, gUnknown_08E9FD1C, 0, 0, 9, 4, 9);
+ }
+ else
+ {
+ sub_8095C8C((void *)VRAM + 0xE800, 0, 4, gUnknown_08E9FE54, 0, 0, 12, 10, 12);
+ sub_8095C8C((void *)VRAM + 0xE800, 0, 8, gUnknown_08E9FD64, 0, 0, 12, 10, 12);
+ }
+ break;
+ case 9:
+ LZ77UnCompVram(gUnknown_083E0354, (void *)VRAM + 0x5000);
+ break;
+ case 10:
+ DmaClear16(3, (void *)VRAM + 0xF800, 0x800);
+ break;
+ case 11:
+ sub_80F0900();
+ break;
+ case 12:
+ if (sub_80F0944())
+ {
+ return TRUE;
+ }
+ break;
+ case 13:
+ if (gPokenavStructPtr->unk87CA != 2)
+ {
+ ShowMapNamePopUpWindow();
+ }
+ else
+ {
+ sub_80F081C(0);
+ sub_80F0FFC((u8)gPokenavStructPtr->unk876E);
+ }
+ break;
+ case 14:
+ REG_BG2CNT = 0x1D0A;
+ REG_BG3CNT = 0x1E03;
+ REG_BG0CNT = 0x1F01;
+ REG_BG3VOFS = 0xF8;
+
+ gPokenavStructPtr->unk8776 = 0xF8;
+ gPokenavStructPtr->unk8778 = 0;
+
+ REG_BLDCNT = 0;
+ gPokenavStructPtr->unkD160++;
+ return FALSE;
+ default:
+ return FALSE;
+ }
+
+ gPokenavStructPtr->unk306++;
+ return TRUE;
+}
+
+void sub_80F063C(s16 arg0)
+{
+ s16 var0;
+ s16 var1;
+ s16 var2;
+
+ gPokenavStructPtr->unk877C = arg0 * 16;
+ gPokenavStructPtr->unk877A = (arg0 == 1 || arg0 == -1) ? 4 : 8;
+ if (arg0 < 0)
+ {
+ gPokenavStructPtr->unk877A *= -1;
+ var0 = arg0 * 2 + gPokenavStructPtr->unk8778;
+ var1 = arg0 + gPokenavStructPtr->unk8770;
+ if (var1 < 0)
+ var1 += gPokenavStructPtr->unk8774 + 1;
+
+ arg0 *= -1;
+ }
+ else
+ {
+ var0 = gPokenavStructPtr->unk8778 + 16;
+ var1 = gPokenavStructPtr->unk8772 + 1;
+ }
+
+ if (var1 > gPokenavStructPtr->unk8774)
+ var1 = 0;
+
+ var2 = var0 & 0x1F;
+ sub_80F0954(var1, var2, arg0);
+}
+
+bool8 sub_80F0718(void)
+{
+ if (!sub_80F098C())
+ {
+ if (gPokenavStructPtr->unk877C == 0)
+ return FALSE;
+
+ gPokenavStructPtr->unk877C -= gPokenavStructPtr->unk877A;
+ gPokenavStructPtr->unk8776 += gPokenavStructPtr->unk877A;
+ gPokenavStructPtr->unk8776 &= 0xFF;
+ REG_BG3VOFS = gPokenavStructPtr->unk8776;
+ if (gPokenavStructPtr->unk877C == 0)
+ {
+ gPokenavStructPtr->unk8778 = ((8 + gPokenavStructPtr->unk8776) & 0xFF) / 8;
+ return FALSE;
+ }
+ }
+
+ return TRUE;
+}
+
+void ShowMapNamePopUpWindow(void)
+{
+ switch (gPokenavStructPtr->unk87CA)
+ {
+ case 0:
+ sub_80F443C(gPokenavStructPtr->unk8788, gPokenavStructPtr->unk893c[gPokenavStructPtr->unk876E].unk2_5);
+ break;
+ case 1:
+ sub_80F445C(gPokenavStructPtr->unk8788, gPokenavStructPtr->unk876E + 1);
+ break;
+ default:
+ return;
+ }
+
+ BasicInitMenuWindow(&gWindowTemplate_81E710C);
+ Menu_PrintText(gPokenavStructPtr->unk8788, 1, 6);
+}
+
+void sub_80F081C(u8 arg0)
+{
+ u32 numTrainerBattles;
+
+ BasicInitMenuWindow(&gWindowTemplate_81E710C);
+ switch (arg0)
+ {
+ case 0:
+ case 1:
+ MenuPrint_RightAligned(gOtherText_NumberRegistered, 10, 9);
+ if (arg0 != 0)
+ break;
+ // fall through
+ case 2:
+ ConvertIntToDecimalStringN(
+ gPokenavStructPtr->unk8788,
+ gPokenavStructPtr->unk8774 + 1,
+ STR_CONV_MODE_RIGHT_ALIGN,
+ 5);
+ MenuPrint_RightAligned(gPokenavStructPtr->unk8788, 10, 11);
+ if (arg0 != 0)
+ break;
+ // fall through
+ case 3:
+ MenuPrint_RightAligned(gOtherText_NumberBattles, 10, 13);
+ if (arg0 != 0)
+ break;
+ // fall through
+ case 4:
+ numTrainerBattles = GetGameStat(GAME_STAT_TRAINER_BATTLES);
+ if (numTrainerBattles > 99999)
+ numTrainerBattles = 99999;
+
+ ConvertIntToDecimalStringN(
+ gPokenavStructPtr->unk8788,
+ numTrainerBattles,
+ STR_CONV_MODE_RIGHT_ALIGN,
+ 5);
+ MenuPrint_RightAligned(gPokenavStructPtr->unk8788, 10, 15);
+ break;
+ }
+}
+
+void sub_80F08E4(void)
+{
+ BasicInitMenuWindow(&gWindowTemplate_81E710C);
+ Menu_EraseWindowRect(0, 9, 11, 16);
+}
+
+void sub_80F0900(void)
+{
+ s16 var0 = (gPokenavStructPtr->unk8772 - gPokenavStructPtr->unk8770) + 1;
+ if (var0 < 8)
+ Menu_EraseWindowRect(12, 1, 31, 15);
+
+ sub_80F0954(gPokenavStructPtr->unk8770, 0, var0);
+}
+
+bool8 sub_80F0944(void)
+{
+ return sub_80F098C();
+}
+
+void sub_80F0954(u16 arg0, u16 arg1, u16 arg2)
+{
+ gPokenavStructPtr->unk877E = arg0;
+ gPokenavStructPtr->unk8780 = arg1;
+ gPokenavStructPtr->unk8784 = arg2;
+ gPokenavStructPtr->unk8786 = 0;
+}
+
+#ifdef NONMATCHING
+bool8 sub_80F098C(void)
+{
+ register u16 zero asm("r8");
+ if (!gPokenavStructPtr->unk8784)
+ {
+ DONE:
+ return FALSE;
+ }
+
+ zero = 0;
+ gUnknown_083E3270[gPokenavStructPtr->unk87CA](gPokenavStructPtr->unk877E, gPokenavStructPtr->unk8780);
+ if (!--gPokenavStructPtr->unk8784)
+ goto DONE;
+
+ if ((++gPokenavStructPtr->unk877E & 0xFFFF) > gPokenavStructPtr->unk8774)
+ gPokenavStructPtr->unk877E = zero;
+
+ gPokenavStructPtr->unk8780 += 2;
+ gPokenavStructPtr->unk8780 &= 0x1F;
+ return TRUE;
+}
+#else
+NAKED
+bool8 sub_80F098C(void)
+{
+ asm(".syntax unified\n\
+ push {r4-r7,lr}\n\
+ mov r7, r8\n\
+ push {r7}\n\
+ ldr r0, _080F09A4 @ =gPokenavStructPtr\n\
+ ldr r6, [r0]\n\
+ ldr r0, _080F09A8 @ =0x00008784\n\
+ adds r7, r6, r0\n\
+ ldrh r0, [r7]\n\
+ cmp r0, 0\n\
+ bne _080F09AC\n\
+_080F09A0:\n\
+ movs r0, 0\n\
+ b _080F0A02\n\
+ .align 2, 0\n\
+_080F09A4: .4byte gPokenavStructPtr\n\
+_080F09A8: .4byte 0x00008784\n\
+_080F09AC:\n\
+ movs r1, 0\n\
+ mov r8, r1\n\
+ ldr r1, _080F0A0C @ =gUnknown_083E3270\n\
+ ldr r2, _080F0A10 @ =0x000087ca\n\
+ adds r0, r6, r2\n\
+ ldrb r2, [r0]\n\
+ lsls r2, 2\n\
+ adds r2, r1\n\
+ ldr r0, _080F0A14 @ =0x0000877e\n\
+ adds r4, r6, r0\n\
+ ldrh r0, [r4]\n\
+ ldr r1, _080F0A18 @ =0x00008780\n\
+ adds r5, r6, r1\n\
+ ldrh r1, [r5]\n\
+ ldr r2, [r2]\n\
+ bl _call_via_r2\n\
+ ldrh r0, [r7]\n\
+ subs r0, 0x1\n\
+ strh r0, [r7]\n\
+ ldr r2, _080F0A1C @ =0x0000ffff\n\
+ adds r1, r2, 0\n\
+ lsls r0, 16\n\
+ cmp r0, 0\n\
+ beq _080F09A0\n\
+ ldrh r0, [r4]\n\
+ adds r0, 0x1\n\
+ strh r0, [r4]\n\
+ ands r0, r1\n\
+ ldr r2, _080F0A20 @ =0x00008774\n\
+ adds r1, r6, r2\n\
+ movs r2, 0\n\
+ ldrsh r1, [r1, r2]\n\
+ cmp r0, r1\n\
+ ble _080F09F6\n\
+ mov r0, r8\n\
+ strh r0, [r4]\n\
+_080F09F6:\n\
+ ldrh r0, [r5]\n\
+ adds r0, 0x2\n\
+ movs r1, 0x1F\n\
+ ands r0, r1\n\
+ strh r0, [r5]\n\
+ movs r0, 0x1\n\
+_080F0A02:\n\
+ pop {r3}\n\
+ mov r8, r3\n\
+ pop {r4-r7}\n\
+ pop {r1}\n\
+ bx r1\n\
+ .align 2, 0\n\
+_080F0A0C: .4byte gUnknown_083E3270\n\
+_080F0A10: .4byte 0x000087ca\n\
+_080F0A14: .4byte 0x0000877e\n\
+_080F0A18: .4byte 0x00008780\n\
+_080F0A1C: .4byte 0x0000ffff\n\
+_080F0A20: .4byte 0x00008774\n\
+ .syntax divided\n");
+}
+#endif // NONMATCHING
+
+void sub_80F0A24(u16 arg0, u16 arg1)
+{
+ u8 var0 = gPokenavStructPtr->unk87C8 == 0 ? 2 : 1;
+ sub_80F4428(gPokenavStructPtr->unk8788, arg0, var0);
+ BasicInitMenuWindow(&gWindowTemplate_81E70D4);
+ Menu_PrintText(gPokenavStructPtr->unk8788, 13, arg1);
+}
+
+void sub_80F0A74(u16 arg0, u16 arg1)
+{
+ sub_80F700C(gPokenavStructPtr->unk8788, arg0);
+ arg1 &= 0x1F;
+ BasicInitMenuWindow(&gWindowTemplate_81E70D4);
+ Menu_PrintTextPixelCoords(gPokenavStructPtr->unk8788, 97, arg1 * 8, 0);
+ if (arg0 < gPokenavStructPtr->unkD158 && gPokenavStructPtr->trainersEye[arg0].rematchNo != 0)
+ sub_8095C8C((void *)VRAM + 0xF000, 29, arg1, gUnknown_083E039C, 0, 0, 1, 2, 1);
+ else
+ sub_8095C8C((void *)VRAM + 0xF000, 29, arg1, gUnknown_083E03A0, 0, 0, 1, 2, 1);
+}
+
+void sub_80F0B24(void)
+{
+ gPokenavStructPtr->unkD15C = 0;
+ gPokenavStructPtr->unk306 = 0;
+}
+
+bool8 sub_80F0B44(void)
+{
+ int top;
+ if (gPokenavStructPtr->unkD15C > 8)
+ {
+ return FALSE;
+ }
+
+ if (++gPokenavStructPtr->unk306 > 1)
+ {
+ gPokenavStructPtr->unk306 = 0;
+ if (gPokenavStructPtr->unkD15C < 8)
+ {
+ top = (gPokenavStructPtr->unk8778 + (gPokenavStructPtr->unkD15C * 2)) & 0x1F;
+ if (gPokenavStructPtr->unkD15C != gPokenavStructPtr->unk876C)
+ {
+ BasicInitMenuWindow(&gWindowTemplate_81E70D4);
+ Menu_EraseWindowRect(12, top, 31, top + 1);
+ }
+
+ if (!gPokenavStructPtr->unkD15C)
+ sub_80F08E4();
+
+ gPokenavStructPtr->unkD15C++;
+ return TRUE;
+ }
+ else
+ {
+ u16 i;
+ BasicInitMenuWindow(&gWindowTemplate_81E70D4);
+ top = (gPokenavStructPtr->unk8778 + 16) & 0x1F;
+ for (i = 0; i < 8; i++)
+ {
+ Menu_EraseWindowRect(12, top, 31, top + 1);
+ top = (top + 2) & 0x1F;
+ }
+
+ gPokenavStructPtr->unkD15C++;
+ return FALSE;
+ }
+ }
+ else
+ {
+ return TRUE;
+ }
+}
+
+void sub_80F0C28(void)
+{
+ gPokenavStructPtr->unkD15C = 0;
+ gPokenavStructPtr->unk306 = 0;
+}
+
+bool8 sub_80F0C48(void)
+{
+ if (gPokenavStructPtr->unkD15C > 7)
+ return FALSE;
+
+ if (++gPokenavStructPtr->unk306 > 1)
+ {
+ gPokenavStructPtr->unk306 = 0;
+ BasicInitMenuWindow(&gWindowTemplate_81E70D4);
+ sub_80F0A74(gPokenavStructPtr->unk8770 + gPokenavStructPtr->unkD15C,
+ gPokenavStructPtr->unk8778 + gPokenavStructPtr->unkD15C * 2);
+
+ if ((++gPokenavStructPtr->unkD15C) > 7)
+ {
+ sub_80F081C(0);
+ return FALSE;
+ }
+ }
+
+ return TRUE;
+}
+
+void LoadTrainerEyesDescriptionLines(void)
+{
+ u16 i;
+ int trainerEyesId;
+ const u8 *curChar;
+
+ gPokenavStructPtr->unk306 = 0;
+ gPokenavStructPtr->unkD15C = 0;
+ trainerEyesId = gPokenavStructPtr->trainersEye[gPokenavStructPtr->unk876E].rematchTableIdx;
+ gPokenavStructPtr->trainerEyeDescriptionLines[0] = gTrainerEyeDescriptions[trainerEyesId];
+
+ // Find the start of the 3 other lines in the Trainer's Eyes description.
+ curChar = gPokenavStructPtr->trainerEyeDescriptionLines[0];
+ for (i = 0; i < 3; i++)
+ {
+ while (*curChar != EOS)
+ curChar++;
+ gPokenavStructPtr->trainerEyeDescriptionLines[i + 1] = ++curChar;
+ }
+}
+
+#ifdef NONMATCHING
+// small register mismatch (r2/r3) on the line where var0 is set.
+bool8 sub_80F0D5C(void)
+{
+ int var0;
+ if (gPokenavStructPtr->unkD15C == 7)
+ return FALSE;
+
+ if (++gPokenavStructPtr->unk306 > 1)
+ {
+ gPokenavStructPtr->unk306 = 0;
+ BasicInitMenuWindow(&gWindowTemplate_81E70D4);
+ var0 = (gPokenavStructPtr->unk8778 + 2 + gPokenavStructPtr->unkD15C * 2) & 0x1F;
+ switch (gPokenavStructPtr->unkD15C)
+ {
+ case 0:
+ Menu_PrintTextPixelCoords(gOtherText_Strategy, 97, var0 * 8, 0);
+ break;
+ case 1:
+ AlignStringInMenuWindow(
+ gPokenavStructPtr->unk8788,
+ gPokenavStructPtr->trainerEyeDescriptionLines[0],
+ 136,
+ 0);
+ Menu_PrintTextPixelCoords(gPokenavStructPtr->unk8788, 97, var0 * 8, 0);
+ break;
+ case 2:
+ Menu_PrintTextPixelCoords(gOtherText_TrainersPokemon, 97, var0 * 8, 0);
+ break;
+ case 3:
+ AlignStringInMenuWindow(
+ gPokenavStructPtr->unk8788,
+ gPokenavStructPtr->trainerEyeDescriptionLines[1],
+ 136,
+ 0);
+ Menu_PrintTextPixelCoords(gPokenavStructPtr->unk8788, 97, var0 * 8, 0);
+ break;
+ case 4:
+ Menu_PrintTextPixelCoords(gOtherText_SelfIntroduction, 97, var0 * 8, 0);
+ break;
+ case 5:
+ AlignStringInMenuWindow(
+ gPokenavStructPtr->unk8788,
+ gPokenavStructPtr->trainerEyeDescriptionLines[2],
+ 136,
+ 0);
+ Menu_PrintTextPixelCoords(gPokenavStructPtr->unk8788, 97, var0 * 8, 0);
+ break;
+ case 6:
+ AlignStringInMenuWindow(
+ gPokenavStructPtr->unk8788,
+ gPokenavStructPtr->trainerEyeDescriptionLines[3],
+ 136,
+ 0);
+ Menu_PrintTextPixelCoords(gPokenavStructPtr->unk8788, 97, var0 * 8, 0);
+ default:
+ return FALSE;
+ }
+
+ gPokenavStructPtr->unkD15C++;
+ return TRUE;
+ }
+ else
+ {
+ return TRUE;
+ }
+}
+#else
+NAKED
+bool8 sub_80F0D5C(void)
+{
+ asm(".syntax unified\n\
+ push {r4,r5,lr}\n\
+ ldr r0, _080F0D70 @ =gPokenavStructPtr\n\
+ ldr r4, [r0]\n\
+ ldr r0, _080F0D74 @ =0x0000d15c\n\
+ adds r5, r4, r0\n\
+ ldrh r0, [r5]\n\
+ cmp r0, 0x7\n\
+ bne _080F0D78\n\
+_080F0D6C:\n\
+ movs r0, 0\n\
+ b _080F0EB0\n\
+ .align 2, 0\n\
+_080F0D70: .4byte gPokenavStructPtr\n\
+_080F0D74: .4byte 0x0000d15c\n\
+_080F0D78:\n\
+ ldr r0, _080F0DB8 @ =0x00000306\n\
+ adds r1, r4, r0\n\
+ ldrh r0, [r1]\n\
+ adds r0, 0x1\n\
+ strh r0, [r1]\n\
+ lsls r0, 16\n\
+ lsrs r0, 16\n\
+ cmp r0, 0x1\n\
+ bhi _080F0D8C\n\
+ b _080F0EAE\n\
+_080F0D8C:\n\
+ movs r0, 0\n\
+ strh r0, [r1]\n\
+ ldr r0, _080F0DBC @ =gWindowTemplate_81E70D4\n\
+ bl BasicInitMenuWindow\n\
+ ldr r0, _080F0DC0 @ =0x00008778\n\
+ adds r1, r4, r0\n\
+ ldrh r3, [r5]\n\
+ lsls r0, r3, 1\n\
+ adds r0, 0x2\n\
+ ldrh r1, [r1]\n\
+ adds r5, r0, r1\n\
+ movs r0, 0x1F\n\
+ ands r5, r0\n\
+ cmp r3, 0x6\n\
+ bhi _080F0D6C\n\
+ lsls r0, r3, 2\n\
+ ldr r1, _080F0DC4 @ =_080F0DC8\n\
+ adds r0, r1\n\
+ ldr r0, [r0]\n\
+ mov pc, r0\n\
+ .align 2, 0\n\
+_080F0DB8: .4byte 0x00000306\n\
+_080F0DBC: .4byte gWindowTemplate_81E70D4\n\
+_080F0DC0: .4byte 0x00008778\n\
+_080F0DC4: .4byte _080F0DC8\n\
+ .align 2, 0\n\
+_080F0DC8:\n\
+ .4byte _080F0DE4\n\
+ .4byte _080F0DF0\n\
+ .4byte _080F0E08\n\
+ .4byte _080F0E14\n\
+ .4byte _080F0E2C\n\
+ .4byte _080F0E38\n\
+ .4byte _080F0E6C\n\
+_080F0DE4:\n\
+ ldr r0, _080F0DEC @ =gOtherText_Strategy\n\
+ lsls r2, r5, 3\n\
+ b _080F0E54\n\
+ .align 2, 0\n\
+_080F0DEC: .4byte gOtherText_Strategy\n\
+_080F0DF0:\n\
+ ldr r0, _080F0DFC @ =gPokenavStructPtr\n\
+ ldr r0, [r0]\n\
+ ldr r1, _080F0E00 @ =0x00008788\n\
+ adds r4, r0, r1\n\
+ ldr r1, _080F0E04 @ =0x0000d110\n\
+ b _080F0E42\n\
+ .align 2, 0\n\
+_080F0DFC: .4byte gPokenavStructPtr\n\
+_080F0E00: .4byte 0x00008788\n\
+_080F0E04: .4byte 0x0000d110\n\
+_080F0E08:\n\
+ ldr r0, _080F0E10 @ =gOtherText_TrainersPokemon\n\
+ lsls r2, r5, 3\n\
+ b _080F0E54\n\
+ .align 2, 0\n\
+_080F0E10: .4byte gOtherText_TrainersPokemon\n\
+_080F0E14:\n\
+ ldr r0, _080F0E20 @ =gPokenavStructPtr\n\
+ ldr r0, [r0]\n\
+ ldr r1, _080F0E24 @ =0x00008788\n\
+ adds r4, r0, r1\n\
+ ldr r1, _080F0E28 @ =0x0000d114\n\
+ b _080F0E42\n\
+ .align 2, 0\n\
+_080F0E20: .4byte gPokenavStructPtr\n\
+_080F0E24: .4byte 0x00008788\n\
+_080F0E28: .4byte 0x0000d114\n\
+_080F0E2C:\n\
+ ldr r0, _080F0E34 @ =gOtherText_SelfIntroduction\n\
+ lsls r2, r5, 3\n\
+ b _080F0E54\n\
+ .align 2, 0\n\
+_080F0E34: .4byte gOtherText_SelfIntroduction\n\
+_080F0E38:\n\
+ ldr r0, _080F0E60 @ =gPokenavStructPtr\n\
+ ldr r0, [r0]\n\
+ ldr r1, _080F0E64 @ =0x00008788\n\
+ adds r4, r0, r1\n\
+ ldr r1, _080F0E68 @ =0x0000d118\n\
+_080F0E42:\n\
+ adds r0, r1\n\
+ ldr r1, [r0]\n\
+ adds r0, r4, 0\n\
+ movs r2, 0x88\n\
+ movs r3, 0\n\
+ bl AlignStringInMenuWindow\n\
+ lsls r2, r5, 3\n\
+ adds r0, r4, 0\n\
+_080F0E54:\n\
+ movs r1, 0x61\n\
+ movs r3, 0\n\
+ bl Menu_PrintTextPixelCoords\n\
+ b _080F0EA0\n\
+ .align 2, 0\n\
+_080F0E60: .4byte gPokenavStructPtr\n\
+_080F0E64: .4byte 0x00008788\n\
+_080F0E68: .4byte 0x0000d118\n\
+_080F0E6C:\n\
+ ldr r0, _080F0E94 @ =gPokenavStructPtr\n\
+ ldr r0, [r0]\n\
+ ldr r1, _080F0E98 @ =0x00008788\n\
+ adds r4, r0, r1\n\
+ ldr r1, _080F0E9C @ =0x0000d11c\n\
+ adds r0, r1\n\
+ ldr r1, [r0]\n\
+ adds r0, r4, 0\n\
+ movs r2, 0x88\n\
+ movs r3, 0\n\
+ bl AlignStringInMenuWindow\n\
+ lsls r2, r5, 3\n\
+ adds r0, r4, 0\n\
+ movs r1, 0x61\n\
+ movs r3, 0\n\
+ bl Menu_PrintTextPixelCoords\n\
+ b _080F0D6C\n\
+ .align 2, 0\n\
+_080F0E94: .4byte gPokenavStructPtr\n\
+_080F0E98: .4byte 0x00008788\n\
+_080F0E9C: .4byte 0x0000d11c\n\
+_080F0EA0:\n\
+ ldr r0, _080F0EB8 @ =gPokenavStructPtr\n\
+ ldr r1, [r0]\n\
+ ldr r0, _080F0EBC @ =0x0000d15c\n\
+ adds r1, r0\n\
+ ldrh r0, [r1]\n\
+ adds r0, 0x1\n\
+ strh r0, [r1]\n\
+_080F0EAE:\n\
+ movs r0, 0x1\n\
+_080F0EB0:\n\
+ pop {r4,r5}\n\
+ pop {r1}\n\
+ bx r1\n\
+ .align 2, 0\n\
+_080F0EB8: .4byte gPokenavStructPtr\n\
+_080F0EBC: .4byte 0x0000d15c\n\
+ .syntax divided\n");
+}
+#endif
+
+void sub_80F0EC0(void)
+{
+ gPokenavStructPtr->unk306 = 0;
+ gPokenavStructPtr->unkD15C = 0;
+ StringFill(gPokenavStructPtr->unk8788, CHAR_SPACE, 16);
+}
+
+bool8 sub_80F0EF4(void)
+{
+ int top;
+ if (gPokenavStructPtr->unkD15C > 6)
+ return FALSE;
+
+ if (++gPokenavStructPtr->unk306 > 1)
+ {
+ gPokenavStructPtr->unk306 = 0;
+ top = (gPokenavStructPtr->unk8778 + 2 + gPokenavStructPtr->unkD15C * 2) & 0x1F;
+ BasicInitMenuWindow(&gWindowTemplate_81E70D4);
+ Menu_EraseWindowRect(12, top, 31, top + 1);
+ gPokenavStructPtr->unkD15C++;
+ }
+
+ return TRUE;
+}
+
+void sub_80F0F64(void)
+{
+ s16 var0 = gPokenavStructPtr->unk876C;
+ gPokenavStructPtr->unk877C = var0 * 16;
+ gPokenavStructPtr->unk877A = var0 == 1 ? 4 : 8;
+}
+
+void sub_80F0FA0(void)
+{
+ s16 var0 = gPokenavStructPtr->unk876C * -1;
+ gPokenavStructPtr->unk877C = var0 * 16;
+ gPokenavStructPtr->unk877A = var0 == -1 ? -4 : -8;
+}
+
+bool8 sub_80F0FEC(void)
+{
+ return sub_80F0718();
+}
+
+void sub_80F0FFC(u8 arg0)
+{
+ GetMapSectionName(gPokenavStructPtr->unk8788, gPokenavStructPtr->trainersEye[arg0].regionMapSectionId, 0);
+ BasicInitMenuWindow(&gWindowTemplate_81E710C);
+ sub_80F19DC(gPokenavStructPtr->unk8788);
+ AlignStringInMenuWindow(gPokenavStructPtr->unkD138, gPokenavStructPtr->unk8788, 88, 2);
+ Menu_PrintText(gPokenavStructPtr->unkD138, 0, 5);
+}
+
+void sub_80F105C(void)
+{
+ sub_80F0A74(gPokenavStructPtr->unk876E, gPokenavStructPtr->unk8778);
+}
+
+bool8 sub_80F1080(void)
+{
+ switch (gPokenavStructPtr->unkD160)
+ {
+ case 0:
+ sub_80EEDE8();
+ gPokenavStructPtr->unkD162 = 11;
+ break;
+ case 1:
+ Text_LoadWindowTemplate(&gWindowTemplate_81E70B8);
+ break;
+ case 2:
+ MultistepInitMenuWindowBegin(&gWindowTemplate_81E70B8);
+ break;
+ case 3:
+ if (!MultistepInitMenuWindowContinue())
+ return TRUE;
+ break;
+ case 4:
+ Menu_EraseScreen();
+ break;
+ case 5:
+ sub_80F1614();
+ break;
+ case 6:
+ if (sub_80F162C(1))
+ return TRUE;
+ break;
+ case 7:
+ LZ77UnCompWram(gUnknown_08E9FBA0, gPokenavStructPtr->unk934C);
+ break;
+ case 8:
+ DrawMonRibbonIcons();
+ break;
+ case 9:
+ sub_80F13FC();
+ break;
+ case 10:
+ LZ77UnCompVram(gPokenavRibbonView_Gfx, (void *)(VRAM + 0x8000));
+ break;
+ case 11:
+ LZ77UnCompVram(gUnknown_083E040C, (void *)(VRAM + 0x8200));
+ break;
+ case 12:
+ LoadPalette(gPokenavRibbonView_Pal, 0x20, 0x20);
+ LoadPalette(gUnknown_083E03A8, 0xF0, 0x20);
+ LoadPalette(gUnknown_083E3C60[0], 0x30, 0xA0);
+ LoadPalette(gUnknownPalette_81E6692, 0xB0, 0x20);
+ LoadPalette(gUnknown_083E03A8 + 0xF, 0xBF, 0x2);
+ break;
+ case 13:
+ sub_80F1438();
+ break;
+ case 14:
+ REG_BG2CNT = 0x1E02;
+ REG_BG3CNT = 0x170B;
+ REG_BLDCNT = 0;
+ gPokenavStructPtr->unkD160++;
+ return FALSE;
+ default:
+ return FALSE;
+ }
+
+ gPokenavStructPtr->unkD160++;
+ return TRUE;
+}
+
+void DrawMonRibbonIcons(void)
+{
+ u16 i;
+ u16 offset;
+ u8 index, palette, tile;
+ u8 var0;
+
+ offset = 0x8B;
+ var0 = gPokenavStructPtr->unkBC8E - gPokenavStructPtr->unkBC8F;
+
+ for (i = 0; i < 8; i++)
+ CpuFill16(0x2000, &gPokenavStructPtr->unk934C[offset + i * 32], 0x24);
+
+ for (i = 0; i < var0; i++)
+ {
+ index = gPokenavStructPtr->unkBC4C[i];
+ palette = gPokenavRibbonsIconGfx[index][1] + 3;
+ tile = gPokenavRibbonsIconGfx[index][0] * 2 + 0x10;
+ gPokenavStructPtr->unk934C[offset] = (palette << 12) | tile;
+ gPokenavStructPtr->unk934C[offset + 1] = ((palette << 12) | 0x400) | tile;
+ gPokenavStructPtr->unk934C[offset + 0x20] = (palette << 12) | (tile + 1);
+ gPokenavStructPtr->unk934C[offset + 0x21] = (palette << 12) | 0x400 | (tile + 1);
+
+ if ((i + 1) % 9 == 0)
+ offset += 0x30;
+ else
+ offset += 2;
+ }
+
+ offset = 0x14B;
+ for (i = 0; i < gPokenavStructPtr->unkBC8F; i++)
+ {
+ index = gPokenavStructPtr->unkBC4C[var0 + i];
+ palette = gPokenavRibbonsIconGfx[index][1] + 3;
+ tile = gPokenavRibbonsIconGfx[index][0] * 2 + 0x10;
+ gPokenavStructPtr->unk934C[offset] = (palette << 12) | tile;
+ gPokenavStructPtr->unk934C[offset + 1] = ((palette << 12) | 0x400) | tile;
+ gPokenavStructPtr->unk934C[offset + 0x20] = (palette << 12) | (tile + 1);
+ gPokenavStructPtr->unk934C[offset + 0x21] = (palette << 12) | 0x400 | (tile + 1);
+
+ offset += 2;
+ }
+}
+
+void sub_80F13FC(void)
+{
+ u16 *src = gPokenavStructPtr->unk934C;
+ u16 *dest = (u16 *)(VRAM + 0xB800);
+ DmaCopy32(3, src, dest, 0x500);
+ gPlttBufferUnfaded[0] = *(gPokenavRibbonView_Pal + 14);
+}
+
+void sub_80F1438(void)
+{
+ Menu_PrintText(gPokenavStructPtr->unk8829[0], 13, 1);
+ sub_80F445C(gPokenavStructPtr->unk8788, gPokenavStructPtr->unk876E + 1);
+ Menu_PrintText(gPokenavStructPtr->unk8788, 1, 5);
+}
+
+void sub_80F1480(void)
+{
+ Menu_EraseWindowRect(12, 13, 27, 16);
+}
+
+// This is a fakematching function, due to a hardcoded access of gSaveBlock1.
+// Due to this hardcoded address access, gift ribbons do not properly display
+// their descriptions, since the hardcoded access is inside of the LinkBattleRecords
+// save data, rather than the giftRibbons array, which is almost certainly what the
+// intended access is.
+void sub_80F1494(void)
+{
+ u8 *arr;
+ u8 *tileBuffer1 = &gUnknown_083DFEC8[0x800];
+ u8 *tileBuffer2 = &gUnknown_083DFEC8[0xA98];
+
+ if (gPokenavStructPtr->unkBC91 < 3)
+ {
+ gUnknown_020388B4 = gPokenavStructPtr->unkBC91 * 9 + gPokenavStructPtr->unkBC90;
+ gUnknown_020388B4 = gPokenavStructPtr->unkBC4C[gUnknown_020388B4];
+ AlignStringInMenuWindow(tileBuffer1, gRibbonDescriptions[gUnknown_020388B4][0], 128, 0);
+ AlignStringInMenuWindow(tileBuffer2, gRibbonDescriptions[gUnknown_020388B4][1], 128, 0);
+ }
+ else
+ {
+ gUnknown_020388B4 = gPokenavStructPtr->unkBC8E - gPokenavStructPtr->unkBC8F;
+ gUnknown_020388B4 = gPokenavStructPtr->unkBC4C[gUnknown_020388B4 + gPokenavStructPtr->unkBC90];
+
+ // FIXME!
+ arr = ((u8*)&gSaveBlock1);
+ asm("ldrh r1, [r5]\n\
+ add r0, r0, r1");
+ gUnknown_020388B4 = arr[0x30F7];
+ // The bug fix for this code is the following:
+ // gUnknown_020388B4 = gSaveBlock1.externalReservedData.giftRibbons[gUnknown_020388B4];
+ if (gUnknown_020388B4)
+ {
+ gUnknown_020388B4--;
+ AlignStringInMenuWindow(tileBuffer1, gGiftRibbonDescriptions[gUnknown_020388B4][0], 128, 0);
+ AlignStringInMenuWindow(tileBuffer2, gGiftRibbonDescriptions[gUnknown_020388B4][1], 128, 0);
+ }
+ else
+ {
+ AlignStringInMenuWindow(tileBuffer1, gEmptyString_81E72B0, 128, 0);
+ AlignStringInMenuWindow(tileBuffer2, gEmptyString_81E72B0, 128, 0);
+ }
+ }
+
+ Menu_PrintText(tileBuffer1, 12, 13);
+ Menu_PrintText(tileBuffer2, 12, 15);
+}
+
+void sub_80F15A8(void)
+{
+ u8 *buffer;
+ Menu_EraseWindowRect(12, 13, 27, 16);
+ buffer = StringCopy(gPokenavStructPtr->unk8788, gOtherText_Ribbons);
+ buffer[0] = CHAR_SPACE;
+ buffer++;
+ buffer = ConvertIntToDecimalStringN(
+ buffer,
+ gPokenavStructPtr->unk893c[gPokenavStructPtr->unk87DC].unk0,
+ STR_CONV_MODE_LEFT_ALIGN,
+ 2);
+ buffer[0] = EOS;
+ Menu_PrintText(gPokenavStructPtr->unk8788, 12, 13);
+}
+
+void sub_80F1614(void)
+{
+ gPokenavStructPtr->unk8764 = 0;
+}
+
+bool8 sub_80F162C(u8 arg0)
+{
+ switch (gPokenavStructPtr->unk8764)
+ {
+ case 0:
+ break;
+ case 1:
+ LZ77UnCompVram(gUnknown_08E9FF58, (void *)(VRAM + 0xE800));
+ break;
+ case 2:
+ DmaCopy16Defvars(3, gPokenavRibbonPokeView_Gfx, (void *)(VRAM + 0xE000), 0xE0);
+ break;
+ case 3:
+ if (!arg0)
+ LoadPalette(gUnknown_083E0124, 0xD0, 0x20);
+ else
+ LoadPalette(gUnknown_083E0144, 0xD0, 0x20);
+
+ gPokenavStructPtr->unk8766 = -80;
+ REG_BG0CNT = 0x1D0D;
+ gPokenavStructPtr->unk8764++;
+ return FALSE;
+ default:
+ return FALSE;
+ }
+
+ gPokenavStructPtr->unk8764++;
+ return TRUE;
+}
+
+bool8 sub_80F170C(void)
+{
+ gPokenavStructPtr->unk8766 += 0x10;
+ if (gPokenavStructPtr->unk8766 > 0)
+ gPokenavStructPtr->unk8766 = 0;
+
+ return gPokenavStructPtr->unk8766 != 0;
+}
+
+bool8 sub_80F173C(void)
+{
+ gPokenavStructPtr->unk8766 -= 0x10;
+ if (gPokenavStructPtr->unk8766 < -0x50)
+ gPokenavStructPtr->unk8766 = -0x50;
+
+ return gPokenavStructPtr->unk8766 != -0x50;
+}
+
+bool8 sub_80F1778(void)
+{
+ switch (gPokenavStructPtr->unkD160)
+ {
+ case 0:
+ sub_80EEDE8();
+ gPokenavStructPtr->unkD162 = 2;
+ break;
+ case 1:
+ sub_80F1614();
+ break;
+ case 2:
+ if (sub_80F162C(0))
+ return TRUE;
+ break;
+ case 3:
+ LZ77UnCompVram(gPokenavConditionView_Gfx, (void *)(VRAM + 0x5000));
+ break;
+ case 4:
+ LZ77UnCompVram(gUnknown_08E9AC4C, (void *)(VRAM + 0xF000));
+ LoadPalette(gPokenavConditionMenu2_Pal, 0x20, 0x20);
+ break;
+ case 5:
+ sub_8095C8C((void *)VRAM + 0xF000, 0, 13, gUnknown_083E01F4, 0, 0, 12, 4, 12);
+ break;
+ case 6:
+ LZ77UnCompVram(gUnknown_08E9FEB4, (void *)(VRAM + 0xB800));
+ break;
+ case 7:
+ LoadPalette(gUnknown_083E0254, 0x30, 0x20);
+ LoadPalette(gUnknownPalette_81E6692, 0xB0, 0x20);
+ LoadPalette(&gPokenavConditionMenu2_Pal[2], 0xB1, 0x2);
+ LoadPalette(&gPokenavConditionMenu2_Pal[16], 0xB5, 0x2);
+ LoadPalette(&gPokenavConditionMenu2_Pal[30], 0xBF, 0x2);
+ sub_80F01A4();
+ break;
+ case 8:
+ sub_80F01E0(gPokenavStructPtr->unk8fe9);
+ break;
+ case 9:
+ REG_BG3CNT = 0x1E03;
+ REG_BG2CNT = 0x1702;
+ REG_BLDCNT = 0x844;
+ REG_BLDALPHA = 0x40B;
+ break;
+ default:
+ return FALSE;
+ }
+
+ gPokenavStructPtr->unkD160++;
+ return TRUE;
+}
+
+void sub_80F1934(void)
+{
+ u8 *buffer = gPokenavStructPtr->unk8788;
+ if (gPokenavStructPtr->unk893c[gPokenavStructPtr->unk87DC].unk3_14)
+ {
+ u8 nature = GetNature(&gPlayerParty[sub_8137124(gPokenavStructPtr->unk87DC)]);
+ buffer = StringCopy(buffer, gOtherText_Nature2);
+ AlignStringInMenuWindow(buffer, gNatureNames[nature], 87, 0);
+ }
+ else
+ {
+ AlignStringInMenuWindow(buffer, gEmptyString_81E72B0, 87, 0);
+ }
+
+ Menu_PrintTextPixelCoords(gPokenavStructPtr->unk8788, 1, 112, 1);
+}
+
+void sub_80F19DC(u8 *text)
+{
+ while (text[0] != EOS)
+ {
+ if (text[0] == EXT_CTRL_CODE_BEGIN && text[1] == CHAR_SPACE)
+ {
+ text[0] = EOS;
+ break;
+ }
+
+ text++;
+ }
+}
+
+void sub_80F19FC(void)
+{
+ // FIXME r4/r5 swapped
+ register u8 *ptr asm("r5") = gUnknown_020388B0;
+ if (ptr[0] == 1)
+ {
+ const u8 *landmarkName = GetLandmarkName(
+ gPokenavStructPtr->regionMap.mapSectionId,
+ gPokenavStructPtr->regionMap.everGrandeCityArea,
+ ptr[1]);
+
+ if (landmarkName)
+ {
+ sub_8072A18(landmarkName, 0x70, 4 * (ptr[1] * 4 + 12), 0x78, 1);
+ if (++ptr[1] != 4)
+ return;
+ }
+
+ Menu_BlankWindowRect(14, ptr[1] * 2 + 6, 28, 15);
+ ptr[0] = 0;
+ }
+}
+
+void sub_80F1A74(void)
+{
+ gUnknown_020388B0[0] = 0;
+}
+
+void sub_80F1A80(void)
+{
+ gUnknown_020388B0[0] = 1;
+ gUnknown_020388B0[1] = 0;
+}
+
+void sub_80F1A90(void)
+{
+ gPokenavStructPtr->unk306 = 0;
+ if (gPokenavStructPtr->unk6DAC == 0)
+ while (sub_80F1AC4());
+}
+
+bool8 sub_80F1AC4(void)
+{
+ u16 i, j;
+
+ switch (gPokenavStructPtr->unk306)
+ {
+ case 0:
+ for (i = 0; i < 6; i++)
+ {
+ for (j = 0; j < 4; j++)
+ gPokenavStructPtr->unk320[i][j] = NULL;
+ }
+
+ gPokenavStructPtr->unk311 = 0;
+ break;
+ case 1:
+ LZ77UnCompWram(gPokenavMenuOptions_Gfx, gPokenavStructPtr->unk388);
+ break;
+ case 2:
+ LZ77UnCompWram(gPokenavConditionMenu_Gfx, gPokenavStructPtr->unk1788);
+ break;
+ case 3:
+ LZ77UnCompWram(gPokenavConditionSearch_Gfx, gPokenavStructPtr->unk2388);
+ return FALSE;
+ }
+
+ gPokenavStructPtr->unk306++;
+ return TRUE;
+}
+
+void sub_80F1B8C(u8 arg0)
+{
+ gPokenavStructPtr->unk306 = 0;
+ if (gPokenavStructPtr->unk6DAC == 0)
+ while (sub_80F1BC8(arg0));
+}
+
+#ifdef NONMATCHING
+// very close, but for some reason, (i + 1) is being stored in sp[0x10]
+bool8 sub_80F1BC8(u8 arg0)
+{
+ u16 i, j;
+ u16 animNum;
+ u16 topOffset;
+ u16 height;
+ u16 middle;
+ u8 spriteId;
+
+ switch (gPokenavStructPtr->unk306)
+ {
+ case 0:
+ sub_80F2458(arg0);
+ break;
+ case 1:
+ sub_80F2514(arg0);
+ break;
+ case 2:
+ switch (arg0)
+ {
+ case 0:
+ topOffset = 42;
+ height = 20;
+ gPokenavStructPtr->unk30E = 5;
+ break;
+ case 1:
+ topOffset = 56;
+ height = 20;
+ gPokenavStructPtr->unk30E = 3;
+ break;
+ case 2:
+ topOffset = 40;
+ height = 16;
+ gPokenavStructPtr->unk30E = 6;
+ break;
+ default:
+ return FALSE;
+ }
+
+ animNum = 0;
+ for (i = 0; i < gPokenavStructPtr->unk30E; i++)
+ {
+ middle = (height * i) + topOffset - 8;
+ gPokenavStructPtr->unk314[i] = (middle << 8) | (middle + 0x11);
+ if (!arg0)
+ {
+ if (gPokenavStructPtr->unk6DB2[i] == 0)
+ {
+ for (j = 0; j < 4; j++)
+ gPokenavStructPtr->unk320[i][j] = NULL;
+ continue;
+ }
+ else
+ {
+ animNum = (gPokenavStructPtr->unk6DB2[i] - 1) * 4;
+ }
+ }
+
+ for (j = 0; j < 4; j++)
+ {
+ spriteId = CreateSprite(&gSpriteTemplate_83E4454, j * 32 + 256, (height * i) + topOffset, 0);
+ if (spriteId != MAX_SPRITES)
+ {
+ gPokenavStructPtr->unk320[i][j] = &gSprites[spriteId];
+ gPokenavStructPtr->unk320[i][j]->data[0] = i;
+ gPokenavStructPtr->unk320[i][j]->data[1] = j;
+ gPokenavStructPtr->unk320[i][j]->data[2] = j * 32 + 152;
+ gPokenavStructPtr->unk320[i][j]->data[3] = j * 32 + 256;
+ StartSpriteAnim(gPokenavStructPtr->unk320[i][j], animNum++);
+
+ if ((arg0 == 2 || arg0 == 0) && i > 2)
+ gPokenavStructPtr->unk320[i][j]->oam.paletteNum = IndexOfSpritePaletteTag(0x1);
+ }
+ }
+ }
+ break;
+ default:
+ return FALSE;
+ }
+
+ gPokenavStructPtr->unk306++;
+ return TRUE;
+}
+#else
+NAKED
+bool8 sub_80F1BC8(u8 arg0)
+{
+ asm(".syntax unified\n\
+ push {r4-r7,lr}\n\
+ mov r7, r10\n\
+ mov r6, r9\n\
+ mov r5, r8\n\
+ push {r5-r7}\n\
+ sub sp, 0xC\n\
+ lsls r0, 24\n\
+ lsrs r0, 24\n\
+ mov r9, r0\n\
+ ldr r1, _080F1BF4 @ =gPokenavStructPtr\n\
+ ldr r2, [r1]\n\
+ ldr r3, _080F1BF8 @ =0x00000306\n\
+ adds r0, r2, r3\n\
+ ldrh r0, [r0]\n\
+ adds r3, r1, 0\n\
+ cmp r0, 0x1\n\
+ beq _080F1C0A\n\
+ cmp r0, 0x1\n\
+ bgt _080F1BFC\n\
+ cmp r0, 0\n\
+ beq _080F1C02\n\
+ b _080F1DC4\n\
+ .align 2, 0\n\
+_080F1BF4: .4byte gPokenavStructPtr\n\
+_080F1BF8: .4byte 0x00000306\n\
+_080F1BFC:\n\
+ cmp r0, 0x2\n\
+ beq _080F1C12\n\
+ b _080F1DC4\n\
+_080F1C02:\n\
+ mov r0, r9\n\
+ bl sub_80F2458\n\
+ b _080F1DC8\n\
+_080F1C0A:\n\
+ mov r0, r9\n\
+ bl sub_80F2514\n\
+ b _080F1DC8\n\
+_080F1C12:\n\
+ mov r4, r9\n\
+ cmp r4, 0x1\n\
+ beq _080F1C40\n\
+ cmp r4, 0x1\n\
+ bgt _080F1C22\n\
+ cmp r4, 0\n\
+ beq _080F1C2A\n\
+ b _080F1DC4\n\
+_080F1C22:\n\
+ mov r5, r9\n\
+ cmp r5, 0x2\n\
+ beq _080F1C54\n\
+ b _080F1DC4\n\
+_080F1C2A:\n\
+ movs r0, 0x2A\n\
+ str r0, [sp, 0x4]\n\
+ movs r1, 0x14\n\
+ str r1, [sp, 0x8]\n\
+ ldr r4, _080F1C3C @ =0x0000030e\n\
+ adds r1, r2, r4\n\
+ movs r0, 0x5\n\
+ b _080F1C62\n\
+ .align 2, 0\n\
+_080F1C3C: .4byte 0x0000030e\n\
+_080F1C40:\n\
+ movs r5, 0x38\n\
+ str r5, [sp, 0x4]\n\
+ movs r0, 0x14\n\
+ str r0, [sp, 0x8]\n\
+ ldr r4, _080F1C50 @ =0x0000030e\n\
+ adds r1, r2, r4\n\
+ movs r0, 0x3\n\
+ b _080F1C62\n\
+ .align 2, 0\n\
+_080F1C50: .4byte 0x0000030e\n\
+_080F1C54:\n\
+ movs r5, 0x28\n\
+ str r5, [sp, 0x4]\n\
+ movs r0, 0x10\n\
+ str r0, [sp, 0x8]\n\
+ ldr r4, _080F1CDC @ =0x0000030e\n\
+ adds r1, r2, r4\n\
+ movs r0, 0x6\n\
+_080F1C62:\n\
+ strb r0, [r1]\n\
+ movs r5, 0\n\
+ str r5, [sp]\n\
+ mov r8, r5\n\
+ adds r1, r3, 0\n\
+ ldr r0, [r1]\n\
+ ldr r2, _080F1CDC @ =0x0000030e\n\
+ adds r0, r2\n\
+ ldrb r0, [r0]\n\
+ lsls r0, 24\n\
+ asrs r0, 24\n\
+ cmp r8, r0\n\
+ blt _080F1C7E\n\
+ b _080F1DC8\n\
+_080F1C7E:\n\
+ ldr r4, [sp, 0x8]\n\
+ mov r3, r8\n\
+ muls r3, r4\n\
+ ldr r5, [sp, 0x4]\n\
+ adds r0, r5, r3\n\
+ subs r0, 0x8\n\
+ lsls r0, 16\n\
+ lsrs r0, 16\n\
+ ldr r4, [r1]\n\
+ mov r2, r8\n\
+ lsls r1, r2, 1\n\
+ movs r5, 0xC5\n\
+ lsls r5, 2\n\
+ adds r2, r4, r5\n\
+ adds r2, r1\n\
+ lsls r1, r0, 8\n\
+ adds r0, 0x11\n\
+ orrs r1, r0\n\
+ strh r1, [r2]\n\
+ mov r0, r9\n\
+ cmp r0, 0\n\
+ bne _080F1CF2\n\
+ ldr r1, _080F1CE0 @ =0x00006db2\n\
+ adds r0, r4, r1\n\
+ mov r2, r8\n\
+ adds r1, r0, r2\n\
+ ldrb r0, [r1]\n\
+ cmp r0, 0\n\
+ bne _080F1CE8\n\
+ movs r5, 0\n\
+ ldr r0, _080F1CE4 @ =gPokenavStructPtr\n\
+ ldr r0, [r0]\n\
+ lsls r2, 4\n\
+ movs r3, 0xC8\n\
+ lsls r3, 2\n\
+ adds r1, r0, r3\n\
+ movs r3, 0\n\
+_080F1CC8:\n\
+ lsls r0, r5, 2\n\
+ adds r0, r2\n\
+ adds r0, r1, r0\n\
+ str r3, [r0]\n\
+ adds r0, r5, 0x1\n\
+ lsls r0, 16\n\
+ lsrs r5, r0, 16\n\
+ cmp r5, 0x3\n\
+ bls _080F1CC8\n\
+ b _080F1D92\n\
+ .align 2, 0\n\
+_080F1CDC: .4byte 0x0000030e\n\
+_080F1CE0: .4byte 0x00006db2\n\
+_080F1CE4: .4byte gPokenavStructPtr\n\
+_080F1CE8:\n\
+ ldrb r0, [r1]\n\
+ subs r0, 0x1\n\
+ lsls r0, 18\n\
+ lsrs r0, 16\n\
+ str r0, [sp]\n\
+_080F1CF2:\n\
+ movs r5, 0\n\
+ ldr r4, [sp, 0x4]\n\
+ adds r0, r4, r3\n\
+ lsls r0, 16\n\
+ mov r10, r0\n\
+_080F1CFC:\n\
+ lsls r6, r5, 5\n\
+ movs r0, 0x80\n\
+ lsls r0, 1\n\
+ adds r7, r6, r0\n\
+ lsls r1, r7, 16\n\
+ asrs r1, 16\n\
+ ldr r0, _080F1DB4 @ =gSpriteTemplate_83E4454\n\
+ mov r3, r10\n\
+ asrs r2, r3, 16\n\
+ movs r3, 0\n\
+ bl CreateSprite\n\
+ lsls r0, 24\n\
+ lsrs r3, r0, 24\n\
+ cmp r3, 0x40\n\
+ beq _080F1DC4\n\
+ ldr r0, _080F1DB8 @ =gPokenavStructPtr\n\
+ ldr r2, [r0]\n\
+ lsls r1, r5, 2\n\
+ mov r4, r8\n\
+ lsls r0, r4, 4\n\
+ adds r1, r0\n\
+ movs r0, 0xC8\n\
+ lsls r0, 2\n\
+ adds r2, r0\n\
+ adds r4, r2, r1\n\
+ lsls r0, r3, 4\n\
+ adds r0, r3\n\
+ lsls r0, 2\n\
+ ldr r1, _080F1DBC @ =gSprites\n\
+ adds r0, r1\n\
+ str r0, [r4]\n\
+ mov r1, r8\n\
+ strh r1, [r0, 0x2E]\n\
+ ldr r0, [r4]\n\
+ strh r5, [r0, 0x30]\n\
+ ldr r1, [r4]\n\
+ adds r0, r6, 0\n\
+ adds r0, 0x98\n\
+ strh r0, [r1, 0x32]\n\
+ ldr r0, [r4]\n\
+ strh r7, [r0, 0x34]\n\
+ ldr r0, [r4]\n\
+ ldr r1, [sp]\n\
+ adds r2, r1, 0x1\n\
+ lsls r2, 16\n\
+ lsrs r2, 16\n\
+ str r2, [sp]\n\
+ lsls r1, 24\n\
+ lsrs r1, 24\n\
+ bl StartSpriteAnim\n\
+ mov r2, r9\n\
+ cmp r2, 0x2\n\
+ beq _080F1D6E\n\
+ cmp r2, 0\n\
+ bne _080F1D88\n\
+_080F1D6E:\n\
+ mov r3, r8\n\
+ cmp r3, 0x2\n\
+ bls _080F1D88\n\
+ movs r0, 0x1\n\
+ bl IndexOfSpritePaletteTag\n\
+ ldr r3, [r4]\n\
+ lsls r0, 4\n\
+ ldrb r2, [r3, 0x5]\n\
+ movs r1, 0xF\n\
+ ands r1, r2\n\
+ orrs r1, r0\n\
+ strb r1, [r3, 0x5]\n\
+_080F1D88:\n\
+ adds r0, r5, 0x1\n\
+ lsls r0, 16\n\
+ lsrs r5, r0, 16\n\
+ cmp r5, 0x3\n\
+ bls _080F1CFC\n\
+_080F1D92:\n\
+ mov r0, r8\n\
+ adds r0, 0x1\n\
+ lsls r0, 16\n\
+ lsrs r0, 16\n\
+ mov r8, r0\n\
+ ldr r1, _080F1DB8 @ =gPokenavStructPtr\n\
+ ldr r0, [r1]\n\
+ ldr r4, _080F1DC0 @ =0x0000030e\n\
+ adds r0, r4\n\
+ ldrb r0, [r0]\n\
+ lsls r0, 24\n\
+ asrs r0, 24\n\
+ cmp r8, r0\n\
+ bge _080F1DB0\n\
+ b _080F1C7E\n\
+_080F1DB0:\n\
+ b _080F1DC8\n\
+ .align 2, 0\n\
+_080F1DB4: .4byte gSpriteTemplate_83E4454\n\
+_080F1DB8: .4byte gPokenavStructPtr\n\
+_080F1DBC: .4byte gSprites\n\
+_080F1DC0: .4byte 0x0000030e\n\
+_080F1DC4:\n\
+ movs r0, 0\n\
+ b _080F1DD8\n\
+_080F1DC8:\n\
+ ldr r0, _080F1DE8 @ =gPokenavStructPtr\n\
+ ldr r1, [r0]\n\
+ ldr r5, _080F1DEC @ =0x00000306\n\
+ adds r1, r5\n\
+ ldrh r0, [r1]\n\
+ adds r0, 0x1\n\
+ strh r0, [r1]\n\
+ movs r0, 0x1\n\
+_080F1DD8:\n\
+ add sp, 0xC\n\
+ pop {r3-r5}\n\
+ mov r8, r3\n\
+ mov r9, r4\n\
+ mov r10, r5\n\
+ pop {r4-r7}\n\
+ pop {r1}\n\
+ bx r1\n\
+ .align 2, 0\n\
+_080F1DE8: .4byte gPokenavStructPtr\n\
+_080F1DEC: .4byte 0x00000306\n\
+ .syntax divided\n");
+}
+#endif // NONMATCHING
+
+void sub_80F1DF0(void)
+{
+ u16 i, j;
+ for (i = 0; i < gPokenavStructPtr->unk30E; i++)
+ {
+ for (j = 0; j < 4; j++)
+ {
+ if (gPokenavStructPtr->unk320[i][j])
+ gPokenavStructPtr->unk320[i][j]->callback = sub_80F2218;
+ }
+ }
+
+ PlaySE(SE_WIN_OPEN);
+}
+
+bool8 sub_80F1E50(void)
+{
+ if (sub_80F22F8())
+ {
+ sub_80F2108();
+ return FALSE;
+ }
+ else
+ {
+ return TRUE;
+ }
+}
+
+bool8 sub_80F1E6C(void)
+{
+ return !sub_80F22F8();
+}
+
+void sub_80F1E84(void)
+{
+ u16 i, j;
+
+ gPokenavStructPtr->unk30F = 0;
+ sub_80F2148();
+ for (i = 0; i < gPokenavStructPtr->unk30E; i++)
+ {
+ if (i != gPokenavStructPtr->unk6DAD)
+ {
+ for (j = 0; j < 4; j++)
+ {
+ if (gPokenavStructPtr->unk320[i][j])
+ gPokenavStructPtr->unk320[i][j]->callback = sub_80F2240;
+ }
+ }
+ }
+}
+
+bool8 sub_80F1F10(void)
+{
+ u16 j;
+
+ switch (gPokenavStructPtr->unk30F)
+ {
+ case 0:
+ if (sub_80F2360())
+ {
+ for (j = 0; j < 4; j++)
+ {
+ struct Sprite *sprite = gPokenavStructPtr->unk320[gPokenavStructPtr->unk6DAD][j];
+ sprite->oam.affineMode = ST_OAM_AFFINE_DOUBLE;
+ sprite->affineAnims = gSpriteAffineAnimTable_83E4450;
+ InitSpriteAffineAnim(sprite);
+ sprite->data[4] = j * 4 - 6;
+ sprite->data[4] /= 2;
+ sprite->data[5] = sprite->data[4] * 8;
+ sprite->callback = sub_80F2240;
+ }
+
+ sub_80F2170();
+ gPokenavStructPtr->unk30F++;
+ }
+ break;
+ case 1:
+ if (sub_80F23C8())
+ {
+ sub_80F21F8();
+ FreeSpriteTilesByTag(0x0);
+ FreeSpritePaletteByTag(0x0);
+ FreeSpritePaletteByTag(0x1);
+ return FALSE;
+ }
+ break;
+ }
+
+ return TRUE;
+}
+
+void sub_80F1FF0(void)
+{
+ if (gPokenavStructPtr->unk311 == 1)
+ {
+ REG_WIN0V = gPokenavStructPtr->unk314[gPokenavStructPtr->unk6DAD];
+ REG_BLDY = gSineTable[gPokenavStructPtr->unk312] >> 5;
+ gPokenavStructPtr->unk312 += 3;
+ gPokenavStructPtr->unk312 &= 0x7F;
+ }
+ else if (gPokenavStructPtr->unk311 == 2)
+ {
+ REG_BLDALPHA = gUnknown_083E42F8[gPokenavStructPtr->unk312];
+ if (gPokenavStructPtr->unk312 < 15)
+ gPokenavStructPtr->unk312++;
+ }
+}
+
+void sub_80F208C(void)
+{
+ sub_80F2148();
+}
+
+void sub_80F2098(void)
+{
+ REG_WIN0H = 0x77F0;
+ REG_WIN0V = gPokenavStructPtr->unk314[gPokenavStructPtr->unk6DAD];
+ REG_WININ = 0x3F;
+ REG_WINOUT = 0x1F;
+ REG_DISPCNT |= DISPCNT_WIN0_ON;
+}
+
+void sub_80F20F4(void)
+{
+ REG_DISPCNT &= ~DISPCNT_WIN0_ON;
+}
+
+void sub_80F2108(void)
+{
+ if (!gPokenavStructPtr->unk311)
+ {
+ gPokenavStructPtr->unk311 = 1;
+ gPokenavStructPtr->unk312 = 0;
+ REG_BLDCNT = 0x90;
+ REG_BLDY = 0;
+ sub_80F2098();
+ }
+}
+
+void sub_80F2148(void)
+{
+ gPokenavStructPtr->unk311 = 0;
+ REG_BLDCNT = 0;
+ sub_80F20F4();
+}
+
+void sub_80F2170(void)
+{
+ u16 j;
+
+ if (!gPokenavStructPtr->unk311)
+ {
+ sub_80F20F4();
+ for (j = 0; j < 4; j++)
+ {
+ struct Sprite *sprite = gPokenavStructPtr->unk320[gPokenavStructPtr->unk6DAD][j];
+ sprite->oam.objMode = ST_OAM_OBJ_BLEND;
+ }
+
+ gPokenavStructPtr->unk311 = 2;
+ gPokenavStructPtr->unk312 = 0;
+ REG_BLDCNT = 0x3F40;
+ REG_BLDALPHA = 0x10;
+ }
+}
+
+void sub_80F21F8()
+{
+ gPokenavStructPtr->unk311 = 0;
+ REG_BLDCNT = 0;
+}
+
+void sub_80F2218(struct Sprite *sprite)
+{
+ sprite->pos1.x -= 8;
+ if (sprite->pos1.x <= sprite->data[2])
+ {
+ sprite->pos1.x = sprite->data[2];
+ sprite->callback = sub_80F22B0;
+ }
+}
+
+void sub_80F2240(struct Sprite *sprite)
+{
+ if (sprite->data[0] == gPokenavStructPtr->unk6DAD)
+ {
+ if (sprite->data[5])
+ {
+ sprite->pos1.x += sprite->data[4];
+ sprite->data[5] -= sprite->data[4];
+ }
+
+ if (sprite->affineAnimEnded)
+ sub_80F240C(sprite);
+ }
+ else
+ {
+ sprite->pos1.x += 8;
+ if (sprite->pos1.x >= sprite->data[3])
+ sub_80F240C(sprite);
+ }
+}
+
+void sub_80F22B0(struct Sprite *sprite)
+{
+ if (sprite->data[0] == gPokenavStructPtr->unk6DAD)
+ {
+ if (sprite->pos2.x > -16)
+ sprite->pos2.x -= 4;
+ }
+ else
+ {
+ if (sprite->pos2.x < 0)
+ sprite->pos2.x += 4;
+ }
+}
+
+bool8 sub_80F22F8(void)
+{
+ u16 i, j;
+
+ for (i = 0; i < gPokenavStructPtr->unk6DAE; i++)
+ {
+ for (j = 0; j < 4; j++)
+ {
+ struct Sprite *sprite = gPokenavStructPtr->unk320[i][j];
+ if (!sprite)
+ return TRUE;
+
+ if (sprite->pos2.x != 0 && sprite->pos2.x != -16)
+ return FALSE;
+ }
+ }
+
+ return TRUE;
+}
+
+bool8 sub_80F2360(void)
+{
+ u16 i, j;
+
+ for (i = 0; i < gPokenavStructPtr->unk30E; i++)
+ {
+ if (i != gPokenavStructPtr->unk6DAD)
+ {
+ for (j = 0; j < 4; j++)
+ {
+ struct Sprite *sprite = gPokenavStructPtr->unk320[i][j];
+ if (sprite)
+ return FALSE;
+ }
+ }
+ }
+
+ return TRUE;
+}
+
+bool8 sub_80F23C8(void)
+{
+ u16 j;
+
+ for (j = 0; j < 4; j++)
+ {
+ struct Sprite *sprite = gPokenavStructPtr->unk320[gPokenavStructPtr->unk6DAD][j];
+ if (sprite)
+ return FALSE;
+ }
+
+ return TRUE;
+}
+
+void sub_80F240C(struct Sprite *sprite)
+{
+ gPokenavStructPtr->unk320[sprite->data[0]][sprite->data[1]] = NULL;
+ if (sprite->affineAnimEnded)
+ FreeOamMatrix(sprite->oam.matrixNum);
+
+ DestroySprite(sprite);
+}
+
+void sub_80F2458(u8 arg0)
+{
+ switch (arg0)
+ {
+ case 0:
+ gPokenavStructPtr->unk380.data = gPokenavStructPtr->unk388;
+ gPokenavStructPtr->unk380.size = sizeof(gPokenavStructPtr->unk388);
+ gPokenavStructPtr->unk380.tag = 0x0;
+ break;
+ case 1:
+ gPokenavStructPtr->unk380.data = gPokenavStructPtr->unk1788;
+ gPokenavStructPtr->unk380.size = sizeof(gPokenavStructPtr->unk1788);
+ gPokenavStructPtr->unk380.tag = 0x0;
+ break;
+ case 2:
+ gPokenavStructPtr->unk380.data = gPokenavStructPtr->unk2388;
+ gPokenavStructPtr->unk380.size = sizeof(gPokenavStructPtr->unk2388);
+ gPokenavStructPtr->unk380.tag = 0x0;
+ break;
+ default:
+ return;
+ }
+
+ LoadSpriteSheet(&gPokenavStructPtr->unk380);
+}
+
+void sub_80F2514(u8 arg0)
+{
+ struct SpritePalette spritePalette;
+
+ switch (arg0)
+ {
+ case 0:
+ spritePalette.data = gPokenavMenuOptions1_Pal;
+ spritePalette.tag = 0;
+ LoadSpritePalette(&spritePalette);
+ spritePalette.data = gPokenavMenuOptions2_Pal;
+ spritePalette.tag = 0x1;
+ break;
+ case 1:
+ spritePalette.data = gPokenavConditionMenu_Pal;
+ spritePalette.tag = 0x0;
+ break;
+ case 2:
+ spritePalette.data = gPokenavCondition6_Pal;
+ spritePalette.tag = 0;
+ LoadSpritePalette(&spritePalette);
+ spritePalette.data = gPokenavCondition7_Pal;
+ spritePalette.tag = 0x1;
+ break;
+ default:
+ return;
+ }
+
+ LoadSpritePalette(&spritePalette);
+}
+
+void sub_80F2598(void)
+{
+ u8 spriteId;
+
+ gPokenavStructPtr->unk6D9C = NULL;
+ if (DoesSomeoneWantRematchIn(gSaveBlock1.location.mapGroup, gSaveBlock1.location.mapNum) == TRUE)
+ {
+ LoadSpriteSheet(&gSpriteSheet_PokenavBlueLight);
+ LoadSpritePalette(&gSpritePalette_PokenavBlueLight);
+ spriteId = CreateSprite(&gSpriteTemplate_83E4484, 12, 96, 0);
+ if (spriteId != MAX_SPRITES)
+ {
+ gPokenavStructPtr->unk6D9C = &gSprites[spriteId];
+ }
+ else
+ {
+ FreeSpriteTilesByTag(0x19);
+ FreeSpritePaletteByTag(0x11);
+ }
+ }
+}
+
+void sub_80F2620(void)
+{
+ if (gPokenavStructPtr->unk6D9C)
+ {
+ DestroySprite(gPokenavStructPtr->unk6D9C);
+ FreeSpriteTilesByTag(0x19);
+ FreeSpritePaletteByTag(0x11);
+ gPokenavStructPtr->unk6D9C = NULL;
+ }
+}
+
+void sub_80F2654(struct Sprite *sprite)
+{
+ if (++sprite->data[0] > 6)
+ {
+ sprite->data[0] = 0;
+ sprite->invisible = !sprite->invisible;
+ }
+}
+
+void sub_80F2688(void)
+{
+ gPokenavStructPtr->unk306 = 0;
+ if (!gPokenavStructPtr->unk6DAC)
+ while(sub_80F26BC());
+}
+
+bool8 sub_80F26BC(void)
+{
+ switch (gPokenavStructPtr->unk306)
+ {
+ case 0:
+ LZ77UnCompWram(gPokenavMainMenu_Gfx, gPokenavStructPtr->unk3B98);
+ break;
+ case 1:
+ LZ77UnCompWram(gPokenavConditionMenuHeader_Gfx, gPokenavStructPtr->unk4198);
+ break;
+ case 2:
+ LZ77UnCompWram(gPokenavRibbonsHeader_Gfx, gPokenavStructPtr->unk4D98);
+ break;
+ case 3:
+ LZ77UnCompWram(gPokenavHoennMapHeader_Gfx, gPokenavStructPtr->unk5398);
+ break;
+ case 4:
+ LZ77UnCompWram(gPokenavConditionMenuOptions_Gfx, gPokenavStructPtr->unk5F98);
+ break;
+ case 5:
+ LZ77UnCompWram(gPokenavConditionMenuOptions2_Gfx, gPokenavStructPtr->unk6798);
+ break;
+ case 6:
+ LZ77UnCompWram(gPokenavTrainersEyesHeader_Gfx, gPokenavStructPtr->unk4798);
+ break;
+ case 7:
+ LoadSpritePalettes(gUnknown_083E449C);
+ break;
+ default:
+ return FALSE;
+ }
+
+ gPokenavStructPtr->unk306++;
+ return TRUE;
+}
+
+void sub_80F27DC(u8 arg0)
+{
+ struct SpriteSheet spriteSheet;
+
+ switch (arg0)
+ {
+ case 0:
+ spriteSheet.data = gPokenavStructPtr->unk3B98;
+ spriteSheet.size = sizeof(gPokenavStructPtr->unk3B98);
+ spriteSheet.tag = 0x1;
+ break;
+ case 1:
+ spriteSheet.data = gPokenavStructPtr->unk4198;
+ spriteSheet.size = sizeof(gPokenavStructPtr->unk4198);
+ spriteSheet.tag = 0x1;
+ break;
+ case 3:
+ spriteSheet.data = gPokenavStructPtr->unk4798;
+ spriteSheet.size = sizeof(gPokenavStructPtr->unk4798);
+ spriteSheet.tag = 0x1;
+ break;
+ case 2:
+ spriteSheet.data = gPokenavStructPtr->unk4D98;
+ spriteSheet.size = sizeof(gPokenavStructPtr->unk4D98);
+ spriteSheet.tag = 0x1;
+ break;
+ case 4:
+ spriteSheet.data = gPokenavStructPtr->unk5398;
+ spriteSheet.size = sizeof(gPokenavStructPtr->unk5398);
+ spriteSheet.tag = 0x1;
+ break;
+ case 5:
+ spriteSheet.data = gPokenavStructPtr->unk5F98;
+ spriteSheet.size = sizeof(gPokenavStructPtr->unk5F98);
+ spriteSheet.tag = 0x2;
+ break;
+ case 6:
+ spriteSheet.data = gPokenavStructPtr->unk6198;
+ spriteSheet.size = sizeof(gPokenavStructPtr->unk6198);
+ spriteSheet.tag = 0x2;
+ break;
+ case 8:
+ spriteSheet.data = gPokenavStructPtr->unk6398;
+ spriteSheet.size = sizeof(gPokenavStructPtr->unk6398);
+ spriteSheet.tag = 0x2;
+ break;
+ case 9:
+ spriteSheet.data = gPokenavStructPtr->unk6598;
+ spriteSheet.size = sizeof(gPokenavStructPtr->unk6598);
+ spriteSheet.tag = 0x2;
+ break;
+ case 11:
+ spriteSheet.data = gPokenavStructPtr->unk6998;
+ spriteSheet.size = sizeof(gPokenavStructPtr->unk6998);
+ spriteSheet.tag = 0x2;
+ break;
+ case 10:
+ spriteSheet.data = gPokenavStructPtr->unk6798;
+ spriteSheet.size = sizeof(gPokenavStructPtr->unk6798);
+ spriteSheet.tag = 0x2;
+ break;
+ case 7:
+ spriteSheet.data = gPokenavStructPtr->unk6B98;
+ spriteSheet.size = sizeof(gPokenavStructPtr->unk6B98);
+ spriteSheet.tag = 0x2;
+ break;
+ default:
+ return;
+ }
+
+ LoadSpriteSheet(&spriteSheet);
+}
+
+void sub_80F29B8(u8 arg0)
+{
+ u16 i;
+ s16 deltaX, endX, initialX;
+ u16 y;
+ s16 width;
+ struct Sprite **sprites;
+ const struct SpriteTemplate *spriteTemplate;
+ u8 spriteId;
+
+ spriteTemplate = NULL;
+ switch (arg0)
+ {
+ case 0:
+ case 1:
+ case 2:
+ case 3:
+ initialX = -96;
+ y = 49 - gPokenavStructPtr->unk030C;
+ deltaX = 8;
+ endX = 32;
+ width = 64;
+ sprites = gPokenavStructPtr->unk3B88;
+ spriteTemplate = arg0 != 3 ? &gSpriteTemplate_83E44E0 : &gSpriteTemplate_83E44F8;
+ break;
+ case 4:
+ initialX = 272;
+ y = 49 - gPokenavStructPtr->unk030C;
+ deltaX = -8;
+ endX = 152;
+ width = 64;
+ spriteTemplate = &gSpriteTemplate_83E44E0;
+ sprites = gPokenavStructPtr->unk3B88;
+ break;
+ case 5:
+ case 6:
+ case 8:
+ case 9:
+ spriteTemplate = &gSpriteTemplate_83E4530;
+ // fall through
+ case 7:
+ case 10:
+ case 11:
+ if (spriteTemplate == NULL)
+ spriteTemplate = &gSpriteTemplate_83E4548;
+
+ initialX = -96;
+ y = 68 - gPokenavStructPtr->unk030C;
+ deltaX = 8;
+ endX = 16;
+ width = 32;
+ sprites = gPokenavStructPtr->unk3B90;
+ break;
+ default:
+ return;
+ }
+
+ for (i = 0; i < 2; i++)
+ {
+ spriteId = CreateSprite(spriteTemplate, i * width + initialX, y, 0);
+ if (spriteId != MAX_SPRITES)
+ {
+ gSprites[spriteId].data[0] = deltaX;
+ gSprites[spriteId].data[1] = endX + i * width;
+ gSprites[spriteId].data[2] = i;
+ gSprites[spriteId].data[3] = arg0;
+ if (arg0 == 4 && i == 1)
+ {
+ int anim = !gPokenavStructPtr->regionMap.zoomed ? 1 : 2;
+ StartSpriteAnim(&gSprites[spriteId], anim);
+ }
+ else
+ {
+ StartSpriteAnim(&gSprites[spriteId], i);
+ }
+
+ if (arg0 < 4 && i == 1)
+ {
+ gSprites[spriteId].oam.shape = ST_OAM_SQUARE;
+ gSprites[spriteId].oam.size = 2;
+ }
+
+ sprites[i] = &gSprites[spriteId];
+ }
+ }
+}
+
+#define sEndX sprite->data[1]
+void sub_80F2BBC(struct Sprite *sprite)
+{
+ s16 x = sprite->pos1.x;
+ sprite->pos1.x += sprite->data[0];
+ if ((x <= sEndX && sprite->pos1.x >= sEndX) || (x >= sEndX && sprite->pos1.x <= sEndX))
+ {
+ sprite->pos1.x = sEndX;
+ if (sprite->data[3] == 4 && sprite->data[2] == 1)
+ sprite->callback = sub_80F2C58;
+ else
+ sprite->callback = SpriteCallbackDummy;
+ }
+}
+#undef sEndX
+
+void sub_80F2C14(struct Sprite *sprite)
+{
+ u16 right;
+
+ sprite->pos1.x -= sprite->data[0];
+ right = sprite->pos1.x + 32;
+ if (right > 304)
+ {
+ if (sprite->data[2] == 1)
+ {
+ if (sprite->data[3] < 5)
+ FreeSpriteTilesByTag(0x1);
+ else
+ FreeSpriteTilesByTag(0x2);
+ }
+
+ DestroySprite(sprite);
+ }
+}
+
+void sub_80F2C58(struct Sprite *sprite)
+{
+ int anim = !gPokenavStructPtr->regionMap.zoomed ? 1 : 2;
+ StartSpriteAnim(sprite, anim);
+}
+
+void sub_80F2C80(u8 arg0)
+{
+ gPokenavStructPtr->unk306 = 0;
+ if (!gPokenavStructPtr->unk6DAC)
+ while (sub_80F2CBC(arg0));
+}
+
+bool8 sub_80F2CBC(u8 arg0)
+{
+ switch (gPokenavStructPtr->unk306)
+ {
+ case 0:
+ sub_80F27DC(arg0);
+ gPokenavStructPtr->unk306++;
+ return TRUE;
+ case 1:
+ sub_80F29B8(arg0);
+ gPokenavStructPtr->unk306++;
+ return FALSE;
+ default:
+ return FALSE;
+ }
+}
+
+void sub_80F2D04(u8 arg0)
+{
+ u16 i;
+
+ if (arg0 < 5)
+ {
+ for (i = 0; i < 2; i++)
+ gPokenavStructPtr->unk3B88[i]->callback = sub_80F2C14;
+ }
+ else
+ {
+ for (i = 0; i < 2; i++)
+ gPokenavStructPtr->unk3B90[i]->callback = sub_80F2C14;
+ }
+}
+
+void sub_80F2D6C(u8 arg0)
+{
+ u16 i;
+
+ if (arg0 < 5)
+ {
+ FreeSpriteTilesByTag(0x1);
+ for (i = 0; i < 2; i++)
+ DestroySprite(gPokenavStructPtr->unk3B88[i]);
+ }
+ else
+ {
+ FreeSpriteTilesByTag(0x2);
+ for (i = 0; i < 2; i++)
+ DestroySprite(gPokenavStructPtr->unk3B90[i]);
+ }
+}
+
+void sub_80F2DD8(void)
+{
+ CreateRegionMapCursor(7, 7);
+ CreateRegionMapPlayerIcon(8, 8);
+ sub_80FBF94();
+}
+
+void sub_80F2DF4(void)
+{
+ FreeRegionMapIconResources();
+}
+
+void sub_80F2E00(struct Sprite *sprite)
+{
+ sprite->pos1.x = gPokenavStructPtr->unk8766 + 38;
+}
+
+void sub_80F2E18(u8 arg0)
+{
+ u8 spriteId;
+ struct SpriteTemplate spriteTemplate;
+ struct SpritePalette spritePalette;
+ struct SpriteSheet spriteSheet;
+
+ if (!gPokenavStructPtr->unk8768)
+ {
+ spriteSheet = gUnknown_083E4568;
+ spriteTemplate = gSpriteTemplate_83E4570;
+ spritePalette = gUnknown_083E4588;
+
+ spriteSheet.data = gPokenavStructPtr->unkD1E4[arg0];
+ spritePalette.data = gPokenavStructPtr->unk0[arg0];
+ gPokenavStructPtr->unkD1DC = LoadSpritePalette(&spritePalette);
+ gPokenavStructPtr->unkD1DE = LoadSpriteSheet(&spriteSheet);
+
+ spriteId = CreateSprite(&spriteTemplate, 38, 104, 0);
+ if (spriteId == MAX_SPRITES)
+ {
+ FreeSpriteTilesByTag(0x6);
+ FreeSpritePaletteByTag(0x6);
+ gPokenavStructPtr->unk8768 = NULL;
+ }
+ else
+ {
+ gPokenavStructPtr->unk8768 = &gSprites[spriteId];
+ gPokenavStructPtr->unkD1E0 = (void *)(VRAM + 0x10000) + gPokenavStructPtr->unkD1DE * 32;
+ gPokenavStructPtr->unkD1DC = gPokenavStructPtr->unkD1DC * 16 + 0x100;
+ }
+ }
+ else
+ {
+ DmaCopy16Defvars(3, gPokenavStructPtr->unkD1E4[arg0], gPokenavStructPtr->unkD1E0, 0x800);
+ LoadPalette(gPokenavStructPtr->unk0[arg0], gPokenavStructPtr->unkD1DC, 0x20);
+ }
+}
+
+void sub_80F2F48(void)
+{
+ if (gPokenavStructPtr->unk8768)
+ {
+ DestroySprite(gPokenavStructPtr->unk8768);
+ FreeSpriteTilesByTag(0x6);
+ FreeSpritePaletteByTag(0x6);
+ gPokenavStructPtr->unk8768 = NULL;
+ }
+}
+
+void sub_80F2F7C(u8 arg0)
+{
+ sub_80F2E18(arg0);
+ gPokenavStructPtr->unkCED0 = gPokenavStructPtr->unk8768;
+ gPokenavStructPtr->unkCED0->callback = sub_80F2FEC;
+}
+
+void sub_80F2FB0(void)
+{
+ if (gPokenavStructPtr->unkCED0)
+ {
+ DestroySprite(gPokenavStructPtr->unkCED0);
+ FreeSpriteTilesByTag(0x6);
+ FreeSpritePaletteByTag(0x6);
+ gPokenavStructPtr->unkCED0 = NULL;
+ gPokenavStructPtr->unk8768 = NULL;
+ }
+}
+
+void sub_80F2FEC(struct Sprite *sprite)
+{
+ sprite->pos1.x = gPokenavStructPtr->unkD15A + 40;
+ sprite->pos1.y = 104;
+}
+
+void sub_80F3008(u8 arg0)
+{
+ u16 i;
+ u8 spriteId;
+ struct SpritePalette spritePalette;
+ struct SpriteSheet spriteSheets[3];
+
+ memcpy(spriteSheets, gUnknown_083E4590, sizeof(gUnknown_083E4590));
+ spritePalette = gUnknown_083E45A8;
+ switch (arg0)
+ {
+ case 1:
+ case 2:
+ spritePalette.data = gUnknown_08E9F988;
+ break;
+ }
+
+ LoadSpriteSheets(spriteSheets);
+ LoadSpritePalette(&spritePalette);
+ spriteId = CreateSprite(&gSpriteTemplate_83E45B8, 95, 0, 0);
+ if (spriteId == MAX_SPRITES)
+ {
+ gPokenavStructPtr->unk87CC = NULL;
+ }
+ else
+ {
+ gPokenavStructPtr->unk87CC = &gSprites[spriteId];
+ for (i = 0; i < 2; i++)
+ {
+ spriteId = CreateSprite(&gSpriteTemplate_83E45F0, 168, i * 128 + 8, 0);
+ if (spriteId != MAX_SPRITES)
+ {
+ gPokenavStructPtr->unk87D0[i] = &gSprites[spriteId];
+ gSprites[spriteId].invisible = 1;
+ gSprites[spriteId].data[0] = 0;
+ gSprites[spriteId].data[1] = 0;
+ gSprites[spriteId].data[2] = i == 0 ? -1 : 1;
+ gSprites[spriteId].data[3] = i;
+ gSprites[spriteId].data[4] = 1;
+ StartSpriteAnim(&gSprites[spriteId], i);
+ }
+ else
+ {
+ gPokenavStructPtr->unk87D0[i] = NULL;
+ }
+ }
+ }
+}
+
+void sub_80F3130(void)
+{
+ u16 i;
+
+ if (gPokenavStructPtr->unk87CC)
+ {
+ DestroySprite(gPokenavStructPtr->unk87CC);
+ FreeSpriteTilesByTag(0x9);
+ FreeSpritePaletteByTag(0x9);
+ gPokenavStructPtr->unk87CC = NULL;
+ }
+
+ for (i = 0; i < 2; i++)
+ {
+ if (gPokenavStructPtr->unk87D0[i])
+ {
+ DestroySprite(gPokenavStructPtr->unk87D0[i]);
+ gPokenavStructPtr->unk87D0[i] = NULL;
+ }
+ }
+
+ FreeSpriteTilesByTag(0xA);
+}
+
+void sub_80F3190(struct Sprite *sprite)
+{
+ sprite->pos1.y = gPokenavStructPtr->unk876C * 16 + 16;
+}
+
+void sub_80F31AC(struct Sprite *sprite)
+{
+ if (gPokenavStructPtr->unk87C9)
+ {
+ if (sprite->data[4])
+ {
+ if (!sprite->data[3])
+ sprite->invisible = gPokenavStructPtr->unk8770 == 0;
+ else
+ sprite->invisible = gPokenavStructPtr->unk8772 == gPokenavStructPtr->unk8774;
+
+ sprite->data[4] = 0;
+ }
+
+ if (++sprite->data[0] > 4)
+ {
+ sprite->data[0] = 0;
+ if (++sprite->data[1] < 5)
+ {
+ sprite->pos2.y += sprite->data[2];
+ }
+ else
+ {
+ sprite->data[1] = 0;
+ sprite->pos2.y = 0;
+ }
+ }
+ }
+}
+
+void sub_80F3264(void)
+{
+ u16 i;
+
+ for (i = 0; i < 2; i++)
+ {
+ if (gPokenavStructPtr->unk87D0[i])
+ gPokenavStructPtr->unk87D0[i]->data[4] = 1;
+ }
+}
+
+void sub_80F3294(u8 arg0)
+{
+ gPokenavStructPtr->unk87CC->invisible = arg0;
+ if (gPokenavStructPtr->unk87C9)
+ {
+ if (arg0 == 1)
+ {
+ gPokenavStructPtr->unk87D0[0]->invisible = arg0;
+ gPokenavStructPtr->unk87D0[1]->invisible = arg0;
+ }
+ else
+ {
+ gPokenavStructPtr->unk87D0[0]->data[4] = 1;
+ gPokenavStructPtr->unk87D0[1]->data[4] = 1;
+ }
+ }
+}
+
+void sub_80F3328(struct Sprite *sprite)
+{
+ if (sprite->data[0] == gPokenavStructPtr->unk87DC)
+ StartSpriteAnim(sprite, 0);
+ else
+ StartSpriteAnim(sprite, 1);
+}
+
+void sub_80F3360(struct Sprite *sprite)
+{
+ if (gPokenavStructPtr->unk87DC == gPokenavStructPtr->unk87DA - 1)
+ sprite->oam.paletteNum = IndexOfSpritePaletteTag(0x4);
+ else
+ sprite->oam.paletteNum = IndexOfSpritePaletteTag(0x5);
+}
+
+void sub_80F33A8(void)
+{
+ u16 i;
+ u8 spriteId;
+ struct SpriteSheet spriteSheets[4];
+ struct SpritePalette spritePalettes[3];
+ struct SpriteTemplate spriteTemplate;
+
+ memcpy(spriteSheets, gUnknown_083E4628, sizeof(gUnknown_083E4628));
+ memcpy(spritePalettes, gUnknown_083E4648, sizeof(gUnknown_083E4648));
+ spriteTemplate = gSpriteTemplate_83E4660;
+ LoadSpriteSheets(spriteSheets);
+ LoadSpritePalettes(spritePalettes);
+
+ for (i = 0; i < gPokenavStructPtr->unk87DA - 1; i++)
+ {
+ spriteId = CreateSprite(&spriteTemplate, 226, i * 20 + 8, 0);
+ if (spriteId != MAX_SPRITES)
+ {
+ gPokenavStructPtr->unk87E4[i] = &gSprites[spriteId];
+ gPokenavStructPtr->unk87E4[i]->data[0] = i;
+ }
+ else
+ {
+ gPokenavStructPtr->unk87E4[i] = NULL;
+ }
+ }
+
+ spriteTemplate.tileTag = 0x4;
+ spriteTemplate.callback = SpriteCallbackDummy;
+ for (; i < 6; i++)
+ {
+ spriteId = CreateSprite(&spriteTemplate, 230, i * 20 + 8, 0);
+ if (spriteId != MAX_SPRITES)
+ {
+ gPokenavStructPtr->unk87E4[i] = &gSprites[spriteId];
+ gPokenavStructPtr->unk87E4[i]->oam.size = 0;
+ }
+ else
+ {
+ gPokenavStructPtr->unk87E4[i] = NULL;
+ }
+ }
+
+ spriteTemplate.tileTag = 0x5;
+ spriteTemplate.callback = sub_80F3360;
+ spriteId = CreateSprite(&spriteTemplate, 222, i * 20 + 8, 0);
+ if (spriteId != MAX_SPRITES)
+ {
+ gPokenavStructPtr->unk87E4[i] = &gSprites[spriteId];
+ gPokenavStructPtr->unk87E4[i]->oam.shape = ST_OAM_H_RECTANGLE;
+ gPokenavStructPtr->unk87E4[i]->oam.size = 2;
+ }
+ else
+ {
+ gPokenavStructPtr->unk87E4[i] = NULL;
+ }
+}
+
+void sub_80F357C(void)
+{
+ u16 i;
+
+ for (i = 0; i < 7; i++)
+ {
+ if (gPokenavStructPtr->unk87E4[i])
+ {
+ DestroySprite(gPokenavStructPtr->unk87E4[i]);
+ gPokenavStructPtr->unk87E4[i] = NULL;
+ }
+ }
+}
+
+void sub_80F35B4(void)
+{
+ struct Sprite *sprite;
+
+ gPokenavStructPtr->unk76B0.baseTileTag = 0x1C;
+ gPokenavStructPtr->unk76B0.basePaletteTag = 0x13;
+ sub_80F727C(&gPokenavStructPtr->unk76B0);
+ sub_80F7404();
+ sprite = sub_80F7920(27, 21, gUnknown_083E4678);
+ sprite->oam.priority = 3;
+ sprite->pos1.x = 192;
+ sprite->pos1.y = 32;
+ sprite->callback = sub_80F363C;
+ gPokenavStructPtr->unk76AC = sprite;
+}
+
+void sub_80F3614(void)
+{
+ DestroySprite(gPokenavStructPtr->unk76AC);
+ FreeSpriteTilesByTag(0x1B);
+ FreeSpritePaletteByTag(0x15);
+}
+
+void sub_80F363C(struct Sprite *sprite)
+{
+ StartSpriteAnim(sprite, gPokenavStructPtr->unk8934[gPokenavStructPtr->unk8fe9]);
+}
+
+void sub_80F3668(void)
+{
+ sub_80F7418(gPokenavStructPtr->unk8934[gPokenavStructPtr->unk8fe9], 176, 32);
+}
+
+void sub_80F3698(void)
+{
+ struct UnkUsePokeblockSub *var0 = &gPokenavStructPtr->unk893c[gPokenavStructPtr->unk87DC];
+ gPokenavStructPtr->unk8934[gPokenavStructPtr->unk8fe9] = gPokenavStructPtr->unk76B0.markings;
+ SetMonMarkings(var0->unk1, var0->partyIdx, gPokenavStructPtr->unk76B0.markings);
+ sub_80F7470();
+}
+
+void sub_80F36F0(void)
+{
+ gPokenavStructPtr->unk306 = 0;
+ if (!gPokenavStructPtr->unk6DAC)
+ while (sub_80F3724());
+}
+
+bool8 sub_80F3724(void)
+{
+ switch (gPokenavStructPtr->unk306)
+ {
+ case 0:
+ LZ77UnCompWram(gUnknown_083E3D00, gPokenavStructPtr->unk984C);
+ break;
+ case 1:
+ sub_80F379C();
+ gPokenavStructPtr->unk306++;
+ // fall through
+ case 2:
+ if (sub_80F37D0())
+ return TRUE;
+ break;
+ default:
+ return FALSE;
+ }
+
+ gPokenavStructPtr->unk306++;
+ return TRUE;
+}
+
+void sub_80F379C(void)
+{
+ gPokenavStructPtr->unkBC93 = 0;
+ if (!gPokenavStructPtr->unk6DAC)
+ while (sub_80F37D0());
+}
+
+bool8 sub_80F37D0(void)
+{
+ u16 i;
+ u8 j, k, l, m;
+
+ if (gPokenavStructPtr->unkBC93 > 11)
+ return FALSE;
+
+ for (i = 0; i < 2; i++)
+ {
+ u8 *r4 = &gPokenavStructPtr->unk984C[gPokenavStructPtr->unkBC93][0];
+ u8 *r5 = &gPokenavStructPtr->unkA44C[gPokenavStructPtr->unkBC93][0];
+ for (j = 0; j < 4; j++)
+ {
+ CpuFastSet(r4, r5, 0x10);
+ r5 += 0x40;
+ r4 += 0x20;
+ for (k = 0; k < 2; k++)
+ {
+ for (l = 0; l < 8; l++)
+ {
+ r4 += 4;
+ for (m = 0; m < 4; m++)
+ {
+ r4 -= 1;
+ *r5 = (*r4 << 4) | ((*r4 >> 4) & 0xF);
+ r5++;
+ }
+
+ r4 += 4;
+ }
+
+ r4 -= 0x40;
+ }
+
+ r4 += 0x60;
+ }
+
+ if (++gPokenavStructPtr->unkBC93 > 11)
+ return FALSE;
+ }
+
+ if (gPokenavStructPtr->unkBC93 > 11)
+ return FALSE;
+
+ return TRUE;
+}
+
+void sub_80F38B8(void)
+{
+ gPokenavStructPtr->unk306 = 0;
+ if (!gPokenavStructPtr->unk6DAC)
+ while (sub_80F38EC());
+}
+
+bool8 sub_80F38EC(void)
+{
+ switch (gPokenavStructPtr->unk306)
+ {
+ case 0:
+ gPokenavStructPtr->unk9348 = NULL;
+ gPokenavStructPtr->unkBC92 = 0;
+ break;
+ case 1:
+ sub_80F2E18(0);
+ break;
+ case 2:
+ sub_80F3970();
+ gPokenavStructPtr->unk306++;
+ // fall through
+ case 3:
+ if (sub_80F39A4())
+ return TRUE;
+ break;
+ default:
+ return FALSE;
+ }
+
+ gPokenavStructPtr->unk306++;
+ return TRUE;
+}
+
+void sub_80F3970(void)
+{
+ gPokenavStructPtr->unkBC93 = 0;
+ if (!gPokenavStructPtr->unk6DAC)
+ while (sub_80F39A4());
+}
+
+bool8 sub_80F39A4(void)
+{
+ struct SpriteSheet spriteSheet;
+ struct SpritePalette spritePalette;
+ if (gPokenavStructPtr->unkBC93 > 11)
+ return FALSE;
+
+ spriteSheet.data = &gPokenavStructPtr->unkA44C[gPokenavStructPtr->unkBC93][0];
+ spriteSheet.size = 0x200;
+ spriteSheet.tag = gPokenavStructPtr->unkBC93 + 11;
+ LoadSpriteSheet(&spriteSheet);
+ if (gPokenavStructPtr->unkBC93 < 5)
+ {
+ spritePalette.data = gUnknown_083E3C60[gPokenavStructPtr->unkBC93];
+ spritePalette.tag = gPokenavStructPtr->unkBC93 + 10;
+ LoadSpritePalette(&spritePalette);
+ }
+
+ if (++gPokenavStructPtr->unkBC93 > 11)
+ return FALSE;
+
+ return TRUE;
+}
+
+struct Sprite *sub_80F3A3C(u16 arg0, u16 arg1)
+{
+ struct SpriteTemplate spriteTemplate;
+ u16 var0;
+ u8 ribbon;
+ u8 spriteId;
+
+ if (arg1 < 3)
+ var0 = arg0 + arg1 * 9;
+ else
+ var0 = arg0 + (gPokenavStructPtr->unkBC8E - gPokenavStructPtr->unkBC8F);
+
+ ribbon = gPokenavStructPtr->unkBC4C[var0];
+ spriteTemplate = gSpriteTemplate_83E476C;
+ spriteTemplate.tileTag = gPokenavRibbonsIconGfx[ribbon][0] + 11;
+ spriteTemplate.paletteTag = gPokenavRibbonsIconGfx[ribbon][1] + 10;
+ spriteId = CreateSprite(&spriteTemplate, arg0 * 16 + 96, arg1 * 16 + 40, 2);
+ if (spriteId != MAX_SPRITES)
+ return &gSprites[spriteId];
+ else
+ return NULL;
+}
+
+void sub_80F3B00(void)
+{
+ gPokenavStructPtr->unk9348 = sub_80F3A3C(gPokenavStructPtr->unkBC90, gPokenavStructPtr->unkBC91);
+ if (gPokenavStructPtr->unk9348)
+ {
+ StartSpriteAffineAnim(gPokenavStructPtr->unk9348, 1);
+ gPokenavStructPtr->unkBC92 = 1;
+ }
+ else
+ {
+ gPokenavStructPtr->unkBC92 = 0;
+ }
+}
+
+bool8 sub_80F3B58(void)
+{
+ if (gPokenavStructPtr->unkBC92)
+ {
+ gPokenavStructPtr->unkBC92 = !gPokenavStructPtr->unk9348->affineAnimEnded;
+ return gPokenavStructPtr->unkBC92;
+ }
+ else
+ {
+ return FALSE;
+ }
+}
+
+void sub_80F3B94(void)
+{
+ if (gPokenavStructPtr->unk9348)
+ {
+ StartSpriteAffineAnim(gPokenavStructPtr->unk9348, 2);
+ gPokenavStructPtr->unkBC92 = 1;
+ }
+ else
+ {
+ gPokenavStructPtr->unkBC92 = 0;
+ }
+}
+
+bool8 sub_80F3BD4(void)
+{
+ if (gPokenavStructPtr->unkBC92)
+ {
+ gPokenavStructPtr->unkBC92 = !gPokenavStructPtr->unk9348->affineAnimEnded;
+ if (!gPokenavStructPtr->unkBC92)
+ {
+ FreeOamMatrix(gPokenavStructPtr->unk9348->oam.matrixNum);
+ DestroySprite(gPokenavStructPtr->unk9348);
+ gPokenavStructPtr->unk9348 = NULL;
+ }
+
+ return gPokenavStructPtr->unkBC92;
+ }
+ else
+ {
+ return FALSE;
+ }
+}
+
+void sub_80F3C2C(void)
+{
+ u16 i;
+
+ if (gPokenavStructPtr->unk9348)
+ {
+ FreeOamMatrix(gPokenavStructPtr->unk9348->oam.matrixNum);
+ DestroySprite(gPokenavStructPtr->unk9348);
+ gPokenavStructPtr->unk9348 = NULL;
+ }
+
+ for (i = 0; i < 12; i++)
+ FreeSpriteTilesByTag(i + 0xB);
+
+ for (i = 0; i < 5; i++)
+ FreeSpritePaletteByTag(i + 0xA);
+
+ sub_80F2F48();
+}
+
+void sub_80F3C94(void)
+{
+ u16 i;
+ struct SpriteSheet spriteSheet;
+ struct SpritePalette spritePalette;
+
+ spriteSheet = gUnknown_083E4784;
+ spritePalette = gUnknown_083E478C;
+ LoadSpriteSheet(&spriteSheet);
+ LoadSpritePalette(&spritePalette);
+ for (i = 0; i < 10; i++)
+ gPokenavStructPtr->unk8800[i] = NULL;
+}
+
+void sub_80F3CE8(void)
+{
+ move_anim_execute();
+ FreeSpriteTilesByTag(0x17);
+ FreeSpritePaletteByTag(0xF);
+}
+
+void sub_80F3D00(void)
+{
+ u8 spriteId;
+ u16 i;
+ u8 var1;
+ struct UnkUsePokeblockSub *var0 = &gPokenavStructPtr->unk893c[gPokenavStructPtr->unk87DC];
+
+ if (!var0->unk3_14)
+ return;
+
+ var1 = gPokenavStructPtr->unk8931[gPokenavStructPtr->unk8fe9];
+ for (i = 0; i < var1 + 1; i++)
+ {
+ spriteId = CreateSprite(&gSpriteTemplate_83E4800, 0, 0, 0);
+ if (spriteId != MAX_SPRITES)
+ {
+ gPokenavStructPtr->unk8800[i] = &gSprites[spriteId];
+ gPokenavStructPtr->unk8800[i]->invisible = 1;
+ }
+ else
+ {
+ break;
+ }
+ }
+
+ sub_80F3F20(var1, 1);
+}
+
+void move_anim_execute(void)
+{
+ u16 i;
+
+ for (i = 0; i < 10; i++)
+ {
+ if (!gPokenavStructPtr->unk8800[i])
+ return;
+
+ DestroySprite(gPokenavStructPtr->unk8800[i]);
+ gPokenavStructPtr->unk8800[i] = NULL;
+ }
+}
+
+void sub_80F3DDC(struct Sprite *sprite)
+{
+ if (++sprite->data[1] > 60)
+ {
+ sprite->data[1] = 0;
+ sub_80F3F20(sprite->data[2], 0);
+ }
+}
+
+void sub_80F3E04(struct Sprite *sprite)
+{
+ if (sprite->animEnded)
+ {
+ sprite->data[1] = 0;
+ sprite->callback = sub_80F3DDC;
+ }
+}
+
+void sub_80F3E24(struct Sprite *sprite)
+{
+ if (gPokenavStructPtr->unk8768)
+ {
+ sprite->pos1.x = gPokenavStructPtr->unk8768->pos1.x
+ + gPokenavStructPtr->unk8768->pos2.x
+ + gUnknown_083E4794[sprite->data[0]][0];
+ sprite->pos1.y = gPokenavStructPtr->unk8768->pos1.y
+ + gPokenavStructPtr->unk8768->pos2.y
+ + gUnknown_083E4794[sprite->data[0]][1];
+ }
+ else
+ {
+ sprite->pos1.x = gUnknown_083E4794[sprite->data[0]][0] + 40;
+ sprite->pos1.y = gUnknown_083E4794[sprite->data[0]][1] + 104;
+ }
+}
+
+void sub_80F3E9C(struct Sprite *sprite)
+{
+ if (sprite->data[1])
+ {
+ if (--sprite->data[1])
+ return;
+
+ SeekSpriteAnim(sprite, 0);
+ sprite->invisible = 0;
+ }
+
+ sub_80F3E24(sprite);
+ if (sprite->animEnded)
+ {
+ sprite->invisible = 1;
+ if (sprite->data[3] == sprite->data[2])
+ {
+ if (sprite->data[3] == 9)
+ {
+ sub_80F3FAC();
+ sprite->callback = sub_80F3E04;
+ }
+ else
+ {
+ sprite->callback = sub_80F3DDC;
+ }
+ }
+ else
+ {
+ sprite->callback = SpriteCallbackDummy;
+ }
+ }
+}
+
+void sub_80F3F20(u8 arg0, u8 arg1)
+{
+ u16 i;
+
+ for (i = 0; i < 10; i++)
+ {
+ if (gPokenavStructPtr->unk8800[i])
+ {
+ gPokenavStructPtr->unk8800[i]->data[0] = i;
+ gPokenavStructPtr->unk8800[i]->data[1] = i * 16 + 1;
+ gPokenavStructPtr->unk8800[i]->data[2] = arg0;
+ gPokenavStructPtr->unk8800[i]->data[3] = i;
+
+ if (!arg1 || arg0 != 9)
+ {
+ gPokenavStructPtr->unk8800[i]->callback = sub_80F3E9C;
+ }
+ else
+ {
+ sub_80F3E24(gPokenavStructPtr->unk8800[i]);
+ sub_80F3FAC();
+ gPokenavStructPtr->unk8800[i]->callback = sub_80F3E04;
+ gPokenavStructPtr->unk8800[i]->invisible = 0;
+ }
+ }
+ }
+}
+
+void sub_80F3FAC(void)
+{
+ u16 i;
+
+ for (i = 0; i < 10; i++)
+ {
+ if (gPokenavStructPtr->unk8800[i])
+ {
+ SeekSpriteAnim(gPokenavStructPtr->unk8800[i], 0);
+ gPokenavStructPtr->unk8800[i]->invisible = 0;
+ }
+ }
+}
+
+void sub_80F3FF0(void)
+{
+ gPokenavStructPtr->unk306 = 0;
+ if (!gPokenavStructPtr->unk6DAC)
+ while (sub_80F4024());
+}
+
+bool8 sub_80F4024(void)
+{
+ u8 paletteIndex;
+ u8 spriteId;
+ struct SpritePalette spritePalette;
+
+ switch (gPokenavStructPtr->unk306)
+ {
+ case 0:
+ LZ77UnCompWram(gUnknown_083E329C, gPokenavStructPtr->unk131E4);
+ break;
+ case 1:
+ {
+ struct SpriteSheet spriteSheet = {
+ .data = gPokenavStructPtr->unk131E4,
+ .size = sizeof(gPokenavStructPtr->unk131E4),
+ .tag = 0x18,
+ };
+ LoadSpriteSheet(&spriteSheet);
+ break;
+ }
+ case 2:
+ spritePalette = gUnknown_083E4818;
+ LoadSpritePalette(&spritePalette);
+ paletteIndex = IndexOfSpritePaletteTag(0x10);
+ gPokenavStructPtr->unk308 = -3 & ~(1 << (paletteIndex + 0x10));
+ break;
+ case 3:
+ spriteId = CreateSprite(&gSpriteTemplate_83E4850, 218, 14, 0);
+ if (spriteId != MAX_SPRITES)
+ {
+ gPokenavStructPtr->unk6D98 = &gSprites[spriteId];
+ gPokenavStructPtr->unk6D98->data[0] = 0;
+ }
+ else
+ {
+ gPokenavStructPtr->unk6D98 = NULL;
+ }
+
+ gPokenavStructPtr->unk306++;
+ return FALSE;
+ default:
+ return FALSE;
+ }
+
+ gPokenavStructPtr->unk306++;
+ return TRUE;
+}
+
+void sub_80F4138(struct Sprite *sprite)
+{
+ sprite->pos2.y = -gPokenavStructPtr->unk030C;
+ if (sprite->pos2.y <= -32)
+ {
+ if (sprite->data[0] == 0)
+ {
+ sprite->invisible = 1;
+ sprite->data[0] = 1;
+ }
+ }
+ else
+ {
+ if (sprite->data[0] == 1)
+ {
+ sprite->invisible = 0;
+ sprite->data[0] = 0;
+ }
+ }
+}
+
+#ifdef NONMATCHING
+// close, but the last DmaCopy16 is sharing the 0x400 value from the beginning of the function.
+void sub_80F4194(u8 *arg0, u8 *text)
+{
+ u8 i;
+ u8 *tileBuffer;
+ u32 *tileBuf2;
+
+ tileBuffer = gUnknown_083DFEC8;
+ DmaFill16(3, 0x1111, tileBuffer, 0x280);
+ DmaFill16Defvars(3, 0x1111, 0x400 + tileBuffer, 0x280);
+ Text_InitWindow8004E3C(&gWindowTemplate_81E70F0, tileBuffer, text);
+
+ DmaClear16(3, tileBuffer + 0x220, 0x60);
+ DmaClear16(3, tileBuffer + 0x620, 0x60);
+
+ tileBuf2 = (int *)tileBuffer + 0x80;
+ tileBuf2[0] &= 0x0FFFFFFF;
+ tileBuf2[1] &= 0x0FFFFFFF;
+ tileBuf2[2] &= 0x0FFFFFFF;
+ tileBuf2[3] &= 0x0FFFFFFF;
+ tileBuf2[4] &= 0x0FFFFFFF;
+ tileBuf2[5] &= 0x0FFFFFFF;
+ tileBuf2[6] &= 0x0FFFFFFF;
+ tileBuf2[7] &= 0x0FFFFFFF;
+
+ tileBuf2 = (int *)tileBuffer + 0x180;
+ tileBuf2[0] &= 0x0FFFFFFF;
+ tileBuf2[1] &= 0x0FFFFFFF;
+ tileBuf2[2] &= 0x0FFFFFFF;
+ tileBuf2[3] &= 0x0FFFFFFF;
+ tileBuf2[4] &= 0x0FFFFFFF;
+ tileBuf2[5] &= 0x0FFFFFFF;
+ tileBuf2[6] &= 0x0FFFFFFF;
+ tileBuf2[7] &= 0x0FFFFFFF;
+
+ for (i = 0; i < 5; i++)
+ {
+ DmaCopy16(3, &tileBuffer[128 * i], &arg0[i * 256], 128);
+ DmaCopy16(3, &tileBuffer[128 * i + 0x400], &arg0[32 * ((i * 8) + 4)], 128);
+ }
+}
+#else
+NAKED
+void sub_80F4194(u8 *arg0, u8 *text)
+{
+ asm(".syntax unified\n\
+ push {r4-r7,lr}\n\
+ sub sp, 0x4\n\
+ adds r7, r0, 0\n\
+ adds r2, r1, 0\n\
+ ldr r0, _080F42A4 @ =gUnknown_083DFEC8\n\
+ ldr r6, [r0] @ r6 = tileBuffer\n\
+ mov r0, sp \n\
+ ldr r1, _080F42A8 @ =0x00001111\n\
+ adds r5, r1, 0\n\
+ strh r5, [r0]\n\
+ ldr r4, _080F42AC @ =0x040000d4\n\
+ str r0, [r4]\n\
+ str r6, [r4, 0x4]\n\
+ ldr r3, _080F42B0 @ =0x81000140\n\
+ str r3, [r4, 0x8]\n\
+ ldr r0, [r4, 0x8]\n\
+ movs r0, 0x80\n\
+ lsls r0, 3\n\
+ adds r1, r6, r0\n\
+ mov r0, sp\n\
+ strh r5, [r0]\n\
+ str r0, [r4]\n\
+ str r1, [r4, 0x4]\n\
+ str r3, [r4, 0x8]\n\
+ ldr r0, [r4, 0x8]\n\
+ ldr r0, _080F42B4 @ =gWindowTemplate_81E70F0\n\
+ adds r1, r6, 0\n\
+ bl Text_InitWindow8004E3C\n\
+ movs r3, 0x88\n\
+ lsls r3, 2\n\
+ adds r1, r6, r3\n\
+ mov r0, sp\n\
+ movs r3, 0\n\
+ strh r3, [r0]\n\
+ str r0, [r4]\n\
+ str r1, [r4, 0x4]\n\
+ ldr r2, _080F42B8 @ =0x81000030\n\
+ str r2, [r4, 0x8]\n\
+ ldr r0, [r4, 0x8]\n\
+ movs r0, 0xC4\n\
+ lsls r0, 3\n\
+ adds r1, r6, r0\n\
+ mov r0, sp\n\
+ strh r3, [r0]\n\
+ str r0, [r4]\n\
+ str r1, [r4, 0x4]\n\
+ str r2, [r4, 0x8]\n\
+ ldr r0, [r4, 0x8]\n\
+ movs r1, 0x80\n\
+ lsls r1, 2\n\
+ adds r2, r6, r1\n\
+ ldr r0, [r2]\n\
+ ldr r1, _080F42BC @ =0x0fffffff\n\
+ ands r0, r1\n\
+ str r0, [r2]\n\
+ ldr r0, [r2, 0x4]\n\
+ ands r0, r1\n\
+ str r0, [r2, 0x4]\n\
+ ldr r0, [r2, 0x8]\n\
+ ands r0, r1\n\
+ str r0, [r2, 0x8]\n\
+ ldr r0, [r2, 0xC]\n\
+ ands r0, r1\n\
+ str r0, [r2, 0xC]\n\
+ ldr r0, [r2, 0x10]\n\
+ ands r0, r1\n\
+ str r0, [r2, 0x10]\n\
+ ldr r0, [r2, 0x14]\n\
+ ands r0, r1\n\
+ str r0, [r2, 0x14]\n\
+ ldr r0, [r2, 0x18]\n\
+ ands r0, r1\n\
+ str r0, [r2, 0x18]\n\
+ ldr r0, [r2, 0x1C]\n\
+ ands r0, r1\n\
+ str r0, [r2, 0x1C]\n\
+ movs r3, 0xC0\n\
+ lsls r3, 3\n\
+ adds r2, r6, r3\n\
+ ldr r0, [r2]\n\
+ ands r0, r1\n\
+ str r0, [r2]\n\
+ ldr r0, [r2, 0x4]\n\
+ ands r0, r1\n\
+ str r0, [r2, 0x4]\n\
+ ldr r0, [r2, 0x8]\n\
+ ands r0, r1\n\
+ str r0, [r2, 0x8]\n\
+ ldr r0, [r2, 0xC]\n\
+ ands r0, r1\n\
+ str r0, [r2, 0xC]\n\
+ ldr r0, [r2, 0x10]\n\
+ ands r0, r1\n\
+ str r0, [r2, 0x10]\n\
+ ldr r0, [r2, 0x14]\n\
+ ands r0, r1\n\
+ str r0, [r2, 0x14]\n\
+ ldr r0, [r2, 0x18]\n\
+ ands r0, r1\n\
+ str r0, [r2, 0x18]\n\
+ ldr r0, [r2, 0x1C]\n\
+ ands r0, r1\n\
+ str r0, [r2, 0x1C]\n\
+ movs r1, 0\n\
+ ldr r2, _080F42C0 @ =0x80000040\n\
+_080F4268:\n\
+ lsls r0, r1, 7\n\
+ adds r0, r6, r0\n\
+ str r0, [r4]\n\
+ lsls r0, r1, 8\n\
+ adds r0, r7, r0\n\
+ str r0, [r4, 0x4]\n\
+ str r2, [r4, 0x8]\n\
+ ldr r0, [r4, 0x8]\n\
+ lsls r0, r1, 7\n\
+ movs r3, 0x80\n\
+ lsls r3, 3\n\
+ adds r0, r3\n\
+ adds r0, r6, r0\n\
+ str r0, [r4]\n\
+ lsls r0, r1, 3\n\
+ adds r0, 0x4\n\
+ lsls r0, 5\n\
+ adds r0, r7, r0\n\
+ str r0, [r4, 0x4]\n\
+ str r2, [r4, 0x8]\n\
+ ldr r0, [r4, 0x8]\n\
+ adds r0, r1, 0x1\n\
+ lsls r0, 24\n\
+ lsrs r1, r0, 24\n\
+ cmp r1, 0x4\n\
+ bls _080F4268\n\
+ add sp, 0x4\n\
+ pop {r4-r7}\n\
+ pop {r0}\n\
+ bx r0\n\
+ .align 2, 0\n\
+_080F42A4: .4byte gUnknown_083DFEC8\n\
+_080F42A8: .4byte 0x00001111\n\
+_080F42AC: .4byte 0x040000d4\n\
+_080F42B0: .4byte 0x81000140\n\
+_080F42B4: .4byte gWindowTemplate_81E70F0\n\
+_080F42B8: .4byte 0x81000030\n\
+_080F42BC: .4byte 0x0fffffff\n\
+_080F42C0: .4byte 0x80000040\n\
+ .syntax divided\n");
+}
+#endif // NONMATCHING
+
+void sub_80F42C4(u8 *arg0)
+{
+ u16 i, tileOffset;
+ u8 spriteId;
+ struct SpriteSheet spriteSheet = {
+ .data = gPokenavStructPtr->unkD1E4[0],
+ .size = 0x500,
+ .tag = 0x1A,
+ };
+
+ sub_80F4194(gPokenavStructPtr->unkD1E4[0], arg0);
+ LoadSpriteSheet(&spriteSheet);
+ LoadSpritePalette(&gUnknown_083E4868);
+
+ tileOffset = 0;
+ for (i = 0; i < 5; i++)
+ {
+ spriteId = CreateSprite(&gSpriteTemplate_83E4878, i * 32 + 113, 16, 0);
+ if (spriteId != MAX_SPRITES)
+ {
+ gSprites[spriteId].oam.tileNum += tileOffset;
+ gPokenavStructPtr->unkCED4[i] = &gSprites[spriteId];
+ }
+ else
+ {
+ gPokenavStructPtr->unkCED4[i] = NULL;
+ }
+
+ tileOffset += 8;
+ }
+}
+
+void sub_80F4394(void)
+{
+ u16 i;
+
+ for (i = 0; i < 5; i++)
+ {
+ if (gPokenavStructPtr->unkCED4[i])
+ DestroySprite(gPokenavStructPtr->unkCED4[i]);
+ }
+
+ FreeSpriteTilesByTag(0x1A);
+ FreeSpritePaletteByTag(0x12);
+}
+
+void sub_80F43D4(u8 *arg0)
+{
+ u16 tile;
+
+ sub_80F4194(gPokenavStructPtr->unkD1E4[0], arg0);
+ tile = GetSpriteTileStartByTag(0x1A);
+ if (tile != 0xFFFF)
+ DmaCopy32Defvars(3, gPokenavStructPtr->unkD1E4[0], (void *)(VRAM + 0x10000 + (tile * 32)), 0x500);
+}
+
+u8 *sub_80F4428(u8 *arg0, u16 arg1, u8 arg2)
+{
+ return sub_80F6514(arg0, arg1, arg2);
+}
+
+u8 *sub_80F443C(u8 *arg0, u16 arg1)
+{
+ return AlignInt1InMenuWindow(StringCopy(arg0, gOtherText_Number), arg1, 56, 1);
+}
+
+u8 *sub_80F445C(u8 *arg0, u16 arg1)
+{
+ u8 *buffer = AlignInt1InMenuWindow(arg0, arg1, 23, 1);
+ buffer[0] = EXT_CTRL_CODE_BEGIN;
+ buffer[1] = 0x11;
+ buffer[2] = 1;
+ buffer += 3;
+ buffer[0] = CHAR_SLASH;
+ buffer += 1;
+ buffer[0] = EXT_CTRL_CODE_BEGIN;
+ buffer[1] = 0x11;
+ buffer[2] = 1;
+ buffer += 3;
+ buffer = AlignInt1InMenuWindow(buffer, gPokenavStructPtr->unk8774 + 1, 50, 1);
+ return buffer;
+}
+
+u32 sub_80F44B0(u16 box, u16 monIndex, int monDataField, u8 *text)
+{
+ if (box == 14)
+ {
+ if (monDataField == MON_DATA_NICKNAME || monDataField == MON_DATA_OT_NAME)
+ return GetMonData(&gPlayerParty[monIndex], monDataField, text);
+ else
+ return GetMonData(&gPlayerParty[monIndex], monDataField);
+ }
+ else
+ {
+ if (monDataField == MON_DATA_NICKNAME || monDataField == MON_DATA_OT_NAME)
+ return GetBoxMonData(&gPokemonStorage.boxes[box][monIndex], monDataField, text);
+ else
+ return GetBoxMonData(&gPokemonStorage.boxes[box][monIndex], monDataField);
+ }
+}
+
+void SetMonMarkings(u16 box, u16 monIndex, u8 markings)
+{
+ if (box == 14)
+ SetMonData(&gPlayerParty[monIndex], MON_DATA_MARKINGS, &markings);
+ else
+ SetBoxMonData(&gPokemonStorage.boxes[box][monIndex], MON_DATA_MARKINGS, &markings);
+}
+
+void sub_80F45A0(s16 arg0, u8 arg1)
+{
+ u8 box;
+ u8 var0 = gPokenavStructPtr->unk893c[arg0].unk3_14;
+ if (var0)
+ {
+ sub_80F4428(gPokenavStructPtr->unk8829[arg1], arg0, 0);
+ box = gPokenavStructPtr->unk893c[arg0].unk1;
+ if (box == 14)
+ AlignStringInMenuWindow(gPokenavStructPtr->unk88E9[arg1], gOtherText_InParty, 64, 0);
+ else
+ AlignStringInMenuWindow(gPokenavStructPtr->unk88E9[arg1], gPokemonStorage.boxNames[box], 64, 0);
+
+ gPokenavStructPtr->unk8937[arg1] = 1;
+ }
+ else
+ {
+ AlignStringInMenuWindow(gPokenavStructPtr->unk8829[arg1], gEmptyString_81E72B0, 104, 0);
+ AlignStringInMenuWindow(gPokenavStructPtr->unk88E9[arg1], gEmptyString_81E72B0, 64, 0);
+ gPokenavStructPtr->unk8937[arg1] = var0;
+ }
+}
+
+void sub_80F468C(s16 arg0, u8 arg1)
+{
+ u16 i;
+ u16 box;
+ u16 monIndex;
+
+ if (gPokenavStructPtr->unk893c[arg0].unk3_14)
+ {
+ box = gPokenavStructPtr->unk893c[arg0].unk1;
+ monIndex = gPokenavStructPtr->unk893c[arg0].partyIdx;
+ gPokenavStructPtr->unk8ff0[arg1][0] = sub_80F44B0(box, monIndex, MON_DATA_COOL, NULL);
+ gPokenavStructPtr->unk8ff0[arg1][1] = sub_80F44B0(box, monIndex, MON_DATA_TOUGH, NULL);
+ gPokenavStructPtr->unk8ff0[arg1][2] = sub_80F44B0(box, monIndex, MON_DATA_SMART, NULL);
+ gPokenavStructPtr->unk8ff0[arg1][3] = sub_80F44B0(box, monIndex, MON_DATA_CUTE, NULL);
+ gPokenavStructPtr->unk8ff0[arg1][4] = sub_80F44B0(box, monIndex, MON_DATA_BEAUTY, NULL);
+
+ gPokenavStructPtr->unk8931[arg1] = sub_80F44B0(box, monIndex, MON_DATA_SHEEN, NULL) != 255
+ ? sub_80F44B0(box, monIndex, MON_DATA_SHEEN, NULL) / 29
+ : 9;
+
+ gPokenavStructPtr->unk8934[arg1] = sub_80F44B0(box, monIndex, MON_DATA_MARKINGS, NULL);
+ sub_80F55AC(gPokenavStructPtr->unk8ff0[arg1], gPokenavStructPtr->unk9004[arg1]);
+ }
+ else
+ {
+ for (i = 0; i < 5; i++)
+ {
+ gPokenavStructPtr->unk8ff0[arg1][i] = 0;
+ gPokenavStructPtr->unk9004[arg1][i].unk0 = 0x9B;
+ gPokenavStructPtr->unk9004[arg1][i].unk2 = 0x5B;
+ }
+ }
+}
+
+void sub_80F4824(s16 arg0, u8 arg1)
+{
+ u16 species;
+ u32 otId;
+ u32 personality;
+ u16 box;
+ u16 monIndex;
+
+ if (gPokenavStructPtr->unk893c[arg0].unk3_14)
+ {
+ box = gPokenavStructPtr->unk893c[arg0].unk1;
+ monIndex = gPokenavStructPtr->unk893c[arg0].partyIdx;
+ species = sub_80F44B0(box, monIndex, MON_DATA_SPECIES2, NULL);
+ otId = sub_80F44B0(box, monIndex, MON_DATA_OT_ID, NULL);
+ personality = sub_80F44B0(box, monIndex, MON_DATA_PERSONALITY, NULL);
+
+ HandleLoadSpecialPokePic(
+ &gMonFrontPicTable[species],
+ gMonFrontPicCoords[species].coords,
+ 1,
+ (intptr_t)gPokenavStructPtr->unk131E4,
+ gPokenavStructPtr->unkD1E4[arg1],
+ species,
+ personality);
+
+ LZ77UnCompWram(GetMonSpritePalFromOtIdPersonality(species, otId, personality), gPokenavStructPtr->unk0[arg1]);
+ gPokenavStructPtr->unkD1D6[arg1] = species;
+ }
+}
+
+void sub_80F4900(s16 arg0, u8 arg1)
+{
+ sub_80F45A0(arg0, arg1);
+ sub_80F468C(arg0, arg1);
+ sub_80F4824(arg0, arg1);
+}
+
+void sub_80F492C(void)
+{
+ gPokenavStructPtr->unk8FE4 = 0;
+}
+
+#ifdef NONMATCHING
+// registers r3/r4 are swapped
+void sub_80F4944(struct UnkUsePokeblockSub *arg0)
+{
+ u16 i;
+ u16 r3;
+ u16 r4;
+
+ i = 0;
+ r4 = gPokenavStructPtr->unk8FE4;
+ r3 = r4 / 2;
+ while (r3 != r4)
+ {
+ if (arg0->unk0 > gPokenavStructPtr->unk893c[r3].unk0)
+ r4 = r3;
+ else
+ i = r3 + 1;
+
+ r3 = ((r4 - i) / 2) + i;
+ }
+
+ r4 = gPokenavStructPtr->unk8FE4;
+ while (r4 > r3)
+ {
+ gPokenavStructPtr->unk893c[r4] = gPokenavStructPtr->unk893c[r4 - 1];
+ r4--;
+ }
+
+ gPokenavStructPtr->unk893c[r3] = *arg0;
+ gPokenavStructPtr->unk8FE4++;
+}
+#else
+NAKED
+void sub_80F4944(struct UnkUsePokeblockSub *arg0)
+{
+ asm(".syntax unified\n\
+ push {r4-r7,lr}\n\
+ mov r7, r8\n\
+ push {r7}\n\
+ mov r12, r0\n\
+ movs r2, 0\n\
+ ldr r1, _080F4978 @ =gPokenavStructPtr\n\
+ ldr r5, [r1]\n\
+ ldr r3, _080F497C @ =0x00008fe4\n\
+ adds r0, r5, r3\n\
+ ldrh r4, [r0]\n\
+ lsrs r3, r4, 1\n\
+ mov r8, r1\n\
+ cmp r4, r3\n\
+ beq _080F499C\n\
+ adds r6, r5, 0\n\
+ mov r0, r12\n\
+ ldrb r5, [r0]\n\
+ ldr r7, _080F4980 @ =0x0000893c\n\
+_080F4968:\n\
+ lsls r0, r3, 2\n\
+ adds r0, r6, r0\n\
+ adds r0, r7\n\
+ ldrb r0, [r0]\n\
+ cmp r5, r0\n\
+ bls _080F4984\n\
+ adds r4, r3, 0\n\
+ b _080F498A\n\
+ .align 2, 0\n\
+_080F4978: .4byte gPokenavStructPtr\n\
+_080F497C: .4byte 0x00008fe4\n\
+_080F4980: .4byte 0x0000893c\n\
+_080F4984:\n\
+ adds r0, r3, 0x1\n\
+ lsls r0, 16\n\
+ lsrs r2, r0, 16\n\
+_080F498A:\n\
+ subs r0, r4, r2\n\
+ lsrs r1, r0, 31\n\
+ adds r0, r1\n\
+ asrs r0, 1\n\
+ adds r0, r2, r0\n\
+ lsls r0, 16\n\
+ lsrs r3, r0, 16\n\
+ cmp r4, r3\n\
+ bne _080F4968\n\
+_080F499C:\n\
+ mov r1, r8\n\
+ ldr r2, [r1]\n\
+ ldr r1, _080F49EC @ =0x00008fe4\n\
+ adds r0, r2, r1\n\
+ ldrh r4, [r0]\n\
+ lsls r6, r3, 2\n\
+ cmp r4, r3\n\
+ bls _080F49C6\n\
+ ldr r0, _080F49F0 @ =0x0000893c\n\
+ adds r5, r2, r0\n\
+_080F49B0:\n\
+ lsls r2, r4, 2\n\
+ adds r2, r5, r2\n\
+ subs r1, r4, 0x1\n\
+ lsls r0, r1, 2\n\
+ adds r0, r5, r0\n\
+ ldr r0, [r0]\n\
+ str r0, [r2]\n\
+ lsls r1, 16\n\
+ lsrs r4, r1, 16\n\
+ cmp r4, r3\n\
+ bhi _080F49B0\n\
+_080F49C6:\n\
+ mov r1, r8\n\
+ ldr r2, [r1]\n\
+ ldr r3, _080F49F0 @ =0x0000893c\n\
+ adds r0, r2, r3\n\
+ adds r0, r6\n\
+ mov r3, r12\n\
+ ldr r1, [r3]\n\
+ str r1, [r0]\n\
+ ldr r0, _080F49EC @ =0x00008fe4\n\
+ adds r2, r0\n\
+ ldrh r0, [r2]\n\
+ adds r0, 0x1\n\
+ strh r0, [r2]\n\
+ pop {r3}\n\
+ mov r8, r3\n\
+ pop {r4-r7}\n\
+ pop {r0}\n\
+ bx r0\n\
+ .align 2, 0\n\
+_080F49EC: .4byte 0x00008fe4\n\
+_080F49F0: .4byte 0x0000893c\n\
+ .syntax divided\n");
+}
+#endif // NONMATCHING
+
+void sub_80F49F4(void)
+{
+ u16 i;
+
+ gPokenavStructPtr->unk893c[0].unk2_5 = 1;
+ for (i = 1; i < gPokenavStructPtr->unk8FE4; i++)
+ {
+ if (gPokenavStructPtr->unk893c[i].unk0 == gPokenavStructPtr->unk893c[i - 1].unk0)
+ gPokenavStructPtr->unk893c[i].unk2_5 = gPokenavStructPtr->unk893c[i - 1].unk2_5;
+ else
+ gPokenavStructPtr->unk893c[i].unk2_5 = i + 1;
+ }
+
+ gPokenavStructPtr->unk876C = 0;
+ gPokenavStructPtr->unk8770 = 0;
+ gPokenavStructPtr->unk876E = 0;
+ gPokenavStructPtr->unk8772 = gPokenavStructPtr->unk8FE4 < 9 ? (gPokenavStructPtr->unk8FE4 - 1) : 7;
+ gPokenavStructPtr->unk8774 = gPokenavStructPtr->unk8FE4 - 1;
+ gPokenavStructPtr->unk87C9 = gPokenavStructPtr->unk8774 > 7;
+}
+
+void sub_80F4B20(void)
+{
+ s16 var0;
+ s16 var1;
+
+ sub_80F4900(gPokenavStructPtr->unk87DC, 0);
+ sub_80F2E18(0);
+ if (gPokenavStructPtr->unk87DA == 1)
+ {
+ gPokenavStructPtr->unk8fe9 = 0;
+ gPokenavStructPtr->unk8FEA = 0;
+ gPokenavStructPtr->unk8FEB = 0;
+ }
+ else
+ {
+ gPokenavStructPtr->unk8fe9 = 0;
+ gPokenavStructPtr->unk8FEA = 1;
+ gPokenavStructPtr->unk8FEB = 2;
+
+ var0 = gPokenavStructPtr->unk87DC + 1;
+ if (var0 >= gPokenavStructPtr->unk87DA)
+ var0 = 0;
+
+ var1 = gPokenavStructPtr->unk87DC - 1;
+ if (var1 < 0)
+ var1 = gPokenavStructPtr->unk87DA - 1;
+
+ sub_80F4900(var0, 1);
+ sub_80F4900(var1, 2);
+ }
+}
+
+void sub_80F4BD0(void)
+{
+ u16 i, j;
+
+ for (i = 0, j = 0; i < gPokenavStructPtr->unk8828; i++)
+ {
+ if (!GetMonData(&gPlayerParty[i], MON_DATA_IS_EGG))
+ {
+ gPokenavStructPtr->unk893c[j].unk1 = 14;
+ gPokenavStructPtr->unk893c[j].partyIdx = i;
+ gPokenavStructPtr->unk893c[j].unk2_5 = j + 1;
+ gPokenavStructPtr->unk893c[j].unk3_14 = 1;
+ j++;
+ }
+ }
+
+ gPokenavStructPtr->unk893c[j].unk1 = 0;
+ gPokenavStructPtr->unk893c[j].partyIdx = 0;
+ gPokenavStructPtr->unk893c[j].unk2_5 = 0;
+ gPokenavStructPtr->unk893c[j].unk3_14 = 0;
+ gPokenavStructPtr->unk87DC = 0;
+ gPokenavStructPtr->unk87DA = j + 1;
+ sub_80F4B20();
+ gPokenavStructPtr->unk87CB = 1;
+}
+
+void sub_80F4CF0(void)
+{
+ gPokenavStructPtr->unk87DC = gPokenavStructPtr->unk876E;
+ sub_80F4B20();
+
+ if (gPokenavStructPtr->unk8774 == 0)
+ gPokenavStructPtr->unk87CB = 0;
+ else
+ gPokenavStructPtr->unk87CB = 1;
+}
+
+void sub_80F4D44(void)
+{
+ gPokenavStructPtr->unk8FE6 = 0;
+ gPokenavStructPtr->unk8FE7 = 0;
+ sub_80F492C();
+
+ if (!gPokenavStructPtr->unk6DAC)
+ while (sub_80F4D88());
+}
+
+bool8 sub_80F4D88(void)
+{
+ u16 i;
+ register int mask asm("r3"); // FIXME
+ int nextValue;
+ struct UnkUsePokeblockSub var0;
+
+ switch (gPokenavStructPtr->unk8FE6)
+ {
+ default:
+ var0.unk3_14 = 1;
+ for (i = 0; i < 15; i++)
+ {
+
+ if (GetBoxMonData(&gPokemonStorage.boxes[gPokenavStructPtr->unk8FE6][gPokenavStructPtr->unk8FE7], MON_DATA_SPECIES)
+ && !GetBoxMonData(&gPokemonStorage.boxes[gPokenavStructPtr->unk8FE6][gPokenavStructPtr->unk8FE7], MON_DATA_IS_EGG))
+ {
+ var0.unk1 = gPokenavStructPtr->unk8FE6;
+ var0.partyIdx = gPokenavStructPtr->unk8FE7;
+ var0.unk0 = GetBoxMonData(
+ &gPokemonStorage.boxes[gPokenavStructPtr->unk8FE6][gPokenavStructPtr->unk8FE7],
+ gPokenavStructPtr->unk87D8);
+ sub_80F4944(&var0);
+ }
+
+ gPokenavStructPtr->unk8FE7++;
+ mask = 0xFF;
+ if (gPokenavStructPtr->unk8FE7 == 30)
+ {
+ gPokenavStructPtr->unk8FE7 = 0;
+ nextValue = gPokenavStructPtr->unk8FE6 + 1;
+ gPokenavStructPtr->unk8FE6 = nextValue;
+ if ((nextValue & mask) == 14)
+ break;
+ }
+ }
+ break;
+ case 14:
+ var0.unk3_14 = 1;
+ var0.unk1 = 14;
+ for (i = 0; i < gPokenavStructPtr->unk8828; i++)
+ {
+ if (!GetMonData(&gPlayerParty[i], MON_DATA_IS_EGG))
+ {
+ var0.partyIdx = i;
+ var0.unk0 = GetMonData(&gPlayerParty[i], gPokenavStructPtr->unk87D8);
+ sub_80F4944(&var0);
+ }
+ }
+
+ sub_80F49F4();
+ gPokenavStructPtr->unk87DA = gPokenavStructPtr->unk8FE4;
+ gPokenavStructPtr->unk8FE6++;
+ break;
+ case 15:
+ return FALSE;
+ }
+
+ return TRUE;
+}
+
+void sub_80F4F78(void)
+{
+ sub_80F53EC(gPokenavStructPtr->unk9004[3], gPokenavStructPtr->unk9004[gPokenavStructPtr->unk8fe9]);
+ sub_80F5504();
+}
+
+bool8 sub_80F4FB4(void)
+{
+ bool8 var0 = sub_80F5504();
+ bool8 var1 = sub_80F170C();
+ return var0 || var1;
+}
+
+void sub_80F4FDC(void)
+{
+ if (gPokenavStructPtr->unk76AA || gPokenavStructPtr->unk87DC != gPokenavStructPtr->unk8828)
+ sub_80F53EC(gPokenavStructPtr->unk9004[gPokenavStructPtr->unk8fe9], gPokenavStructPtr->unk9004[3]);
+}
+
+bool8 sub_80F5038(void)
+{
+ bool8 var0 = sub_80F5504();
+ bool8 var1 = sub_80F173C();
+ return var0 || var1;
+}
+
+void sub_80F5060(u8 arg0)
+{
+ u16 var0;
+ u8 var1;
+ u8 var2;
+
+ if (arg0)
+ var0 = gPokenavStructPtr->unk8FEB;
+ else
+ var0 = gPokenavStructPtr->unk8FEA;
+
+ sub_80F53EC(gPokenavStructPtr->unk9004[gPokenavStructPtr->unk8fe9], gPokenavStructPtr->unk9004[var0]);
+ var1 = gPokenavStructPtr->unk893c[gPokenavStructPtr->unk87DC].unk3_14;
+ if (arg0)
+ {
+ gPokenavStructPtr->unk8FEB = gPokenavStructPtr->unk8FEA;
+ gPokenavStructPtr->unk8FEA = gPokenavStructPtr->unk8fe9;
+ gPokenavStructPtr->unk8fe9 = var0;
+ gPokenavStructPtr->unk8FEC = gPokenavStructPtr->unk8FEB;
+
+ gPokenavStructPtr->unk87DC = gPokenavStructPtr->unk87DC
+ ? gPokenavStructPtr->unk87DC - 1
+ : gPokenavStructPtr->unk87DA - 1;
+ gPokenavStructPtr->unk8FEE = gPokenavStructPtr->unk87DC
+ ? gPokenavStructPtr->unk87DC - 1
+ : gPokenavStructPtr->unk87DA - 1;
+ }
+ else
+ {
+ gPokenavStructPtr->unk8FEA = gPokenavStructPtr->unk8FEB;
+ gPokenavStructPtr->unk8FEB = gPokenavStructPtr->unk8fe9;
+ gPokenavStructPtr->unk8fe9 = var0;
+ gPokenavStructPtr->unk8FEC = gPokenavStructPtr->unk8FEA;
+
+ gPokenavStructPtr->unk87DC = (gPokenavStructPtr->unk87DC < gPokenavStructPtr->unk87DA - 1)
+ ? gPokenavStructPtr->unk87DC + 1
+ : 0;
+ gPokenavStructPtr->unk8FEE = (gPokenavStructPtr->unk87DC < gPokenavStructPtr->unk87DA - 1)
+ ? gPokenavStructPtr->unk87DC + 1
+ : 0;
+ }
+
+ var2 = gPokenavStructPtr->unk893c[gPokenavStructPtr->unk87DC].unk3_14;
+ if (!var1)
+ gPokenavStructPtr->unk87E0 = sub_80F5264;
+ else if (!var2)
+ gPokenavStructPtr->unk87E0 = sub_80F52F8;
+ else
+ gPokenavStructPtr->unk87E0 = sub_80F5364;
+
+ gPokenavStructPtr->unk87DE = 0;
+}
+
+bool8 gpu_sync_bg_show(void)
+{
+ return gPokenavStructPtr->unk87E0();
+}
+
+bool8 sub_80F5264(void)
+{
+ switch (gPokenavStructPtr->unk87DE)
+ {
+ case 0:
+ sub_80F2E18(gPokenavStructPtr->unk8fe9);
+ sub_80F01E0(gPokenavStructPtr->unk8fe9);
+ gPokenavStructPtr->unk87DE++;
+ // fall through
+ case 1:
+ if (!sub_80F4FB4())
+ {
+ sub_80F4900(gPokenavStructPtr->unk8FEE, gPokenavStructPtr->unk8FEC);
+ gPokenavStructPtr->unk87DE++;
+ }
+ break;
+ case 2:
+ return FALSE;
+ }
+
+ return TRUE;
+}
+
+bool8 sub_80F52F8(void)
+{
+ switch (gPokenavStructPtr->unk87DE)
+ {
+ case 0:
+ if (!sub_80F5038())
+ {
+ sub_80F01E0(gPokenavStructPtr->unk8fe9);
+ sub_80F4900(gPokenavStructPtr->unk8FEE, gPokenavStructPtr->unk8FEC);
+ gPokenavStructPtr->unk87DE++;
+ }
+ break;
+ case 1:
+ return FALSE;
+ }
+
+ return TRUE;
+}
+
+bool8 sub_80F5364(void)
+{
+ switch (gPokenavStructPtr->unk87DE)
+ {
+ case 0:
+ sub_80F5504();
+ if (!sub_80F173C())
+ {
+ sub_80F2E18(gPokenavStructPtr->unk8fe9);
+ sub_80F01E0(gPokenavStructPtr->unk8fe9);
+ gPokenavStructPtr->unk87DE++;
+ }
+ break;
+ case 1:
+ if (!sub_80F4FB4())
+ gPokenavStructPtr->unk87DE++;
+ break;
+ case 2:
+ sub_80F4900(gPokenavStructPtr->unk8FEE, gPokenavStructPtr->unk8FEC);
+ return FALSE;
+ }
+
+ return TRUE;
+}
+
+void sub_80F53EC(struct UnkPokenav11 *arg0, struct UnkPokenav11 *arg1)
+{
+ u16 i, j;
+ int r5;
+ int r6;
+
+ for (i = 0; i < 5; i++)
+ {
+ r5 = arg0[i].unk0 << 8;
+ r6 = ((arg1[i].unk0 - arg0[i].unk0) << 8) / 10;
+ for (j = 0; j < 9; j++)
+ {
+ gPokenavStructPtr->unk9054[j][i].unk0 = (r5 >> 8) + ((r5 >> 7) & 1);
+ r5 += r6;
+ }
+
+ gPokenavStructPtr->unk9054[j][i].unk0 = arg1[i].unk0;
+ r5 = arg0[i].unk2 << 8;
+ r6 = ((arg1[i].unk2 - arg0[i].unk2) << 8) / 10;
+ for (j = 0; j < 9; j++)
+ {
+ gPokenavStructPtr->unk9054[j][i].unk2 = (r5 >> 8) + ((r5 >> 7) & 1);
+ r5 += r6;
+ }
+
+ gPokenavStructPtr->unk9054[j][i].unk2 = arg1[i].unk2;
+ }
+
+ gPokenavStructPtr->unk9342 = 0;
+}
+
+bool8 sub_80F5504(void)
+{
+ if (gPokenavStructPtr->unk9342 < 10)
+ {
+ sub_80F556C(gPokenavStructPtr->unk9054[gPokenavStructPtr->unk9342++]);
+ return gPokenavStructPtr->unk9342 != 10;
+ }
+ else
+ {
+ return FALSE;
+ }
+}
+
+void sub_80F5550(struct UnkPokenav11 *arg0, struct UnkPokenav11 *arg1)
+{
+ sub_80F53EC(arg0, arg1);
+}
+
+bool8 sub_80F555C(void)
+{
+ return sub_80F5504();
+}
+
+void sub_80F556C(struct UnkPokenav11 *arg0)
+{
+ u16 i;
+
+ for (i = 0; i < 5; i++)
+ gPokenavStructPtr->unk911C[i] = arg0[i];
+
+ gPokenavStructPtr->unk9344 = 1;
+}
+
+void sub_80F55AC(u8 *a0, struct UnkPokenav11 a1[])
+{
+ u16 i;
+ u8 r2 = gUnknown_083E4890[*a0++];
+ u8 r7;
+ s8 r12;
+
+ a1[0].unk0 = 0x9b;
+ a1[0].unk2 = 0x5b - r2;
+
+ r7 = 0x40;
+ r12 = 0;
+ for (i = 1; i < 5; i++)
+ {
+ r7 += 0x33;
+ r12--;
+ if (r12 < 0)
+ r12 = 4;
+ if (r12 == 2)
+ r7++;
+ r2 = gUnknown_083E4890[*a0++];
+ a1[r12].unk0 = ((r2 * gSineTable[r7 + 0x40]) >> 8) + 0x9b;
+ a1[r12].unk2 = 0x5b - ((r2 * gSineTable[r7]) >> 8);
+
+ if (r12 <= 2 && (r2 != 0x20 || r12 != 2))
+ a1[r12].unk0 = ((r2 * gSineTable[r7 + 0x40]) >> 8) + 0x9c;
+ }
+}
+
+void sub_80F567C(u8 *a0, struct UnkPokenav11 a1[])
+{
+ sub_80F55AC(a0, a1);
+}
+
+/* TODO
+// emerald: sub_81D2278
+void sub_80F5688(u16 * r6, u16 * r5, u16 * sp0, u8 r9, u16 * r7)
+{
+ u16 sp04;
+ u16 r0;
+ u16 r4;
+ u16 r10;
+ if (r5[1] < sp0[1])
+ {
+ sp04 = r5[1];
+ r4 = r5[0] << 10;
+ r0 = sp0[1];
+ r10 = sp0[0];
+ }
+}
+*/
+
+NAKED
+void sub_80F5688(u16 r6[66][2], struct UnkPokenav11 * r5, struct UnkPokenav11 * sp0, u8 r9, u16 r7[66][2])
+{
+ asm_unified("\tpush {r4-r7,lr}\n"
+ "\tmov r7, r10\n"
+ "\tmov r6, r9\n"
+ "\tmov r5, r8\n"
+ "\tpush {r5-r7}\n"
+ "\tsub sp, 0x14\n"
+ "\tadds r6, r0, 0\n"
+ "\tadds r5, r1, 0\n"
+ "\tstr r2, [sp]\n"
+ "\tldr r7, [sp, 0x34]\n"
+ "\tlsls r3, 24\n"
+ "\tlsrs r3, 24\n"
+ "\tmov r9, r3\n"
+ "\tmovs r0, 0\n"
+ "\tstr r0, [sp, 0x8]\n"
+ "\tldrh r0, [r5, 0x2]\n"
+ "\tldrh r1, [r2, 0x2]\n"
+ "\tcmp r0, r1\n"
+ "\tbcs _080F56D0\n"
+ "\tadds r2, r0, 0\n"
+ "\tstr r2, [sp, 0x4]\n"
+ "\tldr r3, [sp]\n"
+ "\tldrh r0, [r3, 0x2]\n"
+ "\tldrh r1, [r5]\n"
+ "\tlsls r4, r1, 10\n"
+ "\tldrh r2, [r3]\n"
+ "\tmov r10, r2\n"
+ "\tldr r3, [sp, 0x4]\n"
+ "\tsubs r0, r3\n"
+ "\tlsls r0, 16\n"
+ "\tlsrs r0, 16\n"
+ "\tmov r8, r0\n"
+ "\tcmp r0, 0\n"
+ "\tbeq _080F56FC\n"
+ "\tsubs r0, r2, r1\n"
+ "\tb _080F56F2\n"
+ "_080F56D0:\n"
+ "\tldrh r0, [r5, 0x2]\n"
+ "\tldr r1, [sp]\n"
+ "\tldrh r1, [r1, 0x2]\n"
+ "\tstr r1, [sp, 0x4]\n"
+ "\tldr r2, [sp]\n"
+ "\tldrh r1, [r2]\n"
+ "\tlsls r4, r1, 10\n"
+ "\tldrh r3, [r5]\n"
+ "\tmov r10, r3\n"
+ "\tldr r2, [sp, 0x4]\n"
+ "\tsubs r0, r2\n"
+ "\tlsls r0, 16\n"
+ "\tlsrs r0, 16\n"
+ "\tmov r8, r0\n"
+ "\tcmp r0, 0\n"
+ "\tbeq _080F56FC\n"
+ "\tsubs r0, r3, r1\n"
+ "_080F56F2:\n"
+ "\tlsls r0, 10\n"
+ "\tmov r1, r8\n"
+ "\tbl __divsi3\n"
+ "\tstr r0, [sp, 0x8]\n"
+ "_080F56FC:\n"
+ "\tmov r0, r8\n"
+ "\tadds r0, 0x1\n"
+ "\tlsls r0, 16\n"
+ "\tlsrs r0, 16\n"
+ "\tmov r8, r0\n"
+ "\tcmp r7, 0\n"
+ "\tbne _080F5746\n"
+ "\tldr r0, [sp, 0x4]\n"
+ "\tsubs r0, 0x38\n"
+ "\tlsls r0, 2\n"
+ "\tadds r6, r0\n"
+ "\tmovs r5, 0\n"
+ "\tmov r3, r9\n"
+ "\tlsls r3, 1\n"
+ "\tmov r12, r3\n"
+ "\tmov r0, r10\n"
+ "\tadd r0, r9\n"
+ "\tstr r0, [sp, 0xC]\n"
+ "\tcmp r7, r8\n"
+ "\tbcs _080F57D4\n"
+ "\tmovs r7, 0x1\n"
+ "_080F5726:\n"
+ "\tadds r2, r3, r6\n"
+ "\tasrs r1, r4, 10\n"
+ "\tasrs r0, r4, 9\n"
+ "\tands r0, r7\n"
+ "\tadds r1, r0\n"
+ "\tadd r1, r9\n"
+ "\tstrh r1, [r2]\n"
+ "\tldr r1, [sp, 0x8]\n"
+ "\tadds r4, r1\n"
+ "\tadds r6, 0x4\n"
+ "\tadds r0, r5, 0x1\n"
+ "\tlsls r0, 16\n"
+ "\tlsrs r5, r0, 16\n"
+ "\tcmp r5, r8\n"
+ "\tbcc _080F5726\n"
+ "\tb _080F57D4\n"
+ "_080F5746:\n"
+ "\tldr r2, [sp, 0x8]\n"
+ "\tcmp r2, 0\n"
+ "\tble _080F57E4\n"
+ "\tldr r0, [sp, 0x4]\n"
+ "\tsubs r0, 0x38\n"
+ "\tlsls r0, 2\n"
+ "\tadds r7, r0\n"
+ "\tmovs r5, 0\n"
+ "\tmov r3, r9\n"
+ "\tlsls r3, 1\n"
+ "\tmov r12, r3\n"
+ "\tmov r0, r10\n"
+ "\tadd r0, r9\n"
+ "\tstr r0, [sp, 0xC]\n"
+ "\tcmp r5, r8\n"
+ "\tbcs _080F5798\n"
+ "\tldr r0, _080F57D8 @ =0x00026bff\n"
+ "\tcmp r4, r0\n"
+ "\tbgt _080F5798\n"
+ "\tmov r1, r12\n"
+ "\tstr r1, [sp, 0x10]\n"
+ "\tmov r10, r0\n"
+ "_080F5772:\n"
+ "\tldr r3, [sp, 0x10]\n"
+ "\tadds r2, r3, r7\n"
+ "\tasrs r1, r4, 10\n"
+ "\tasrs r0, r4, 9\n"
+ "\tmovs r3, 0x1\n"
+ "\tands r0, r3\n"
+ "\tadds r1, r0\n"
+ "\tadd r1, r9\n"
+ "\tstrh r1, [r2]\n"
+ "\tldr r0, [sp, 0x8]\n"
+ "\tadds r4, r0\n"
+ "\tadds r7, 0x4\n"
+ "\tadds r0, r5, 0x1\n"
+ "\tlsls r0, 16\n"
+ "\tlsrs r5, r0, 16\n"
+ "\tcmp r5, r8\n"
+ "\tbcs _080F5798\n"
+ "\tcmp r4, r10\n"
+ "\tble _080F5772\n"
+ "_080F5798:\n"
+ "\tldr r1, _080F57DC @ =gPokenavStructPtr\n"
+ "\tldr r0, [r1]\n"
+ "\tldr r2, [sp, 0x4]\n"
+ "\tadds r1, r2, r5\n"
+ "\tldr r3, _080F57E0 @ =0x00009340\n"
+ "\tadds r0, r3\n"
+ "\tstrh r1, [r0]\n"
+ "\tldrh r0, [r0]\n"
+ "\tsubs r0, 0x38\n"
+ "\tlsls r0, 2\n"
+ "\tadds r6, r0\n"
+ "\tcmp r5, r8\n"
+ "\tbcs _080F57D4\n"
+ "\tmov r3, r12\n"
+ "\tmovs r7, 0x1\n"
+ "_080F57B6:\n"
+ "\tadds r2, r3, r6\n"
+ "\tasrs r1, r4, 10\n"
+ "\tasrs r0, r4, 9\n"
+ "\tands r0, r7\n"
+ "\tadds r1, r0\n"
+ "\tadd r1, r9\n"
+ "\tstrh r1, [r2]\n"
+ "\tldr r0, [sp, 0x8]\n"
+ "\tadds r4, r0\n"
+ "\tadds r6, 0x4\n"
+ "\tadds r0, r5, 0x1\n"
+ "\tlsls r0, 16\n"
+ "\tlsrs r5, r0, 16\n"
+ "\tcmp r5, r8\n"
+ "\tbcc _080F57B6\n"
+ "_080F57D4:\n"
+ "\tsubs r0, r6, 0x4\n"
+ "\tb _080F58C4\n"
+ "\t.align 2, 0\n"
+ "_080F57D8: .4byte 0x00026bff\n"
+ "_080F57DC: .4byte gPokenavStructPtr\n"
+ "_080F57E0: .4byte 0x00009340\n"
+ "_080F57E4:\n"
+ "\tldr r1, [sp, 0x8]\n"
+ "\tcmp r1, 0\n"
+ "\tbge _080F5890\n"
+ "\tldr r0, [sp, 0x4]\n"
+ "\tsubs r0, 0x38\n"
+ "\tlsls r0, 2\n"
+ "\tadds r6, r0\n"
+ "\tmovs r5, 0\n"
+ "\tmov r2, r9\n"
+ "\tlsls r2, 1\n"
+ "\tmov r12, r2\n"
+ "\tmov r3, r10\n"
+ "\tadd r3, r9\n"
+ "\tstr r3, [sp, 0xC]\n"
+ "\tcmp r5, r8\n"
+ "\tbcs _080F5842\n"
+ "\tadds r3, r2, r6\n"
+ "\tasrs r1, r4, 10\n"
+ "\tasrs r0, r4, 9\n"
+ "\tmovs r2, 0x1\n"
+ "\tands r0, r2\n"
+ "\tadds r1, r0\n"
+ "\tadd r1, r9\n"
+ "\tstrh r1, [r3]\n"
+ "\tb _080F5838\n"
+ "_080F5816:\n"
+ "\tldr r0, [sp, 0x8]\n"
+ "\tadds r4, r0\n"
+ "\tadds r6, 0x4\n"
+ "\tadds r0, r5, 0x1\n"
+ "\tlsls r0, 16\n"
+ "\tlsrs r5, r0, 16\n"
+ "\tcmp r5, r8\n"
+ "\tbcs _080F5842\n"
+ "\tmov r1, r12\n"
+ "\tadds r3, r1, r6\n"
+ "\tasrs r2, r4, 10\n"
+ "\tasrs r0, r4, 9\n"
+ "\tmovs r1, 0x1\n"
+ "\tands r0, r1\n"
+ "\tadds r2, r0\n"
+ "\tadd r2, r9\n"
+ "\tstrh r2, [r3]\n"
+ "_080F5838:\n"
+ "\tldr r0, _080F5884 @ =0x00026bff\n"
+ "\tcmp r4, r0\n"
+ "\tbgt _080F5816\n"
+ "\tmovs r0, 0x9B\n"
+ "\tstrh r0, [r3]\n"
+ "_080F5842:\n"
+ "\tldr r2, _080F5888 @ =gPokenavStructPtr\n"
+ "\tldr r0, [r2]\n"
+ "\tldr r3, [sp, 0x4]\n"
+ "\tadds r1, r3, r5\n"
+ "\tldr r2, _080F588C @ =0x00009340\n"
+ "\tadds r0, r2\n"
+ "\tstrh r1, [r0]\n"
+ "\tldrh r0, [r0]\n"
+ "\tsubs r0, 0x38\n"
+ "\tlsls r0, 2\n"
+ "\tadds r7, r0\n"
+ "\tcmp r5, r8\n"
+ "\tbcs _080F587E\n"
+ "\tmov r3, r12\n"
+ "\tmovs r6, 0x1\n"
+ "_080F5860:\n"
+ "\tadds r2, r3, r7\n"
+ "\tasrs r1, r4, 10\n"
+ "\tasrs r0, r4, 9\n"
+ "\tands r0, r6\n"
+ "\tadds r1, r0\n"
+ "\tadd r1, r9\n"
+ "\tstrh r1, [r2]\n"
+ "\tldr r0, [sp, 0x8]\n"
+ "\tadds r4, r0\n"
+ "\tadds r7, 0x4\n"
+ "\tadds r0, r5, 0x1\n"
+ "\tlsls r0, 16\n"
+ "\tlsrs r5, r0, 16\n"
+ "\tcmp r5, r8\n"
+ "\tbcc _080F5860\n"
+ "_080F587E:\n"
+ "\tsubs r0, r7, 0x4\n"
+ "\tb _080F58C4\n"
+ "\t.align 2, 0\n"
+ "_080F5884: .4byte 0x00026bff\n"
+ "_080F5888: .4byte gPokenavStructPtr\n"
+ "_080F588C: .4byte 0x00009340\n"
+ "_080F5890:\n"
+ "\tldr r0, _080F58BC @ =gPokenavStructPtr\n"
+ "\tldr r0, [r0]\n"
+ "\tldr r1, _080F58C0 @ =0x00009340\n"
+ "\tadds r0, r1\n"
+ "\tmov r2, sp\n"
+ "\tldrh r2, [r2, 0x4]\n"
+ "\tstrh r2, [r0]\n"
+ "\tldr r0, [sp, 0x4]\n"
+ "\tsubs r0, 0x38\n"
+ "\tlsls r0, 2\n"
+ "\tadds r6, r0\n"
+ "\tadds r7, r0\n"
+ "\tldrh r0, [r5]\n"
+ "\tadds r0, 0x1\n"
+ "\tstrh r0, [r6, 0x2]\n"
+ "\tldr r3, [sp]\n"
+ "\tldrh r0, [r3]\n"
+ "\tstrh r0, [r7]\n"
+ "\tmovs r0, 0x9B\n"
+ "\tstrh r0, [r7, 0x2]\n"
+ "\tb _080F58CC\n"
+ "\t.align 2, 0\n"
+ "_080F58BC: .4byte gPokenavStructPtr\n"
+ "_080F58C0: .4byte 0x00009340\n"
+ "_080F58C4:\n"
+ "\tadd r0, r12\n"
+ "\tmov r1, sp\n"
+ "\tldrh r1, [r1, 0xC]\n"
+ "\tstrh r1, [r0]\n"
+ "_080F58CC:\n"
+ "\tadd sp, 0x14\n"
+ "\tpop {r3-r5}\n"
+ "\tmov r8, r3\n"
+ "\tmov r9, r4\n"
+ "\tmov r10, r5\n"
+ "\tpop {r4-r7}\n"
+ "\tpop {r0}\n"
+ "\tbx r0");
+}
+
+void sub_80F58DC(struct UnkPokenav11 * a0)
+{
+ u16 i, r6, varMax;
+
+ if (a0[0].unk2 < a0[1].unk2)
+ {
+ r6 = a0[0].unk2;
+ sub_80F5688(gPokenavStructPtr->unk9130, &a0[0], &a0[1], 1, NULL);
+ }
+ else
+ {
+ r6 = a0[1].unk2;
+ sub_80F5688(gPokenavStructPtr->unk9130, &a0[1], &a0[0], 0, NULL);
+ }
+ sub_80F5688(gPokenavStructPtr->unk9130, &a0[1], &a0[2], 1, NULL);
+
+ i = a0[2].unk2 <= a0[3].unk2;
+ sub_80F5688(gPokenavStructPtr->unk9130, &a0[2], &a0[3], i, gPokenavStructPtr->unk9238);
+ for (i = 56; i < r6; i++)
+ {
+ gPokenavStructPtr->unk9130[i - 56][0] = 0;
+ gPokenavStructPtr->unk9130[i - 56][1] = 0;
+ }
+
+ for (i = a0[0].unk2; i <= gPokenavStructPtr->unk9340; i++)
+ gPokenavStructPtr->unk9130[i - 56][0] = 155;
+
+ varMax = max(gPokenavStructPtr->unk9340, a0[2].unk2);
+ for (i = varMax + 1; i < 122; i++)
+ {
+ gPokenavStructPtr->unk9130[i - 56][0] = 0;
+ gPokenavStructPtr->unk9130[i - 56][1] = 0;
+ }
+
+// for (i = 56; i < 122; i++)
+// {
+// if (gPokenavStructPtr->unk9130[i - 56][0] == 0 && gPokenavStructPtr->unk9130[i - 56][1] != 0)
+// gPokenavStructPtr->unk9130[i - 56][0] = 155;
+// }
+}
+
+void sub_80F5A1C(struct UnkPokenav11 *arg0)
+{
+ u16 i, r6, varMax;
+
+ if (arg0[0].unk2 < arg0[4].unk2)
+ {
+ r6 = arg0[0].unk2;
+ sub_80F5688(gPokenavStructPtr->unk9238, &arg0[0], &arg0[4], 0, NULL);
+ }
+ else
+ {
+ r6 = arg0[4].unk2;
+ sub_80F5688(gPokenavStructPtr->unk9238, &arg0[4], &arg0[0], 1, NULL);
+ }
+
+ sub_80F5688(gPokenavStructPtr->unk9238, &arg0[4], &arg0[3], 0, NULL);
+
+ for (i = 56; i < r6; i++)
+ {
+ gPokenavStructPtr->unk9238[i - 56][0] = 0;
+ gPokenavStructPtr->unk9238[i - 56][1] = 0;
+ }
+
+ for (i = arg0[0].unk2; i <= gPokenavStructPtr->unk9340; i++)
+ gPokenavStructPtr->unk9238[i - 56][1] = 155;
+
+ varMax = max(gPokenavStructPtr->unk9340, arg0[3].unk2 + 1);
+ for (i = varMax; i < 122; i++)
+ {
+ gPokenavStructPtr->unk9238[i - 56][0] = 0;
+ gPokenavStructPtr->unk9238[i - 56][1] = 0;
+ }
+
+// for (i = 0; i < 66; i++)
+// {
+// if (gPokenavStructPtr->unk9238[i][0] >= gPokenavStructPtr->unk9238[i][1])
+// {
+// gPokenavStructPtr->unk9238[i][1] = 0;
+// gPokenavStructPtr->unk9238[i][0] = 0;
+// }
+// }
+}
+
+void sub_80F5B38(void)
+{
+ gPokenavStructPtr->unk9345 = 0;
+}
+
+extern const struct ScanlineEffectParams gUnknown_083E4990;
+
+bool8 sub_80F5B50(void)
+{
+ s32 i;
+ struct ScanlineEffectParams params;
+
+ switch (gPokenavStructPtr->unk9345)
+ {
+ case 0:
+ ScanlineEffect_Clear();
+ for (i = 0; i < 16; i++)
+ {
+ gScanlineEffectRegBuffers[0][16 + 2 * i] = 0xEF;
+ gScanlineEffectRegBuffers[0][17 + 2 * i] = 0xEF;
+ gScanlineEffectRegBuffers[1][16 + 2 * i] = 0xEF;
+ gScanlineEffectRegBuffers[1][17 + 2 * i] = 0xEF;
+ }
+ gPokenavStructPtr->unk9345++;
+ return TRUE;
+ case 1:
+ params = gUnknown_083E4990;
+ ScanlineEffect_SetParams(params);
+ gPokenavStructPtr->unk9345++;
+ break;
+ }
+ return FALSE;
+}
+
+void sub_80F5BDC(void)
+{
+ gScanlineEffect.state = 3;
+ ScanlineEffect_InitHBlankDmaTransfer();
+}
+
+void sub_80F5BF0(void)
+{
+ u16 i;
+
+ if (gPokenavStructPtr->unk9344)
+ {
+ sub_80F58DC(gPokenavStructPtr->unk911C);
+ sub_80F5A1C(gPokenavStructPtr->unk911C);
+ for (i = 0; i < 66; i++)
+ {
+ gScanlineEffectRegBuffers[1][(i + 55) * 2 + 0] = gScanlineEffectRegBuffers[0][(i + 55) * 2 + 0] = (gPokenavStructPtr->unk9130[i][0] << 8) | (gPokenavStructPtr->unk9130[i][1]);
+ gScanlineEffectRegBuffers[1][(i + 55) * 2 + 1] = gScanlineEffectRegBuffers[0][(i + 55) * 2 + 1] = (gPokenavStructPtr->unk9238[i][0] << 8) | (gPokenavStructPtr->unk9238[i][1]);
+ }
+ gPokenavStructPtr->unk9344 = 0;
+ }
+}
+
+void sub_80F5CDC(u8 a0)
+{
+ u16 i, r5;
+
+ if (gPokenavStructPtr->unk9344)
+ {
+ sub_80F58DC(gPokenavStructPtr->unk911C);
+ sub_80F5A1C(gPokenavStructPtr->unk911C);
+ r5 = 2 * (55 - a0);
+ for (i = 0; i < 66; i ++)
+ {
+ gScanlineEffectRegBuffers[1][r5 + 0] = gScanlineEffectRegBuffers[0][r5 + 0] = (gPokenavStructPtr->unk9130[i][0] << 8) | (gPokenavStructPtr->unk9130[i][1]);
+ gScanlineEffectRegBuffers[1][r5 + 1] = gScanlineEffectRegBuffers[0][r5 + 1] = (gPokenavStructPtr->unk9238[i][0] << 8) | (gPokenavStructPtr->unk9238[i][1]);
+ r5 += 2;
+ }
+ gPokenavStructPtr->unk9344 = 0;
+ }
+}
+
+u8 sub_80F5DD4(void)
+{
+ if (({gMain.newAndRepeatedKeys & DPAD_UP;}))
+ {
+ return sub_80F5E20();
+ }
+ else if (({gMain.newAndRepeatedKeys & DPAD_DOWN;}))
+ {
+ return sub_80F5EE4();
+ }
+ else if (({gMain.newAndRepeatedKeys & DPAD_LEFT;}))
+ {
+ return sub_80F5FB4();
+ }
+ else if (({gMain.newAndRepeatedKeys & DPAD_RIGHT;}))
+ {
+ return sub_80F6010();
+ }
+ else
+ {
+ return 0;
+ }
+}
+
+u8 sub_80F5E20(void)
+{
+ if (gPokenavStructPtr->unk876E == 0)
+ {
+ return 0;
+ }
+ if (gPokenavStructPtr->unk87C9 != 0 && gPokenavStructPtr->unk876C == 0)
+ {
+ sub_80F063C(-1);
+ sub_80F6074(-1);
+ return 2;
+ }
+ gPokenavStructPtr->unk876C--;
+ if (gPokenavStructPtr->unk87C9 == 0 && gPokenavStructPtr->unk876C < 0)
+ {
+ gPokenavStructPtr->unk876C = gPokenavStructPtr->unk8772;
+ }
+ gPokenavStructPtr->unk876E = gPokenavStructPtr->unk8770 + gPokenavStructPtr->unk876C;
+ if (gPokenavStructPtr->unk876E > gPokenavStructPtr->unk8774)
+ {
+ gPokenavStructPtr->unk876E -= gPokenavStructPtr->unk8774 + 1;
+ }
+ return 1;
+}
+
+u8 sub_80F5EE4(void)
+{
+ if (gPokenavStructPtr->unk876E == gPokenavStructPtr->unk8774)
+ {
+ return 0;
+ }
+ if (gPokenavStructPtr->unk87C9 != 0 && gPokenavStructPtr->unk876C == 7)
+ {
+ sub_80F063C(1);
+ sub_80F6074(1);
+ return 2;
+ }
+ gPokenavStructPtr->unk876C++;
+ if (gPokenavStructPtr->unk87C9 == 0 && gPokenavStructPtr->unk876C > gPokenavStructPtr->unk8772)
+ {
+ gPokenavStructPtr->unk876C = 0;
+ }
+ gPokenavStructPtr->unk876E = gPokenavStructPtr->unk8770 + gPokenavStructPtr->unk876C;
+ if (gPokenavStructPtr->unk876E > gPokenavStructPtr->unk8774)
+ {
+ gPokenavStructPtr->unk876E -= gPokenavStructPtr->unk8774 + 1;
+ }
+ return 1;
+}
+
+u8 sub_80F5FB4(void)
+{
+ s16 r4;
+ if (gPokenavStructPtr->unk8770 == 0 || gPokenavStructPtr->unk87C9 == 0)
+ {
+ return 0;
+ }
+ if (gPokenavStructPtr->unk8770 < 8)
+ {
+ r4 = -gPokenavStructPtr->unk8770;
+ }
+ else
+ {
+ r4 = -8;
+ }
+ sub_80F063C(r4);
+ sub_80F6074(r4);
+ return 2;
+}
+
+u8 sub_80F6010(void)
+{
+ s16 r4;
+ if (gPokenavStructPtr->unk8772 == gPokenavStructPtr->unk8774 || gPokenavStructPtr->unk87C9 == 0)
+ {
+ return 0;
+ }
+ r4 = gPokenavStructPtr->unk8774 - gPokenavStructPtr->unk8772;
+ if (r4 > 8)
+ {
+ r4 = 8;
+ }
+ sub_80F063C(r4);
+ sub_80F6074(r4);
+ return 2;
+}
+
+void sub_80F6074(s16 a0)
+{
+ gPokenavStructPtr->unk8770 += a0;
+ if (gPokenavStructPtr->unk8770 > gPokenavStructPtr->unk8774)
+ {
+ gPokenavStructPtr->unk8770 -= gPokenavStructPtr->unk8774 + 1;
+ }
+ if (gPokenavStructPtr->unk8770 < 0)
+ {
+ gPokenavStructPtr->unk8770 += gPokenavStructPtr->unk8774 + 1;
+ }
+ gPokenavStructPtr->unk8772 += a0;
+ if (gPokenavStructPtr->unk8772 > gPokenavStructPtr->unk8774)
+ {
+ gPokenavStructPtr->unk8772 -= gPokenavStructPtr->unk8774 + 1;
+ }
+ if (gPokenavStructPtr->unk8772 < 0)
+ {
+ gPokenavStructPtr->unk8772 += gPokenavStructPtr->unk8774 + 1;
+ }
+ gPokenavStructPtr->unk876E += a0;
+ if (gPokenavStructPtr->unk876E > gPokenavStructPtr->unk8774)
+ {
+ gPokenavStructPtr->unk876E -= gPokenavStructPtr->unk8774 + 1;
+ }
+ if (gPokenavStructPtr->unk876E < 0)
+ {
+ gPokenavStructPtr->unk876E += gPokenavStructPtr->unk8774 + 1;
+ }
+}
+
+void sub_80F6134(void)
+{
+ if (gPokenavStructPtr->unk87C9 != 0)
+ {
+ if (gPokenavStructPtr->unk87DC < gPokenavStructPtr->unk8774 - 7)
+ {
+ gPokenavStructPtr->unk876C = 0;
+ gPokenavStructPtr->unk8770 = gPokenavStructPtr->unk87DC;
+ gPokenavStructPtr->unk876E = gPokenavStructPtr->unk87DC;
+ gPokenavStructPtr->unk8772 = gPokenavStructPtr->unk8770 + 7;
+ if (gPokenavStructPtr->unk8772 > gPokenavStructPtr->unk8774)
+ {
+ gPokenavStructPtr->unk8772 -= gPokenavStructPtr->unk8774 + 1;
+ }
+ }
+ else
+ {
+ gPokenavStructPtr->unk8770 = gPokenavStructPtr->unk8774 - 7;
+ gPokenavStructPtr->unk8772 = gPokenavStructPtr->unk8774;
+ gPokenavStructPtr->unk876E = gPokenavStructPtr->unk87DC;
+ gPokenavStructPtr->unk876C = 7 - (gPokenavStructPtr->unk8774 - gPokenavStructPtr->unk876E);
+ }
+ }
+ else
+ {
+ gPokenavStructPtr->unk876C = gPokenavStructPtr->unk87DC;
+ gPokenavStructPtr->unk876E = gPokenavStructPtr->unk87DC;
+ }
+}
+
+void sub_80F6208(void)
+{
+ gPokenavStructPtr->unk8FE6 = 0;
+ gPokenavStructPtr->unk8FE7 = 0;
+ gPokenavStructPtr->unk8FE8 = 0xFF;
+ if (gPokenavStructPtr->unk6DAC == 0)
+ {
+ while (sub_80F6250())
+ ;
+ }
+}
+
+bool8 sub_80F6250(void)
+{
+ u16 i;
+
+ if (gPokenavStructPtr->unk8FE8 != -1)
+ return FALSE;
+
+ switch (gPokenavStructPtr->unk8FE6)
+ {
+ default:
+ for (i = 0; i < 10; i++)
+ {
+ if (GetBoxMonData(&gPokemonStorage.boxes[gPokenavStructPtr->unk8FE6 + 0][gPokenavStructPtr->unk8FE7], MON_DATA_RIBBON_COUNT) != 0)
+ {
+ gPokenavStructPtr->unk8FE8 = 1;
+ return FALSE;
+ }
+ if (GetBoxMonData(&gPokemonStorage.boxes[gPokenavStructPtr->unk8FE6 + 7][gPokenavStructPtr->unk8FE7], MON_DATA_RIBBON_COUNT) != 0)
+ {
+ gPokenavStructPtr->unk8FE8 = 1;
+ return FALSE;
+ }
+ if (++gPokenavStructPtr->unk8FE7 >= 30)
+ {
+ gPokenavStructPtr->unk8FE7 = 0;
+ if (++gPokenavStructPtr->unk8FE6 >= 7)
+ {
+ break;
+ }
+ }
+ }
+ break;
+ case 8:
+ return FALSE;
+ case 7:
+ gPokenavStructPtr->unk8FE8 = 0;
+ for (i = 0; i < 6; i++)
+ {
+ if (GetMonData(&gPlayerParty[i], MON_DATA_RIBBON_COUNT) != 0)
+ {
+ gPokenavStructPtr->unk8FE8 = 1;
+ break;
+ }
+ }
+ gPokenavStructPtr->unk8FE6++;
+ return FALSE;
+ }
+ return TRUE;
+}
+
+void sub_80F638C(void)
+{
+ gPokenavStructPtr->unk8FE6 = 0;
+ gPokenavStructPtr->unk8FE7 = 0;
+ sub_80F492C();
+ if (gPokenavStructPtr->unk6DAC == 0)
+ {
+ while (sub_80F63D0())
+ ;
+ }
+}
+
+bool8 sub_80F63D0(void)
+{
+ struct UnkUsePokeblockSub sp0;
+ u8 ribbons;
+ u16 i;
+
+ switch (gPokenavStructPtr->unk8FE6)
+ {
+ default:
+ sp0.unk3_14 = 1;
+ for (i = 0; i < 15; i++)
+ {
+ ribbons = GetBoxMonData(&gPokemonStorage.boxes[gPokenavStructPtr->unk8FE6][gPokenavStructPtr->unk8FE7 + 0], MON_DATA_RIBBON_COUNT);
+ if (ribbons != 0)
+ {
+ sp0.unk1 = gPokenavStructPtr->unk8FE6;
+ sp0.partyIdx = gPokenavStructPtr->unk8FE7;
+ sp0.unk0 = ribbons;
+ sub_80F4944(&sp0);
+ }
+ if (++gPokenavStructPtr->unk8FE7 == 30)
+ {
+ gPokenavStructPtr->unk8FE7 = 0;
+ if (++gPokenavStructPtr->unk8FE6 == 14)
+ break;
+ }
+ }
+ break;
+ case 15:
+ return FALSE;
+ case 14:
+ sp0.unk3_14 = 1;
+ sp0.unk1 = 14;
+ for (i = 0; i < 6; i++)
+ {
+ ribbons = GetMonData(&gPlayerParty[i], MON_DATA_RIBBON_COUNT);
+ if (ribbons != 0)
+ {
+ sp0.partyIdx = i;
+ sp0.unk0 = ribbons;
+ sub_80F4944(&sp0);
+ }
+ }
+ sub_80F49F4();
+ gPokenavStructPtr->unk8FE6++;
+ return FALSE;
+ }
+ return TRUE;
+}
+
+u8 * sub_80F6514(u8 * r10, u16 sp0, u8 sp4)
+{
+ u8 * dest = r10;
+ u8 box = gPokenavStructPtr->unk893c[sp0].unk1;
+ u8 monNo = gPokenavStructPtr->unk893c[sp0].partyIdx;
+ u16 species;
+ u16 level;
+ u8 gender;
+
+ if (!sub_80F44B0(box, monNo, MON_DATA_IS_EGG, NULL))
+ {
+ sub_80F44B0(box, monNo, MON_DATA_NICKNAME, dest);
+ StringGetEnd10(dest);
+ species = sub_80F44B0(box, monNo, MON_DATA_SPECIES, NULL);
+ if (box == 14)
+ {
+ level = GetMonData(&gPlayerParty[monNo], MON_DATA_LEVEL);
+ gender = GetMonGender(&gPlayerParty[monNo]);
+ }
+ else
+ {
+ level = GetLevelFromBoxMonExp(&gPokemonStorage.boxes[box][monNo]);
+ gender = GetGenderFromSpeciesAndPersonality(species, sub_80F44B0(box, monNo, MON_DATA_PERSONALITY, NULL));
+ }
+ if (ShouldHideGenderIcon(species, r10))
+ {
+ gender = MON_GENDERLESS;
+ }
+ dest += StringLength(dest);
+
+ dest[0] = EXT_CTRL_CODE_BEGIN;
+ dest[1] = 0x13; // CLEAR_TO
+ dest[2] = 63;
+ dest += 3;
+
+ switch (gender)
+ {
+ case MON_MALE:
+ dest[0] = EXT_CTRL_CODE_BEGIN;
+ dest[1] = 0x01; // COLOR
+ dest[2] = TEXT_COLOR_WHITE;
+ dest[3] = EXT_CTRL_CODE_BEGIN;
+ dest[4] = 0x03; // SHADOW
+ dest[5] = TEXT_COLOR_SKY_BLUE;
+ dest[6] = CHAR_MALE;
+ dest += 7;
+ break;
+ case MON_FEMALE:
+ dest[0] = EXT_CTRL_CODE_BEGIN;
+ dest[1] = 0x01; // COLOR
+ dest[2] = TEXT_COLOR_BLACK2;
+ dest[3] = EXT_CTRL_CODE_BEGIN;
+ dest[4] = 0x03; // SHADOW
+ dest[5] = TEXT_COLOR_SILVER;
+ dest[6] = CHAR_FEMALE;
+ dest += 7;
+ break;
+ }
+ dest[0] = EXT_CTRL_CODE_BEGIN;
+ dest[1] = 0x01; // COLOR
+ dest[2] = TEXT_COLOR_DARK_GREY;
+ dest[3] = EXT_CTRL_CODE_BEGIN;
+ dest[4] = 0x03; // SHADOW
+ dest[5] = TEXT_COLOR_YELLOW;
+ dest += 6;
+
+ dest[0] = EXT_CTRL_CODE_BEGIN;
+ dest[1] = 0x13; // CLEAR_TO
+ dest[2] = 70;
+ dest += 3;
+
+ dest[0] = CHAR_SLASH;
+ dest[1] = EXT_CTRL_CODE_BEGIN;
+ dest[2] = EXT_CTRL_CODE_CLEAR;
+ dest[3] = 1;
+ dest[4] = CHAR_LV;
+ dest += 5;
+
+ dest = ConvertIntToDecimalString(dest, level);
+ if (sp4 == 1)
+ {
+ dest = AlignInt1InMenuWindow(dest, gPokenavStructPtr->unk893c[sp0].unk0, 0x80, 0x01);
+ }
+ else
+ {
+ dest[0] = EXT_CTRL_CODE_BEGIN;
+ dest[1] = 0x13; // CLEAR_TO
+ dest[2] = 103;
+ dest += 3;
+ *dest = EOS;
+ }
+ }
+ else
+ {
+ *dest = EOS;
+ }
+ return dest;
+}
+
+extern const u16 gUnknown_083E499C[];
+
+void sub_80F66E0(void)
+{
+ u8 r9;
+ u32 r7;
+ u16 i, j;
+ u8 r2;
+ u8 r0;
+
+ sub_80F6514(gPokenavStructPtr->unk8829[0], gPokenavStructPtr->unk876E, 0);
+ sub_80F4824(gPokenavStructPtr->unk876E, 0);
+ gPokenavStructPtr->unk87DC = gPokenavStructPtr->unk876E;
+ gPokenavStructPtr->unkBC8E = 0;
+ r9 = 0;
+ r7 = sub_80F44B0(gPokenavStructPtr->unk893c[gPokenavStructPtr->unk876E].unk1, gPokenavStructPtr->unk893c[gPokenavStructPtr->unk876E].partyIdx, MON_DATA_RIBBONS, NULL);
+ gPokenavStructPtr->unkBC8F = 0;
+ for (i = 0; i < 17; i++)
+ {
+ switch (gUnknown_083E499C[i])
+ {
+ case MON_DATA_COOL_RIBBON:
+ case MON_DATA_BEAUTY_RIBBON:
+ case MON_DATA_CUTE_RIBBON:
+ case MON_DATA_SMART_RIBBON:
+ case MON_DATA_TOUGH_RIBBON:
+ r2 = r7 & 7;
+ r7 >>= 3;
+ r0 = 4;
+ break;
+ default:
+ r2 = r7 & 1;
+ r7 >>= 1;
+ r0 = 1;
+ break;
+ };
+ for (j = 0; j < r2; j++)
+ {
+ gPokenavStructPtr->unkBC4C[gPokenavStructPtr->unkBC8E++] = r9 + j;
+ }
+ if (r2 && r9 > 24)
+ {
+ gPokenavStructPtr->unkBC8F++;
+ }
+ r9 += r0;
+ }
+ if (gPokenavStructPtr->unkBC8E != gPokenavStructPtr->unkBC8F)
+ {
+ gPokenavStructPtr->unkBC90 = 0;
+ gPokenavStructPtr->unkBC91 = 0;
+ }
+ else
+ {
+ gPokenavStructPtr->unkBC90 = 0;
+ gPokenavStructPtr->unkBC91 = 3;
+ }
+ r2 = gPokenavStructPtr->unkBC8E - gPokenavStructPtr->unkBC8F;
+ for (i = 0; i < 3; i++)
+ {
+ if (r2 > 8)
+ {
+ gPokenavStructPtr->unkBC96[i] = 9;
+ r2 -= 9;
+ }
+ else
+ {
+ gPokenavStructPtr->unkBC96[i] = r2;
+ r2 = 0;
+ }
+ }
+ gPokenavStructPtr->unkBC96[i] = gPokenavStructPtr->unkBC8F;
+}
+
+// FIXME: wtf is this control flow
+#ifdef NONMATCHING
+u8 sub_80F68E8(void)
+{
+ s8 r5 = gPokenavStructPtr->unkBC90;
+ s8 r4 = gPokenavStructPtr->unkBC91;
+ u8 r12 = 1;
+ if (({gMain.newAndRepeatedKeys & DPAD_UP;}) && r4 > 0)
+ {
+ while (r4 > 0)
+ {
+ r4--;
+ if (gPokenavStructPtr->unkBC96[r4] != 0)
+ {
+ break;
+ }
+ }
+ if (gPokenavStructPtr->unkBC96[r4] != 0)
+ {
+ goto check_r5;
+ }
+ r4 = gPokenavStructPtr->unkBC91;
+ }
+ if (({gMain.newAndRepeatedKeys & DPAD_DOWN;}) && r4 < 3)
+ {
+ while (r4 < 3)
+ {
+ r4++;
+ if (gPokenavStructPtr->unkBC96[r4] != 0)
+ {
+ break;
+ }
+ }
+ if (gPokenavStructPtr->unkBC96[r4] != 0)
+ {
+ goto check_r5;
+ }
+ r4 = gPokenavStructPtr->unkBC91;
+ }
+ if (({gMain.newAndRepeatedKeys & DPAD_LEFT;}) && r5 > 0)
+ {
+ r5--;
+ }
+ else if (({gMain.newAndRepeatedKeys & DPAD_RIGHT;}) && r5 < gPokenavStructPtr->unkBC96[r4] - 1)
+ {
+ r5++;
+ }
+ else
+ {
+ r12 = 0;
+ }
+ goto end;
+
+ check_r5:
+ if (r5 >= gPokenavStructPtr->unkBC96[r4])
+ {
+ r5--;
+ }
+ end:
+ if (r12)
+ {
+ if (r5 != gPokenavStructPtr->unkBC90 || r4 != gPokenavStructPtr->unkBC91)
+ {
+ gPokenavStructPtr->unkBC90 = r5;
+ gPokenavStructPtr->unkBC91 = r4;
+ }
+ else
+ {
+ r12 = 0;
+ }
+ }
+ return r12;
+}
+#else
+NAKED
+bool8 sub_80F68E8(void)
+{
+ asm_unified("\tpush {r4-r7,lr}\n"
+ "\tldr r3, _080F6918 @ =gPokenavStructPtr\n"
+ "\tldr r0, [r3]\n"
+ "\tldr r2, _080F691C @ =0x0000bc90\n"
+ "\tadds r1, r0, r2\n"
+ "\tldrb r5, [r1]\n"
+ "\tldr r6, _080F6920 @ =0x0000bc91\n"
+ "\tadds r0, r6\n"
+ "\tldrb r4, [r0]\n"
+ "\tmovs r0, 0x1\n"
+ "\tmov r12, r0\n"
+ "\tldr r2, _080F6924 @ =gMain\n"
+ "\tldrh r1, [r2, 0x30]\n"
+ "\tmovs r0, 0x40\n"
+ "\tands r0, r1\n"
+ "\tadds r6, r3, 0\n"
+ "\tadds r7, r2, 0\n"
+ "\tcmp r0, 0\n"
+ "\tbeq _080F692E\n"
+ "\tlsls r0, r4, 24\n"
+ "\tcmp r0, 0\n"
+ "\tble _080F692E\n"
+ "\tb _080F69BC\n"
+ "\t.align 2, 0\n"
+ "_080F6918: .4byte gPokenavStructPtr\n"
+ "_080F691C: .4byte 0x0000bc90\n"
+ "_080F6920: .4byte 0x0000bc91\n"
+ "_080F6924: .4byte gMain\n"
+ "_080F6928:\n"
+ "\tldr r1, _080F69B0 @ =0x0000bc91\n"
+ "\tadds r0, r2, r1\n"
+ "\tldrb r4, [r0]\n"
+ "_080F692E:\n"
+ "\tldrh r1, [r7, 0x30]\n"
+ "\tmovs r0, 0x80\n"
+ "\tands r0, r1\n"
+ "\tcmp r0, 0\n"
+ "\tbeq _080F6978\n"
+ "\tlsls r0, r4, 24\n"
+ "\tasrs r0, 24\n"
+ "\tcmp r0, 0x2\n"
+ "\tbgt _080F6978\n"
+ "\tldr r3, _080F69B4 @ =gPokenavStructPtr\n"
+ "\tldr r2, _080F69B8 @ =0x0000bc96\n"
+ "_080F6944:\n"
+ "\tlsls r0, r4, 24\n"
+ "\tasrs r0, 24\n"
+ "\tcmp r0, 0x2\n"
+ "\tbgt _080F6960\n"
+ "\tadds r0, 0x1\n"
+ "\tlsls r0, 24\n"
+ "\tldr r1, [r3]\n"
+ "\tlsrs r4, r0, 24\n"
+ "\tasrs r0, 24\n"
+ "\tadds r1, r2\n"
+ "\tadds r1, r0\n"
+ "\tldrb r0, [r1]\n"
+ "\tcmp r0, 0\n"
+ "\tbeq _080F6944\n"
+ "_080F6960:\n"
+ "\tldr r2, [r6]\n"
+ "\tlsls r0, r4, 24\n"
+ "\tasrs r0, 24\n"
+ "\tldr r3, _080F69B8 @ =0x0000bc96\n"
+ "\tadds r1, r2, r3\n"
+ "\tadds r1, r0\n"
+ "\tldrb r0, [r1]\n"
+ "\tcmp r0, 0\n"
+ "\tbne _080F69EC\n"
+ "\tldr r1, _080F69B0 @ =0x0000bc91\n"
+ "\tadds r0, r2, r1\n"
+ "\tldrb r4, [r0]\n"
+ "_080F6978:\n"
+ "\tldrh r2, [r7, 0x30]\n"
+ "\tmovs r0, 0x20\n"
+ "\tands r0, r2\n"
+ "\tcmp r0, 0\n"
+ "\tbeq _080F698A\n"
+ "\tlsls r0, r5, 24\n"
+ "\tasrs r0, 24\n"
+ "\tcmp r0, 0\n"
+ "\tbgt _080F6A3C\n"
+ "_080F698A:\n"
+ "\tmovs r0, 0x10\n"
+ "\tands r0, r2\n"
+ "\tcmp r0, 0\n"
+ "\tbeq _080F69AA\n"
+ "\tlsls r0, r5, 24\n"
+ "\tasrs r2, r0, 24\n"
+ "\tldr r1, [r6]\n"
+ "\tlsls r0, r4, 24\n"
+ "\tasrs r0, 24\n"
+ "\tldr r3, _080F69B8 @ =0x0000bc96\n"
+ "\tadds r1, r3\n"
+ "\tadds r1, r0\n"
+ "\tldrb r0, [r1]\n"
+ "\tsubs r0, 0x1\n"
+ "\tcmp r2, r0\n"
+ "\tblt _080F6A38\n"
+ "_080F69AA:\n"
+ "\tmovs r0, 0\n"
+ "\tmov r12, r0\n"
+ "\tb _080F69FC\n"
+ "\t.align 2, 0\n"
+ "_080F69B0: .4byte 0x0000bc91\n"
+ "_080F69B4: .4byte gPokenavStructPtr\n"
+ "_080F69B8: .4byte 0x0000bc96\n"
+ "_080F69BC:\n"
+ "\tlsls r0, r4, 24\n"
+ "\tasrs r0, 24\n"
+ "\tcmp r0, 0\n"
+ "\tble _080F69DA\n"
+ "\tsubs r0, 0x1\n"
+ "\tlsls r0, 24\n"
+ "\tldr r1, [r6]\n"
+ "\tlsrs r4, r0, 24\n"
+ "\tasrs r0, 24\n"
+ "\tldr r2, _080F6A2C @ =0x0000bc96\n"
+ "\tadds r1, r2\n"
+ "\tadds r1, r0\n"
+ "\tldrb r0, [r1]\n"
+ "\tcmp r0, 0\n"
+ "\tbeq _080F69BC\n"
+ "_080F69DA:\n"
+ "\tldr r2, [r6]\n"
+ "\tlsls r0, r4, 24\n"
+ "\tasrs r0, 24\n"
+ "\tldr r3, _080F6A2C @ =0x0000bc96\n"
+ "\tadds r1, r2, r3\n"
+ "\tadds r1, r0\n"
+ "\tldrb r0, [r1]\n"
+ "\tcmp r0, 0\n"
+ "\tbeq _080F6928\n"
+ "_080F69EC:\n"
+ "\tlsls r0, r5, 24\n"
+ "\tasrs r0, 24\n"
+ "\tldrb r1, [r1]\n"
+ "\tcmp r0, r1\n"
+ "\tblt _080F69FC\n"
+ "\tsubs r0, r1, 0x1\n"
+ "_080F69F8:\n"
+ "\tlsls r0, 24\n"
+ "\tlsrs r5, r0, 24\n"
+ "_080F69FC:\n"
+ "\tmov r0, r12\n"
+ "\tcmp r0, 0\n"
+ "\tbeq _080F6A44\n"
+ "\tlsls r0, r5, 24\n"
+ "\tasrs r0, 24\n"
+ "\tldr r3, [r6]\n"
+ "\tldr r1, _080F6A30 @ =0x0000bc90\n"
+ "\tadds r2, r3, r1\n"
+ "\tldrb r6, [r2]\n"
+ "\tcmp r0, r6\n"
+ "\tbne _080F6A20\n"
+ "\tlsls r0, r4, 24\n"
+ "\tasrs r0, 24\n"
+ "\tldr r6, _080F6A34 @ =0x0000bc91\n"
+ "\tadds r1, r3, r6\n"
+ "\tldrb r1, [r1]\n"
+ "\tcmp r0, r1\n"
+ "\tbeq _080F6A40\n"
+ "_080F6A20:\n"
+ "\tstrb r5, [r2]\n"
+ "\tldr r1, _080F6A34 @ =0x0000bc91\n"
+ "\tadds r0, r3, r1\n"
+ "\tstrb r4, [r0]\n"
+ "\tb _080F6A44\n"
+ "\t.align 2, 0\n"
+ "_080F6A2C: .4byte 0x0000bc96\n"
+ "_080F6A30: .4byte 0x0000bc90\n"
+ "_080F6A34: .4byte 0x0000bc91\n"
+ "_080F6A38:\n"
+ "\tadds r0, r2, 0x1\n"
+ "\tb _080F69F8\n"
+ "_080F6A3C:\n"
+ "\tsubs r0, 0x1\n"
+ "\tb _080F69F8\n"
+ "_080F6A40:\n"
+ "\tmovs r2, 0\n"
+ "\tmov r12, r2\n"
+ "_080F6A44:\n"
+ "\tmov r0, r12\n"
+ "\tpop {r4-r7}\n"
+ "\tpop {r1}\n"
+ "\tbx r1");
+}
+#endif //NONMATCHING
+
+void sub_80F6A4C(s8 a0)
+{
+ gPokenavStructPtr->unk876E += a0;
+ if (gPokenavStructPtr->unk876E < 0)
+ {
+ gPokenavStructPtr->unk876E = gPokenavStructPtr->unk8774;
+ }
+ if (gPokenavStructPtr->unk876E > gPokenavStructPtr->unk8774)
+ {
+ gPokenavStructPtr->unk876E = 0;
+ }
+ gPokenavStructPtr->unkBC94 = a0;
+ gPokenavStructPtr->unk87DC = gPokenavStructPtr->unk876E;
+ REG_WININ = 0x3F37;
+ REG_WINOUT = 0x3F3F;
+ REG_WIN0H = 0x58F0;
+ REG_WIN0V = 0x2060;
+ gPokenavStructPtr->unk87DE = 0;
+}
+
+bool8 sub_80F6AF0(void)
+{
+ switch (gPokenavStructPtr->unk87DE)
+ {
+ case 0:
+ if (!sub_80F173C())
+ {
+ gPokenavStructPtr->unk87DE++;
+ }
+ break;
+ case 1:
+ REG_DISPCNT |= DISPCNT_WIN0_ON;
+ sub_80F1480();
+ sub_80F66E0();
+ gPokenavStructPtr->unk87DE++;
+ break;
+ case 2:
+ DrawMonRibbonIcons();
+ gPokenavStructPtr->unk87DE++;
+ break;
+ case 3:
+ sub_80F13FC();
+ gPokenavStructPtr->unk87DE++;
+ break;
+ case 4:
+ sub_80F4824(gPokenavStructPtr->unk876E, 0);
+ gPokenavStructPtr->unk87DE++;
+ break;
+ case 5:
+ sub_80F2E18(0);
+ gPokenavStructPtr->unk87DE++;
+ break;
+ case 6:
+ if (!sub_80F170C())
+ {
+ sub_80F1438();
+ REG_DISPCNT &= ~DISPCNT_WIN0_ON;
+ gPokenavStructPtr->unk87DE++;
+ return FALSE;
+ }
+ break;
+ default:
+ return FALSE;
+ }
+
+ return TRUE;
+}
diff --git a/src/pokenav_after.c b/src/pokenav_after.c
deleted file mode 100644
index 7619577cc..000000000
--- a/src/pokenav_after.c
+++ /dev/null
@@ -1,35 +0,0 @@
-#include "global.h"
-#include "main.h"
-#include "pokenav.h"
-#include "battle.h"
-#include "data2.h"
-#include "text.h"
-#include "de_rom_8040FE0.h"
-#include "string_util.h"
-
-void sub_80F700C(u8 *arg0, u16 arg1)
-{
- const struct Trainer *trainer = &gTrainers[gUnknown_083DFEC4->unkCEE8[arg1].unk0];
- u8 *ptr = arg0;
-
- ptr = arg0;
- if (arg1 < gUnknown_083DFEC4->unkD158)
- {
-#if ENGLISH
- ptr = StringCopy(ptr, gTrainerClassNames[trainer->trainerClass]);
-#elif GERMAN
- ptr = StringCopy(ptr, de_sub_8041024(0, gUnknown_083DFEC4->unkCEE8[arg1].unk0));
-#endif
-
- ptr[0] = EXT_CTRL_CODE_BEGIN;
- ptr[1] = 0x13;
- ptr[2] = 0x4B;
- ptr += 3;
- ptr = StringCopy(ptr, trainer->trainerName);
- }
-
- ptr[0] = EXT_CTRL_CODE_BEGIN;
- ptr[1] = 0x13;
- ptr[2] = 0x80;
- ptr[3] = 0xFF;
-}
diff --git a/src/pokenav_before.c b/src/pokenav_before.c
index 710756c11..3150629b7 100644
--- a/src/pokenav_before.c
+++ b/src/pokenav_before.c
@@ -100,321 +100,7 @@ struct PokenavRibbonIconGfx {
IWRAM_DATA void (*gUnknown_03000744)(void);
-extern const u8 gUnknown_083E0314[];
-extern const u16 gUnknown_08E9F9E8[];
-extern const u16 gUnknown_083E0274[];
-extern const u8 gUnknown_08E9FC64[];
-extern const u8 gUnknown_083E0354[];
-extern const u8 gUnknown_08E9FD64[];
-extern const u8 gUnknown_08E9FE54[];
-extern const u8 gUnknown_08E9FD1C[];
-extern const u16 gPokenavConditionSearch2_Pal[];
-extern const u8 gUnknown_083E0334[];
-extern const u16 gUnknown_083E02B4[];
-extern const u8 gPokenavConditionSearch2_Gfx[];
-extern const u8 gUnknown_083E0254[];
-extern const u8 gUnknown_08E9FEB4[];
-extern const u8 gUnknown_083E01AC[];
-extern const u8 gUnknown_08E9AC4C[];
-extern const u8 gPokenavConditionMenu2_Pal[];
-extern const u8 gPokenavConditionView_Gfx[];
-extern const u8 gUnknown_08E9ABB4[];
-extern const u8 gUnknown_08E9AC2C[];
-extern const u8 *const gPokenavCityMaps[][2];
-extern const u8 gPokenavHoennMapSquares_Pal[];
-extern const u8 gPokenavHoennMapSquares_Gfx[];
-extern const u16 gUnknown_083E003C[];
-extern const u8 *const gUnknown_083E31B0[];
-extern const u8 *const gUnknown_083E31CC[];
-extern const u8 *const gUnknown_083E31D8[];
-extern u8 *gUnknown_083DFEC8;
-extern const u8 gUnknown_083DFEEC[];
-extern const u8 gUnknown_083E005C[];
-extern const u8 gUnknown_083E007C[];
-extern const u8 gPokenavOutlineTilemap[];
-extern const u8 gPokenavOutlineTiles[];
-extern const u8 gPokenavOutlinePalette[];
-extern const u8 gUnknown_083DFECC[];
-extern const u8 gUnknown_083DFF8C[];
-extern const u8 gPokenavHoennMapMisc_Gfx[];
-extern const u8 gUnknown_08E99FB0[];
-extern const u8 gUnknown_08E9A100[];
-extern const u16 gPokenavHoennMap1_Pal[];
-extern void (*const gUnknown_083E3270[])(u16, u16);
-extern const u8 gUnknown_083E039C[];
-extern const u8 gUnknown_083E03A0[];
-extern const u8 gUnknown_083E01F4[];
-extern const u8 *const gTrainerEyeDescriptions[];
-extern const u8 gUnknown_08E9FBA0[];
-extern const u8 gPokenavRibbonView_Gfx[];
-extern const u8 gUnknown_083E040C[];
-extern const u16 gPokenavRibbonView_Pal[];
-extern const u16 gUnknown_083E03A8[];
-extern const u16 gUnknown_083E3C60[][16];
-extern const u16 gPokenavRibbonsIconGfx[][2];
-extern const u8 *const gRibbonDescriptions[][2];
-extern const u8 *const gGiftRibbonDescriptions[][2];
-extern const u8 gUnknown_08E9FF58[];
-extern const u8 gPokenavRibbonPokeView_Gfx[];
-extern const u16 gUnknown_083E0124[];
-extern const u16 gUnknown_083E0144[];
-extern const u8 gPokenavMenuOptions_Gfx[];
-extern const u8 gPokenavConditionMenu_Gfx[];
-extern const u8 gPokenavConditionSearch_Gfx[];
-extern const struct SpriteTemplate gSpriteTemplate_83E4454;
-extern const union AffineAnimCmd *const gSpriteAffineAnimTable_83E4450[];
-extern const u16 gUnknown_083E42F8[];
-extern const u16 gPokenavMenuOptions1_Pal[];
-extern const u16 gPokenavMenuOptions2_Pal[];
-extern const u16 gPokenavConditionMenu_Pal[];
-extern const u16 gPokenavCondition6_Pal[];
-extern const u16 gPokenavCondition7_Pal[];
-extern const struct SpriteSheet gSpriteSheet_PokenavBlueLight;
-extern const struct SpritePalette gSpritePalette_PokenavBlueLight;
-extern const struct SpriteTemplate gSpriteTemplate_83E4484;
-extern const u8 gPokenavMainMenu_Gfx[];
-extern const u8 gPokenavConditionMenuHeader_Gfx[];
-extern const u8 gPokenavRibbonsHeader_Gfx[];
-extern const u8 gPokenavHoennMapHeader_Gfx[];
-extern const u8 gPokenavConditionMenuOptions_Gfx[];
-extern const u8 gPokenavConditionMenuOptions2_Gfx[];
-extern const u8 gPokenavTrainersEyesHeader_Gfx[];
-extern const struct SpritePalette gUnknown_083E449C[];
-extern const struct SpriteTemplate gSpriteTemplate_83E4530;
-extern const struct SpriteTemplate gSpriteTemplate_83E4548;
-extern const struct SpriteTemplate gSpriteTemplate_83E44E0;
-extern const struct SpriteTemplate gSpriteTemplate_83E44F8;
-extern const struct SpriteSheet gUnknown_083E4568;
-extern const struct SpriteTemplate gSpriteTemplate_83E4570;
-extern const struct SpritePalette gUnknown_083E4588;
-extern const struct SpriteSheet gUnknown_083E4590[3];
-extern const struct SpritePalette gUnknown_083E45A8;
-extern const u16 gUnknown_08E9F988[];
-extern const struct SpriteTemplate gSpriteTemplate_83E45B8;
-extern const struct SpriteTemplate gSpriteTemplate_83E45F0;
-extern const struct SpriteSheet gUnknown_083E4628[4];
-extern const struct SpritePalette gUnknown_083E4648[3];
-extern const struct SpriteTemplate gSpriteTemplate_83E4660;
-extern const u16 gUnknown_083E4678[];
-extern const u8 gUnknown_083E3D00[];
-extern const struct SpriteTemplate gSpriteTemplate_83E476C;
-extern const struct SpriteSheet gUnknown_083E4784;
-extern const struct SpritePalette gUnknown_083E478C;
-extern const struct SpriteTemplate gSpriteTemplate_83E4800;
-extern const s16 gUnknown_083E4794[][2];
-extern const u8 gUnknown_083E329C[];
-extern const struct SpritePalette gUnknown_083E4818;
-extern const struct SpriteTemplate gSpriteTemplate_83E4850;
-extern const struct SpritePalette gUnknown_083E4868;
-extern const struct SpriteTemplate gSpriteTemplate_83E4878;
-
-extern u16 gUnknown_020388B4;
-extern u8 gUnknown_020388B0[];
-
-
-// TODO: decompile the debug code so the compiler doesn't complain about
-// unused static functions
-#define static
-
-static void sub_80EBCA8();
-static void sub_80EEE20();
-static bool8 sub_80EEE54();
-static void sub_80EEE08();
-static void sub_80EED2C(u8);
-static void sub_80EC268();
-static void sub_80EED1C();
-static void sub_80EE9C0(u8, u8, u8);
-static bool8 sub_80EEA0C();
-static bool8 sub_80EEC10();
-static void sub_80EED9C();
-static void sub_80EDB88();
-static void sub_80EC4A0();
-static void sub_80EC81C();
-static void sub_80EE96C();
-static void sub_80EE3D8();
-static bool8 sub_80EEF34();
-static void sub_80EED0C();
-static void sub_80EC67C();
-static void sub_80EC86C();
-static bool8 sub_80EEC90();
-static void sub_80ED620();
-static void sub_80EC960();
-static void sub_80ED01C();
-static void sub_80ECC08();
-static void sub_80ED31C();
-static void sub_80ED4D8();
-static void sub_80ED858();
-static void sub_80EDDBC();
-static void sub_80EDE70();
-static void sub_80EDEE4();
-static void sub_80EE06C();
-static void sub_80EE294();
-static void sub_80EE58C();
-static void sub_80EE658();
-static void sub_80EE8F4();
-static void sub_80EEDC4();
-static void ShowMapNamePopUpWindow(void);
-static void sub_80F0954(u16, u16, u16);
-static bool8 sub_80F098C(void);
-static u8 *sub_80F445C(u8*, u16);
-static void sub_80F081C(u8);
-bool8 sub_80F0944(void);
-static u8 *sub_80F4428(u8*, u16, u8);
-void sub_80F700C(u8*, u16);
-static void sub_80F0B24(void);
-static bool8 sub_80F0B44(void);
-static void sub_80F0C28(void);
-static bool8 sub_80F0C48(void);
-void LoadTrainerEyesDescriptionLines(void);
-bool8 sub_80F0D5C(void);
-static void sub_80F0EC0(void);
-static bool8 sub_80F0EF4(void);
-static void sub_80F0F64(void);
-static void sub_80F0FA0(void);
-static bool8 sub_80F0FEC(void);
-static bool8 sub_80F0718(void);
-void sub_80F0FFC(u8);
-static void sub_80F19DC(u8*);
-static bool8 sub_80F1080(void);
-void sub_80F1614(void);
-void DrawMonRibbonIcons(void);
-void sub_80F13FC(void);
-void sub_80F1438(void);
-static void sub_80F1494(void);
-bool8 sub_80F162C(u8);
-static void sub_80F01E0(u16);
-static void sub_80F19FC(void);
-static void sub_80F1A74(void);
-static void sub_80F1A80(void);
-static void sub_80F1A90(void);
-static bool8 sub_80F1AC4(void);
-static void sub_80F1B8C(u8);
-static bool8 sub_80F1BC8(u8);
-static void sub_80F2458(u8);
-static void sub_80F2514(u8);
-static void sub_80F1DF0(void);
-static void sub_80F2218(struct Sprite *sprite);
-static bool8 sub_80F1E50(void);
-static bool8 sub_80F22F8(void);
-static void sub_80F2108(void);
-static bool8 sub_80F1E6C(void);
-static void sub_80F1E84(void);
-static void sub_80F2148(void);
-static void sub_80F2240(struct Sprite *sprite);
-static bool8 sub_80F1F10(void);
-static bool8 sub_80F2360(void);
-static void sub_80F2170(void);
-static bool8 sub_80F23C8(void);
-static void sub_80F21F8(void);
-static void sub_80F1FF0(void);
-static void sub_80F208C(void);
-static void sub_80F22B0(struct Sprite *sprite);
-static void sub_80F240C(struct Sprite *sprite);
-static void sub_80F2598(void);
-static void sub_80F2620(void);
-static bool8 sub_80F26BC(void);
-static void sub_80F2C58(struct Sprite *sprite);
-static void sub_80F2D04(u8);
-static void sub_80F2D6C(u8);
-static void sub_80F2DD8(void);
-static void sub_80F2DF4(void);
-static void sub_80F2FEC(struct Sprite *sprite);
-static void sub_80F2FB0(void);
-static void sub_80F3008(u8);
-static void sub_80F3130(void);
-static void sub_80F3264(void);
-static void sub_80F3294(u8);
-static void sub_80F35B4(void);
-static void sub_80F363C(struct Sprite *sprite);
-static void SetMonMarkings(u16, u16, u8);
-static void sub_80F36F0(void);
-static bool8 sub_80F3724(void);
-static void sub_80F379C(void);
-static bool8 sub_80F37D0(void);
-static void sub_80F38B8(void);
-static bool8 sub_80F38EC(void);
-static void sub_80F3970(void);
-static bool8 sub_80F39A4(void);
-static void sub_80F3B00(void);
-static bool8 sub_80F3B58(void);
-static void sub_80F3B94(void);
-static bool8 sub_80F3BD4(void);
-static void sub_80F3C2C(void);
-static void sub_80F3F20(u8, u8);
-static void sub_80F3FAC(void);
-static void sub_80F3FF0(void);
-static bool8 sub_80F4024(void);
-static void sub_80F42C4(u8*);
-static void sub_80F4394(void);
-u8 *sub_80F6514(u8*, u16, u8);
-static u8 *sub_80F443C(u8 *, u16);
-void sub_80F55AC(u8*, struct UnkPokenav11 *);
-static void sub_80F4CF0(void);
-static void sub_80F4D44(void);
-static bool8 sub_80F4D88(void);
-static void sub_80F53EC(struct UnkPokenav11*, struct UnkPokenav11*);
-static bool8 sub_80F5504(void);
-static bool8 sub_80F5264(void);
-static bool8 sub_80F52F8(void);
-static bool8 sub_80F5364(void);
-
-extern void sub_80F0900(void);
-extern void sub_80F01A4(void);
-extern void sub_80EFD3C(void);
-extern void sub_8095C8C();
-extern void sub_80EFDA0(void);
-extern void sub_80EFD74(void);
-extern bool8 sub_80EFC64(void);
-extern void sub_80EFC3C(void);
-extern void sub_80EF624(const u16 *, const u16 *, u8, u8, u16 *);
-extern void sub_80EF7D4(void);
-extern void sub_80EF54C(u8);
-extern void sub_80EF58C(u8);
-extern void sub_80F6FFC();
-extern void sub_80F6FB8();
-extern void sub_80F6DB8();
-extern bool8 sub_80F6E9C();
-extern bool8 sub_80F6ED4();
-extern bool8 sub_80F70FC();
-extern void sub_80F708C(u32);
-extern void sub_80F6F10();
-static extern void sub_80F15A8(void);
-extern void sub_80F6A4C();
-extern bool8 sub_80F6AF0();
-extern u8 sub_80F68E8();
-extern void sub_80F66E0();
-extern void sub_80F638C();
-extern bool8 sub_80F63D0();
-extern void sub_80EFF34();
-extern bool8 sub_80EFF68();
-extern void sub_80F6134();
-extern u8 sub_80F5DD4();
-extern void sub_80F0264(u8);
-extern bool8 sub_80F02A0();
-extern void sub_80EF9F8(void);
-extern bool8 sub_80EFBDC(bool8);
-extern void sub_80EFBB0(void);
-extern void sub_80EEFBC(u8);
-extern void sub_80EF814(void);
-extern void sub_80EF840(void);
-extern bool8 sub_80EF874(void);
-extern bool8 sub_80F6250();
-extern void sub_80F6208();
-extern void sub_80F6C20();
-extern void sub_80EF248(u8);
-extern bool8 sub_80EF284(u8);
-extern void sub_80EF428(u8, u8);
-extern bool8 sub_80EEF78();
-extern void sub_80EBC10();
-extern void sub_80EBDBC(void (*func)(void));
-extern void sub_80EBBE8();
-extern void sub_80EBDD8();
-extern void sub_80EBD90();
-extern void sub_80EBD18();
-extern void sub_80FB260();
-extern void sub_80EFE7C(void);
-extern void sub_80F5BF0();
-extern void sub_80F6F64();
+struct UnkPokenavStruct *const gPokenavStructPtr = (struct UnkPokenavStruct *)gSharedMem;
extern u16 gKeyRepeatStartDelay;
@@ -425,10 +111,10 @@ void sub_80EBA5C()
default:
gMain.state = 0;
case 0:
- ewram0_10.var6dac = is_c1_link_related_active();
- if (!ewram0_10.var6dac)
+ gPokenavStructPtr->unk6DAC = is_c1_link_related_active();
+ if (!gPokenavStructPtr->unk6DAC)
{
- ewram0_10.var6dab = 0;
+ gPokenavStructPtr->unk6DAB = 0;
gMain.state++;
SetMainCallback2(&sub_80EBBE8);
}
@@ -478,7 +164,7 @@ void sub_80EBA5C()
sub_80EBDBC(&sub_80EBDD8);
break;
case 14:
- ewram0_10.var6dab = 1;
+ gPokenavStructPtr->unk6DAB = 1;
PlaySE(SE_PN_ON);
SetMainCallback2(&sub_80EBD90);
SetVBlankCallback(&sub_80EBD18);
@@ -491,46 +177,44 @@ void sub_80EBA5C()
void sub_80EBBE8()
{
- while (!ewram0_10.var6dab)
+ while (!gPokenavStructPtr->unk6DAB)
sub_80EBA5C();
}
void sub_80EBC10()
{
u16 i;
- u16 *var1;
gKeyRepeatStartDelay = 0x14;
- ewram0_10.playerPartyCount = CalculatePlayerPartyCount();
- ewram0_10.var6ddc = 0;
- ewram0_10.var9344 = 0;
- ewram0_10.var8768 = 0;
- ewram0_10.varCED0 = 0;
+ gPokenavStructPtr->unk8828 = CalculatePlayerPartyCount();
+ gPokenavStructPtr->unk6DDC = 0;
+ gPokenavStructPtr->unk9344 = 0;
+ gPokenavStructPtr->unk8768 = 0;
+ gPokenavStructPtr->unkCED0 = 0;
for (i = 0; i < 5; ++i)
{
- ewram0_10.var8fff[i] = 0;
- var1 = (u16 *)ewram0_10.var0;
- var1[i*2 + 0x4820] = 0x9B;
- var1[i*2 + 0x4821] = 0x5B;
+ gPokenavStructPtr->unk8ff0[3][i] = 0;
+ gPokenavStructPtr->unk9004[3][i].unk0 = 0x9B;
+ gPokenavStructPtr->unk9004[3][i].unk2 = 0x5B;
}
- ewram0_10.var6e95 = 0;
+ gPokenavStructPtr->regionMap.needUpdateVideoRegs = 0;
sub_80EBCA8();
}
void sub_80EBCA8()
{
- ewram0_10.var6db2[0] = 1;
- ewram0_10.var6db2[1] = 2;
- ewram0_10.var6db2[2] = 3;
+ gPokenavStructPtr->unk6DB2[0] = 1;
+ gPokenavStructPtr->unk6DB2[1] = 2;
+ gPokenavStructPtr->unk6DB2[2] = 3;
if (FlagGet(FLAG_SYS_RIBBON_GET))
- ewram0_10.var6db2[3] = 4;
+ gPokenavStructPtr->unk6DB2[3] = 4;
else
- ewram0_10.var6db2[3] = 0;
+ gPokenavStructPtr->unk6DB2[3] = 0;
- ewram0_10.var6db2[4] = 5;
+ gPokenavStructPtr->unk6DB2[4] = 5;
}
void sub_80EBD18()
@@ -575,7 +259,7 @@ void sub_80EBD80()
void sub_80EBD90()
{
- ewram0_10.var300();
+ gPokenavStructPtr->unk300();
AnimateSprites();
BuildOamBuffer();
RunTasks();
@@ -585,87 +269,87 @@ void sub_80EBD90()
void sub_80EBDBC(void (*func)(void))
{
- ewram0_10.var300 = func;
- ewram0_10.var304 = 0;
+ gPokenavStructPtr->unk300 = func;
+ gPokenavStructPtr->unk304 = 0;
}
void sub_80EBDD8()
{
- switch (ewram0_10.var304)
+ switch (gPokenavStructPtr->unk304)
{
case 0:
SetVBlankCallback(NULL);
REG_DISPCNT = 0;
- ewram0_10.var6dad = ewram0_10.var6ddc;
- ewram0_10.var6dae = 5;
- ewram0_10.var304++;
+ gPokenavStructPtr->unk6DAD = gPokenavStructPtr->unk6DDC;
+ gPokenavStructPtr->unk6DAE = 5;
+ gPokenavStructPtr->unk304++;
break;
case 1:
sub_80F3FF0();
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
// fall through
case 2:
if (!sub_80F4024())
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
break;
case 3:
sub_80F2598();
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
break;
case 4:
sub_80EEE20();
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
// fall through
case 5:
if (!sub_80EEE54())
{
sub_80EEE08();
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
}
break;
case 6:
sub_80EF248(0);
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
// fall through
case 7:
if (!sub_80EF284(0))
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
break;
case 8:
sub_80F1B8C(0);
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
// fall through
case 9:
if (!sub_80F1BC8(0))
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
break;
case 10:
SetVBlankCallback(&sub_80EBD18);
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
break;
case 11:
BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB(0, 0, 0));
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
break;
case 12:
sub_80EED2C(0);
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
break;
case 13:
if (!gPaletteFade.active)
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
break;
case 14:
sub_80F2C80(0);
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
// fall through
case 15:
if (!sub_80F2CBC(0))
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
break;
case 16:
sub_80F1DF0();
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
break;
case 17:
if (!sub_80F1E50())
@@ -683,72 +367,72 @@ void sub_80EBDD8()
void sub_80EC00C()
{
- switch (ewram0_10.var304)
+ switch (gPokenavStructPtr->unk304)
{
case 0:
if (!sub_80EEF78())
{
SetVBlankCallback(&sub_80EBD80);
sub_80EED1C();
- ewram0_10.var6dad = ewram0_10.var6ddc;
- ewram0_10.var6dae = 5;
+ gPokenavStructPtr->unk6DAD = gPokenavStructPtr->unk6DDC;
+ gPokenavStructPtr->unk6DAE = 5;
sub_80EEE08();
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
}
break;
case 1:
sub_80EF248(0);
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
// fall through
case 2:
if (!sub_80EF284(0))
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
break;
case 3:
sub_80F1B8C(0);
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
// fall through
case 4:
if (!sub_80F1BC8(0))
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
break;
case 5:
if (!sub_8055870())
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
break;
case 6:
- BeginNormalPaletteFade(ewram0_10.var308, -1, 16, 0, RGB(0, 0, 0));
+ BeginNormalPaletteFade(gPokenavStructPtr->unk308, -1, 16, 0, RGB(0, 0, 0));
SetVBlankCallback(&sub_80EBD18);
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
break;
case 7:
sub_80EED2C(0);
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
break;
case 8:
if (!gPaletteFade.active)
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
break;
case 9:
sub_80F2598();
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
break;
case 10:
sub_80F2C80(0);
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
// fall through
case 11:
if (!sub_80F2CBC(0))
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
break;
case 12:
sub_80F1DF0();
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
break;
case 13:
if (!sub_80F1E50())
{
- sub_80EF428(0, ewram0_10.var6dad);
+ sub_80EF428(0, gPokenavStructPtr->unk6DAD);
sub_80EBDBC(&sub_80EC268);
#if DEBUG
if (gLinkOpen == TRUE)
@@ -761,12 +445,12 @@ void sub_80EC00C()
void sub_80EC210()
{
- switch (ewram0_10.var304)
+ switch (gPokenavStructPtr->unk304)
{
case 0:
sub_80F2D04(1);
- sub_80EE9C0(0, ewram0_10.var6ddc, 0);
- ewram0_10.var304++;
+ sub_80EE9C0(0, gPokenavStructPtr->unk6DDC, 0);
+ gPokenavStructPtr->unk304++;
break;
case 1:
if (!sub_80EEA0C())
@@ -779,21 +463,21 @@ void sub_80EC268()
{
u8 var1;
- switch (ewram0_10.var304)
+ switch (gPokenavStructPtr->unk304)
{
case 0:
if (sub_80EEC10() != 0)
{
PlaySE(SE_SELECT);
- sub_80EF428(0, ewram0_10.var6dad);
+ sub_80EF428(0, gPokenavStructPtr->unk6DAD);
sub_80EED9C();
}
else
{
if (gMain.newKeys & A_BUTTON)
{
- ewram0_10.var6ddc = ewram0_10.var6dad;
- switch (ewram0_10.var6db2[ewram0_10.var6ddc] - 1)
+ gPokenavStructPtr->unk6DDC = gPokenavStructPtr->unk6DAD;
+ switch (gPokenavStructPtr->unk6DB2[gPokenavStructPtr->unk6DDC] - 1)
{
case 0:
PlaySE(SE_SELECT);
@@ -804,19 +488,19 @@ void sub_80EC268()
sub_80EBDBC(&sub_80EC81C);
break;
case 4:
- ewram0_10.var304 = 1;
+ gPokenavStructPtr->unk304 = 1;
break;
case 3:
- ewram0_10.var304 = 2;
+ gPokenavStructPtr->unk304 = 2;
break;
case 2:
- ewram0_10.var304 = 6;
+ gPokenavStructPtr->unk304 = 6;
break;
}
}
else if (gMain.newKeys & B_BUTTON)
{
- ewram0_10.var304 = 1;
+ gPokenavStructPtr->unk304 = 1;
}
}
break;
@@ -826,16 +510,16 @@ void sub_80EC268()
break;
case 2:
sub_80F6208();
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
// fall through
case 3:
if (!sub_80F6250())
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
break;
case 4:
if (!sub_8055870())
{
- if (ewram0_10.var8fe8 != 0)
+ if (gPokenavStructPtr->unk8FE8 != 0)
{
PlaySE(SE_SELECT);
sub_80EBDBC(&sub_80EDB88);
@@ -844,13 +528,13 @@ void sub_80EC268()
{
PlaySE(0x20);
sub_80EF428(0, 5);
- ewram0_10.var304 = 0xFF;
+ gPokenavStructPtr->unk304 = 0xFF;
}
}
break;
case 6:
sub_80F6C20();
- if (ewram0_10.varD158 != 0)
+ if (gPokenavStructPtr->unkD158 != 0)
{
PlaySE(SE_SELECT);
sub_80EBDBC(&sub_80EE3D8);
@@ -859,21 +543,21 @@ void sub_80EC268()
{
PlaySE(0x20);
sub_80EF428(0, 6);
- ewram0_10.var304 = 0xFF;
+ gPokenavStructPtr->unk304 = 0xFF;
}
break;
case 0xFF:
if ((var1 = sub_80EEC10()) != 0)
{
PlaySE(SE_SELECT);
- sub_80EF428(0, ewram0_10.var6dad);
- ewram0_10.var304 = 0;
+ sub_80EF428(0, gPokenavStructPtr->unk6DAD);
+ gPokenavStructPtr->unk304 = 0;
sub_80EED9C();
}
else if (gMain.newKeys & (A_BUTTON | B_BUTTON))
{
- sub_80EF428(0, ewram0_10.var6dad);
- ewram0_10.var304 = var1;
+ sub_80EF428(0, gPokenavStructPtr->unk6DAD);
+ gPokenavStructPtr->unk304 = var1;
}
break;
}
@@ -883,12 +567,12 @@ void sub_80EC4A0()
{
u32 var1;
- switch (ewram0_10.var304)
+ switch (gPokenavStructPtr->unk304)
{
case 0:
sub_80F1E84();
sub_80F2D04(0);
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
break;
case 1:
if (!sub_80F1F10())
@@ -898,14 +582,14 @@ void sub_80EC4A0()
else
var1 = 0x8;
sub_80EEFBC(var1);
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
}
break;
case 2:
if (!sub_80EEF34())
{
- BeginNormalPaletteFade(ewram0_10.var308, -1, 0, 16, RGB(0, 0, 0));
- ewram0_10.var304++;
+ BeginNormalPaletteFade(gPokenavStructPtr->unk308, -1, 0, 16, RGB(0, 0, 0));
+ gPokenavStructPtr->unk304++;
}
break;
case 3:
@@ -913,45 +597,45 @@ void sub_80EC4A0()
{
SetVBlankCallback(NULL);
sub_80EED0C();
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
}
break;
case 4:
sub_80F2620();
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
break;
case 5:
sub_80EF814();
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
break;
case 6:
sub_80EF840();
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
// fall through
case 7:
if (!sub_80EF874())
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
break;
case 8:
sub_80F2C80(0x4);
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
// fall through
case 9:
if (!sub_80F2CBC(0x4))
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
break;
case 0xA:
sub_80F2DD8();
SetVBlankCallback(&sub_80EBD30);
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
break;
case 0xB:
if (!sub_8055870())
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
break;
case 0xC:
- BeginNormalPaletteFade(ewram0_10.var308, -1, 16, 0, RGB(0, 0, 0));
- ewram0_10.var304++;
+ BeginNormalPaletteFade(gPokenavStructPtr->unk308, -1, 16, 0, RGB(0, 0, 0));
+ gPokenavStructPtr->unk304++;
break;
case 0xD:
sub_80EED2C(0x1);
@@ -959,7 +643,7 @@ void sub_80EC4A0()
if (gLinkOpen == TRUE)
debug_sub_8008218((void *)(VRAM + 0x75E0), 0, (void *)(VRAM + 0xF800), 4);
#endif
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
break;
case 0xE:
if (!gPaletteFade.active)
@@ -970,7 +654,7 @@ void sub_80EC4A0()
void sub_80EC67C()
{
- switch (ewram0_10.var304)
+ switch (gPokenavStructPtr->unk304)
{
case 0:
switch (sub_80FAB60())
@@ -983,37 +667,37 @@ void sub_80EC67C()
break;
case 4:
PlaySE(SE_SELECT);
- ewram0_10.var304 = 1;
+ gPokenavStructPtr->unk304 = 1;
break;
case 5:
PlaySE(SE_SELECT);
- ewram0_10.var304 = 4;
+ gPokenavStructPtr->unk304 = 4;
break;
}
break;
case 1:
- if (!ewram0_10.var6e90)
+ if (!gPokenavStructPtr->regionMap.zoomed)
{
sub_80FAEC4();
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
}
else if (!sub_80EFBDC(1))
{
sub_80FAEC4();
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
}
break;
case 2:
if (!sub_80FAFC0())
{
- if (!ewram0_10.var6e90)
+ if (!gPokenavStructPtr->regionMap.zoomed)
{
sub_80EFBB0();
- ewram0_10.var304 = 0;
+ gPokenavStructPtr->unk304 = 0;
}
else
{
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
}
}
break;
@@ -1021,19 +705,19 @@ void sub_80EC67C()
if (!sub_80EFBDC(0))
{
sub_80EFBB0();
- ewram0_10.var304 = 0;
+ gPokenavStructPtr->unk304 = 0;
}
break;
case 4:
- BeginNormalPaletteFade(ewram0_10.var308, -1, 0, 16, RGB(0, 0, 0));
- ewram0_10.var304++;
+ BeginNormalPaletteFade(gPokenavStructPtr->unk308, -1, 0, 16, RGB(0, 0, 0));
+ gPokenavStructPtr->unk304++;
break;
case 5:
if (!gPaletteFade.active)
{
sub_80F2DF4();
sub_80F2D04(0x4);
- gSaveBlock2.regionMapZoom = (ewram0_10.var6e90 == 1) ? 1 : 0;
+ gSaveBlock2.regionMapZoom = (gPokenavStructPtr->regionMap.zoomed == 1) ? 1 : 0;
sub_80EBDBC(&sub_80EC00C);
}
break;
@@ -1046,12 +730,12 @@ void sub_80EC67C()
void sub_80EC81C()
{
- switch (ewram0_10.var304)
+ switch (gPokenavStructPtr->unk304)
{
case 0:
sub_80F2D04(0);
sub_80EE9C0(1, 0, 1);
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
break;
case 1:
if (!sub_80EEA0C())
@@ -1062,20 +746,20 @@ void sub_80EC81C()
void sub_80EC86C()
{
- switch (ewram0_10.var304)
+ switch (gPokenavStructPtr->unk304)
{
case 0:
if (sub_80EEC90())
{
PlaySE(SE_SELECT);
- sub_80EF428(1, ewram0_10.var6dad);
+ sub_80EF428(1, gPokenavStructPtr->unk6DAD);
sub_80EED9C();
}
else if (gMain.newKeys & A_BUTTON)
{
PlaySE(SE_SELECT);
- ewram0_10.var6df0 = ewram0_10.var6dad;
- switch (ewram0_10.var6df0)
+ gPokenavStructPtr->unk6DF0 = gPokenavStructPtr->unk6DAD;
+ switch (gPokenavStructPtr->unk6DF0)
{
case 0:
sub_80EBDBC(&sub_80ED620);
@@ -1091,9 +775,9 @@ void sub_80EC86C()
else if (gMain.newKeys & B_BUTTON)
{
PlaySE(SE_SELECT);
- ewram0_10.var6df0 = 0x2;
- ewram0_10.var6dad = 0x2;
- ewram0_10.var304++;
+ gPokenavStructPtr->unk6DF0 = 0x2;
+ gPokenavStructPtr->unk6DAD = 0x2;
+ gPokenavStructPtr->unk304++;
}
break;
case 1:
@@ -1105,11 +789,11 @@ void sub_80EC86C()
void sub_80EC960()
{
- switch (ewram0_10.var304)
+ switch (gPokenavStructPtr->unk304)
{
case 0:
sub_80EE9C0(2, 0, 5);
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
break;
case 1:
if (!sub_80EEA0C())
@@ -1120,18 +804,18 @@ void sub_80EC960()
void sub_80EC9A8()
{
- switch (ewram0_10.var304)
+ switch (gPokenavStructPtr->unk304)
{
case 0:
sub_80F2D04(5);
- sub_80EE9C0(1, ewram0_10.var6df0, 0xC);
- ewram0_10.var304++;
+ sub_80EE9C0(1, gPokenavStructPtr->unk6DF0, 0xC);
+ gPokenavStructPtr->unk304++;
break;
case 1:
if (!sub_80EEA0C())
{
sub_80EBDBC(&sub_80EC86C);
- sub_80EF428(1, ewram0_10.var6dad);
+ sub_80EF428(1, gPokenavStructPtr->unk6DAD);
}
break;
}
@@ -1139,70 +823,70 @@ void sub_80EC9A8()
void sub_80ECA10()
{
- switch (ewram0_10.var304)
+ switch (gPokenavStructPtr->unk304)
{
case 0:
if (!sub_80EEF78())
{
SetVBlankCallback(&sub_80EBD80);
sub_80EED1C();
- ewram0_10.var6dad = ewram0_10.var6df0;
- ewram0_10.var6dae = 3;
+ gPokenavStructPtr->unk6DAD = gPokenavStructPtr->unk6DF0;
+ gPokenavStructPtr->unk6DAE = 3;
sub_80EEE08();
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
}
break;
case 1:
sub_80EF248(1);
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
case 2:
if (!sub_80EF284(1))
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
break;
case 3:
sub_80F1B8C(1);
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
case 4:
if (!sub_80F1BC8(1))
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
break;
case 5:
if (sub_8055870()) return;
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
break;
case 6:
- BeginNormalPaletteFade(ewram0_10.var308, -1, 16, 0, RGB(0, 0, 0));
+ BeginNormalPaletteFade(gPokenavStructPtr->unk308, -1, 16, 0, RGB(0, 0, 0));
SetVBlankCallback(&sub_80EBD18);
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
break;
case 7:
sub_80EED2C(0);
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
break;
case 8:
sub_80F2598();
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
break;
case 9:
if (!gPaletteFade.active)
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
break;
case 10:
sub_80F2C80(1);
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
// fall through
case 11:
if (!sub_80F2CBC(1))
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
break;
case 12:
sub_80F1DF0();
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
break;
case 13:
if (!sub_80F1E50())
{
- sub_80EF428(1, ewram0_10.var6dad);
+ sub_80EF428(1, gPokenavStructPtr->unk6DAD);
sub_80EBDBC(&sub_80EC86C);
#if DEBUG
if (gLinkOpen == TRUE)
@@ -1215,49 +899,49 @@ void sub_80ECA10()
void sub_80ECC08()
{
- switch (ewram0_10.var304)
+ switch (gPokenavStructPtr->unk304)
{
case 0:
if (sub_80EEC90())
{
PlaySE(SE_SELECT);
- sub_80EF428(2, ewram0_10.var6dad);
+ sub_80EF428(2, gPokenavStructPtr->unk6DAD);
sub_80EED9C();
}
else if (gMain.newKeys & A_BUTTON)
{
PlaySE(SE_SELECT);
- switch ((s8)ewram0_10.var6dad)
+ switch ((s8)gPokenavStructPtr->unk6DAD)
{
case 0:
- ewram0_10.var87D8 = 22;
+ gPokenavStructPtr->unk87D8 = 22;
break;
case 1:
- ewram0_10.var87D8 = 23;
+ gPokenavStructPtr->unk87D8 = 23;
break;
case 2:
- ewram0_10.var87D8 = 24;
+ gPokenavStructPtr->unk87D8 = 24;
break;
case 3:
- ewram0_10.var87D8 = 33;
+ gPokenavStructPtr->unk87D8 = 33;
break;
case 4:
- ewram0_10.var87D8 = 47;
+ gPokenavStructPtr->unk87D8 = 47;
break;
case 5:
sub_80EBDBC(&sub_80EC9A8);
return;
}
- ewram0_10.var6dfc = ewram0_10.var6dad;
- ewram0_10.var76aa = 1;
+ gPokenavStructPtr->unk6DFC = gPokenavStructPtr->unk6DAD;
+ gPokenavStructPtr->unk76AA = 1;
sub_80EBDBC(&sub_80ED01C);
}
else if (gMain.newKeys & B_BUTTON)
{
PlaySE(SE_SELECT);
- ewram0_10.var6dad = 0x5;
- ewram0_10.var304++;
+ gPokenavStructPtr->unk6DAD = 0x5;
+ gPokenavStructPtr->unk304++;
}
break;
case 1:
@@ -1269,105 +953,105 @@ void sub_80ECC08()
void sub_80ECD80()
{
- switch (ewram0_10.var304)
+ switch (gPokenavStructPtr->unk304)
{
case 0:
- BeginNormalPaletteFade(ewram0_10.var308, -1, 0, 16, RGB(0, 0, 0));
- ewram0_10.var304++;
+ BeginNormalPaletteFade(gPokenavStructPtr->unk308, -1, 0, 16, RGB(0, 0, 0));
+ gPokenavStructPtr->unk304++;
break;
case 1:
if (!gPaletteFade.active)
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
break;
case 2:
if (!sub_80EEF78())
{
SetVBlankCallback(&sub_80EBD80);
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
}
break;
case 3:
sub_80EED1C();
sub_80F3130();
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
break;
case 4:
sub_80F2D6C(0x1);
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
break;
case 5:
sub_80F2D6C(0x5);
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
break;
case 6:
- ewram0_10.var6dad = ewram0_10.var6dfc;
- ewram0_10.var6dae = 0x6;
+ gPokenavStructPtr->unk6DAD = gPokenavStructPtr->unk6DFC;
+ gPokenavStructPtr->unk6DAE = 0x6;
sub_80EEE08();
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
break;
case 7:
sub_80EF248(0x2);
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
// fall through
case 8:
if (!sub_80EF284(0x2))
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
break;
case 9:
sub_80F1B8C(2);
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
// fall through
case 10:
if (!sub_80F1BC8(2))
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
break;
case 11:
if (!sub_8055870())
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
break;
case 12:
- BeginNormalPaletteFade(ewram0_10.var308, -1, 16, 0, RGB(0, 0, 0));
+ BeginNormalPaletteFade(gPokenavStructPtr->unk308, -1, 16, 0, RGB(0, 0, 0));
SetVBlankCallback(&sub_80EBD18);
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
break;
case 13:
sub_80EED2C(0);
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
break;
case 14:
sub_80F2598();
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
break;
case 15:
if (!gPaletteFade.active)
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
break;
case 16:
sub_80F2C80(0x1);
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
// fall through
case 17:
if (!sub_80F2CBC(0x1))
{
- ewram0_10.var306 = 0;
- ewram0_10.var304++;
+ gPokenavStructPtr->unk306 = 0;
+ gPokenavStructPtr->unk304++;
}
break;
case 18:
sub_80F2C80(0x5);
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
// fall through
case 19:
if (!sub_80F2CBC(0x5))
{
sub_80F1DF0();
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
}
break;
case 20:
if (!sub_80F1E50())
{
- sub_80EF428(2, ewram0_10.var6dad);
+ sub_80EF428(2, gPokenavStructPtr->unk6DAD);
sub_80EBDBC(&sub_80ECC08);
#if DEBUG
if (gLinkOpen == TRUE)
@@ -1380,26 +1064,26 @@ void sub_80ECD80()
void sub_80ED01C()
{
- switch (ewram0_10.var304)
+ switch (gPokenavStructPtr->unk304)
{
case 0:
sub_80F1E84();
sub_80F2D04(0x1);
sub_80F2D04(0x5);
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
break;
case 1:
if (!sub_80F1F10())
{
sub_80EEFBC(0);
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
}
break;
case 2:
if (!sub_80EEF34())
{
- BeginNormalPaletteFade(ewram0_10.var308, -1, 0, 16, RGB(0, 0, 0));
- ewram0_10.var304++;
+ BeginNormalPaletteFade(gPokenavStructPtr->unk308, -1, 0, 16, RGB(0, 0, 0));
+ gPokenavStructPtr->unk304++;
}
break;
case 3:
@@ -1408,80 +1092,80 @@ void sub_80ED01C()
SetVBlankCallback(NULL);
sub_80EED0C();
sub_80EF814();
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
}
break;
case 4:
sub_80F2620();
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
break;
case 5:
sub_80F4D44();
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
// fall through
case 6:
if (!sub_80F4D88())
- ewram0_10.var304 += 2;
+ gPokenavStructPtr->unk304 += 2;
else
- ewram0_10.var304 += 1;
+ gPokenavStructPtr->unk304 += 1;
break;
case 7:
if (!sub_8055870())
- ewram0_10.var304--;
+ gPokenavStructPtr->unk304--;
break;
case 8:
if (!sub_8055870())
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
break;
case 9:
sub_80F0264(0);
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
// fall through
case 10:
if (!sub_80F02A0())
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
break;
case 11:
sub_80F3008(0);
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
break;
case 12:
if (!sub_8055870())
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
break;
case 13:
- BeginNormalPaletteFade(ewram0_10.var308, -1, 16, 0, RGB(0, 0, 0));
+ BeginNormalPaletteFade(gPokenavStructPtr->unk308, -1, 16, 0, RGB(0, 0, 0));
SetVBlankCallback(&sub_80EBD18);
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
break;
case 14:
sub_80EED2C(0x4);
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
break;
case 15:
if (!gPaletteFade.active)
{
- ewram0_10.var306 = 0;
- ewram0_10.var304++;
+ gPokenavStructPtr->unk306 = 0;
+ gPokenavStructPtr->unk304++;
}
break;
case 16:
sub_80F2C80(0x1);
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
// fall through
case 17:
if (!sub_80F2CBC(0x1))
{
- ewram0_10.var306 = 0;
- ewram0_10.var304++;
+ gPokenavStructPtr->unk306 = 0;
+ gPokenavStructPtr->unk304++;
}
break;
case 18:
- sub_80F2C80(ewram0_10.var6dfc + 7);
- ewram0_10.var304++;
+ sub_80F2C80(gPokenavStructPtr->unk6DFC + 7);
+ gPokenavStructPtr->unk304++;
// fall through
case 19:
- if (!sub_80F2CBC(ewram0_10.var6dfc + 7))
+ if (!sub_80F2CBC(gPokenavStructPtr->unk6DFC + 7))
{
sub_80EBDBC(&sub_80ED31C);
#if DEBUG
@@ -1495,7 +1179,7 @@ void sub_80ED01C()
void sub_80ED31C()
{
- switch (ewram0_10.var304)
+ switch (gPokenavStructPtr->unk304)
{
case 0:
switch (sub_80F5DD4())
@@ -1506,7 +1190,7 @@ void sub_80ED31C()
return;
case 2:
PlaySE(SE_SELECT);
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
return;
default:
if (gMain.newKeys & A_BUTTON)
@@ -1529,12 +1213,12 @@ void sub_80ED31C()
{
ShowMapNamePopUpWindow();
sub_80F3264();
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
}
break;
case 2:
if (!sub_8055870())
- ewram0_10.var304 = 0;
+ gPokenavStructPtr->unk304 = 0;
break;
}
#if DEBUG
@@ -1545,42 +1229,42 @@ void sub_80ED31C()
void sub_80ED3D0()
{
- switch (ewram0_10.var304)
+ switch (gPokenavStructPtr->unk304)
{
case 0:
SetVBlankCallback(NULL);
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
break;
case 1:
sub_80EED0C();
sub_80F6134();
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
break;
case 2:
sub_80EEFBC(0);
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
break;
case 3:
sub_80F0264(0);
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
// fall through
case 4:
if (!sub_80F02A0())
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
break;
case 5:
if (!sub_8055870())
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
break;
case 6:
sub_80F3008(0);
- BeginNormalPaletteFade(ewram0_10.var308, -1, 16, 0, RGB(0, 0, 0));
+ BeginNormalPaletteFade(gPokenavStructPtr->unk308, -1, 16, 0, RGB(0, 0, 0));
SetVBlankCallback(&sub_80EBD18);
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
break;
case 7:
sub_80EED2C(0x4);
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
#if DEBUG
if (gLinkOpen == TRUE)
debug_sub_8008218((void *)(VRAM + 0x7DE0), 0, (void *)(VRAM + 0xF800), 4);
@@ -1595,11 +1279,11 @@ void sub_80ED3D0()
void sub_80ED4D8()
{
- switch (ewram0_10.var304)
+ switch (gPokenavStructPtr->unk304)
{
case 0:
- BeginNormalPaletteFade(ewram0_10.var308, -1, 0, 16, RGB(0, 0, 0));
- ewram0_10.var304++;
+ BeginNormalPaletteFade(gPokenavStructPtr->unk308, -1, 0, 16, RGB(0, 0, 0));
+ gPokenavStructPtr->unk304++;
break;
case 1:
if (!gPaletteFade.active)
@@ -1607,35 +1291,35 @@ void sub_80ED4D8()
SetVBlankCallback(NULL);
sub_80EED0C();
sub_80F3130();
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
}
break;
case 2:
if (!sub_8055870())
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
break;
case 3:
sub_80F4CF0();
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
break;
case 4:
sub_80EFF34();
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
// fall through
case 5:
if (!sub_80EFF68())
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
break;
case 6:
sub_80F35B4();
sub_80EEFBC(0x2);
- BeginNormalPaletteFade(ewram0_10.var308, -1, 16, 0, RGB(0, 0, 0));
+ BeginNormalPaletteFade(gPokenavStructPtr->unk308, -1, 16, 0, RGB(0, 0, 0));
SetVBlankCallback(sub_80EBD4C);
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
break;
case 7:
sub_80EED2C(0x2);
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
#if DEBUG
if (gLinkOpen == TRUE)
debug_sub_8008218((void *)(VRAM + 0x7DE0), 0, (void *)(VRAM + 0xF000), 4);
@@ -1650,25 +1334,25 @@ void sub_80ED4D8()
void sub_80ED620()
{
- switch (ewram0_10.var304)
+ switch (gPokenavStructPtr->unk304)
{
case 0:
sub_80F1E84();
sub_80F2D04(0x1);
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
break;
case 1:
if (!sub_80F1F10())
{
sub_80EEFBC(0x1);
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
}
break;
case 2:
if (!sub_80EEF34())
{
- BeginNormalPaletteFade(ewram0_10.var308, -1, 0x0, 16, RGB(0, 0, 0));
- ewram0_10.var304++;
+ BeginNormalPaletteFade(gPokenavStructPtr->unk308, -1, 0x0, 16, RGB(0, 0, 0));
+ gPokenavStructPtr->unk304++;
}
break;
case 3:
@@ -1677,59 +1361,59 @@ void sub_80ED620()
SetVBlankCallback(NULL);
sub_80EED0C();
sub_80EF814();
- ewram0_10.var76aa = 0;
- ewram0_10.var304++;
+ gPokenavStructPtr->unk76AA = 0;
+ gPokenavStructPtr->unk304++;
}
break;
case 4:
sub_80F2620();
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
break;
case 5:
- ewram0_10.varD162 = 0x2;
+ gPokenavStructPtr->unkD162 = 0x2;
sub_80F4BD0();
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
break;
case 6:
sub_80EFF34();
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
// fall through
case 7:
if (!sub_80EFF68())
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
break;
case 8:
if (!sub_8055870())
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
break;
case 9:
if (!sub_8055870())
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
break;
case 10:
sub_80F33A8();
- BeginNormalPaletteFade(ewram0_10.var308, -1, 16, 0, RGB(0, 0, 0));
+ BeginNormalPaletteFade(gPokenavStructPtr->unk308, -1, 16, 0, RGB(0, 0, 0));
SetVBlankCallback(&sub_80EBD4C);
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
break;
case 11:
sub_80EED2C(0x2);
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
break;
case 12:
if (!gPaletteFade.active)
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
break;
case 13:
sub_80F2C80(0x1);
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
case 14:
if (!sub_80F2CBC(0x1))
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
break;
case 15:
sub_80F2C80(0x6);
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
// fall through
case 16:
if (!sub_80F2CBC(0x6))
@@ -1760,68 +1444,68 @@ void sub_80F4FDC();
void sub_80ED858() {
u8 var1;
- switch (ewram0_10.var304) {
+ switch (gPokenavStructPtr->unk304) {
case 0:
sub_80F4F78();
sub_80F5B38();
- ewram0_10.var304 = 0x1;
+ gPokenavStructPtr->unk304 = 0x1;
break;
case 1:
if (sub_80F5B50()) return;
- ewram0_10.var304 = 0x2;
+ gPokenavStructPtr->unk304 = 0x2;
break;
case 2:
sub_80F0174(0x1);
- ewram0_10.var304 = 0x3;
+ gPokenavStructPtr->unk304 = 0x3;
break;
case 3:
if (sub_80F4FB4()) return;
sub_80F3C94();
sub_80F3D00();
- ewram0_10.var304 = 0x4;
+ gPokenavStructPtr->unk304 = 0x4;
break;
case 4:
- if ( (gMain.heldKeys & 0x40) && (ewram0_10.var87CB) && (!(ewram0_10.var76aa) || (ewram0_10.var87DC)) ) {
+ if ( (gMain.heldKeys & 0x40) && (gPokenavStructPtr->unk87CB) && (!(gPokenavStructPtr->unk76AA) || (gPokenavStructPtr->unk87DC)) ) {
PlaySE(SE_SELECT);
sub_80F5060(0x1);
move_anim_execute();
- ewram0_10.var304 = 0x5;
+ gPokenavStructPtr->unk304 = 0x5;
}
- else if ( (gMain.heldKeys & 0x80) && (ewram0_10.var87CB) && (!(ewram0_10.var76aa) || (ewram0_10.var76aa >= ewram0_10.var87DC)) ) {
+ else if ( (gMain.heldKeys & 0x80) && (gPokenavStructPtr->unk87CB) && (!(gPokenavStructPtr->unk76AA) || (gPokenavStructPtr->unk76AA >= gPokenavStructPtr->unk87DC)) ) {
PlaySE(SE_SELECT);
sub_80F5060(0);
move_anim_execute();
- ewram0_10.var304 = 0x5;
+ gPokenavStructPtr->unk304 = 0x5;
}
if (gMain.newKeys & B_BUTTON) {
PlaySE(SE_SELECT);
sub_80F4FDC();
move_anim_execute();
- ewram0_10.var304 = 0x9;
+ gPokenavStructPtr->unk304 = 0x9;
}
else if (gMain.newKeys & A_BUTTON) {
- if (ewram0_10.var76aa) {
- if (ewram0_10.var6dac) {
+ if (gPokenavStructPtr->unk76AA) {
+ if (gPokenavStructPtr->unk6DAC) {
PlaySE(SE_SELECT);
- ewram0_10.var304 = 0x7;
+ gPokenavStructPtr->unk304 = 0x7;
}
}
- else if ((ewram0_10.var87DC == ewram0_10.var87DA - 1)) {
+ else if ((gPokenavStructPtr->unk87DC == gPokenavStructPtr->unk87DA - 1)) {
PlaySE(SE_SELECT);
- ewram0_10.var304 = 0x9;
+ gPokenavStructPtr->unk304 = 0x9;
}
}
/*
if (gMain.heldKeys & 0x40) {
- if (ewram0_10.var87CB) {
- if (ewram0_10.var76aa) {
- if (!ewram0_10.var87DC) goto label1;
+ if (gPokenavStructPtr->unk87CB) {
+ if (gPokenavStructPtr->unk76AA) {
+ if (!gPokenavStructPtr->unk87DC) goto label1;
}
PlaySE(SE_SELECT);
sub_80F5060(0x1);
move_anim_execute();
- ewram0_10.var304 = 0x5;
+ gPokenavStructPtr->unk304 = 0x5;
}
else goto label1;
@@ -1830,14 +1514,14 @@ void sub_80ED858() {
break;
label1:
if (gMain.heldKeys & 0x80) {
- if (ewram0_10.var87CB) {
- if (ewram0_10.var76aa) {
- if (!(ewram0_10.var76aa < ewram0_10.var87DC)) goto label2;
+ if (gPokenavStructPtr->unk87CB) {
+ if (gPokenavStructPtr->unk76AA) {
+ if (!(gPokenavStructPtr->unk76AA < gPokenavStructPtr->unk87DC)) goto label2;
}
PlaySE(SE_SELECT);
sub_80F5060(0x1);
move_anim_execute();
- ewram0_10.var304 = 0x5;
+ gPokenavStructPtr->unk304 = 0x5;
}
else goto label2;
}
@@ -1848,18 +1532,18 @@ label2:
PlaySE(SE_SELECT);
sub_80F4FDC();
move_anim_execute();
- ewram0_10.var304 = 0x9;
+ gPokenavStructPtr->unk304 = 0x9;
}
else if (gMain.newKeys & A_BUTTON) {
- if (!ewram0_10.var76aa) {
- if ((ewram0_10.var87DC == ewram0_10.var87DA - 1)) {
+ if (!gPokenavStructPtr->unk76AA) {
+ if ((gPokenavStructPtr->unk87DC == gPokenavStructPtr->unk87DA - 1)) {
PlaySE(SE_SELECT);
- ewram0_10.var304 = 0x9;
+ gPokenavStructPtr->unk304 = 0x9;
}
}
else {
PlaySE(SE_SELECT);
- ewram0_10.var304 = 0x9;
+ gPokenavStructPtr->unk304 = 0x9;
}
}
*/
@@ -1868,36 +1552,36 @@ label2:
case 5:
if (gpu_sync_bg_show()) return;
sub_80F3D00();
- ewram0_10.var304 = 0x6;
+ gPokenavStructPtr->unk304 = 0x6;
break;
case 6:
if (sub_8055870()) return;
- ewram0_10.var304 = 0x4;
+ gPokenavStructPtr->unk304 = 0x4;
break;
case 7:
sub_80EEFBC(0x3);
sub_80F3668();
- ewram0_10.var304 = 0x8;
+ gPokenavStructPtr->unk304 = 0x8;
break;
case 8:
if (sub_80F7500()) return;
sub_80EEFBC(0x2);
sub_80F3698();
- ewram0_10.var304 = 0x4;
+ gPokenavStructPtr->unk304 = 0x4;
break;
case 9:
if (!(var1 = sub_80F5038())) {
sub_80F0174(0);
sub_80F2F48();
- BeginNormalPaletteFade(ewram0_10.var308, -1, 0x0, 0x10, var1);
- ewram0_10.var304 = 0xB;
+ BeginNormalPaletteFade(gPokenavStructPtr->unk308, -1, 0x0, 0x10, var1);
+ gPokenavStructPtr->unk304 = 0xB;
}
break;
case 0xA:
if (gPaletteFade.active) return;
sub_80F3CE8();
sub_80F5BDC();
- if (!ewram0_10.var76aa) {
+ if (!gPokenavStructPtr->unk76AA) {
sub_80F357C();
sub_80F2D6C(0x1);
sub_80F2D6C(0x6);
@@ -2713,25 +2397,25 @@ _080EDB84: .4byte sub_80ED3D0\n");
void sub_80EDB88()
{
- switch (ewram0_10.var304)
+ switch (gPokenavStructPtr->unk304)
{
case 0:
sub_80F1E84();
sub_80F2D04(0);
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
break;
case 1:
if (!sub_80F1F10())
{
sub_80EEFBC(0x4);
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
}
break;
case 2:
if (!sub_80EEF34())
{
- BeginNormalPaletteFade(ewram0_10.var308, -1, 0, 16, RGB(0, 0, 0));
- ewram0_10.var304++;
+ BeginNormalPaletteFade(gPokenavStructPtr->unk308, -1, 0, 16, RGB(0, 0, 0));
+ gPokenavStructPtr->unk304++;
}
break;
case 3:
@@ -2740,60 +2424,60 @@ void sub_80EDB88()
SetVBlankCallback(NULL);
sub_80EED0C();
sub_80EF814();
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
}
break;
case 4:
sub_80F2620();
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
break;
case 5:
sub_80F638C();
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
case 6:
if (!sub_80F63D0())
- ewram0_10.var304 += 2;
+ gPokenavStructPtr->unk304 += 2;
else
- ewram0_10.var304 += 1;
+ gPokenavStructPtr->unk304 += 1;
break;
case 7:
if (!sub_8055870())
- ewram0_10.var304--;
+ gPokenavStructPtr->unk304--;
break;
case 8:
if (!sub_8055870())
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
break;
case 9:
sub_80F0264(0x1);
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
case 10:
if (!sub_80F02A0())
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
break;
case 11:
sub_80F2C80(0x2);
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
case 12:
if (!sub_80F2CBC(0x2))
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
break;
case 13:
sub_80F3008(0x1);
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
break;
case 14:
if (!sub_8055870())
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
break;
case 15:
- BeginNormalPaletteFade(ewram0_10.var308, -1, 16, 0, RGB(0, 0, 0));
+ BeginNormalPaletteFade(gPokenavStructPtr->unk308, -1, 16, 0, RGB(0, 0, 0));
SetVBlankCallback(&sub_80EBD18);
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
break;
case 16:
sub_80EED2C(0x4);
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
#if DEBUG
if (gLinkOpen == TRUE)
debug_sub_8008218((void *)(VRAM + 0x7DE0), 0, (void *)(VRAM + 0xF800), 4);
@@ -2808,7 +2492,7 @@ void sub_80EDB88()
void sub_80EDDBC()
{
- switch (ewram0_10.var304)
+ switch (gPokenavStructPtr->unk304)
{
case 0:
switch (sub_80F5DD4())
@@ -2819,7 +2503,7 @@ void sub_80EDDBC()
return;
case 2:
PlaySE(SE_SELECT);
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
return;
default:
if (gMain.newKeys & A_BUTTON)
@@ -2842,12 +2526,12 @@ void sub_80EDDBC()
{
ShowMapNamePopUpWindow();
sub_80F3264();
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
}
break;
case 2:
if (!sub_8055870())
- ewram0_10.var304 = 0;
+ gPokenavStructPtr->unk304 = 0;
break;
}
#if DEBUG
@@ -2858,18 +2542,18 @@ void sub_80EDDBC()
void sub_80EDE70()
{
- switch (ewram0_10.var304)
+ switch (gPokenavStructPtr->unk304)
{
case 0:
- BeginNormalPaletteFade(ewram0_10.var308, -1, 0, 16, RGB(0, 0, 0));
- ewram0_10.var304++;
+ BeginNormalPaletteFade(gPokenavStructPtr->unk308, -1, 0, 16, RGB(0, 0, 0));
+ gPokenavStructPtr->unk304++;
break;
case 1:
if (!gPaletteFade.active)
{
sub_80F3130();
sub_80F2D6C(0x2);
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
}
break;
case 2:
@@ -2881,11 +2565,11 @@ void sub_80EDE70()
void sub_80EDEE4()
{
- switch (ewram0_10.var304)
+ switch (gPokenavStructPtr->unk304)
{
case 0:
- BeginNormalPaletteFade(ewram0_10.var308, -1, 0, 16, RGB(0, 0, 0));
- ewram0_10.var304++;
+ BeginNormalPaletteFade(gPokenavStructPtr->unk308, -1, 0, 16, RGB(0, 0, 0));
+ gPokenavStructPtr->unk304++;
break;
case 1:
if (!gPaletteFade.active)
@@ -2893,38 +2577,38 @@ void sub_80EDEE4()
SetVBlankCallback(NULL);
sub_80EED0C();
sub_80F3130();
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
}
break;
case 2:
sub_80F66E0();
sub_80EEE08();
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
break;
case 3:
if (!sub_80F1080())
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
break;
case 4:
sub_80EEFBC(0x5);
sub_80F38B8();
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
case 5:
if (!sub_80F38EC())
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
break;
case 6:
if (!sub_8055870())
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
break;
case 7:
- BeginNormalPaletteFade(ewram0_10.var308, -1, 16, 0, RGB(0, 0, 0));
+ BeginNormalPaletteFade(gPokenavStructPtr->unk308, -1, 16, 0, RGB(0, 0, 0));
SetVBlankCallback(&sub_80EBD18);
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
break;
case 8:
sub_80EED2C(0x3);
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
#if DEBUG
if (gLinkOpen == TRUE)
debug_sub_8008218((void *)(VRAM + 0x7DE0), 0, (void *)(VRAM + 0xF000), 4);
@@ -2932,7 +2616,7 @@ void sub_80EDEE4()
break;
case 9:
if (!gPaletteFade.active)
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
break;
case 10:
if (!sub_80F170C())
@@ -2943,30 +2627,30 @@ void sub_80EDEE4()
void sub_80EE06C()
{
- switch (ewram0_10.var304)
+ switch (gPokenavStructPtr->unk304)
{
case 0:
sub_80F15A8();
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
break;
case 1:
- if ((gMain.newAndRepeatedKeys & 0x40) && (ewram0_10.var87DC))
+ if ((gMain.newAndRepeatedKeys & 0x40) && (gPokenavStructPtr->unk87DC))
{
PlaySE(SE_SELECT);
sub_80F6A4C(-1);
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
}
- else if ((gMain.newAndRepeatedKeys & 0x80) && ewram0_10.var87DC < ewram0_10.var8774)
+ else if ((gMain.newAndRepeatedKeys & 0x80) && gPokenavStructPtr->unk87DC < gPokenavStructPtr->unk8774)
{
PlaySE(SE_SELECT);
sub_80F6A4C(1);
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
}
else if (gMain.newKeys & A_BUTTON)
{
PlaySE(SE_SELECT);
sub_80EEFBC(0xB);
- ewram0_10.var304 = 0x4;
+ gPokenavStructPtr->unk304 = 0x4;
}
else if (gMain.newKeys & B_BUTTON)
{
@@ -2976,21 +2660,21 @@ void sub_80EE06C()
break;
case 2:
if (!sub_80F6AF0())
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
break;
case 3:
if (!sub_8055870())
- ewram0_10.var304 = 0;
+ gPokenavStructPtr->unk304 = 0;
break;
case 4:
sub_80F3B00();
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
break;
case 5:
if (!sub_80F3B58())
{
sub_80F1494();
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
sub_80EED9C();
}
break;
@@ -3000,7 +2684,7 @@ void sub_80EE06C()
case 1:
PlaySE(SE_SELECT);
sub_80F3B94();
- ewram0_10.var304 = 0x7;
+ gPokenavStructPtr->unk304 = 0x7;
return;
default:
case 0:
@@ -3008,20 +2692,20 @@ void sub_80EE06C()
{
PlaySE(SE_SELECT);
sub_80F3B94();
- ewram0_10.var304 = 0x8;
+ gPokenavStructPtr->unk304 = 0x8;
}
break;
}
break;
case 7:
if (!sub_80F3BD4())
- ewram0_10.var304 = 0x4;
+ gPokenavStructPtr->unk304 = 0x4;
break;
case 8:
if (!sub_80F3BD4())
{
sub_80EEFBC(0x5);
- ewram0_10.var304 = 0;
+ gPokenavStructPtr->unk304 = 0;
}
break;
}
@@ -3033,11 +2717,11 @@ void sub_80EE06C()
void sub_80EE294()
{
- switch (ewram0_10.var304)
+ switch (gPokenavStructPtr->unk304)
{
case 0:
- BeginNormalPaletteFade(ewram0_10.var308, -1, 0, 16, RGB(0, 0, 0));
- ewram0_10.var304++;
+ BeginNormalPaletteFade(gPokenavStructPtr->unk308, -1, 0, 16, RGB(0, 0, 0));
+ gPokenavStructPtr->unk304++;
break;
case 1:
if (!gPaletteFade.active)
@@ -3046,34 +2730,34 @@ void sub_80EE294()
sub_80EED0C();
sub_80F3C2C();
sub_80EEE08();
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
}
break;
case 2:
sub_80F6134();
sub_80F0264(0x1);
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
case 3:
if (!sub_80F02A0())
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
break;
case 4:
sub_80EEFBC(0x4);
sub_80F3008(0x1);
SetVBlankCallback(&sub_80EBD18);
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
break;
case 5:
if (!sub_8055870())
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
break;
case 6:
- BeginNormalPaletteFade(ewram0_10.var308, -1, 16, 0, RGB(0, 0, 0));
- ewram0_10.var304++;
+ BeginNormalPaletteFade(gPokenavStructPtr->unk308, -1, 16, 0, RGB(0, 0, 0));
+ gPokenavStructPtr->unk304++;
break;
case 7:
sub_80EED2C(0x4);
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
#if DEBUG
if (gLinkOpen == TRUE)
debug_sub_8008218((void *)(VRAM + 0x7DE0), 0, (void *)(VRAM + 0xF800), 4);
@@ -3088,25 +2772,25 @@ void sub_80EE294()
void sub_80EE3D8()
{
- switch (ewram0_10.var304)
+ switch (gPokenavStructPtr->unk304)
{
case 0:
sub_80F1E84();
sub_80F2D04(0);
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
break;
case 1:
if (!sub_80F1F10())
{
sub_80EEFBC(0x9);
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
}
break;
case 2:
if (!sub_80EEF34())
{
- BeginNormalPaletteFade(ewram0_10.var308, -1, 0, 16, RGB(0, 0, 0));
- ewram0_10.var304++;
+ BeginNormalPaletteFade(gPokenavStructPtr->unk308, -1, 0, 16, RGB(0, 0, 0));
+ gPokenavStructPtr->unk304++;
}
break;
case 3:
@@ -3116,44 +2800,44 @@ void sub_80EE3D8()
sub_80EED0C();
sub_80EF814();
sub_80EEE08();
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
}
break;
case 4:
sub_80F2620();
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
break;
case 5:
sub_80F0264(0x2);
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
case 6:
if (!sub_80F02A0())
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
break;
case 7:
sub_80F2C80(0x3);
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
case 8:
if (!sub_80F2CBC(0x3))
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
break;
case 9:
sub_80F3008(0x2);
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
break;
case 10:
if (!sub_8055870())
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
break;
case 11:
sub_80F6F10();
- BeginNormalPaletteFade(ewram0_10.var308, -1, 16, 0, RGB(0, 0, 0));
+ BeginNormalPaletteFade(gPokenavStructPtr->unk308, -1, 16, 0, RGB(0, 0, 0));
SetVBlankCallback(&sub_80EBD68);
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
break;
case 12:
sub_80EED2C(0x5);
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
#if DEBUG
if (gLinkOpen == TRUE)
debug_sub_8008218((void *)(VRAM + 0x7DE0), 0, (void *)(VRAM + 0xF800), 4);
@@ -3168,18 +2852,18 @@ void sub_80EE3D8()
void sub_80EE58C()
{
- switch (ewram0_10.var304)
+ switch (gPokenavStructPtr->unk304)
{
case 0:
switch (sub_80F5DD4())
{
case 1:
PlaySE(SE_SELECT);
- sub_80F0FFC(ewram0_10.var876E);
+ sub_80F0FFC(gPokenavStructPtr->unk876E);
return;
case 2:
PlaySE(SE_SELECT);
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
return;
default:
if (gMain.newKeys & A_BUTTON)
@@ -3200,14 +2884,14 @@ void sub_80EE58C()
case 1:
if (!sub_80F0718())
{
- sub_80F0FFC(ewram0_10.var876E);
+ sub_80F0FFC(gPokenavStructPtr->unk876E);
sub_80F3264();
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
}
break;
case 2:
if (!sub_8055870())
- ewram0_10.var304 = 0;
+ gPokenavStructPtr->unk304 = 0;
break;
}
#if DEBUG
@@ -3218,64 +2902,64 @@ void sub_80EE58C()
void sub_80EE658()
{
- switch (ewram0_10.var304)
+ switch (gPokenavStructPtr->unk304)
{
case 0:
sub_80F3294(0x1);
sub_80EEFBC(0xA);
sub_80F0B24();
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
break;
case 1:
if (!sub_80F0B44())
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
break;
case 2:
sub_80F0F64();
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
break;
case 3:
if (!sub_80F0FEC())
{
sub_80F6FB8(0x1);
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
}
break;
case 4:
sub_80F6DB8();
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
break;
case 5:
sub_80F700C((u8 *)(gSharedMem + 0x8788), *(u16 *)(gSharedMem + 0x8788 - 0x1A));
sub_80F42C4((u8 *)(gSharedMem + 0x8788));
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
break;
case 6:
LoadTrainerEyesDescriptionLines();
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
case 7:
if (!sub_80F6E9C() && !sub_80F0D5C())
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
break;
case 8:
- if ((gMain.heldKeys & 0x40) && ewram0_10.var87DC)
+ if ((gMain.heldKeys & 0x40) && gPokenavStructPtr->unk87DC)
{
PlaySE(SE_SELECT);
sub_80F708C(-1);
- ewram0_10.var304 = 0x10;
+ gPokenavStructPtr->unk304 = 0x10;
}
- else if ((gMain.heldKeys & 0x80) && ewram0_10.var87DC < ewram0_10.var8774)
+ else if ((gMain.heldKeys & 0x80) && gPokenavStructPtr->unk87DC < gPokenavStructPtr->unk8774)
{
PlaySE(SE_SELECT);
sub_80F708C(1);
- ewram0_10.var304 = 0x10;
+ gPokenavStructPtr->unk304 = 0x10;
}
else if (gMain.newKeys & B_BUTTON)
{
PlaySE(SE_SELECT);
sub_80F4394();
sub_80F0EC0();
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
}
break;
case 9:
@@ -3283,28 +2967,28 @@ void sub_80EE658()
{
sub_80F6FB8(0);
sub_80F2FB0();
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
}
break;
case 10:
sub_80F6134();
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
break;
case 11:
sub_80F0FA0();
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
break;
case 12:
if (!sub_80F0FEC())
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
break;
case 13:
sub_80F0C28();
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
break;
case 14:
if (!sub_80F0C48())
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
break;
case 15:
sub_80EEFBC(0x9);
@@ -3314,22 +2998,22 @@ void sub_80EE658()
break;
case 16:
if (!sub_80F70FC())
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
break;
case 17:
if (!sub_8055870())
- ewram0_10.var304 = 0x8;
+ gPokenavStructPtr->unk304 = 0x8;
break;
}
}
void sub_80EE8F4()
{
- switch (ewram0_10.var304)
+ switch (gPokenavStructPtr->unk304)
{
case 0:
- BeginNormalPaletteFade(ewram0_10.var308, -1, 0, 16, RGB(0, 0, 0));
- ewram0_10.var304++;
+ BeginNormalPaletteFade(gPokenavStructPtr->unk308, -1, 0, 16, RGB(0, 0, 0));
+ gPokenavStructPtr->unk304++;
break;
case 1:
if (!gPaletteFade.active)
@@ -3337,7 +3021,7 @@ void sub_80EE8F4()
sub_80F3130();
sub_80F2D6C(0x2);
sub_80F6FFC();
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
}
break;
case 2:
@@ -3348,11 +3032,11 @@ void sub_80EE8F4()
void sub_80EE96C()
{
- if (!ewram0_10.var304)
+ if (!gPokenavStructPtr->unk304)
{
PlaySE(0x6F);
BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0));
- ewram0_10.var304++;
+ gPokenavStructPtr->unk304++;
}
else
{
@@ -3367,31 +3051,31 @@ void sub_80EE96C()
void sub_80EE9C0(u8 param1, u8 param2, u8 param3)
{
sub_80F1E84();
- ewram0_10.var6e14 = param1;
- ewram0_10.var6e15 = param2;
- ewram0_10.var6e16 = 0;
- ewram0_10.var6e17 = param3;
+ gPokenavStructPtr->unk6E14 = param1;
+ gPokenavStructPtr->unk6E15 = param2;
+ gPokenavStructPtr->unk6E16 = 0;
+ gPokenavStructPtr->unk6E17 = param3;
}
#if 0
bool8 sub_80EEA0C() {
- switch (ewram0_10.var6e16) {
+ switch (gPokenavStructPtr->unk6E16) {
case 0:
if (sub_80F1F10()) return 1;
- if (ewram0_10.var6e17 != 0xC) {
- ewram0_10.var6e16 = 0x1;
+ if (gPokenavStructPtr->unk6E17 != 0xC) {
+ gPokenavStructPtr->unk6E16 = 0x1;
return 1;
}
else {
- ewram0_10.var6e16 = 0x3;
+ gPokenavStructPtr->unk6E16 = 0x3;
return 1;
}
case 1:
- sub_80F2C80(ewram0_10.var6e17);
- ewram0_10.var6e16++;
+ sub_80F2C80(gPokenavStructPtr->unk6E17);
+ gPokenavStructPtr->unk6E16++;
case 2:
- if (sub_80F2CBC(ewram0_10.var6e17)) return 1;
- ewram0_10.var6e16++;
+ if (sub_80F2CBC(gPokenavStructPtr->unk6E17)) return 1;
+ gPokenavStructPtr->unk6E16++;
case 3:
}
@@ -3651,18 +3335,18 @@ bool8 sub_80EEC10()
{
do
{
- if (--ewram0_11.var6dad < 0)
- ewram0_11.var6dad = ewram0_11.var6dae - 1;
- } while (!ewram0_10.var6db2[ewram0_11.var6dad]);
+ if (--gPokenavStructPtr->unk6DAD < 0)
+ gPokenavStructPtr->unk6DAD = gPokenavStructPtr->unk6DAE - 1;
+ } while (!gPokenavStructPtr->unk6DB2[gPokenavStructPtr->unk6DAD]);
return TRUE;
}
if (gMain.newKeys & 0x80)
{
do
{
- if (++ewram0_11.var6dad >= ewram0_11.var6dae)
- ewram0_11.var6dad = 0;
- } while (!ewram0_10.var6db2[ewram0_11.var6dad]);
+ if (++gPokenavStructPtr->unk6DAD >= gPokenavStructPtr->unk6DAE)
+ gPokenavStructPtr->unk6DAD = 0;
+ } while (!gPokenavStructPtr->unk6DB2[gPokenavStructPtr->unk6DAD]);
return TRUE;
}
#if DEBUG
@@ -3676,14 +3360,14 @@ bool8 sub_80EEC90()
{
if (gMain.newKeys & 0x40)
{
- if (--ewram0_11.var6dad < 0)
- ewram0_11.var6dad = ewram0_11.var6dae - 1;
+ if (--gPokenavStructPtr->unk6DAD < 0)
+ gPokenavStructPtr->unk6DAD = gPokenavStructPtr->unk6DAE - 1;
return TRUE;
}
if (gMain.newKeys & 0x80)
{
- if (++ewram0_11.var6dad >= ewram0_11.var6dae)
- ewram0_11.var6dad = 0;
+ if (++gPokenavStructPtr->unk6DAD >= gPokenavStructPtr->unk6DAE)
+ gPokenavStructPtr->unk6DAD = 0;
return TRUE;
}
#if DEBUG
@@ -3727,5013 +3411,13 @@ void sub_80EED2C(u8 param1)
void sub_80EED9C(void)
{
- gUnknown_03000744 = ewram0_10.var300;
- ewram0_10.var300 = &sub_80EEDC4;
- ewram0_10.var300();
+ gUnknown_03000744 = gPokenavStructPtr->unk300;
+ gPokenavStructPtr->unk300 = &sub_80EEDC4;
+ gPokenavStructPtr->unk300();
}
void sub_80EEDC4(void)
{
if (sub_8055870() != 0x1)
- ewram0_10.var300 = gUnknown_03000744;
-}
-
-void sub_80EEDE8(void)
-{
- REG_BG0HOFS = 0;
- REG_BG0VOFS = 0;
- REG_BG2VOFS = 0;
- REG_BG2HOFS = 0;
- REG_BG3HOFS = 0;
- REG_BG3VOFS = 0;
-}
-
-void sub_80EEE08(void)
-{
- gUnknown_083DFEC4->unkD160 = 0;
-}
-
-void sub_80EEE20(void)
-{
- gUnknown_083DFEC4->unkD160 = 0;
- if (!gUnknown_083DFEC4->unk6DAC)
- {
- while (sub_80EEE54())
- ;
- }
-}
-
-bool8 sub_80EEE54(void)
-{
- switch (gUnknown_083DFEC4->unkD160)
- {
- case 0:
- LZ77UnCompVram(gPokenavHoennMapMisc_Gfx, (void *)VRAM + 0xC000);
- break;
- case 1:
- LZ77UnCompVram(gUnknown_08E99FB0, (void *)VRAM + 0xD800);
- break;
- case 2:
- LoadPalette(gPokenavHoennMap1_Pal, 0x10, 0x20);
- break;
- case 3:
- sub_80EF58C(0);
- sub_80EF58C(1);
- sub_80EF58C(2);
- break;
- case 4:
- gUnknown_083DFEC4->unk030C = 0;
- REG_BG1HOFS = 0;
- REG_BG1VOFS = 0;
- REG_BG1CNT = 0x1B0C;
- gUnknown_083DFEC4->unkD160++;
- default:
- return FALSE;
- }
- gUnknown_083DFEC4->unkD160++;
- return TRUE;
-}
-
-bool8 sub_80EEF34(void)
-{
- bool8 retVal = TRUE;
-
- if (gUnknown_083DFEC4->unk030C == 32)
- return FALSE;
-
- gUnknown_083DFEC4->unk030C += 2;
- if (gUnknown_083DFEC4->unk030C > 31)
- {
- gUnknown_083DFEC4->unk030C = 32;
- retVal = FALSE;
- }
-
- REG_BG1VOFS = gUnknown_083DFEC4->unk030C;
- return retVal;
-}
-
-bool8 sub_80EEF78(void)
-{
- bool8 retVal = TRUE;
-
- if (gUnknown_083DFEC4->unk030C == 0)
- return FALSE;
-
- gUnknown_083DFEC4->unk030C -= 2;
- if (gUnknown_083DFEC4->unk030C <= 0)
- {
- gUnknown_083DFEC4->unk030C = 0;
- retVal = FALSE;
- }
-
- REG_BG1VOFS = gUnknown_083DFEC4->unk030C;
- return retVal;
-}
-
-void sub_80EEFBC(u8 a)
-{
- u8 var1;
-
- sub_809D104((void *)VRAM + 0xD800, 0, 22, gUnknown_08E9A100, 0, 0, 17, 2);
-
- switch (a)
- {
- case 0:
- sub_809D104((void *)VRAM + 0xD800, 0, 22, gUnknown_08E9A100, 17, 0, 10, 2);
- sub_809D104((void *)VRAM + 0xD800, 10, 22, gUnknown_08E9A100, 0, 6, 7, 2);
- break;
- case 11:
- sub_809D104((void *)VRAM + 0xD800, 8, 22, gUnknown_08E9A100, 0, 6, 7, 2);
- break;
- case 2:
- var1 = gUnknown_083DFEC4->unk6DAC;
- if (!var1)
- {
- sub_809D104((void *)VRAM + 0xD800, 0, 22, gUnknown_08E9A100, 10, 2, 10, 2);
- sub_809D104((void *)VRAM + 0xD800, 10, 22, gUnknown_08E9A100, var1, 6, 7, 2);
- }
- else
- {
- sub_809D104((void *)VRAM + 0xD800, 10, 22, gUnknown_08E9A100, 0, 6, 7, 2);
- }
- break;
- case 3:
- sub_809D104((void *)VRAM + 0xD800, 0, 22, gUnknown_08E9A100, 0, 4, 10, 2);
- sub_809D104((void *)VRAM + 0xD800, 10, 22, gUnknown_08E9A100, 0, 6, 7, 2);
- break;
- case 4:
- sub_809D104((void *)VRAM + 0xD800, 0, 22, gUnknown_08E9A100, 20, 2, 10, 2);
- sub_809D104((void *)VRAM + 0xD800, 10, 22, gUnknown_08E9A100, 0, 6, 7, 2);
- break;
- case 7:
- sub_809D104((void *)VRAM + 0xD800, 0, 22, gUnknown_08E9A100, 10, 4, 10, 2);
- sub_809D104((void *)VRAM + 0xD800, 7, 22, gUnknown_08E9A100, 0, 6, 7, 2);
- break;
- case 8:
- sub_809D104((void *)VRAM + 0xD800, 0, 22, gUnknown_08E9A100, 20, 4, 10, 2);
- sub_809D104((void *)VRAM + 0xD800, 7, 22, gUnknown_08E9A100, 0, 6, 7, 2);
- break;
- case 5:
- case 9:
- sub_809D104((void *)VRAM + 0xD800, 0, 22, gUnknown_08E9A100, 0, 2, 10, 2);
- sub_809D104((void *)VRAM + 0xD800, 8, 22, gUnknown_08E9A100, 0, 6, 7, 2);
- break;
- case 10:
- sub_809D104((void *)VRAM + 0xD800, 8, 22, gUnknown_08E9A100, 0, 6, 7, 2);
- break;
- }
-}
-
-void sub_80EF248(u8 a)
-{
- gUnknown_083DFEC4->unkD160 = 0;
-
- if (!gUnknown_083DFEC4->unk6DAC)
- {
- while (sub_80EF284(a))
- ;
- }
-}
-
-bool8 sub_80EF284(u8 a)
-{
- switch (gUnknown_083DFEC4->unkD160)
- {
- case 0:
- sub_80EEDE8();
- break;
- case 1:
- Text_LoadWindowTemplate(&gWindowTemplate_81E7224);
- break;
- case 2:
- MultistepInitMenuWindowBegin(&gWindowTemplate_81E7224);
- break;
- case 3:
- if (!MultistepInitMenuWindowContinue())
- return TRUE;
- break;
- case 4:
- DmaCopy16Defvars(3, gUnknown_083DFEEC, (void *)VRAM + 0x5000, 0xA0);
- break;
- case 5:
- LZ77UnCompVram(gUnknown_083DFF8C, (void *)VRAM + 0xF800);
- break;
- case 6:
- DmaCopy16Defvars(3, gUnknown_083E005C, (void *)VRAM + 0x8000, 0x20);
- break;
- case 7:
- LZ77UnCompVram(gUnknown_083E007C, (void *)VRAM + 0xE000);
- break;
- case 8:
- LZ77UnCompVram(gPokenavOutlineTilemap, (void *)VRAM + 0xE800);
- break;
- case 9:
- LZ77UnCompVram(gPokenavOutlineTiles, (void *)VRAM + 0x8020);
- break;
- case 10:
- sub_80EF54C(a);
- LoadPalette(gUnknown_083DFECC, 0xF0, 0x20);
- LoadPalette(gPokenavOutlinePalette, 0x40, 0x20);
- sub_80EF7D4();
- break;
- case 11:
- REG_BG0CNT = 0x1F01;
- REG_BG2CNT = 0x1D0A;
- REG_BG3CNT = 0x1C0B;
- REG_BLDCNT = 0;
-
- gUnknown_083DFEC4->unkD160++;
- return FALSE;
- default:
- return FALSE;
- }
-
- gUnknown_083DFEC4->unkD160++;
- return TRUE;
-}
-
-void sub_80EF428(u8 a, u8 b)
-{
- u8 *tileBuffer;
- const u8 *pcText = 0;
-
- switch (a)
- {
- case 0:
- pcText = gUnknown_083E31B0[b];
- break;
- case 1:
- pcText = gUnknown_083E31CC[b];
- break;
- case 2:
- pcText = gUnknown_083E31D8[b];
- break;
- }
-
- tileBuffer = gUnknown_083DFEC8;
- AlignStringInMenuWindow(&tileBuffer[0x800], pcText, 0xC0, 2);
- Menu_PrintText(&tileBuffer[0x800], 3, 17);
-}
-
-void sub_80EF490(u8 a)
-{
- u16 var1, var2;
-
- if (a == 2)
- a = 1;
-
- gUnknown_083DFEC4->unkCE4E = a * 30;
- var1 = gUnknown_083DFEC4->unkCE4C;
- var2 = a * 30;
- if (var1 < var2)
- gUnknown_083DFEC4->unkCE50 = 2;
- else if (var1 > var2)
- gUnknown_083DFEC4->unkCE50 = -2;
- else
- gUnknown_083DFEC4->unkCE50 = 0;
-}
-
-bool8 sub_80EF4F8(void)
-{
- u16 *palettes;
-
- if (gUnknown_083DFEC4->unkCE4C == gUnknown_083DFEC4->unkCE4E)
- {
- return FALSE;
- }
- else
- {
- gUnknown_083DFEC4->unkCE4C = gUnknown_083DFEC4->unkCE50 + gUnknown_083DFEC4->unkCE4C;
-
- palettes = gUnknown_083DFEC4->palettesCE52;
- LoadPalette(&palettes[gUnknown_083DFEC4->unkCE4C], 0x31, 4);
- return TRUE;
- }
-
-}
-
-void sub_80EF54C(u8 a)
-{
- if (a == 2)
- a = 1;
-
- gUnknown_083DFEC4->unkCE4C = a * 30;
- LoadPalette(&gUnknown_083DFEC4->palettesCE52[gUnknown_083DFEC4->unkCE4C], 0x31, 4);
-}
-
-void sub_80EF58C(u8 a)
-{
- u16 i;
- u16 * palettes;
- const u16 *var1;
-
- switch (a)
- {
- case 0:
- for (i = 0; i < 62; i++)
- gUnknown_083DFEC4->palettesCE52[i] = 0;
- break;
- case 1:
- palettes = gUnknown_083DFEC4->palettesCE52;
- var1 = gUnknown_083E003C;
- sub_80EF624(&var1[1], &var1[3], 16, 2, palettes);
- break;
- case 2:
- palettes = gUnknown_083DFEC4->palettesCE8E;
- var1 = gUnknown_083E003C;
- sub_80EF624(&var1[3], &var1[7], 16, 2, palettes);
- break;
- }
-}
-
-#ifdef NONMATCHING
-void sub_80EF624(const u16 *a, const u16 *b, u8 c, u8 d, u16 *palettes)
-{
- u16 red1, green1, blue1;
- u16 red2, green2, blue2;
- s32 redDiv, greenDiv, blueDiv;
- u16 *palettes2;
- u16 i, j;
-
- i = 0;
- while (i < d)
- {
- red1 = (*a & 0x1F) << 8;
- green1 = ((*a >> 5) & 0x1F) << 8;
- blue1 = ((*a >> 10) & 0x1F) << 8;
-
- red2 = (*b & 0x1F) << 8;
- green2 = ((*b >> 5) & 0x1F) << 8;
- blue2 = ((*b >> 10) & 0x1F) << 8;
-
- redDiv = (red2 - red1) / c;
- greenDiv = (green2 - green1) / c;
- blueDiv = (blue2 - blue1) / c;
-
- palettes2 = palettes;
- for (j = 0; j < c - 1; j++)
- {
- *palettes2 = (((blue1 << 8) >> 16) << 10) | (((green1 << 8) >> 16) << 5) | ((red1 << 8) >> 16);
- palettes2 += d;
- red1 += redDiv;
- green1 += greenDiv;
- blue1 += blueDiv;
- }
-
- *palettes2 = (red2 >> 8) | (blue2 << 2) | (green2 >> 3);
- palettes++;
-
- a++;
- b++;
- i++;
- }
-}
-#else
-NAKED
-void sub_80EF624(const u16 *a, const u16 *b, u8 c, u8 d, u16 *palettes)
-{
- asm(".syntax unified\n\
- push {r4-r7,lr}\n\
- mov r7, r10\n\
- mov r6, r9\n\
- mov r5, r8\n\
- push {r5-r7}\n\
- sub sp, 0x38\n\
- str r0, [sp]\n\
- str r1, [sp, 0x4]\n\
- ldr r4, [sp, 0x58]\n\
- lsls r2, 24\n\
- lsrs r2, 24\n\
- str r2, [sp, 0x8]\n\
- lsls r3, 24\n\
- lsrs r3, 24\n\
- str r3, [sp, 0xC]\n\
- movs r0, 0\n\
- str r0, [sp, 0x10]\n\
- lsls r0, r3, 16\n\
- ldr r1, [sp, 0x10]\n\
- cmp r1, r3\n\
- bcs _080EF72E\n\
- subs r2, 0x1\n\
- str r2, [sp, 0x20]\n\
- str r0, [sp, 0x2C]\n\
-_080EF654:\n\
- ldr r2, [sp]\n\
- ldrh r1, [r2]\n\
- movs r0, 0x1F\n\
- ands r0, r1\n\
- lsls r7, r0, 8\n\
- lsls r1, 16\n\
- lsrs r0, r1, 21\n\
- movs r2, 0x1F\n\
- ands r0, r2\n\
- lsls r6, r0, 8\n\
- lsrs r1, 26\n\
- ands r1, r2\n\
- lsls r5, r1, 8\n\
- ldr r0, [sp, 0x4]\n\
- ldrh r1, [r0]\n\
- movs r0, 0x1F\n\
- ands r0, r1\n\
- lsls r0, 8\n\
- str r0, [sp, 0x14]\n\
- lsls r1, 16\n\
- lsrs r0, r1, 21\n\
- ands r0, r2\n\
- lsls r0, 8\n\
- str r0, [sp, 0x18]\n\
- lsrs r1, 26\n\
- ands r1, r2\n\
- lsls r1, 8\n\
- str r1, [sp, 0x1C]\n\
- ldr r1, [sp, 0x14]\n\
- subs r0, r1, r7\n\
- ldr r1, [sp, 0x8]\n\
- bl __divsi3\n\
- mov r10, r0\n\
- ldr r2, [sp, 0x18]\n\
- subs r0, r2, r6\n\
- ldr r1, [sp, 0x8]\n\
- bl __divsi3\n\
- mov r9, r0\n\
- ldr r1, [sp, 0x1C]\n\
- subs r0, r1, r5\n\
- ldr r1, [sp, 0x8]\n\
- bl __divsi3\n\
- mov r8, r0\n\
- adds r3, r4, 0\n\
- movs r4, 0\n\
- ldr r2, [sp]\n\
- adds r2, 0x2\n\
- str r2, [sp, 0x30]\n\
- ldr r0, [sp, 0x4]\n\
- adds r0, 0x2\n\
- str r0, [sp, 0x34]\n\
- adds r1, r3, 0x2\n\
- str r1, [sp, 0x24]\n\
- ldr r2, [sp, 0x10]\n\
- adds r2, 0x1\n\
- str r2, [sp, 0x28]\n\
- ldr r0, [sp, 0x20]\n\
- cmp r4, r0\n\
- bge _080EF700\n\
- ldr r1, [sp, 0xC]\n\
- lsls r1, 1\n\
- mov r12, r1\n\
-_080EF6D6:\n\
- lsls r0, r7, 8\n\
- lsrs r2, r0, 16\n\
- lsls r0, r6, 8\n\
- lsrs r1, r0, 16\n\
- lsls r0, r5, 8\n\
- lsrs r0, 16\n\
- lsls r0, 10\n\
- lsls r1, 5\n\
- orrs r0, r1\n\
- orrs r2, r0\n\
- strh r2, [r3]\n\
- add r3, r12\n\
- add r7, r10\n\
- add r6, r9\n\
- add r5, r8\n\
- adds r0, r4, 0x1\n\
- lsls r0, 16\n\
- lsrs r4, r0, 16\n\
- ldr r2, [sp, 0x20]\n\
- cmp r4, r2\n\
- blt _080EF6D6\n\
-_080EF700:\n\
- ldr r4, [sp, 0x14]\n\
- lsrs r2, r4, 8\n\
- ldr r1, [sp, 0x1C]\n\
- lsls r0, r1, 2\n\
- ldr r4, [sp, 0x18]\n\
- lsrs r1, r4, 3\n\
- orrs r0, r1\n\
- orrs r2, r0\n\
- strh r2, [r3]\n\
- ldr r0, [sp, 0x30]\n\
- str r0, [sp]\n\
- ldr r1, [sp, 0x34]\n\
- str r1, [sp, 0x4]\n\
- ldr r4, [sp, 0x24]\n\
- ldr r2, [sp, 0x28]\n\
- lsls r0, r2, 16\n\
- lsrs r0, 16\n\
- str r0, [sp, 0x10]\n\
- ldr r1, [sp, 0x2C]\n\
- lsrs r0, r1, 16\n\
- ldr r2, [sp, 0x10]\n\
- cmp r2, r0\n\
- bcc _080EF654\n\
-_080EF72E:\n\
- add sp, 0x38\n\
- pop {r3-r5}\n\
- mov r8, r3\n\
- mov r9, r4\n\
- mov r10, r5\n\
- pop {r4-r7}\n\
- pop {r0}\n\
- bx r0\n\
- .syntax divided\n");
-}
-#endif // NONMATCHING
-
-void sub_80EF740(void)
-{
- gUnknown_083DFEC4->unk6DA0 = (gUnknown_083DFEC4->unk6DA0 + 1) & 1;
- if (gUnknown_083DFEC4->unk6DA0)
- gUnknown_083DFEC4->unk6DA2++;
-
- REG_BG3HOFS = gUnknown_083DFEC4->unk6DA2;
-}
-
-void sub_80EF780(u8 taskId)
-{
- if (gTasks[taskId].data[0] == 0 || (gUnknown_083DFEC4->unk6DA2 & 0x7) != 0)
- {
- sub_80EF740();
- }
- else
- {
- u16 value = gUnknown_083DFEC4->unk6DA2 & 0x7;
- gUnknown_083DFEC4->unk6DA2 = value;
- gUnknown_083DFEC4->unk6DA0 = value;
- REG_BG3HOFS = value;
- }
-}
-
-void sub_80EF7D4(void)
-{
- gUnknown_083DFEC4->unk6DA2 = 0;
- gUnknown_083DFEC4->unk6DA0 = 0;
- gUnknown_083DFEC4->taskId6DA4 = CreateTask(sub_80EF780, 80);
-}
-
-void sub_80EF814(void)
-{
- if (FuncIsActiveTask(sub_80EF780))
- DestroyTask(gUnknown_083DFEC4->taskId6DA4);
-}
-
-void sub_80EF840(void)
-{
- gUnknown_083DFEC4->unkD160 = 0;
-
- if (gUnknown_083DFEC4->unk6DAC == 0)
- {
- while (sub_80EF874() != 0)
- ;
- }
-}
-
-bool8 sub_80EF874(void)
-{
- switch (gUnknown_083DFEC4->unkD160)
- {
- case 0:
- sub_80EEDE8();
- break;
- case 1:
- Text_LoadWindowTemplate(&gWindowTemplate_81E7224);
- break;
- case 2:
- MultistepInitMenuWindowBegin(&gWindowTemplate_81E7224);
- break;
- case 3:
- if (!MultistepInitMenuWindowContinue())
- return TRUE;
- break;
- case 4:
- Menu_EraseScreen();
- break;
- case 5:
- sub_80FA904(&gUnknown_083DFEC4->regionMap, gSaveBlock2.regionMapZoom ? TRUE : FALSE);
- break;
- case 6:
- if (sub_80FA940())
- return TRUE;
- break;
- case 7:
- LZ77UnCompVram(gPokenavHoennMapSquares_Gfx, (void *)VRAM + 0x5000);
- break;
- case 8:
- LoadPalette(gPokenavHoennMapSquares_Pal, 0x30, 0x20);
- sub_80EFC3C();
- break;
- case 9:
- if (sub_80EFC64())
- return TRUE;
- break;
- case 10:
- Menu_DrawStdWindowFrame(13, 3, 29, 17);
- sub_80EF9F8();
- break;
- case 11:
- if (!gUnknown_083DFEC4->regionMap.zoomed)
- {
- gUnknown_083DFEC4->unk7698 = 160;
- REG_BG0VOFS = 160;
- }
- else
- {
- gUnknown_083DFEC4->unk7698 = 256;
- REG_BG0VOFS = 0;
- }
-
- REG_BG0CNT = REG_BG0CNT;
- REG_BG0CNT |= 1;
- REG_BLDCNT = 0;
- break;
- default:
- return FALSE;
- }
-
- gUnknown_083DFEC4->unkD160++;
- return TRUE;
-}
-
-asm(".include \"constants/gba_constants.inc\"\n");
-
-void sub_80EF9F8(void)
-{
- bool8 someBool = FALSE;
- u16 top = 4;
- u16 mapSectionId;
- u8 b;
-
- switch (gUnknown_083DFEC4->regionMap.unk16)
- {
- case 0:
- break;
- case 1:
- case 4:
- sub_8072A18(gUnknown_083DFEC4->regionMap.mapSectionName, 0x70, top * 8, 0x78, 1);
- top += 2;
- if (gLinkOpen == TRUE)
- {
- sub_80F1A80();
- someBool = TRUE;
- }
- else
- {
- u16 i;
-
- for (i = 0; i < 4; i++)
- {
- const u8 *secName = GetLandmarkName(
- gUnknown_083DFEC4->regionMap.mapSectionId,
- gUnknown_083DFEC4->regionMap.everGrandeCityArea,
- i);
-
- if (secName == NULL)
- break;
- sub_8072A18(secName, 0x70, top * 8, 0x78, 1);
- top += 2;
- }
- }
- break;
- case 2:
- sub_8072A18(gUnknown_083DFEC4->regionMap.mapSectionName, 0x70, top * 8, 0x78, 1);
- top += 2;
- mapSectionId = gUnknown_083DFEC4->regionMap.mapSectionId;
- b = gUnknown_083DFEC4->regionMap.everGrandeCityArea;
- if (gUnknown_083DFEC4->unkCDCC[mapSectionId][b] != NULL)
- {
- Menu_BlankWindowRect(14, top, 15, 15);
- Menu_BlankWindowRect(26, top, 28, 15);
- sub_8095C8C((void *)(VRAM + 0xF800), 16, 6, gUnknown_083DFEC4->unkCDCC[mapSectionId][b], 0, 0, 10, 10, 10);
- top += 11;
- }
- break;
- case 3:
- sub_8072A18(gUnknown_083DFEC4->regionMap.mapSectionName, 0x70, top * 8, 0x78, 1);
- top += 2;
- break;
- }
-
- // Epic fail by the compiler at optimizing this.
- if (!someBool && top < 16)
- Menu_BlankWindowRect(14, top, 28, 15);
-
- if (gUnknown_083DFEC4->regionMap.unk16 == 2)
- sub_80EFD74();
- else
- sub_80EFDA0();
-}
-
-void sub_80EFBB0(void)
-{
- if (!gUnknown_083DFEC4->regionMap.zoomed)
- sub_80EEFBC(8);
- else
- sub_80EEFBC(7);
-}
-
-bool8 sub_80EFBDC(bool8 a)
-{
- bool8 retVal = TRUE;
- u16 var1 = gUnknown_083DFEC4->unk7698;
-
- if (a)
- {
- if (var1 > 168)
- {
- var1 = var1 - 8;
- }
- else
- {
- var1 = 160;
- retVal = FALSE;
- }
- }
- else
- {
- if (var1 < 248)
- {
- var1 = var1 + 8;
- }
- else
- {
- var1 = 256;
- retVal = FALSE;
- }
- }
-
- gUnknown_083DFEC4->unk7698 = var1;
- REG_BG0VOFS = var1 & 0xFF;
-
- return retVal;
-}
-
-void sub_80EFC3C(void)
-{
- gUnknown_083DFEC4->unkBC9A = 0;
- gUnknown_083DFEC4->unkBC9B = 0;
- sub_80EFD3C();
-}
-
-bool8 sub_80EFC64(void)
-{
- u16 i;
- u8 var1;
- u16 var2;
-
- if (gUnknown_083DFEC4->unkBC9A >= 16)
- return FALSE;
-
- var1 = gUnknown_083DFEC4->unkBC9A;
- var2 = gUnknown_083DFEC4->unkBC9B;
- for (i = 0; i < 2; i++)
- {
- if (gPokenavCityMaps[var1][i] != 0)
- {
- LZ77UnCompVram(gPokenavCityMaps[var1][i], gUnknown_083DFEC4->unkBC9C[var2]);
- gUnknown_083DFEC4->unkCDCC[var1][i] = gUnknown_083DFEC4->unkBC9C[var2];
- var2++;
- }
- else
- {
- gUnknown_083DFEC4->unkCDCC[var1][i] = NULL;
- }
- }
-
- if (++gUnknown_083DFEC4->unkBC9A >= 16)
- return FALSE;
-
- gUnknown_083DFEC4->unkBC9B = var2;
- return TRUE;
-}
-
-void sub_80EFD3C(void)
-{
- gUnknown_083DFEC4->unk769E = 0;
- gUnknown_083DFEC4->unk769C = 47;
- gUnknown_083DFEC4->unk769D = 0;
- gUnknown_083DFEC4->unk769A = 0;
-}
-
-void sub_80EFD74(void)
-{
- gUnknown_083DFEC4->unk769E = 1;
- if (gUnknown_083DFEC4->unk769D == 1)
- gUnknown_083DFEC4->unk769D = 2;
-}
-
-void sub_80EFDA0(void)
-{
- sub_8095C8C((void *)VRAM + 0xF800, 14, 16, gUnknown_08E9AC2C, 0, 0, 15, 1, 15);
- gUnknown_083DFEC4->unk769E = 0;
-}
-
-void sub_80EFDE4(u8 param0)
-{
- u16 var1 = 60 - gUnknown_083DFEC4->unk769C;
-
- if (var1 > 15)
- var1 = 15;
-
- if (gUnknown_083DFEC4->unk769E != 0)
- {
- sub_8095C8C((void *)VRAM + 0xF800, 14, 16, gUnknown_08E9ABB4, gUnknown_083DFEC4->unk769C, 0, var1, 1, 60);
-
- if (var1 < 15)
- {
- u16 var2 = var1 + 14;
-
- sub_8095C8C((void *)VRAM + 0xF800, var2, 16, gUnknown_08E9ABB4, 0, 0, (u16)(15 - var1), 1, 60);
- }
- }
-}
-
-void sub_80EFE7C(void)
-{
- u16 var1;
- u8 var2 = gUnknown_083DFEC4->unk769D;
-
- switch (var2)
- {
- case 0:
- var1 = ++gUnknown_083DFEC4->unk769C;
-
- if (var1 > 59)
- gUnknown_083DFEC4->unk769C = var2;
-
- sub_80EFDE4(gUnknown_083DFEC4->unk769E);
-
- switch (gUnknown_083DFEC4->unk769C)
- {
- case 0:
- case 15:
- case 30:
- case 45:
- gUnknown_083DFEC4->unk769D = 1;
- gUnknown_083DFEC4->unk769A = 0;
- break;
- }
- break;
- case 1:
- var1 = ++gUnknown_083DFEC4->unk769A;
- if (var1 > 120)
- {
- gUnknown_083DFEC4->unk769A = 0;
- gUnknown_083DFEC4->unk769D = 0;
- }
- break;
- case 2:
- sub_80EFDE4(1);
- gUnknown_083DFEC4->unk769D = 1;
- break;
- }
-}
-
-void sub_80EFF34(void)
-{
- gUnknown_083DFEC4->unkD160 = 0;
-
- if (gUnknown_083DFEC4->unk6DAC == 0)
- {
- while (sub_80EFF68())
- ;
- }
-}
-
-bool8 sub_80EFF68(void)
-{
- switch (gUnknown_083DFEC4->unkD160)
- {
- case 0:
- sub_80EEDE8();
- gUnknown_083DFEC4->unkD162 = 11;
- break;
- case 1:
- Text_LoadWindowTemplate(&gWindowTemplate_81E7080);
- break;
- case 2:
- MultistepInitMenuWindowBegin(&gWindowTemplate_81E7080);
- break;
- case 3:
- if (!MultistepInitMenuWindowContinue())
- return TRUE;
- break;
- case 4:
- Menu_EraseScreen();
- break;
- case 5:
- sub_80F1614();
- break;
- case 6:
- if (sub_80F162C(0))
- return TRUE;
- break;
- case 7:
- LZ77UnCompVram(gPokenavConditionView_Gfx, (void *)VRAM + 0x5000);
- break;
- case 8:
- LZ77UnCompVram(gUnknown_08E9AC4C, (void *)VRAM + 0xF000);
- LoadPalette(gPokenavConditionMenu2_Pal, 0x20, 0x20);
- break;
- case 9:
- if (gUnknown_083DFEC4->unk76AA == 1)
- sub_8095C8C((void *)VRAM + 0xF000, 0, 5, gUnknown_083E01AC, 0, 0, 9, 4, 9);
- break;
- case 10:
- LZ77UnCompVram(gUnknown_08E9FEB4, (void *)VRAM + 0xB800);
- break;
- case 11:
- LoadPalette(gUnknown_083E0254, 0x30, 0x20);
- LoadPalette(gUnknownPalette_81E6692, 0xB0, 0x20);
- LoadPalette(&gPokenavConditionMenu2_Pal[2], 0xB1, 0x2);
- LoadPalette(&gPokenavConditionMenu2_Pal[16], 0xB5, 0x2);
- LoadPalette(&gPokenavConditionMenu2_Pal[30], 0xBF, 0x2);
- sub_80F01A4();
- break;
- case 12:
- sub_80F01E0(gUnknown_083DFEC4->unk8fe9);
- break;
- case 13:
- REG_BG3CNT = 0x1E03;
- REG_BG2CNT = 0x1702;
- REG_BLDCNT = 0x844;
- REG_BLDALPHA = 0x40B;
- break;
- default:
- return FALSE;
- }
-
- gUnknown_083DFEC4->unkD160++;
- return TRUE;
-}
-
-void sub_80F0174(bool8 bg2on)
-{
- if (bg2on)
- REG_DISPCNT |= DISPCNT_BG2_ON;
- else
- REG_DISPCNT &= ~DISPCNT_BG2_ON;
-}
-
-void sub_80F01A4(void)
-{
- REG_WIN0H = WIN_RANGE(0, 240);
- REG_WIN1H = WIN_RANGE(0, 155);
- REG_WIN0V = WIN_RANGE(56, 121);
- REG_WIN1V = WIN_RANGE(56, 121);
- REG_WININ = 0x3F3F;
- REG_WINOUT = 0x001B;
-}
-
-static void sub_80F01E0(u16 a)
-{
- Menu_PrintText(gUnknown_083DFEC4->unk8829[a], 13, 1);
-
- if (gUnknown_083DFEC4->unk76AA == 1)
- {
- Menu_PrintText(gUnknown_083DFEC4->unk88E9[a], 13, 3);
- sub_80F443C(gUnknown_083DFEC4->unk8788, gUnknown_083DFEC4->unk893c[gUnknown_083DFEC4->unk87DC].unk2);
- Menu_PrintText(gUnknown_083DFEC4->unk8788, 1, 6);
- }
-}
-
-void sub_80F0264(u8 a)
-{
- gUnknown_083DFEC4->unk306 = 0;
- gUnknown_083DFEC4->unk87CA = a;
-
- if (gUnknown_083DFEC4->unk6DAC == 0)
- {
- while (sub_80F02A0())
- ;
- }
-}
-
-bool8 sub_80F02A0(void)
-{
- const u16 *pointer;
-
- switch (gUnknown_083DFEC4->unk306)
- {
- case 0:
- sub_80EEDE8();
-
- gUnknown_083DFEC4->unk87C8 = gUnknown_083DFEC4->unk87CA == 1;
- gUnknown_083DFEC4->unkD162 = 11;
- break;
- case 1:
- Text_LoadWindowTemplate(&gWindowTemplate_81E70D4);
- break;
- case 2:
- MultistepInitMenuWindowBegin(&gWindowTemplate_81E70D4);
- break;
- case 3:
- if (!MultistepInitMenuWindowContinue())
- {
- return TRUE;
- }
- break;
- case 4:
- Menu_EraseScreen();
- break;
- case 5:
- LZ77UnCompVram(gUnknown_08E9FC64, (void *)VRAM + 0xE800);
- break;
- case 6:
- LZ77UnCompVram(gPokenavConditionSearch2_Gfx, (void *)VRAM + 0x8000);
- break;
- case 7:
- LoadPalette(gUnknown_083E02B4, 0xB0, 0x20);
- LoadPalette(gUnknown_083E02B4, 0xF0, 0x20);
- LoadPalette(gUnknown_083E0334, 0x40, 0x20);
-
- if (gUnknown_083DFEC4->unk87CA == 0)
- {
- LoadPalette(gPokenavConditionSearch2_Pal, 0x30, 0x20);
- gPlttBufferUnfaded[0] = gPokenavConditionSearch2_Pal[5];
- LoadPalette(gUnknownPalette_81E6692, 0xB0, 0x20);
- LoadPalette(&gUnknown_083E02B4[1], 0xB1, 0x2);
- LoadPalette(&gUnknown_083E02B4[8], 0xB5, 0x2);
- LoadPalette(&gPokenavConditionSearch2_Pal[5], 0xBF, 0x2);
- }
- else if (gUnknown_083DFEC4->unk87CA == 1)
- {
- LoadPalette(gUnknown_083E0274, 0x30, 0x20);
- gPlttBufferUnfaded[0] = gUnknown_083E0274[5];
- LoadPalette(gUnknownPalette_81E6692, 0xB0, 0x20);
- LoadPalette(&gUnknown_083E02B4[1], 0xB1, 0x2);
- LoadPalette(&gUnknown_083E02B4[8], 0xB5, 0x2);
- LoadPalette(&gUnknown_083E0274[5], 0xBF, 0x2);
- }
- else
- {
- LoadPalette(gUnknown_08E9F9E8, 0x30, 0x20);
- gPlttBufferUnfaded[0] = *(pointer = &gUnknown_08E9F9E8[5]);
- LoadPalette(gUnknown_083E0314, 0x50, 0x20);
- LoadPalette(&gUnknown_083E02B4[1], 0xB1, 0x2);
- LoadPalette(&gUnknown_083E02B4[8], 0xB5, 0x2);
- LoadPalette(pointer, 0xBF, 0x2);
- LoadPalette(pointer, 0x5F, 0x2);
- }
- break;
- case 8:
- if (gUnknown_083DFEC4->unk87CA != 2)
- {
- sub_8095C8C((void *)VRAM + 0xE800, 0, 5, gUnknown_08E9FD1C, 0, 0, 9, 4, 9);
- }
- else
- {
- sub_8095C8C((void *)VRAM + 0xE800, 0, 4, gUnknown_08E9FE54, 0, 0, 12, 10, 12);
- sub_8095C8C((void *)VRAM + 0xE800, 0, 8, gUnknown_08E9FD64, 0, 0, 12, 10, 12);
- }
- break;
- case 9:
- LZ77UnCompVram(gUnknown_083E0354, (void *)VRAM + 0x5000);
- break;
- case 10:
- DmaClear16(3, (void *)VRAM + 0xF800, 0x800);
- break;
- case 11:
- sub_80F0900();
- break;
- case 12:
- if (sub_80F0944())
- {
- return TRUE;
- }
- break;
- case 13:
- if (gUnknown_083DFEC4->unk87CA != 2)
- {
- ShowMapNamePopUpWindow();
- }
- else
- {
- sub_80F081C(0);
- sub_80F0FFC((u8)gUnknown_083DFEC4->unk876E);
- }
- break;
- case 14:
- REG_BG2CNT = 0x1D0A;
- REG_BG3CNT = 0x1E03;
- REG_BG0CNT = 0x1F01;
- REG_BG3VOFS = 0xF8;
-
- gUnknown_083DFEC4->unk8776 = 0xF8;
- gUnknown_083DFEC4->unk8778 = 0;
-
- REG_BLDCNT = 0;
- gUnknown_083DFEC4->unkD160++;
- return FALSE;
- default:
- return FALSE;
- }
-
- gUnknown_083DFEC4->unk306++;
- return TRUE;
-}
-
-void sub_80F063C(s16 arg0)
-{
- s16 var0;
- s16 var1;
- s16 var2;
-
- gUnknown_083DFEC4->unk877C = arg0 * 16;
- gUnknown_083DFEC4->unk877A = (arg0 == 1 || arg0 == -1) ? 4 : 8;
- if (arg0 < 0)
- {
- gUnknown_083DFEC4->unk877A *= -1;
- var0 = arg0 * 2 + gUnknown_083DFEC4->unk8778;
- var1 = arg0 + gUnknown_083DFEC4->unk8770;
- if (var1 < 0)
- var1 += gUnknown_083DFEC4->unk8774 + 1;
-
- arg0 *= -1;
- }
- else
- {
- var0 = gUnknown_083DFEC4->unk8778 + 16;
- var1 = gUnknown_083DFEC4->unk8772 + 1;
- }
-
- if (var1 > gUnknown_083DFEC4->unk8774)
- var1 = 0;
-
- var2 = var0 & 0x1F;
- sub_80F0954(var1, var2, arg0);
-}
-
-static bool8 sub_80F0718(void)
-{
- if (!sub_80F098C())
- {
- if (gUnknown_083DFEC4->unk877C == 0)
- return FALSE;
-
- gUnknown_083DFEC4->unk877C -= gUnknown_083DFEC4->unk877A;
- gUnknown_083DFEC4->unk8776 += gUnknown_083DFEC4->unk877A;
- gUnknown_083DFEC4->unk8776 &= 0xFF;
- REG_BG3VOFS = gUnknown_083DFEC4->unk8776;
- if (gUnknown_083DFEC4->unk877C == 0)
- {
- gUnknown_083DFEC4->unk8778 = ((8 + gUnknown_083DFEC4->unk8776) & 0xFF) / 8;
- return FALSE;
- }
- }
-
- return TRUE;
-}
-
-static void ShowMapNamePopUpWindow(void)
-{
- switch (gUnknown_083DFEC4->unk87CA)
- {
- case 0:
- sub_80F443C(gUnknown_083DFEC4->unk8788, gUnknown_083DFEC4->unk893c[gUnknown_083DFEC4->unk876E].unk2);
- break;
- case 1:
- sub_80F445C(gUnknown_083DFEC4->unk8788, gUnknown_083DFEC4->unk876E + 1);
- break;
- default:
- return;
- }
-
- BasicInitMenuWindow(&gWindowTemplate_81E710C);
- Menu_PrintText(gUnknown_083DFEC4->unk8788, 1, 6);
-}
-
-void sub_80F081C(u8 arg0)
-{
- u32 numTrainerBattles;
-
- BasicInitMenuWindow(&gWindowTemplate_81E710C);
- switch (arg0)
- {
- case 0:
- case 1:
- MenuPrint_RightAligned(gOtherText_NumberRegistered, 10, 9);
- if (arg0 != 0)
- break;
- // fall through
- case 2:
- ConvertIntToDecimalStringN(
- gUnknown_083DFEC4->unk8788,
- gUnknown_083DFEC4->unk8774 + 1,
- STR_CONV_MODE_RIGHT_ALIGN,
- 5);
- MenuPrint_RightAligned(gUnknown_083DFEC4->unk8788, 10, 11);
- if (arg0 != 0)
- break;
- // fall through
- case 3:
- MenuPrint_RightAligned(gOtherText_NumberBattles, 10, 13);
- if (arg0 != 0)
- break;
- // fall through
- case 4:
- numTrainerBattles = GetGameStat(GAME_STAT_TRAINER_BATTLES);
- if (numTrainerBattles > 99999)
- numTrainerBattles = 99999;
-
- ConvertIntToDecimalStringN(
- gUnknown_083DFEC4->unk8788,
- numTrainerBattles,
- STR_CONV_MODE_RIGHT_ALIGN,
- 5);
- MenuPrint_RightAligned(gUnknown_083DFEC4->unk8788, 10, 15);
- break;
- }
-}
-
-static void sub_80F08E4(void)
-{
- BasicInitMenuWindow(&gWindowTemplate_81E710C);
- Menu_EraseWindowRect(0, 9, 11, 16);
-}
-
-void sub_80F0900(void)
-{
- s16 var0 = (gUnknown_083DFEC4->unk8772 - gUnknown_083DFEC4->unk8770) + 1;
- if (var0 < 8)
- Menu_EraseWindowRect(12, 1, 31, 15);
-
- sub_80F0954(gUnknown_083DFEC4->unk8770, 0, var0);
-}
-
-bool8 sub_80F0944(void)
-{
- return sub_80F098C();
-}
-
-static void sub_80F0954(u16 arg0, u16 arg1, u16 arg2)
-{
- gUnknown_083DFEC4->unk877E = arg0;
- gUnknown_083DFEC4->unk8780 = arg1;
- gUnknown_083DFEC4->unk8784 = arg2;
- gUnknown_083DFEC4->unk8786 = 0;
-}
-
-#ifdef NONMATCHING
-static bool8 sub_80F098C(void)
-{
- register u16 zero asm("r8");
- if (!gUnknown_083DFEC4->unk8784)
- {
- DONE:
- return FALSE;
- }
-
- zero = 0;
- gUnknown_083E3270[gUnknown_083DFEC4->unk87CA](gUnknown_083DFEC4->unk877E, gUnknown_083DFEC4->unk8780);
- if (!--gUnknown_083DFEC4->unk8784)
- goto DONE;
-
- if ((++gUnknown_083DFEC4->unk877E & 0xFFFF) > gUnknown_083DFEC4->unk8774)
- gUnknown_083DFEC4->unk877E = zero;
-
- gUnknown_083DFEC4->unk8780 += 2;
- gUnknown_083DFEC4->unk8780 &= 0x1F;
- return TRUE;
-}
-#else
-NAKED
-static bool8 sub_80F098C(void)
-{
- asm(".syntax unified\n\
- push {r4-r7,lr}\n\
- mov r7, r8\n\
- push {r7}\n\
- ldr r0, _080F09A4 @ =gUnknown_083DFEC4\n\
- ldr r6, [r0]\n\
- ldr r0, _080F09A8 @ =0x00008784\n\
- adds r7, r6, r0\n\
- ldrh r0, [r7]\n\
- cmp r0, 0\n\
- bne _080F09AC\n\
-_080F09A0:\n\
- movs r0, 0\n\
- b _080F0A02\n\
- .align 2, 0\n\
-_080F09A4: .4byte gUnknown_083DFEC4\n\
-_080F09A8: .4byte 0x00008784\n\
-_080F09AC:\n\
- movs r1, 0\n\
- mov r8, r1\n\
- ldr r1, _080F0A0C @ =gUnknown_083E3270\n\
- ldr r2, _080F0A10 @ =0x000087ca\n\
- adds r0, r6, r2\n\
- ldrb r2, [r0]\n\
- lsls r2, 2\n\
- adds r2, r1\n\
- ldr r0, _080F0A14 @ =0x0000877e\n\
- adds r4, r6, r0\n\
- ldrh r0, [r4]\n\
- ldr r1, _080F0A18 @ =0x00008780\n\
- adds r5, r6, r1\n\
- ldrh r1, [r5]\n\
- ldr r2, [r2]\n\
- bl _call_via_r2\n\
- ldrh r0, [r7]\n\
- subs r0, 0x1\n\
- strh r0, [r7]\n\
- ldr r2, _080F0A1C @ =0x0000ffff\n\
- adds r1, r2, 0\n\
- lsls r0, 16\n\
- cmp r0, 0\n\
- beq _080F09A0\n\
- ldrh r0, [r4]\n\
- adds r0, 0x1\n\
- strh r0, [r4]\n\
- ands r0, r1\n\
- ldr r2, _080F0A20 @ =0x00008774\n\
- adds r1, r6, r2\n\
- movs r2, 0\n\
- ldrsh r1, [r1, r2]\n\
- cmp r0, r1\n\
- ble _080F09F6\n\
- mov r0, r8\n\
- strh r0, [r4]\n\
-_080F09F6:\n\
- ldrh r0, [r5]\n\
- adds r0, 0x2\n\
- movs r1, 0x1F\n\
- ands r0, r1\n\
- strh r0, [r5]\n\
- movs r0, 0x1\n\
-_080F0A02:\n\
- pop {r3}\n\
- mov r8, r3\n\
- pop {r4-r7}\n\
- pop {r1}\n\
- bx r1\n\
- .align 2, 0\n\
-_080F0A0C: .4byte gUnknown_083E3270\n\
-_080F0A10: .4byte 0x000087ca\n\
-_080F0A14: .4byte 0x0000877e\n\
-_080F0A18: .4byte 0x00008780\n\
-_080F0A1C: .4byte 0x0000ffff\n\
-_080F0A20: .4byte 0x00008774\n\
- .syntax divided\n");
-}
-#endif // NONMATCHING
-
-void sub_80F0A24(u16 arg0, u16 arg1)
-{
- u8 var0 = gUnknown_083DFEC4->unk87C8 == 0 ? 2 : 1;
- sub_80F4428(gUnknown_083DFEC4->unk8788, arg0, var0);
- BasicInitMenuWindow(&gWindowTemplate_81E70D4);
- Menu_PrintText(gUnknown_083DFEC4->unk8788, 13, arg1);
-}
-
-static void sub_80F0A74(u16 arg0, u16 arg1)
-{
- sub_80F700C(gUnknown_083DFEC4->unk8788, arg0);
- arg1 &= 0x1F;
- BasicInitMenuWindow(&gWindowTemplate_81E70D4);
- Menu_PrintTextPixelCoords(gUnknown_083DFEC4->unk8788, 97, arg1 * 8, 0);
- if (arg0 < gUnknown_083DFEC4->unkD158 && gUnknown_083DFEC4->unkCEE8[arg0].unk5)
- sub_8095C8C((void *)VRAM + 0xF000, 29, arg1, gUnknown_083E039C, 0, 0, 1, 2, 1);
- else
- sub_8095C8C((void *)VRAM + 0xF000, 29, arg1, gUnknown_083E03A0, 0, 0, 1, 2, 1);
-}
-
-static void sub_80F0B24(void)
-{
- gUnknown_083DFEC4->unkD15C = 0;
- gUnknown_083DFEC4->unk306 = 0;
-}
-
-static bool8 sub_80F0B44(void)
-{
- int top;
- if (gUnknown_083DFEC4->unkD15C > 8)
- {
- return FALSE;
- }
-
- if (++gUnknown_083DFEC4->unk306 > 1)
- {
- gUnknown_083DFEC4->unk306 = 0;
- if (gUnknown_083DFEC4->unkD15C < 8)
- {
- top = (gUnknown_083DFEC4->unk8778 + (gUnknown_083DFEC4->unkD15C * 2)) & 0x1F;
- if (gUnknown_083DFEC4->unkD15C != gUnknown_083DFEC4->unk876C)
- {
- BasicInitMenuWindow(&gWindowTemplate_81E70D4);
- Menu_EraseWindowRect(12, top, 31, top + 1);
- }
-
- if (!gUnknown_083DFEC4->unkD15C)
- sub_80F08E4();
-
- gUnknown_083DFEC4->unkD15C++;
- return TRUE;
- }
- else
- {
- u16 i;
- BasicInitMenuWindow(&gWindowTemplate_81E70D4);
- top = (gUnknown_083DFEC4->unk8778 + 16) & 0x1F;
- for (i = 0; i < 8; i++)
- {
- Menu_EraseWindowRect(12, top, 31, top + 1);
- top = (top + 2) & 0x1F;
- }
-
- gUnknown_083DFEC4->unkD15C++;
- return FALSE;
- }
- }
- else
- {
- return TRUE;
- }
-}
-
-static void sub_80F0C28(void)
-{
- gUnknown_083DFEC4->unkD15C = 0;
- gUnknown_083DFEC4->unk306 = 0;
-}
-
-static bool8 sub_80F0C48(void)
-{
- if (gUnknown_083DFEC4->unkD15C > 7)
- return FALSE;
-
- if (++gUnknown_083DFEC4->unk306 > 1)
- {
- gUnknown_083DFEC4->unk306 = 0;
- BasicInitMenuWindow(&gWindowTemplate_81E70D4);
- sub_80F0A74(gUnknown_083DFEC4->unk8770 + gUnknown_083DFEC4->unkD15C,
- gUnknown_083DFEC4->unk8778 + gUnknown_083DFEC4->unkD15C * 2);
-
- if ((++gUnknown_083DFEC4->unkD15C) > 7)
- {
- sub_80F081C(0);
- return FALSE;
- }
- }
-
- return TRUE;
-}
-
-void LoadTrainerEyesDescriptionLines(void)
-{
- u16 i;
- int trainerEyesId;
- const u8 *curChar;
-
- gUnknown_083DFEC4->unk306 = 0;
- gUnknown_083DFEC4->unkD15C = 0;
- trainerEyesId = gUnknown_083DFEC4->unkCEE8[gUnknown_083DFEC4->unk876E].unk4;
- gUnknown_083DFEC4->trainerEyeDescriptionLines[0] = gTrainerEyeDescriptions[trainerEyesId];
-
- // Find the start of the 3 other lines in the Trainer's Eyes description.
- curChar = gUnknown_083DFEC4->trainerEyeDescriptionLines[0];
- for (i = 0; i < 3; i++)
- {
- while (*curChar != EOS)
- curChar++;
- gUnknown_083DFEC4->trainerEyeDescriptionLines[i + 1] = ++curChar;
- }
-}
-
-#ifdef NONMATCHING
-// small register mismatch (r2/r3) on the line where var0 is set.
-bool8 sub_80F0D5C(void)
-{
- int var0;
- if (gUnknown_083DFEC4->unkD15C == 7)
- return FALSE;
-
- if (++gUnknown_083DFEC4->unk306 > 1)
- {
- gUnknown_083DFEC4->unk306 = 0;
- BasicInitMenuWindow(&gWindowTemplate_81E70D4);
- var0 = (gUnknown_083DFEC4->unk8778 + 2 + gUnknown_083DFEC4->unkD15C * 2) & 0x1F;
- switch (gUnknown_083DFEC4->unkD15C)
- {
- case 0:
- Menu_PrintTextPixelCoords(gOtherText_Strategy, 97, var0 * 8, 0);
- break;
- case 1:
- AlignStringInMenuWindow(
- gUnknown_083DFEC4->unk8788,
- gUnknown_083DFEC4->trainerEyeDescriptionLines[0],
- 136,
- 0);
- Menu_PrintTextPixelCoords(gUnknown_083DFEC4->unk8788, 97, var0 * 8, 0);
- break;
- case 2:
- Menu_PrintTextPixelCoords(gOtherText_TrainersPokemon, 97, var0 * 8, 0);
- break;
- case 3:
- AlignStringInMenuWindow(
- gUnknown_083DFEC4->unk8788,
- gUnknown_083DFEC4->trainerEyeDescriptionLines[1],
- 136,
- 0);
- Menu_PrintTextPixelCoords(gUnknown_083DFEC4->unk8788, 97, var0 * 8, 0);
- break;
- case 4:
- Menu_PrintTextPixelCoords(gOtherText_SelfIntroduction, 97, var0 * 8, 0);
- break;
- case 5:
- AlignStringInMenuWindow(
- gUnknown_083DFEC4->unk8788,
- gUnknown_083DFEC4->trainerEyeDescriptionLines[2],
- 136,
- 0);
- Menu_PrintTextPixelCoords(gUnknown_083DFEC4->unk8788, 97, var0 * 8, 0);
- break;
- case 6:
- AlignStringInMenuWindow(
- gUnknown_083DFEC4->unk8788,
- gUnknown_083DFEC4->trainerEyeDescriptionLines[3],
- 136,
- 0);
- Menu_PrintTextPixelCoords(gUnknown_083DFEC4->unk8788, 97, var0 * 8, 0);
- default:
- return FALSE;
- }
-
- gUnknown_083DFEC4->unkD15C++;
- return TRUE;
- }
- else
- {
- return TRUE;
- }
-}
-#else
-NAKED
-bool8 sub_80F0D5C(void)
-{
- asm(".syntax unified\n\
- push {r4,r5,lr}\n\
- ldr r0, _080F0D70 @ =gUnknown_083DFEC4\n\
- ldr r4, [r0]\n\
- ldr r0, _080F0D74 @ =0x0000d15c\n\
- adds r5, r4, r0\n\
- ldrh r0, [r5]\n\
- cmp r0, 0x7\n\
- bne _080F0D78\n\
-_080F0D6C:\n\
- movs r0, 0\n\
- b _080F0EB0\n\
- .align 2, 0\n\
-_080F0D70: .4byte gUnknown_083DFEC4\n\
-_080F0D74: .4byte 0x0000d15c\n\
-_080F0D78:\n\
- ldr r0, _080F0DB8 @ =0x00000306\n\
- adds r1, r4, r0\n\
- ldrh r0, [r1]\n\
- adds r0, 0x1\n\
- strh r0, [r1]\n\
- lsls r0, 16\n\
- lsrs r0, 16\n\
- cmp r0, 0x1\n\
- bhi _080F0D8C\n\
- b _080F0EAE\n\
-_080F0D8C:\n\
- movs r0, 0\n\
- strh r0, [r1]\n\
- ldr r0, _080F0DBC @ =gWindowTemplate_81E70D4\n\
- bl BasicInitMenuWindow\n\
- ldr r0, _080F0DC0 @ =0x00008778\n\
- adds r1, r4, r0\n\
- ldrh r3, [r5]\n\
- lsls r0, r3, 1\n\
- adds r0, 0x2\n\
- ldrh r1, [r1]\n\
- adds r5, r0, r1\n\
- movs r0, 0x1F\n\
- ands r5, r0\n\
- cmp r3, 0x6\n\
- bhi _080F0D6C\n\
- lsls r0, r3, 2\n\
- ldr r1, _080F0DC4 @ =_080F0DC8\n\
- adds r0, r1\n\
- ldr r0, [r0]\n\
- mov pc, r0\n\
- .align 2, 0\n\
-_080F0DB8: .4byte 0x00000306\n\
-_080F0DBC: .4byte gWindowTemplate_81E70D4\n\
-_080F0DC0: .4byte 0x00008778\n\
-_080F0DC4: .4byte _080F0DC8\n\
- .align 2, 0\n\
-_080F0DC8:\n\
- .4byte _080F0DE4\n\
- .4byte _080F0DF0\n\
- .4byte _080F0E08\n\
- .4byte _080F0E14\n\
- .4byte _080F0E2C\n\
- .4byte _080F0E38\n\
- .4byte _080F0E6C\n\
-_080F0DE4:\n\
- ldr r0, _080F0DEC @ =gOtherText_Strategy\n\
- lsls r2, r5, 3\n\
- b _080F0E54\n\
- .align 2, 0\n\
-_080F0DEC: .4byte gOtherText_Strategy\n\
-_080F0DF0:\n\
- ldr r0, _080F0DFC @ =gUnknown_083DFEC4\n\
- ldr r0, [r0]\n\
- ldr r1, _080F0E00 @ =0x00008788\n\
- adds r4, r0, r1\n\
- ldr r1, _080F0E04 @ =0x0000d110\n\
- b _080F0E42\n\
- .align 2, 0\n\
-_080F0DFC: .4byte gUnknown_083DFEC4\n\
-_080F0E00: .4byte 0x00008788\n\
-_080F0E04: .4byte 0x0000d110\n\
-_080F0E08:\n\
- ldr r0, _080F0E10 @ =gOtherText_TrainersPokemon\n\
- lsls r2, r5, 3\n\
- b _080F0E54\n\
- .align 2, 0\n\
-_080F0E10: .4byte gOtherText_TrainersPokemon\n\
-_080F0E14:\n\
- ldr r0, _080F0E20 @ =gUnknown_083DFEC4\n\
- ldr r0, [r0]\n\
- ldr r1, _080F0E24 @ =0x00008788\n\
- adds r4, r0, r1\n\
- ldr r1, _080F0E28 @ =0x0000d114\n\
- b _080F0E42\n\
- .align 2, 0\n\
-_080F0E20: .4byte gUnknown_083DFEC4\n\
-_080F0E24: .4byte 0x00008788\n\
-_080F0E28: .4byte 0x0000d114\n\
-_080F0E2C:\n\
- ldr r0, _080F0E34 @ =gOtherText_SelfIntroduction\n\
- lsls r2, r5, 3\n\
- b _080F0E54\n\
- .align 2, 0\n\
-_080F0E34: .4byte gOtherText_SelfIntroduction\n\
-_080F0E38:\n\
- ldr r0, _080F0E60 @ =gUnknown_083DFEC4\n\
- ldr r0, [r0]\n\
- ldr r1, _080F0E64 @ =0x00008788\n\
- adds r4, r0, r1\n\
- ldr r1, _080F0E68 @ =0x0000d118\n\
-_080F0E42:\n\
- adds r0, r1\n\
- ldr r1, [r0]\n\
- adds r0, r4, 0\n\
- movs r2, 0x88\n\
- movs r3, 0\n\
- bl AlignStringInMenuWindow\n\
- lsls r2, r5, 3\n\
- adds r0, r4, 0\n\
-_080F0E54:\n\
- movs r1, 0x61\n\
- movs r3, 0\n\
- bl Menu_PrintTextPixelCoords\n\
- b _080F0EA0\n\
- .align 2, 0\n\
-_080F0E60: .4byte gUnknown_083DFEC4\n\
-_080F0E64: .4byte 0x00008788\n\
-_080F0E68: .4byte 0x0000d118\n\
-_080F0E6C:\n\
- ldr r0, _080F0E94 @ =gUnknown_083DFEC4\n\
- ldr r0, [r0]\n\
- ldr r1, _080F0E98 @ =0x00008788\n\
- adds r4, r0, r1\n\
- ldr r1, _080F0E9C @ =0x0000d11c\n\
- adds r0, r1\n\
- ldr r1, [r0]\n\
- adds r0, r4, 0\n\
- movs r2, 0x88\n\
- movs r3, 0\n\
- bl AlignStringInMenuWindow\n\
- lsls r2, r5, 3\n\
- adds r0, r4, 0\n\
- movs r1, 0x61\n\
- movs r3, 0\n\
- bl Menu_PrintTextPixelCoords\n\
- b _080F0D6C\n\
- .align 2, 0\n\
-_080F0E94: .4byte gUnknown_083DFEC4\n\
-_080F0E98: .4byte 0x00008788\n\
-_080F0E9C: .4byte 0x0000d11c\n\
-_080F0EA0:\n\
- ldr r0, _080F0EB8 @ =gUnknown_083DFEC4\n\
- ldr r1, [r0]\n\
- ldr r0, _080F0EBC @ =0x0000d15c\n\
- adds r1, r0\n\
- ldrh r0, [r1]\n\
- adds r0, 0x1\n\
- strh r0, [r1]\n\
-_080F0EAE:\n\
- movs r0, 0x1\n\
-_080F0EB0:\n\
- pop {r4,r5}\n\
- pop {r1}\n\
- bx r1\n\
- .align 2, 0\n\
-_080F0EB8: .4byte gUnknown_083DFEC4\n\
-_080F0EBC: .4byte 0x0000d15c\n\
- .syntax divided\n");
-}
-#endif
-
-static void sub_80F0EC0(void)
-{
- gUnknown_083DFEC4->unk306 = 0;
- gUnknown_083DFEC4->unkD15C = 0;
- StringFill(gUnknown_083DFEC4->unk8788, CHAR_SPACE, 16);
-}
-
-static bool8 sub_80F0EF4(void)
-{
- int top;
- if (gUnknown_083DFEC4->unkD15C > 6)
- return FALSE;
-
- if (++gUnknown_083DFEC4->unk306 > 1)
- {
- gUnknown_083DFEC4->unk306 = 0;
- top = (gUnknown_083DFEC4->unk8778 + 2 + gUnknown_083DFEC4->unkD15C * 2) & 0x1F;
- BasicInitMenuWindow(&gWindowTemplate_81E70D4);
- Menu_EraseWindowRect(12, top, 31, top + 1);
- gUnknown_083DFEC4->unkD15C++;
- }
-
- return TRUE;
-}
-
-static void sub_80F0F64(void)
-{
- s16 var0 = gUnknown_083DFEC4->unk876C;
- gUnknown_083DFEC4->unk877C = var0 * 16;
- gUnknown_083DFEC4->unk877A = var0 == 1 ? 4 : 8;
-}
-
-static void sub_80F0FA0(void)
-{
- s16 var0 = gUnknown_083DFEC4->unk876C * -1;
- gUnknown_083DFEC4->unk877C = var0 * 16;
- gUnknown_083DFEC4->unk877A = var0 == -1 ? -4 : -8;
-}
-
-static bool8 sub_80F0FEC(void)
-{
- return sub_80F0718();
-}
-
-void sub_80F0FFC(u8 arg0)
-{
- GetMapSectionName(gUnknown_083DFEC4->unk8788, gUnknown_083DFEC4->unkCEE8[arg0].unk2, 0);
- BasicInitMenuWindow(&gWindowTemplate_81E710C);
- sub_80F19DC(gUnknown_083DFEC4->unk8788);
- AlignStringInMenuWindow(gUnknown_083DFEC4->unkD138, gUnknown_083DFEC4->unk8788, 88, 2);
- Menu_PrintText(gUnknown_083DFEC4->unkD138, 0, 5);
-}
-
-void sub_80F105C(void)
-{
- sub_80F0A74(gUnknown_083DFEC4->unk876E, gUnknown_083DFEC4->unk8778);
-}
-
-static bool8 sub_80F1080(void)
-{
- switch (gUnknown_083DFEC4->unkD160)
- {
- case 0:
- sub_80EEDE8();
- gUnknown_083DFEC4->unkD162 = 11;
- break;
- case 1:
- Text_LoadWindowTemplate(&gWindowTemplate_81E70B8);
- break;
- case 2:
- MultistepInitMenuWindowBegin(&gWindowTemplate_81E70B8);
- break;
- case 3:
- if (!MultistepInitMenuWindowContinue())
- return TRUE;
- break;
- case 4:
- Menu_EraseScreen();
- break;
- case 5:
- sub_80F1614();
- break;
- case 6:
- if (sub_80F162C(1))
- return TRUE;
- break;
- case 7:
- LZ77UnCompWram(gUnknown_08E9FBA0, gUnknown_083DFEC4->unk934C);
- break;
- case 8:
- DrawMonRibbonIcons();
- break;
- case 9:
- sub_80F13FC();
- break;
- case 10:
- LZ77UnCompVram(gPokenavRibbonView_Gfx, (void *)(VRAM + 0x8000));
- break;
- case 11:
- LZ77UnCompVram(gUnknown_083E040C, (void *)(VRAM + 0x8200));
- break;
- case 12:
- LoadPalette(gPokenavRibbonView_Pal, 0x20, 0x20);
- LoadPalette(gUnknown_083E03A8, 0xF0, 0x20);
- LoadPalette(gUnknown_083E3C60[0], 0x30, 0xA0);
- LoadPalette(gUnknownPalette_81E6692, 0xB0, 0x20);
- LoadPalette(gUnknown_083E03A8 + 0xF, 0xBF, 0x2);
- break;
- case 13:
- sub_80F1438();
- break;
- case 14:
- REG_BG2CNT = 0x1E02;
- REG_BG3CNT = 0x170B;
- REG_BLDCNT = 0;
- gUnknown_083DFEC4->unkD160++;
- return FALSE;
- default:
- return FALSE;
- }
-
- gUnknown_083DFEC4->unkD160++;
- return TRUE;
-}
-
-void DrawMonRibbonIcons(void)
-{
- u16 i;
- u16 offset;
- u8 index, palette, tile;
- u8 var0;
-
- offset = 0x8B;
- var0 = gUnknown_083DFEC4->unkBC8E - gUnknown_083DFEC4->unkBC8F;
-
- for (i = 0; i < 8; i++)
- CpuFill16(0x2000, &gUnknown_083DFEC4->unk934C[offset + i * 32], 0x24);
-
- for (i = 0; i < var0; i++)
- {
- index = gUnknown_083DFEC4->unkBC4C[i];
- palette = gPokenavRibbonsIconGfx[index][1] + 3;
- tile = gPokenavRibbonsIconGfx[index][0] * 2 + 0x10;
- gUnknown_083DFEC4->unk934C[offset] = (palette << 12) | tile;
- gUnknown_083DFEC4->unk934C[offset + 1] = ((palette << 12) | 0x400) | tile;
- gUnknown_083DFEC4->unk934C[offset + 0x20] = (palette << 12) | (tile + 1);
- gUnknown_083DFEC4->unk934C[offset + 0x21] = (palette << 12) | 0x400 | (tile + 1);
-
- if ((i + 1) % 9 == 0)
- offset += 0x30;
- else
- offset += 2;
- }
-
- offset = 0x14B;
- for (i = 0; i < gUnknown_083DFEC4->unkBC8F; i++)
- {
- index = gUnknown_083DFEC4->unkBC4C[var0 + i];
- palette = gPokenavRibbonsIconGfx[index][1] + 3;
- tile = gPokenavRibbonsIconGfx[index][0] * 2 + 0x10;
- gUnknown_083DFEC4->unk934C[offset] = (palette << 12) | tile;
- gUnknown_083DFEC4->unk934C[offset + 1] = ((palette << 12) | 0x400) | tile;
- gUnknown_083DFEC4->unk934C[offset + 0x20] = (palette << 12) | (tile + 1);
- gUnknown_083DFEC4->unk934C[offset + 0x21] = (palette << 12) | 0x400 | (tile + 1);
-
- offset += 2;
- }
-}
-
-void sub_80F13FC(void)
-{
- u16 *src = gUnknown_083DFEC4->unk934C;
- u16 *dest = (u16 *)(VRAM + 0xB800);
- DmaCopy32(3, src, dest, 0x500);
- gPlttBufferUnfaded[0] = *(gPokenavRibbonView_Pal + 14);
-}
-
-void sub_80F1438(void)
-{
- Menu_PrintText(gUnknown_083DFEC4->unk8829[0], 13, 1);
- sub_80F445C(gUnknown_083DFEC4->unk8788, gUnknown_083DFEC4->unk876E + 1);
- Menu_PrintText(gUnknown_083DFEC4->unk8788, 1, 5);
-}
-
-void sub_80F1480(void)
-{
- Menu_EraseWindowRect(12, 13, 27, 16);
-}
-
-// This is a fakematching function, due to a hardcoded access of gSaveBlock1.
-// Due to this hardcoded address access, gift ribbons do not properly display
-// their descriptions, since the hardcoded access is inside of the LinkBattleRecords
-// save data, rather than the giftRibbons array, which is almost certainly what the
-// intended access is.
-static void sub_80F1494(void)
-{
- u8 *arr;
- u8 *tileBuffer1 = &gUnknown_083DFEC8[0x800];
- u8 *tileBuffer2 = &gUnknown_083DFEC8[0xA98];
-
- if (gUnknown_083DFEC4->unkBC91 < 3)
- {
- gUnknown_020388B4 = gUnknown_083DFEC4->unkBC91 * 9 + gUnknown_083DFEC4->unkBC90;
- gUnknown_020388B4 = gUnknown_083DFEC4->unkBC4C[gUnknown_020388B4];
- AlignStringInMenuWindow(tileBuffer1, gRibbonDescriptions[gUnknown_020388B4][0], 128, 0);
- AlignStringInMenuWindow(tileBuffer2, gRibbonDescriptions[gUnknown_020388B4][1], 128, 0);
- }
- else
- {
- gUnknown_020388B4 = gUnknown_083DFEC4->unkBC8E - gUnknown_083DFEC4->unkBC8F;
- gUnknown_020388B4 = gUnknown_083DFEC4->unkBC4C[gUnknown_020388B4 + gUnknown_083DFEC4->unkBC90];
-
- // FIXME!
- arr = ((u8*)&gSaveBlock1);
- asm("ldrh r1, [r5]\n\
- add r0, r0, r1");
- gUnknown_020388B4 = arr[0x30F7];
- // The bug fix for this code is the following:
- // gUnknown_020388B4 = gSaveBlock1.externalReservedData.giftRibbons[gUnknown_020388B4];
- if (gUnknown_020388B4)
- {
- gUnknown_020388B4--;
- AlignStringInMenuWindow(tileBuffer1, gGiftRibbonDescriptions[gUnknown_020388B4][0], 128, 0);
- AlignStringInMenuWindow(tileBuffer2, gGiftRibbonDescriptions[gUnknown_020388B4][1], 128, 0);
- }
- else
- {
- AlignStringInMenuWindow(tileBuffer1, gEmptyString_81E72B0, 128, 0);
- AlignStringInMenuWindow(tileBuffer2, gEmptyString_81E72B0, 128, 0);
- }
- }
-
- Menu_PrintText(tileBuffer1, 12, 13);
- Menu_PrintText(tileBuffer2, 12, 15);
-}
-
-static void sub_80F15A8(void)
-{
- u8 *buffer;
- Menu_EraseWindowRect(12, 13, 27, 16);
- buffer = StringCopy(gUnknown_083DFEC4->unk8788, gOtherText_Ribbons);
- buffer[0] = CHAR_SPACE;
- buffer++;
- buffer = ConvertIntToDecimalStringN(
- buffer,
- gUnknown_083DFEC4->unk893c[gUnknown_083DFEC4->unk87DC].unk0,
- STR_CONV_MODE_LEFT_ALIGN,
- 2);
- buffer[0] = EOS;
- Menu_PrintText(gUnknown_083DFEC4->unk8788, 12, 13);
-}
-
-void sub_80F1614(void)
-{
- gUnknown_083DFEC4->unk8764 = 0;
-}
-
-bool8 sub_80F162C(u8 arg0)
-{
- switch (gUnknown_083DFEC4->unk8764)
- {
- case 0:
- break;
- case 1:
- LZ77UnCompVram(gUnknown_08E9FF58, (void *)(VRAM + 0xE800));
- break;
- case 2:
- DmaCopy16Defvars(3, gPokenavRibbonPokeView_Gfx, (void *)(VRAM + 0xE000), 0xE0);
- break;
- case 3:
- if (!arg0)
- LoadPalette(gUnknown_083E0124, 0xD0, 0x20);
- else
- LoadPalette(gUnknown_083E0144, 0xD0, 0x20);
-
- gUnknown_083DFEC4->unk8766 = -80;
- REG_BG0CNT = 0x1D0D;
- gUnknown_083DFEC4->unk8764++;
- return FALSE;
- default:
- return FALSE;
- }
-
- gUnknown_083DFEC4->unk8764++;
- return TRUE;
-}
-
-bool8 sub_80F170C(void)
-{
- gUnknown_083DFEC4->unk8766 += 0x10;
- if (gUnknown_083DFEC4->unk8766 > 0)
- gUnknown_083DFEC4->unk8766 = 0;
-
- return gUnknown_083DFEC4->unk8766 != 0;
-}
-
-bool8 sub_80F173C(void)
-{
- gUnknown_083DFEC4->unk8766 -= 0x10;
- if (gUnknown_083DFEC4->unk8766 < -0x50)
- gUnknown_083DFEC4->unk8766 = -0x50;
-
- return gUnknown_083DFEC4->unk8766 != -0x50;
-}
-
-bool8 sub_80F1778(void)
-{
- switch (gUnknown_083DFEC4->unkD160)
- {
- case 0:
- sub_80EEDE8();
- gUnknown_083DFEC4->unkD162 = 2;
- break;
- case 1:
- sub_80F1614();
- break;
- case 2:
- if (sub_80F162C(0))
- return TRUE;
- break;
- case 3:
- LZ77UnCompVram(gPokenavConditionView_Gfx, (void *)(VRAM + 0x5000));
- break;
- case 4:
- LZ77UnCompVram(gUnknown_08E9AC4C, (void *)(VRAM + 0xF000));
- LoadPalette(gPokenavConditionMenu2_Pal, 0x20, 0x20);
- break;
- case 5:
- sub_8095C8C((void *)VRAM + 0xF000, 0, 13, gUnknown_083E01F4, 0, 0, 12, 4, 12);
- break;
- case 6:
- LZ77UnCompVram(gUnknown_08E9FEB4, (void *)(VRAM + 0xB800));
- break;
- case 7:
- LoadPalette(gUnknown_083E0254, 0x30, 0x20);
- LoadPalette(gUnknownPalette_81E6692, 0xB0, 0x20);
- LoadPalette(&gPokenavConditionMenu2_Pal[2], 0xB1, 0x2);
- LoadPalette(&gPokenavConditionMenu2_Pal[16], 0xB5, 0x2);
- LoadPalette(&gPokenavConditionMenu2_Pal[30], 0xBF, 0x2);
- sub_80F01A4();
- break;
- case 8:
- sub_80F01E0(gUnknown_083DFEC4->unk8fe9);
- break;
- case 9:
- REG_BG3CNT = 0x1E03;
- REG_BG2CNT = 0x1702;
- REG_BLDCNT = 0x844;
- REG_BLDALPHA = 0x40B;
- break;
- default:
- return FALSE;
- }
-
- gUnknown_083DFEC4->unkD160++;
- return TRUE;
-}
-
-void sub_80F1934(void)
-{
- u8 *buffer = gUnknown_083DFEC4->unk8788;
- if (gUnknown_083DFEC4->unk893c[gUnknown_083DFEC4->unk87DC].unk4)
- {
- u8 nature = GetNature(&gPlayerParty[sub_8137124(gUnknown_083DFEC4->unk87DC)]);
- buffer = StringCopy(buffer, gOtherText_Nature2);
- AlignStringInMenuWindow(buffer, gNatureNames[nature], 87, 0);
- }
- else
- {
- AlignStringInMenuWindow(buffer, gEmptyString_81E72B0, 87, 0);
- }
-
- Menu_PrintTextPixelCoords(gUnknown_083DFEC4->unk8788, 1, 112, 1);
-}
-
-static void sub_80F19DC(u8 *text)
-{
- while (text[0] != EOS)
- {
- if (text[0] == EXT_CTRL_CODE_BEGIN && text[1] == CHAR_SPACE)
- {
- text[0] = EOS;
- break;
- }
-
- text++;
- }
-}
-
-static void sub_80F19FC(void)
-{
- // FIXME r4/r5 swapped
- register u8 *ptr asm("r5") = gUnknown_020388B0;
- if (ptr[0] == 1)
- {
- const u8 *landmarkName = GetLandmarkName(
- gUnknown_083DFEC4->regionMap.mapSectionId,
- gUnknown_083DFEC4->regionMap.everGrandeCityArea,
- ptr[1]);
-
- if (landmarkName)
- {
- sub_8072A18(landmarkName, 0x70, 4 * (ptr[1] * 4 + 12), 0x78, 1);
- if (++ptr[1] != 4)
- return;
- }
-
- Menu_BlankWindowRect(14, ptr[1] * 2 + 6, 28, 15);
- ptr[0] = 0;
- }
-}
-
-static void sub_80F1A74(void)
-{
- gUnknown_020388B0[0] = 0;
-}
-
-static void sub_80F1A80(void)
-{
- gUnknown_020388B0[0] = 1;
- gUnknown_020388B0[1] = 0;
-}
-
-static void sub_80F1A90(void)
-{
- gUnknown_083DFEC4->unk306 = 0;
- if (gUnknown_083DFEC4->unk6DAC == 0)
- while (sub_80F1AC4());
-}
-
-static bool8 sub_80F1AC4(void)
-{
- u16 i, j;
-
- switch (gUnknown_083DFEC4->unk306)
- {
- case 0:
- for (i = 0; i < 6; i++)
- {
- for (j = 0; j < 4; j++)
- gUnknown_083DFEC4->unk320[i][j] = NULL;
- }
-
- gUnknown_083DFEC4->unk311 = 0;
- break;
- case 1:
- LZ77UnCompWram(gPokenavMenuOptions_Gfx, gUnknown_083DFEC4->unk388);
- break;
- case 2:
- LZ77UnCompWram(gPokenavConditionMenu_Gfx, gUnknown_083DFEC4->unk1788);
- break;
- case 3:
- LZ77UnCompWram(gPokenavConditionSearch_Gfx, gUnknown_083DFEC4->unk2388);
- return FALSE;
- }
-
- gUnknown_083DFEC4->unk306++;
- return TRUE;
-}
-
-static void sub_80F1B8C(u8 arg0)
-{
- gUnknown_083DFEC4->unk306 = 0;
- if (gUnknown_083DFEC4->unk6DAC == 0)
- while (sub_80F1BC8(arg0));
-}
-
-#ifdef NONMATCHING
-// very close, but for some reason, (i + 1) is being stored in sp[0x10]
-static bool8 sub_80F1BC8(u8 arg0)
-{
- u16 i, j;
- u16 animNum;
- u16 topOffset;
- u16 height;
- u16 middle;
- u8 spriteId;
-
- switch (gUnknown_083DFEC4->unk306)
- {
- case 0:
- sub_80F2458(arg0);
- break;
- case 1:
- sub_80F2514(arg0);
- break;
- case 2:
- switch (arg0)
- {
- case 0:
- topOffset = 42;
- height = 20;
- gUnknown_083DFEC4->unk30E = 5;
- break;
- case 1:
- topOffset = 56;
- height = 20;
- gUnknown_083DFEC4->unk30E = 3;
- break;
- case 2:
- topOffset = 40;
- height = 16;
- gUnknown_083DFEC4->unk30E = 6;
- break;
- default:
- return FALSE;
- }
-
- animNum = 0;
- for (i = 0; i < gUnknown_083DFEC4->unk30E; i++)
- {
- middle = (height * i) + topOffset - 8;
- gUnknown_083DFEC4->unk314[i] = (middle << 8) | (middle + 0x11);
- if (!arg0)
- {
- if (gUnknown_083DFEC4->unk6DB2[i] == 0)
- {
- for (j = 0; j < 4; j++)
- gUnknown_083DFEC4->unk320[i][j] = NULL;
- continue;
- }
- else
- {
- animNum = (gUnknown_083DFEC4->unk6DB2[i] - 1) * 4;
- }
- }
-
- for (j = 0; j < 4; j++)
- {
- spriteId = CreateSprite(&gSpriteTemplate_83E4454, j * 32 + 256, (height * i) + topOffset, 0);
- if (spriteId != MAX_SPRITES)
- {
- gUnknown_083DFEC4->unk320[i][j] = &gSprites[spriteId];
- gUnknown_083DFEC4->unk320[i][j]->data[0] = i;
- gUnknown_083DFEC4->unk320[i][j]->data[1] = j;
- gUnknown_083DFEC4->unk320[i][j]->data[2] = j * 32 + 152;
- gUnknown_083DFEC4->unk320[i][j]->data[3] = j * 32 + 256;
- StartSpriteAnim(gUnknown_083DFEC4->unk320[i][j], animNum++);
-
- if ((arg0 == 2 || arg0 == 0) && i > 2)
- gUnknown_083DFEC4->unk320[i][j]->oam.paletteNum = IndexOfSpritePaletteTag(0x1);
- }
- }
- }
- break;
- default:
- return FALSE;
- }
-
- gUnknown_083DFEC4->unk306++;
- return TRUE;
-}
-#else
-NAKED
-static bool8 sub_80F1BC8(u8 arg0)
-{
- asm(".syntax unified\n\
- push {r4-r7,lr}\n\
- mov r7, r10\n\
- mov r6, r9\n\
- mov r5, r8\n\
- push {r5-r7}\n\
- sub sp, 0xC\n\
- lsls r0, 24\n\
- lsrs r0, 24\n\
- mov r9, r0\n\
- ldr r1, _080F1BF4 @ =gUnknown_083DFEC4\n\
- ldr r2, [r1]\n\
- ldr r3, _080F1BF8 @ =0x00000306\n\
- adds r0, r2, r3\n\
- ldrh r0, [r0]\n\
- adds r3, r1, 0\n\
- cmp r0, 0x1\n\
- beq _080F1C0A\n\
- cmp r0, 0x1\n\
- bgt _080F1BFC\n\
- cmp r0, 0\n\
- beq _080F1C02\n\
- b _080F1DC4\n\
- .align 2, 0\n\
-_080F1BF4: .4byte gUnknown_083DFEC4\n\
-_080F1BF8: .4byte 0x00000306\n\
-_080F1BFC:\n\
- cmp r0, 0x2\n\
- beq _080F1C12\n\
- b _080F1DC4\n\
-_080F1C02:\n\
- mov r0, r9\n\
- bl sub_80F2458\n\
- b _080F1DC8\n\
-_080F1C0A:\n\
- mov r0, r9\n\
- bl sub_80F2514\n\
- b _080F1DC8\n\
-_080F1C12:\n\
- mov r4, r9\n\
- cmp r4, 0x1\n\
- beq _080F1C40\n\
- cmp r4, 0x1\n\
- bgt _080F1C22\n\
- cmp r4, 0\n\
- beq _080F1C2A\n\
- b _080F1DC4\n\
-_080F1C22:\n\
- mov r5, r9\n\
- cmp r5, 0x2\n\
- beq _080F1C54\n\
- b _080F1DC4\n\
-_080F1C2A:\n\
- movs r0, 0x2A\n\
- str r0, [sp, 0x4]\n\
- movs r1, 0x14\n\
- str r1, [sp, 0x8]\n\
- ldr r4, _080F1C3C @ =0x0000030e\n\
- adds r1, r2, r4\n\
- movs r0, 0x5\n\
- b _080F1C62\n\
- .align 2, 0\n\
-_080F1C3C: .4byte 0x0000030e\n\
-_080F1C40:\n\
- movs r5, 0x38\n\
- str r5, [sp, 0x4]\n\
- movs r0, 0x14\n\
- str r0, [sp, 0x8]\n\
- ldr r4, _080F1C50 @ =0x0000030e\n\
- adds r1, r2, r4\n\
- movs r0, 0x3\n\
- b _080F1C62\n\
- .align 2, 0\n\
-_080F1C50: .4byte 0x0000030e\n\
-_080F1C54:\n\
- movs r5, 0x28\n\
- str r5, [sp, 0x4]\n\
- movs r0, 0x10\n\
- str r0, [sp, 0x8]\n\
- ldr r4, _080F1CDC @ =0x0000030e\n\
- adds r1, r2, r4\n\
- movs r0, 0x6\n\
-_080F1C62:\n\
- strb r0, [r1]\n\
- movs r5, 0\n\
- str r5, [sp]\n\
- mov r8, r5\n\
- adds r1, r3, 0\n\
- ldr r0, [r1]\n\
- ldr r2, _080F1CDC @ =0x0000030e\n\
- adds r0, r2\n\
- ldrb r0, [r0]\n\
- lsls r0, 24\n\
- asrs r0, 24\n\
- cmp r8, r0\n\
- blt _080F1C7E\n\
- b _080F1DC8\n\
-_080F1C7E:\n\
- ldr r4, [sp, 0x8]\n\
- mov r3, r8\n\
- muls r3, r4\n\
- ldr r5, [sp, 0x4]\n\
- adds r0, r5, r3\n\
- subs r0, 0x8\n\
- lsls r0, 16\n\
- lsrs r0, 16\n\
- ldr r4, [r1]\n\
- mov r2, r8\n\
- lsls r1, r2, 1\n\
- movs r5, 0xC5\n\
- lsls r5, 2\n\
- adds r2, r4, r5\n\
- adds r2, r1\n\
- lsls r1, r0, 8\n\
- adds r0, 0x11\n\
- orrs r1, r0\n\
- strh r1, [r2]\n\
- mov r0, r9\n\
- cmp r0, 0\n\
- bne _080F1CF2\n\
- ldr r1, _080F1CE0 @ =0x00006db2\n\
- adds r0, r4, r1\n\
- mov r2, r8\n\
- adds r1, r0, r2\n\
- ldrb r0, [r1]\n\
- cmp r0, 0\n\
- bne _080F1CE8\n\
- movs r5, 0\n\
- ldr r0, _080F1CE4 @ =gUnknown_083DFEC4\n\
- ldr r0, [r0]\n\
- lsls r2, 4\n\
- movs r3, 0xC8\n\
- lsls r3, 2\n\
- adds r1, r0, r3\n\
- movs r3, 0\n\
-_080F1CC8:\n\
- lsls r0, r5, 2\n\
- adds r0, r2\n\
- adds r0, r1, r0\n\
- str r3, [r0]\n\
- adds r0, r5, 0x1\n\
- lsls r0, 16\n\
- lsrs r5, r0, 16\n\
- cmp r5, 0x3\n\
- bls _080F1CC8\n\
- b _080F1D92\n\
- .align 2, 0\n\
-_080F1CDC: .4byte 0x0000030e\n\
-_080F1CE0: .4byte 0x00006db2\n\
-_080F1CE4: .4byte gUnknown_083DFEC4\n\
-_080F1CE8:\n\
- ldrb r0, [r1]\n\
- subs r0, 0x1\n\
- lsls r0, 18\n\
- lsrs r0, 16\n\
- str r0, [sp]\n\
-_080F1CF2:\n\
- movs r5, 0\n\
- ldr r4, [sp, 0x4]\n\
- adds r0, r4, r3\n\
- lsls r0, 16\n\
- mov r10, r0\n\
-_080F1CFC:\n\
- lsls r6, r5, 5\n\
- movs r0, 0x80\n\
- lsls r0, 1\n\
- adds r7, r6, r0\n\
- lsls r1, r7, 16\n\
- asrs r1, 16\n\
- ldr r0, _080F1DB4 @ =gSpriteTemplate_83E4454\n\
- mov r3, r10\n\
- asrs r2, r3, 16\n\
- movs r3, 0\n\
- bl CreateSprite\n\
- lsls r0, 24\n\
- lsrs r3, r0, 24\n\
- cmp r3, 0x40\n\
- beq _080F1DC4\n\
- ldr r0, _080F1DB8 @ =gUnknown_083DFEC4\n\
- ldr r2, [r0]\n\
- lsls r1, r5, 2\n\
- mov r4, r8\n\
- lsls r0, r4, 4\n\
- adds r1, r0\n\
- movs r0, 0xC8\n\
- lsls r0, 2\n\
- adds r2, r0\n\
- adds r4, r2, r1\n\
- lsls r0, r3, 4\n\
- adds r0, r3\n\
- lsls r0, 2\n\
- ldr r1, _080F1DBC @ =gSprites\n\
- adds r0, r1\n\
- str r0, [r4]\n\
- mov r1, r8\n\
- strh r1, [r0, 0x2E]\n\
- ldr r0, [r4]\n\
- strh r5, [r0, 0x30]\n\
- ldr r1, [r4]\n\
- adds r0, r6, 0\n\
- adds r0, 0x98\n\
- strh r0, [r1, 0x32]\n\
- ldr r0, [r4]\n\
- strh r7, [r0, 0x34]\n\
- ldr r0, [r4]\n\
- ldr r1, [sp]\n\
- adds r2, r1, 0x1\n\
- lsls r2, 16\n\
- lsrs r2, 16\n\
- str r2, [sp]\n\
- lsls r1, 24\n\
- lsrs r1, 24\n\
- bl StartSpriteAnim\n\
- mov r2, r9\n\
- cmp r2, 0x2\n\
- beq _080F1D6E\n\
- cmp r2, 0\n\
- bne _080F1D88\n\
-_080F1D6E:\n\
- mov r3, r8\n\
- cmp r3, 0x2\n\
- bls _080F1D88\n\
- movs r0, 0x1\n\
- bl IndexOfSpritePaletteTag\n\
- ldr r3, [r4]\n\
- lsls r0, 4\n\
- ldrb r2, [r3, 0x5]\n\
- movs r1, 0xF\n\
- ands r1, r2\n\
- orrs r1, r0\n\
- strb r1, [r3, 0x5]\n\
-_080F1D88:\n\
- adds r0, r5, 0x1\n\
- lsls r0, 16\n\
- lsrs r5, r0, 16\n\
- cmp r5, 0x3\n\
- bls _080F1CFC\n\
-_080F1D92:\n\
- mov r0, r8\n\
- adds r0, 0x1\n\
- lsls r0, 16\n\
- lsrs r0, 16\n\
- mov r8, r0\n\
- ldr r1, _080F1DB8 @ =gUnknown_083DFEC4\n\
- ldr r0, [r1]\n\
- ldr r4, _080F1DC0 @ =0x0000030e\n\
- adds r0, r4\n\
- ldrb r0, [r0]\n\
- lsls r0, 24\n\
- asrs r0, 24\n\
- cmp r8, r0\n\
- bge _080F1DB0\n\
- b _080F1C7E\n\
-_080F1DB0:\n\
- b _080F1DC8\n\
- .align 2, 0\n\
-_080F1DB4: .4byte gSpriteTemplate_83E4454\n\
-_080F1DB8: .4byte gUnknown_083DFEC4\n\
-_080F1DBC: .4byte gSprites\n\
-_080F1DC0: .4byte 0x0000030e\n\
-_080F1DC4:\n\
- movs r0, 0\n\
- b _080F1DD8\n\
-_080F1DC8:\n\
- ldr r0, _080F1DE8 @ =gUnknown_083DFEC4\n\
- ldr r1, [r0]\n\
- ldr r5, _080F1DEC @ =0x00000306\n\
- adds r1, r5\n\
- ldrh r0, [r1]\n\
- adds r0, 0x1\n\
- strh r0, [r1]\n\
- movs r0, 0x1\n\
-_080F1DD8:\n\
- add sp, 0xC\n\
- pop {r3-r5}\n\
- mov r8, r3\n\
- mov r9, r4\n\
- mov r10, r5\n\
- pop {r4-r7}\n\
- pop {r1}\n\
- bx r1\n\
- .align 2, 0\n\
-_080F1DE8: .4byte gUnknown_083DFEC4\n\
-_080F1DEC: .4byte 0x00000306\n\
- .syntax divided\n");
-}
-#endif // NONMATCHING
-
-static void sub_80F1DF0(void)
-{
- u16 i, j;
- for (i = 0; i < gUnknown_083DFEC4->unk30E; i++)
- {
- for (j = 0; j < 4; j++)
- {
- if (gUnknown_083DFEC4->unk320[i][j])
- gUnknown_083DFEC4->unk320[i][j]->callback = sub_80F2218;
- }
- }
-
- PlaySE(SE_WIN_OPEN);
-}
-
-static bool8 sub_80F1E50(void)
-{
- if (sub_80F22F8())
- {
- sub_80F2108();
- return FALSE;
- }
- else
- {
- return TRUE;
- }
-}
-
-static bool8 sub_80F1E6C(void)
-{
- return !sub_80F22F8();
-}
-
-static void sub_80F1E84(void)
-{
- u16 i, j;
-
- gUnknown_083DFEC4->unk30F = 0;
- sub_80F2148();
- for (i = 0; i < gUnknown_083DFEC4->unk30E; i++)
- {
- if (i != gUnknown_083DFEC4->unk6DAD)
- {
- for (j = 0; j < 4; j++)
- {
- if (gUnknown_083DFEC4->unk320[i][j])
- gUnknown_083DFEC4->unk320[i][j]->callback = sub_80F2240;
- }
- }
- }
-}
-
-static bool8 sub_80F1F10(void)
-{
- u16 j;
-
- switch (gUnknown_083DFEC4->unk30F)
- {
- case 0:
- if (sub_80F2360())
- {
- for (j = 0; j < 4; j++)
- {
- struct Sprite *sprite = gUnknown_083DFEC4->unk320[gUnknown_083DFEC4->unk6DAD][j];
- sprite->oam.affineMode = ST_OAM_AFFINE_DOUBLE;
- sprite->affineAnims = gSpriteAffineAnimTable_83E4450;
- InitSpriteAffineAnim(sprite);
- sprite->data[4] = j * 4 - 6;
- sprite->data[4] /= 2;
- sprite->data[5] = sprite->data[4] * 8;
- sprite->callback = sub_80F2240;
- }
-
- sub_80F2170();
- gUnknown_083DFEC4->unk30F++;
- }
- break;
- case 1:
- if (sub_80F23C8())
- {
- sub_80F21F8();
- FreeSpriteTilesByTag(0x0);
- FreeSpritePaletteByTag(0x0);
- FreeSpritePaletteByTag(0x1);
- return FALSE;
- }
- break;
- }
-
- return TRUE;
-}
-
-static void sub_80F1FF0(void)
-{
- if (gUnknown_083DFEC4->unk311 == 1)
- {
- REG_WIN0V = gUnknown_083DFEC4->unk314[gUnknown_083DFEC4->unk6DAD];
- REG_BLDY = gSineTable[gUnknown_083DFEC4->unk312] >> 5;
- gUnknown_083DFEC4->unk312 += 3;
- gUnknown_083DFEC4->unk312 &= 0x7F;
- }
- else if (gUnknown_083DFEC4->unk311 == 2)
- {
- REG_BLDALPHA = gUnknown_083E42F8[gUnknown_083DFEC4->unk312];
- if (gUnknown_083DFEC4->unk312 < 15)
- gUnknown_083DFEC4->unk312++;
- }
-}
-
-static void sub_80F208C(void)
-{
- sub_80F2148();
-}
-
-static void sub_80F2098(void)
-{
- REG_WIN0H = 0x77F0;
- REG_WIN0V = gUnknown_083DFEC4->unk314[gUnknown_083DFEC4->unk6DAD];
- REG_WININ = 0x3F;
- REG_WINOUT = 0x1F;
- REG_DISPCNT |= DISPCNT_WIN0_ON;
-}
-
-static void sub_80F20F4(void)
-{
- REG_DISPCNT &= ~DISPCNT_WIN0_ON;
-}
-
-static void sub_80F2108(void)
-{
- if (!gUnknown_083DFEC4->unk311)
- {
- gUnknown_083DFEC4->unk311 = 1;
- gUnknown_083DFEC4->unk312 = 0;
- REG_BLDCNT = 0x90;
- REG_BLDY = 0;
- sub_80F2098();
- }
-}
-
-static void sub_80F2148(void)
-{
- gUnknown_083DFEC4->unk311 = 0;
- REG_BLDCNT = 0;
- sub_80F20F4();
-}
-
-static void sub_80F2170(void)
-{
- u16 j;
-
- if (!gUnknown_083DFEC4->unk311)
- {
- sub_80F20F4();
- for (j = 0; j < 4; j++)
- {
- struct Sprite *sprite = gUnknown_083DFEC4->unk320[gUnknown_083DFEC4->unk6DAD][j];
- sprite->oam.objMode = ST_OAM_OBJ_BLEND;
- }
-
- gUnknown_083DFEC4->unk311 = 2;
- gUnknown_083DFEC4->unk312 = 0;
- REG_BLDCNT = 0x3F40;
- REG_BLDALPHA = 0x10;
- }
-}
-
-static void sub_80F21F8()
-{
- gUnknown_083DFEC4->unk311 = 0;
- REG_BLDCNT = 0;
-}
-
-static void sub_80F2218(struct Sprite *sprite)
-{
- sprite->pos1.x -= 8;
- if (sprite->pos1.x <= sprite->data[2])
- {
- sprite->pos1.x = sprite->data[2];
- sprite->callback = sub_80F22B0;
- }
-}
-
-static void sub_80F2240(struct Sprite *sprite)
-{
- if (sprite->data[0] == gUnknown_083DFEC4->unk6DAD)
- {
- if (sprite->data[5])
- {
- sprite->pos1.x += sprite->data[4];
- sprite->data[5] -= sprite->data[4];
- }
-
- if (sprite->affineAnimEnded)
- sub_80F240C(sprite);
- }
- else
- {
- sprite->pos1.x += 8;
- if (sprite->pos1.x >= sprite->data[3])
- sub_80F240C(sprite);
- }
-}
-
-static void sub_80F22B0(struct Sprite *sprite)
-{
- if (sprite->data[0] == gUnknown_083DFEC4->unk6DAD)
- {
- if (sprite->pos2.x > -16)
- sprite->pos2.x -= 4;
- }
- else
- {
- if (sprite->pos2.x < 0)
- sprite->pos2.x += 4;
- }
-}
-
-static bool8 sub_80F22F8(void)
-{
- u16 i, j;
-
- for (i = 0; i < gUnknown_083DFEC4->unk6DAE; i++)
- {
- for (j = 0; j < 4; j++)
- {
- struct Sprite *sprite = gUnknown_083DFEC4->unk320[i][j];
- if (!sprite)
- return TRUE;
-
- if (sprite->pos2.x != 0 && sprite->pos2.x != -16)
- return FALSE;
- }
- }
-
- return TRUE;
-}
-
-static bool8 sub_80F2360(void)
-{
- u16 i, j;
-
- for (i = 0; i < gUnknown_083DFEC4->unk30E; i++)
- {
- if (i != gUnknown_083DFEC4->unk6DAD)
- {
- for (j = 0; j < 4; j++)
- {
- struct Sprite *sprite = gUnknown_083DFEC4->unk320[i][j];
- if (sprite)
- return FALSE;
- }
- }
- }
-
- return TRUE;
-}
-
-static bool8 sub_80F23C8(void)
-{
- u16 j;
-
- for (j = 0; j < 4; j++)
- {
- struct Sprite *sprite = gUnknown_083DFEC4->unk320[gUnknown_083DFEC4->unk6DAD][j];
- if (sprite)
- return FALSE;
- }
-
- return TRUE;
-}
-
-static void sub_80F240C(struct Sprite *sprite)
-{
- gUnknown_083DFEC4->unk320[sprite->data[0]][sprite->data[1]] = NULL;
- if (sprite->affineAnimEnded)
- FreeOamMatrix(sprite->oam.matrixNum);
-
- DestroySprite(sprite);
-}
-
-static void sub_80F2458(u8 arg0)
-{
- switch (arg0)
- {
- case 0:
- gUnknown_083DFEC4->unk380.data = gUnknown_083DFEC4->unk388;
- gUnknown_083DFEC4->unk380.size = sizeof(gUnknown_083DFEC4->unk388);
- gUnknown_083DFEC4->unk380.tag = 0x0;
- break;
- case 1:
- gUnknown_083DFEC4->unk380.data = gUnknown_083DFEC4->unk1788;
- gUnknown_083DFEC4->unk380.size = sizeof(gUnknown_083DFEC4->unk1788);
- gUnknown_083DFEC4->unk380.tag = 0x0;
- break;
- case 2:
- gUnknown_083DFEC4->unk380.data = gUnknown_083DFEC4->unk2388;
- gUnknown_083DFEC4->unk380.size = sizeof(gUnknown_083DFEC4->unk2388);
- gUnknown_083DFEC4->unk380.tag = 0x0;
- break;
- default:
- return;
- }
-
- LoadSpriteSheet(&gUnknown_083DFEC4->unk380);
-}
-
-static void sub_80F2514(u8 arg0)
-{
- struct SpritePalette spritePalette;
-
- switch (arg0)
- {
- case 0:
- spritePalette.data = gPokenavMenuOptions1_Pal;
- spritePalette.tag = 0;
- LoadSpritePalette(&spritePalette);
- spritePalette.data = gPokenavMenuOptions2_Pal;
- spritePalette.tag = 0x1;
- break;
- case 1:
- spritePalette.data = gPokenavConditionMenu_Pal;
- spritePalette.tag = 0x0;
- break;
- case 2:
- spritePalette.data = gPokenavCondition6_Pal;
- spritePalette.tag = 0;
- LoadSpritePalette(&spritePalette);
- spritePalette.data = gPokenavCondition7_Pal;
- spritePalette.tag = 0x1;
- break;
- default:
- return;
- }
-
- LoadSpritePalette(&spritePalette);
-}
-
-static void sub_80F2598(void)
-{
- u8 spriteId;
-
- gUnknown_083DFEC4->unk6D9C = NULL;
- if (DoesSomeoneWantRematchIn(gSaveBlock1.location.mapGroup, gSaveBlock1.location.mapNum) == TRUE)
- {
- LoadSpriteSheet(&gSpriteSheet_PokenavBlueLight);
- LoadSpritePalette(&gSpritePalette_PokenavBlueLight);
- spriteId = CreateSprite(&gSpriteTemplate_83E4484, 12, 96, 0);
- if (spriteId != MAX_SPRITES)
- {
- gUnknown_083DFEC4->unk6D9C = &gSprites[spriteId];
- }
- else
- {
- FreeSpriteTilesByTag(0x19);
- FreeSpritePaletteByTag(0x11);
- }
- }
-}
-
-static void sub_80F2620(void)
-{
- if (gUnknown_083DFEC4->unk6D9C)
- {
- DestroySprite(gUnknown_083DFEC4->unk6D9C);
- FreeSpriteTilesByTag(0x19);
- FreeSpritePaletteByTag(0x11);
- gUnknown_083DFEC4->unk6D9C = NULL;
- }
-}
-
-void sub_80F2654(struct Sprite *sprite)
-{
- if (++sprite->data[0] > 6)
- {
- sprite->data[0] = 0;
- sprite->invisible = !sprite->invisible;
- }
-}
-
-void sub_80F2688(void)
-{
- gUnknown_083DFEC4->unk306 = 0;
- if (!gUnknown_083DFEC4->unk6DAC)
- while(sub_80F26BC());
-}
-
-static bool8 sub_80F26BC(void)
-{
- switch (gUnknown_083DFEC4->unk306)
- {
- case 0:
- LZ77UnCompWram(gPokenavMainMenu_Gfx, gUnknown_083DFEC4->unk3B98);
- break;
- case 1:
- LZ77UnCompWram(gPokenavConditionMenuHeader_Gfx, gUnknown_083DFEC4->unk4198);
- break;
- case 2:
- LZ77UnCompWram(gPokenavRibbonsHeader_Gfx, gUnknown_083DFEC4->unk4D98);
- break;
- case 3:
- LZ77UnCompWram(gPokenavHoennMapHeader_Gfx, gUnknown_083DFEC4->unk5398);
- break;
- case 4:
- LZ77UnCompWram(gPokenavConditionMenuOptions_Gfx, gUnknown_083DFEC4->unk5F98);
- break;
- case 5:
- LZ77UnCompWram(gPokenavConditionMenuOptions2_Gfx, gUnknown_083DFEC4->unk6798);
- break;
- case 6:
- LZ77UnCompWram(gPokenavTrainersEyesHeader_Gfx, gUnknown_083DFEC4->unk4798);
- break;
- case 7:
- LoadSpritePalettes(gUnknown_083E449C);
- break;
- default:
- return FALSE;
- }
-
- gUnknown_083DFEC4->unk306++;
- return TRUE;
-}
-
-static void sub_80F27DC(u8 arg0)
-{
- struct SpriteSheet spriteSheet;
-
- switch (arg0)
- {
- case 0:
- spriteSheet.data = gUnknown_083DFEC4->unk3B98;
- spriteSheet.size = sizeof(gUnknown_083DFEC4->unk3B98);
- spriteSheet.tag = 0x1;
- break;
- case 1:
- spriteSheet.data = gUnknown_083DFEC4->unk4198;
- spriteSheet.size = sizeof(gUnknown_083DFEC4->unk4198);
- spriteSheet.tag = 0x1;
- break;
- case 3:
- spriteSheet.data = gUnknown_083DFEC4->unk4798;
- spriteSheet.size = sizeof(gUnknown_083DFEC4->unk4798);
- spriteSheet.tag = 0x1;
- break;
- case 2:
- spriteSheet.data = gUnknown_083DFEC4->unk4D98;
- spriteSheet.size = sizeof(gUnknown_083DFEC4->unk4D98);
- spriteSheet.tag = 0x1;
- break;
- case 4:
- spriteSheet.data = gUnknown_083DFEC4->unk5398;
- spriteSheet.size = sizeof(gUnknown_083DFEC4->unk5398);
- spriteSheet.tag = 0x1;
- break;
- case 5:
- spriteSheet.data = gUnknown_083DFEC4->unk5F98;
- spriteSheet.size = sizeof(gUnknown_083DFEC4->unk5F98);
- spriteSheet.tag = 0x2;
- break;
- case 6:
- spriteSheet.data = gUnknown_083DFEC4->unk6198;
- spriteSheet.size = sizeof(gUnknown_083DFEC4->unk6198);
- spriteSheet.tag = 0x2;
- break;
- case 8:
- spriteSheet.data = gUnknown_083DFEC4->unk6398;
- spriteSheet.size = sizeof(gUnknown_083DFEC4->unk6398);
- spriteSheet.tag = 0x2;
- break;
- case 9:
- spriteSheet.data = gUnknown_083DFEC4->unk6598;
- spriteSheet.size = sizeof(gUnknown_083DFEC4->unk6598);
- spriteSheet.tag = 0x2;
- break;
- case 11:
- spriteSheet.data = gUnknown_083DFEC4->unk6998;
- spriteSheet.size = sizeof(gUnknown_083DFEC4->unk6998);
- spriteSheet.tag = 0x2;
- break;
- case 10:
- spriteSheet.data = gUnknown_083DFEC4->unk6798;
- spriteSheet.size = sizeof(gUnknown_083DFEC4->unk6798);
- spriteSheet.tag = 0x2;
- break;
- case 7:
- spriteSheet.data = gUnknown_083DFEC4->unk6B98;
- spriteSheet.size = sizeof(gUnknown_083DFEC4->unk6B98);
- spriteSheet.tag = 0x2;
- break;
- default:
- return;
- }
-
- LoadSpriteSheet(&spriteSheet);
-}
-
-void sub_80F29B8(u8 arg0)
-{
- u16 i;
- s16 deltaX, endX, initialX;
- u16 y;
- s16 width;
- struct Sprite **sprites;
- const struct SpriteTemplate *spriteTemplate;
- u8 spriteId;
-
- spriteTemplate = NULL;
- switch (arg0)
- {
- case 0:
- case 1:
- case 2:
- case 3:
- initialX = -96;
- y = 49 - gUnknown_083DFEC4->unk030C;
- deltaX = 8;
- endX = 32;
- width = 64;
- sprites = gUnknown_083DFEC4->unk3B88;
- spriteTemplate = arg0 != 3 ? &gSpriteTemplate_83E44E0 : &gSpriteTemplate_83E44F8;
- break;
- case 4:
- initialX = 272;
- y = 49 - gUnknown_083DFEC4->unk030C;
- deltaX = -8;
- endX = 152;
- width = 64;
- spriteTemplate = &gSpriteTemplate_83E44E0;
- sprites = gUnknown_083DFEC4->unk3B88;
- break;
- case 5:
- case 6:
- case 8:
- case 9:
- spriteTemplate = &gSpriteTemplate_83E4530;
- // fall through
- case 7:
- case 10:
- case 11:
- if (spriteTemplate == NULL)
- spriteTemplate = &gSpriteTemplate_83E4548;
-
- initialX = -96;
- y = 68 - gUnknown_083DFEC4->unk030C;
- deltaX = 8;
- endX = 16;
- width = 32;
- sprites = gUnknown_083DFEC4->unk3B90;
- break;
- default:
- return;
- }
-
- for (i = 0; i < 2; i++)
- {
- spriteId = CreateSprite(spriteTemplate, i * width + initialX, y, 0);
- if (spriteId != MAX_SPRITES)
- {
- gSprites[spriteId].data[0] = deltaX;
- gSprites[spriteId].data[1] = endX + i * width;
- gSprites[spriteId].data[2] = i;
- gSprites[spriteId].data[3] = arg0;
- if (arg0 == 4 && i == 1)
- {
- int anim = !gUnknown_083DFEC4->regionMap.zoomed ? 1 : 2;
- StartSpriteAnim(&gSprites[spriteId], anim);
- }
- else
- {
- StartSpriteAnim(&gSprites[spriteId], i);
- }
-
- if (arg0 < 4 && i == 1)
- {
- gSprites[spriteId].oam.shape = ST_OAM_SQUARE;
- gSprites[spriteId].oam.size = 2;
- }
-
- sprites[i] = &gSprites[spriteId];
- }
- }
-}
-
-#define sEndX sprite->data[1]
-void sub_80F2BBC(struct Sprite *sprite)
-{
- s16 x = sprite->pos1.x;
- sprite->pos1.x += sprite->data[0];
- if ((x <= sEndX && sprite->pos1.x >= sEndX) || (x >= sEndX && sprite->pos1.x <= sEndX))
- {
- sprite->pos1.x = sEndX;
- if (sprite->data[3] == 4 && sprite->data[2] == 1)
- sprite->callback = sub_80F2C58;
- else
- sprite->callback = SpriteCallbackDummy;
- }
-}
-#undef sEndX
-
-static void sub_80F2C14(struct Sprite *sprite)
-{
- u16 right;
-
- sprite->pos1.x -= sprite->data[0];
- right = sprite->pos1.x + 32;
- if (right > 304)
- {
- if (sprite->data[2] == 1)
- {
- if (sprite->data[3] < 5)
- FreeSpriteTilesByTag(0x1);
- else
- FreeSpriteTilesByTag(0x2);
- }
-
- DestroySprite(sprite);
- }
-}
-
-static void sub_80F2C58(struct Sprite *sprite)
-{
- int anim = !gUnknown_083DFEC4->regionMap.zoomed ? 1 : 2;
- StartSpriteAnim(sprite, anim);
-}
-
-void sub_80F2C80(u8 arg0)
-{
- gUnknown_083DFEC4->unk306 = 0;
- if (!gUnknown_083DFEC4->unk6DAC)
- while (sub_80F2CBC(arg0));
-}
-
-bool8 sub_80F2CBC(u8 arg0)
-{
- switch (gUnknown_083DFEC4->unk306)
- {
- case 0:
- sub_80F27DC(arg0);
- gUnknown_083DFEC4->unk306++;
- return TRUE;
- case 1:
- sub_80F29B8(arg0);
- gUnknown_083DFEC4->unk306++;
- return FALSE;
- default:
- return FALSE;
- }
-}
-
-static void sub_80F2D04(u8 arg0)
-{
- u16 i;
-
- if (arg0 < 5)
- {
- for (i = 0; i < 2; i++)
- gUnknown_083DFEC4->unk3B88[i]->callback = sub_80F2C14;
- }
- else
- {
- for (i = 0; i < 2; i++)
- gUnknown_083DFEC4->unk3B90[i]->callback = sub_80F2C14;
- }
-}
-
-static void sub_80F2D6C(u8 arg0)
-{
- u16 i;
-
- if (arg0 < 5)
- {
- FreeSpriteTilesByTag(0x1);
- for (i = 0; i < 2; i++)
- DestroySprite(gUnknown_083DFEC4->unk3B88[i]);
- }
- else
- {
- FreeSpriteTilesByTag(0x2);
- for (i = 0; i < 2; i++)
- DestroySprite(gUnknown_083DFEC4->unk3B90[i]);
- }
-}
-
-static void sub_80F2DD8(void)
-{
- CreateRegionMapCursor(7, 7);
- CreateRegionMapPlayerIcon(8, 8);
- sub_80FBF94();
-}
-
-static void sub_80F2DF4(void)
-{
- FreeRegionMapIconResources();
-}
-
-void sub_80F2E00(struct Sprite *sprite)
-{
- sprite->pos1.x = gUnknown_083DFEC4->unk8766 + 38;
-}
-
-static void sub_80F2E18(u8 arg0)
-{
- u8 spriteId;
- struct SpriteTemplate spriteTemplate;
- struct SpritePalette spritePalette;
- struct SpriteSheet spriteSheet;
-
- if (!gUnknown_083DFEC4->unk8768)
- {
- spriteSheet = gUnknown_083E4568;
- spriteTemplate = gSpriteTemplate_83E4570;
- spritePalette = gUnknown_083E4588;
-
- spriteSheet.data = gUnknown_083DFEC4->unkD1E4[arg0];
- spritePalette.data = gUnknown_083DFEC4->unk0[arg0];
- gUnknown_083DFEC4->unkD1DC = LoadSpritePalette(&spritePalette);
- gUnknown_083DFEC4->unkD1DE = LoadSpriteSheet(&spriteSheet);
-
- spriteId = CreateSprite(&spriteTemplate, 38, 104, 0);
- if (spriteId == MAX_SPRITES)
- {
- FreeSpriteTilesByTag(0x6);
- FreeSpritePaletteByTag(0x6);
- gUnknown_083DFEC4->unk8768 = NULL;
- }
- else
- {
- gUnknown_083DFEC4->unk8768 = &gSprites[spriteId];
- gUnknown_083DFEC4->unkD1E0 = (void *)(VRAM + 0x10000) + gUnknown_083DFEC4->unkD1DE * 32;
- gUnknown_083DFEC4->unkD1DC = gUnknown_083DFEC4->unkD1DC * 16 + 0x100;
- }
- }
- else
- {
- DmaCopy16Defvars(3, gUnknown_083DFEC4->unkD1E4[arg0], gUnknown_083DFEC4->unkD1E0, 0x800);
- LoadPalette(gUnknown_083DFEC4->unk0[arg0], gUnknown_083DFEC4->unkD1DC, 0x20);
- }
-}
-
-void sub_80F2F48(void)
-{
- if (gUnknown_083DFEC4->unk8768)
- {
- DestroySprite(gUnknown_083DFEC4->unk8768);
- FreeSpriteTilesByTag(0x6);
- FreeSpritePaletteByTag(0x6);
- gUnknown_083DFEC4->unk8768 = NULL;
- }
-}
-
-void sub_80F2F7C(u8 arg0)
-{
- sub_80F2E18(arg0);
- gUnknown_083DFEC4->unkCED0 = gUnknown_083DFEC4->unk8768;
- gUnknown_083DFEC4->unkCED0->callback = sub_80F2FEC;
-}
-
-static void sub_80F2FB0(void)
-{
- if (gUnknown_083DFEC4->unkCED0)
- {
- DestroySprite(gUnknown_083DFEC4->unkCED0);
- FreeSpriteTilesByTag(0x6);
- FreeSpritePaletteByTag(0x6);
- gUnknown_083DFEC4->unkCED0 = NULL;
- gUnknown_083DFEC4->unk8768 = NULL;
- }
-}
-
-static void sub_80F2FEC(struct Sprite *sprite)
-{
- sprite->pos1.x = gUnknown_083DFEC4->unkD15A + 40;
- sprite->pos1.y = 104;
-}
-
-static void sub_80F3008(u8 arg0)
-{
- u16 i;
- u8 spriteId;
- struct SpritePalette spritePalette;
- struct SpriteSheet spriteSheets[3];
-
- memcpy(spriteSheets, gUnknown_083E4590, sizeof(gUnknown_083E4590));
- spritePalette = gUnknown_083E45A8;
- switch (arg0)
- {
- case 1:
- case 2:
- spritePalette.data = gUnknown_08E9F988;
- break;
- }
-
- LoadSpriteSheets(spriteSheets);
- LoadSpritePalette(&spritePalette);
- spriteId = CreateSprite(&gSpriteTemplate_83E45B8, 95, 0, 0);
- if (spriteId == MAX_SPRITES)
- {
- gUnknown_083DFEC4->unk87CC = NULL;
- }
- else
- {
- gUnknown_083DFEC4->unk87CC = &gSprites[spriteId];
- for (i = 0; i < 2; i++)
- {
- spriteId = CreateSprite(&gSpriteTemplate_83E45F0, 168, i * 128 + 8, 0);
- if (spriteId != MAX_SPRITES)
- {
- gUnknown_083DFEC4->unk87D0[i] = &gSprites[spriteId];
- gSprites[spriteId].invisible = 1;
- gSprites[spriteId].data[0] = 0;
- gSprites[spriteId].data[1] = 0;
- gSprites[spriteId].data[2] = i == 0 ? -1 : 1;
- gSprites[spriteId].data[3] = i;
- gSprites[spriteId].data[4] = 1;
- StartSpriteAnim(&gSprites[spriteId], i);
- }
- else
- {
- gUnknown_083DFEC4->unk87D0[i] = NULL;
- }
- }
- }
-}
-
-static void sub_80F3130(void)
-{
- u16 i;
-
- if (gUnknown_083DFEC4->unk87CC)
- {
- DestroySprite(gUnknown_083DFEC4->unk87CC);
- FreeSpriteTilesByTag(0x9);
- FreeSpritePaletteByTag(0x9);
- gUnknown_083DFEC4->unk87CC = NULL;
- }
-
- for (i = 0; i < 2; i++)
- {
- if (gUnknown_083DFEC4->unk87D0[i])
- {
- DestroySprite(gUnknown_083DFEC4->unk87D0[i]);
- gUnknown_083DFEC4->unk87D0[i] = NULL;
- }
- }
-
- FreeSpriteTilesByTag(0xA);
-}
-
-void sub_80F3190(struct Sprite *sprite)
-{
- sprite->pos1.y = gUnknown_083DFEC4->unk876C * 16 + 16;
-}
-
-void sub_80F31AC(struct Sprite *sprite)
-{
- if (gUnknown_083DFEC4->unk87C9)
- {
- if (sprite->data[4])
- {
- if (!sprite->data[3])
- sprite->invisible = gUnknown_083DFEC4->unk8770 == 0;
- else
- sprite->invisible = gUnknown_083DFEC4->unk8772 == gUnknown_083DFEC4->unk8774;
-
- sprite->data[4] = 0;
- }
-
- if (++sprite->data[0] > 4)
- {
- sprite->data[0] = 0;
- if (++sprite->data[1] < 5)
- {
- sprite->pos2.y += sprite->data[2];
- }
- else
- {
- sprite->data[1] = 0;
- sprite->pos2.y = 0;
- }
- }
- }
-}
-
-static void sub_80F3264(void)
-{
- u16 i;
-
- for (i = 0; i < 2; i++)
- {
- if (gUnknown_083DFEC4->unk87D0[i])
- gUnknown_083DFEC4->unk87D0[i]->data[4] = 1;
- }
-}
-
-static void sub_80F3294(u8 arg0)
-{
- gUnknown_083DFEC4->unk87CC->invisible = arg0;
- if (gUnknown_083DFEC4->unk87C9)
- {
- if (arg0 == 1)
- {
- gUnknown_083DFEC4->unk87D0[0]->invisible = arg0;
- gUnknown_083DFEC4->unk87D0[1]->invisible = arg0;
- }
- else
- {
- gUnknown_083DFEC4->unk87D0[0]->data[4] = 1;
- gUnknown_083DFEC4->unk87D0[1]->data[4] = 1;
- }
- }
-}
-
-void sub_80F3328(struct Sprite *sprite)
-{
- if (sprite->data[0] == gUnknown_083DFEC4->unk87DC)
- StartSpriteAnim(sprite, 0);
- else
- StartSpriteAnim(sprite, 1);
-}
-
-static void sub_80F3360(struct Sprite *sprite)
-{
- if (gUnknown_083DFEC4->unk87DC == gUnknown_083DFEC4->unk87DA - 1)
- sprite->oam.paletteNum = IndexOfSpritePaletteTag(0x4);
- else
- sprite->oam.paletteNum = IndexOfSpritePaletteTag(0x5);
-}
-
-void sub_80F33A8(void)
-{
- u16 i;
- u8 spriteId;
- struct SpriteSheet spriteSheets[4];
- struct SpritePalette spritePalettes[3];
- struct SpriteTemplate spriteTemplate;
-
- memcpy(spriteSheets, gUnknown_083E4628, sizeof(gUnknown_083E4628));
- memcpy(spritePalettes, gUnknown_083E4648, sizeof(gUnknown_083E4648));
- spriteTemplate = gSpriteTemplate_83E4660;
- LoadSpriteSheets(spriteSheets);
- LoadSpritePalettes(spritePalettes);
-
- for (i = 0; i < gUnknown_083DFEC4->unk87DA - 1; i++)
- {
- spriteId = CreateSprite(&spriteTemplate, 226, i * 20 + 8, 0);
- if (spriteId != MAX_SPRITES)
- {
- gUnknown_083DFEC4->unk87E4[i] = &gSprites[spriteId];
- gUnknown_083DFEC4->unk87E4[i]->data[0] = i;
- }
- else
- {
- gUnknown_083DFEC4->unk87E4[i] = NULL;
- }
- }
-
- spriteTemplate.tileTag = 0x4;
- spriteTemplate.callback = SpriteCallbackDummy;
- for (; i < 6; i++)
- {
- spriteId = CreateSprite(&spriteTemplate, 230, i * 20 + 8, 0);
- if (spriteId != MAX_SPRITES)
- {
- gUnknown_083DFEC4->unk87E4[i] = &gSprites[spriteId];
- gUnknown_083DFEC4->unk87E4[i]->oam.size = 0;
- }
- else
- {
- gUnknown_083DFEC4->unk87E4[i] = NULL;
- }
- }
-
- spriteTemplate.tileTag = 0x5;
- spriteTemplate.callback = sub_80F3360;
- spriteId = CreateSprite(&spriteTemplate, 222, i * 20 + 8, 0);
- if (spriteId != MAX_SPRITES)
- {
- gUnknown_083DFEC4->unk87E4[i] = &gSprites[spriteId];
- gUnknown_083DFEC4->unk87E4[i]->oam.shape = ST_OAM_H_RECTANGLE;
- gUnknown_083DFEC4->unk87E4[i]->oam.size = 2;
- }
- else
- {
- gUnknown_083DFEC4->unk87E4[i] = NULL;
- }
-}
-
-void sub_80F357C(void)
-{
- u16 i;
-
- for (i = 0; i < 7; i++)
- {
- if (gUnknown_083DFEC4->unk87E4[i])
- {
- DestroySprite(gUnknown_083DFEC4->unk87E4[i]);
- gUnknown_083DFEC4->unk87E4[i] = NULL;
- }
- }
-}
-
-static void sub_80F35B4(void)
-{
- struct Sprite *sprite;
-
- gUnknown_083DFEC4->unk76B0.baseTileTag = 0x1C;
- gUnknown_083DFEC4->unk76B0.basePaletteTag = 0x13;
- sub_80F727C(&gUnknown_083DFEC4->unk76B0);
- sub_80F7404();
- sprite = sub_80F7920(27, 21, gUnknown_083E4678);
- sprite->oam.priority = 3;
- sprite->pos1.x = 192;
- sprite->pos1.y = 32;
- sprite->callback = sub_80F363C;
- gUnknown_083DFEC4->unk76AC = sprite;
-}
-
-void sub_80F3614(void)
-{
- DestroySprite(gUnknown_083DFEC4->unk76AC);
- FreeSpriteTilesByTag(0x1B);
- FreeSpritePaletteByTag(0x15);
-}
-
-static void sub_80F363C(struct Sprite *sprite)
-{
- StartSpriteAnim(sprite, gUnknown_083DFEC4->unk8934[gUnknown_083DFEC4->unk8fe9]);
-}
-
-void sub_80F3668(void)
-{
- sub_80F7418(gUnknown_083DFEC4->unk8934[gUnknown_083DFEC4->unk8fe9], 176, 32);
-}
-
-void sub_80F3698(void)
-{
- struct UnkUsePokeblockSub *var0 = &gUnknown_083DFEC4->unk893c[gUnknown_083DFEC4->unk87DC];
- gUnknown_083DFEC4->unk8934[gUnknown_083DFEC4->unk8fe9] = gUnknown_083DFEC4->unk76B0.markings;
- SetMonMarkings(var0->unk1, var0->partyIdx, gUnknown_083DFEC4->unk76B0.markings);
- sub_80F7470();
-}
-
-static void sub_80F36F0(void)
-{
- gUnknown_083DFEC4->unk306 = 0;
- if (!gUnknown_083DFEC4->unk6DAC)
- while (sub_80F3724());
-}
-
-static bool8 sub_80F3724(void)
-{
- switch (gUnknown_083DFEC4->unk306)
- {
- case 0:
- LZ77UnCompWram(gUnknown_083E3D00, gUnknown_083DFEC4->unk984C);
- break;
- case 1:
- sub_80F379C();
- gUnknown_083DFEC4->unk306++;
- // fall through
- case 2:
- if (sub_80F37D0())
- return TRUE;
- break;
- default:
- return FALSE;
- }
-
- gUnknown_083DFEC4->unk306++;
- return TRUE;
-}
-
-static void sub_80F379C(void)
-{
- gUnknown_083DFEC4->unkBC93 = 0;
- if (!gUnknown_083DFEC4->unk6DAC)
- while (sub_80F37D0());
-}
-
-static bool8 sub_80F37D0(void)
-{
- u16 i;
- u8 j, k, l, m;
-
- if (gUnknown_083DFEC4->unkBC93 > 11)
- return FALSE;
-
- for (i = 0; i < 2; i++)
- {
- u8 *r4 = &gUnknown_083DFEC4->unk984C[gUnknown_083DFEC4->unkBC93][0];
- u8 *r5 = &gUnknown_083DFEC4->unkA44C[gUnknown_083DFEC4->unkBC93][0];
- for (j = 0; j < 4; j++)
- {
- CpuFastSet(r4, r5, 0x10);
- r5 += 0x40;
- r4 += 0x20;
- for (k = 0; k < 2; k++)
- {
- for (l = 0; l < 8; l++)
- {
- r4 += 4;
- for (m = 0; m < 4; m++)
- {
- r4 -= 1;
- *r5 = (*r4 << 4) | ((*r4 >> 4) & 0xF);
- r5++;
- }
-
- r4 += 4;
- }
-
- r4 -= 0x40;
- }
-
- r4 += 0x60;
- }
-
- if (++gUnknown_083DFEC4->unkBC93 > 11)
- return FALSE;
- }
-
- if (gUnknown_083DFEC4->unkBC93 > 11)
- return FALSE;
-
- return TRUE;
-}
-
-static void sub_80F38B8(void)
-{
- gUnknown_083DFEC4->unk306 = 0;
- if (!gUnknown_083DFEC4->unk6DAC)
- while (sub_80F38EC());
-}
-
-static bool8 sub_80F38EC(void)
-{
- switch (gUnknown_083DFEC4->unk306)
- {
- case 0:
- gUnknown_083DFEC4->unk9348 = NULL;
- gUnknown_083DFEC4->unkBC92 = 0;
- break;
- case 1:
- sub_80F2E18(0);
- break;
- case 2:
- sub_80F3970();
- gUnknown_083DFEC4->unk306++;
- // fall through
- case 3:
- if (sub_80F39A4())
- return TRUE;
- break;
- default:
- return FALSE;
- }
-
- gUnknown_083DFEC4->unk306++;
- return TRUE;
-}
-
-static void sub_80F3970(void)
-{
- gUnknown_083DFEC4->unkBC93 = 0;
- if (!gUnknown_083DFEC4->unk6DAC)
- while (sub_80F39A4());
-}
-
-static bool8 sub_80F39A4(void)
-{
- struct SpriteSheet spriteSheet;
- struct SpritePalette spritePalette;
- if (gUnknown_083DFEC4->unkBC93 > 11)
- return FALSE;
-
- spriteSheet.data = &gUnknown_083DFEC4->unkA44C[gUnknown_083DFEC4->unkBC93][0];
- spriteSheet.size = 0x200;
- spriteSheet.tag = gUnknown_083DFEC4->unkBC93 + 11;
- LoadSpriteSheet(&spriteSheet);
- if (gUnknown_083DFEC4->unkBC93 < 5)
- {
- spritePalette.data = gUnknown_083E3C60[gUnknown_083DFEC4->unkBC93];
- spritePalette.tag = gUnknown_083DFEC4->unkBC93 + 10;
- LoadSpritePalette(&spritePalette);
- }
-
- if (++gUnknown_083DFEC4->unkBC93 > 11)
- return FALSE;
-
- return TRUE;
-}
-
-static struct Sprite *sub_80F3A3C(u16 arg0, u16 arg1)
-{
- struct SpriteTemplate spriteTemplate;
- u16 var0;
- u8 ribbon;
- u8 spriteId;
-
- if (arg1 < 3)
- var0 = arg0 + arg1 * 9;
- else
- var0 = arg0 + (gUnknown_083DFEC4->unkBC8E - gUnknown_083DFEC4->unkBC8F);
-
- ribbon = gUnknown_083DFEC4->unkBC4C[var0];
- spriteTemplate = gSpriteTemplate_83E476C;
- spriteTemplate.tileTag = gPokenavRibbonsIconGfx[ribbon][0] + 11;
- spriteTemplate.paletteTag = gPokenavRibbonsIconGfx[ribbon][1] + 10;
- spriteId = CreateSprite(&spriteTemplate, arg0 * 16 + 96, arg1 * 16 + 40, 2);
- if (spriteId != MAX_SPRITES)
- return &gSprites[spriteId];
- else
- return NULL;
-}
-
-static void sub_80F3B00(void)
-{
- gUnknown_083DFEC4->unk9348 = sub_80F3A3C(gUnknown_083DFEC4->unkBC90, gUnknown_083DFEC4->unkBC91);
- if (gUnknown_083DFEC4->unk9348)
- {
- StartSpriteAffineAnim(gUnknown_083DFEC4->unk9348, 1);
- gUnknown_083DFEC4->unkBC92 = 1;
- }
- else
- {
- gUnknown_083DFEC4->unkBC92 = 0;
- }
-}
-
-static bool8 sub_80F3B58(void)
-{
- if (gUnknown_083DFEC4->unkBC92)
- {
- gUnknown_083DFEC4->unkBC92 = !gUnknown_083DFEC4->unk9348->affineAnimEnded;
- return gUnknown_083DFEC4->unkBC92;
- }
- else
- {
- return FALSE;
- }
-}
-
-static void sub_80F3B94(void)
-{
- if (gUnknown_083DFEC4->unk9348)
- {
- StartSpriteAffineAnim(gUnknown_083DFEC4->unk9348, 2);
- gUnknown_083DFEC4->unkBC92 = 1;
- }
- else
- {
- gUnknown_083DFEC4->unkBC92 = 0;
- }
-}
-
-static bool8 sub_80F3BD4(void)
-{
- if (gUnknown_083DFEC4->unkBC92)
- {
- gUnknown_083DFEC4->unkBC92 = !gUnknown_083DFEC4->unk9348->affineAnimEnded;
- if (!gUnknown_083DFEC4->unkBC92)
- {
- FreeOamMatrix(gUnknown_083DFEC4->unk9348->oam.matrixNum);
- DestroySprite(gUnknown_083DFEC4->unk9348);
- gUnknown_083DFEC4->unk9348 = NULL;
- }
-
- return gUnknown_083DFEC4->unkBC92;
- }
- else
- {
- return FALSE;
- }
-}
-
-static void sub_80F3C2C(void)
-{
- u16 i;
-
- if (gUnknown_083DFEC4->unk9348)
- {
- FreeOamMatrix(gUnknown_083DFEC4->unk9348->oam.matrixNum);
- DestroySprite(gUnknown_083DFEC4->unk9348);
- gUnknown_083DFEC4->unk9348 = NULL;
- }
-
- for (i = 0; i < 12; i++)
- FreeSpriteTilesByTag(i + 0xB);
-
- for (i = 0; i < 5; i++)
- FreeSpritePaletteByTag(i + 0xA);
-
- sub_80F2F48();
-}
-
-void sub_80F3C94(void)
-{
- u16 i;
- struct SpriteSheet spriteSheet;
- struct SpritePalette spritePalette;
-
- spriteSheet = gUnknown_083E4784;
- spritePalette = gUnknown_083E478C;
- LoadSpriteSheet(&spriteSheet);
- LoadSpritePalette(&spritePalette);
- for (i = 0; i < 10; i++)
- gUnknown_083DFEC4->unk8800[i] = NULL;
-}
-
-void sub_80F3CE8(void)
-{
- move_anim_execute();
- FreeSpriteTilesByTag(0x17);
- FreeSpritePaletteByTag(0xF);
-}
-
-void sub_80F3D00(void)
-{
- u8 spriteId;
- u16 i;
- u8 var1;
- struct UnkUsePokeblockSub *var0 = &gUnknown_083DFEC4->unk893c[gUnknown_083DFEC4->unk87DC];
-
- if (!var0->unk4)
- return;
-
- var1 = gUnknown_083DFEC4->unk8931[gUnknown_083DFEC4->unk8fe9];
- for (i = 0; i < var1 + 1; i++)
- {
- spriteId = CreateSprite(&gSpriteTemplate_83E4800, 0, 0, 0);
- if (spriteId != MAX_SPRITES)
- {
- gUnknown_083DFEC4->unk8800[i] = &gSprites[spriteId];
- gUnknown_083DFEC4->unk8800[i]->invisible = 1;
- }
- else
- {
- break;
- }
- }
-
- sub_80F3F20(var1, 1);
-}
-
-void move_anim_execute(void)
-{
- u16 i;
-
- for (i = 0; i < 10; i++)
- {
- if (!gUnknown_083DFEC4->unk8800[i])
- return;
-
- DestroySprite(gUnknown_083DFEC4->unk8800[i]);
- gUnknown_083DFEC4->unk8800[i] = NULL;
- }
-}
-
-void sub_80F3DDC(struct Sprite *sprite)
-{
- if (++sprite->data[1] > 60)
- {
- sprite->data[1] = 0;
- sub_80F3F20(sprite->data[2], 0);
- }
-}
-
-static void sub_80F3E04(struct Sprite *sprite)
-{
- if (sprite->animEnded)
- {
- sprite->data[1] = 0;
- sprite->callback = sub_80F3DDC;
- }
-}
-
-static void sub_80F3E24(struct Sprite *sprite)
-{
- if (gUnknown_083DFEC4->unk8768)
- {
- sprite->pos1.x = gUnknown_083DFEC4->unk8768->pos1.x
- + gUnknown_083DFEC4->unk8768->pos2.x
- + gUnknown_083E4794[sprite->data[0]][0];
- sprite->pos1.y = gUnknown_083DFEC4->unk8768->pos1.y
- + gUnknown_083DFEC4->unk8768->pos2.y
- + gUnknown_083E4794[sprite->data[0]][1];
- }
- else
- {
- sprite->pos1.x = gUnknown_083E4794[sprite->data[0]][0] + 40;
- sprite->pos1.y = gUnknown_083E4794[sprite->data[0]][1] + 104;
- }
-}
-
-static void sub_80F3E9C(struct Sprite *sprite)
-{
- if (sprite->data[1])
- {
- if (--sprite->data[1])
- return;
-
- SeekSpriteAnim(sprite, 0);
- sprite->invisible = 0;
- }
-
- sub_80F3E24(sprite);
- if (sprite->animEnded)
- {
- sprite->invisible = 1;
- if (sprite->data[3] == sprite->data[2])
- {
- if (sprite->data[3] == 9)
- {
- sub_80F3FAC();
- sprite->callback = sub_80F3E04;
- }
- else
- {
- sprite->callback = sub_80F3DDC;
- }
- }
- else
- {
- sprite->callback = SpriteCallbackDummy;
- }
- }
-}
-
-static void sub_80F3F20(u8 arg0, u8 arg1)
-{
- u16 i;
-
- for (i = 0; i < 10; i++)
- {
- if (gUnknown_083DFEC4->unk8800[i])
- {
- gUnknown_083DFEC4->unk8800[i]->data[0] = i;
- gUnknown_083DFEC4->unk8800[i]->data[1] = i * 16 + 1;
- gUnknown_083DFEC4->unk8800[i]->data[2] = arg0;
- gUnknown_083DFEC4->unk8800[i]->data[3] = i;
-
- if (!arg1 || arg0 != 9)
- {
- gUnknown_083DFEC4->unk8800[i]->callback = sub_80F3E9C;
- }
- else
- {
- sub_80F3E24(gUnknown_083DFEC4->unk8800[i]);
- sub_80F3FAC();
- gUnknown_083DFEC4->unk8800[i]->callback = sub_80F3E04;
- gUnknown_083DFEC4->unk8800[i]->invisible = 0;
- }
- }
- }
-}
-
-static void sub_80F3FAC(void)
-{
- u16 i;
-
- for (i = 0; i < 10; i++)
- {
- if (gUnknown_083DFEC4->unk8800[i])
- {
- SeekSpriteAnim(gUnknown_083DFEC4->unk8800[i], 0);
- gUnknown_083DFEC4->unk8800[i]->invisible = 0;
- }
- }
-}
-
-static void sub_80F3FF0(void)
-{
- gUnknown_083DFEC4->unk306 = 0;
- if (!gUnknown_083DFEC4->unk6DAC)
- while (sub_80F4024());
-}
-
-static bool8 sub_80F4024(void)
-{
- u8 paletteIndex;
- u8 spriteId;
- struct SpritePalette spritePalette;
-
- switch (gUnknown_083DFEC4->unk306)
- {
- case 0:
- LZ77UnCompWram(gUnknown_083E329C, gUnknown_083DFEC4->unk131E4);
- break;
- case 1:
- {
- struct SpriteSheet spriteSheet = {
- .data = gUnknown_083DFEC4->unk131E4,
- .size = sizeof(gUnknown_083DFEC4->unk131E4),
- .tag = 0x18,
- };
- LoadSpriteSheet(&spriteSheet);
- break;
- }
- case 2:
- spritePalette = gUnknown_083E4818;
- LoadSpritePalette(&spritePalette);
- paletteIndex = IndexOfSpritePaletteTag(0x10);
- gUnknown_083DFEC4->unk308 = -3 & ~(1 << (paletteIndex + 0x10));
- break;
- case 3:
- spriteId = CreateSprite(&gSpriteTemplate_83E4850, 218, 14, 0);
- if (spriteId != MAX_SPRITES)
- {
- gUnknown_083DFEC4->unk6D98 = &gSprites[spriteId];
- gUnknown_083DFEC4->unk6D98->data[0] = 0;
- }
- else
- {
- gUnknown_083DFEC4->unk6D98 = NULL;
- }
-
- gUnknown_083DFEC4->unk306++;
- return FALSE;
- default:
- return FALSE;
- }
-
- gUnknown_083DFEC4->unk306++;
- return TRUE;
-}
-
-void sub_80F4138(struct Sprite *sprite)
-{
- sprite->pos2.y = -gUnknown_083DFEC4->unk030C;
- if (sprite->pos2.y <= -32)
- {
- if (sprite->data[0] == 0)
- {
- sprite->invisible = 1;
- sprite->data[0] = 1;
- }
- }
- else
- {
- if (sprite->data[0] == 1)
- {
- sprite->invisible = 0;
- sprite->data[0] = 0;
- }
- }
-}
-
-#ifdef NONMATCHING
-// close, but the last DmaCopy16 is sharing the 0x400 value from the beginning of the function.
-void sub_80F4194(u8 *arg0, u8 *text)
-{
- u8 i;
- u8 *tileBuffer;
- u32 *tileBuf2;
-
- tileBuffer = gUnknown_083DFEC8;
- DmaFill16(3, 0x1111, tileBuffer, 0x280);
- DmaFill16Defvars(3, 0x1111, 0x400 + tileBuffer, 0x280);
- Text_InitWindow8004E3C(&gWindowTemplate_81E70F0, tileBuffer, text);
-
- DmaClear16(3, tileBuffer + 0x220, 0x60);
- DmaClear16(3, tileBuffer + 0x620, 0x60);
-
- tileBuf2 = (int *)tileBuffer + 0x80;
- tileBuf2[0] &= 0x0FFFFFFF;
- tileBuf2[1] &= 0x0FFFFFFF;
- tileBuf2[2] &= 0x0FFFFFFF;
- tileBuf2[3] &= 0x0FFFFFFF;
- tileBuf2[4] &= 0x0FFFFFFF;
- tileBuf2[5] &= 0x0FFFFFFF;
- tileBuf2[6] &= 0x0FFFFFFF;
- tileBuf2[7] &= 0x0FFFFFFF;
-
- tileBuf2 = (int *)tileBuffer + 0x180;
- tileBuf2[0] &= 0x0FFFFFFF;
- tileBuf2[1] &= 0x0FFFFFFF;
- tileBuf2[2] &= 0x0FFFFFFF;
- tileBuf2[3] &= 0x0FFFFFFF;
- tileBuf2[4] &= 0x0FFFFFFF;
- tileBuf2[5] &= 0x0FFFFFFF;
- tileBuf2[6] &= 0x0FFFFFFF;
- tileBuf2[7] &= 0x0FFFFFFF;
-
- for (i = 0; i < 5; i++)
- {
- DmaCopy16(3, &tileBuffer[128 * i], &arg0[i * 256], 128);
- DmaCopy16(3, &tileBuffer[128 * i + 0x400], &arg0[32 * ((i * 8) + 4)], 128);
- }
-}
-#else
-NAKED
-void sub_80F4194(u8 *arg0, u8 *text)
-{
- asm(".syntax unified\n\
- push {r4-r7,lr}\n\
- sub sp, 0x4\n\
- adds r7, r0, 0\n\
- adds r2, r1, 0\n\
- ldr r0, _080F42A4 @ =gUnknown_083DFEC8\n\
- ldr r6, [r0] @ r6 = tileBuffer\n\
- mov r0, sp \n\
- ldr r1, _080F42A8 @ =0x00001111\n\
- adds r5, r1, 0\n\
- strh r5, [r0]\n\
- ldr r4, _080F42AC @ =0x040000d4\n\
- str r0, [r4]\n\
- str r6, [r4, 0x4]\n\
- ldr r3, _080F42B0 @ =0x81000140\n\
- str r3, [r4, 0x8]\n\
- ldr r0, [r4, 0x8]\n\
- movs r0, 0x80\n\
- lsls r0, 3\n\
- adds r1, r6, r0\n\
- mov r0, sp\n\
- strh r5, [r0]\n\
- str r0, [r4]\n\
- str r1, [r4, 0x4]\n\
- str r3, [r4, 0x8]\n\
- ldr r0, [r4, 0x8]\n\
- ldr r0, _080F42B4 @ =gWindowTemplate_81E70F0\n\
- adds r1, r6, 0\n\
- bl Text_InitWindow8004E3C\n\
- movs r3, 0x88\n\
- lsls r3, 2\n\
- adds r1, r6, r3\n\
- mov r0, sp\n\
- movs r3, 0\n\
- strh r3, [r0]\n\
- str r0, [r4]\n\
- str r1, [r4, 0x4]\n\
- ldr r2, _080F42B8 @ =0x81000030\n\
- str r2, [r4, 0x8]\n\
- ldr r0, [r4, 0x8]\n\
- movs r0, 0xC4\n\
- lsls r0, 3\n\
- adds r1, r6, r0\n\
- mov r0, sp\n\
- strh r3, [r0]\n\
- str r0, [r4]\n\
- str r1, [r4, 0x4]\n\
- str r2, [r4, 0x8]\n\
- ldr r0, [r4, 0x8]\n\
- movs r1, 0x80\n\
- lsls r1, 2\n\
- adds r2, r6, r1\n\
- ldr r0, [r2]\n\
- ldr r1, _080F42BC @ =0x0fffffff\n\
- ands r0, r1\n\
- str r0, [r2]\n\
- ldr r0, [r2, 0x4]\n\
- ands r0, r1\n\
- str r0, [r2, 0x4]\n\
- ldr r0, [r2, 0x8]\n\
- ands r0, r1\n\
- str r0, [r2, 0x8]\n\
- ldr r0, [r2, 0xC]\n\
- ands r0, r1\n\
- str r0, [r2, 0xC]\n\
- ldr r0, [r2, 0x10]\n\
- ands r0, r1\n\
- str r0, [r2, 0x10]\n\
- ldr r0, [r2, 0x14]\n\
- ands r0, r1\n\
- str r0, [r2, 0x14]\n\
- ldr r0, [r2, 0x18]\n\
- ands r0, r1\n\
- str r0, [r2, 0x18]\n\
- ldr r0, [r2, 0x1C]\n\
- ands r0, r1\n\
- str r0, [r2, 0x1C]\n\
- movs r3, 0xC0\n\
- lsls r3, 3\n\
- adds r2, r6, r3\n\
- ldr r0, [r2]\n\
- ands r0, r1\n\
- str r0, [r2]\n\
- ldr r0, [r2, 0x4]\n\
- ands r0, r1\n\
- str r0, [r2, 0x4]\n\
- ldr r0, [r2, 0x8]\n\
- ands r0, r1\n\
- str r0, [r2, 0x8]\n\
- ldr r0, [r2, 0xC]\n\
- ands r0, r1\n\
- str r0, [r2, 0xC]\n\
- ldr r0, [r2, 0x10]\n\
- ands r0, r1\n\
- str r0, [r2, 0x10]\n\
- ldr r0, [r2, 0x14]\n\
- ands r0, r1\n\
- str r0, [r2, 0x14]\n\
- ldr r0, [r2, 0x18]\n\
- ands r0, r1\n\
- str r0, [r2, 0x18]\n\
- ldr r0, [r2, 0x1C]\n\
- ands r0, r1\n\
- str r0, [r2, 0x1C]\n\
- movs r1, 0\n\
- ldr r2, _080F42C0 @ =0x80000040\n\
-_080F4268:\n\
- lsls r0, r1, 7\n\
- adds r0, r6, r0\n\
- str r0, [r4]\n\
- lsls r0, r1, 8\n\
- adds r0, r7, r0\n\
- str r0, [r4, 0x4]\n\
- str r2, [r4, 0x8]\n\
- ldr r0, [r4, 0x8]\n\
- lsls r0, r1, 7\n\
- movs r3, 0x80\n\
- lsls r3, 3\n\
- adds r0, r3\n\
- adds r0, r6, r0\n\
- str r0, [r4]\n\
- lsls r0, r1, 3\n\
- adds r0, 0x4\n\
- lsls r0, 5\n\
- adds r0, r7, r0\n\
- str r0, [r4, 0x4]\n\
- str r2, [r4, 0x8]\n\
- ldr r0, [r4, 0x8]\n\
- adds r0, r1, 0x1\n\
- lsls r0, 24\n\
- lsrs r1, r0, 24\n\
- cmp r1, 0x4\n\
- bls _080F4268\n\
- add sp, 0x4\n\
- pop {r4-r7}\n\
- pop {r0}\n\
- bx r0\n\
- .align 2, 0\n\
-_080F42A4: .4byte gUnknown_083DFEC8\n\
-_080F42A8: .4byte 0x00001111\n\
-_080F42AC: .4byte 0x040000d4\n\
-_080F42B0: .4byte 0x81000140\n\
-_080F42B4: .4byte gWindowTemplate_81E70F0\n\
-_080F42B8: .4byte 0x81000030\n\
-_080F42BC: .4byte 0x0fffffff\n\
-_080F42C0: .4byte 0x80000040\n\
- .syntax divided\n");
-}
-#endif // NONMATCHING
-
-static void sub_80F42C4(u8 *arg0)
-{
- u16 i, tileOffset;
- u8 spriteId;
- struct SpriteSheet spriteSheet = {
- .data = gUnknown_083DFEC4->unkD1E4[0],
- .size = 0x500,
- .tag = 0x1A,
- };
-
- sub_80F4194(gUnknown_083DFEC4->unkD1E4[0], arg0);
- LoadSpriteSheet(&spriteSheet);
- LoadSpritePalette(&gUnknown_083E4868);
-
- tileOffset = 0;
- for (i = 0; i < 5; i++)
- {
- spriteId = CreateSprite(&gSpriteTemplate_83E4878, i * 32 + 113, 16, 0);
- if (spriteId != MAX_SPRITES)
- {
- gSprites[spriteId].oam.tileNum += tileOffset;
- gUnknown_083DFEC4->unkCED4[i] = &gSprites[spriteId];
- }
- else
- {
- gUnknown_083DFEC4->unkCED4[i] = NULL;
- }
-
- tileOffset += 8;
- }
-}
-
-static void sub_80F4394(void)
-{
- u16 i;
-
- for (i = 0; i < 5; i++)
- {
- if (gUnknown_083DFEC4->unkCED4[i])
- DestroySprite(gUnknown_083DFEC4->unkCED4[i]);
- }
-
- FreeSpriteTilesByTag(0x1A);
- FreeSpritePaletteByTag(0x12);
-}
-
-void sub_80F43D4(u8 *arg0)
-{
- u16 tile;
-
- sub_80F4194(gUnknown_083DFEC4->unkD1E4[0], arg0);
- tile = GetSpriteTileStartByTag(0x1A);
- if (tile != 0xFFFF)
- DmaCopy32Defvars(3, gUnknown_083DFEC4->unkD1E4[0], (void *)(VRAM + 0x10000 + (tile * 32)), 0x500);
-}
-
-static u8 *sub_80F4428(u8 *arg0, u16 arg1, u8 arg2)
-{
- return sub_80F6514(arg0, arg1, arg2);
-}
-
-static u8 *sub_80F443C(u8 *arg0, u16 arg1)
-{
- return AlignInt1InMenuWindow(StringCopy(arg0, gOtherText_Number), arg1, 56, 1);
-}
-
-static u8 *sub_80F445C(u8 *arg0, u16 arg1)
-{
- u8 *buffer = AlignInt1InMenuWindow(arg0, arg1, 23, 1);
- buffer[0] = EXT_CTRL_CODE_BEGIN;
- buffer[1] = 0x11;
- buffer[2] = 1;
- buffer += 3;
- buffer[0] = CHAR_SLASH;
- buffer += 1;
- buffer[0] = EXT_CTRL_CODE_BEGIN;
- buffer[1] = 0x11;
- buffer[2] = 1;
- buffer += 3;
- buffer = AlignInt1InMenuWindow(buffer, gUnknown_083DFEC4->unk8774 + 1, 50, 1);
- return buffer;
-}
-
-u32 sub_80F44B0(u16 box, u16 monIndex, int monDataField, int *text)
-{
- if (box == 14)
- {
- if (monDataField == MON_DATA_NICKNAME || monDataField == MON_DATA_OT_NAME)
- return GetMonData(&gPlayerParty[monIndex], monDataField, text);
- else
- return GetMonData(&gPlayerParty[monIndex], monDataField);
- }
- else
- {
- if (monDataField == MON_DATA_NICKNAME || monDataField == MON_DATA_OT_NAME)
- return GetBoxMonData(&gPokemonStorage.boxes[box][monIndex], monDataField, text);
- else
- return GetBoxMonData(&gPokemonStorage.boxes[box][monIndex], monDataField);
- }
-}
-
-static void SetMonMarkings(u16 box, u16 monIndex, u8 markings)
-{
- if (box == 14)
- SetMonData(&gPlayerParty[monIndex], MON_DATA_MARKINGS, &markings);
- else
- SetBoxMonData(&gPokemonStorage.boxes[box][monIndex], MON_DATA_MARKINGS, &markings);
-}
-
-static void sub_80F45A0(s16 arg0, u8 arg1)
-{
- u8 box;
- u8 var0 = gUnknown_083DFEC4->unk893c[arg0].unk4;
- if (var0)
- {
- sub_80F4428(gUnknown_083DFEC4->unk8829[arg1], arg0, 0);
- box = gUnknown_083DFEC4->unk893c[arg0].unk1;
- if (box == 14)
- AlignStringInMenuWindow(gUnknown_083DFEC4->unk88E9[arg1], gOtherText_InParty, 64, 0);
- else
- AlignStringInMenuWindow(gUnknown_083DFEC4->unk88E9[arg1], gPokemonStorage.boxNames[box], 64, 0);
-
- gUnknown_083DFEC4->unk8937[arg1] = 1;
- }
- else
- {
- AlignStringInMenuWindow(gUnknown_083DFEC4->unk8829[arg1], gEmptyString_81E72B0, 104, 0);
- AlignStringInMenuWindow(gUnknown_083DFEC4->unk88E9[arg1], gEmptyString_81E72B0, 64, 0);
- gUnknown_083DFEC4->unk8937[arg1] = var0;
- }
-}
-
-static void sub_80F468C(s16 arg0, u8 arg1)
-{
- u16 i;
- u16 box;
- u16 monIndex;
-
- if (gUnknown_083DFEC4->unk893c[arg0].unk4)
- {
- box = gUnknown_083DFEC4->unk893c[arg0].unk1;
- monIndex = gUnknown_083DFEC4->unk893c[arg0].partyIdx;
- gUnknown_083DFEC4->unk8ff0[arg1][0] = sub_80F44B0(box, monIndex, MON_DATA_COOL, NULL);
- gUnknown_083DFEC4->unk8ff0[arg1][1] = sub_80F44B0(box, monIndex, MON_DATA_TOUGH, NULL);
- gUnknown_083DFEC4->unk8ff0[arg1][2] = sub_80F44B0(box, monIndex, MON_DATA_SMART, NULL);
- gUnknown_083DFEC4->unk8ff0[arg1][3] = sub_80F44B0(box, monIndex, MON_DATA_CUTE, NULL);
- gUnknown_083DFEC4->unk8ff0[arg1][4] = sub_80F44B0(box, monIndex, MON_DATA_BEAUTY, NULL);
-
- gUnknown_083DFEC4->unk8931[arg1] = sub_80F44B0(box, monIndex, MON_DATA_SHEEN, NULL) != 255
- ? sub_80F44B0(box, monIndex, MON_DATA_SHEEN, NULL) / 29
- : 9;
-
- gUnknown_083DFEC4->unk8934[arg1] = sub_80F44B0(box, monIndex, MON_DATA_MARKINGS, NULL);
- sub_80F55AC(gUnknown_083DFEC4->unk8ff0[arg1], gUnknown_083DFEC4->unk9004[arg1]);
- }
- else
- {
- for (i = 0; i < 5; i++)
- {
- gUnknown_083DFEC4->unk8ff0[arg1][i] = 0;
- gUnknown_083DFEC4->unk9004[arg1][i].unk0 = 0x9B;
- gUnknown_083DFEC4->unk9004[arg1][i].unk2 = 0x5B;
- }
- }
-}
-
-static void sub_80F4824(s16 arg0, u8 arg1)
-{
- u16 species;
- u32 otId;
- u32 personality;
- u16 box;
- u16 monIndex;
-
- if (gUnknown_083DFEC4->unk893c[arg0].unk4)
- {
- box = gUnknown_083DFEC4->unk893c[arg0].unk1;
- monIndex = gUnknown_083DFEC4->unk893c[arg0].partyIdx;
- species = sub_80F44B0(box, monIndex, MON_DATA_SPECIES2, NULL);
- otId = sub_80F44B0(box, monIndex, MON_DATA_OT_ID, NULL);
- personality = sub_80F44B0(box, monIndex, MON_DATA_PERSONALITY, NULL);
-
- HandleLoadSpecialPokePic(
- &gMonFrontPicTable[species],
- gMonFrontPicCoords[species].coords,
- 1,
- (intptr_t)gUnknown_083DFEC4->unk131E4,
- gUnknown_083DFEC4->unkD1E4[arg1],
- species,
- personality);
-
- LZ77UnCompWram(GetMonSpritePalFromOtIdPersonality(species, otId, personality), gUnknown_083DFEC4->unk0[arg1]);
- gUnknown_083DFEC4->unkD1D6[arg1] = species;
- }
-}
-
-void sub_80F4900(s16 arg0, u8 arg1)
-{
- sub_80F45A0(arg0, arg1);
- sub_80F468C(arg0, arg1);
- sub_80F4824(arg0, arg1);
-}
-
-void sub_80F492C(void)
-{
- gUnknown_083DFEC4->unk8FE4 = 0;
-}
-
-#ifdef NONMATCHING
-// registers r3/r4 are swapped
-void sub_80F4944(struct UnkUsePokeblockSub *arg0)
-{
- u16 i;
- u16 r3;
- u16 r4;
-
- i = 0;
- r4 = gUnknown_083DFEC4->unk8FE4;
- r3 = r4 / 2;
- while (r3 != r4)
- {
- if (arg0->unk0 > gUnknown_083DFEC4->unk893c[r3].unk0)
- r4 = r3;
- else
- i = r3 + 1;
-
- r3 = ((r4 - i) / 2) + i;
- }
-
- r4 = gUnknown_083DFEC4->unk8FE4;
- while (r4 > r3)
- {
- gUnknown_083DFEC4->unk893c[r4] = gUnknown_083DFEC4->unk893c[r4 - 1];
- r4--;
- }
-
- gUnknown_083DFEC4->unk893c[r3] = *arg0;
- gUnknown_083DFEC4->unk8FE4++;
-}
-#else
-NAKED
-void sub_80F4944(struct UnkUsePokeblockSub *arg0)
-{
- asm(".syntax unified\n\
- push {r4-r7,lr}\n\
- mov r7, r8\n\
- push {r7}\n\
- mov r12, r0\n\
- movs r2, 0\n\
- ldr r1, _080F4978 @ =gUnknown_083DFEC4\n\
- ldr r5, [r1]\n\
- ldr r3, _080F497C @ =0x00008fe4\n\
- adds r0, r5, r3\n\
- ldrh r4, [r0]\n\
- lsrs r3, r4, 1\n\
- mov r8, r1\n\
- cmp r4, r3\n\
- beq _080F499C\n\
- adds r6, r5, 0\n\
- mov r0, r12\n\
- ldrb r5, [r0]\n\
- ldr r7, _080F4980 @ =0x0000893c\n\
-_080F4968:\n\
- lsls r0, r3, 2\n\
- adds r0, r6, r0\n\
- adds r0, r7\n\
- ldrb r0, [r0]\n\
- cmp r5, r0\n\
- bls _080F4984\n\
- adds r4, r3, 0\n\
- b _080F498A\n\
- .align 2, 0\n\
-_080F4978: .4byte gUnknown_083DFEC4\n\
-_080F497C: .4byte 0x00008fe4\n\
-_080F4980: .4byte 0x0000893c\n\
-_080F4984:\n\
- adds r0, r3, 0x1\n\
- lsls r0, 16\n\
- lsrs r2, r0, 16\n\
-_080F498A:\n\
- subs r0, r4, r2\n\
- lsrs r1, r0, 31\n\
- adds r0, r1\n\
- asrs r0, 1\n\
- adds r0, r2, r0\n\
- lsls r0, 16\n\
- lsrs r3, r0, 16\n\
- cmp r4, r3\n\
- bne _080F4968\n\
-_080F499C:\n\
- mov r1, r8\n\
- ldr r2, [r1]\n\
- ldr r1, _080F49EC @ =0x00008fe4\n\
- adds r0, r2, r1\n\
- ldrh r4, [r0]\n\
- lsls r6, r3, 2\n\
- cmp r4, r3\n\
- bls _080F49C6\n\
- ldr r0, _080F49F0 @ =0x0000893c\n\
- adds r5, r2, r0\n\
-_080F49B0:\n\
- lsls r2, r4, 2\n\
- adds r2, r5, r2\n\
- subs r1, r4, 0x1\n\
- lsls r0, r1, 2\n\
- adds r0, r5, r0\n\
- ldr r0, [r0]\n\
- str r0, [r2]\n\
- lsls r1, 16\n\
- lsrs r4, r1, 16\n\
- cmp r4, r3\n\
- bhi _080F49B0\n\
-_080F49C6:\n\
- mov r1, r8\n\
- ldr r2, [r1]\n\
- ldr r3, _080F49F0 @ =0x0000893c\n\
- adds r0, r2, r3\n\
- adds r0, r6\n\
- mov r3, r12\n\
- ldr r1, [r3]\n\
- str r1, [r0]\n\
- ldr r0, _080F49EC @ =0x00008fe4\n\
- adds r2, r0\n\
- ldrh r0, [r2]\n\
- adds r0, 0x1\n\
- strh r0, [r2]\n\
- pop {r3}\n\
- mov r8, r3\n\
- pop {r4-r7}\n\
- pop {r0}\n\
- bx r0\n\
- .align 2, 0\n\
-_080F49EC: .4byte 0x00008fe4\n\
-_080F49F0: .4byte 0x0000893c\n\
- .syntax divided\n");
-}
-#endif // NONMATCHING
-
-void sub_80F49F4(void)
-{
- u16 i;
-
- gUnknown_083DFEC4->unk893c[0].unk2 = 1;
- for (i = 1; i < gUnknown_083DFEC4->unk8FE4; i++)
- {
- if (gUnknown_083DFEC4->unk893c[i].unk0 == gUnknown_083DFEC4->unk893c[i - 1].unk0)
- gUnknown_083DFEC4->unk893c[i].unk2 = gUnknown_083DFEC4->unk893c[i - 1].unk2;
- else
- gUnknown_083DFEC4->unk893c[i].unk2 = i + 1;
- }
-
- gUnknown_083DFEC4->unk876C = 0;
- gUnknown_083DFEC4->unk8770 = 0;
- gUnknown_083DFEC4->unk876E = 0;
- gUnknown_083DFEC4->unk8772 = gUnknown_083DFEC4->unk8FE4 < 9 ? (gUnknown_083DFEC4->unk8FE4 - 1) : 7;
- gUnknown_083DFEC4->unk8774 = gUnknown_083DFEC4->unk8FE4 - 1;
- gUnknown_083DFEC4->unk87C9 = gUnknown_083DFEC4->unk8774 > 7;
-}
-
-void sub_80F4B20(void)
-{
- s16 var0;
- s16 var1;
-
- sub_80F4900(gUnknown_083DFEC4->unk87DC, 0);
- sub_80F2E18(0);
- if (gUnknown_083DFEC4->unk87DA == 1)
- {
- gUnknown_083DFEC4->unk8fe9 = 0;
- gUnknown_083DFEC4->unk8FEA = 0;
- gUnknown_083DFEC4->unk8FEB = 0;
- }
- else
- {
- gUnknown_083DFEC4->unk8fe9 = 0;
- gUnknown_083DFEC4->unk8FEA = 1;
- gUnknown_083DFEC4->unk8FEB = 2;
-
- var0 = gUnknown_083DFEC4->unk87DC + 1;
- if (var0 >= gUnknown_083DFEC4->unk87DA)
- var0 = 0;
-
- var1 = gUnknown_083DFEC4->unk87DC - 1;
- if (var1 < 0)
- var1 = gUnknown_083DFEC4->unk87DA - 1;
-
- sub_80F4900(var0, 1);
- sub_80F4900(var1, 2);
- }
-}
-
-void sub_80F4BD0(void)
-{
- u16 i, j;
-
- for (i = 0, j = 0; i < gUnknown_083DFEC4->unk8828; i++)
- {
- if (!GetMonData(&gPlayerParty[i], MON_DATA_IS_EGG))
- {
- gUnknown_083DFEC4->unk893c[j].unk1 = 14;
- gUnknown_083DFEC4->unk893c[j].partyIdx = i;
- gUnknown_083DFEC4->unk893c[j].unk2 = j + 1;
- gUnknown_083DFEC4->unk893c[j].unk4 = 1;
- j++;
- }
- }
-
- gUnknown_083DFEC4->unk893c[j].unk1 = 0;
- gUnknown_083DFEC4->unk893c[j].partyIdx = 0;
- gUnknown_083DFEC4->unk893c[j].unk2 = 0;
- gUnknown_083DFEC4->unk893c[j].unk4 = 0;
- gUnknown_083DFEC4->unk87DC = 0;
- gUnknown_083DFEC4->unk87DA = j + 1;
- sub_80F4B20();
- gUnknown_083DFEC4->unk87CB = 1;
-}
-
-static void sub_80F4CF0(void)
-{
- gUnknown_083DFEC4->unk87DC = gUnknown_083DFEC4->unk876E;
- sub_80F4B20();
-
- if (gUnknown_083DFEC4->unk8774 == 0)
- gUnknown_083DFEC4->unk87CB = 0;
- else
- gUnknown_083DFEC4->unk87CB = 1;
-}
-
-static void sub_80F4D44(void)
-{
- gUnknown_083DFEC4->unk8FE6 = 0;
- gUnknown_083DFEC4->unk8FE7 = 0;
- sub_80F492C();
-
- if (!gUnknown_083DFEC4->unk6DAC)
- while (sub_80F4D88());
-}
-
-static bool8 sub_80F4D88(void)
-{
- u16 i;
- register int mask asm("r3"); // FIXME
- int nextValue;
- struct UnkUsePokeblockSub var0;
-
- switch (gUnknown_083DFEC4->unk8FE6)
- {
- default:
- var0.unk4 = 1;
- for (i = 0; i < 15; i++)
- {
-
- if (GetBoxMonData(&gPokemonStorage.boxes[gUnknown_083DFEC4->unk8FE6][gUnknown_083DFEC4->unk8FE7], MON_DATA_SPECIES)
- && !GetBoxMonData(&gPokemonStorage.boxes[gUnknown_083DFEC4->unk8FE6][gUnknown_083DFEC4->unk8FE7], MON_DATA_IS_EGG))
- {
- var0.unk1 = gUnknown_083DFEC4->unk8FE6;
- var0.partyIdx = gUnknown_083DFEC4->unk8FE7;
- var0.unk0 = GetBoxMonData(
- &gPokemonStorage.boxes[gUnknown_083DFEC4->unk8FE6][gUnknown_083DFEC4->unk8FE7],
- gUnknown_083DFEC4->unk87D8);
- sub_80F4944(&var0);
- }
-
- gUnknown_083DFEC4->unk8FE7++;
- mask = 0xFF;
- if (gUnknown_083DFEC4->unk8FE7 == 30)
- {
- gUnknown_083DFEC4->unk8FE7 = 0;
- nextValue = gUnknown_083DFEC4->unk8FE6 + 1;
- gUnknown_083DFEC4->unk8FE6 = nextValue;
- if ((nextValue & mask) == 14)
- break;
- }
- }
- break;
- case 14:
- var0.unk4 = 1;
- var0.unk1 = 14;
- for (i = 0; i < gUnknown_083DFEC4->unk8828; i++)
- {
- if (!GetMonData(&gPlayerParty[i], MON_DATA_IS_EGG))
- {
- var0.partyIdx = i;
- var0.unk0 = GetMonData(&gPlayerParty[i], gUnknown_083DFEC4->unk87D8);
- sub_80F4944(&var0);
- }
- }
-
- sub_80F49F4();
- gUnknown_083DFEC4->unk87DA = gUnknown_083DFEC4->unk8FE4;
- gUnknown_083DFEC4->unk8FE6++;
- break;
- case 15:
- return FALSE;
- }
-
- return TRUE;
-}
-
-void sub_80F4F78(void)
-{
- sub_80F53EC(gUnknown_083DFEC4->unk9040, gUnknown_083DFEC4->unk9004[gUnknown_083DFEC4->unk8fe9]);
- sub_80F5504();
-}
-
-bool8 sub_80F4FB4(void)
-{
- bool8 var0 = sub_80F5504();
- bool8 var1 = sub_80F170C();
- return var0 || var1;
-}
-
-void sub_80F4FDC(void)
-{
- if (gUnknown_083DFEC4->unk76AA || gUnknown_083DFEC4->unk87DC != gUnknown_083DFEC4->unk8828)
- sub_80F53EC(gUnknown_083DFEC4->unk9004[gUnknown_083DFEC4->unk8fe9], gUnknown_083DFEC4->unk9040);
-}
-
-bool8 sub_80F5038(void)
-{
- bool8 var0 = sub_80F5504();
- bool8 var1 = sub_80F173C();
- return var0 || var1;
-}
-
-void sub_80F5060(u8 arg0)
-{
- u16 var0;
- u8 var1;
- u8 var2;
-
- if (arg0)
- var0 = gUnknown_083DFEC4->unk8FEB;
- else
- var0 = gUnknown_083DFEC4->unk8FEA;
-
- sub_80F53EC(gUnknown_083DFEC4->unk9004[gUnknown_083DFEC4->unk8fe9], gUnknown_083DFEC4->unk9004[var0]);
- var1 = gUnknown_083DFEC4->unk893c[gUnknown_083DFEC4->unk87DC].unk4;
- if (arg0)
- {
- gUnknown_083DFEC4->unk8FEB = gUnknown_083DFEC4->unk8FEA;
- gUnknown_083DFEC4->unk8FEA = gUnknown_083DFEC4->unk8fe9;
- gUnknown_083DFEC4->unk8fe9 = var0;
- gUnknown_083DFEC4->unk8FEC = gUnknown_083DFEC4->unk8FEB;
-
- gUnknown_083DFEC4->unk87DC = gUnknown_083DFEC4->unk87DC
- ? gUnknown_083DFEC4->unk87DC - 1
- : gUnknown_083DFEC4->unk87DA - 1;
- gUnknown_083DFEC4->unk8FEE = gUnknown_083DFEC4->unk87DC
- ? gUnknown_083DFEC4->unk87DC - 1
- : gUnknown_083DFEC4->unk87DA - 1;
- }
- else
- {
- gUnknown_083DFEC4->unk8FEA = gUnknown_083DFEC4->unk8FEB;
- gUnknown_083DFEC4->unk8FEB = gUnknown_083DFEC4->unk8fe9;
- gUnknown_083DFEC4->unk8fe9 = var0;
- gUnknown_083DFEC4->unk8FEC = gUnknown_083DFEC4->unk8FEA;
-
- gUnknown_083DFEC4->unk87DC = (gUnknown_083DFEC4->unk87DC < gUnknown_083DFEC4->unk87DA - 1)
- ? gUnknown_083DFEC4->unk87DC + 1
- : 0;
- gUnknown_083DFEC4->unk8FEE = (gUnknown_083DFEC4->unk87DC < gUnknown_083DFEC4->unk87DA - 1)
- ? gUnknown_083DFEC4->unk87DC + 1
- : 0;
- }
-
- var2 = gUnknown_083DFEC4->unk893c[gUnknown_083DFEC4->unk87DC].unk4;
- if (!var1)
- gUnknown_083DFEC4->unk87E0 = sub_80F5264;
- else if (!var2)
- gUnknown_083DFEC4->unk87E0 = sub_80F52F8;
- else
- gUnknown_083DFEC4->unk87E0 = sub_80F5364;
-
- gUnknown_083DFEC4->unk87DE = 0;
-}
-
-bool8 gpu_sync_bg_show(void)
-{
- return gUnknown_083DFEC4->unk87E0();
-}
-
-static bool8 sub_80F5264(void)
-{
- switch (gUnknown_083DFEC4->unk87DE)
- {
- case 0:
- sub_80F2E18(gUnknown_083DFEC4->unk8fe9);
- sub_80F01E0(gUnknown_083DFEC4->unk8fe9);
- gUnknown_083DFEC4->unk87DE++;
- // fall through
- case 1:
- if (!sub_80F4FB4())
- {
- sub_80F4900(gUnknown_083DFEC4->unk8FEE, gUnknown_083DFEC4->unk8FEC);
- gUnknown_083DFEC4->unk87DE++;
- }
- break;
- case 2:
- return FALSE;
- }
-
- return TRUE;
-}
-
-static bool8 sub_80F52F8(void)
-{
- switch (gUnknown_083DFEC4->unk87DE)
- {
- case 0:
- if (!sub_80F5038())
- {
- sub_80F01E0(gUnknown_083DFEC4->unk8fe9);
- sub_80F4900(gUnknown_083DFEC4->unk8FEE, gUnknown_083DFEC4->unk8FEC);
- gUnknown_083DFEC4->unk87DE++;
- }
- break;
- case 1:
- return FALSE;
- }
-
- return TRUE;
-}
-
-static bool8 sub_80F5364(void)
-{
- switch (gUnknown_083DFEC4->unk87DE)
- {
- case 0:
- sub_80F5504();
- if (!sub_80F173C())
- {
- sub_80F2E18(gUnknown_083DFEC4->unk8fe9);
- sub_80F01E0(gUnknown_083DFEC4->unk8fe9);
- gUnknown_083DFEC4->unk87DE++;
- }
- break;
- case 1:
- if (!sub_80F4FB4())
- gUnknown_083DFEC4->unk87DE++;
- break;
- case 2:
- sub_80F4900(gUnknown_083DFEC4->unk8FEE, gUnknown_083DFEC4->unk8FEC);
- return FALSE;
- }
-
- return TRUE;
-}
-
-static void sub_80F53EC(struct UnkPokenav11 *arg0, struct UnkPokenav11 *arg1)
-{
- u16 i, j;
- int r5;
- int r6;
-
- for (i = 0; i < 5; i++)
- {
- r5 = arg0[i].unk0 << 8;
- r6 = ((arg1[i].unk0 - arg0[i].unk0) << 8) / 10;
- for (j = 0; j < 9; j++)
- {
- gUnknown_083DFEC4->unk9054[j][i].unk0 = (r5 >> 8) + ((r5 >> 7) & 1);
- r5 += r6;
- }
-
- gUnknown_083DFEC4->unk9054[j][i].unk0 = arg1[i].unk0;
- r5 = arg0[i].unk2 << 8;
- r6 = ((arg1[i].unk2 - arg0[i].unk2) << 8) / 10;
- for (j = 0; j < 9; j++)
- {
- gUnknown_083DFEC4->unk9054[j][i].unk2 = (r5 >> 8) + ((r5 >> 7) & 1);
- r5 += r6;
- }
-
- gUnknown_083DFEC4->unk9054[j][i].unk2 = arg1[i].unk2;
- }
-
- gUnknown_083DFEC4->unk9342 = 0;
-}
-
-static bool8 sub_80F5504(void)
-{
- if (gUnknown_083DFEC4->unk9342 < 10)
- {
- sub_80F556C(gUnknown_083DFEC4->unk9054[gUnknown_083DFEC4->unk9342++]);
- return gUnknown_083DFEC4->unk9342 != 10;
- }
- else
- {
- return FALSE;
- }
-}
-
-void sub_80F5550(struct UnkPokenav11 *arg0, struct UnkPokenav11 *arg1)
-{
- sub_80F53EC(arg0, arg1);
-}
-
-bool8 sub_80F555C(void)
-{
- return sub_80F5504();
-}
-
-void sub_80F556C(struct UnkPokenav11 *arg0)
-{
- u16 i;
-
- for (i = 0; i < 5; i++)
- gUnknown_083DFEC4->unk911C[i] = arg0[i];
-
- gUnknown_083DFEC4->unk9344 = 1;
+ gPokenavStructPtr->unk300 = gUnknown_03000744;
}
diff --git a/src/region_map.c b/src/region_map.c
index e9ae4599a..7ec1b1976 100644
--- a/src/region_map.c
+++ b/src/region_map.c
@@ -53,106 +53,14 @@ static const u16 sRegionMapBkgnd_Pal[] = INCBIN_U16("graphics/pokenav/region_map
static const u8 sRegionMapBkgnd_ImageLZ[] = INCBIN_U8("graphics/pokenav/region_map.8bpp.lz");
static const u8 sRegionMapBkgnd_TilemapLZ[] = INCBIN_U8("graphics/pokenav/region_map_map.bin.lz");
-#include "data/region_map_layout.h"
+static const u8 sRegionMapLayout[] = INCBIN_U8("graphics/pokenav/region_map_section_layout.bin");
#if ENGLISH
-#include "data/region_map_names_en.h"
+#include "data/region_map/region_map_entries.h"
#elif GERMAN
-#include "data/region_map_names_de.h"
+#include "data/region_map/region_map_entries_de.h"
#endif
-const struct RegionMapLocation gRegionMapLocations[] =
-{
- { 4, 11, 1, 1, gMapName_LittlerootTown},
- { 4, 9, 1, 1, gMapName_OldaleTown},
- { 2, 14, 1, 1, gMapName_DewfordTown},
- { 5, 3, 1, 1, gMapName_LavaridgeTown},
- { 3, 0, 1, 1, gMapName_FallarborTown},
- { 4, 6, 1, 1, gMapName_VerdanturfTown},
- {17, 10, 1, 1, gMapName_PacifidlogTown},
- { 1, 9, 1, 1, gMapName_PetalburgCity},
- { 8, 10, 1, 2, gMapName_SlateportCity},
- { 8, 6, 2, 1, gMapName_MauvilleCity},
- { 0, 5, 1, 2, gMapName_RustboroCity},
- {12, 0, 1, 1, gMapName_FortreeCity},
- {18, 3, 2, 1, gMapName_LilycoveCity},
- {24, 5, 2, 1, gMapName_MossdeepCity},
- {21, 7, 1, 1, gMapName_SootopolisCity},
- {27, 8, 1, 2, gMapName_EverGrandeCity},
- { 4, 10, 1, 1, gMapName_Route101},
- { 2, 9, 2, 1, gMapName_Route102},
- { 4, 8, 4, 1, gMapName_Route103},
- { 0, 7, 1, 3, gMapName_Route104},
- { 0, 10, 1, 3, gMapName_Route105},
- { 0, 13, 2, 1, gMapName_Route106},
- { 3, 14, 3, 1, gMapName_Route107},
- { 6, 14, 2, 1, gMapName_Route108},
- { 8, 12, 1, 3, gMapName_Route109},
- { 8, 7, 1, 3, gMapName_Route110},
- { 8, 0, 1, 6, gMapName_Route111},
- { 6, 3, 2, 1, gMapName_Route112},
- { 4, 0, 4, 1, gMapName_Route113},
- { 1, 0, 2, 3, gMapName_Route114},
- { 0, 2, 1, 3, gMapName_Route115},
- { 1, 5, 4, 1, gMapName_Route116},
- { 5, 6, 3, 1, gMapName_Route117},
- {10, 6, 2, 1, gMapName_Route118},
- {11, 0, 1, 6, gMapName_Route119},
- {13, 0, 1, 4, gMapName_Route120},
- {14, 3, 4, 1, gMapName_Route121},
- {16, 4, 1, 2, gMapName_Route122},
- {12, 6, 5, 1, gMapName_Route123},
- {20, 3, 4, 3, gMapName_Route124},
- {24, 3, 2, 2, gMapName_Route125},
- {20, 6, 3, 3, gMapName_Route126},
- {23, 6, 3, 3, gMapName_Route127},
- {23, 9, 4, 1, gMapName_Route128},
- {24, 10, 2, 1, gMapName_Route129},
- {21, 10, 3, 1, gMapName_Route130},
- {18, 10, 3, 1, gMapName_Route131},
- {15, 10, 2, 1, gMapName_Route132},
- {12, 10, 3, 1, gMapName_Route133},
- { 9, 10, 3, 1, gMapName_Route134},
- {20, 3, 4, 3, gMapName_Underwater},
- {20, 6, 3, 3, gMapName_Underwater},
- {23, 6, 3, 3, gMapName_Underwater},
- {23, 9, 4, 1, gMapName_Underwater},
- {21, 7, 1, 1, gMapName_Underwater},
- { 1, 13, 1, 1, gMapName_GraniteCave},
- { 6, 2, 1, 1, gMapName_MtChimney},
- {16, 2, 1, 1, gMapName_SafariZone},
- {22, 12, 1, 1, gMapName_BattleTower},
- { 0, 8, 1, 1, gMapName_PetalburgWoods},
- { 2, 5, 1, 1, gMapName_RusturfTunnel},
- { 6, 14, 1, 1, gMapName_AbandonedShip},
- { 8, 7, 1, 1, gMapName_NewMauville},
- { 0, 3, 1, 1, gMapName_MeteorFalls},
- { 1, 2, 1, 1, gMapName_MeteorFalls},
- {16, 4, 1, 1, gMapName_MtPyre},
- {19, 3, 1, 1, gMapName_EvilTeamHideout},
- {24, 4, 1, 1, gMapName_ShoalCave},
- {24, 9, 1, 1, gMapName_SeafloorCavern},
- {24, 9, 1, 1, gMapName_Underwater},
- {27, 9, 1, 1, gMapName_VictoryRoad},
- {17, 10, 1, 1, gMapName_MirageIsland},
- {21, 7, 1, 1, gMapName_CaveOfOrigin},
- {12, 14, 1, 1, gMapName_SouthernIsland},
- { 6, 3, 1, 1, gMapName_FieryPath},
- { 7, 3, 1, 1, gMapName_FieryPath},
- { 6, 3, 1, 1, gMapName_JaggedPass},
- { 7, 2, 1, 1, gMapName_JaggedPass},
- {11, 10, 1, 1, gMapName_SealedChamber},
- {11, 10, 1, 1, gMapName_Underwater},
- {13, 0, 1, 1, gMapName_ScorchedSlab},
- {0, 10, 1, 1, gMapName_IslandCave},
- { 8, 3, 1, 1, gMapName_DesertRuins},
- {13, 2, 1, 1, gMapName_AncientTomb},
- { 0, 0, 1, 1, gMapName_InsideOfTruck},
- {19, 10, 1, 1, gMapName_SkyPillar},
- { 0, 0, 1, 1, gMapName_SecretBase},
- { 0, 0, 1, 1, gMapName_None},
-};
-
static const u16 sUnderwaterMaps[][2] =
{
{MAPSEC_UNDERWATER_124, MAPSEC_ROUTE_124},
@@ -167,7 +75,7 @@ static const u16 sUnderwaterMaps[][2] =
{MAPSEC_JAGGED_PASS, MAPSEC_ROUTE_112},
{MAPSEC_MT_PYRE, MAPSEC_ROUTE_122},
{MAPSEC_SKY_PILLAR, MAPSEC_ROUTE_131},
- {MAPSEC_NOTHING, MAPSEC_NOTHING},
+ {MAPSEC_NONE, MAPSEC_NONE},
};
static u8 sub_80FAB78(void);
@@ -595,7 +503,7 @@ void RegionMapDefaultZoomOffsetPlayerSprite(s16 a, s16 b)
static u16 GetRegionMapSectionAt(u16 x, u16 y)
{
if (y < MAPCURSOR_Y_MIN || y > MAPCURSOR_Y_MAX || x < MAPCURSOR_X_MIN || x > MAPCURSOR_X_MAX)
- return MAPSEC_NOTHING;
+ return MAPSEC_NONE;
y -= MAPCURSOR_Y_MIN;
x -= MAPCURSOR_X_MIN;
return sRegionMapLayout[x + y * 28];
@@ -683,19 +591,19 @@ static void InitializeCursorPosition(void)
r9 = x;
- r1 = mapWidth / gRegionMapLocations[gRegionMap->mapSectionId].width;
+ r1 = mapWidth / gRegionMapEntries[gRegionMap->mapSectionId].width;
if (r1 == 0)
r1 = 1;
x /= r1;
- if (x >= gRegionMapLocations[gRegionMap->mapSectionId].width)
- x = gRegionMapLocations[gRegionMap->mapSectionId].width - 1;
+ if (x >= gRegionMapEntries[gRegionMap->mapSectionId].width)
+ x = gRegionMapEntries[gRegionMap->mapSectionId].width - 1;
- r1 = mapHeight / gRegionMapLocations[gRegionMap->mapSectionId].height;
+ r1 = mapHeight / gRegionMapEntries[gRegionMap->mapSectionId].height;
if (r1 == 0)
r1 = 1;
y /= r1;
- if (y >= gRegionMapLocations[gRegionMap->mapSectionId].height)
- y = gRegionMapLocations[gRegionMap->mapSectionId].height - 1;
+ if (y >= gRegionMapEntries[gRegionMap->mapSectionId].height)
+ y = gRegionMapEntries[gRegionMap->mapSectionId].height - 1;
switch (gRegionMap->mapSectionId)
{
@@ -726,8 +634,8 @@ static void InitializeCursorPosition(void)
x++;
break;
}
- gRegionMap->cursorPosX = gRegionMapLocations[gRegionMap->mapSectionId].x + x + MAPCURSOR_X_MIN;
- gRegionMap->cursorPosY = gRegionMapLocations[gRegionMap->mapSectionId].y + y + MAPCURSOR_Y_MIN;
+ gRegionMap->cursorPosX = gRegionMapEntries[gRegionMap->mapSectionId].x + x + MAPCURSOR_X_MIN;
+ gRegionMap->cursorPosY = gRegionMapEntries[gRegionMap->mapSectionId].y + y + MAPCURSOR_Y_MIN;
}
static void sub_80FB600(void)
@@ -760,32 +668,32 @@ static void sub_80FB600(void)
u16 r1;
gRegionMap->mapSectionId = mapHeader->regionMapSectionId;
- r1 = mapHeader->mapLayout->width / gRegionMapLocations[gRegionMap->mapSectionId].width;
+ r1 = mapHeader->mapLayout->width / gRegionMapEntries[gRegionMap->mapSectionId].width;
if (r1 == 0)
r1 = 1;
x = sp2 / r1;
- if (x >= gRegionMapLocations[gRegionMap->mapSectionId].width)
- x = gRegionMapLocations[gRegionMap->mapSectionId].width - 1;
+ if (x >= gRegionMapEntries[gRegionMap->mapSectionId].width)
+ x = gRegionMapEntries[gRegionMap->mapSectionId].width - 1;
- r1 = mapHeader->mapLayout->height / gRegionMapLocations[gRegionMap->mapSectionId].height;
+ r1 = mapHeader->mapLayout->height / gRegionMapEntries[gRegionMap->mapSectionId].height;
if (r1 == 0)
r1 = 1;
y = sp4 / r1;
- if (y >= gRegionMapLocations[gRegionMap->mapSectionId].height)
- y = gRegionMapLocations[gRegionMap->mapSectionId].height - 1;
+ if (y >= gRegionMapEntries[gRegionMap->mapSectionId].height)
+ y = gRegionMapEntries[gRegionMap->mapSectionId].height - 1;
}
break;
}
gRegionMap->playerIsInCave = FALSE;
- gRegionMap->cursorPosX = gRegionMapLocations[gRegionMap->mapSectionId].x + x + MAPCURSOR_X_MIN;
- gRegionMap->cursorPosY = gRegionMapLocations[gRegionMap->mapSectionId].y + y + MAPCURSOR_Y_MIN;
+ gRegionMap->cursorPosX = gRegionMapEntries[gRegionMap->mapSectionId].x + x + MAPCURSOR_X_MIN;
+ gRegionMap->cursorPosY = gRegionMapEntries[gRegionMap->mapSectionId].y + y + MAPCURSOR_Y_MIN;
}
static u16 sub_80FB758(u16 mapSectionId)
{
switch (mapSectionId)
{
- case MAPSEC_NOTHING:
+ case MAPSEC_NONE:
return 0;
case MAPSEC_LITTLEROOT_TOWN:
return FlagGet(FLAG_VISITED_LITTLEROOT_TOWN) ? 2 : 3;
@@ -838,7 +746,7 @@ static u16 GetOverworldMapFromUnderwaterMap_(u16 mapSectionId)
{
u16 i;
- for (i = 0; sUnderwaterMaps[i][0] != MAPSEC_NOTHING; i++)
+ for (i = 0; sUnderwaterMaps[i][0] != MAPSEC_NONE; i++)
{
if (sUnderwaterMaps[i][0] == mapSectionId)
return sUnderwaterMaps[i][1];
@@ -857,7 +765,7 @@ static void sub_80FBA18(void)
u16 y;
u16 i;
- if (gRegionMap->mapSectionId == MAPSEC_NOTHING)
+ if (gRegionMap->mapSectionId == MAPSEC_NONE)
{
gRegionMap->everGrandeCityArea = 0;
return;
@@ -1212,8 +1120,8 @@ const u8 *GetMapSectionName(u8 *dest, u16 mapSectionId, u16 length)
{
if (mapSectionId == MAPSEC_SECRET_BASE)
return GetSecretBaseMapName(dest);
- if (mapSectionId < MAPSEC_NOTHING)
- return StringCopy(dest, gRegionMapLocations[mapSectionId].regionMapSectionId);
+ if (mapSectionId < MAPSEC_NONE)
+ return StringCopy(dest, gRegionMapEntries[mapSectionId].regionMapSectionId);
if (length == 0)
length = 18;
return StringFill(dest, CHAR_SPACE, length);
@@ -1242,10 +1150,10 @@ const u8 *CopyLocationName(u8 *dest, u16 mapSectionId)
static void GetRegionMapLocationPosition(u16 mapSectionId, u16 *x, u16 *y, u16 *width, u16 *height)
{
- *x = gRegionMapLocations[mapSectionId].x;
- *y = gRegionMapLocations[mapSectionId].y;
- *width = gRegionMapLocations[mapSectionId].width;
- *height = gRegionMapLocations[mapSectionId].height;
+ *x = gRegionMapEntries[mapSectionId].x;
+ *y = gRegionMapEntries[mapSectionId].y;
+ *width = gRegionMapEntries[mapSectionId].width;
+ *height = gRegionMapEntries[mapSectionId].height;
}
struct UnknownStruct3
@@ -1344,7 +1252,7 @@ static const u16 sSpecialFlyAreas[][2] =
{
// flag, mapSectionId
{FLAG_LANDMARK_BATTLE_TOWER, MAPSEC_BATTLE_TOWER},
- {0xFFFF, MAPSEC_NOTHING},
+ {0xFFFF, MAPSEC_NONE},
};
static const struct OamData sFlyTargetOamData =
@@ -1609,7 +1517,7 @@ static void CreateSpecialAreaFlyTargetIcons(void)
{
u16 i;
- for (i = 0; sSpecialFlyAreas[i][1] != MAPSEC_NOTHING; i++)
+ for (i = 0; sSpecialFlyAreas[i][1] != MAPSEC_NONE; i++)
{
u16 x;
u16 y;
diff --git a/src/trainers_eye.c b/src/trainers_eye.c
new file mode 100644
index 000000000..f4ad50c6d
--- /dev/null
+++ b/src/trainers_eye.c
@@ -0,0 +1,263 @@
+#include "global.h"
+#include "main.h"
+#include "decompress.h"
+#include "battle_setup.h"
+#include "overworld.h"
+#include "pokenav.h"
+#include "battle.h"
+#include "data2.h"
+#include "constants/opponents.h"
+#include "constants/region_map_sections.h"
+#include "text.h"
+#include "de_rom_8040FE0.h"
+#include "string_util.h"
+
+struct TrainersEyeGymLeadersAndE4
+{
+ u16 opponentId;
+ u16 regionMapSectionId;
+};
+
+static const struct TrainersEyeGymLeadersAndE4 sGymLeaderTrainersEye[13] = {
+ {TRAINER_ROXANNE, MAPSEC_RUSTBORO_CITY},
+ {TRAINER_BRAWLY, MAPSEC_DEWFORD_TOWN},
+ {TRAINER_WATTSON, MAPSEC_MAUVILLE_CITY},
+ {TRAINER_FLANNERY, MAPSEC_LAVARIDGE_TOWN},
+ {TRAINER_NORMAN, MAPSEC_PETALBURG_CITY},
+ {TRAINER_WINONA, MAPSEC_FORTREE_CITY},
+ {TRAINER_TATE_AND_LIZA, MAPSEC_MOSSDEEP_CITY},
+ {TRAINER_WALLACE, MAPSEC_SOOTOPOLIS_CITY},
+ {TRAINER_SIDNEY, MAPSEC_EVER_GRANDE_CITY},
+ {TRAINER_PHOEBE, MAPSEC_EVER_GRANDE_CITY},
+ {TRAINER_GLACIA, MAPSEC_EVER_GRANDE_CITY},
+ {TRAINER_DRAKE, MAPSEC_EVER_GRANDE_CITY},
+ {TRAINER_STEVEN, MAPSEC_EVER_GRANDE_CITY}
+};
+
+void sub_80F6E04(u8);
+
+void sub_80F6C20(void)
+{
+ u16 i;
+
+ gPokenavStructPtr->unkD158 = 0;
+
+ for (i = 0; i < 56; i++)
+ {
+ if (HasTrainerAlreadyBeenFought(gTrainerEyeTrainers[i].opponentIDs[0]))
+ {
+ gPokenavStructPtr->trainersEye[gPokenavStructPtr->unkD158].opponentId = gTrainerEyeTrainers[i].opponentIDs[0];
+ gPokenavStructPtr->trainersEye[gPokenavStructPtr->unkD158].rematchTableIdx = i;
+ gPokenavStructPtr->trainersEye[gPokenavStructPtr->unkD158].rematchNo = gSaveBlock1.trainerRematches[i];
+ gPokenavStructPtr->trainersEye[gPokenavStructPtr->unkD158].regionMapSectionId = Overworld_GetMapHeaderByGroupAndId(gTrainerEyeTrainers[i].mapGroup, gTrainerEyeTrainers[i].mapNum)->regionMapSectionId;
+ gPokenavStructPtr->unkD158++;
+ }
+ }
+
+ for (i = 0; i < 13; i++)
+ {
+ {
+ if (HasTrainerAlreadyBeenFought(sGymLeaderTrainersEye[i].opponentId))
+ {
+ gPokenavStructPtr->trainersEye[gPokenavStructPtr->unkD158].opponentId = sGymLeaderTrainersEye[i].opponentId;
+ gPokenavStructPtr->trainersEye[gPokenavStructPtr->unkD158].regionMapSectionId = sGymLeaderTrainersEye[i].regionMapSectionId;
+ gPokenavStructPtr->trainersEye[gPokenavStructPtr->unkD158].rematchNo = 0;
+ gPokenavStructPtr->trainersEye[gPokenavStructPtr->unkD158].rematchTableIdx = i + 0x38;
+ gPokenavStructPtr->unkD158++;
+ }
+ }
+ }
+
+ gPokenavStructPtr->unk876C = 0;
+ gPokenavStructPtr->unk8770 = 0;
+ gPokenavStructPtr->unk876E = 0;
+ gPokenavStructPtr->unk8772 = gPokenavStructPtr->unkD158 <= 8 ? gPokenavStructPtr->unkD158 - 1 : 7;
+ gPokenavStructPtr->unk8774 = gPokenavStructPtr->unkD158 - 1;
+ gPokenavStructPtr->unk87C9 = gPokenavStructPtr->unk8774 < 8 ? 0 : 1;
+}
+
+void sub_80F6DB8(void)
+{
+ s32 r1 = 0;
+ gPokenavStructPtr->unk8fe9 = r1;
+ sub_80F6E04(0);
+ gPokenavStructPtr->unkD15A = -72;
+ sub_80F2F7C(0);
+ gPokenavStructPtr->unk87DC = gPokenavStructPtr->unk876E;
+}
+
+void sub_80F6E04(u8 a0)
+{
+ u16 r1 = gPokenavStructPtr->trainersEye[gPokenavStructPtr->unk876E].opponentId;
+ u8 r6 = gTrainers[r1].trainerPic;
+ DecompressPicFromTable_2(&gTrainerFrontPicTable[r6], gTrainerFrontPicCoords[r6].coords, 1, gPokenavStructPtr->unk131E4, gPokenavStructPtr->unkD1E4[a0], r6);
+ LZ77UnCompWram(gTrainerFrontPicPaletteTable[r6].data, gPokenavStructPtr->unk0[a0]);
+}
+
+bool8 sub_80F6E9C(void)
+{
+ if (gPokenavStructPtr->unkD15A == 0)
+ {
+ return FALSE;
+ }
+ if ((gPokenavStructPtr->unkD15A += 8) >= 0)
+ {
+ gPokenavStructPtr->unkD15A = 0;
+ return FALSE;
+ }
+ return TRUE;
+}
+
+bool8 sub_80F6ED4(void)
+{
+ if (gPokenavStructPtr->unkD15A == -72)
+ {
+ return FALSE;
+ }
+ if ((gPokenavStructPtr->unkD15A -= 8) <= -72)
+ {
+ gPokenavStructPtr->unkD15A = -72;
+ return FALSE;
+ }
+ return TRUE;
+}
+
+void sub_80F6F10(void)
+{
+ gPokenavStructPtr->unkD15E = 0;
+ gPokenavStructPtr->unkD15F = 0;
+ REG_BLDCNT = BLDCNT_TGT1_BG3 | BLDCNT_EFFECT_DARKEN;
+ REG_BLDY = 0;
+ REG_WININ = 0x3F3F;
+ REG_WINOUT = 0x1F1F;
+ sub_80F6FB8(0);
+}
+
+void sub_80F6F64(void)
+{
+ if (++gPokenavStructPtr->unkD15E > 8)
+ {
+ gPokenavStructPtr->unkD15E = 0;
+ ++gPokenavStructPtr->unkD15F;
+ if (gPokenavStructPtr->unkD15F & 1)
+ REG_BLDY = 6;
+ else
+ REG_BLDY = 0;
+ }
+}
+
+void sub_80F6FB8(bool8 a0)
+{
+ if (!a0)
+ {
+ REG_WIN0H = -0x1710;
+ REG_WIN0V = 0x888;
+ }
+ else
+ {
+ REG_WIN0H = -0x1710;
+ REG_WIN0V = 0x818;
+ }
+}
+
+void sub_80F6FFC(void)
+{
+ REG_BLDCNT = 0;
+ REG_BLDY = 0;
+}
+
+void sub_80F700C(u8 *arg0, u16 arg1)
+{
+ const struct Trainer *trainer = &gTrainers[gPokenavStructPtr->trainersEye[arg1].opponentId];
+ u8 *ptr = arg0;
+
+ ptr = arg0;
+ if (arg1 < gPokenavStructPtr->unkD158)
+ {
+#if ENGLISH
+ ptr = StringCopy(ptr, gTrainerClassNames[trainer->trainerClass]);
+#elif GERMAN
+ ptr = StringCopy(ptr, de_sub_8041024(0, gPokenavStructPtr->trainersEye[arg1].opponentId));
+#endif
+
+ ptr[0] = EXT_CTRL_CODE_BEGIN;
+ ptr[1] = 0x13;
+ ptr[2] = 0x4B;
+ ptr += 3;
+ ptr = StringCopy(ptr, trainer->trainerName);
+ }
+
+ ptr[0] = EXT_CTRL_CODE_BEGIN;
+ ptr[1] = 0x13;
+ ptr[2] = 0x80;
+ ptr[3] = 0xFF;
+}
+
+void sub_80F708C(s8 a0)
+{
+ gPokenavStructPtr->unk876E += a0;
+ if (gPokenavStructPtr->unk876E < 0)
+ {
+ gPokenavStructPtr->unk876E = gPokenavStructPtr->unk8774;
+ }
+ if (gPokenavStructPtr->unk876E > gPokenavStructPtr->unk8774)
+ {
+ gPokenavStructPtr->unk876E = 0;
+ }
+ gPokenavStructPtr->unkBC94 = a0;
+ gPokenavStructPtr->unk87DC = gPokenavStructPtr->unk876E;
+ gPokenavStructPtr->unk87DE = 0;
+}
+
+bool8 sub_80F70FC(void)
+{
+ switch (gPokenavStructPtr->unk87DE)
+ {
+ case 0:
+ if (!sub_80F6ED4())
+ gPokenavStructPtr->unk87DE++;
+ break;
+ case 1:
+ sub_80F6E04(0);
+ gPokenavStructPtr->unk87DE++;
+ break;
+ case 2:
+ sub_80F2F7C(0);
+ gPokenavStructPtr->unk87DE++;
+ break;
+ case 3:
+ sub_80F700C(gPokenavStructPtr->unk8788, gPokenavStructPtr->unk876E);
+ sub_80F43D4(gPokenavStructPtr->unk8788);
+ sub_80F105C();
+ sub_80F0FFC(gPokenavStructPtr->unk876E);
+ gPokenavStructPtr->unk87DE++;
+ break;
+ case 4:
+ LoadTrainerEyesDescriptionLines();
+ gPokenavStructPtr->unkBC95 = 0;
+ gPokenavStructPtr->unk87DE++;
+ // fallthrough
+ case 5:
+ if (gPokenavStructPtr->unkBC95 < 2){
+ sub_80F0D5C();
+ gPokenavStructPtr->unkBC95++;
+ break;
+ }
+ gPokenavStructPtr->unk87DE++;
+ // fallthrough
+ case 6:
+ if (!sub_80F6E9C() && !sub_80F0D5C())
+ gPokenavStructPtr->unk87DE++;
+ break;
+ default:
+ return FALSE;
+ }
+
+ return TRUE;
+}
+
+void sub_80F7224(u8 a0)
+{
+ u8 sheen = GetMonData(&gPlayerParty[a0], MON_DATA_SHEEN);
+ gPokenavStructPtr->unk8931[gPokenavStructPtr->unk8fe9] = sheen != 255 ? sheen / 29 : 9;
+}
diff --git a/src/use_pokeblock.c b/src/use_pokeblock.c
index c8506fbcf..e13369c0b 100644
--- a/src/use_pokeblock.c
+++ b/src/use_pokeblock.c
@@ -138,10 +138,10 @@ static void sub_81371DC(struct Sprite *);
void sub_8136130(struct Pokeblock *pokeblock, MainCallback callback)
{
- gUnknown_02039304 = &gUnknown_083DFEC4->unkD164;
+ gUnknown_02039304 = &gPokenavStructPtr->unkD164;
gUnknown_02039304->pokeblock = pokeblock;
gUnknown_02039304->callback = callback;
- gUnknown_083DFEC4->unkD162 = 2;
+ gPokenavStructPtr->unkD162 = 2;
launch_c3_walk_stairs_and_run_once(sub_8136294);
SetMainCallback2(sub_8136244);
}
@@ -152,7 +152,7 @@ static void sub_8136174(void)
gUnknown_02039304->callback = gUnknown_02039308;
gPokeblockMonID = sub_81370E4(gPokeblockMonID);
gUnknown_02039304->unk56 = gPokeblockMonID < 4 ? 0 : 1;
- gUnknown_083DFEC4->unkD162 = 2;
+ gPokenavStructPtr->unkD162 = 2;
launch_c3_walk_stairs_and_run_once(sub_8136294);
SetMainCallback2(sub_81361E4);
}
@@ -209,7 +209,7 @@ static void sub_8136294(void)
{
case 0:
c1LinkRelatedActive = is_c1_link_related_active();
- gUnknown_083DFEC4->unk6DAC = c1LinkRelatedActive;
+ gPokenavStructPtr->unk6DAC = c1LinkRelatedActive;
if ((bool8)c1LinkRelatedActive == FALSE)
{
gUnknown_02039304->unk55 = 0;
@@ -241,9 +241,9 @@ static void sub_8136294(void)
}
break;
case 6:
- gUnknown_083DFEC4->unk76AA = 0;
- gUnknown_083DFEC4->unk87E0 = NULL;
- gUnknown_083DFEC4->unk030C = 0x20;
+ gPokenavStructPtr->unk76AA = 0;
+ gPokenavStructPtr->unk87E0 = NULL;
+ gPokenavStructPtr->unk030C = 0x20;
gUnknown_02039304->unk50++;
break;
case 7:
@@ -268,11 +268,11 @@ static void sub_8136294(void)
break;
case 11:
gKeyRepeatStartDelay = 20;
- gUnknown_083DFEC4->unk8828 = CalculatePlayerPartyCount();
- gUnknown_083DFEC4->unk9344 = 0;
- gUnknown_083DFEC4->unk8768 = NULL;
+ gPokenavStructPtr->unk8828 = CalculatePlayerPartyCount();
+ gPokenavStructPtr->unk9344 = 0;
+ gPokenavStructPtr->unk8768 = NULL;
sub_80F4BD0();
- gUnknown_083DFEC4->unkD160 = 0;
+ gPokenavStructPtr->unkD160 = 0;
gUnknown_02039304->unk50++;
break;
case 12:
@@ -285,7 +285,7 @@ static void sub_8136294(void)
break;
case 13:
sub_80F2E18(0);
- gUnknown_083DFEC4->unk8768->pos2.y = 0xffd8;
+ gPokenavStructPtr->unk8768->pos2.y = 0xffd8;
gUnknown_02039304->unk50++;
break;
case 14:
@@ -306,7 +306,7 @@ static void sub_8136294(void)
gUnknown_02039304->unk50++;
break;
case 17:
- sub_80F567C(&gUnknown_083DFEC4->unk8ff0, gUnknown_083DFEC4->unk9004);
+ sub_80F567C(gPokenavStructPtr->unk8ff0[0], gPokenavStructPtr->unk9004[0]);
sub_80F5B38();
gUnknown_02039304->unk50++;
break;
@@ -317,7 +317,7 @@ static void sub_8136294(void)
}
break;
case 19:
- sub_80F556C(gUnknown_083DFEC4->unk9004[0]);
+ sub_80F556C(gPokenavStructPtr->unk9004[0]);
gUnknown_02039304->unk50++;
break;
case 20:
@@ -396,7 +396,7 @@ static void sub_8136638(void)
else if (gMain.newKeys & A_BUTTON)
{
PlaySE(SE_SELECT);
- if (gUnknown_083DFEC4->unk87DC == gUnknown_083DFEC4->unk87DA - 1)
+ if (gPokenavStructPtr->unk87DC == gPokenavStructPtr->unk87DA - 1)
{
gUnknown_02039304->unk50 = 3;
}
@@ -464,7 +464,7 @@ static void sub_8136808(void)
switch (gUnknown_02039304->unk50)
{
case 0:
- gPokeblockMonID = sub_81370A4(gUnknown_083DFEC4->unk87DC);
+ gPokeblockMonID = sub_81370A4(gPokenavStructPtr->unk87DC);
gUnknown_02039308 = gUnknown_02039304->callback;
gUnknown_0203930C = gUnknown_02039304->pokeblock;
BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0));
@@ -485,7 +485,7 @@ static void sub_81368A4(void)
switch (gUnknown_02039304->unk50)
{
case 0:
- if (gUnknown_083DFEC4->unk87DC != gPokeblockMonID)
+ if (gPokenavStructPtr->unk87DC != gPokeblockMonID)
{
sub_80F5060(gUnknown_02039304->unk56);
gUnknown_02039304->unk50++;
@@ -539,7 +539,7 @@ static void sub_81369CC(void)
{
case 0:
gUnknown_02039304->pokemon = &gPlayerParty[0];
- gUnknown_02039304->pokemon = &gPlayerParty[gUnknown_083DFEC4->unk893c[gUnknown_083DFEC4->unk87DC].partyIdx];
+ gUnknown_02039304->pokemon = &gPlayerParty[gPokenavStructPtr->unk893c[gPokenavStructPtr->unk87DC].partyIdx];
move_anim_execute();
gUnknown_02039304->unk50++;
break;
@@ -549,15 +549,15 @@ static void sub_81369CC(void)
break;
case 2:
sub_8136EF0();
- sub_80F567C(gUnknown_02039304->unk5c, gUnknown_083DFEC4->unk9040);
- sub_80F5550(gUnknown_083DFEC4->unk9004[gUnknown_083DFEC4->unk8fe9], gUnknown_083DFEC4->unk9040);
+ sub_80F567C(gUnknown_02039304->unk5c, gPokenavStructPtr->unk9004[3]);
+ sub_80F5550(gPokenavStructPtr->unk9004[gPokenavStructPtr->unk8fe9], gPokenavStructPtr->unk9004[3]);
sub_8137138();
gUnknown_02039304->unk50++;
break;
case 3:
if (!sub_80F555C())
{
- sub_80F7224(sub_81370A4(gUnknown_083DFEC4->unk87DC));
+ sub_80F7224(sub_81370A4(gPokenavStructPtr->unk87DC));
sub_80F3D00();
gUnknown_02039304->unk52 = 0;
gUnknown_02039304->unk50++;
@@ -606,7 +606,7 @@ static void sub_8136B44(void)
static void sub_8136BB8(void)
{
- GetMonData(&gPlayerParty[sub_81370A4(gUnknown_083DFEC4->unk87DC)], MON_DATA_NICKNAME, gUnknown_02039304->stringBuffer);
+ GetMonData(&gPlayerParty[sub_81370A4(gPokenavStructPtr->unk87DC)], MON_DATA_NICKNAME, gUnknown_02039304->stringBuffer);
StringGetEnd10(gUnknown_02039304->stringBuffer);
StringAppend(gUnknown_02039304->stringBuffer, gOtherText_GetsAPokeBlock);
BasicInitMenuWindow(&gWindowTemplate_81E709C);
@@ -781,7 +781,7 @@ static void sub_8136EF0(void)
{
u16 i;
struct Pokemon *pokemon = gPlayerParty;
- pokemon += gUnknown_083DFEC4->unk893c[gUnknown_083DFEC4->unk87DC].partyIdx;
+ pokemon += gPokenavStructPtr->unk893c[gPokenavStructPtr->unk87DC].partyIdx;
Pokeblock_GetMonContestStats(pokemon, gUnknown_02039304->unk57);
sub_8136E40(gUnknown_02039304->pokeblock, pokemon);
Pokeblock_GetMonContestStats(pokemon, gUnknown_02039304->unk5c);
@@ -826,7 +826,7 @@ static void sub_8136F74(struct Pokeblock *pokeblock, struct Pokemon *pokemon)
static bool8 sub_8137058(void)
{
struct Pokemon *pokemon = gPlayerParty;
- pokemon += gUnknown_083DFEC4->unk893c[gUnknown_083DFEC4->unk87DC].partyIdx;
+ pokemon += gPokenavStructPtr->unk893c[gPokenavStructPtr->unk87DC].partyIdx;
if (GetMonData(pokemon, MON_DATA_SHEEN) == 255)
return TRUE;
return FALSE;
diff --git a/sym_ewram.txt b/sym_ewram.txt
index 20a845653..f9596fea3 100644
--- a/sym_ewram.txt
+++ b/sym_ewram.txt
@@ -86,25 +86,7 @@ gCurrentActionFuncId = .; /* 2024A7F */
. += 0x1;
gBattleMons = .; /* 2024A80 */
- . += 0xC;
-
-gUnknown_02024A8C = .; /* 2024A8C */
- . += 0xC;
-
-gUnknown_02024A98 = .; /* 2024A98 */
- . += 0xC;
-
-gUnknown_02024AA4 = .; /* 2024AA4 */
- . += 0x4;
-
-gUnknown_02024AA8 = .; /* 2024AA8 */
- . += 0x24;
-
-gUnknown_02024ACC = .; /* 2024ACC */
- . += 0x4;
-
-gUnknown_02024AD0 = .; /* 2024AD0 */
- . += 0x110;
+ . += 0x160;
gBankSpriteIds = .; /* 2024BE0 */
. += 0x4;
@@ -169,7 +151,7 @@ gBattlescriptCurrInstr = .; /* 2024C10 */
gActionForBanks = .; /* 2024C18 */
. += 0x4;
-gUnknown_02024C1C = .; /* 2024C1C */
+gSelectionBattleScripts = .; /* 2024C1C */
. += 0x10;
gUnknown_02024C2C = .; /* 2024C2C */
diff --git a/tools/mapjson/.gitignore b/tools/mapjson/.gitignore
new file mode 100755
index 000000000..a5d568479
--- /dev/null
+++ b/tools/mapjson/.gitignore
@@ -0,0 +1 @@
+mapjson
diff --git a/tools/mapjson/Makefile b/tools/mapjson/Makefile
new file mode 100755
index 000000000..9a49be506
--- /dev/null
+++ b/tools/mapjson/Makefile
@@ -0,0 +1,18 @@
+CXX := g++
+
+CXXFLAGS := -Wall -std=c++11 -O2
+
+SRCS := json11.cpp mapjson.cpp
+
+HEADERS := mapjson.h
+
+.PHONY: all clean
+
+all: mapjson
+ @:
+
+mapjson: $(SRCS) $(HEADERS)
+ $(CXX) $(CXXFLAGS) $(SRCS) -o $@ $(LDFLAGS)
+
+clean:
+ $(RM) mapjson mapjson.exe
diff --git a/tools/mapjson/json11.cpp b/tools/mapjson/json11.cpp
new file mode 100755
index 000000000..1da530206
--- /dev/null
+++ b/tools/mapjson/json11.cpp
@@ -0,0 +1,786 @@
+/* Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ */
+
+#include "json11.h"
+#include <cassert>
+#include <cmath>
+#include <cstdlib>
+#include <cstdio>
+#include <limits>
+
+namespace json11 {
+
+static const int max_depth = 200;
+
+using std::string;
+using std::vector;
+using std::map;
+using std::make_shared;
+using std::initializer_list;
+using std::move;
+
+/* Helper for representing null - just a do-nothing struct, plus comparison
+ * operators so the helpers in JsonValue work. We can't use nullptr_t because
+ * it may not be orderable.
+ */
+struct NullStruct {
+ bool operator==(NullStruct) const { return true; }
+ bool operator<(NullStruct) const { return false; }
+};
+
+/* * * * * * * * * * * * * * * * * * * *
+ * Serialization
+ */
+
+static void dump(NullStruct, string &out) {
+ out += "null";
+}
+
+static void dump(double value, string &out) {
+ if (std::isfinite(value)) {
+ char buf[32];
+ snprintf(buf, sizeof buf, "%.17g", value);
+ out += buf;
+ } else {
+ out += "null";
+ }
+}
+
+static void dump(int value, string &out) {
+ char buf[32];
+ snprintf(buf, sizeof buf, "%d", value);
+ out += buf;
+}
+
+static void dump(bool value, string &out) {
+ out += value ? "true" : "false";
+}
+
+static void dump(const string &value, string &out) {
+ out += '"';
+ for (size_t i = 0; i < value.length(); i++) {
+ const char ch = value[i];
+ if (ch == '\\') {
+ out += "\\\\";
+ } else if (ch == '"') {
+ out += "\\\"";
+ } else if (ch == '\b') {
+ out += "\\b";
+ } else if (ch == '\f') {
+ out += "\\f";
+ } else if (ch == '\n') {
+ out += "\\n";
+ } else if (ch == '\r') {
+ out += "\\r";
+ } else if (ch == '\t') {
+ out += "\\t";
+ } else if (static_cast<uint8_t>(ch) <= 0x1f) {
+ char buf[8];
+ snprintf(buf, sizeof buf, "\\u%04x", ch);
+ out += buf;
+ } else if (static_cast<uint8_t>(ch) == 0xe2 && static_cast<uint8_t>(value[i+1]) == 0x80
+ && static_cast<uint8_t>(value[i+2]) == 0xa8) {
+ out += "\\u2028";
+ i += 2;
+ } else if (static_cast<uint8_t>(ch) == 0xe2 && static_cast<uint8_t>(value[i+1]) == 0x80
+ && static_cast<uint8_t>(value[i+2]) == 0xa9) {
+ out += "\\u2029";
+ i += 2;
+ } else {
+ out += ch;
+ }
+ }
+ out += '"';
+}
+
+static void dump(const Json::array &values, string &out) {
+ bool first = true;
+ out += "[";
+ for (const auto &value : values) {
+ if (!first)
+ out += ", ";
+ value.dump(out);
+ first = false;
+ }
+ out += "]";
+}
+
+static void dump(const Json::object &values, string &out) {
+ bool first = true;
+ out += "{";
+ for (const auto &kv : values) {
+ if (!first)
+ out += ", ";
+ dump(kv.first, out);
+ out += ": ";
+ kv.second.dump(out);
+ first = false;
+ }
+ out += "}";
+}
+
+void Json::dump(string &out) const {
+ m_ptr->dump(out);
+}
+
+/* * * * * * * * * * * * * * * * * * * *
+ * Value wrappers
+ */
+
+template <Json::Type tag, typename T>
+class Value : public JsonValue {
+protected:
+
+ // Constructors
+ explicit Value(const T &value) : m_value(value) {}
+ explicit Value(T &&value) : m_value(move(value)) {}
+
+ // Get type tag
+ Json::Type type() const override {
+ return tag;
+ }
+
+ // Comparisons
+ bool equals(const JsonValue * other) const override {
+ return m_value == static_cast<const Value<tag, T> *>(other)->m_value;
+ }
+ bool less(const JsonValue * other) const override {
+ return m_value < static_cast<const Value<tag, T> *>(other)->m_value;
+ }
+
+ const T m_value;
+ void dump(string &out) const override { json11::dump(m_value, out); }
+};
+
+class JsonDouble final : public Value<Json::NUMBER, double> {
+ double number_value() const override { return m_value; }
+ int int_value() const override { return static_cast<int>(m_value); }
+ bool equals(const JsonValue * other) const override { return m_value == other->number_value(); }
+ bool less(const JsonValue * other) const override { return m_value < other->number_value(); }
+public:
+ explicit JsonDouble(double value) : Value(value) {}
+};
+
+class JsonInt final : public Value<Json::NUMBER, int> {
+ double number_value() const override { return m_value; }
+ int int_value() const override { return m_value; }
+ bool equals(const JsonValue * other) const override { return m_value == other->number_value(); }
+ bool less(const JsonValue * other) const override { return m_value < other->number_value(); }
+public:
+ explicit JsonInt(int value) : Value(value) {}
+};
+
+class JsonBoolean final : public Value<Json::BOOL, bool> {
+ bool bool_value() const override { return m_value; }
+public:
+ explicit JsonBoolean(bool value) : Value(value) {}
+};
+
+class JsonString final : public Value<Json::STRING, string> {
+ const string &string_value() const override { return m_value; }
+public:
+ explicit JsonString(const string &value) : Value(value) {}
+ explicit JsonString(string &&value) : Value(move(value)) {}
+};
+
+class JsonArray final : public Value<Json::ARRAY, Json::array> {
+ const Json::array &array_items() const override { return m_value; }
+ const Json & operator[](size_t i) const override;
+public:
+ explicit JsonArray(const Json::array &value) : Value(value) {}
+ explicit JsonArray(Json::array &&value) : Value(move(value)) {}
+};
+
+class JsonObject final : public Value<Json::OBJECT, Json::object> {
+ const Json::object &object_items() const override { return m_value; }
+ const Json & operator[](const string &key) const override;
+public:
+ explicit JsonObject(const Json::object &value) : Value(value) {}
+ explicit JsonObject(Json::object &&value) : Value(move(value)) {}
+};
+
+class JsonNull final : public Value<Json::NUL, NullStruct> {
+public:
+ JsonNull() : Value({}) {}
+};
+
+/* * * * * * * * * * * * * * * * * * * *
+ * Static globals - static-init-safe
+ */
+struct Statics {
+ const std::shared_ptr<JsonValue> null = make_shared<JsonNull>();
+ const std::shared_ptr<JsonValue> t = make_shared<JsonBoolean>(true);
+ const std::shared_ptr<JsonValue> f = make_shared<JsonBoolean>(false);
+ const string empty_string;
+ const vector<Json> empty_vector;
+ const map<string, Json> empty_map;
+ Statics() {}
+};
+
+static const Statics & statics() {
+ static const Statics s {};
+ return s;
+}
+
+static const Json & static_null() {
+ // This has to be separate, not in Statics, because Json() accesses statics().null.
+ static const Json json_null;
+ return json_null;
+}
+
+/* * * * * * * * * * * * * * * * * * * *
+ * Constructors
+ */
+
+Json::Json() noexcept : m_ptr(statics().null) {}
+Json::Json(std::nullptr_t) noexcept : m_ptr(statics().null) {}
+Json::Json(double value) : m_ptr(make_shared<JsonDouble>(value)) {}
+Json::Json(int value) : m_ptr(make_shared<JsonInt>(value)) {}
+Json::Json(bool value) : m_ptr(value ? statics().t : statics().f) {}
+Json::Json(const string &value) : m_ptr(make_shared<JsonString>(value)) {}
+Json::Json(string &&value) : m_ptr(make_shared<JsonString>(move(value))) {}
+Json::Json(const char * value) : m_ptr(make_shared<JsonString>(value)) {}
+Json::Json(const Json::array &values) : m_ptr(make_shared<JsonArray>(values)) {}
+Json::Json(Json::array &&values) : m_ptr(make_shared<JsonArray>(move(values))) {}
+Json::Json(const Json::object &values) : m_ptr(make_shared<JsonObject>(values)) {}
+Json::Json(Json::object &&values) : m_ptr(make_shared<JsonObject>(move(values))) {}
+
+/* * * * * * * * * * * * * * * * * * * *
+ * Accessors
+ */
+
+Json::Type Json::type() const { return m_ptr->type(); }
+double Json::number_value() const { return m_ptr->number_value(); }
+int Json::int_value() const { return m_ptr->int_value(); }
+bool Json::bool_value() const { return m_ptr->bool_value(); }
+const string & Json::string_value() const { return m_ptr->string_value(); }
+const vector<Json> & Json::array_items() const { return m_ptr->array_items(); }
+const map<string, Json> & Json::object_items() const { return m_ptr->object_items(); }
+const Json & Json::operator[] (size_t i) const { return (*m_ptr)[i]; }
+const Json & Json::operator[] (const string &key) const { return (*m_ptr)[key]; }
+
+double JsonValue::number_value() const { return 0; }
+int JsonValue::int_value() const { return 0; }
+bool JsonValue::bool_value() const { return false; }
+const string & JsonValue::string_value() const { return statics().empty_string; }
+const vector<Json> & JsonValue::array_items() const { return statics().empty_vector; }
+const map<string, Json> & JsonValue::object_items() const { return statics().empty_map; }
+const Json & JsonValue::operator[] (size_t) const { return static_null(); }
+const Json & JsonValue::operator[] (const string &) const { return static_null(); }
+
+const Json & JsonObject::operator[] (const string &key) const {
+ auto iter = m_value.find(key);
+ return (iter == m_value.end()) ? static_null() : iter->second;
+}
+const Json & JsonArray::operator[] (size_t i) const {
+ if (i >= m_value.size()) return static_null();
+ else return m_value[i];
+}
+
+/* * * * * * * * * * * * * * * * * * * *
+ * Comparison
+ */
+
+bool Json::operator== (const Json &other) const {
+ if (m_ptr == other.m_ptr)
+ return true;
+ if (m_ptr->type() != other.m_ptr->type())
+ return false;
+
+ return m_ptr->equals(other.m_ptr.get());
+}
+
+bool Json::operator< (const Json &other) const {
+ if (m_ptr == other.m_ptr)
+ return false;
+ if (m_ptr->type() != other.m_ptr->type())
+ return m_ptr->type() < other.m_ptr->type();
+
+ return m_ptr->less(other.m_ptr.get());
+}
+
+/* * * * * * * * * * * * * * * * * * * *
+ * Parsing
+ */
+
+/* esc(c)
+ *
+ * Format char c suitable for printing in an error message.
+ */
+static inline string esc(char c) {
+ char buf[12];
+ if (static_cast<uint8_t>(c) >= 0x20 && static_cast<uint8_t>(c) <= 0x7f) {
+ snprintf(buf, sizeof buf, "'%c' (%d)", c, c);
+ } else {
+ snprintf(buf, sizeof buf, "(%d)", c);
+ }
+ return string(buf);
+}
+
+static inline bool in_range(long x, long lower, long upper) {
+ return (x >= lower && x <= upper);
+}
+
+namespace {
+/* JsonParser
+ *
+ * Object that tracks all state of an in-progress parse.
+ */
+struct JsonParser final {
+
+ /* State
+ */
+ const string &str;
+ size_t i;
+ string &err;
+ bool failed;
+ const JsonParse strategy;
+
+ /* fail(msg, err_ret = Json())
+ *
+ * Mark this parse as failed.
+ */
+ Json fail(string &&msg) {
+ return fail(move(msg), Json());
+ }
+
+ template <typename T>
+ T fail(string &&msg, const T err_ret) {
+ if (!failed)
+ err = std::move(msg);
+ failed = true;
+ return err_ret;
+ }
+
+ /* consume_whitespace()
+ *
+ * Advance until the current character is non-whitespace.
+ */
+ void consume_whitespace() {
+ while (str[i] == ' ' || str[i] == '\r' || str[i] == '\n' || str[i] == '\t')
+ i++;
+ }
+
+ /* consume_comment()
+ *
+ * Advance comments (c-style inline and multiline).
+ */
+ bool consume_comment() {
+ bool comment_found = false;
+ if (str[i] == '/') {
+ i++;
+ if (i == str.size())
+ return fail("unexpected end of input after start of comment", false);
+ if (str[i] == '/') { // inline comment
+ i++;
+ // advance until next line, or end of input
+ while (i < str.size() && str[i] != '\n') {
+ i++;
+ }
+ comment_found = true;
+ }
+ else if (str[i] == '*') { // multiline comment
+ i++;
+ if (i > str.size()-2)
+ return fail("unexpected end of input inside multi-line comment", false);
+ // advance until closing tokens
+ while (!(str[i] == '*' && str[i+1] == '/')) {
+ i++;
+ if (i > str.size()-2)
+ return fail(
+ "unexpected end of input inside multi-line comment", false);
+ }
+ i += 2;
+ comment_found = true;
+ }
+ else
+ return fail("malformed comment", false);
+ }
+ return comment_found;
+ }
+
+ /* consume_garbage()
+ *
+ * Advance until the current character is non-whitespace and non-comment.
+ */
+ void consume_garbage() {
+ consume_whitespace();
+ if(strategy == JsonParse::COMMENTS) {
+ bool comment_found = false;
+ do {
+ comment_found = consume_comment();
+ if (failed) return;
+ consume_whitespace();
+ }
+ while(comment_found);
+ }
+ }
+
+ /* get_next_token()
+ *
+ * Return the next non-whitespace character. If the end of the input is reached,
+ * flag an error and return 0.
+ */
+ char get_next_token() {
+ consume_garbage();
+ if (failed) return static_cast<char>(0);
+ if (i == str.size())
+ return fail("unexpected end of input", static_cast<char>(0));
+
+ return str[i++];
+ }
+
+ /* encode_utf8(pt, out)
+ *
+ * Encode pt as UTF-8 and add it to out.
+ */
+ void encode_utf8(long pt, string & out) {
+ if (pt < 0)
+ return;
+
+ if (pt < 0x80) {
+ out += static_cast<char>(pt);
+ } else if (pt < 0x800) {
+ out += static_cast<char>((pt >> 6) | 0xC0);
+ out += static_cast<char>((pt & 0x3F) | 0x80);
+ } else if (pt < 0x10000) {
+ out += static_cast<char>((pt >> 12) | 0xE0);
+ out += static_cast<char>(((pt >> 6) & 0x3F) | 0x80);
+ out += static_cast<char>((pt & 0x3F) | 0x80);
+ } else {
+ out += static_cast<char>((pt >> 18) | 0xF0);
+ out += static_cast<char>(((pt >> 12) & 0x3F) | 0x80);
+ out += static_cast<char>(((pt >> 6) & 0x3F) | 0x80);
+ out += static_cast<char>((pt & 0x3F) | 0x80);
+ }
+ }
+
+ /* parse_string()
+ *
+ * Parse a string, starting at the current position.
+ */
+ string parse_string() {
+ string out;
+ long last_escaped_codepoint = -1;
+ while (true) {
+ if (i == str.size())
+ return fail("unexpected end of input in string", "");
+
+ char ch = str[i++];
+
+ if (ch == '"') {
+ encode_utf8(last_escaped_codepoint, out);
+ return out;
+ }
+
+ if (in_range(ch, 0, 0x1f))
+ return fail("unescaped " + esc(ch) + " in string", "");
+
+ // The usual case: non-escaped characters
+ if (ch != '\\') {
+ encode_utf8(last_escaped_codepoint, out);
+ last_escaped_codepoint = -1;
+ out += ch;
+ continue;
+ }
+
+ // Handle escapes
+ if (i == str.size())
+ return fail("unexpected end of input in string", "");
+
+ ch = str[i++];
+
+ if (ch == 'u') {
+ // Extract 4-byte escape sequence
+ string esc = str.substr(i, 4);
+ // Explicitly check length of the substring. The following loop
+ // relies on std::string returning the terminating NUL when
+ // accessing str[length]. Checking here reduces brittleness.
+ if (esc.length() < 4) {
+ return fail("bad \\u escape: " + esc, "");
+ }
+ for (size_t j = 0; j < 4; j++) {
+ if (!in_range(esc[j], 'a', 'f') && !in_range(esc[j], 'A', 'F')
+ && !in_range(esc[j], '0', '9'))
+ return fail("bad \\u escape: " + esc, "");
+ }
+
+ long codepoint = strtol(esc.data(), nullptr, 16);
+
+ // JSON specifies that characters outside the BMP shall be encoded as a pair
+ // of 4-hex-digit \u escapes encoding their surrogate pair components. Check
+ // whether we're in the middle of such a beast: the previous codepoint was an
+ // escaped lead (high) surrogate, and this is a trail (low) surrogate.
+ if (in_range(last_escaped_codepoint, 0xD800, 0xDBFF)
+ && in_range(codepoint, 0xDC00, 0xDFFF)) {
+ // Reassemble the two surrogate pairs into one astral-plane character, per
+ // the UTF-16 algorithm.
+ encode_utf8((((last_escaped_codepoint - 0xD800) << 10)
+ | (codepoint - 0xDC00)) + 0x10000, out);
+ last_escaped_codepoint = -1;
+ } else {
+ encode_utf8(last_escaped_codepoint, out);
+ last_escaped_codepoint = codepoint;
+ }
+
+ i += 4;
+ continue;
+ }
+
+ encode_utf8(last_escaped_codepoint, out);
+ last_escaped_codepoint = -1;
+
+ if (ch == 'b') {
+ out += '\b';
+ } else if (ch == 'f') {
+ out += '\f';
+ } else if (ch == 'n') {
+ out += '\n';
+ } else if (ch == 'r') {
+ out += '\r';
+ } else if (ch == 't') {
+ out += '\t';
+ } else if (ch == '"' || ch == '\\' || ch == '/') {
+ out += ch;
+ } else {
+ return fail("invalid escape character " + esc(ch), "");
+ }
+ }
+ }
+
+ /* parse_number()
+ *
+ * Parse a double.
+ */
+ Json parse_number() {
+ size_t start_pos = i;
+
+ if (str[i] == '-')
+ i++;
+
+ // Integer part
+ if (str[i] == '0') {
+ i++;
+ if (in_range(str[i], '0', '9'))
+ return fail("leading 0s not permitted in numbers");
+ } else if (in_range(str[i], '1', '9')) {
+ i++;
+ while (in_range(str[i], '0', '9'))
+ i++;
+ } else {
+ return fail("invalid " + esc(str[i]) + " in number");
+ }
+
+ if (str[i] != '.' && str[i] != 'e' && str[i] != 'E'
+ && (i - start_pos) <= static_cast<size_t>(std::numeric_limits<int>::digits10)) {
+ return std::atoi(str.c_str() + start_pos);
+ }
+
+ // Decimal part
+ if (str[i] == '.') {
+ i++;
+ if (!in_range(str[i], '0', '9'))
+ return fail("at least one digit required in fractional part");
+
+ while (in_range(str[i], '0', '9'))
+ i++;
+ }
+
+ // Exponent part
+ if (str[i] == 'e' || str[i] == 'E') {
+ i++;
+
+ if (str[i] == '+' || str[i] == '-')
+ i++;
+
+ if (!in_range(str[i], '0', '9'))
+ return fail("at least one digit required in exponent");
+
+ while (in_range(str[i], '0', '9'))
+ i++;
+ }
+
+ return std::strtod(str.c_str() + start_pos, nullptr);
+ }
+
+ /* expect(str, res)
+ *
+ * Expect that 'str' starts at the character that was just read. If it does, advance
+ * the input and return res. If not, flag an error.
+ */
+ Json expect(const string &expected, Json res) {
+ assert(i != 0);
+ i--;
+ if (str.compare(i, expected.length(), expected) == 0) {
+ i += expected.length();
+ return res;
+ } else {
+ return fail("parse error: expected " + expected + ", got " + str.substr(i, expected.length()));
+ }
+ }
+
+ /* parse_json()
+ *
+ * Parse a JSON object.
+ */
+ Json parse_json(int depth) {
+ if (depth > max_depth) {
+ return fail("exceeded maximum nesting depth");
+ }
+
+ char ch = get_next_token();
+ if (failed)
+ return Json();
+
+ if (ch == '-' || (ch >= '0' && ch <= '9')) {
+ i--;
+ return parse_number();
+ }
+
+ if (ch == 't')
+ return expect("true", true);
+
+ if (ch == 'f')
+ return expect("false", false);
+
+ if (ch == 'n')
+ return expect("null", Json());
+
+ if (ch == '"')
+ return parse_string();
+
+ if (ch == '{') {
+ map<string, Json> data;
+ ch = get_next_token();
+ if (ch == '}')
+ return data;
+
+ while (1) {
+ if (ch != '"')
+ return fail("expected '\"' in object, got " + esc(ch));
+
+ string key = parse_string();
+ if (failed)
+ return Json();
+
+ ch = get_next_token();
+ if (ch != ':')
+ return fail("expected ':' in object, got " + esc(ch));
+
+ data[std::move(key)] = parse_json(depth + 1);
+ if (failed)
+ return Json();
+
+ ch = get_next_token();
+ if (ch == '}')
+ break;
+ if (ch != ',')
+ return fail("expected ',' in object, got " + esc(ch));
+
+ ch = get_next_token();
+ }
+ return data;
+ }
+
+ if (ch == '[') {
+ vector<Json> data;
+ ch = get_next_token();
+ if (ch == ']')
+ return data;
+
+ while (1) {
+ i--;
+ data.push_back(parse_json(depth + 1));
+ if (failed)
+ return Json();
+
+ ch = get_next_token();
+ if (ch == ']')
+ break;
+ if (ch != ',')
+ return fail("expected ',' in list, got " + esc(ch));
+
+ ch = get_next_token();
+ (void)ch;
+ }
+ return data;
+ }
+
+ return fail("expected value, got " + esc(ch));
+ }
+};
+}//namespace {
+
+Json Json::parse(const string &in, string &err, JsonParse strategy) {
+ JsonParser parser { in, 0, err, false, strategy };
+ Json result = parser.parse_json(0);
+
+ // Check for any trailing garbage
+ parser.consume_garbage();
+ if (parser.failed)
+ return Json();
+ if (parser.i != in.size())
+ return parser.fail("unexpected trailing " + esc(in[parser.i]));
+
+ return result;
+}
+
+// Documented in json11.hpp
+vector<Json> Json::parse_multi(const string &in,
+ std::string::size_type &parser_stop_pos,
+ string &err,
+ JsonParse strategy) {
+ JsonParser parser { in, 0, err, false, strategy };
+ parser_stop_pos = 0;
+ vector<Json> json_vec;
+ while (parser.i != in.size() && !parser.failed) {
+ json_vec.push_back(parser.parse_json(0));
+ if (parser.failed)
+ break;
+
+ // Check for another object
+ parser.consume_garbage();
+ if (parser.failed)
+ break;
+ parser_stop_pos = parser.i;
+ }
+ return json_vec;
+}
+
+/* * * * * * * * * * * * * * * * * * * *
+ * Shape-checking
+ */
+
+bool Json::has_shape(const shape & types, string & err) const {
+ if (!is_object()) {
+ err = "expected JSON object, got " + dump();
+ return false;
+ }
+
+ for (auto & item : types) {
+ if ((*this)[item.first].type() != item.second) {
+ err = "bad type for " + item.first + " in " + dump();
+ return false;
+ }
+ }
+
+ return true;
+}
+
+} // namespace json11
diff --git a/tools/mapjson/json11.h b/tools/mapjson/json11.h
new file mode 100755
index 000000000..c04c4362f
--- /dev/null
+++ b/tools/mapjson/json11.h
@@ -0,0 +1,230 @@
+/* json11
+ *
+ * json11 is a tiny JSON library for C++11, providing JSON parsing and serialization.
+ *
+ * The core object provided by the library is json11::Json. A Json object represents any JSON
+ * value: null, bool, number (int or double), string (std::string), array (std::vector), or
+ * object (std::map).
+ *
+ * Json objects act like values: they can be assigned, copied, moved, compared for equality or
+ * order, etc. There are also helper methods Json::dump, to serialize a Json to a string, and
+ * Json::parse (static) to parse a std::string as a Json object.
+ *
+ * Internally, the various types of Json object are represented by the JsonValue class
+ * hierarchy.
+ *
+ * A note on numbers - JSON specifies the syntax of number formatting but not its semantics,
+ * so some JSON implementations distinguish between integers and floating-point numbers, while
+ * some don't. In json11, we choose the latter. Because some JSON implementations (namely
+ * Javascript itself) treat all numbers as the same type, distinguishing the two leads
+ * to JSON that will be *silently* changed by a round-trip through those implementations.
+ * Dangerous! To avoid that risk, json11 stores all numbers as double internally, but also
+ * provides integer helpers.
+ *
+ * Fortunately, double-precision IEEE754 ('double') can precisely store any integer in the
+ * range +/-2^53, which includes every 'int' on most systems. (Timestamps often use int64
+ * or long long to avoid the Y2038K problem; a double storing microseconds since some epoch
+ * will be exact for +/- 275 years.)
+ */
+
+/* Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ */
+
+#pragma once
+
+#include <string>
+#include <vector>
+#include <map>
+#include <memory>
+#include <initializer_list>
+
+#ifdef _MSC_VER
+ #if _MSC_VER <= 1800 // VS 2013
+ #ifndef noexcept
+ #define noexcept throw()
+ #endif
+
+ #ifndef snprintf
+ #define snprintf _snprintf_s
+ #endif
+ #endif
+#endif
+
+namespace json11 {
+
+enum JsonParse {
+ STANDARD, COMMENTS
+};
+
+class JsonValue;
+
+class Json final {
+public:
+ // Types
+ enum Type {
+ NUL, NUMBER, BOOL, STRING, ARRAY, OBJECT
+ };
+
+ // Array and object typedefs
+ typedef std::vector<Json> array;
+ typedef std::map<std::string, Json> object;
+
+ // Constructors for the various types of JSON value.
+ Json() noexcept; // NUL
+ Json(std::nullptr_t) noexcept; // NUL
+ Json(double value); // NUMBER
+ Json(int value); // NUMBER
+ Json(bool value); // BOOL
+ Json(const std::string &value); // STRING
+ Json(std::string &&value); // STRING
+ Json(const char * value); // STRING
+ Json(const array &values); // ARRAY
+ Json(array &&values); // ARRAY
+ Json(const object &values); // OBJECT
+ Json(object &&values); // OBJECT
+
+ // Implicit constructor: anything with a to_json() function.
+ template <class T, class = decltype(&T::to_json)>
+ Json(const T & t) : Json(t.to_json()) {}
+
+ // Implicit constructor: map-like objects (std::map, std::unordered_map, etc)
+ template <class M, typename std::enable_if<
+ std::is_constructible<std::string, decltype(std::declval<M>().begin()->first)>::value
+ && std::is_constructible<Json, decltype(std::declval<M>().begin()->second)>::value,
+ int>::type = 0>
+ Json(const M & m) : Json(object(m.begin(), m.end())) {}
+
+ // Implicit constructor: vector-like objects (std::list, std::vector, std::set, etc)
+ template <class V, typename std::enable_if<
+ std::is_constructible<Json, decltype(*std::declval<V>().begin())>::value,
+ int>::type = 0>
+ Json(const V & v) : Json(array(v.begin(), v.end())) {}
+
+ // This prevents Json(some_pointer) from accidentally producing a bool. Use
+ // Json(bool(some_pointer)) if that behavior is desired.
+ Json(void *) = delete;
+
+ // Accessors
+ Type type() const;
+
+ bool is_null() const { return type() == NUL; }
+ bool is_number() const { return type() == NUMBER; }
+ bool is_bool() const { return type() == BOOL; }
+ bool is_string() const { return type() == STRING; }
+ bool is_array() const { return type() == ARRAY; }
+ bool is_object() const { return type() == OBJECT; }
+
+ // Return the enclosed value if this is a number, 0 otherwise. Note that json11 does not
+ // distinguish between integer and non-integer numbers - number_value() and int_value()
+ // can both be applied to a NUMBER-typed object.
+ double number_value() const;
+ int int_value() const;
+
+ // Return the enclosed value if this is a boolean, false otherwise.
+ bool bool_value() const;
+ // Return the enclosed string if this is a string, "" otherwise.
+ const std::string &string_value() const;
+ // Return the enclosed std::vector if this is an array, or an empty vector otherwise.
+ const array &array_items() const;
+ // Return the enclosed std::map if this is an object, or an empty map otherwise.
+ const object &object_items() const;
+
+ // Return a reference to arr[i] if this is an array, Json() otherwise.
+ const Json & operator[](size_t i) const;
+ // Return a reference to obj[key] if this is an object, Json() otherwise.
+ const Json & operator[](const std::string &key) const;
+
+ // Serialize.
+ void dump(std::string &out) const;
+ std::string dump() const {
+ std::string out;
+ dump(out);
+ return out;
+ }
+
+ // Parse. If parse fails, return Json() and assign an error message to err.
+ static Json parse(const std::string & in,
+ std::string & err,
+ JsonParse strategy = JsonParse::STANDARD);
+ static Json parse(const char * in,
+ std::string & err,
+ JsonParse strategy = JsonParse::STANDARD) {
+ if (in) {
+ return parse(std::string(in), err, strategy);
+ } else {
+ err = "null input";
+ return nullptr;
+ }
+ }
+ // Parse multiple objects, concatenated or separated by whitespace
+ static std::vector<Json> parse_multi(
+ const std::string & in,
+ std::string::size_type & parser_stop_pos,
+ std::string & err,
+ JsonParse strategy = JsonParse::STANDARD);
+
+ static inline std::vector<Json> parse_multi(
+ const std::string & in,
+ std::string & err,
+ JsonParse strategy = JsonParse::STANDARD) {
+ std::string::size_type parser_stop_pos;
+ return parse_multi(in, parser_stop_pos, err, strategy);
+ }
+
+ bool operator== (const Json &rhs) const;
+ bool operator< (const Json &rhs) const;
+ bool operator!= (const Json &rhs) const { return !(*this == rhs); }
+ bool operator<= (const Json &rhs) const { return !(rhs < *this); }
+ bool operator> (const Json &rhs) const { return (rhs < *this); }
+ bool operator>= (const Json &rhs) const { return !(*this < rhs); }
+
+ /* has_shape(types, err)
+ *
+ * Return true if this is a JSON object and, for each item in types, has a field of
+ * the given type. If not, return false and set err to a descriptive message.
+ */
+ typedef std::initializer_list<std::pair<std::string, Type>> shape;
+ bool has_shape(const shape & types, std::string & err) const;
+
+private:
+ std::shared_ptr<JsonValue> m_ptr;
+};
+
+// Internal class hierarchy - JsonValue objects are not exposed to users of this API.
+class JsonValue {
+protected:
+ friend class Json;
+ friend class JsonInt;
+ friend class JsonDouble;
+ virtual Json::Type type() const = 0;
+ virtual bool equals(const JsonValue * other) const = 0;
+ virtual bool less(const JsonValue * other) const = 0;
+ virtual void dump(std::string &out) const = 0;
+ virtual double number_value() const;
+ virtual int int_value() const;
+ virtual bool bool_value() const;
+ virtual const std::string &string_value() const;
+ virtual const Json::array &array_items() const;
+ virtual const Json &operator[](size_t i) const;
+ virtual const Json::object &object_items() const;
+ virtual const Json &operator[](const std::string &key) const;
+ virtual ~JsonValue() {}
+};
+
+} // namespace json11
diff --git a/tools/mapjson/mapjson.cpp b/tools/mapjson/mapjson.cpp
new file mode 100755
index 000000000..1cf196fda
--- /dev/null
+++ b/tools/mapjson/mapjson.cpp
@@ -0,0 +1,538 @@
+// mapjson.cpp
+
+#include <iostream>
+using std::cout; using std::endl;
+
+#include <string>
+using std::string;
+
+#include <vector>
+using std::vector;
+
+#include <algorithm>
+using std::sort; using std::find;
+
+#include <map>
+using std::map;
+
+#include <fstream>
+using std::ofstream; using std::ifstream;
+
+#include <sstream>
+using std::ostringstream;
+
+#include <limits>
+using std::numeric_limits;
+
+#include "json11.h"
+using json11::Json;
+
+#include "mapjson.h"
+
+
+string read_text_file(string filepath) {
+ ifstream in_file(filepath);
+
+ if (!in_file.is_open())
+ FATAL_ERROR("Cannot open file %s for reading.\n", filepath.c_str());
+
+ string text;
+
+ in_file.seekg(0, std::ios::end);
+ text.resize(in_file.tellg());
+
+ in_file.seekg(0, std::ios::beg);
+ in_file.read(&text[0], text.size());
+
+ in_file.close();
+
+ return text;
+}
+
+void write_text_file(string filepath, string text) {
+ ofstream out_file(filepath, std::ofstream::binary);
+
+ if (!out_file.is_open())
+ FATAL_ERROR("Cannot open file %s for writing.\n", filepath.c_str());
+
+ out_file << text;
+
+ out_file.close();
+}
+
+string generate_map_header_text(Json map_data, Json layouts_data, string version) {
+ string map_layout_id = map_data["layout"].string_value();
+
+ vector<Json> matched;
+
+ for (auto &field : layouts_data["layouts"].array_items()) {
+ if (map_layout_id == field["id"].string_value())
+ matched.push_back(field);
+ }
+
+ if (matched.size() != 1)
+ FATAL_ERROR("Failed to find matching layout for %s.\n", map_layout_id.c_str());
+
+ Json layout = matched[0];
+
+ ostringstream text;
+
+ text << map_data["name"].string_value() << ":\n"
+ << "\t.4byte " << layout["name"].string_value() << "\n";
+
+ if (map_data.object_items().find("shared_events_map") != map_data.object_items().end())
+ text << "\t.4byte " << map_data["shared_events_map"].string_value() << "_MapEvents\n";
+ else
+ text << "\t.4byte " << map_data["name"].string_value() << "_MapEvents\n";
+
+ if (map_data.object_items().find("shared_scripts_map") != map_data.object_items().end())
+ text << "\t.4byte " << map_data["shared_scripts_map"].string_value() << "_MapScripts\n";
+ else
+ text << "\t.4byte " << map_data["name"].string_value() << "_MapScripts\n";
+
+ if (map_data.object_items().find("connections") != map_data.object_items().end()
+ && map_data["connections"].array_items().size() > 0)
+ text << "\t.4byte " << map_data["name"].string_value() << "_MapConnections\n";
+ else
+ text << "\t.4byte 0x0\n";
+
+ text << "\t.2byte " << map_data["music"].string_value() << "\n"
+ << "\t.2byte " << layout["id"].string_value() << "\n"
+ << "\t.byte " << map_data["region_map_section"].string_value() << "\n"
+ << "\t.byte " << map_data["requires_flash"].bool_value() << "\n"
+ << "\t.byte " << map_data["weather"].string_value() << "\n"
+ << "\t.byte " << map_data["map_type"].string_value() << "\n"
+ << "\t.2byte 0\n";
+
+ if (version == "ruby")
+ text << "\t.byte " << map_data["show_map_name"].bool_value() << "\n";
+ else if (version == "emerald")
+ text << "\tmap_header_flags "
+ << "allow_bike=" << map_data["allow_bike"].bool_value() << ", "
+ << "allow_escape_rope=" << map_data["allow_escape_rope"].bool_value() << ", "
+ << "allow_run=" << map_data["allow_running"].bool_value() << ", "
+ << "show_map_name=" << map_data["show_map_name"].bool_value() << "\n";
+
+ text << "\t.byte " << map_data["battle_scene"].string_value() << "\n\n";
+
+ return text.str();
+}
+
+string generate_map_connections_text(Json map_data) {
+ if (map_data["connections"] == Json())
+ return string("\n");
+
+ ostringstream text;
+
+ text << map_data["name"].string_value() << "_MapConnectionsList:\n";
+
+ for (auto &connection : map_data["connections"].array_items()) {
+ text << "\tconnection "
+ << connection["direction"].string_value() << ", "
+ << connection["offset"].int_value() << ", "
+ << connection["map"].string_value() << "\n";
+ }
+
+ text << "\n" << map_data["name"].string_value() << "_MapConnections:\n"
+ << "\t.4byte " << map_data["connections"].array_items().size() << "\n"
+ << "\t.4byte " << map_data["name"].string_value() << "_MapConnectionsList\n\n";
+
+ return text.str();
+}
+
+string generate_map_events_text(Json map_data) {
+ if (map_data.object_items().find("shared_events_map") != map_data.object_items().end())
+ return string("\n");
+
+ ostringstream text;
+
+ string objects_label, warps_label, coords_label, bgs_label;
+
+ if (map_data["object_events"].array_items().size() > 0) {
+ objects_label = map_data["name"].string_value() + "_EventObjects";
+ text << objects_label << ":\n";
+ for (unsigned int i = 0; i < map_data["object_events"].array_items().size(); i++) {
+ auto obj_event = map_data["object_events"].array_items()[i];
+ text << "\tobject_event " << i + 1 << ", "
+ << obj_event["graphics_id"].string_value() << ", 0, "
+ << obj_event["x"].int_value() << ", "
+ << obj_event["y"].int_value() << ", "
+ << obj_event["elevation"].int_value() << ", "
+ << obj_event["movement_type"].string_value() << ", "
+ << obj_event["movement_range_x"].int_value() << ", "
+ << obj_event["movement_range_y"].int_value() << ", "
+ << obj_event["trainer_type"].string_value() << ", "
+ << obj_event["trainer_sight_or_berry_tree_id"].string_value() << ", "
+ << obj_event["script"].string_value() << ", "
+ << obj_event["flag"].string_value() << "\n";
+ }
+ text << "\n";
+ } else {
+ objects_label = "0x0";
+ }
+
+ if (map_data["warp_events"].array_items().size() > 0) {
+ warps_label = map_data["name"].string_value() + "_MapWarps";
+ text << warps_label << ":\n";
+ for (auto &warp_event : map_data["warp_events"].array_items()) {
+ text << "\twarp_def "
+ << warp_event["x"].int_value() << ", "
+ << warp_event["y"].int_value() << ", "
+ << warp_event["elevation"].int_value() << ", "
+ << warp_event["dest_warp_id"].int_value() << ", "
+ << warp_event["dest_map"].string_value() << "\n";
+ }
+ text << "\n";
+ } else {
+ warps_label = "0x0";
+ }
+
+ if (map_data["coord_events"].array_items().size() > 0) {
+ coords_label = map_data["name"].string_value() + "_MapCoordEvents";
+ text << coords_label << ":\n";
+ for (auto &coord_event : map_data["coord_events"].array_items()) {
+ if (coord_event["type"].string_value() == "trigger") {
+ text << "\tcoord_event "
+ << coord_event["x"].int_value() << ", "
+ << coord_event["y"].int_value() << ", "
+ << coord_event["elevation"].int_value() << ", "
+ << coord_event["var"].string_value() << ", "
+ << coord_event["var_value"].string_value() << ", "
+ << coord_event["script"].string_value() << "\n";
+ }
+ else if (coord_event["type"] == "weather") {
+ text << "\tcoord_weather_event "
+ << coord_event["x"].int_value() << ", "
+ << coord_event["y"].int_value() << ", "
+ << coord_event["elevation"].int_value() << ", "
+ << coord_event["weather"].string_value() << "\n";
+ }
+ }
+ text << "\n";
+ } else {
+ coords_label = "0x0";
+ }
+
+ if (map_data["bg_events"].array_items().size() > 0) {
+ bgs_label = map_data["name"].string_value() + "_MapBGEvents";
+ text << bgs_label << ":\n";
+ for (auto &bg_event : map_data["bg_events"].array_items()) {
+ if (bg_event["type"] == "sign") {
+ text << "\tbg_event "
+ << bg_event["x"].int_value() << ", "
+ << bg_event["y"].int_value() << ", "
+ << bg_event["elevation"].int_value() << ", "
+ << bg_event["player_facing_dir"].string_value() << ", "
+ << bg_event["script"].string_value() << "\n";
+ }
+ else if (bg_event["type"] == "hidden_item") {
+ text << "\tbg_hidden_item_event "
+ << bg_event["x"].int_value() << ", "
+ << bg_event["y"].int_value() << ", "
+ << bg_event["elevation"].int_value() << ", "
+ << bg_event["item"].string_value() << ", "
+ << bg_event["flag"].string_value() << "\n";
+ }
+ else if (bg_event["type"] == "secret_base") {
+ text << "\tbg_secret_base_event "
+ << bg_event["x"].int_value() << ", "
+ << bg_event["y"].int_value() << ", "
+ << bg_event["elevation"].int_value() << ", "
+ << bg_event["secret_base_id"].string_value() << "\n";
+ }
+ }
+ text << "\n";
+ } else {
+ bgs_label = "0x0";
+ }
+
+ text << map_data["name"].string_value() << "_MapEvents::\n"
+ << "\tmap_events " << objects_label << ", " << warps_label << ", "
+ << coords_label << ", " << bgs_label << "\n\n";
+
+ return text.str();
+}
+
+string get_directory_name(string filename) {
+ size_t dir_pos = filename.find_last_of("/\\");
+
+ return filename.substr(0, dir_pos + 1);
+}
+
+void process_map(string map_filepath, string layouts_filepath, string version) {
+ string mapdata_err, layouts_err;
+
+ string mapdata_json_text = read_text_file(map_filepath);
+ string layouts_json_text = read_text_file(layouts_filepath);
+
+ Json map_data = Json::parse(mapdata_json_text, mapdata_err);
+ if (map_data == Json())
+ FATAL_ERROR("%s\n", mapdata_err.c_str());
+
+ Json layouts_data = Json::parse(layouts_json_text, layouts_err);
+ if (layouts_data == Json())
+ FATAL_ERROR("%s\n", layouts_err.c_str());
+
+ string header_text = generate_map_header_text(map_data, layouts_data, version);
+ string events_text = generate_map_events_text(map_data);
+ string connections_text = generate_map_connections_text(map_data);
+
+ string files_dir = get_directory_name(map_filepath);
+ write_text_file(files_dir + "header.inc", header_text);
+ write_text_file(files_dir + "events.inc", events_text);
+ write_text_file(files_dir + "connections.inc", connections_text);
+}
+
+string generate_groups_text(Json groups_data) {
+ ostringstream text;
+
+ for (auto &key : groups_data["group_order"].array_items()) {
+ string group = key.string_value();
+ text << group << "::\n";
+ auto maps = groups_data[group].array_items();
+ for (Json &map_name : maps)
+ text << "\t.4byte " << map_name.string_value() << "\n";
+ text << "\n";
+ }
+
+ text << "\t.align 2\n" << "gMapGroups::\n";
+ for (auto &group : groups_data["group_order"].array_items())
+ text << "\t.4byte " << group.string_value() << "\n";
+ text << "\n";
+
+ return text.str();
+}
+
+string generate_connections_text(Json groups_data) {
+ vector<Json> map_names;
+
+ for (auto &group : groups_data["group_order"].array_items())
+ for (auto map_name : groups_data[group.string_value()].array_items())
+ map_names.push_back(map_name);
+
+ vector<Json> connections_include_order = groups_data["connections_include_order"].array_items();
+
+ if (connections_include_order.size() > 0)
+ sort(map_names.begin(), map_names.end(), [connections_include_order](const Json &a, const Json &b) {
+ auto iter_a = find(connections_include_order.begin(), connections_include_order.end(), a);
+ if (iter_a == connections_include_order.end())
+ iter_a = connections_include_order.begin() + numeric_limits<int>::max();
+ auto iter_b = find(connections_include_order.begin(), connections_include_order.end(), b);
+ if (iter_b == connections_include_order.end())
+ iter_b = connections_include_order.begin() + numeric_limits<int>::max();
+ return iter_a < iter_b;
+ });
+
+ ostringstream text;
+
+ for (Json map_name : map_names)
+ text << "\t.include \"data/maps/" << map_name.string_value() << "/connections.inc\"\n";
+
+ return text.str();
+}
+
+string generate_headers_text(Json groups_data) {
+ vector<string> map_names;
+
+ for (auto &group : groups_data["group_order"].array_items())
+ for (auto map_name : groups_data[group.string_value()].array_items())
+ map_names.push_back(map_name.string_value());
+
+ ostringstream text;
+
+ for (string map_name : map_names)
+ text << "\t.include \"data/maps/" << map_name << "/header.inc\"\n";
+
+ return text.str();
+}
+
+string generate_events_text(Json groups_data) {
+ vector<string> map_names;
+
+ for (auto &group : groups_data["group_order"].array_items())
+ for (auto map_name : groups_data[group.string_value()].array_items())
+ map_names.push_back(map_name.string_value());
+
+ ostringstream text;
+
+ for (string map_name : map_names)
+ text << "\t.include \"data/maps/" << map_name << "/events.inc\"\n";
+
+ return text.str();
+}
+
+string generate_map_constants_text(string groups_filepath, Json groups_data) {
+ string file_dir = get_directory_name(groups_filepath);
+ char dir_separator = file_dir.back();
+
+ ostringstream text;
+
+ text << "#ifndef GUARD_CONSTANTS_MAP_GROUPS_H\n"
+ << "#define GUARD_CONSTANTS_MAP_GROUPS_H\n\n";
+
+ int group_num = 0;
+
+ for (auto &group : groups_data["group_order"].array_items()) {
+ text << "// Map Group " << group_num << "\n";
+ vector<Json> map_ids;
+ size_t max_length = 0;
+
+ for (auto &map_name : groups_data[group.string_value()].array_items()) {
+ string header_filepath = file_dir + map_name.string_value() + dir_separator + "map.json";
+ string err_str;
+ Json map_data = Json::parse(read_text_file(header_filepath), err_str);
+ map_ids.push_back(map_data["id"]);
+ if (map_data["id"].string_value().length() > max_length)
+ max_length = map_data["id"].string_value().length();
+ }
+
+ int map_id_num = 0;
+ for (Json map_id : map_ids) {
+ text << "#define " << map_id.string_value() << string((max_length - map_id.string_value().length() + 1), ' ')
+ << "(" << map_id_num++ << " | (" << group_num << " << 8))\n";
+ }
+ text << "\n";
+
+ group_num++;
+ }
+
+ text << "#define MAP_GROUPS_COUNT " << group_num << "\n\n";
+ text << "#endif // GUARD_CONSTANTS_MAP_GROUPS_H\n";
+
+ return text.str();
+}
+
+void process_groups(string groups_filepath) {
+ string err;
+ Json groups_data = Json::parse(read_text_file(groups_filepath), err);
+
+ if (groups_data == Json())
+ FATAL_ERROR("%s\n", err.c_str());
+
+ string groups_text = generate_groups_text(groups_data);
+ string connections_text = generate_connections_text(groups_data);
+ string headers_text = generate_headers_text(groups_data);
+ string events_text = generate_events_text(groups_data);
+ string map_header_text = generate_map_constants_text(groups_filepath, groups_data);
+
+ string file_dir = get_directory_name(groups_filepath);
+ char s = file_dir.back();
+
+ write_text_file(file_dir + "groups.inc", groups_text);
+ write_text_file(file_dir + "connections.inc", connections_text);
+ write_text_file(file_dir + "headers.inc", headers_text);
+ write_text_file(file_dir + "events.inc", events_text);
+ write_text_file(file_dir + ".." + s + ".." + s + "include" + s + "constants" + s + "map_groups.h", map_header_text);
+}
+
+string generate_layout_headers_text(Json layouts_data) {
+ ostringstream text;
+
+ for (auto &layout : layouts_data["layouts"].array_items()) {
+ string border_label = layout["name"].string_value() + "_Border";
+ string blockdata_label = layout["name"].string_value() + "_Blockdata";
+ text << border_label << "::\n"
+ << "\t.incbin \"" << layout["border_filepath"].string_value() << "\"\n\n"
+ << blockdata_label << "::\n"
+ << "\t.incbin \"" << layout["blockdata_filepath"].string_value() << "\"\n\n"
+ << "\t.align 2\n"
+ << layout["name"].string_value() << "::\n"
+ << "\t.4byte " << layout["width"].int_value() << "\n"
+ << "\t.4byte " << layout["height"].int_value() << "\n"
+ << "\t.4byte " << border_label << "\n"
+ << "\t.4byte " << blockdata_label << "\n"
+ << "\t.4byte " << layout["primary_tileset"].string_value() << "\n"
+ << "\t.4byte " << layout["secondary_tileset"].string_value() << "\n\n";
+ }
+
+ return text.str();
+}
+
+string generate_layouts_table_text(Json layouts_data) {
+ ostringstream text;
+
+ text << "\t.align 2\n"
+ << layouts_data["layouts_table_label"].string_value() << "::\n";
+
+ for (auto &layout : layouts_data["layouts"].array_items())
+ text << "\t.4byte " << layout["name"].string_value() << "\n";
+
+ return text.str();
+}
+
+string generate_layouts_constants_text(Json layouts_data) {
+ ostringstream text;
+
+ text << "#ifndef GUARD_CONSTANTS_LAYOUTS_H\n"
+ << "#define GUARD_CONSTANTS_LAYOUTS_H\n\n";
+
+ int i = 0;
+ for (auto &layout : layouts_data["layouts"].array_items())
+ text << "#define " << layout["id"].string_value() << " " << ++i << "\n";
+
+ text << "\n#endif // GUARD_CONSTANTS_LAYOUTS_H\n";
+
+ return text.str();
+}
+
+void process_layouts(string layouts_filepath) {
+ string err;
+ Json layouts_data = Json::parse(read_text_file(layouts_filepath), err);
+
+ if (layouts_data == Json())
+ FATAL_ERROR("%s\n", err.c_str());
+
+ string layout_headers_text = generate_layout_headers_text(layouts_data);
+ string layouts_table_text = generate_layouts_table_text(layouts_data);
+ string layouts_constants_text = generate_layouts_constants_text(layouts_data);
+
+ string file_dir = get_directory_name(layouts_filepath);
+ char s = file_dir.back();
+
+ write_text_file(file_dir + "layouts.inc", layout_headers_text);
+ write_text_file(file_dir + "layouts_table.inc", layouts_table_text);
+ write_text_file(file_dir + ".." + s + ".." + s + "include" + s + "constants" + s + "layouts.h", layouts_constants_text);
+}
+
+int main(int argc, char *argv[]) {
+ if (argc < 3)
+ FATAL_ERROR("USAGE: mapjson <mode> <game-version> [options]\n");
+
+ char *version_arg = argv[2];
+ string version(version_arg);
+ if (version != "emerald" && version != "ruby")
+ FATAL_ERROR("ERROR: <game-version> must be 'emerald' or 'ruby'.\n");
+
+ char *mode_arg = argv[1];
+ string mode(mode_arg);
+ if (mode != "layouts" && mode != "map" && mode != "groups")
+ FATAL_ERROR("ERROR: <mode> must be 'layouts', 'map', or 'groups'.\n");
+
+ if (mode == "map") {
+ if (argc != 5)
+ FATAL_ERROR("USAGE: mapjson map <game-version> <map_file> <layouts_file>\n");
+
+ string filepath(argv[3]);
+ string layouts_filepath(argv[4]);
+
+ process_map(filepath, layouts_filepath, version);
+ }
+ else if (mode == "groups") {
+ if (argc != 4)
+ FATAL_ERROR("USAGE: mapjson groups <game-version> <groups_file>\n");
+
+ string filepath(argv[3]);
+
+ process_groups(filepath);
+ }
+ else if (mode == "layouts") {
+ if (argc != 4)
+ FATAL_ERROR("USAGE: mapjson layouts <game-version> <layouts_file>\n");
+
+ string filepath(argv[3]);
+
+ process_layouts(filepath);
+ }
+
+ return 0;
+}
diff --git a/tools/mapjson/mapjson.h b/tools/mapjson/mapjson.h
new file mode 100755
index 000000000..6e961a28e
--- /dev/null
+++ b/tools/mapjson/mapjson.h
@@ -0,0 +1,31 @@
+// mapjson.h
+
+#ifndef MAPJSON_H
+#define MAPJSON_H
+
+#include <cstdio>
+using std::fprintf; using std::exit;
+
+#include <cstdlib>
+
+#ifdef _MSC_VER
+
+#define FATAL_ERROR(format, ...) \
+do \
+{ \
+ fprintf(stderr, format, __VA_ARGS__); \
+ exit(1); \
+} while (0)
+
+#else
+
+#define FATAL_ERROR(format, ...) \
+do \
+{ \
+ fprintf(stderr, format, ##__VA_ARGS__); \
+ exit(1); \
+} while (0)
+
+#endif // _MSC_VER
+
+#endif // MAPJSON_H
diff --git a/tools/preproc/c_file.cpp b/tools/preproc/c_file.cpp
index 229f568fa..b550a53fa 100644
--- a/tools/preproc/c_file.cpp
+++ b/tools/preproc/c_file.cpp
@@ -22,6 +22,9 @@
#include <cstdarg>
#include <string>
#include <memory>
+#include <iostream>
+#include <iterator>
+#include <cstring>
#include "preproc.h"
#include "c_file.h"
#include "char_util.h"
@@ -30,28 +33,41 @@
CFile::CFile(std::string filename) : m_filename(filename)
{
- FILE *fp = std::fopen(filename.c_str(), "rb");
+ if (filename == "-") {
+ std::string s, b;
- if (fp == NULL)
- FATAL_ERROR("Failed to open \"%s\" for reading.\n", filename.c_str());
+ while (!std::cin.eof()) {
+ std::getline(std::cin, b);
+ s += b + "\n";
+ }
+ m_size = s.size();
+ m_buffer = new char[m_size + 1];
+ memcpy(m_buffer, s.c_str(), m_size);
+ m_buffer[m_size] = 0;
+ } else {
+ FILE *fp = std::fopen(filename.c_str(), "rb");
- std::fseek(fp, 0, SEEK_END);
+ if (fp == NULL)
+ FATAL_ERROR("Failed to open \"%s\" for reading.\n", filename.c_str());
- m_size = std::ftell(fp);
+ std::fseek(fp, 0, SEEK_END);
- if (m_size < 0)
- FATAL_ERROR("File size of \"%s\" is less than zero.\n", filename.c_str());
+ m_size = std::ftell(fp);
- m_buffer = new char[m_size + 1];
+ if (m_size < 0)
+ FATAL_ERROR("File size of \"%s\" is less than zero.\n", filename.c_str());
- std::rewind(fp);
+ m_buffer = new char[m_size + 1];
- if (std::fread(m_buffer, m_size, 1, fp) != 1)
- FATAL_ERROR("Failed to read \"%s\".\n", filename.c_str());
+ std::rewind(fp);
- m_buffer[m_size] = 0;
+ if (std::fread(m_buffer, m_size, 1, fp) != 1)
+ FATAL_ERROR("Failed to read \"%s\".\n", filename.c_str());
- std::fclose(fp);
+ m_buffer[m_size] = 0;
+
+ std::fclose(fp);
+ }
m_pos = 0;
m_lineNum = 1;
diff --git a/tools/preproc/preproc.cpp b/tools/preproc/preproc.cpp
index c9c6042df..2d51ab175 100644
--- a/tools/preproc/preproc.cpp
+++ b/tools/preproc/preproc.cpp
@@ -140,17 +140,22 @@ int main(int argc, char **argv)
g_charmap = new Charmap(argv[2]);
- char* extension = GetFileExtension(argv[1]);
-
- if (!extension)
- FATAL_ERROR("\"%s\" has no file extension.\n", argv[1]);
+ if (argv[1][0] == '-' && argv[1][1] == 0) {
+ PreprocCFile("-");
+ } else {
+ char* extension = GetFileExtension(argv[1]);
+
+ if (!extension)
+ FATAL_ERROR("\"%s\" has no file extension.\n", argv[1]);
+
+ if ((extension[0] == 's') && extension[1] == 0)
+ PreprocAsmFile(argv[1]);
+ else if ((extension[0] == 'c' || extension[0] == 'i') && extension[1] == 0)
+ PreprocCFile(argv[1]);
+ else
+ FATAL_ERROR("\"%s\" has an unknown file extension of \"%s\".\n", argv[1], extension);
+ }
- if ((extension[0] == 's') && extension[1] == 0)
- PreprocAsmFile(argv[1]);
- else if ((extension[0] == 'c' || extension[0] == 'i') && extension[1] == 0)
- PreprocCFile(argv[1]);
- else
- FATAL_ERROR("\"%s\" has an unknown file extension of \"%s\".\n", argv[1], extension);
return 0;
}
diff --git a/tools/scaninc/c_file.cpp b/tools/scaninc/c_file.cpp
index d470f959d..595f366cb 100644
--- a/tools/scaninc/c_file.cpp
+++ b/tools/scaninc/c_file.cpp
@@ -134,7 +134,7 @@ bool CFile::ConsumeComment()
if (m_buffer[m_pos] == '/' && m_buffer[m_pos + 1] == '*')
{
m_pos += 2;
- while (m_buffer[m_pos] != '*' && m_buffer[m_pos + 1] != '/')
+ while (m_buffer[m_pos] != '*' || m_buffer[m_pos + 1] != '/')
{
if (m_buffer[m_pos] == 0)
return false;