aboutsummaryrefslogtreecommitdiffstats
path: root/data/maps
diff options
context:
space:
mode:
Diffstat (limited to 'data/maps')
-rw-r--r--data/maps/hide_show_data.asm582
-rw-r--r--data/maps/objects/SaffronCity.asm2
-rw-r--r--data/maps/objects/SilphCo7F.asm2
-rw-r--r--data/maps/toggleable_objects.asm438
-rw-r--r--data/maps/town_map_entries.asm206
5 files changed, 544 insertions, 686 deletions
diff --git a/data/maps/hide_show_data.asm b/data/maps/hide_show_data.asm
deleted file mode 100644
index de9eb979..00000000
--- a/data/maps/hide_show_data.asm
+++ /dev/null
@@ -1,582 +0,0 @@
-; default hidden/shown objects for each map
-
-MapHSPointers:
-; entries correspond to map ids
- table_width 2
- dw PalletTownHS
- dw ViridianCityHS
- dw PewterCityHS
- dw CeruleanCityHS
- dw NoHS
- dw NoHS
- dw NoHS
- dw NoHS
- dw NoHS
- dw NoHS
- dw SaffronCityHS
- dw NoHS
- dw NoHS
- dw Route2HS
- dw NoHS
- dw Route4HS
- dw NoHS
- dw NoHS
- dw NoHS
- dw NoHS
- dw Route9HS
- dw NoHS
- dw NoHS
- dw Route12HS
- dw NoHS
- dw NoHS
- dw Route15HS
- dw Route16HS
- dw NoHS
- dw NoHS
- dw NoHS
- dw NoHS
- dw NoHS
- dw Route22HS
- dw NoHS
- dw Route24HS
- dw Route25HS
- dw NoHS
- dw NoHS
- dw BluesHouseHS
- dw OaksLabHS
- dw NoHS
- dw NoHS
- dw NoHS
- dw NoHS
- dw ViridianGymHS
- dw NoHS
- dw NoHS
- dw NoHS
- dw NoHS
- dw NoHS
- dw ViridianForestHS
- dw Museum1FHS
- dw NoHS
- dw NoHS
- dw NoHS
- dw NoHS
- dw NoHS
- dw NoHS
- dw MtMoon1FHS
- dw NoHS
- dw MtMoonB2FHS
- dw NoHS
- dw CeruleanMelaniesHouseHS
- dw NoHS
- dw NoHS
- dw NoHS
- dw NoHS
- dw NoHS
- dw NoHS
- dw NoHS
- dw NoHS
- dw NoHS
- dw NoHS
- dw NoHS
- dw NoHS
- dw NoHS
- dw NoHS
- dw NoHS
- dw NoHS
- dw NoHS
- dw NoHS
- dw NoHS
- dw PowerPlantHS
- dw NoHS
- dw NoHS
- dw NoHS
- dw NoHS
- dw BillsHouseHS
- dw NoHS
- dw NoHS
- dw NoHS
- dw NoHS
- dw NoHS
- dw NoHS
- dw NoHS
- dw SSAnne2FHS
- dw NoHS
- dw NoHS
- dw NoHS
- dw NoHS
- dw NoHS
- dw SSAnne1FRoomsHS
- dw SSAnne2FRoomsHS
- dw SSAnneB1FRoomsHS
- dw NoHS
- dw NoHS
- dw NoHS
- dw VictoryRoad1FHS
- dw NoHS
- dw NoHS
- dw NoHS
- dw NoHS
- dw NoHS
- dw NoHS
- dw NoHS
- dw NoHS
- dw NoHS
- dw NoHS
- dw NoHS
- dw ChampionsRoomHS
- dw NoHS
- dw NoHS
- dw NoHS
- dw NoHS
- dw NoHS
- dw NoHS
- dw NoHS
- dw NoHS
- dw NoHS
- dw NoHS
- dw NoHS
- dw CeladonMansionRoofHouseHS
- dw NoHS
- dw NoHS
- dw GameCornerHS
- dw NoHS
- dw NoHS
- dw NoHS
- dw NoHS
- dw NoHS
- dw NoHS
- dw NoHS
- dw PokemonTower2FHS
- dw PokemonTower3FHS
- dw PokemonTower4FHS
- dw PokemonTower5FHS
- dw PokemonTower6FHS
- dw PokemonTower7FHS
- dw MrFujisHouseHS
- dw NoHS
- dw NoHS
- dw NoHS
- dw NoHS
- dw NoHS
- dw WardensHouseHS
- dw NoHS
- dw NoHS
- dw NoHS
- dw SeafoamIslandsB1FHS
- dw SeafoamIslandsB2FHS
- dw SeafoamIslandsB3FHS
- dw SeafoamIslandsB4FHS
- dw NoHS
- dw NoHS
- dw PokemonMansion1FHS
- dw NoHS
- dw NoHS
- dw NoHS
- dw NoHS
- dw NoHS
- dw NoHS
- dw NoHS
- dw NoHS
- dw NoHS
- dw NoHS
- dw NoHS
- dw FightingDojoHS
- dw NoHS
- dw NoHS
- dw NoHS
- dw SilphCo1FHS
- dw NoHS
- dw NoHS
- dw NoHS
- dw NoHS
- dw NoHS
- dw NoHS
- dw NoHS
- dw NoHS
- dw NoHS
- dw NoHS
- dw SeafoamIslands1FHS
- dw NoHS
- dw VictoryRoad2FHS
- dw NoHS
- dw NoHS
- dw NoHS
- dw VictoryRoad3FHS
- dw RocketHideoutB1FHS
- dw RocketHideoutB2FHS
- dw RocketHideoutB3FHS
- dw RocketHideoutB4FHS
- dw NoHS
- dw NoHS
- dw NoHS
- dw NoHS
- dw SilphCo2FHS
- dw SilphCo3FHS
- dw SilphCo4FHS
- dw SilphCo5FHS
- dw SilphCo6FHS
- dw SilphCo7FHS
- dw SilphCo8FHS
- dw PokemonMansion2FHS
- dw PokemonMansion3FHS
- dw PokemonMansionB1FHS
- dw SafariZoneEastHS
- dw SafariZoneNorthHS
- dw SafariZoneWestHS
- dw SafariZoneCenterHS
- dw NoHS
- dw NoHS
- dw NoHS
- dw NoHS
- dw NoHS
- dw CeruleanCave2FHS
- dw CeruleanCaveB1FHS
- dw CeruleanCaveHS
- dw NoHS
- dw NoHS
- dw NoHS
- dw NoHS
- dw SilphCo9FHS
- dw SilphCo10FHS
- dw SilphCo11FHS
- dw NoHS
- dw NoHS
- dw NoHS
- dw NoHS
- dw NoHS
- dw NoHS
- dw NoHS
- dw NoHS
- dw UnusedMapF4HS
- dw NoHS
- dw NoHS
- dw NoHS
- dw NoHS
- assert_table_length NUM_MAPS
- dw -1 ; end
-
-NoHS:
- db -1, -1, -1 ; end
-
-MissableObjects:
-; entries correspond to HS_* constants (see constants/hide_show_constants)
- table_width 3
-; format: map id, object id, HIDE/SHOW
-
-PalletTownHS:
- db PALLET_TOWN, PALLETTOWN_OAK, HIDE
-ViridianCityHS:
- db VIRIDIAN_CITY, VIRIDIANCITY_OLD_MAN_SLEEPY, SHOW
- db VIRIDIAN_CITY, VIRIDIANCITY_OLD_MAN, HIDE
- db VIRIDIAN_CITY, VIRIDIANCITY_OLD_MAN2, HIDE
-PewterCityHS:
- db PEWTER_CITY, PEWTERCITY_SUPER_NERD1, SHOW
- db PEWTER_CITY, PEWTERCITY_YOUNGSTER, SHOW
-CeruleanCityHS:
- db CERULEAN_CITY, CERULEANCITY_RIVAL, HIDE
- db CERULEAN_CITY, CERULEANCITY_ROCKET, SHOW
- db CERULEAN_CITY, CERULEANCITY_GUARD1, HIDE
- db CERULEAN_CITY, CERULEANCITY_SUPER_NERD3, SHOW
- db CERULEAN_CITY, CERULEANCITY_GUARD2, SHOW
-SaffronCityHS:
- db SAFFRON_CITY, SAFFRONCITY_ROCKET1, SHOW
- db SAFFRON_CITY, SAFFRONCITY_ROCKET2, SHOW
- db SAFFRON_CITY, SAFFRONCITY_ROCKET3, SHOW
- db SAFFRON_CITY, SAFFRONCITY_ROCKET4, SHOW
- db SAFFRON_CITY, SAFFRONCITY_ROCKET5, SHOW
- db SAFFRON_CITY, SAFFRONCITY_ROCKET6, SHOW
- db SAFFRON_CITY, SAFFRONCITY_ROCKET7, SHOW
- db SAFFRON_CITY, SAFFRONCITY_SCIENTIST, HIDE
- db SAFFRON_CITY, SAFFRONCITY_SILPH_WORKER_M, HIDE
- db SAFFRON_CITY, SAFFRONCITY_SILPH_WORKER_F, HIDE
- db SAFFRON_CITY, SAFFRONCITY_GENTLEMAN, HIDE
- db SAFFRON_CITY, SAFFRONCITY_PIDGEOT, HIDE
- db SAFFRON_CITY, SAFFRONCITY_ROCKER, HIDE
- db SAFFRON_CITY, SAFFRONCITY_ROCKET8, SHOW
- db SAFFRON_CITY, SAFFRONCITY_ROCKET9, HIDE ; removed in yellow
-Route2HS:
- db ROUTE_2, ROUTE2_MOON_STONE, SHOW
- db ROUTE_2, ROUTE2_HP_UP, SHOW
-Route4HS:
- db ROUTE_4, ROUTE4_TM_WHIRLWIND, SHOW
-Route9HS:
- db ROUTE_9, ROUTE9_TM_TELEPORT, SHOW
-Route12HS:
- db ROUTE_12, ROUTE12_SNORLAX, SHOW
- db ROUTE_12, ROUTE12_TM_PAY_DAY, SHOW
- db ROUTE_12, ROUTE12_IRON, SHOW
-Route15HS:
- db ROUTE_15, ROUTE15_TM_RAGE, SHOW
-Route16HS:
- db ROUTE_16, ROUTE16_SNORLAX, SHOW
-Route22HS:
- db ROUTE_22, ROUTE22_RIVAL1, HIDE
- db ROUTE_22, ROUTE22_RIVAL2, HIDE
-Route24HS:
- db ROUTE_24, ROUTE24_COOLTRAINER_M1, SHOW
- db ROUTE_24, ROUTE24_TM_THUNDER_WAVE, SHOW
-Route25HS:
- db ROUTE_25, ROUTE25_TM_SEISMIC_TOSS, SHOW
-BluesHouseHS:
- db BLUES_HOUSE, BLUESHOUSE_DAISY1, SHOW
- db BLUES_HOUSE, BLUESHOUSE_DAISY2, HIDE
- db BLUES_HOUSE, BLUESHOUSE_TOWN_MAP, SHOW
-OaksLabHS:
- db OAKS_LAB, OAKSLAB_RIVAL, SHOW
- db OAKS_LAB, OAKSLAB_EEVEE_POKE_BALL, SHOW
- db OAKS_LAB, OAKSLAB_OAK1, HIDE
- db OAKS_LAB, OAKSLAB_POKEDEX1, SHOW
- db OAKS_LAB, OAKSLAB_POKEDEX2, SHOW
- db OAKS_LAB, OAKSLAB_OAK2, HIDE
-ViridianGymHS:
- db VIRIDIAN_GYM, VIRIDIANGYM_GIOVANNI, SHOW
- db VIRIDIAN_GYM, VIRIDIANGYM_REVIVE, SHOW
-Museum1FHS:
- db MUSEUM_1F, MUSEUM1F_OLD_AMBER, SHOW
-CeruleanMelaniesHouseHS:
- db CERULEAN_MELANIES_HOUSE, CERULEANMELANIESHOUSE_BULBASAUR, SHOW
-CeruleanCaveHS:
- db CERULEAN_CAVE_1F, CERULEANCAVE1F_RARE_CANDY, SHOW
- db CERULEAN_CAVE_1F, CERULEANCAVE1F_MAX_ELIXER, SHOW
- db CERULEAN_CAVE_1F, CERULEANCAVE1F_MAX_REVIVE, SHOW
- db CERULEAN_CAVE_1F, CERULEANCAVE1F_ULTRA_BALL, SHOW
-PokemonTower2FHS:
- db POKEMON_TOWER_2F, POKEMONTOWER2F_RIVAL, SHOW
-PokemonTower3FHS:
- db POKEMON_TOWER_3F, POKEMONTOWER3F_ESCAPE_ROPE, SHOW
-PokemonTower4FHS:
- db POKEMON_TOWER_4F, POKEMONTOWER4F_ELIXER, SHOW
- db POKEMON_TOWER_4F, POKEMONTOWER4F_AWAKENING, SHOW
- db POKEMON_TOWER_4F, POKEMONTOWER4F_HP_UP, SHOW
-PokemonTower5FHS:
- db POKEMON_TOWER_5F, POKEMONTOWER5F_NUGGET, SHOW
-PokemonTower6FHS:
- db POKEMON_TOWER_6F, POKEMONTOWER6F_RARE_CANDY, SHOW
- db POKEMON_TOWER_6F, POKEMONTOWER6F_X_ACCURACY, SHOW
-PokemonTower7FHS:
- db POKEMON_TOWER_7F, POKEMONTOWER7F_JESSIE, HIDE
- db POKEMON_TOWER_7F, POKEMONTOWER7F_JAMES, HIDE
- db POKEMON_TOWER_7F, POKEMONTOWER7F_MR_FUJI, SHOW
-MrFujisHouseHS:
- db MR_FUJIS_HOUSE, MRFUJISHOUSE_MR_FUJI, HIDE
-CeladonMansionRoofHouseHS:
- db CELADON_MANSION_ROOF_HOUSE, CELADONMANSION_ROOF_HOUSE_EEVEE_POKEBALL, SHOW
-GameCornerHS:
- db GAME_CORNER, GAMECORNER_ROCKET, SHOW
-WardensHouseHS:
- db WARDENS_HOUSE, WARDENSHOUSE_RARE_CANDY, SHOW
-PokemonMansion1FHS:
- db POKEMON_MANSION_1F, POKEMONMANSION1F_ESCAPE_ROPE, SHOW
- db POKEMON_MANSION_1F, POKEMONMANSION1F_CARBOS, SHOW
-FightingDojoHS:
- db FIGHTING_DOJO, FIGHTINGDOJO_HITMONLEE_POKE_BALL, SHOW
- db FIGHTING_DOJO, FIGHTINGDOJO_HITMONCHAN_POKE_BALL, SHOW
-SilphCo1FHS:
- db SILPH_CO_1F, SILPHCO1F_LINK_RECEPTIONIST, HIDE
-PowerPlantHS:
- db POWER_PLANT, POWERPLANT_VOLTORB1, SHOW
- db POWER_PLANT, POWERPLANT_VOLTORB2, SHOW
- db POWER_PLANT, POWERPLANT_VOLTORB3, SHOW
- db POWER_PLANT, POWERPLANT_ELECTRODE1, SHOW
- db POWER_PLANT, POWERPLANT_VOLTORB4, SHOW
- db POWER_PLANT, POWERPLANT_VOLTORB5, SHOW
- db POWER_PLANT, POWERPLANT_ELECTRODE2, SHOW
- db POWER_PLANT, POWERPLANT_VOLTORB6, SHOW
- db POWER_PLANT, POWERPLANT_ZAPDOS, SHOW
- db POWER_PLANT, POWERPLANT_CARBOS, SHOW
- db POWER_PLANT, POWERPLANT_HP_UP, SHOW
- db POWER_PLANT, POWERPLANT_RARE_CANDY, SHOW
- db POWER_PLANT, POWERPLANT_TM_THUNDER, SHOW
- db POWER_PLANT, POWERPLANT_TM_REFLECT, SHOW
-VictoryRoad2FHS:
- db VICTORY_ROAD_2F, VICTORYROAD2F_MOLTRES, SHOW
- db VICTORY_ROAD_2F, VICTORYROAD2F_TM_SUBMISSION, SHOW
- db VICTORY_ROAD_2F, VICTORYROAD2F_FULL_HEAL, SHOW
- db VICTORY_ROAD_2F, VICTORYROAD2F_TM_MEGA_KICK, SHOW
- db VICTORY_ROAD_2F, VICTORYROAD2F_GUARD_SPEC, SHOW
- db VICTORY_ROAD_2F, VICTORYROAD2F_BOULDER3, SHOW
-BillsHouseHS:
- db BILLS_HOUSE, BILLSHOUSE_BILL_POKEMON, SHOW
- db BILLS_HOUSE, BILLSHOUSE_BILL1, HIDE
- db BILLS_HOUSE, BILLSHOUSE_BILL2, HIDE
-ViridianForestHS:
- db VIRIDIAN_FOREST, VIRIDIANFOREST_POTION1, SHOW
- db VIRIDIAN_FOREST, VIRIDIANFOREST_POTION2, SHOW
- db VIRIDIAN_FOREST, VIRIDIANFOREST_POKE_BALL, SHOW
-MtMoon1FHS:
- db MT_MOON_1F, MTMOON1F_POTION1, SHOW
- db MT_MOON_1F, MTMOON1F_MOON_STONE, SHOW
- db MT_MOON_1F, MTMOON1F_RARE_CANDY, SHOW
- db MT_MOON_1F, MTMOON1F_ESCAPE_ROPE, SHOW
- db MT_MOON_1F, MTMOON1F_POTION2, SHOW
- db MT_MOON_1F, MTMOON1F_TM_WATER_GUN, SHOW
-MtMoonB2FHS:
- db MT_MOON_B2F, MTMOONB2F_JESSIE, HIDE
- db MT_MOON_B2F, MTMOONB2F_JAMES, HIDE
- db MT_MOON_B2F, MTMOONB2F_DOME_FOSSIL, SHOW
- db MT_MOON_B2F, MTMOONB2F_HELIX_FOSSIL, SHOW
- db MT_MOON_B2F, MTMOONB2F_HP_UP, SHOW
- db MT_MOON_B2F, MTMOONB2F_TM_MEGA_PUNCH, SHOW
-SSAnne2FHS:
- db SS_ANNE_2F, SSANNE2F_RIVAL, HIDE
-SSAnne1FRoomsHS:
- db SS_ANNE_1F_ROOMS, SSANNE1FROOMS_TM_BODY_SLAM, SHOW
-SSAnne2FRoomsHS:
- db SS_ANNE_2F_ROOMS, SSANNE2FROOMS_MAX_ETHER, SHOW
- db SS_ANNE_2F_ROOMS, SSANNE2FROOMS_RARE_CANDY, SHOW
-SSAnneB1FRoomsHS:
- db SS_ANNE_B1F_ROOMS, SSANNEB1FROOMS_ETHER, SHOW
- db SS_ANNE_B1F_ROOMS, SSANNEB1FROOMS_TM_REST, SHOW
- db SS_ANNE_B1F_ROOMS, SSANNEB1FROOMS_MAX_POTION, SHOW
-VictoryRoad3FHS:
- db VICTORY_ROAD_3F, VICTORYROAD3F_MAX_REVIVE, SHOW
- db VICTORY_ROAD_3F, VICTORYROAD3F_TM_EXPLOSION, SHOW
- db VICTORY_ROAD_3F, VICTORYROAD3F_BOULDER4, SHOW
-RocketHideoutB1FHS:
- db ROCKET_HIDEOUT_B1F, ROCKETHIDEOUTB1F_ESCAPE_ROPE, SHOW
- db ROCKET_HIDEOUT_B1F, ROCKETHIDEOUTB1F_HYPER_POTION, SHOW
-RocketHideoutB2FHS:
- db ROCKET_HIDEOUT_B2F, ROCKETHIDEOUTB2F_MOON_STONE, SHOW
- db ROCKET_HIDEOUT_B2F, ROCKETHIDEOUTB2F_NUGGET, SHOW
- db ROCKET_HIDEOUT_B2F, ROCKETHIDEOUTB2F_TM_HORN_DRILL, SHOW
- db ROCKET_HIDEOUT_B2F, ROCKETHIDEOUTB2F_SUPER_POTION, SHOW
-RocketHideoutB3FHS:
- db ROCKET_HIDEOUT_B3F, ROCKETHIDEOUTB3F_TM_DOUBLE_EDGE, SHOW
- db ROCKET_HIDEOUT_B3F, ROCKETHIDEOUTB3F_RARE_CANDY, SHOW
-RocketHideoutB4FHS:
- db ROCKET_HIDEOUT_B4F, ROCKETHIDEOUTB4F_GIOVANNI, SHOW
- db ROCKET_HIDEOUT_B4F, ROCKETHIDEOUTB4F_JAMES, HIDE
- db ROCKET_HIDEOUT_B4F, ROCKETHIDEOUTB4F_JESSIE, HIDE
- db ROCKET_HIDEOUT_B4F, ROCKETHIDEOUTB4F_HP_UP, SHOW
- db ROCKET_HIDEOUT_B4F, ROCKETHIDEOUTB4F_TM_RAZOR_WIND, SHOW
- db ROCKET_HIDEOUT_B4F, ROCKETHIDEOUTB4F_IRON, SHOW
- db ROCKET_HIDEOUT_B4F, ROCKETHIDEOUTB4F_SILPH_SCOPE, HIDE
- db ROCKET_HIDEOUT_B4F, ROCKETHIDEOUTB4F_LIFT_KEY, HIDE
-SilphCo2FHS:
- db SILPH_CO_2F, SILPHCO2F_SILPH_WORKER_F, SHOW
- db SILPH_CO_2F, SILPHCO2F_SCIENTIST1, SHOW
- db SILPH_CO_2F, SILPHCO2F_SCIENTIST2, SHOW
- db SILPH_CO_2F, SILPHCO2F_ROCKET1, SHOW
- db SILPH_CO_2F, SILPHCO2F_ROCKET2, SHOW
-SilphCo3FHS:
- db SILPH_CO_3F, SILPHCO3F_ROCKET, SHOW
- db SILPH_CO_3F, SILPHCO3F_SCIENTIST, SHOW
- db SILPH_CO_3F, SILPHCO3F_HYPER_POTION, SHOW
-SilphCo4FHS:
- db SILPH_CO_4F, SILPHCO4F_ROCKET1, SHOW
- db SILPH_CO_4F, SILPHCO4F_SCIENTIST, SHOW
- db SILPH_CO_4F, SILPHCO4F_ROCKET2, SHOW
- db SILPH_CO_4F, SILPHCO4F_FULL_HEAL, SHOW
- db SILPH_CO_4F, SILPHCO4F_MAX_REVIVE, SHOW
- db SILPH_CO_4F, SILPHCO4F_ESCAPE_ROPE, SHOW
-SilphCo5FHS:
- db SILPH_CO_5F, SILPHCO5F_ROCKET1, SHOW
- db SILPH_CO_5F, SILPHCO5F_SCIENTIST, SHOW
- db SILPH_CO_5F, SILPHCO5F_ROCKER, SHOW
- db SILPH_CO_5F, SILPHCO5F_ROCKET2, SHOW
- db SILPH_CO_5F, SILPHCO5F_TM_TAKE_DOWN, SHOW
- db SILPH_CO_5F, SILPHCO5F_PROTEIN, SHOW
- db SILPH_CO_5F, SILPHCO5F_CARD_KEY, SHOW
-SilphCo6FHS:
- db SILPH_CO_6F, SILPHCO6F_ROCKET1, SHOW
- db SILPH_CO_6F, SILPHCO6F_SCIENTIST, SHOW
- db SILPH_CO_6F, SILPHCO6F_ROCKET2, SHOW
- db SILPH_CO_6F, SILPHCO6F_HP_UP, SHOW
- db SILPH_CO_6F, SILPHCO6F_X_ACCURACY, SHOW
-SilphCo7FHS:
- db SILPH_CO_7F, SILPHCO7F_ROCKET1, SHOW
- db SILPH_CO_7F, SILPHCO7F_SCIENTIST, SHOW
- db SILPH_CO_7F, SILPHCO7F_ROCKET2, SHOW
- db SILPH_CO_7F, SILPHCO7F_ROCKET3, SHOW
- db SILPH_CO_7F, SILPHCO7F_RIVAL, SHOW
- db SILPH_CO_7F, SILPHCO7F_CALCIUM, SHOW
- db SILPH_CO_7F, SILPHCO7F_TM_SWORDS_DANCE, SHOW
- db SILPH_CO_7F, SILPHCO7F_UNUSED, SHOW
-SilphCo8FHS:
- db SILPH_CO_8F, SILPHCO8F_ROCKET1, SHOW
- db SILPH_CO_8F, SILPHCO8F_SCIENTIST, SHOW
- db SILPH_CO_8F, SILPHCO8F_ROCKET2, SHOW
-SilphCo9FHS:
- db SILPH_CO_9F, SILPHCO9F_ROCKET1, SHOW
- db SILPH_CO_9F, SILPHCO9F_SCIENTIST, SHOW
- db SILPH_CO_9F, SILPHCO9F_ROCKET2, SHOW
-SilphCo10FHS:
- db SILPH_CO_10F, SILPHCO10F_ROCKET, SHOW
- db SILPH_CO_10F, SILPHCO10F_SCIENTIST, SHOW
- db SILPH_CO_10F, SILPHCO10F_SILPH_WORKER_F, SHOW
- db SILPH_CO_10F, SILPHCO10F_TM_EARTHQUAKE, SHOW
- db SILPH_CO_10F, SILPHCO10F_RARE_CANDY, SHOW
- db SILPH_CO_10F, SILPHCO10F_CARBOS, SHOW
-SilphCo11FHS:
- db SILPH_CO_11F, SILPHCO11F_GIOVANNI, SHOW
- db SILPH_CO_11F, SILPHCO11F_JAMES, SHOW
- db SILPH_CO_11F, SILPHCO11F_ROCKET, SHOW
- db SILPH_CO_11F, SILPHCO11F_JESSIE, SHOW
-UnusedMapF4HS:
- db UNUSED_MAP_F4, $02, SHOW ; unused
-PokemonMansion2FHS:
- db POKEMON_MANSION_2F, POKEMONMANSION2F_CALCIUM, SHOW
-PokemonMansion3FHS:
- db POKEMON_MANSION_3F, POKEMONMANSION3F_MAX_POTION, SHOW
- db POKEMON_MANSION_3F, POKEMONMANSION3F_IRON, SHOW
-PokemonMansionB1FHS:
- db POKEMON_MANSION_B1F, POKEMONMANSIONB1F_RARE_CANDY, SHOW
- db POKEMON_MANSION_B1F, POKEMONMANSIONB1F_FULL_RESTORE, SHOW
- db POKEMON_MANSION_B1F, POKEMONMANSIONB1F_TM_BLIZZARD, SHOW
- db POKEMON_MANSION_B1F, POKEMONMANSIONB1F_TM_SOLARBEAM, SHOW
- db POKEMON_MANSION_B1F, POKEMONMANSIONB1F_SECRET_KEY, SHOW
-SafariZoneEastHS:
- db SAFARI_ZONE_EAST, SAFARIZONEEAST_FULL_RESTORE, SHOW
- db SAFARI_ZONE_EAST, SAFARIZONEEAST_MAX_RESTORE, SHOW
- db SAFARI_ZONE_EAST, SAFARIZONEEAST_CARBOS, SHOW
- db SAFARI_ZONE_EAST, SAFARIZONEEAST_TM_EGG_BOMB, SHOW
-SafariZoneNorthHS:
- db SAFARI_ZONE_NORTH, SAFARIZONENORTH_PROTEIN, SHOW
- db SAFARI_ZONE_NORTH, SAFARIZONENORTH_TM_SKULL_BASH, SHOW
-SafariZoneWestHS:
- db SAFARI_ZONE_WEST, SAFARIZONEWEST_MAX_POTION, SHOW
- db SAFARI_ZONE_WEST, SAFARIZONEWEST_TM_DOUBLE_TEAM, SHOW
- db SAFARI_ZONE_WEST, SAFARIZONEWEST_MAX_REVIVE, SHOW
- db SAFARI_ZONE_WEST, SAFARIZONEWEST_GOLD_TEETH, SHOW
-SafariZoneCenterHS:
- db SAFARI_ZONE_CENTER, SAFARIZONECENTER_NUGGET, SHOW
-CeruleanCave2FHS:
- db CERULEAN_CAVE_2F, CERULEANCAVE2F_RARE_CANDY, SHOW
- db CERULEAN_CAVE_2F, CERULEANCAVE2F_ULTRA_BALL, SHOW
- db CERULEAN_CAVE_2F, CERULEANCAVE2F_MAX_REVIVE, SHOW
- db CERULEAN_CAVE_2F, CERULEANCAVE2F_FULL_RESTORE, SHOW
-CeruleanCaveB1FHS:
- db CERULEAN_CAVE_B1F, CERULEANCAVEB1F_MEWTWO, SHOW
- db CERULEAN_CAVE_B1F, CERULEANCAVEB1F_ULTRA_BALL1, SHOW
- db CERULEAN_CAVE_B1F, CERULEANCAVEB1F_ULTRA_BALL2, SHOW
- db CERULEAN_CAVE_B1F, CERULEANCAVEB1F_MAX_REVIVE, SHOW
- db CERULEAN_CAVE_B1F, CERULEANCAVEB1F_MAX_ELIXER, SHOW
-VictoryRoad1FHS:
- db VICTORY_ROAD_1F, VICTORYROAD1F_TM_SKY_ATTACK, SHOW
- db VICTORY_ROAD_1F, VICTORYROAD1F_RARE_CANDY, SHOW
-ChampionsRoomHS:
- db CHAMPIONS_ROOM, CHAMPIONSROOM_OAK, HIDE
-SeafoamIslands1FHS:
- db SEAFOAM_ISLANDS_1F, SEAFOAMISLANDS1F_BOULDER1, SHOW
- db SEAFOAM_ISLANDS_1F, SEAFOAMISLANDS1F_BOULDER2, SHOW
-SeafoamIslandsB1FHS:
- db SEAFOAM_ISLANDS_B1F, SEAFOAMISLANDSB1F_BOULDER1, HIDE
- db SEAFOAM_ISLANDS_B1F, SEAFOAMISLANDSB1F_BOULDER2, HIDE
-SeafoamIslandsB2FHS:
- db SEAFOAM_ISLANDS_B2F, SEAFOAMISLANDSB2F_BOULDER1, HIDE
- db SEAFOAM_ISLANDS_B2F, SEAFOAMISLANDSB2F_BOULDER2, HIDE
-SeafoamIslandsB3FHS:
- db SEAFOAM_ISLANDS_B3F, SEAFOAMISLANDSB3F_BOULDER2, SHOW
- db SEAFOAM_ISLANDS_B3F, SEAFOAMISLANDSB3F_BOULDER3, SHOW
- db SEAFOAM_ISLANDS_B3F, SEAFOAMISLANDSB3F_BOULDER5, HIDE
- db SEAFOAM_ISLANDS_B3F, SEAFOAMISLANDSB3F_BOULDER6, HIDE
-SeafoamIslandsB4FHS:
- db SEAFOAM_ISLANDS_B4F, SEAFOAMISLANDSB4F_BOULDER1, HIDE
- db SEAFOAM_ISLANDS_B4F, SEAFOAMISLANDSB4F_BOULDER2, HIDE
- db SEAFOAM_ISLANDS_B4F, SEAFOAMISLANDSB4F_ARTICUNO, SHOW
-BluesHouseHSCopy: ; unreferenced
- db BLUES_HOUSE, BLUESHOUSE_DAISY1, SHOW
- db BLUES_HOUSE, BLUESHOUSE_DAISY2, HIDE
- db BLUES_HOUSE, BLUESHOUSE_TOWN_MAP, SHOW
- assert_table_length NUM_HS_OBJECTS
- db -1, 1, SHOW ; end
diff --git a/data/maps/objects/SaffronCity.asm b/data/maps/objects/SaffronCity.asm
index 6b09c84a..26715480 100644
--- a/data/maps/objects/SaffronCity.asm
+++ b/data/maps/objects/SaffronCity.asm
@@ -13,7 +13,7 @@
const_export SAFFRONCITY_PIDGEOT
const_export SAFFRONCITY_ROCKER
const_export SAFFRONCITY_ROCKET8
- const_export SAFFRONCITY_ROCKET9 ; removed in yellow, but still referenced in data/maps/hide_show_data.asm
+ const_export SAFFRONCITY_ROCKET9 ; removed in yellow, but still referenced in data/maps/toggleable_objects.asm
SaffronCity_Object:
db $f ; border block
diff --git a/data/maps/objects/SilphCo7F.asm b/data/maps/objects/SilphCo7F.asm
index 6f2ca90d..0dbe2c7f 100644
--- a/data/maps/objects/SilphCo7F.asm
+++ b/data/maps/objects/SilphCo7F.asm
@@ -10,7 +10,7 @@
const_export SILPHCO7F_RIVAL
const_export SILPHCO7F_CALCIUM
const_export SILPHCO7F_TM_SWORDS_DANCE
- const_export SILPHCO7F_UNUSED ; referenced in data/maps/hide_show_data.asm, no corresponding object_event
+ const_export SILPHCO7F_UNUSED ; referenced in data/maps/toggleable_objects.asm, no corresponding object_event
SilphCo7F_Object:
db $2e ; border block
diff --git a/data/maps/toggleable_objects.asm b/data/maps/toggleable_objects.asm
new file mode 100644
index 00000000..c628bd88
--- /dev/null
+++ b/data/maps/toggleable_objects.asm
@@ -0,0 +1,438 @@
+; toggleable objects for each map
+
+ToggleableObjectMapPointers:
+; entries correspond to map ids
+ table_width 2
+FOR n, NUM_MAPS
+ IF DEF(TOGGLEMAP{n}_NAME) ; defined by `toggle_consts_for`
+ dw ToggleData_{TOGGLEMAP{n}_NAME}
+ ELSE
+ dw NoToggleData
+ ENDC
+ENDR
+ assert_table_length NUM_MAPS
+ dw -1 ; end
+
+NoToggleData:
+ db -1, -1, -1 ; end
+
+DEF toggles_ok = 1
+
+MACRO? toggleable_objects_for
+ DEF toggle_map_id = \1 ; map id
+ ToggleData_\1:
+ IF toggles_ok
+ ASSERT DEF(TOGGLEMAP{toggle_map_id}_ID), \
+ "`toggleable_objects_for \1` is not defined"
+ DEF toggles_ok &= DEF(TOGGLEMAP{toggle_map_id}_ID)
+ IF toggles_ok
+ assert_table_length TOGGLEMAP{toggle_map_id}_ID
+ DEF toggles_ok &= TOGGLEMAP{toggle_map_id}_ID * 3 == @ - ToggleableObjectStates
+ ENDC
+ ENDC
+ENDM
+
+MACRO toggle_object_state
+ db toggle_map_id ; from previous `toggleable_objects_for`
+ db \1 ; object id
+ db \2 ; OFF/ON
+ENDM
+
+ToggleableObjectStates:
+; entries correspond to TOGGLE_* constants (see constants/toggle_constants.asm)
+ table_width 3
+
+ toggleable_objects_for PALLET_TOWN
+ toggle_object_state PALLETTOWN_OAK, OFF
+
+ toggleable_objects_for VIRIDIAN_CITY
+ toggle_object_state VIRIDIANCITY_OLD_MAN_SLEEPY, ON
+ toggle_object_state VIRIDIANCITY_OLD_MAN, OFF
+ toggle_object_state VIRIDIANCITY_OLD_MAN2, OFF
+
+ toggleable_objects_for PEWTER_CITY
+ toggle_object_state PEWTERCITY_SUPER_NERD1, ON
+ toggle_object_state PEWTERCITY_YOUNGSTER, ON
+
+ toggleable_objects_for CERULEAN_CITY
+ toggle_object_state CERULEANCITY_RIVAL, OFF
+ toggle_object_state CERULEANCITY_ROCKET, ON
+ toggle_object_state CERULEANCITY_GUARD1, OFF
+ toggle_object_state CERULEANCITY_SUPER_NERD3, ON
+ toggle_object_state CERULEANCITY_GUARD2, ON
+
+ toggleable_objects_for SAFFRON_CITY
+ toggle_object_state SAFFRONCITY_ROCKET1, ON
+ toggle_object_state SAFFRONCITY_ROCKET2, ON
+ toggle_object_state SAFFRONCITY_ROCKET3, ON
+ toggle_object_state SAFFRONCITY_ROCKET4, ON
+ toggle_object_state SAFFRONCITY_ROCKET5, ON
+ toggle_object_state SAFFRONCITY_ROCKET6, ON
+ toggle_object_state SAFFRONCITY_ROCKET7, ON
+ toggle_object_state SAFFRONCITY_SCIENTIST, OFF
+ toggle_object_state SAFFRONCITY_SILPH_WORKER_M, OFF
+ toggle_object_state SAFFRONCITY_SILPH_WORKER_F, OFF
+ toggle_object_state SAFFRONCITY_GENTLEMAN, OFF
+ toggle_object_state SAFFRONCITY_PIDGEOT, OFF
+ toggle_object_state SAFFRONCITY_ROCKER, OFF
+ toggle_object_state SAFFRONCITY_ROCKET8, ON
+ toggle_object_state SAFFRONCITY_ROCKET9, OFF ; removed in yellow
+
+ toggleable_objects_for ROUTE_2
+ toggle_object_state ROUTE2_MOON_STONE, ON
+ toggle_object_state ROUTE2_HP_UP, ON
+
+ toggleable_objects_for ROUTE_4
+ toggle_object_state ROUTE4_TM_WHIRLWIND, ON
+
+ toggleable_objects_for ROUTE_9
+ toggle_object_state ROUTE9_TM_TELEPORT, ON
+
+ toggleable_objects_for ROUTE_12
+ toggle_object_state ROUTE12_SNORLAX, ON
+ toggle_object_state ROUTE12_TM_PAY_DAY, ON
+ toggle_object_state ROUTE12_IRON, ON
+
+ toggleable_objects_for ROUTE_15
+ toggle_object_state ROUTE15_TM_RAGE, ON
+
+ toggleable_objects_for ROUTE_16
+ toggle_object_state ROUTE16_SNORLAX, ON
+
+ toggleable_objects_for ROUTE_22
+ toggle_object_state ROUTE22_RIVAL1, OFF
+ toggle_object_state ROUTE22_RIVAL2, OFF
+
+ toggleable_objects_for ROUTE_24
+ toggle_object_state ROUTE24_COOLTRAINER_M1, ON
+ toggle_object_state ROUTE24_TM_THUNDER_WAVE, ON
+
+ toggleable_objects_for ROUTE_25
+ toggle_object_state ROUTE25_TM_SEISMIC_TOSS, ON
+
+ toggleable_objects_for BLUES_HOUSE
+ toggle_object_state BLUESHOUSE_DAISY1, ON
+ toggle_object_state BLUESHOUSE_DAISY2, OFF
+ toggle_object_state BLUESHOUSE_TOWN_MAP, ON
+
+ toggleable_objects_for OAKS_LAB
+ toggle_object_state OAKSLAB_RIVAL, ON
+ toggle_object_state OAKSLAB_EEVEE_POKE_BALL, ON
+ toggle_object_state OAKSLAB_OAK1, OFF
+ toggle_object_state OAKSLAB_POKEDEX1, ON
+ toggle_object_state OAKSLAB_POKEDEX2, ON
+ toggle_object_state OAKSLAB_OAK2, OFF
+
+ toggleable_objects_for VIRIDIAN_GYM
+ toggle_object_state VIRIDIANGYM_GIOVANNI, ON
+ toggle_object_state VIRIDIANGYM_REVIVE, ON
+
+ toggleable_objects_for MUSEUM_1F
+ toggle_object_state MUSEUM1F_OLD_AMBER, ON
+
+ toggleable_objects_for CERULEAN_MELANIES_HOUSE
+ toggle_object_state CERULEANMELANIESHOUSE_BULBASAUR, ON
+
+ toggleable_objects_for CERULEAN_CAVE_1F
+ toggle_object_state CERULEANCAVE1F_RARE_CANDY, ON
+ toggle_object_state CERULEANCAVE1F_MAX_ELIXER, ON
+ toggle_object_state CERULEANCAVE1F_MAX_REVIVE, ON
+ toggle_object_state CERULEANCAVE1F_ULTRA_BALL, ON
+
+ toggleable_objects_for POKEMON_TOWER_2F
+ toggle_object_state POKEMONTOWER2F_RIVAL, ON
+
+ toggleable_objects_for POKEMON_TOWER_3F
+ toggle_object_state POKEMONTOWER3F_ESCAPE_ROPE, ON
+
+ toggleable_objects_for POKEMON_TOWER_4F
+ toggle_object_state POKEMONTOWER4F_ELIXER, ON
+ toggle_object_state POKEMONTOWER4F_AWAKENING, ON
+ toggle_object_state POKEMONTOWER4F_HP_UP, ON
+
+ toggleable_objects_for POKEMON_TOWER_5F
+ toggle_object_state POKEMONTOWER5F_NUGGET, ON
+
+ toggleable_objects_for POKEMON_TOWER_6F
+ toggle_object_state POKEMONTOWER6F_RARE_CANDY, ON
+ toggle_object_state POKEMONTOWER6F_X_ACCURACY, ON
+
+ toggleable_objects_for POKEMON_TOWER_7F
+ toggle_object_state POKEMONTOWER7F_JESSIE, OFF
+ toggle_object_state POKEMONTOWER7F_JAMES, OFF
+ toggle_object_state POKEMONTOWER7F_MR_FUJI, ON
+
+ toggleable_objects_for MR_FUJIS_HOUSE
+ toggle_object_state MRFUJISHOUSE_MR_FUJI, OFF
+
+ toggleable_objects_for CELADON_MANSION_ROOF_HOUSE
+ toggle_object_state CELADONMANSION_ROOF_HOUSE_EEVEE_POKEBALL, ON
+
+ toggleable_objects_for GAME_CORNER
+ toggle_object_state GAMECORNER_ROCKET, ON
+
+ toggleable_objects_for WARDENS_HOUSE
+ toggle_object_state WARDENSHOUSE_RARE_CANDY, ON
+
+ toggleable_objects_for POKEMON_MANSION_1F
+ toggle_object_state POKEMONMANSION1F_ESCAPE_ROPE, ON
+ toggle_object_state POKEMONMANSION1F_CARBOS, ON
+
+ toggleable_objects_for FIGHTING_DOJO
+ toggle_object_state FIGHTINGDOJO_HITMONLEE_POKE_BALL, ON
+ toggle_object_state FIGHTINGDOJO_HITMONCHAN_POKE_BALL, ON
+
+ toggleable_objects_for SILPH_CO_1F
+ toggle_object_state SILPHCO1F_LINK_RECEPTIONIST, OFF
+
+ toggleable_objects_for POWER_PLANT
+ toggle_object_state POWERPLANT_VOLTORB1, ON
+ toggle_object_state POWERPLANT_VOLTORB2, ON
+ toggle_object_state POWERPLANT_VOLTORB3, ON
+ toggle_object_state POWERPLANT_ELECTRODE1, ON
+ toggle_object_state POWERPLANT_VOLTORB4, ON
+ toggle_object_state POWERPLANT_VOLTORB5, ON
+ toggle_object_state POWERPLANT_ELECTRODE2, ON
+ toggle_object_state POWERPLANT_VOLTORB6, ON
+ toggle_object_state POWERPLANT_ZAPDOS, ON
+ toggle_object_state POWERPLANT_CARBOS, ON
+ toggle_object_state POWERPLANT_HP_UP, ON
+ toggle_object_state POWERPLANT_RARE_CANDY, ON
+ toggle_object_state POWERPLANT_TM_THUNDER, ON
+ toggle_object_state POWERPLANT_TM_REFLECT, ON
+
+ toggleable_objects_for VICTORY_ROAD_2F
+ toggle_object_state VICTORYROAD2F_MOLTRES, ON
+ toggle_object_state VICTORYROAD2F_TM_SUBMISSION, ON
+ toggle_object_state VICTORYROAD2F_FULL_HEAL, ON
+ toggle_object_state VICTORYROAD2F_TM_MEGA_KICK, ON
+ toggle_object_state VICTORYROAD2F_GUARD_SPEC, ON
+ toggle_object_state VICTORYROAD2F_BOULDER3, ON
+
+ toggleable_objects_for BILLS_HOUSE
+ toggle_object_state BILLSHOUSE_BILL_POKEMON, ON
+ toggle_object_state BILLSHOUSE_BILL1, OFF
+ toggle_object_state BILLSHOUSE_BILL2, OFF
+
+ toggleable_objects_for VIRIDIAN_FOREST
+ toggle_object_state VIRIDIANFOREST_POTION1, ON
+ toggle_object_state VIRIDIANFOREST_POTION2, ON
+ toggle_object_state VIRIDIANFOREST_POKE_BALL, ON
+
+ toggleable_objects_for MT_MOON_1F
+ toggle_object_state MTMOON1F_POTION1, ON
+ toggle_object_state MTMOON1F_MOON_STONE, ON
+ toggle_object_state MTMOON1F_RARE_CANDY, ON
+ toggle_object_state MTMOON1F_ESCAPE_ROPE, ON
+ toggle_object_state MTMOON1F_POTION2, ON
+ toggle_object_state MTMOON1F_TM_WATER_GUN, ON
+
+ toggleable_objects_for MT_MOON_B2F
+ toggle_object_state MTMOONB2F_JESSIE, OFF
+ toggle_object_state MTMOONB2F_JAMES, OFF
+ toggle_object_state MTMOONB2F_DOME_FOSSIL, ON
+ toggle_object_state MTMOONB2F_HELIX_FOSSIL, ON
+ toggle_object_state MTMOONB2F_HP_UP, ON
+ toggle_object_state MTMOONB2F_TM_MEGA_PUNCH, ON
+
+ toggleable_objects_for SS_ANNE_2F
+ toggle_object_state SSANNE2F_RIVAL, OFF
+
+ toggleable_objects_for SS_ANNE_1F_ROOMS
+ toggle_object_state SSANNE1FROOMS_TM_BODY_SLAM, ON
+
+ toggleable_objects_for SS_ANNE_2F_ROOMS
+ toggle_object_state SSANNE2FROOMS_MAX_ETHER, ON
+ toggle_object_state SSANNE2FROOMS_RARE_CANDY, ON
+
+ toggleable_objects_for SS_ANNE_B1F_ROOMS
+ toggle_object_state SSANNEB1FROOMS_ETHER, ON
+ toggle_object_state SSANNEB1FROOMS_TM_REST, ON
+ toggle_object_state SSANNEB1FROOMS_MAX_POTION, ON
+
+ toggleable_objects_for VICTORY_ROAD_3F
+ toggle_object_state VICTORYROAD3F_MAX_REVIVE, ON
+ toggle_object_state VICTORYROAD3F_TM_EXPLOSION, ON
+ toggle_object_state VICTORYROAD3F_BOULDER4, ON
+
+ toggleable_objects_for ROCKET_HIDEOUT_B1F
+ toggle_object_state ROCKETHIDEOUTB1F_ESCAPE_ROPE, ON
+ toggle_object_state ROCKETHIDEOUTB1F_HYPER_POTION, ON
+
+ toggleable_objects_for ROCKET_HIDEOUT_B2F
+ toggle_object_state ROCKETHIDEOUTB2F_MOON_STONE, ON
+ toggle_object_state ROCKETHIDEOUTB2F_NUGGET, ON
+ toggle_object_state ROCKETHIDEOUTB2F_TM_HORN_DRILL, ON
+ toggle_object_state ROCKETHIDEOUTB2F_SUPER_POTION, ON
+
+ toggleable_objects_for ROCKET_HIDEOUT_B3F
+ toggle_object_state ROCKETHIDEOUTB3F_TM_DOUBLE_EDGE, ON
+ toggle_object_state ROCKETHIDEOUTB3F_RARE_CANDY, ON
+
+ toggleable_objects_for ROCKET_HIDEOUT_B4F
+ toggle_object_state ROCKETHIDEOUTB4F_GIOVANNI, ON
+ toggle_object_state ROCKETHIDEOUTB4F_JAMES, OFF
+ toggle_object_state ROCKETHIDEOUTB4F_JESSIE, OFF
+ toggle_object_state ROCKETHIDEOUTB4F_HP_UP, ON
+ toggle_object_state ROCKETHIDEOUTB4F_TM_RAZOR_WIND, ON
+ toggle_object_state ROCKETHIDEOUTB4F_IRON, ON
+ toggle_object_state ROCKETHIDEOUTB4F_SILPH_SCOPE, OFF
+ toggle_object_state ROCKETHIDEOUTB4F_LIFT_KEY, OFF
+
+ toggleable_objects_for SILPH_CO_2F
+ toggle_object_state SILPHCO2F_SILPH_WORKER_F, ON
+ toggle_object_state SILPHCO2F_SCIENTIST1, ON
+ toggle_object_state SILPHCO2F_SCIENTIST2, ON
+ toggle_object_state SILPHCO2F_ROCKET1, ON
+ toggle_object_state SILPHCO2F_ROCKET2, ON
+
+ toggleable_objects_for SILPH_CO_3F
+ toggle_object_state SILPHCO3F_ROCKET, ON
+ toggle_object_state SILPHCO3F_SCIENTIST, ON
+ toggle_object_state SILPHCO3F_HYPER_POTION, ON
+
+ toggleable_objects_for SILPH_CO_4F
+ toggle_object_state SILPHCO4F_ROCKET1, ON
+ toggle_object_state SILPHCO4F_SCIENTIST, ON
+ toggle_object_state SILPHCO4F_ROCKET2, ON
+ toggle_object_state SILPHCO4F_FULL_HEAL, ON
+ toggle_object_state SILPHCO4F_MAX_REVIVE, ON
+ toggle_object_state SILPHCO4F_ESCAPE_ROPE, ON
+
+ toggleable_objects_for SILPH_CO_5F
+ toggle_object_state SILPHCO5F_ROCKET1, ON
+ toggle_object_state SILPHCO5F_SCIENTIST, ON
+ toggle_object_state SILPHCO5F_ROCKER, ON
+ toggle_object_state SILPHCO5F_ROCKET2, ON
+ toggle_object_state SILPHCO5F_TM_TAKE_DOWN, ON
+ toggle_object_state SILPHCO5F_PROTEIN, ON
+ toggle_object_state SILPHCO5F_CARD_KEY, ON
+
+ toggleable_objects_for SILPH_CO_6F
+ toggle_object_state SILPHCO6F_ROCKET1, ON
+ toggle_object_state SILPHCO6F_SCIENTIST, ON
+ toggle_object_state SILPHCO6F_ROCKET2, ON
+ toggle_object_state SILPHCO6F_HP_UP, ON
+ toggle_object_state SILPHCO6F_X_ACCURACY, ON
+
+ toggleable_objects_for SILPH_CO_7F
+ toggle_object_state SILPHCO7F_ROCKET1, ON
+ toggle_object_state SILPHCO7F_SCIENTIST, ON
+ toggle_object_state SILPHCO7F_ROCKET2, ON
+ toggle_object_state SILPHCO7F_ROCKET3, ON
+ toggle_object_state SILPHCO7F_RIVAL, ON
+ toggle_object_state SILPHCO7F_CALCIUM, ON
+ toggle_object_state SILPHCO7F_TM_SWORDS_DANCE, ON
+ toggle_object_state SILPHCO7F_UNUSED, ON
+
+ toggleable_objects_for SILPH_CO_8F
+ toggle_object_state SILPHCO8F_ROCKET1, ON
+ toggle_object_state SILPHCO8F_SCIENTIST, ON
+ toggle_object_state SILPHCO8F_ROCKET2, ON
+
+ toggleable_objects_for SILPH_CO_9F
+ toggle_object_state SILPHCO9F_ROCKET1, ON
+ toggle_object_state SILPHCO9F_SCIENTIST, ON
+ toggle_object_state SILPHCO9F_ROCKET2, ON
+
+ toggleable_objects_for SILPH_CO_10F
+ toggle_object_state SILPHCO10F_ROCKET, ON
+ toggle_object_state SILPHCO10F_SCIENTIST, ON
+ toggle_object_state SILPHCO10F_SILPH_WORKER_F, ON
+ toggle_object_state SILPHCO10F_TM_EARTHQUAKE, ON
+ toggle_object_state SILPHCO10F_RARE_CANDY, ON
+ toggle_object_state SILPHCO10F_CARBOS, ON
+
+ toggleable_objects_for SILPH_CO_11F
+ toggle_object_state SILPHCO11F_GIOVANNI, ON
+ toggle_object_state SILPHCO11F_JAMES, ON
+ toggle_object_state SILPHCO11F_ROCKET, ON
+ toggle_object_state SILPHCO11F_JESSIE, ON
+
+ toggleable_objects_for UNUSED_MAP_F4
+ toggle_object_state $02, ON ; unused
+
+ toggleable_objects_for POKEMON_MANSION_2F
+ toggle_object_state POKEMONMANSION2F_CALCIUM, ON
+
+ toggleable_objects_for POKEMON_MANSION_3F
+ toggle_object_state POKEMONMANSION3F_MAX_POTION, ON
+ toggle_object_state POKEMONMANSION3F_IRON, ON
+
+ toggleable_objects_for POKEMON_MANSION_B1F
+ toggle_object_state POKEMONMANSIONB1F_RARE_CANDY, ON
+ toggle_object_state POKEMONMANSIONB1F_FULL_RESTORE, ON
+ toggle_object_state POKEMONMANSIONB1F_TM_BLIZZARD, ON
+ toggle_object_state POKEMONMANSIONB1F_TM_SOLARBEAM, ON
+ toggle_object_state POKEMONMANSIONB1F_SECRET_KEY, ON
+
+ toggleable_objects_for SAFARI_ZONE_EAST
+ toggle_object_state SAFARIZONEEAST_FULL_RESTORE, ON
+ toggle_object_state SAFARIZONEEAST_MAX_RESTORE, ON
+ toggle_object_state SAFARIZONEEAST_CARBOS, ON
+ toggle_object_state SAFARIZONEEAST_TM_EGG_BOMB, ON
+
+ toggleable_objects_for SAFARI_ZONE_NORTH
+ toggle_object_state SAFARIZONENORTH_PROTEIN, ON
+ toggle_object_state SAFARIZONENORTH_TM_SKULL_BASH, ON
+
+ toggleable_objects_for SAFARI_ZONE_WEST
+ toggle_object_state SAFARIZONEWEST_MAX_POTION, ON
+ toggle_object_state SAFARIZONEWEST_TM_DOUBLE_TEAM, ON
+ toggle_object_state SAFARIZONEWEST_MAX_REVIVE, ON
+ toggle_object_state SAFARIZONEWEST_GOLD_TEETH, ON
+
+ toggleable_objects_for SAFARI_ZONE_CENTER
+ toggle_object_state SAFARIZONECENTER_NUGGET, ON
+
+ toggleable_objects_for CERULEAN_CAVE_2F
+ toggle_object_state CERULEANCAVE2F_RARE_CANDY, ON
+ toggle_object_state CERULEANCAVE2F_ULTRA_BALL, ON
+ toggle_object_state CERULEANCAVE2F_MAX_REVIVE, ON
+ toggle_object_state CERULEANCAVE2F_FULL_RESTORE, ON
+
+ toggleable_objects_for CERULEAN_CAVE_B1F
+ toggle_object_state CERULEANCAVEB1F_MEWTWO, ON
+ toggle_object_state CERULEANCAVEB1F_ULTRA_BALL1, ON
+ toggle_object_state CERULEANCAVEB1F_ULTRA_BALL2, ON
+ toggle_object_state CERULEANCAVEB1F_MAX_REVIVE, ON
+ toggle_object_state CERULEANCAVEB1F_MAX_ELIXER, ON
+
+ toggleable_objects_for VICTORY_ROAD_1F
+ toggle_object_state VICTORYROAD1F_TM_SKY_ATTACK, ON
+ toggle_object_state VICTORYROAD1F_RARE_CANDY, ON
+
+ toggleable_objects_for CHAMPIONS_ROOM
+ toggle_object_state CHAMPIONSROOM_OAK, OFF
+
+ toggleable_objects_for SEAFOAM_ISLANDS_1F
+ toggle_object_state SEAFOAMISLANDS1F_BOULDER1, ON
+ toggle_object_state SEAFOAMISLANDS1F_BOULDER2, ON
+
+ toggleable_objects_for SEAFOAM_ISLANDS_B1F
+ toggle_object_state SEAFOAMISLANDSB1F_BOULDER1, OFF
+ toggle_object_state SEAFOAMISLANDSB1F_BOULDER2, OFF
+
+ toggleable_objects_for SEAFOAM_ISLANDS_B2F
+ toggle_object_state SEAFOAMISLANDSB2F_BOULDER1, OFF
+ toggle_object_state SEAFOAMISLANDSB2F_BOULDER2, OFF
+
+ toggleable_objects_for SEAFOAM_ISLANDS_B3F
+ toggle_object_state SEAFOAMISLANDSB3F_BOULDER2, ON
+ toggle_object_state SEAFOAMISLANDSB3F_BOULDER3, ON
+ toggle_object_state SEAFOAMISLANDSB3F_BOULDER5, OFF
+ toggle_object_state SEAFOAMISLANDSB3F_BOULDER6, OFF
+
+ toggleable_objects_for SEAFOAM_ISLANDS_B4F
+ toggle_object_state SEAFOAMISLANDSB4F_BOULDER1, OFF
+ toggle_object_state SEAFOAMISLANDSB4F_BOULDER2, OFF
+ toggle_object_state SEAFOAMISLANDSB4F_ARTICUNO, ON
+
+; unreferenced
+ db BLUES_HOUSE, BLUESHOUSE_DAISY1, ON
+ db BLUES_HOUSE, BLUESHOUSE_DAISY2, OFF
+ db BLUES_HOUSE, BLUESHOUSE_TOWN_MAP, ON
+
+ assert_table_length NUM_TOGGLEABLE_OBJECTS
+
+ db -1, 1, ON ; end
diff --git a/data/maps/town_map_entries.asm b/data/maps/town_map_entries.asm
index 0f6976ae..d67f6f97 100644
--- a/data/maps/town_map_entries.asm
+++ b/data/maps/town_map_entries.asm
@@ -1,4 +1,4 @@
-MACRO external_map
+MACRO outdoor_map
dn \2, \1
dw \3
ENDM
@@ -7,114 +7,116 @@ ENDM
ExternalMapEntries:
table_width 3
; x, y, name
- external_map 2, 11, PalletTownName
- external_map 2, 8, ViridianCityName
- external_map 2, 3, PewterCityName
- external_map 10, 2, CeruleanCityName
- external_map 14, 5, LavenderTownName
- external_map 10, 9, VermilionCityName
- external_map 7, 5, CeladonCityName
- external_map 8, 13, FuchsiaCityName
- external_map 2, 15, CinnabarIslandName
- external_map 0, 2, IndigoPlateauName
- external_map 10, 5, SaffronCityName
- external_map 0, 0, PalletTownName ; unused
- external_map 2, 10, Route1Name
- external_map 2, 6, Route2Name
- external_map 4, 3, Route3Name
- external_map 8, 2, Route4Name
- external_map 10, 3, Route5Name
- external_map 10, 8, Route6Name
- external_map 8, 5, Route7Name
- external_map 13, 5, Route8Name
- external_map 13, 2, Route9Name
- external_map 14, 4, Route10Name
- external_map 12, 9, Route11Name
- external_map 14, 9, Route12Name
- external_map 13, 11, Route13Name
- external_map 11, 12, Route14Name
- external_map 10, 13, Route15Name
- external_map 5, 5, Route16Name
- external_map 4, 8, Route17Name
- external_map 6, 13, Route18Name
- external_map 6, 15, Route19Name
- external_map 4, 15, Route20Name
- external_map 2, 13, Route21Name
- external_map 0, 8, Route22Name
- external_map 0, 6, Route23Name
- external_map 10, 1, Route24Name
- external_map 11, 0, Route25Name
+ outdoor_map 2, 11, PalletTownName
+ outdoor_map 2, 8, ViridianCityName
+ outdoor_map 2, 3, PewterCityName
+ outdoor_map 10, 2, CeruleanCityName
+ outdoor_map 14, 5, LavenderTownName
+ outdoor_map 10, 9, VermilionCityName
+ outdoor_map 7, 5, CeladonCityName
+ outdoor_map 8, 13, FuchsiaCityName
+ outdoor_map 2, 15, CinnabarIslandName
+ outdoor_map 0, 2, IndigoPlateauName
+ outdoor_map 10, 5, SaffronCityName
+ outdoor_map 0, 0, PalletTownName ; unused
+ outdoor_map 2, 10, Route1Name
+ outdoor_map 2, 6, Route2Name
+ outdoor_map 4, 3, Route3Name
+ outdoor_map 8, 2, Route4Name
+ outdoor_map 10, 3, Route5Name
+ outdoor_map 10, 8, Route6Name
+ outdoor_map 8, 5, Route7Name
+ outdoor_map 13, 5, Route8Name
+ outdoor_map 13, 2, Route9Name
+ outdoor_map 14, 4, Route10Name
+ outdoor_map 12, 9, Route11Name
+ outdoor_map 14, 9, Route12Name
+ outdoor_map 13, 11, Route13Name
+ outdoor_map 11, 12, Route14Name
+ outdoor_map 10, 13, Route15Name
+ outdoor_map 5, 5, Route16Name
+ outdoor_map 4, 8, Route17Name
+ outdoor_map 6, 13, Route18Name
+ outdoor_map 6, 15, Route19Name
+ outdoor_map 4, 15, Route20Name
+ outdoor_map 2, 13, Route21Name
+ outdoor_map 0, 8, Route22Name
+ outdoor_map 0, 6, Route23Name
+ outdoor_map 10, 1, Route24Name
+ outdoor_map 11, 0, Route25Name
assert_table_length FIRST_INDOOR_MAP
-MACRO internal_map
- db \1 + 1
+MACRO indoor_map
+ db INDOORGROUP_\1
dn \3, \2
dw \4
ENDM
; the appearance of buildings and dungeons in the town map
InternalMapEntries:
- ; maximum map id subject to this rule, x, y, name
- internal_map OAKS_LAB, 2, 11, PalletTownName
- internal_map VIRIDIAN_GYM, 2, 8, ViridianCityName
- internal_map VIRIDIAN_FOREST_SOUTH_GATE, 2, 6, Route2Name
- internal_map VIRIDIAN_FOREST, 2, 4, ViridianForestName
- internal_map PEWTER_POKECENTER, 2, 3, PewterCityName
- internal_map MT_MOON_B2F, 6, 2, MountMoonName
- internal_map CERULEAN_MART, 10, 2, CeruleanCityName
- internal_map MT_MOON_POKECENTER, 5, 2, Route4Name
- internal_map CERULEAN_TRASHED_HOUSE_COPY, 10, 2, CeruleanCityName
- internal_map DAYCARE, 10, 4, Route5Name
- internal_map UNDERGROUND_PATH_ROUTE_6_COPY, 10, 6, Route6Name
- internal_map UNDERGROUND_PATH_ROUTE_7_COPY, 9, 5, Route7Name
- internal_map UNDERGROUND_PATH_ROUTE_8, 11, 5, Route8Name
- internal_map ROCK_TUNNEL_1F, 14, 3, RockTunnelName
- internal_map POWER_PLANT, 15, 4, PowerPlantName
- internal_map ROUTE_11_GATE_2F, 13, 9, Route11Name
- internal_map ROUTE_12_GATE_1F, 14, 7, Route12Name
- internal_map BILLS_HOUSE, 12, 0, SeaCottageName
- internal_map VERMILION_DOCK, 10, 9, VermilionCityName
- internal_map SS_ANNE_B1F_ROOMS, 9, 10, SSAnneName
- internal_map VICTORY_ROAD_1F, 0, 4, VictoryRoadName
- internal_map HALL_OF_FAME, 0, 2, PokemonLeagueName
- internal_map UNDERGROUND_PATH_NORTH_SOUTH, 10, 5, UndergroundPathName
- internal_map CHAMPIONS_ROOM, 0, 2, PokemonLeagueName
- internal_map UNDERGROUND_PATH_WEST_EAST, 10, 5, UndergroundPathName
- internal_map CELADON_HOTEL, 7, 5, CeladonCityName
- internal_map LAVENDER_POKECENTER, 14, 5, LavenderTownName
- internal_map POKEMON_TOWER_7F, 15, 5, PokemonTowerName
- internal_map LAVENDER_CUBONE_HOUSE, 14, 5, LavenderTownName
- internal_map WARDENS_HOUSE, 8, 13, FuchsiaCityName
- internal_map SAFARI_ZONE_GATE, 8, 12, SafariZoneName
- internal_map FUCHSIA_MEETING_ROOM, 8, 13, FuchsiaCityName
- internal_map SEAFOAM_ISLANDS_B4F, 5, 15, SeafoamIslandsName
- internal_map VERMILION_OLD_ROD_HOUSE, 10, 9, VermilionCityName
- internal_map FUCHSIA_GOOD_ROD_HOUSE, 8, 13, FuchsiaCityName
- internal_map POKEMON_MANSION_1F, 2, 15, PokemonMansionName
- internal_map CINNABAR_MART_COPY, 2, 15, CinnabarIslandName
- internal_map INDIGO_PLATEAU_LOBBY, 0, 2, IndigoPlateauName
- internal_map MR_PSYCHICS_HOUSE, 10, 5, SaffronCityName
- internal_map ROUTE_15_GATE_2F, 9, 13, Route15Name
- internal_map ROUTE_16_FLY_HOUSE, 4, 5, Route16Name
- internal_map ROUTE_12_SUPER_ROD_HOUSE, 14, 10, Route12Name
- internal_map ROUTE_18_GATE_2F, 7, 13, Route18Name
- internal_map SEAFOAM_ISLANDS_1F, 5, 15, SeafoamIslandsName
- internal_map ROUTE_22_GATE, 0, 7, Route22Name
- internal_map VICTORY_ROAD_2F, 0, 4, VictoryRoadName
- internal_map ROUTE_12_GATE_2F, 14, 7, Route12Name
- internal_map VERMILION_TRADE_HOUSE, 10, 9, VermilionCityName
- internal_map DIGLETTS_CAVE, 3, 4, DiglettsCaveName
- internal_map VICTORY_ROAD_3F, 0, 4, VictoryRoadName
- internal_map UNUSED_MAP_CE, 7, 5, RocketHQName
- internal_map SILPH_CO_8F, 10, 5, SilphCoName
- internal_map POKEMON_MANSION_B1F, 2, 15, PokemonMansionName
- internal_map SAFARI_ZONE_NORTH_REST_HOUSE, 8, 12, SafariZoneName
- internal_map CERULEAN_CAVE_1F, 9, 1, CeruleanCaveName
- internal_map NAME_RATERS_HOUSE, 14, 5, LavenderTownName
- internal_map CERULEAN_BADGE_HOUSE, 10, 2, CeruleanCityName
- internal_map ROCK_TUNNEL_B1F, 14, 3, RockTunnelName
- internal_map SILPH_CO_ELEVATOR, 10, 5, SilphCoName
- internal_map AGATHAS_ROOM, 0, 2, PokemonLeagueName
- internal_map SUMMER_BEACH_HOUSE, 6, 15, Route19Name
+ table_width 4
+ ; indoor map group, x, y, name
+ indoor_map PALLET_TOWN, 2, 11, PalletTownName
+ indoor_map VIRIDIAN_CITY, 2, 8, ViridianCityName
+ indoor_map ROUTE_2, 2, 6, Route2Name
+ indoor_map VIRIDIAN_FOREST, 2, 4, ViridianForestName
+ indoor_map PEWTER_CITY, 2, 3, PewterCityName
+ indoor_map MT_MOON, 6, 2, MountMoonName
+ indoor_map CERULEAN_CITY, 10, 2, CeruleanCityName
+ indoor_map ROUTE_4, 5, 2, Route4Name
+ indoor_map CERULEAN_CITY_2, 10, 2, CeruleanCityName
+ indoor_map ROUTE_5, 10, 4, Route5Name
+ indoor_map ROUTE_6, 10, 6, Route6Name
+ indoor_map ROUTE_7, 9, 5, Route7Name
+ indoor_map ROUTE_8, 11, 5, Route8Name
+ indoor_map ROCK_TUNNEL, 14, 3, RockTunnelName
+ indoor_map POWER_PLANT, 15, 4, PowerPlantName
+ indoor_map ROUTE_11, 13, 9, Route11Name
+ indoor_map ROUTE_12, 14, 7, Route12Name
+ indoor_map SEA_COTTAGE, 12, 0, SeaCottageName
+ indoor_map VERMILION_CITY, 10, 9, VermilionCityName
+ indoor_map SS_ANNE, 9, 10, SSAnneName
+ indoor_map VICTORY_ROAD, 0, 4, VictoryRoadName
+ indoor_map POKEMON_LEAGUE, 0, 2, PokemonLeagueName
+ indoor_map UNDERGROUND_PATH, 10, 5, UndergroundPathName
+ indoor_map POKEMON_LEAGUE_2, 0, 2, PokemonLeagueName
+ indoor_map UNDERGROUND_PATH_2, 10, 5, UndergroundPathName
+ indoor_map CELADON_CITY, 7, 5, CeladonCityName
+ indoor_map LAVENDER_TOWN, 14, 5, LavenderTownName
+ indoor_map POKEMON_TOWER, 15, 5, PokemonTowerName
+ indoor_map LAVENDER_TOWN_2, 14, 5, LavenderTownName
+ indoor_map FUCHSIA_CITY, 8, 13, FuchsiaCityName
+ indoor_map SAFARI_ZONE, 8, 12, SafariZoneName
+ indoor_map FUCHSIA_CITY_2, 8, 13, FuchsiaCityName
+ indoor_map SEAFOAM_ISLANDS, 5, 15, SeafoamIslandsName
+ indoor_map VERMILION_CITY_2, 10, 9, VermilionCityName
+ indoor_map FUCHSIA_CITY_3, 8, 13, FuchsiaCityName
+ indoor_map POKEMON_MANSION, 2, 15, PokemonMansionName
+ indoor_map CINNABAR_ISLAND, 2, 15, CinnabarIslandName
+ indoor_map INDIGO_PLATEAU, 0, 2, IndigoPlateauName
+ indoor_map SAFFRON_CITY, 10, 5, SaffronCityName
+ indoor_map ROUTE_15, 9, 13, Route15Name
+ indoor_map ROUTE_16, 4, 5, Route16Name
+ indoor_map ROUTE_12_2, 14, 10, Route12Name
+ indoor_map ROUTE_18, 7, 13, Route18Name
+ indoor_map SEAFOAM_ISLANDS_2, 5, 15, SeafoamIslandsName
+ indoor_map ROUTE_22, 0, 7, Route22Name
+ indoor_map VICTORY_ROAD_2, 0, 4, VictoryRoadName
+ indoor_map ROUTE_12_3, 14, 7, Route12Name
+ indoor_map VERMILION_CITY_3, 10, 9, VermilionCityName
+ indoor_map DIGLETTS_CAVE, 3, 4, DiglettsCaveName
+ indoor_map VICTORY_ROAD_3, 0, 4, VictoryRoadName
+ indoor_map ROCKET_HQ, 7, 5, RocketHQName
+ indoor_map SILPH_CO, 10, 5, SilphCoName
+ indoor_map POKEMON_MANSION_2, 2, 15, PokemonMansionName
+ indoor_map SAFARI_ZONE_2, 8, 12, SafariZoneName
+ indoor_map CERULEAN_CAVE, 9, 1, CeruleanCaveName
+ indoor_map LAVENDER_TOWN_3, 14, 5, LavenderTownName
+ indoor_map CERULEAN_CITY_3, 10, 2, CeruleanCityName
+ indoor_map ROCK_TUNNEL_2, 14, 3, RockTunnelName
+ indoor_map SILPH_CO_2, 10, 5, SilphCoName
+ indoor_map POKEMON_LEAGUE_3, 0, 2, PokemonLeagueName
+ indoor_map ROUTE_19, 6, 15, Route19Name
+ assert_table_length NUM_INDOOR_MAP_GROUPS
db -1 ; end