shithub: pokecrystal

Download patch

ref: 0c7ef5e2d8a6904da7dbf601dffdf07a5a42b4b0
parent: 091e55bfa64456d8d02f353f290e5806444e1684
author: yenatch <[email protected]>
date: Fri Jul 18 04:26:47 EDT 2014

Use macros for both types of map headers.

This should make map headers much easier to edit than before.

Rather than occasionally being able to reuse blockdata semantically,
create a label for each map and attach it to some blockdata include.
This improves readability and reduces overhead when adding new maps.

The macro argument length bug doesn't seem to crop up here...
It looks like it only happens when an argument is over 16 characters
long and references a symbol that exists before the macro is invoked.

--- a/maps/map_headers.asm
+++ b/maps/map_headers.asm
@@ -1,3 +1,12 @@
+map_header: MACRO
+	; label, tileset, permission, location, music, time of day, fishing group
+\1_MapHeader:
+	db BANK(\1_SecondMapHeader), \2, \3
+	dw \1_SecondMapHeader
+	db \4, \5, \6, \7
+ENDM
+
+
 MapGroupPointers:: ; 0x94000
 ; pointers to the first map header of each map group
 	dw MapGroup1
@@ -29,4348 +38,467 @@
 
 
 MapGroup1:
+	map_header OlivinePokeCenter1F, $7, 3, OLIVINE_CITY, MUSIC_POKEMON_CENTER, 1, 1
+	map_header OlivineGym, $12, 3, OLIVINE_CITY, MUSIC_GYM, 17, 1
+	map_header OlivineVoltorbHouse, $5, 3, OLIVINE_CITY, MUSIC_VIOLET_CITY, 1, 1
+	map_header OlivineHouseBeta, $5, 3, OLIVINE_CITY, MUSIC_VIOLET_CITY, 1, 1
+	map_header OlivinePunishmentSpeechHouse, $5, 3, OLIVINE_CITY, MUSIC_VIOLET_CITY, 1, 1
+	map_header OlivineGoodRodHouse, $5, 3, OLIVINE_CITY, MUSIC_VIOLET_CITY, 1, 1
+	map_header OlivineCafe, $e, 3, OLIVINE_CITY, MUSIC_VIOLET_CITY, 1, 1
+	map_header OlivineMart, $c, 3, OLIVINE_CITY, MUSIC_VIOLET_CITY, 1, 1
+	map_header Route38EcruteakGate, $8, 6, ROUTE_38, MUSIC_ROUTE_37, 1, 1
+	map_header Route39Barn, $10, 3, ROUTE_39, MUSIC_ECRUTEAK_CITY, 1, 1
+	map_header Route39Farmhouse, $5, 3, ROUTE_39, MUSIC_ECRUTEAK_CITY, 1, 1
+	map_header Route38, $1, 2, ROUTE_38, MUSIC_ROUTE_37, 0, 1
+	map_header Route39, $1, 2, ROUTE_39, MUSIC_ROUTE_37, 0, 1
+	map_header OlivineCity, $1, 1, OLIVINE_CITY, MUSIC_VIOLET_CITY, 0, 1
 
-OlivinePokeCenter1F_MapHeader:: ; 0x94034
-	; bank, tileset, permission
-	db BANK(OlivinePokeCenter1F_SecondMapHeader), $7, 3
 
-	; second map header
-	dw OlivinePokeCenter1F_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db OLIVINE_CITY, MUSIC_POKEMON_CENTER, 1, 1
-; 0x9403d
-
-OlivineGym_MapHeader:: ; 0x9403d
-	; bank, tileset, permission
-	db BANK(OlivineGym_SecondMapHeader), $12, 3
-
-	; second map header
-	dw OlivineGym_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db OLIVINE_CITY, MUSIC_GYM, 17, 1
-; 0x94046
-
-OlivineVoltorbHouse_MapHeader: ; 0x94046
-	; bank, tileset, permission
-	db BANK(OlivineVoltorbHouse_SecondMapHeader), $5, 3
-
-	; second map header
-	dw OlivineVoltorbHouse_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db OLIVINE_CITY, MUSIC_VIOLET_CITY, 1, 1
-; 0x9404f
-
-OlivineHouseBeta_MapHeader: ; 0x9404f
-	; bank, tileset, permission
-	db BANK(OlivineHouseBeta_SecondMapHeader), $5, 3
-
-	; second map header
-	dw OlivineHouseBeta_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db OLIVINE_CITY, MUSIC_VIOLET_CITY, 1, 1
-; 0x94058
-
-OlivinePunishmentSpeechHouse_MapHeader: ; 0x94058
-	; bank, tileset, permission
-	db BANK(OlivinePunishmentSpeechHouse_SecondMapHeader), $5, 3
-
-	; second map header
-	dw OlivinePunishmentSpeechHouse_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db OLIVINE_CITY, MUSIC_VIOLET_CITY, 1, 1
-; 0x94061
-
-OlivineGoodRodHouse_MapHeader: ; 0x94061
-	; bank, tileset, permission
-	db BANK(OlivineGoodRodHouse_SecondMapHeader), $5, 3
-
-	; second map header
-	dw OlivineGoodRodHouse_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db OLIVINE_CITY, MUSIC_VIOLET_CITY, 1, 1
-; 0x9406a
-
-OlivineCafe_MapHeader: ; 0x9406a
-	; bank, tileset, permission
-	db BANK(OlivineCafe_SecondMapHeader), $e, 3
-
-	; second map header
-	dw OlivineCafe_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db OLIVINE_CITY, MUSIC_VIOLET_CITY, 1, 1
-; 0x94073
-
-OlivineMart_MapHeader: ; 0x94073
-	; bank, tileset, permission
-	db BANK(OlivineMart_SecondMapHeader), $c, 3
-
-	; second map header
-	dw OlivineMart_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db OLIVINE_CITY, MUSIC_VIOLET_CITY, 1, 1
-; 0x9407c
-
-Route38EcruteakGate_MapHeader: ; 0x9407c
-	; bank, tileset, permission
-	db BANK(Route38EcruteakGate_SecondMapHeader), $8, 6
-
-	; second map header
-	dw Route38EcruteakGate_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db ROUTE_38, MUSIC_ROUTE_37, 1, 1
-; 0x94085
-
-Route39Barn_MapHeader: ; 0x94085
-	; bank, tileset, permission
-	db BANK(Route39Barn_SecondMapHeader), $10, 3
-
-	; second map header
-	dw Route39Barn_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db ROUTE_39, MUSIC_ECRUTEAK_CITY, 1, 1
-; 0x9408e
-
-Route39Farmhouse_MapHeader: ; 0x9408e
-	; bank, tileset, permission
-	db BANK(Route39Farmhouse_SecondMapHeader), $5, 3
-
-	; second map header
-	dw Route39Farmhouse_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db ROUTE_39, MUSIC_ECRUTEAK_CITY, 1, 1
-; 0x94097
-
-Route38_MapHeader: ; 0x94097
-	; bank, tileset, permission
-	db BANK(Route38_SecondMapHeader), $1, 2
-
-	; second map header
-	dw Route38_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db ROUTE_38, MUSIC_ROUTE_37, 0, 1
-; 0x940a0
-
-Route39_MapHeader: ; 0x940a0
-	; bank, tileset, permission
-	db BANK(Route39_SecondMapHeader), $1, 2
-
-	; second map header
-	dw Route39_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db ROUTE_39, MUSIC_ROUTE_37, 0, 1
-; 0x940a9
-
-OlivineCity_MapHeader: ; 0x940a9
-	; bank, tileset, permission
-	db BANK(OlivineCity_SecondMapHeader), $1, 1
-
-	; second map header
-	dw OlivineCity_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db OLIVINE_CITY, MUSIC_VIOLET_CITY, 0, 1
-; 0x940b2
-
-
 MapGroup2:
+	map_header MahoganyRedGyaradosSpeechHouse, $5, 3, MAHOGANY_TOWN, MUSIC_CHERRYGROVE_CITY, 1, 1
+	map_header MahoganyGym, $f, 3, MAHOGANY_TOWN, MUSIC_GYM, 17, 1
+	map_header MahoganyPokeCenter1F, $7, 3, MAHOGANY_TOWN, MUSIC_POKEMON_CENTER, 1, 1
+	map_header Route42EcruteakGate, $8, 6, ROUTE_42, MUSIC_LAKE_OF_RAGE, 1, 1
+	map_header Route42, $1, 2, ROUTE_42, MUSIC_LAKE_OF_RAGE, 0, 3
+	map_header Route44, $1, 2, ROUTE_44, MUSIC_LAKE_OF_RAGE, 0, 4
+	map_header MahoganyTown, $1, 1, MAHOGANY_TOWN, MUSIC_CHERRYGROVE_CITY, 0, 1
 
-MahoganyRedGyaradosSpeechHouse_MapHeader: ; 0x940b2
-	; bank, tileset, permission
-	db BANK(MahoganyRedGyaradosSpeechHouse_SecondMapHeader), $5, 3
 
-	; second map header
-	dw MahoganyRedGyaradosSpeechHouse_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db MAHOGANY_TOWN, MUSIC_CHERRYGROVE_CITY, 1, 1
-; 0x940bb
-
-MahoganyGym_MapHeader: ; 0x940bb
-	; bank, tileset, permission
-	db BANK(MahoganyGym_SecondMapHeader), $f, 3
-
-	; second map header
-	dw MahoganyGym_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db MAHOGANY_TOWN, MUSIC_GYM, 17, 1
-; 0x940c4
-
-MahoganyPokeCenter1F_MapHeader: ; 0x940c4
-	; bank, tileset, permission
-	db BANK(MahoganyPokeCenter1F_SecondMapHeader), $7, 3
-
-	; second map header
-	dw MahoganyPokeCenter1F_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db MAHOGANY_TOWN, MUSIC_POKEMON_CENTER, 1, 1
-; 0x940cd
-
-Route42EcruteakGate_MapHeader: ; 0x940cd
-	; bank, tileset, permission
-	db BANK(Route42EcruteakGate_SecondMapHeader), $8, 6
-
-	; second map header
-	dw Route42EcruteakGate_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db ROUTE_42, MUSIC_LAKE_OF_RAGE, 1, 1
-; 0x940d6
-
-Route42_MapHeader: ; 0x940d6
-	; bank, tileset, permission
-	db BANK(Route42_SecondMapHeader), $1, 2
-
-	; second map header
-	dw Route42_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db ROUTE_42, MUSIC_LAKE_OF_RAGE, 0, 3
-; 0x940df
-
-Route44_MapHeader: ; 0x940df
-	; bank, tileset, permission
-	db BANK(Route44_SecondMapHeader), $1, 2
-
-	; second map header
-	dw Route44_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db ROUTE_44, MUSIC_LAKE_OF_RAGE, 0, 4
-; 0x940e8
-
-MahoganyTown_MapHeader: ; 0x940e8
-	; bank, tileset, permission
-	db BANK(MahoganyTown_SecondMapHeader), $1, 1
-
-	; second map header
-	dw MahoganyTown_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db MAHOGANY_TOWN, MUSIC_CHERRYGROVE_CITY, 0, 1
-; 0x940f1
-
-
 MapGroup3:
+	map_header SproutTower1F, $17, 7, SPROUT_TOWER, MUSIC_SPROUT_TOWER, 1, 1
+	map_header SproutTower2F, $17, 7, SPROUT_TOWER, MUSIC_SPROUT_TOWER, 1, 1
+	map_header SproutTower3F, $17, 7, SPROUT_TOWER, MUSIC_SPROUT_TOWER, 1, 1
+	map_header TinTower1F, $17, 7, TIN_TOWER, MUSIC_TIN_TOWER, 1, 1
+	map_header TinTower2F, $17, 7, TIN_TOWER, MUSIC_TIN_TOWER, 1, 1
+	map_header TinTower3F, $17, 7, TIN_TOWER, MUSIC_TIN_TOWER, 1, 1
+	map_header TinTower4F, $17, 7, TIN_TOWER, MUSIC_TIN_TOWER, 1, 1
+	map_header TinTower5F, $17, 7, TIN_TOWER, MUSIC_TIN_TOWER, 1, 1
+	map_header TinTower6F, $17, 7, TIN_TOWER, MUSIC_TIN_TOWER, 1, 1
+	map_header TinTower7F, $17, 7, TIN_TOWER, MUSIC_TIN_TOWER, 1, 1
+	map_header TinTower8F, $17, 7, TIN_TOWER, MUSIC_TIN_TOWER, 1, 1
+	map_header TinTower9F, $17, 7, TIN_TOWER, MUSIC_TIN_TOWER, 1, 1
+	map_header BurnedTower1F, $17, 7, BURNED_TOWER, MUSIC_BURNED_TOWER, 18, 1
+	map_header BurnedTowerB1F, $18, 4, BURNED_TOWER, MUSIC_BURNED_TOWER, 18, 1
+	map_header NationalPark, $19, 2, NATIONAL_PARK, MUSIC_NATIONAL_PARK, 0, 1
+	map_header NationalParkBugContest, $19, 2, NATIONAL_PARK, MUSIC_BUG_CATCHING_CONTEST, 0, 1
+	map_header RadioTower1F, $1b, 3, RADIO_TOWER, 1<<7 | MUSIC_GOLDENROD_CITY, 17, 1
+	map_header RadioTower2F, $1b, 3, RADIO_TOWER, 1<<7 | MUSIC_GOLDENROD_CITY, 17, 1
+	map_header RadioTower3F, $1b, 3, RADIO_TOWER, 1<<7 | MUSIC_GOLDENROD_CITY, 17, 1
+	map_header RadioTower4F, $1b, 3, RADIO_TOWER, 1<<7 | MUSIC_GOLDENROD_CITY, 17, 1
+	map_header RadioTower5F, $1b, 3, RADIO_TOWER, 1<<7 | MUSIC_GOLDENROD_CITY, 17, 1
+	map_header RuinsofAlphOutside, $1, 2, RUINS_OF_ALPH, MUSIC_UNION_CAVE, 0, 4
+	map_header RuinsofAlphHoOhChamber, $1a, 7, RUINS_OF_ALPH, MUSIC_UNION_CAVE, 17, 1
+	map_header RuinsofAlphKabutoChamber, $1a, 7, RUINS_OF_ALPH, MUSIC_UNION_CAVE, 17, 1
+	map_header RuinsofAlphOmanyteChamber, $1a, 7, RUINS_OF_ALPH, MUSIC_UNION_CAVE, 17, 1
+	map_header RuinsofAlphAerodactylChamber, $1a, 7, RUINS_OF_ALPH, MUSIC_UNION_CAVE, 17, 1
+	map_header RuinsofAlphInnerChamber, $1a, 7, RUINS_OF_ALPH, MUSIC_RUINS_OF_ALPH_INTERIOR, 17, 1
+	map_header RuinsofAlphResearchCenter, $b, 3, RUINS_OF_ALPH, MUSIC_UNION_CAVE, 1, 1
+	map_header RuinsofAlphHoOhItemRoom, $1a, 7, RUINS_OF_ALPH, MUSIC_UNION_CAVE, 17, 1
+	map_header RuinsofAlphKabutoItemRoom, $1a, 7, RUINS_OF_ALPH, MUSIC_UNION_CAVE, 17, 1
+	map_header RuinsofAlphOmanyteItemRoom, $1a, 7, RUINS_OF_ALPH, MUSIC_UNION_CAVE, 17, 1
+	map_header RuinsofAlphAerodactylItemRoom, $1a, 7, RUINS_OF_ALPH, MUSIC_UNION_CAVE, 17, 1
+	map_header RuinsofAlphHoOhWordRoom, $21, 7, RUINS_OF_ALPH, MUSIC_UNION_CAVE, 17, 1
+	map_header RuinsofAlphKabutoWordRoom, $22, 7, RUINS_OF_ALPH, MUSIC_UNION_CAVE, 17, 1
+	map_header RuinsofAlphOmanyteWordRoom, $23, 7, RUINS_OF_ALPH, MUSIC_UNION_CAVE, 17, 1
+	map_header RuinsofAlphAerodactylWordRoom, $24, 7, RUINS_OF_ALPH, MUSIC_UNION_CAVE, 17, 1
+	map_header UnionCave1F, $18, 4, UNION_CAVE, MUSIC_UNION_CAVE, 18, 3
+	map_header UnionCaveB1F, $18, 4, UNION_CAVE, MUSIC_UNION_CAVE, 18, 3
+	map_header UnionCaveB2F, $18, 4, UNION_CAVE, MUSIC_UNION_CAVE, 18, 1
+	map_header SlowpokeWellB1F, $18, 4, SLOWPOKE_WELL, MUSIC_DARK_CAVE, 18, 3
+	map_header SlowpokeWellB2F, $18, 4, SLOWPOKE_WELL, MUSIC_DARK_CAVE, 18, 3
+	map_header OlivineLighthouse1F, $13, 7, LIGHTHOUSE, MUSIC_LIGHTHOUSE, 1, 1
+	map_header OlivineLighthouse2F, $13, 7, LIGHTHOUSE, MUSIC_LIGHTHOUSE, 1, 1
+	map_header OlivineLighthouse3F, $13, 7, LIGHTHOUSE, MUSIC_LIGHTHOUSE, 1, 1
+	map_header OlivineLighthouse4F, $13, 7, LIGHTHOUSE, MUSIC_LIGHTHOUSE, 1, 1
+	map_header OlivineLighthouse5F, $13, 7, LIGHTHOUSE, MUSIC_LIGHTHOUSE, 1, 1
+	map_header OlivineLighthouse6F, $13, 7, LIGHTHOUSE, MUSIC_VIOLET_CITY, 1, 1
+	map_header MahoganyMart1F, $10, 3, MAHOGANY_TOWN, MUSIC_MAHOGANY_MART, 17, 1
+	map_header TeamRocketBaseB1F, $1c, 7, MAHOGANY_TOWN, MUSIC_ROCKET_HIDEOUT, 17, 1
+	map_header TeamRocketBaseB2F, $b, 7, MAHOGANY_TOWN, MUSIC_ROCKET_HIDEOUT, 17, 1
+	map_header TeamRocketBaseB3F, $b, 7, MAHOGANY_TOWN, MUSIC_ROCKET_HIDEOUT, 17, 1
+	map_header IlexForest, $1f, 4, ILEX_FOREST, MUSIC_UNION_CAVE, 2, 4
+	map_header WarehouseEntrance, $8, 7, GOLDENROD_CITY, MUSIC_UNION_CAVE, 17, 1
+	map_header UndergroundPathSwitchRoomEntrances, $f, 7, GOLDENROD_CITY, MUSIC_UNION_CAVE, 17, 1
+	map_header GoldenrodDeptStoreB1F, $1c, 7, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, 17, 1
+	map_header UndergroundWarehouse, $1c, 7, GOLDENROD_CITY, MUSIC_UNION_CAVE, 17, 1
+	map_header MountMortar1FOutside, $1e, 4, MT_MORTAR, MUSIC_UNION_CAVE, 18, 3
+	map_header MountMortar1FInside, $1e, 4, MT_MORTAR, MUSIC_UNION_CAVE, 18, 3
+	map_header MountMortar2FInside, $1e, 4, MT_MORTAR, MUSIC_UNION_CAVE, 18, 3
+	map_header MountMortarB1F, $1e, 4, MT_MORTAR, MUSIC_UNION_CAVE, 18, 3
+	map_header IcePath1F, $1d, 4, ICE_PATH, MUSIC_DARK_CAVE, 18, 5
+	map_header IcePathB1F, $1d, 4, ICE_PATH, MUSIC_DARK_CAVE, 18, 5
+	map_header IcePathB2FMahoganySide, $1d, 4, ICE_PATH, MUSIC_DARK_CAVE, 18, 5
+	map_header IcePathB2FBlackthornSide, $1d, 4, ICE_PATH, MUSIC_DARK_CAVE, 18, 5
+	map_header IcePathB3F, $1d, 4, ICE_PATH, MUSIC_DARK_CAVE, 18, 5
+	map_header WhirlIslandNW, $1e, 4, WHIRL_ISLANDS, MUSIC_UNION_CAVE, 20, 10
+	map_header WhirlIslandNE, $1e, 4, WHIRL_ISLANDS, MUSIC_UNION_CAVE, 20, 10
+	map_header WhirlIslandSW, $1e, 4, WHIRL_ISLANDS, MUSIC_UNION_CAVE, 20, 10
+	map_header WhirlIslandCave, $1e, 4, WHIRL_ISLANDS, MUSIC_UNION_CAVE, 20, 10
+	map_header WhirlIslandSE, $1e, 4, WHIRL_ISLANDS, MUSIC_UNION_CAVE, 20, 10
+	map_header WhirlIslandB1F, $1e, 4, WHIRL_ISLANDS, MUSIC_UNION_CAVE, 20, 10
+	map_header WhirlIslandB2F, $1e, 4, WHIRL_ISLANDS, MUSIC_UNION_CAVE, 20, 10
+	map_header WhirlIslandLugiaChamber, $1e, 4, WHIRL_ISLANDS, MUSIC_UNION_CAVE, 20, 10
+	map_header SilverCaveRoom1, $1e, 4, SILVER_CAVE, MUSIC_LIGHTHOUSE, 20, 3
+	map_header SilverCaveRoom2, $18, 4, SILVER_CAVE, MUSIC_LIGHTHOUSE, 18, 3
+	map_header SilverCaveRoom3, $18, 4, SILVER_CAVE, MUSIC_LIGHTHOUSE, 17, 3
+	map_header SilverCaveItemRooms, $18, 4, SILVER_CAVE, MUSIC_LIGHTHOUSE, 18, 3
+	map_header DarkCaveVioletEntrance, $1e, 4, DARK_CAVE, MUSIC_DARK_CAVE, 20, 3
+	map_header DarkCaveBlackthornEntrance, $1e, 4, DARK_CAVE, MUSIC_DARK_CAVE, 20, 3
+	map_header DragonsDen1F, $18, 4, DRAGONS_DEN, MUSIC_DRAGONS_DEN, 18, 5
+	map_header DragonsDenB1F, $1, 4, DRAGONS_DEN, MUSIC_DRAGONS_DEN, 18, 5
+	map_header DragonShrine, $a, 3, DRAGONS_DEN, MUSIC_DRAGONS_DEN, 18, 1
+	map_header TohjoFalls, $18, 4, TOHJO_FALLS, MUSIC_UNION_CAVE, 18, 3
+	map_header DiglettsCave, $18, 4, DIGLETTS_CAVE, MUSIC_MT_MOON, 18, 1
+	map_header MountMoon, $18, 4, MT_MOON, MUSIC_MT_MOON, 18, 1
+	map_header Underground, $1c, 6, UNDERGROUND, MUSIC_MT_MOON, 2, 1
+	map_header RockTunnel1F, $1e, 4, ROCK_TUNNEL, MUSIC_MT_MOON, 20, 1
+	map_header RockTunnelB1F, $1e, 4, ROCK_TUNNEL, MUSIC_MT_MOON, 20, 1
+	map_header SafariZoneFuchsiaGateBeta, $8, 3, FUCHSIA_CITY, MUSIC_VIRIDIAN_CITY, 1, 1
+	map_header SafariZoneBeta, $19, 4, FUCHSIA_CITY, MUSIC_EVOLUTION, 0, 1
+	map_header VictoryRoad, $18, 4, VICTORY_ROAD, MUSIC_VICTORY_ROAD, 18, 1
 
-SproutTower1F_MapHeader: ; 0x940f1
-	; bank, tileset, permission
-	db BANK(SproutTower1F_SecondMapHeader), $17, 7
 
-	; second map header
-	dw SproutTower1F_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db SPROUT_TOWER, MUSIC_SPROUT_TOWER, 1, 1
-; 0x940fa
-
-SproutTower2F_MapHeader: ; 0x940fa
-	; bank, tileset, permission
-	db BANK(SproutTower2F_SecondMapHeader), $17, 7
-
-	; second map header
-	dw SproutTower2F_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db SPROUT_TOWER, MUSIC_SPROUT_TOWER, 1, 1
-; 0x94103
-
-SproutTower3F_MapHeader: ; 0x94103
-	; bank, tileset, permission
-	db BANK(SproutTower3F_SecondMapHeader), $17, 7
-
-	; second map header
-	dw SproutTower3F_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db SPROUT_TOWER, MUSIC_SPROUT_TOWER, 1, 1
-; 0x9410c
-
-TinTower1F_MapHeader: ; 0x9410c
-	; bank, tileset, permission
-	db BANK(TinTower1F_SecondMapHeader), $17, 7
-
-	; second map header
-	dw TinTower1F_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db TIN_TOWER, MUSIC_TIN_TOWER, 1, 1
-; 0x94115
-
-TinTower2F_MapHeader: ; 0x94115
-	; bank, tileset, permission
-	db BANK(TinTower2F_SecondMapHeader), $17, 7
-
-	; second map header
-	dw TinTower2F_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db TIN_TOWER, MUSIC_TIN_TOWER, 1, 1
-; 0x9411e
-
-TinTower3F_MapHeader: ; 0x9411e
-	; bank, tileset, permission
-	db BANK(TinTower3F_SecondMapHeader), $17, 7
-
-	; second map header
-	dw TinTower3F_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db TIN_TOWER, MUSIC_TIN_TOWER, 1, 1
-; 0x94127
-
-TinTower4F_MapHeader: ; 0x94127
-	; bank, tileset, permission
-	db BANK(TinTower4F_SecondMapHeader), $17, 7
-
-	; second map header
-	dw TinTower4F_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db TIN_TOWER, MUSIC_TIN_TOWER, 1, 1
-; 0x94130
-
-TinTower5F_MapHeader: ; 0x94130
-	; bank, tileset, permission
-	db BANK(TinTower5F_SecondMapHeader), $17, 7
-
-	; second map header
-	dw TinTower5F_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db TIN_TOWER, MUSIC_TIN_TOWER, 1, 1
-; 0x94139
-
-TinTower6F_MapHeader: ; 0x94139
-	; bank, tileset, permission
-	db BANK(TinTower6F_SecondMapHeader), $17, 7
-
-	; second map header
-	dw TinTower6F_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db TIN_TOWER, MUSIC_TIN_TOWER, 1, 1
-; 0x94142
-
-TinTower7F_MapHeader: ; 0x94142
-	; bank, tileset, permission
-	db BANK(TinTower7F_SecondMapHeader), $17, 7
-
-	; second map header
-	dw TinTower7F_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db TIN_TOWER, MUSIC_TIN_TOWER, 1, 1
-; 0x9414b
-
-TinTower8F_MapHeader: ; 0x9414b
-	; bank, tileset, permission
-	db BANK(TinTower8F_SecondMapHeader), $17, 7
-
-	; second map header
-	dw TinTower8F_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db TIN_TOWER, MUSIC_TIN_TOWER, 1, 1
-; 0x94154
-
-TinTower9F_MapHeader: ; 0x94154
-	; bank, tileset, permission
-	db BANK(TinTower9F_SecondMapHeader), $17, 7
-
-	; second map header
-	dw TinTower9F_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db TIN_TOWER, MUSIC_TIN_TOWER, 1, 1
-; 0x9415d
-
-BurnedTower1F_MapHeader: ; 0x9415d
-	; bank, tileset, permission
-	db BANK(BurnedTower1F_SecondMapHeader), $17, 7
-
-	; second map header
-	dw BurnedTower1F_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db BURNED_TOWER, MUSIC_BURNED_TOWER, 18, 1
-; 0x94166
-
-BurnedTowerB1F_MapHeader: ; 0x94166
-	; bank, tileset, permission
-	db BANK(BurnedTowerB1F_SecondMapHeader), $18, 4
-
-	; second map header
-	dw BurnedTowerB1F_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db BURNED_TOWER, MUSIC_BURNED_TOWER, 18, 1
-; 0x9416f
-
-NationalPark_MapHeader: ; 0x9416f
-	; bank, tileset, permission
-	db BANK(NationalPark_SecondMapHeader), $19, 2
-
-	; second map header
-	dw NationalPark_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db NATIONAL_PARK, MUSIC_NATIONAL_PARK, 0, 1
-; 0x94178
-
-NationalParkBugContest_MapHeader: ; 0x94178
-	; bank, tileset, permission
-	db BANK(NationalParkBugContest_SecondMapHeader), $19, 2
-
-	; second map header
-	dw NationalParkBugContest_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db NATIONAL_PARK, MUSIC_BUG_CATCHING_CONTEST, 0, 1
-; 0x94181
-
-RadioTower1F_MapHeader: ; 0x94181
-	; bank, tileset, permission
-	db BANK(RadioTower1F_SecondMapHeader), $1b, 3
-
-	; second map header
-	dw RadioTower1F_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db RADIO_TOWER, 1<<7 | MUSIC_GOLDENROD_CITY, 17, 1
-; 0x9418a
-
-RadioTower2F_MapHeader: ; 0x9418a
-	; bank, tileset, permission
-	db BANK(RadioTower2F_SecondMapHeader), $1b, 3
-
-	; second map header
-	dw RadioTower2F_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db RADIO_TOWER, 1<<7 | MUSIC_GOLDENROD_CITY, 17, 1
-; 0x94193
-
-RadioTower3F_MapHeader: ; 0x94193
-	; bank, tileset, permission
-	db BANK(RadioTower3F_SecondMapHeader), $1b, 3
-
-	; second map header
-	dw RadioTower3F_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db RADIO_TOWER, 1<<7 | MUSIC_GOLDENROD_CITY, 17, 1
-; 0x9419c
-
-RadioTower4F_MapHeader: ; 0x9419c
-	; bank, tileset, permission
-	db BANK(RadioTower4F_SecondMapHeader), $1b, 3
-
-	; second map header
-	dw RadioTower4F_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db RADIO_TOWER, 1<<7 | MUSIC_GOLDENROD_CITY, 17, 1
-; 0x941a5
-
-RadioTower5F_MapHeader: ; 0x941a5
-	; bank, tileset, permission
-	db BANK(RadioTower5F_SecondMapHeader), $1b, 3
-
-	; second map header
-	dw RadioTower5F_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db RADIO_TOWER, 1<<7 | MUSIC_GOLDENROD_CITY, 17, 1
-; 0x941ae
-
-RuinsofAlphOutside_MapHeader: ; 0x941ae
-	; bank, tileset, permission
-	db BANK(RuinsofAlphOutside_SecondMapHeader), $1, 2
-
-	; second map header
-	dw RuinsofAlphOutside_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db RUINS_OF_ALPH, MUSIC_UNION_CAVE, 0, 4
-; 0x941b7
-
-RuinsofAlphHoOhChamber_MapHeader: ; 0x941b7
-	; bank, tileset, permission
-	db BANK(RuinsofAlphHoOhChamber_SecondMapHeader), $1a, 7
-
-	; second map header
-	dw RuinsofAlphHoOhChamber_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db RUINS_OF_ALPH, MUSIC_UNION_CAVE, 17, 1
-; 0x941c0
-
-RuinsofAlphKabutoChamber_MapHeader: ; 0x941c0
-	; bank, tileset, permission
-	db BANK(RuinsofAlphKabutoChamber_SecondMapHeader), $1a, 7
-
-	; second map header
-	dw RuinsofAlphKabutoChamber_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db RUINS_OF_ALPH, MUSIC_UNION_CAVE, 17, 1
-; 0x941c9
-
-RuinsofAlphOmanyteChamber_MapHeader: ; 0x941c9
-	; bank, tileset, permission
-	db BANK(RuinsofAlphOmanyteChamber_SecondMapHeader), $1a, 7
-
-	; second map header
-	dw RuinsofAlphOmanyteChamber_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db RUINS_OF_ALPH, MUSIC_UNION_CAVE, 17, 1
-; 0x941d2
-
-RuinsofAlphAerodactylChamber_MapHeader: ; 0x941d2
-	; bank, tileset, permission
-	db BANK(RuinsofAlphAerodactylChamber_SecondMapHeader), $1a, 7
-
-	; second map header
-	dw RuinsofAlphAerodactylChamber_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db RUINS_OF_ALPH, MUSIC_UNION_CAVE, 17, 1
-; 0x941db
-
-RuinsofAlphInnerChamber_MapHeader: ; 0x941db
-	; bank, tileset, permission
-	db BANK(RuinsofAlphInnerChamber_SecondMapHeader), $1a, 7
-
-	; second map header
-	dw RuinsofAlphInnerChamber_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db RUINS_OF_ALPH, MUSIC_RUINS_OF_ALPH_INTERIOR, 17, 1
-; 0x941e4
-
-RuinsofAlphResearchCenter_MapHeader: ; 0x941e4
-	; bank, tileset, permission
-	db BANK(RuinsofAlphResearchCenter_SecondMapHeader), $b, 3
-
-	; second map header
-	dw RuinsofAlphResearchCenter_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db RUINS_OF_ALPH, MUSIC_UNION_CAVE, 1, 1
-; 0x941ed
-
-RuinsofAlphHoOhItemRoom_MapHeader: ; 0x941ed
-	; bank, tileset, permission
-	db BANK(RuinsofAlphHoOhItemRoom_SecondMapHeader), $1a, 7
-
-	; second map header
-	dw RuinsofAlphHoOhItemRoom_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db RUINS_OF_ALPH, MUSIC_UNION_CAVE, 17, 1
-; 0x941f6
-
-RuinsofAlphKabutoItemRoom_MapHeader: ; 0x941f6
-	; bank, tileset, permission
-	db BANK(RuinsofAlphKabutoItemRoom_SecondMapHeader), $1a, 7
-
-	; second map header
-	dw RuinsofAlphKabutoItemRoom_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db RUINS_OF_ALPH, MUSIC_UNION_CAVE, 17, 1
-; 0x941ff
-
-RuinsofAlphOmanyteItemRoom_MapHeader: ; 0x941ff
-	; bank, tileset, permission
-	db BANK(RuinsofAlphOmanyteItemRoom_SecondMapHeader), $1a, 7
-
-	; second map header
-	dw RuinsofAlphOmanyteItemRoom_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db RUINS_OF_ALPH, MUSIC_UNION_CAVE, 17, 1
-; 0x94208
-
-RuinsofAlphAerodactylItemRoom_MapHeader: ; 0x94208
-	; bank, tileset, permission
-	db BANK(RuinsofAlphAerodactylItemRoom_SecondMapHeader), $1a, 7
-
-	; second map header
-	dw RuinsofAlphAerodactylItemRoom_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db RUINS_OF_ALPH, MUSIC_UNION_CAVE, 17, 1
-; 0x94211
-
-RuinsofAlphHoOhWordRoom_MapHeader: ; 0x94211
-	; bank, tileset, permission
-	db BANK(RuinsofAlphHoOhWordRoom_SecondMapHeader), $21, 7
-
-	; second map header
-	dw RuinsofAlphHoOhWordRoom_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db RUINS_OF_ALPH, MUSIC_UNION_CAVE, 17, 1
-; 0x9421a
-
-RuinsofAlphKabutoWordRoom_MapHeader: ; 0x9421a
-	; bank, tileset, permission
-	db BANK(RuinsofAlphKabutoWordRoom_SecondMapHeader), $22, 7
-
-	; second map header
-	dw RuinsofAlphKabutoWordRoom_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db RUINS_OF_ALPH, MUSIC_UNION_CAVE, 17, 1
-; 0x94223
-
-RuinsofAlphOmanyteWordRoom_MapHeader: ; 0x94223
-	; bank, tileset, permission
-	db BANK(RuinsofAlphOmanyteWordRoom_SecondMapHeader), $23, 7
-
-	; second map header
-	dw RuinsofAlphOmanyteWordRoom_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db RUINS_OF_ALPH, MUSIC_UNION_CAVE, 17, 1
-; 0x9422c
-
-RuinsofAlphAerodactylWordRoom_MapHeader: ; 0x9422c
-	; bank, tileset, permission
-	db BANK(RuinsofAlphAerodactylWordRoom_SecondMapHeader), $24, 7
-
-	; second map header
-	dw RuinsofAlphAerodactylWordRoom_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db RUINS_OF_ALPH, MUSIC_UNION_CAVE, 17, 1
-; 0x94235
-
-UnionCave1F_MapHeader: ; 0x94235
-	; bank, tileset, permission
-	db BANK(UnionCave1F_SecondMapHeader), $18, 4
-
-	; second map header
-	dw UnionCave1F_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db UNION_CAVE, MUSIC_UNION_CAVE, 18, 3
-; 0x9423e
-
-UnionCaveB1F_MapHeader: ; 0x9423e
-	; bank, tileset, permission
-	db BANK(UnionCaveB1F_SecondMapHeader), $18, 4
-
-	; second map header
-	dw UnionCaveB1F_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db UNION_CAVE, MUSIC_UNION_CAVE, 18, 3
-; 0x94247
-
-UnionCaveB2F_MapHeader: ; 0x94247
-	; bank, tileset, permission
-	db BANK(UnionCaveB2F_SecondMapHeader), $18, 4
-
-	; second map header
-	dw UnionCaveB2F_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db UNION_CAVE, MUSIC_UNION_CAVE, 18, 1
-; 0x94250
-
-SlowpokeWellB1F_MapHeader: ; 0x94250
-	; bank, tileset, permission
-	db BANK(SlowpokeWellB1F_SecondMapHeader), $18, 4
-
-	; second map header
-	dw SlowpokeWellB1F_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db SLOWPOKE_WELL, MUSIC_DARK_CAVE, 18, 3
-; 0x94259
-
-SlowpokeWellB2F_MapHeader: ; 0x94259
-	; bank, tileset, permission
-	db BANK(SlowpokeWellB2F_SecondMapHeader), $18, 4
-
-	; second map header
-	dw SlowpokeWellB2F_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db SLOWPOKE_WELL, MUSIC_DARK_CAVE, 18, 3
-; 0x94262
-
-OlivineLighthouse1F_MapHeader: ; 0x94262
-	; bank, tileset, permission
-	db BANK(OlivineLighthouse1F_SecondMapHeader), $13, 7
-
-	; second map header
-	dw OlivineLighthouse1F_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db LIGHTHOUSE, MUSIC_LIGHTHOUSE, 1, 1
-; 0x9426b
-
-OlivineLighthouse2F_MapHeader: ; 0x9426b
-	; bank, tileset, permission
-	db BANK(OlivineLighthouse2F_SecondMapHeader), $13, 7
-
-	; second map header
-	dw OlivineLighthouse2F_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db LIGHTHOUSE, MUSIC_LIGHTHOUSE, 1, 1
-; 0x94274
-
-OlivineLighthouse3F_MapHeader: ; 0x94274
-	; bank, tileset, permission
-	db BANK(OlivineLighthouse3F_SecondMapHeader), $13, 7
-
-	; second map header
-	dw OlivineLighthouse3F_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db LIGHTHOUSE, MUSIC_LIGHTHOUSE, 1, 1
-; 0x9427d
-
-OlivineLighthouse4F_MapHeader: ; 0x9427d
-	; bank, tileset, permission
-	db BANK(OlivineLighthouse4F_SecondMapHeader), $13, 7
-
-	; second map header
-	dw OlivineLighthouse4F_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db LIGHTHOUSE, MUSIC_LIGHTHOUSE, 1, 1
-; 0x94286
-
-OlivineLighthouse5F_MapHeader: ; 0x94286
-	; bank, tileset, permission
-	db BANK(OlivineLighthouse5F_SecondMapHeader), $13, 7
-
-	; second map header
-	dw OlivineLighthouse5F_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db LIGHTHOUSE, MUSIC_LIGHTHOUSE, 1, 1
-; 0x9428f
-
-OlivineLighthouse6F_MapHeader: ; 0x9428f
-	; bank, tileset, permission
-	db BANK(OlivineLighthouse6F_SecondMapHeader), $13, 7
-
-	; second map header
-	dw OlivineLighthouse6F_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db LIGHTHOUSE, MUSIC_VIOLET_CITY, 1, 1
-; 0x94298
-
-MahoganyMart1F_MapHeader: ; 0x94298
-	; bank, tileset, permission
-	db BANK(MahoganyMart1F_SecondMapHeader), $10, 3
-
-	; second map header
-	dw MahoganyMart1F_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db MAHOGANY_TOWN, MUSIC_MAHOGANY_MART, 17, 1
-; 0x942a1
-
-TeamRocketBaseB1F_MapHeader: ; 0x942a1
-	; bank, tileset, permission
-	db BANK(TeamRocketBaseB1F_SecondMapHeader), $1c, 7
-
-	; second map header
-	dw TeamRocketBaseB1F_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db MAHOGANY_TOWN, MUSIC_ROCKET_HIDEOUT, 17, 1
-; 0x942aa
-
-TeamRocketBaseB2F_MapHeader: ; 0x942aa
-	; bank, tileset, permission
-	db BANK(TeamRocketBaseB2F_SecondMapHeader), $b, 7
-
-	; second map header
-	dw TeamRocketBaseB2F_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db MAHOGANY_TOWN, MUSIC_ROCKET_HIDEOUT, 17, 1
-; 0x942b3
-
-TeamRocketBaseB3F_MapHeader: ; 0x942b3
-	; bank, tileset, permission
-	db BANK(TeamRocketBaseB3F_SecondMapHeader), $b, 7
-
-	; second map header
-	dw TeamRocketBaseB3F_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db MAHOGANY_TOWN, MUSIC_ROCKET_HIDEOUT, 17, 1
-; 0x942bc
-
-IlexForest_MapHeader: ; 0x942bc
-	; bank, tileset, permission
-	db BANK(IlexForest_SecondMapHeader), $1f, 4
-
-	; second map header
-	dw IlexForest_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db ILEX_FOREST, MUSIC_UNION_CAVE, 2, 4
-; 0x942c5
-
-WarehouseEntrance_MapHeader: ; 0x942c5
-	; bank, tileset, permission
-	db BANK(WarehouseEntrance_SecondMapHeader), $8, 7
-
-	; second map header
-	dw WarehouseEntrance_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db GOLDENROD_CITY, MUSIC_UNION_CAVE, 17, 1
-; 0x942ce
-
-UndergroundPathSwitchRoomEntrances_MapHeader: ; 0x942ce
-	; bank, tileset, permission
-	db BANK(UndergroundPathSwitchRoomEntrances_SecondMapHeader), $f, 7
-
-	; second map header
-	dw UndergroundPathSwitchRoomEntrances_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db GOLDENROD_CITY, MUSIC_UNION_CAVE, 17, 1
-; 0x942d7
-
-GoldenrodDeptStoreB1F_MapHeader: ; 0x942d7
-	; bank, tileset, permission
-	db BANK(GoldenrodDeptStoreB1F_SecondMapHeader), $1c, 7
-
-	; second map header
-	dw GoldenrodDeptStoreB1F_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, 17, 1
-; 0x942e0
-
-UndergroundWarehouse_MapHeader: ; 0x942e0
-	; bank, tileset, permission
-	db BANK(UndergroundWarehouse_SecondMapHeader), $1c, 7
-
-	; second map header
-	dw UndergroundWarehouse_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db GOLDENROD_CITY, MUSIC_UNION_CAVE, 17, 1
-; 0x942e9
-
-MountMortar1FOutside_MapHeader: ; 0x942e9
-	; bank, tileset, permission
-	db BANK(MountMortar1FOutside_SecondMapHeader), $1e, 4
-
-	; second map header
-	dw MountMortar1FOutside_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db MT_MORTAR, MUSIC_UNION_CAVE, 18, 3
-; 0x942f2
-
-MountMortar1FInside_MapHeader: ; 0x942f2
-	; bank, tileset, permission
-	db BANK(MountMortar1FInside_SecondMapHeader), $1e, 4
-
-	; second map header
-	dw MountMortar1FInside_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db MT_MORTAR, MUSIC_UNION_CAVE, 18, 3
-; 0x942fb
-
-MountMortar2FInside_MapHeader: ; 0x942fb
-	; bank, tileset, permission
-	db BANK(MountMortar2FInside_SecondMapHeader), $1e, 4
-
-	; second map header
-	dw MountMortar2FInside_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db MT_MORTAR, MUSIC_UNION_CAVE, 18, 3
-; 0x94304
-
-MountMortarB1F_MapHeader: ; 0x94304
-	; bank, tileset, permission
-	db BANK(MountMortarB1F_SecondMapHeader), $1e, 4
-
-	; second map header
-	dw MountMortarB1F_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db MT_MORTAR, MUSIC_UNION_CAVE, 18, 3
-; 0x9430d
-
-IcePath1F_MapHeader: ; 0x9430d
-	; bank, tileset, permission
-	db BANK(IcePath1F_SecondMapHeader), $1d, 4
-
-	; second map header
-	dw IcePath1F_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db ICE_PATH, MUSIC_DARK_CAVE, 18, 5
-; 0x94316
-
-IcePathB1F_MapHeader: ; 0x94316
-	; bank, tileset, permission
-	db BANK(IcePathB1F_SecondMapHeader), $1d, 4
-
-	; second map header
-	dw IcePathB1F_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db ICE_PATH, MUSIC_DARK_CAVE, 18, 5
-; 0x9431f
-
-IcePathB2FMahoganySide_MapHeader: ; 0x9431f
-	; bank, tileset, permission
-	db BANK(IcePathB2FMahoganySide_SecondMapHeader), $1d, 4
-
-	; second map header
-	dw IcePathB2FMahoganySide_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db ICE_PATH, MUSIC_DARK_CAVE, 18, 5
-; 0x94328
-
-IcePathB2FBlackthornSide_MapHeader: ; 0x94328
-	; bank, tileset, permission
-	db BANK(IcePathB2FBlackthornSide_SecondMapHeader), $1d, 4
-
-	; second map header
-	dw IcePathB2FBlackthornSide_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db ICE_PATH, MUSIC_DARK_CAVE, 18, 5
-; 0x94331
-
-IcePathB3F_MapHeader: ; 0x94331
-	; bank, tileset, permission
-	db BANK(IcePathB3F_SecondMapHeader), $1d, 4
-
-	; second map header
-	dw IcePathB3F_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db ICE_PATH, MUSIC_DARK_CAVE, 18, 5
-; 0x9433a
-
-WhirlIslandNW_MapHeader: ; 0x9433a
-	; bank, tileset, permission
-	db BANK(WhirlIslandNW_SecondMapHeader), $1e, 4
-
-	; second map header
-	dw WhirlIslandNW_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db WHIRL_ISLANDS, MUSIC_UNION_CAVE, 20, 10
-; 0x94343
-
-WhirlIslandNE_MapHeader: ; 0x94343
-	; bank, tileset, permission
-	db BANK(WhirlIslandNE_SecondMapHeader), $1e, 4
-
-	; second map header
-	dw WhirlIslandNE_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db WHIRL_ISLANDS, MUSIC_UNION_CAVE, 20, 10
-; 0x9434c
-
-WhirlIslandSW_MapHeader: ; 0x9434c
-	; bank, tileset, permission
-	db BANK(WhirlIslandSW_SecondMapHeader), $1e, 4
-
-	; second map header
-	dw WhirlIslandSW_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db WHIRL_ISLANDS, MUSIC_UNION_CAVE, 20, 10
-; 0x94355
-
-WhirlIslandCave_MapHeader: ; 0x94355
-	; bank, tileset, permission
-	db BANK(WhirlIslandCave_SecondMapHeader), $1e, 4
-
-	; second map header
-	dw WhirlIslandCave_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db WHIRL_ISLANDS, MUSIC_UNION_CAVE, 20, 10
-; 0x9435e
-
-WhirlIslandSE_MapHeader: ; 0x9435e
-	; bank, tileset, permission
-	db BANK(WhirlIslandSE_SecondMapHeader), $1e, 4
-
-	; second map header
-	dw WhirlIslandSE_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db WHIRL_ISLANDS, MUSIC_UNION_CAVE, 20, 10
-; 0x94367
-
-WhirlIslandB1F_MapHeader: ; 0x94367
-	; bank, tileset, permission
-	db BANK(WhirlIslandB1F_SecondMapHeader), $1e, 4
-
-	; second map header
-	dw WhirlIslandB1F_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db WHIRL_ISLANDS, MUSIC_UNION_CAVE, 20, 10
-; 0x94370
-
-WhirlIslandB2F_MapHeader: ; 0x94370
-	; bank, tileset, permission
-	db BANK(WhirlIslandB2F_SecondMapHeader), $1e, 4
-
-	; second map header
-	dw WhirlIslandB2F_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db WHIRL_ISLANDS, MUSIC_UNION_CAVE, 20, 10
-; 0x94379
-
-WhirlIslandLugiaChamber_MapHeader: ; 0x94379
-	; bank, tileset, permission
-	db BANK(WhirlIslandLugiaChamber_SecondMapHeader), $1e, 4
-
-	; second map header
-	dw WhirlIslandLugiaChamber_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db WHIRL_ISLANDS, MUSIC_UNION_CAVE, 20, 10
-; 0x94382
-
-SilverCaveRoom1_MapHeader: ; 0x94382
-	; bank, tileset, permission
-	db BANK(SilverCaveRoom1_SecondMapHeader), $1e, 4
-
-	; second map header
-	dw SilverCaveRoom1_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db SILVER_CAVE, MUSIC_LIGHTHOUSE, 20, 3
-; 0x9438b
-
-SilverCaveRoom2_MapHeader: ; 0x9438b
-	; bank, tileset, permission
-	db BANK(SilverCaveRoom2_SecondMapHeader), $18, 4
-
-	; second map header
-	dw SilverCaveRoom2_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db SILVER_CAVE, MUSIC_LIGHTHOUSE, 18, 3
-; 0x94394
-
-SilverCaveRoom3_MapHeader: ; 0x94394
-	; bank, tileset, permission
-	db BANK(SilverCaveRoom3_SecondMapHeader), $18, 4
-
-	; second map header
-	dw SilverCaveRoom3_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db SILVER_CAVE, MUSIC_LIGHTHOUSE, 17, 3
-; 0x9439d
-
-SilverCaveItemRooms_MapHeader: ; 0x9439d
-	; bank, tileset, permission
-	db BANK(SilverCaveItemRooms_SecondMapHeader), $18, 4
-
-	; second map header
-	dw SilverCaveItemRooms_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db SILVER_CAVE, MUSIC_LIGHTHOUSE, 18, 3
-; 0x943a6
-
-DarkCaveVioletEntrance_MapHeader: ; 0x943a6
-	; bank, tileset, permission
-	db BANK(DarkCaveVioletEntrance_SecondMapHeader), $1e, 4
-
-	; second map header
-	dw DarkCaveVioletEntrance_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db DARK_CAVE, MUSIC_DARK_CAVE, 20, 3
-; 0x943af
-
-DarkCaveBlackthornEntrance_MapHeader: ; 0x943af
-	; bank, tileset, permission
-	db BANK(DarkCaveBlackthornEntrance_SecondMapHeader), $1e, 4
-
-	; second map header
-	dw DarkCaveBlackthornEntrance_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db DARK_CAVE, MUSIC_DARK_CAVE, 20, 3
-; 0x943b8
-
-DragonsDen1F_MapHeader: ; 0x943b8
-	; bank, tileset, permission
-	db BANK(DragonsDen1F_SecondMapHeader), $18, 4
-
-	; second map header
-	dw DragonsDen1F_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db DRAGONS_DEN, MUSIC_DRAGONS_DEN, 18, 5
-; 0x943c1
-
-DragonsDenB1F_MapHeader: ; 0x943c1
-	; bank, tileset, permission
-	db BANK(DragonsDenB1F_SecondMapHeader), $1, 4
-
-	; second map header
-	dw DragonsDenB1F_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db DRAGONS_DEN, MUSIC_DRAGONS_DEN, 18, 5
-; 0x943ca
-
-DragonShrine_MapHeader: ; 0x943ca
-	; bank, tileset, permission
-	db BANK(DragonShrine_SecondMapHeader), $a, 3
-
-	; second map header
-	dw DragonShrine_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db DRAGONS_DEN, MUSIC_DRAGONS_DEN, 18, 1
-; 0x943d3
-
-TohjoFalls_MapHeader: ; 0x943d3
-	; bank, tileset, permission
-	db BANK(TohjoFalls_SecondMapHeader), $18, 4
-
-	; second map header
-	dw TohjoFalls_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db TOHJO_FALLS, MUSIC_UNION_CAVE, 18, 3
-; 0x943dc
-
-DiglettsCave_MapHeader: ; 0x943dc
-	; bank, tileset, permission
-	db BANK(DiglettsCave_SecondMapHeader), $18, 4
-
-	; second map header
-	dw DiglettsCave_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db DIGLETTS_CAVE, MUSIC_MT_MOON, 18, 1
-; 0x943e5
-
-MountMoon_MapHeader: ; 0x943e5
-	; bank, tileset, permission
-	db BANK(MountMoon_SecondMapHeader), $18, 4
-
-	; second map header
-	dw MountMoon_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db MT_MOON, MUSIC_MT_MOON, 18, 1
-; 0x943ee
-
-Underground_MapHeader: ; 0x943ee
-	; bank, tileset, permission
-	db BANK(Underground_SecondMapHeader), $1c, 6
-
-	; second map header
-	dw Underground_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db UNDERGROUND, MUSIC_MT_MOON, 2, 1
-; 0x943f7
-
-RockTunnel1F_MapHeader: ; 0x943f7
-	; bank, tileset, permission
-	db BANK(RockTunnel1F_SecondMapHeader), $1e, 4
-
-	; second map header
-	dw RockTunnel1F_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db ROCK_TUNNEL, MUSIC_MT_MOON, 20, 1
-; 0x94400
-
-RockTunnelB1F_MapHeader: ; 0x94400
-	; bank, tileset, permission
-	db BANK(RockTunnelB1F_SecondMapHeader), $1e, 4
-
-	; second map header
-	dw RockTunnelB1F_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db ROCK_TUNNEL, MUSIC_MT_MOON, 20, 1
-; 0x94409
-
-SafariZoneFuchsiaGateBeta_MapHeader: ; 0x94409
-	; bank, tileset, permission
-	db BANK(SafariZoneFuchsiaGateBeta_SecondMapHeader), $8, 3
-
-	; second map header
-	dw SafariZoneFuchsiaGateBeta_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db FUCHSIA_CITY, MUSIC_VIRIDIAN_CITY, 1, 1
-; 0x94412
-
-SafariZoneBeta_MapHeader: ; 0x94412
-	; bank, tileset, permission
-	db BANK(SafariZoneBeta_SecondMapHeader), $19, 4
-
-	; second map header
-	dw SafariZoneBeta_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db FUCHSIA_CITY, MUSIC_EVOLUTION, 0, 1
-; 0x9441b
-
-VictoryRoad_MapHeader: ; 0x9441b
-	; bank, tileset, permission
-	db BANK(VictoryRoad_SecondMapHeader), $18, 4
-
-	; second map header
-	dw VictoryRoad_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db VICTORY_ROAD, MUSIC_VICTORY_ROAD, 18, 1
-; 0x94424
-
-
 MapGroup4:
+	map_header EcruteakHouse, $17, 3, ECRUTEAK_CITY, MUSIC_ECRUTEAK_CITY, 1, 1
+	map_header WiseTriosRoom, $10, 3, ECRUTEAK_CITY, MUSIC_ECRUTEAK_CITY, 17, 1
+	map_header EcruteakPokeCenter1F, $7, 3, ECRUTEAK_CITY, MUSIC_POKEMON_CENTER, 1, 1
+	map_header EcruteakLugiaSpeechHouse, $10, 3, ECRUTEAK_CITY, MUSIC_ECRUTEAK_CITY, 1, 1
+	map_header DanceTheatre, $10, 3, ECRUTEAK_CITY, MUSIC_DANCING_HALL, 1, 1
+	map_header EcruteakMart, $c, 3, ECRUTEAK_CITY, MUSIC_ECRUTEAK_CITY, 1, 1
+	map_header EcruteakGym, $17, 3, ECRUTEAK_CITY, MUSIC_GYM, 17, 1
+	map_header EcruteakItemfinderHouse, $10, 3, ECRUTEAK_CITY, MUSIC_ECRUTEAK_CITY, 1, 1
+	map_header EcruteakCity, $1, 1, ECRUTEAK_CITY, MUSIC_ECRUTEAK_CITY, 0, 4
 
-EcruteakHouse_MapHeader: ; 0x94424
-	; bank, tileset, permission
-	db BANK(EcruteakHouse_SecondMapHeader), $17, 3
 
-	; second map header
-	dw EcruteakHouse_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db ECRUTEAK_CITY, MUSIC_ECRUTEAK_CITY, 1, 1
-; 0x9442d
-
-WiseTriosRoom_MapHeader: ; 0x9442d
-	; bank, tileset, permission
-	db BANK(WiseTriosRoom_SecondMapHeader), $10, 3
-
-	; second map header
-	dw WiseTriosRoom_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db ECRUTEAK_CITY, MUSIC_ECRUTEAK_CITY, 17, 1
-; 0x94436
-
-EcruteakPokeCenter1F_MapHeader: ; 0x94436
-	; bank, tileset, permission
-	db BANK(EcruteakPokeCenter1F_SecondMapHeader), $7, 3
-
-	; second map header
-	dw EcruteakPokeCenter1F_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db ECRUTEAK_CITY, MUSIC_POKEMON_CENTER, 1, 1
-; 0x9443f
-
-EcruteakLugiaSpeechHouse_MapHeader: ; 0x9443f
-	; bank, tileset, permission
-	db BANK(EcruteakLugiaSpeechHouse_SecondMapHeader), $10, 3
-
-	; second map header
-	dw EcruteakLugiaSpeechHouse_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db ECRUTEAK_CITY, MUSIC_ECRUTEAK_CITY, 1, 1
-; 0x94448
-
-DanceTheatre_MapHeader: ; 0x94448
-	; bank, tileset, permission
-	db BANK(DanceTheatre_SecondMapHeader), $10, 3
-
-	; second map header
-	dw DanceTheatre_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db ECRUTEAK_CITY, MUSIC_DANCING_HALL, 1, 1
-; 0x94451
-
-EcruteakMart_MapHeader: ; 0x94451
-	; bank, tileset, permission
-	db BANK(EcruteakMart_SecondMapHeader), $c, 3
-
-	; second map header
-	dw EcruteakMart_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db ECRUTEAK_CITY, MUSIC_ECRUTEAK_CITY, 1, 1
-; 0x9445a
-
-EcruteakGym_MapHeader: ; 0x9445a
-	; bank, tileset, permission
-	db BANK(EcruteakGym_SecondMapHeader), $17, 3
-
-	; second map header
-	dw EcruteakGym_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db ECRUTEAK_CITY, MUSIC_GYM, 17, 1
-; 0x94463
-
-EcruteakItemfinderHouse_MapHeader: ; 0x94463
-	; bank, tileset, permission
-	db BANK(EcruteakItemfinderHouse_SecondMapHeader), $10, 3
-
-	; second map header
-	dw EcruteakItemfinderHouse_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db ECRUTEAK_CITY, MUSIC_ECRUTEAK_CITY, 1, 1
-; 0x9446c
-
-EcruteakCity_MapHeader: ; 0x9446c
-	; bank, tileset, permission
-	db BANK(EcruteakCity_SecondMapHeader), $1, 1
-
-	; second map header
-	dw EcruteakCity_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db ECRUTEAK_CITY, MUSIC_ECRUTEAK_CITY, 0, 4
-; 0x94475
-
-
 MapGroup5:
+	map_header BlackthornGym1F, $f, 3, BLACKTHORN_CITY, MUSIC_GYM, 17, 1
+	map_header BlackthornGym2F, $f, 3, BLACKTHORN_CITY, MUSIC_GYM, 17, 1
+	map_header BlackthornDragonSpeechHouse, $5, 3, BLACKTHORN_CITY, MUSIC_AZALEA_TOWN, 1, 1
+	map_header BlackthornDodrioTradeHouse, $5, 3, BLACKTHORN_CITY, MUSIC_AZALEA_TOWN, 1, 1
+	map_header BlackthornMart, $c, 3, BLACKTHORN_CITY, MUSIC_AZALEA_TOWN, 1, 1
+	map_header BlackthornPokeCenter1F, $7, 3, BLACKTHORN_CITY, MUSIC_POKEMON_CENTER, 1, 1
+	map_header MoveDeletersHouse, $5, 3, BLACKTHORN_CITY, MUSIC_AZALEA_TOWN, 1, 1
+	map_header Route45, $1, 2, ROUTE_45, MUSIC_ROUTE_36, 0, 9
+	map_header Route46, $1, 2, ROUTE_46, MUSIC_ROUTE_36, 0, 1
+	map_header BlackthornCity, $1, 1, BLACKTHORN_CITY, MUSIC_AZALEA_TOWN, 0, 4
 
-BlackthornGym1F_MapHeader: ; 0x94475
-	; bank, tileset, permission
-	db BANK(BlackthornGym1F_SecondMapHeader), $f, 3
 
-	; second map header
-	dw BlackthornGym1F_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db BLACKTHORN_CITY, MUSIC_GYM, 17, 1
-; 0x9447e
-
-BlackthornGym2F_MapHeader: ; 0x9447e
-	; bank, tileset, permission
-	db BANK(BlackthornGym2F_SecondMapHeader), $f, 3
-
-	; second map header
-	dw BlackthornGym2F_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db BLACKTHORN_CITY, MUSIC_GYM, 17, 1
-; 0x94487
-
-BlackthornDragonSpeechHouse_MapHeader: ; 0x94487
-	; bank, tileset, permission
-	db BANK(BlackthornDragonSpeechHouse_SecondMapHeader), $5, 3
-
-	; second map header
-	dw BlackthornDragonSpeechHouse_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db BLACKTHORN_CITY, MUSIC_AZALEA_TOWN, 1, 1
-; 0x94490
-
-BlackthornDodrioTradeHouse_MapHeader: ; 0x94490
-	; bank, tileset, permission
-	db BANK(BlackthornDodrioTradeHouse_SecondMapHeader), $5, 3
-
-	; second map header
-	dw BlackthornDodrioTradeHouse_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db BLACKTHORN_CITY, MUSIC_AZALEA_TOWN, 1, 1
-; 0x94499
-
-BlackthornMart_MapHeader: ; 0x94499
-	; bank, tileset, permission
-	db BANK(BlackthornMart_SecondMapHeader), $c, 3
-
-	; second map header
-	dw BlackthornMart_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db BLACKTHORN_CITY, MUSIC_AZALEA_TOWN, 1, 1
-; 0x944a2
-
-BlackthornPokeCenter1F_MapHeader: ; 0x944a2
-	; bank, tileset, permission
-	db BANK(BlackthornPokeCenter1F_SecondMapHeader), $7, 3
-
-	; second map header
-	dw BlackthornPokeCenter1F_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db BLACKTHORN_CITY, MUSIC_POKEMON_CENTER, 1, 1
-; 0x944ab
-
-MoveDeletersHouse_MapHeader: ; 0x944ab
-	; bank, tileset, permission
-	db BANK(MoveDeletersHouse_SecondMapHeader), $5, 3
-
-	; second map header
-	dw MoveDeletersHouse_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db BLACKTHORN_CITY, MUSIC_AZALEA_TOWN, 1, 1
-; 0x944b4
-
-Route45_MapHeader: ; 0x944b4
-	; bank, tileset, permission
-	db BANK(Route45_SecondMapHeader), $1, 2
-
-	; second map header
-	dw Route45_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db ROUTE_45, MUSIC_ROUTE_36, 0, 9
-; 0x944bd
-
-Route46_MapHeader: ; 0x944bd
-	; bank, tileset, permission
-	db BANK(Route46_SecondMapHeader), $1, 2
-
-	; second map header
-	dw Route46_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db ROUTE_46, MUSIC_ROUTE_36, 0, 1
-; 0x944c6
-
-BlackthornCity_MapHeader: ; 0x944c6
-	; bank, tileset, permission
-	db BANK(BlackthornCity_SecondMapHeader), $1, 1
-
-	; second map header
-	dw BlackthornCity_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db BLACKTHORN_CITY, MUSIC_AZALEA_TOWN, 0, 4
-; 0x944cf
-
-
 MapGroup6:
+	map_header CinnabarPokeCenter1F, $7, 3, CINNABAR_ISLAND, MUSIC_POKEMON_CENTER, 1, 1
+	map_header CinnabarPokeCenter2FBeta, $7, 3, CINNABAR_ISLAND, MUSIC_POKEMON_CENTER, 1, 1
+	map_header Route19FuchsiaGate, $8, 6, ROUTE_19, MUSIC_ROUTE_3, 1, 1
+	map_header SeafoamGym, $18, 3, SEAFOAM_ISLANDS, MUSIC_GYM, 17, 1
+	map_header Route19, $3, 2, ROUTE_19, MUSIC_ROUTE_3, 0, 1
+	map_header Route20, $3, 2, ROUTE_20, MUSIC_ROUTE_3, 0, 2
+	map_header Route21, $3, 2, ROUTE_21, MUSIC_ROUTE_3, 0, 2
+	map_header CinnabarIsland, $3, 1, CINNABAR_ISLAND, MUSIC_VIRIDIAN_CITY, 0, 2
 
-CinnabarPokeCenter1F_MapHeader: ; 0x944cf
-	; bank, tileset, permission
-	db BANK(CinnabarPokeCenter1F_SecondMapHeader), $7, 3
 
-	; second map header
-	dw CinnabarPokeCenter1F_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db CINNABAR_ISLAND, MUSIC_POKEMON_CENTER, 1, 1
-; 0x944d8
-
-CinnabarPokeCenter2FBeta_MapHeader: ; 0x944d8
-	; bank, tileset, permission
-	db BANK(CinnabarPokeCenter2FBeta_SecondMapHeader), $7, 3
-
-	; second map header
-	dw CinnabarPokeCenter2FBeta_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db CINNABAR_ISLAND, MUSIC_POKEMON_CENTER, 1, 1
-; 0x944e1
-
-Route19FuchsiaGate_MapHeader: ; 0x944e1
-	; bank, tileset, permission
-	db BANK(Route19FuchsiaGate_SecondMapHeader), $8, 6
-
-	; second map header
-	dw Route19FuchsiaGate_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db ROUTE_19, MUSIC_ROUTE_3, 1, 1
-; 0x944ea
-
-SeafoamGym_MapHeader: ; 0x944ea
-	; bank, tileset, permission
-	db BANK(SeafoamGym_SecondMapHeader), $18, 3
-
-	; second map header
-	dw SeafoamGym_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db SEAFOAM_ISLANDS, MUSIC_GYM, 17, 1
-; 0x944f3
-
-Route19_MapHeader: ; 0x944f3
-	; bank, tileset, permission
-	db BANK(Route19_SecondMapHeader), $3, 2
-
-	; second map header
-	dw Route19_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db ROUTE_19, MUSIC_ROUTE_3, 0, 1
-; 0x944fc
-
-Route20_MapHeader: ; 0x944fc
-	; bank, tileset, permission
-	db BANK(Route20_SecondMapHeader), $3, 2
-
-	; second map header
-	dw Route20_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db ROUTE_20, MUSIC_ROUTE_3, 0, 2
-; 0x94505
-
-Route21_MapHeader: ; 0x94505
-	; bank, tileset, permission
-	db BANK(Route21_SecondMapHeader), $3, 2
-
-	; second map header
-	dw Route21_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db ROUTE_21, MUSIC_ROUTE_3, 0, 2
-; 0x9450e
-
-CinnabarIsland_MapHeader: ; 0x9450e
-	; bank, tileset, permission
-	db BANK(CinnabarIsland_SecondMapHeader), $3, 1
-
-	; second map header
-	dw CinnabarIsland_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db CINNABAR_ISLAND, MUSIC_VIRIDIAN_CITY, 0, 2
-; 0x94517
-
-
 MapGroup7:
+	map_header CeruleanGymBadgeSpeechHouse, $5, 3, CERULEAN_CITY, MUSIC_VIRIDIAN_CITY, 1, 1
+	map_header CeruleanPoliceStation, $5, 3, CERULEAN_CITY, MUSIC_VIRIDIAN_CITY, 1, 1
+	map_header CeruleanTradeSpeechHouse, $5, 3, CERULEAN_CITY, MUSIC_VIRIDIAN_CITY, 1, 1
+	map_header CeruleanPokeCenter1F, $7, 3, CERULEAN_CITY, MUSIC_POKEMON_CENTER, 1, 1
+	map_header CeruleanPokeCenter2FBeta, $7, 3, CERULEAN_CITY, MUSIC_POKEMON_CENTER, 1, 1
+	map_header CeruleanGym, $9, 3, CERULEAN_CITY, MUSIC_GYM, 17, 0
+	map_header CeruleanMart, $c, 3, CERULEAN_CITY, MUSIC_VIRIDIAN_CITY, 1, 1
+	map_header Route10PokeCenter1F, $7, 3, ROUTE_10, MUSIC_POKEMON_CENTER, 1, 1
+	map_header Route10PokeCenter2FBeta, $7, 3, ROUTE_10, MUSIC_POKEMON_CENTER, 1, 1
+	map_header PowerPlant, $b, 3, POWER_PLANT, MUSIC_VIRIDIAN_CITY, 1, 1
+	map_header BillsHouse, $5, 3, ROUTE_25, MUSIC_VIRIDIAN_CITY, 1, 1
+	map_header Route4, $3, 2, ROUTE_4, MUSIC_ROUTE_3, 0, 0
+	map_header Route9, $3, 2, ROUTE_9, MUSIC_ROUTE_3, 0, 3
+	map_header Route10North, $3, 2, ROUTE_10, MUSIC_ROUTE_3, 0, 3
+	map_header Route24, $3, 2, ROUTE_24, MUSIC_ROUTE_3, 0, 3
+	map_header Route25, $3, 2, ROUTE_25, MUSIC_ROUTE_3, 0, 3
+	map_header CeruleanCity, $3, 1, CERULEAN_CITY, MUSIC_VIRIDIAN_CITY, 0, 0
 
-CeruleanGymBadgeSpeechHouse_MapHeader: ; 0x94517
-	; bank, tileset, permission
-	db BANK(CeruleanGymBadgeSpeechHouse_SecondMapHeader), $5, 3
 
-	; second map header
-	dw CeruleanGymBadgeSpeechHouse_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db CERULEAN_CITY, MUSIC_VIRIDIAN_CITY, 1, 1
-; 0x94520
-
-CeruleanPoliceStation_MapHeader: ; 0x94520
-	; bank, tileset, permission
-	db BANK(CeruleanPoliceStation_SecondMapHeader), $5, 3
-
-	; second map header
-	dw CeruleanPoliceStation_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db CERULEAN_CITY, MUSIC_VIRIDIAN_CITY, 1, 1
-; 0x94529
-
-CeruleanTradeSpeechHouse_MapHeader: ; 0x94529
-	; bank, tileset, permission
-	db BANK(CeruleanTradeSpeechHouse_SecondMapHeader), $5, 3
-
-	; second map header
-	dw CeruleanTradeSpeechHouse_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db CERULEAN_CITY, MUSIC_VIRIDIAN_CITY, 1, 1
-; 0x94532
-
-CeruleanPokeCenter1F_MapHeader: ; 0x94532
-	; bank, tileset, permission
-	db BANK(CeruleanPokeCenter1F_SecondMapHeader), $7, 3
-
-	; second map header
-	dw CeruleanPokeCenter1F_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db CERULEAN_CITY, MUSIC_POKEMON_CENTER, 1, 1
-; 0x9453b
-
-CeruleanPokeCenter2FBeta_MapHeader: ; 0x9453b
-	; bank, tileset, permission
-	db BANK(CeruleanPokeCenter2FBeta_SecondMapHeader), $7, 3
-
-	; second map header
-	dw CeruleanPokeCenter2FBeta_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db CERULEAN_CITY, MUSIC_POKEMON_CENTER, 1, 1
-; 0x94544
-
-CeruleanGym_MapHeader: ; 0x94544
-	; bank, tileset, permission
-	db BANK(CeruleanGym_SecondMapHeader), $9, 3
-
-	; second map header
-	dw CeruleanGym_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db CERULEAN_CITY, MUSIC_GYM, 17, 0
-; 0x9454d
-
-CeruleanMart_MapHeader: ; 0x9454d
-	; bank, tileset, permission
-	db BANK(CeruleanMart_SecondMapHeader), $c, 3
-
-	; second map header
-	dw CeruleanMart_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db CERULEAN_CITY, MUSIC_VIRIDIAN_CITY, 1, 1
-; 0x94556
-
-Route10PokeCenter1F_MapHeader: ; 0x94556
-	; bank, tileset, permission
-	db BANK(Route10PokeCenter1F_SecondMapHeader), $7, 3
-
-	; second map header
-	dw Route10PokeCenter1F_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db ROUTE_10, MUSIC_POKEMON_CENTER, 1, 1
-; 0x9455f
-
-Route10PokeCenter2FBeta_MapHeader: ; 0x9455f
-	; bank, tileset, permission
-	db BANK(Route10PokeCenter2FBeta_SecondMapHeader), $7, 3
-
-	; second map header
-	dw Route10PokeCenter2FBeta_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db ROUTE_10, MUSIC_POKEMON_CENTER, 1, 1
-; 0x94568
-
-PowerPlant_MapHeader: ; 0x94568
-	; bank, tileset, permission
-	db BANK(PowerPlant_SecondMapHeader), $b, 3
-
-	; second map header
-	dw PowerPlant_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db POWER_PLANT, MUSIC_VIRIDIAN_CITY, 1, 1
-; 0x94571
-
-BillsHouse_MapHeader: ; 0x94571
-	; bank, tileset, permission
-	db BANK(BillsHouse_SecondMapHeader), $5, 3
-
-	; second map header
-	dw BillsHouse_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db ROUTE_25, MUSIC_VIRIDIAN_CITY, 1, 1
-; 0x9457a
-
-Route4_MapHeader: ; 0x9457a
-	; bank, tileset, permission
-	db BANK(Route4_SecondMapHeader), $3, 2
-
-	; second map header
-	dw Route4_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db ROUTE_4, MUSIC_ROUTE_3, 0, 0
-; 0x94583
-
-Route9_MapHeader: ; 0x94583
-	; bank, tileset, permission
-	db BANK(Route9_SecondMapHeader), $3, 2
-
-	; second map header
-	dw Route9_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db ROUTE_9, MUSIC_ROUTE_3, 0, 3
-; 0x9458c
-
-Route10North_MapHeader: ; 0x9458c
-	; bank, tileset, permission
-	db BANK(Route10North_SecondMapHeader), $3, 2
-
-	; second map header
-	dw Route10North_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db ROUTE_10, MUSIC_ROUTE_3, 0, 3
-; 0x94595
-
-Route24_MapHeader: ; 0x94595
-	; bank, tileset, permission
-	db BANK(Route24_SecondMapHeader), $3, 2
-
-	; second map header
-	dw Route24_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db ROUTE_24, MUSIC_ROUTE_3, 0, 3
-; 0x9459e
-
-Route25_MapHeader: ; 0x9459e
-	; bank, tileset, permission
-	db BANK(Route25_SecondMapHeader), $3, 2
-
-	; second map header
-	dw Route25_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db ROUTE_25, MUSIC_ROUTE_3, 0, 3
-; 0x945a7
-
-CeruleanCity_MapHeader: ; 0x945a7
-	; bank, tileset, permission
-	db BANK(CeruleanCity_SecondMapHeader), $3, 1
-
-	; second map header
-	dw CeruleanCity_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db CERULEAN_CITY, MUSIC_VIRIDIAN_CITY, 0, 0
-; 0x945b0
-
-
 MapGroup8:
+	map_header AzaleaPokeCenter1F, $7, 3, AZALEA_TOWN, MUSIC_POKEMON_CENTER, 1, 1
+	map_header CharcoalKiln, $5, 3, AZALEA_TOWN, MUSIC_AZALEA_TOWN, 1, 1
+	map_header AzaleaMart, $c, 3, AZALEA_TOWN, MUSIC_AZALEA_TOWN, 1, 1
+	map_header KurtsHouse, $10, 3, AZALEA_TOWN, MUSIC_AZALEA_TOWN, 1, 1
+	map_header AzaleaGym, $f, 3, AZALEA_TOWN, MUSIC_GYM, 17, 1
+	map_header Route33, $2, 2, ROUTE_33, MUSIC_ROUTE_30, 0, 1
+	map_header AzaleaTown, $2, 1, AZALEA_TOWN, MUSIC_AZALEA_TOWN, 0, 1
 
-AzaleaPokeCenter1F_MapHeader: ; 0x945b0
-	; bank, tileset, permission
-	db BANK(AzaleaPokeCenter1F_SecondMapHeader), $7, 3
 
-	; second map header
-	dw AzaleaPokeCenter1F_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db AZALEA_TOWN, MUSIC_POKEMON_CENTER, 1, 1
-; 0x945b9
-
-CharcoalKiln_MapHeader: ; 0x945b9
-	; bank, tileset, permission
-	db BANK(CharcoalKiln_SecondMapHeader), $5, 3
-
-	; second map header
-	dw CharcoalKiln_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db AZALEA_TOWN, MUSIC_AZALEA_TOWN, 1, 1
-; 0x945c2
-
-AzaleaMart_MapHeader: ; 0x945c2
-	; bank, tileset, permission
-	db BANK(AzaleaMart_SecondMapHeader), $c, 3
-
-	; second map header
-	dw AzaleaMart_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db AZALEA_TOWN, MUSIC_AZALEA_TOWN, 1, 1
-; 0x945cb
-
-KurtsHouse_MapHeader: ; 0x945cb
-	; bank, tileset, permission
-	db BANK(KurtsHouse_SecondMapHeader), $10, 3
-
-	; second map header
-	dw KurtsHouse_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db AZALEA_TOWN, MUSIC_AZALEA_TOWN, 1, 1
-; 0x945d4
-
-AzaleaGym_MapHeader: ; 0x945d4
-	; bank, tileset, permission
-	db BANK(AzaleaGym_SecondMapHeader), $f, 3
-
-	; second map header
-	dw AzaleaGym_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db AZALEA_TOWN, MUSIC_GYM, 17, 1
-; 0x945dd
-
-Route33_MapHeader: ; 0x945dd
-	; bank, tileset, permission
-	db BANK(Route33_SecondMapHeader), $2, 2
-
-	; second map header
-	dw Route33_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db ROUTE_33, MUSIC_ROUTE_30, 0, 1
-; 0x945e6
-
-AzaleaTown_MapHeader: ; 0x945e6
-	; bank, tileset, permission
-	db BANK(AzaleaTown_SecondMapHeader), $2, 1
-
-	; second map header
-	dw AzaleaTown_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db AZALEA_TOWN, MUSIC_AZALEA_TOWN, 0, 1
-; 0x945ef
-
-
 MapGroup9:
+	map_header LakeofRageHiddenPowerHouse, $5, 3, LAKE_OF_RAGE, MUSIC_LAKE_OF_RAGE, 1, 1
+	map_header LakeofRageMagikarpHouse, $5, 3, LAKE_OF_RAGE, MUSIC_LAKE_OF_RAGE, 1, 1
+	map_header Route43MahoganyGate, $8, 6, ROUTE_43, MUSIC_LAKE_OF_RAGE, 1, 1
+	map_header Route43Gate, $8, 6, ROUTE_43, MUSIC_LAKE_OF_RAGE, 1, 1
+	map_header Route43, $1, 2, ROUTE_43, MUSIC_LAKE_OF_RAGE, 0, 4
+	map_header LakeofRage, $1, 1, LAKE_OF_RAGE, MUSIC_LAKE_OF_RAGE, 0, 8
 
-LakeofRageHiddenPowerHouse_MapHeader: ; 0x945ef
-	; bank, tileset, permission
-	db BANK(LakeofRageHiddenPowerHouse_SecondMapHeader), $5, 3
 
-	; second map header
-	dw LakeofRageHiddenPowerHouse_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db LAKE_OF_RAGE, MUSIC_LAKE_OF_RAGE, 1, 1
-; 0x945f8
-
-LakeofRageMagikarpHouse_MapHeader: ; 0x945f8
-	; bank, tileset, permission
-	db BANK(LakeofRageMagikarpHouse_SecondMapHeader), $5, 3
-
-	; second map header
-	dw LakeofRageMagikarpHouse_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db LAKE_OF_RAGE, MUSIC_LAKE_OF_RAGE, 1, 1
-; 0x94601
-
-Route43MahoganyGate_MapHeader: ; 0x94601
-	; bank, tileset, permission
-	db BANK(Route43MahoganyGate_SecondMapHeader), $8, 6
-
-	; second map header
-	dw Route43MahoganyGate_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db ROUTE_43, MUSIC_LAKE_OF_RAGE, 1, 1
-; 0x9460a
-
-Route43Gate_MapHeader: ; 0x9460a
-	; bank, tileset, permission
-	db BANK(Route43Gate_SecondMapHeader), $8, 6
-
-	; second map header
-	dw Route43Gate_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db ROUTE_43, MUSIC_LAKE_OF_RAGE, 1, 1
-; 0x94613
-
-Route43_MapHeader: ; 0x94613
-	; bank, tileset, permission
-	db BANK(Route43_SecondMapHeader), $1, 2
-
-	; second map header
-	dw Route43_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db ROUTE_43, MUSIC_LAKE_OF_RAGE, 0, 4
-; 0x9461c
-
-LakeofRage_MapHeader: ; 0x9461c
-	; bank, tileset, permission
-	db BANK(LakeofRage_SecondMapHeader), $1, 1
-
-	; second map header
-	dw LakeofRage_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db LAKE_OF_RAGE, MUSIC_LAKE_OF_RAGE, 0, 8
-; 0x94625
-
-
 MapGroup10:
+	map_header Route32, $1, 2, ROUTE_32, MUSIC_ROUTE_30, 0, 11
+	map_header Route35, $1, 2, ROUTE_35, MUSIC_ROUTE_36, 0, 4
+	map_header Route36, $1, 2, ROUTE_36, MUSIC_ROUTE_36, 0, 1
+	map_header Route37, $1, 2, ROUTE_37, MUSIC_ROUTE_36, 0, 1
+	map_header VioletCity, $1, 1, VIOLET_CITY, MUSIC_VIOLET_CITY, 0, 4
+	map_header VioletMart, $c, 3, VIOLET_CITY, MUSIC_VIOLET_CITY, 1, 1
+	map_header VioletGym, $f, 3, VIOLET_CITY, MUSIC_GYM, 17, 1
+	map_header EarlsPokemonAcademy, $a, 3, VIOLET_CITY, MUSIC_VIOLET_CITY, 1, 1
+	map_header VioletNicknameSpeechHouse, $10, 3, VIOLET_CITY, MUSIC_VIOLET_CITY, 1, 1
+	map_header VioletPokeCenter1F, $7, 3, VIOLET_CITY, MUSIC_POKEMON_CENTER, 1, 1
+	map_header VioletOnixTradeHouse, $10, 3, VIOLET_CITY, MUSIC_VIOLET_CITY, 1, 1
+	map_header Route32RuinsofAlphGate, $8, 6, ROUTE_32, MUSIC_ROUTE_30, 1, 1
+	map_header Route32PokeCenter1F, $7, 3, ROUTE_32, MUSIC_POKEMON_CENTER, 1, 1
+	map_header Route35Goldenrodgate, $8, 6, ROUTE_35, MUSIC_ROUTE_36, 1, 1
+	map_header Route35NationalParkgate, $8, 3, ROUTE_35, MUSIC_GOLDENROD_CITY, 1, 1
+	map_header Route36RuinsofAlphgate, $8, 6, ROUTE_36, MUSIC_ROUTE_36, 1, 1
+	map_header Route36NationalParkgate, $8, 3, ROUTE_36, MUSIC_GOLDENROD_CITY, 1, 1
 
-Route32_MapHeader: ; 0x94625
-	; bank, tileset, permission
-	db BANK(Route32_SecondMapHeader), $1, 2
 
-	; second map header
-	dw Route32_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db ROUTE_32, MUSIC_ROUTE_30, 0, 11
-; 0x9462e
-
-Route35_MapHeader: ; 0x9462e
-	; bank, tileset, permission
-	db BANK(Route35_SecondMapHeader), $1, 2
-
-	; second map header
-	dw Route35_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db ROUTE_35, MUSIC_ROUTE_36, 0, 4
-; 0x94637
-
-Route36_MapHeader: ; 0x94637
-	; bank, tileset, permission
-	db BANK(Route36_SecondMapHeader), $1, 2
-
-	; second map header
-	dw Route36_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db ROUTE_36, MUSIC_ROUTE_36, 0, 1
-; 0x94640
-
-Route37_MapHeader: ; 0x94640
-	; bank, tileset, permission
-	db BANK(Route37_SecondMapHeader), $1, 2
-
-	; second map header
-	dw Route37_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db ROUTE_37, MUSIC_ROUTE_36, 0, 1
-; 0x94649
-
-VioletCity_MapHeader: ; 0x94649
-	; bank, tileset, permission
-	db BANK(VioletCity_SecondMapHeader), $1, 1
-
-	; second map header
-	dw VioletCity_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db VIOLET_CITY, MUSIC_VIOLET_CITY, 0, 4
-; 0x94652
-
-VioletMart_MapHeader: ; 0x94652
-	; bank, tileset, permission
-	db BANK(VioletMart_SecondMapHeader), $c, 3
-
-	; second map header
-	dw VioletMart_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db VIOLET_CITY, MUSIC_VIOLET_CITY, 1, 1
-; 0x9465b
-
-VioletGym_MapHeader: ; 0x9465b
-	; bank, tileset, permission
-	db BANK(VioletGym_SecondMapHeader), $f, 3
-
-	; second map header
-	dw VioletGym_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db VIOLET_CITY, MUSIC_GYM, 17, 1
-; 0x94664
-
-EarlsPokemonAcademy_MapHeader: ; 0x94664
-	; bank, tileset, permission
-	db BANK(EarlsPokemonAcademy_SecondMapHeader), $a, 3
-
-	; second map header
-	dw EarlsPokemonAcademy_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db VIOLET_CITY, MUSIC_VIOLET_CITY, 1, 1
-; 0x9466d
-
-VioletNicknameSpeechHouse_MapHeader: ; 0x9466d
-	; bank, tileset, permission
-	db BANK(VioletNicknameSpeechHouse_SecondMapHeader), $10, 3
-
-	; second map header
-	dw VioletNicknameSpeechHouse_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db VIOLET_CITY, MUSIC_VIOLET_CITY, 1, 1
-; 0x94676
-
-VioletPokeCenter1F_MapHeader: ; 0x94676
-	; bank, tileset, permission
-	db BANK(VioletPokeCenter1F_SecondMapHeader), $7, 3
-
-	; second map header
-	dw VioletPokeCenter1F_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db VIOLET_CITY, MUSIC_POKEMON_CENTER, 1, 1
-; 0x9467f
-
-VioletOnixTradeHouse_MapHeader: ; 0x9467f
-	; bank, tileset, permission
-	db BANK(VioletOnixTradeHouse_SecondMapHeader), $10, 3
-
-	; second map header
-	dw VioletOnixTradeHouse_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db VIOLET_CITY, MUSIC_VIOLET_CITY, 1, 1
-; 0x94688
-
-Route32RuinsofAlphGate_MapHeader: ; 0x94688
-	; bank, tileset, permission
-	db BANK(Route32RuinsofAlphGate_SecondMapHeader), $8, 6
-
-	; second map header
-	dw Route32RuinsofAlphGate_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db ROUTE_32, MUSIC_ROUTE_30, 1, 1
-; 0x94691
-
-Route32PokeCenter1F_MapHeader: ; 0x94691
-	; bank, tileset, permission
-	db BANK(Route32PokeCenter1F_SecondMapHeader), $7, 3
-
-	; second map header
-	dw Route32PokeCenter1F_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db ROUTE_32, MUSIC_POKEMON_CENTER, 1, 1
-; 0x9469a
-
-Route35Goldenrodgate_MapHeader: ; 0x9469a
-	; bank, tileset, permission
-	db BANK(Route35Goldenrodgate_SecondMapHeader), $8, 6
-
-	; second map header
-	dw Route35Goldenrodgate_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db ROUTE_35, MUSIC_ROUTE_36, 1, 1
-; 0x946a3
-
-Route35NationalParkgate_MapHeader: ; 0x946a3
-	; bank, tileset, permission
-	db BANK(Route35NationalParkgate_SecondMapHeader), $8, 3
-
-	; second map header
-	dw Route35NationalParkgate_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db ROUTE_35, MUSIC_GOLDENROD_CITY, 1, 1
-; 0x946ac
-
-Route36RuinsofAlphgate_MapHeader: ; 0x946ac
-	; bank, tileset, permission
-	db BANK(Route36RuinsofAlphgate_SecondMapHeader), $8, 6
-
-	; second map header
-	dw Route36RuinsofAlphgate_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db ROUTE_36, MUSIC_ROUTE_36, 1, 1
-; 0x946b5
-
-Route36NationalParkgate_MapHeader: ; 0x946b5
-	; bank, tileset, permission
-	db BANK(Route36NationalParkgate_SecondMapHeader), $8, 3
-
-	; second map header
-	dw Route36NationalParkgate_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db ROUTE_36, MUSIC_GOLDENROD_CITY, 1, 1
-; 0x946be
-
-
 MapGroup11:
+	map_header Route34, $2, 2, ROUTE_34, MUSIC_ROUTE_36, 0, 1
+	map_header GoldenrodCity, $2, 1, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, 0, 1
+	map_header GoldenrodGym, $f, 3, GOLDENROD_CITY, MUSIC_GYM, 17, 1
+	map_header GoldenrodBikeShop, $12, 3, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, 1, 1
+	map_header GoldenrodHappinessRater, $5, 3, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, 1, 1
+	map_header GoldenrodBillsHouse, $5, 3, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, 1, 1
+	map_header GoldenrodMagnetTrainStation, $11, 3, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, 1, 1
+	map_header GoldenrodFlowerShop, $5, 3, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, 1, 1
+	map_header GoldenrodPPSpeechHouse, $5, 3, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, 1, 1
+	map_header GoldenrodNameRatersHouse, $5, 3, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, 1, 1
+	map_header GoldenrodDeptStore1F, $c, 3, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, 1, 1
+	map_header GoldenrodDeptStore2F, $c, 3, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, 1, 1
+	map_header GoldenrodDeptStore3F, $c, 3, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, 1, 1
+	map_header GoldenrodDeptStore4F, $c, 3, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, 1, 1
+	map_header GoldenrodDeptStore5F, $c, 3, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, 1, 1
+	map_header GoldenrodDeptStore6F, $c, 3, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, 1, 1
+	map_header GoldenrodDeptStoreElevator, $c, 3, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, 1, 1
+	map_header GoldenrodDeptStoreRoof, $c, 3, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, 1, 1
+	map_header GoldenrodGameCorner, $e, 3, GOLDENROD_CITY, MUSIC_GAME_CORNER, 1, 1
+	map_header GoldenrodPokeCenter1F, $7, 3, GOLDENROD_CITY, MUSIC_POKEMON_CENTER, 1, 1
+	map_header GoldenrodPokeComCenter2FMobile, $15, 3, GOLDENROD_CITY, MUSIC_POKEMON_CENTER, 1, 1
+	map_header IlexForestAzaleaGate, $8, 6, ROUTE_34, MUSIC_ROUTE_36, 1, 1
+	map_header Route34IlexForestGate, $8, 6, ROUTE_34, MUSIC_ROUTE_36, 1, 1
+	map_header DayCare, $5, 3, ROUTE_34, MUSIC_AZALEA_TOWN, 1, 1
 
-Route34_MapHeader: ; 0x946be
-	; bank, tileset, permission
-	db BANK(Route34_SecondMapHeader), $2, 2
 
-	; second map header
-	dw Route34_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db ROUTE_34, MUSIC_ROUTE_36, 0, 1
-; 0x946c7
-
-GoldenrodCity_MapHeader: ; 0x946c7
-	; bank, tileset, permission
-	db BANK(GoldenrodCity_SecondMapHeader), $2, 1
-
-	; second map header
-	dw GoldenrodCity_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, 0, 1
-; 0x946d0
-
-GoldenrodGym_MapHeader: ; 0x946d0
-	; bank, tileset, permission
-	db BANK(GoldenrodGym_SecondMapHeader), $f, 3
-
-	; second map header
-	dw GoldenrodGym_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db GOLDENROD_CITY, MUSIC_GYM, 17, 1
-; 0x946d9
-
-GoldenrodBikeShop_MapHeader: ; 0x946d9
-	; bank, tileset, permission
-	db BANK(GoldenrodBikeShop_SecondMapHeader), $12, 3
-
-	; second map header
-	dw GoldenrodBikeShop_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, 1, 1
-; 0x946e2
-
-GoldenrodHappinessRater_MapHeader: ; 0x946e2
-	; bank, tileset, permission
-	db BANK(GoldenrodHappinessRater_SecondMapHeader), $5, 3
-
-	; second map header
-	dw GoldenrodHappinessRater_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, 1, 1
-; 0x946eb
-
-GoldenrodBillsHouse_MapHeader: ; 0x946eb
-	; bank, tileset, permission
-	db BANK(GoldenrodBillsHouse_SecondMapHeader), $5, 3
-
-	; second map header
-	dw GoldenrodBillsHouse_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, 1, 1
-; 0x946f4
-
-GoldenrodMagnetTrainStation_MapHeader: ; 0x946f4
-	; bank, tileset, permission
-	db BANK(GoldenrodMagnetTrainStation_SecondMapHeader), $11, 3
-
-	; second map header
-	dw GoldenrodMagnetTrainStation_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, 1, 1
-; 0x946fd
-
-GoldenrodFlowerShop_MapHeader: ; 0x946fd
-	; bank, tileset, permission
-	db BANK(GoldenrodFlowerShop_SecondMapHeader), $5, 3
-
-	; second map header
-	dw GoldenrodFlowerShop_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, 1, 1
-; 0x94706
-
-GoldenrodPPSpeechHouse_MapHeader: ; 0x94706
-	; bank, tileset, permission
-	db BANK(GoldenrodPPSpeechHouse_SecondMapHeader), $5, 3
-
-	; second map header
-	dw GoldenrodPPSpeechHouse_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, 1, 1
-; 0x9470f
-
-GoldenrodNameRatersHouse_MapHeader: ; 0x9470f
-	; bank, tileset, permission
-	db BANK(GoldenrodNameRatersHouse_SecondMapHeader), $5, 3
-
-	; second map header
-	dw GoldenrodNameRatersHouse_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, 1, 1
-; 0x94718
-
-GoldenrodDeptStore1F_MapHeader: ; 0x94718
-	; bank, tileset, permission
-	db BANK(GoldenrodDeptStore1F_SecondMapHeader), $c, 3
-
-	; second map header
-	dw GoldenrodDeptStore1F_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, 1, 1
-; 0x94721
-
-GoldenrodDeptStore2F_MapHeader: ; 0x94721
-	; bank, tileset, permission
-	db BANK(GoldenrodDeptStore2F_SecondMapHeader), $c, 3
-
-	; second map header
-	dw GoldenrodDeptStore2F_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, 1, 1
-; 0x9472a
-
-GoldenrodDeptStore3F_MapHeader: ; 0x9472a
-	; bank, tileset, permission
-	db BANK(GoldenrodDeptStore3F_SecondMapHeader), $c, 3
-
-	; second map header
-	dw GoldenrodDeptStore3F_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, 1, 1
-; 0x94733
-
-GoldenrodDeptStore4F_MapHeader: ; 0x94733
-	; bank, tileset, permission
-	db BANK(GoldenrodDeptStore4F_SecondMapHeader), $c, 3
-
-	; second map header
-	dw GoldenrodDeptStore4F_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, 1, 1
-; 0x9473c
-
-GoldenrodDeptStore5F_MapHeader: ; 0x9473c
-	; bank, tileset, permission
-	db BANK(GoldenrodDeptStore5F_SecondMapHeader), $c, 3
-
-	; second map header
-	dw GoldenrodDeptStore5F_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, 1, 1
-; 0x94745
-
-GoldenrodDeptStore6F_MapHeader: ; 0x94745
-	; bank, tileset, permission
-	db BANK(GoldenrodDeptStore6F_SecondMapHeader), $c, 3
-
-	; second map header
-	dw GoldenrodDeptStore6F_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, 1, 1
-; 0x9474e
-
-GoldenrodDeptStoreElevator_MapHeader: ; 0x9474e
-	; bank, tileset, permission
-	db BANK(GoldenrodDeptStoreElevator_SecondMapHeader), $c, 3
-
-	; second map header
-	dw GoldenrodDeptStoreElevator_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, 1, 1
-; 0x94757
-
-GoldenrodDeptStoreRoof_MapHeader: ; 0x94757
-	; bank, tileset, permission
-	db BANK(GoldenrodDeptStoreRoof_SecondMapHeader), $c, 3
-
-	; second map header
-	dw GoldenrodDeptStoreRoof_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, 1, 1
-; 0x94760
-
-GoldenrodGameCorner_MapHeader: ; 0x94760
-	; bank, tileset, permission
-	db BANK(GoldenrodGameCorner_SecondMapHeader), $e, 3
-
-	; second map header
-	dw GoldenrodGameCorner_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db GOLDENROD_CITY, MUSIC_GAME_CORNER, 1, 1
-; 0x94769
-
-GoldenrodPokeCenter1F_MapHeader: ; 0x94769
-	; bank, tileset, permission
-	db BANK(GoldenrodPokeCenter1F_SecondMapHeader), $7, 3
-
-	; second map header
-	dw GoldenrodPokeCenter1F_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db GOLDENROD_CITY, MUSIC_POKEMON_CENTER, 1, 1
-; 0x94772
-
-GoldenrodPokeComCenter2FMobile_MapHeader: ; 0x94772
-	; bank, tileset, permission
-	db BANK(GoldenrodPokeComCenter2FMobile_SecondMapHeader), $15, 3
-
-	; second map header
-	dw GoldenrodPokeComCenter2FMobile_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db GOLDENROD_CITY, MUSIC_POKEMON_CENTER, 1, 1
-; 0x9477b
-
-IlexForestAzaleaGate_MapHeader: ; 0x9477b
-	; bank, tileset, permission
-	db BANK(IlexForestAzaleaGate_SecondMapHeader), $8, 6
-
-	; second map header
-	dw IlexForestAzaleaGate_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db ROUTE_34, MUSIC_ROUTE_36, 1, 1
-; 0x94784
-
-Route34IlexForestGate_MapHeader: ; 0x94784
-	; bank, tileset, permission
-	db BANK(Route34IlexForestGate_SecondMapHeader), $8, 6
-
-	; second map header
-	dw Route34IlexForestGate_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db ROUTE_34, MUSIC_ROUTE_36, 1, 1
-; 0x9478d
-
-DayCare_MapHeader: ; 0x9478d
-	; bank, tileset, permission
-	db BANK(DayCare_SecondMapHeader), $5, 3
-
-	; second map header
-	dw DayCare_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db ROUTE_34, MUSIC_AZALEA_TOWN, 1, 1
-; 0x94796
-
-
 MapGroup12:
+	map_header Route6, $3, 2, ROUTE_6, MUSIC_ROUTE_3, 0, 4
+	map_header Route11, $3, 2, ROUTE_11, MUSIC_ROUTE_12, 0, 1
+	map_header VermilionCity, $3, 1, VERMILION_CITY, MUSIC_VERMILION_CITY, 0, 2
+	map_header VermilionHouseFishingSpeechHouse, $5, 3, VERMILION_CITY, MUSIC_VERMILION_CITY, 1, 1
+	map_header VermilionPokeCenter1F, $7, 3, VERMILION_CITY, MUSIC_POKEMON_CENTER, 1, 1
+	map_header VermilionPokeCenter2FBeta, $7, 3, VERMILION_CITY, MUSIC_VERMILION_CITY, 1, 1
+	map_header PokemonFanClub, $5, 3, VERMILION_CITY, MUSIC_VERMILION_CITY, 1, 1
+	map_header VermilionMagnetTrainSpeechHouse, $5, 3, VERMILION_CITY, MUSIC_VERMILION_CITY, 1, 1
+	map_header VermilionMart, $c, 3, VERMILION_CITY, MUSIC_VERMILION_CITY, 1, 1
+	map_header VermilionHouseDiglettsCaveSpeechHouse, $5, 3, VERMILION_CITY, MUSIC_VERMILION_CITY, 1, 1
+	map_header VermilionGym, $e, 3, VERMILION_CITY, MUSIC_GYM, 17, 1
+	map_header Route6SaffronGate, $8, 6, ROUTE_6, MUSIC_ROUTE_3, 1, 1
+	map_header Route6UndergroundEntrance, $8, 6, ROUTE_6, MUSIC_ROUTE_3, 1, 1
 
-Route6_MapHeader: ; 0x94796
-	; bank, tileset, permission
-	db BANK(Route6_SecondMapHeader), $3, 2
 
-	; second map header
-	dw Route6_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db ROUTE_6, MUSIC_ROUTE_3, 0, 4
-; 0x9479f
-
-Route11_MapHeader: ; 0x9479f
-	; bank, tileset, permission
-	db BANK(Route11_SecondMapHeader), $3, 2
-
-	; second map header
-	dw Route11_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db ROUTE_11, MUSIC_ROUTE_12, 0, 1
-; 0x947a8
-
-VermilionCity_MapHeader: ; 0x947a8
-	; bank, tileset, permission
-	db BANK(VermilionCity_SecondMapHeader), $3, 1
-
-	; second map header
-	dw VermilionCity_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db VERMILION_CITY, MUSIC_VERMILION_CITY, 0, 2
-; 0x947b1
-
-VermilionHouseFishingSpeechHouse_MapHeader: ; 0x947b1
-	; bank, tileset, permission
-	db BANK(VermilionHouseFishingSpeechHouse_SecondMapHeader), $5, 3
-
-	; second map header
-	dw VermilionHouseFishingSpeechHouse_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db VERMILION_CITY, MUSIC_VERMILION_CITY, 1, 1
-; 0x947ba
-
-VermilionPokeCenter1F_MapHeader: ; 0x947ba
-	; bank, tileset, permission
-	db BANK(VermilionPokeCenter1F_SecondMapHeader), $7, 3
-
-	; second map header
-	dw VermilionPokeCenter1F_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db VERMILION_CITY, MUSIC_POKEMON_CENTER, 1, 1
-; 0x947c3
-
-VermilionPokeCenter2FBeta_MapHeader: ; 0x947c3
-	; bank, tileset, permission
-	db BANK(VermilionPokeCenter2FBeta_SecondMapHeader), $7, 3
-
-	; second map header
-	dw VermilionPokeCenter2FBeta_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db VERMILION_CITY, MUSIC_VERMILION_CITY, 1, 1
-; 0x947cc
-
-PokemonFanClub_MapHeader: ; 0x947cc
-	; bank, tileset, permission
-	db BANK(PokemonFanClub_SecondMapHeader), $5, 3
-
-	; second map header
-	dw PokemonFanClub_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db VERMILION_CITY, MUSIC_VERMILION_CITY, 1, 1
-; 0x947d5
-
-VermilionMagnetTrainSpeechHouse_MapHeader: ; 0x947d5
-	; bank, tileset, permission
-	db BANK(VermilionMagnetTrainSpeechHouse_SecondMapHeader), $5, 3
-
-	; second map header
-	dw VermilionMagnetTrainSpeechHouse_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db VERMILION_CITY, MUSIC_VERMILION_CITY, 1, 1
-; 0x947de
-
-VermilionMart_MapHeader: ; 0x947de
-	; bank, tileset, permission
-	db BANK(VermilionMart_SecondMapHeader), $c, 3
-
-	; second map header
-	dw VermilionMart_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db VERMILION_CITY, MUSIC_VERMILION_CITY, 1, 1
-; 0x947e7
-
-VermilionHouseDiglettsCaveSpeechHouse_MapHeader: ; 0x947e7
-	; bank, tileset, permission
-	db BANK(VermilionHouseDiglettsCaveSpeechHouse_SecondMapHeader), $5, 3
-
-	; second map header
-	dw VermilionHouseDiglettsCaveSpeechHouse_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db VERMILION_CITY, MUSIC_VERMILION_CITY, 1, 1
-; 0x947f0
-
-VermilionGym_MapHeader: ; 0x947f0
-	; bank, tileset, permission
-	db BANK(VermilionGym_SecondMapHeader), $e, 3
-
-	; second map header
-	dw VermilionGym_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db VERMILION_CITY, MUSIC_GYM, 17, 1
-; 0x947f9
-
-Route6SaffronGate_MapHeader: ; 0x947f9
-	; bank, tileset, permission
-	db BANK(Route6SaffronGate_SecondMapHeader), $8, 6
-
-	; second map header
-	dw Route6SaffronGate_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db ROUTE_6, MUSIC_ROUTE_3, 1, 1
-; 0x94802
-
-Route6UndergroundEntrance_MapHeader: ; 0x94802
-	; bank, tileset, permission
-	db BANK(Route6UndergroundEntrance_SecondMapHeader), $8, 6
-
-	; second map header
-	dw Route6UndergroundEntrance_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db ROUTE_6, MUSIC_ROUTE_3, 1, 1
-; 0x9480b
-
-
 MapGroup13:
+	map_header Route1, $3, 2, ROUTE_1, MUSIC_ROUTE_1, 0, 1
+	map_header PalletTown, $3, 1, PALLET_TOWN, MUSIC_PALLET_TOWN, 0, 2
+	map_header RedsHouse1F, $6, 3, PALLET_TOWN, MUSIC_PALLET_TOWN, 1, 1
+	map_header RedsHouse2F, $6, 3, PALLET_TOWN, MUSIC_PALLET_TOWN, 1, 1
+	map_header BluesHouse, $5, 3, PALLET_TOWN, MUSIC_PALLET_TOWN, 1, 1
+	map_header OaksLab, $a, 3, PALLET_TOWN, MUSIC_POKEMON_TALK, 1, 1
 
-Route1_MapHeader: ; 0x9480b
-	; bank, tileset, permission
-	db BANK(Route1_SecondMapHeader), $3, 2
 
-	; second map header
-	dw Route1_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db ROUTE_1, MUSIC_ROUTE_1, 0, 1
-; 0x94814
-
-PalletTown_MapHeader: ; 0x94814
-	; bank, tileset, permission
-	db BANK(PalletTown_SecondMapHeader), $3, 1
-
-	; second map header
-	dw PalletTown_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db PALLET_TOWN, MUSIC_PALLET_TOWN, 0, 2
-; 0x9481d
-
-RedsHouse1F_MapHeader: ; 0x9481d
-	; bank, tileset, permission
-	db BANK(RedsHouse1F_SecondMapHeader), $6, 3
-
-	; second map header
-	dw RedsHouse1F_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db PALLET_TOWN, MUSIC_PALLET_TOWN, 1, 1
-; 0x94826
-
-RedsHouse2F_MapHeader: ; 0x94826
-	; bank, tileset, permission
-	db BANK(RedsHouse2F_SecondMapHeader), $6, 3
-
-	; second map header
-	dw RedsHouse2F_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db PALLET_TOWN, MUSIC_PALLET_TOWN, 1, 1
-; 0x9482f
-
-BluesHouse_MapHeader: ; 0x9482f
-	; bank, tileset, permission
-	db BANK(BluesHouse_SecondMapHeader), $5, 3
-
-	; second map header
-	dw BluesHouse_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db PALLET_TOWN, MUSIC_PALLET_TOWN, 1, 1
-; 0x94838
-
-OaksLab_MapHeader: ; 0x94838
-	; bank, tileset, permission
-	db BANK(OaksLab_SecondMapHeader), $a, 3
-
-	; second map header
-	dw OaksLab_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db PALLET_TOWN, MUSIC_POKEMON_TALK, 1, 1
-; 0x94841
-
-
 MapGroup14:
+	map_header Route3, $3, 2, ROUTE_3, MUSIC_ROUTE_3, 0, 1
+	map_header PewterCity, $3, 1, PEWTER_CITY, MUSIC_VIRIDIAN_CITY, 0, 1
+	map_header PewterNidoranSpeechHouse, $5, 3, PEWTER_CITY, MUSIC_VIRIDIAN_CITY, 1, 1
+	map_header PewterGym, $17, 3, PEWTER_CITY, MUSIC_GYM, 17, 1
+	map_header PewterMart, $c, 3, PEWTER_CITY, MUSIC_VIRIDIAN_CITY, 1, 1
+	map_header PewterPokeCenter1F, $7, 3, PEWTER_CITY, MUSIC_POKEMON_CENTER, 1, 1
+	map_header PewterPokeCEnter2FBeta, $7, 3, PEWTER_CITY, MUSIC_VIRIDIAN_CITY, 1, 1
+	map_header PewterSnoozeSpeechHouse, $5, 3, PEWTER_CITY, MUSIC_VIRIDIAN_CITY, 1, 1
 
-Route3_MapHeader: ; 0x94841
-	; bank, tileset, permission
-	db BANK(Route3_SecondMapHeader), $3, 2
 
-	; second map header
-	dw Route3_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db ROUTE_3, MUSIC_ROUTE_3, 0, 1
-; 0x9484a
-
-PewterCity_MapHeader: ; 0x9484a
-	; bank, tileset, permission
-	db BANK(PewterCity_SecondMapHeader), $3, 1
-
-	; second map header
-	dw PewterCity_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db PEWTER_CITY, MUSIC_VIRIDIAN_CITY, 0, 1
-; 0x94853
-
-PewterNidoranSpeechHouse_MapHeader: ; 0x94853
-	; bank, tileset, permission
-	db BANK(PewterNidoranSpeechHouse_SecondMapHeader), $5, 3
-
-	; second map header
-	dw PewterNidoranSpeechHouse_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db PEWTER_CITY, MUSIC_VIRIDIAN_CITY, 1, 1
-; 0x9485c
-
-PewterGym_MapHeader: ; 0x9485c
-	; bank, tileset, permission
-	db BANK(PewterGym_SecondMapHeader), $17, 3
-
-	; second map header
-	dw PewterGym_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db PEWTER_CITY, MUSIC_GYM, 17, 1
-; 0x94865
-
-PewterMart_MapHeader: ; 0x94865
-	; bank, tileset, permission
-	db BANK(PewterMart_SecondMapHeader), $c, 3
-
-	; second map header
-	dw PewterMart_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db PEWTER_CITY, MUSIC_VIRIDIAN_CITY, 1, 1
-; 0x9486e
-
-PewterPokeCenter1F_MapHeader: ; 0x9486e
-	; bank, tileset, permission
-	db BANK(PewterPokeCenter1F_SecondMapHeader), $7, 3
-
-	; second map header
-	dw PewterPokeCenter1F_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db PEWTER_CITY, MUSIC_POKEMON_CENTER, 1, 1
-; 0x94877
-
-PewterPokeCEnter2FBeta_MapHeader: ; 0x94877
-	; bank, tileset, permission
-	db BANK(PewterPokeCEnter2FBeta_SecondMapHeader), $7, 3
-
-	; second map header
-	dw PewterPokeCEnter2FBeta_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db PEWTER_CITY, MUSIC_VIRIDIAN_CITY, 1, 1
-; 0x94880
-
-PewterSnoozeSpeechHouse_MapHeader: ; 0x94880
-	; bank, tileset, permission
-	db BANK(PewterSnoozeSpeechHouse_SecondMapHeader), $5, 3
-
-	; second map header
-	dw PewterSnoozeSpeechHouse_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db PEWTER_CITY, MUSIC_VIRIDIAN_CITY, 1, 1
-; 0x94889
-
-
 MapGroup15:
+	map_header OlivinePort, $9, 2, OLIVINE_CITY, MUSIC_VIOLET_CITY, 0, 2
+	map_header VermilionPort, $9, 2, VERMILION_CITY, MUSIC_VERMILION_CITY, 0, 2
+	map_header FastShip1F, $13, 3, FAST_SHIP, MUSIC_SS_AQUA, 1, 1
+	map_header FastShipCabins_NNW_NNE_NE, $13, 3, FAST_SHIP, MUSIC_SS_AQUA, 1, 1
+	map_header FastShipCabins_SW_SSW_NW, $13, 3, FAST_SHIP, MUSIC_SS_AQUA, 1, 1
+	map_header FastShipCabins_SE_SSE_CaptainsCabin, $13, 3, FAST_SHIP, MUSIC_SS_AQUA, 1, 1
+	map_header FastShipB1F, $13, 3, FAST_SHIP, MUSIC_SS_AQUA, 1, 1
+	map_header OlivinePortPassage, $1c, 3, OLIVINE_CITY, MUSIC_VIOLET_CITY, 1, 1
+	map_header VermilionPortPassage, $1c, 3, VERMILION_CITY, MUSIC_VERMILION_CITY, 1, 1
+	map_header MountMoonSquare, $3, 2, MT_MOON, MUSIC_MT_MOON_SQUARE, 0, 1
+	map_header MountMoonGiftShop, $10, 3, MT_MOON, MUSIC_VIRIDIAN_CITY, 1, 1
+	map_header TinTowerRoof, $17, 2, TIN_TOWER, MUSIC_TIN_TOWER, 0, 1
 
-OlivinePort_MapHeader: ; 0x94889
-	; bank, tileset, permission
-	db BANK(OlivinePort_SecondMapHeader), $9, 2
 
-	; second map header
-	dw OlivinePort_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db OLIVINE_CITY, MUSIC_VIOLET_CITY, 0, 2
-; 0x94892
-
-VermilionPort_MapHeader: ; 0x94892
-	; bank, tileset, permission
-	db BANK(VermilionPort_SecondMapHeader), $9, 2
-
-	; second map header
-	dw VermilionPort_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db VERMILION_CITY, MUSIC_VERMILION_CITY, 0, 2
-; 0x9489b
-
-FastShip1F_MapHeader: ; 0x9489b
-	; bank, tileset, permission
-	db BANK(FastShip1F_SecondMapHeader), $13, 3
-
-	; second map header
-	dw FastShip1F_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db FAST_SHIP, MUSIC_SS_AQUA, 1, 1
-; 0x948a4
-
-FastShipCabins_NNW_NNE_NE_MapHeader: ; 0x948a4
-	; bank, tileset, permission
-	db BANK(FastShipCabins_NNW_NNE_NE_SecondMapHeader), $13, 3
-
-	; second map header
-	dw FastShipCabins_NNW_NNE_NE_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db FAST_SHIP, MUSIC_SS_AQUA, 1, 1
-; 0x948ad
-
-FastShipCabins_SW_SSW_NW_MapHeader: ; 0x948ad
-	; bank, tileset, permission
-	db BANK(FastShipCabins_SW_SSW_NW_SecondMapHeader), $13, 3
-
-	; second map header
-	dw FastShipCabins_SW_SSW_NW_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db FAST_SHIP, MUSIC_SS_AQUA, 1, 1
-; 0x948b6
-
-FastShipCabins_SE_SSE_CaptainsCabin_MapHeader: ; 0x948b6
-	; bank, tileset, permission
-	db BANK(FastShipCabins_SE_SSE_CaptainsCabin_SecondMapHeader), $13, 3
-
-	; second map header
-	dw FastShipCabins_SE_SSE_CaptainsCabin_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db FAST_SHIP, MUSIC_SS_AQUA, 1, 1
-; 0x948bf
-
-FastShipB1F_MapHeader: ; 0x948bf
-	; bank, tileset, permission
-	db BANK(FastShipB1F_SecondMapHeader), $13, 3
-
-	; second map header
-	dw FastShipB1F_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db FAST_SHIP, MUSIC_SS_AQUA, 1, 1
-; 0x948c8
-
-OlivinePortPassage_MapHeader: ; 0x948c8
-	; bank, tileset, permission
-	db BANK(OlivinePortPassage_SecondMapHeader), $1c, 3
-
-	; second map header
-	dw OlivinePortPassage_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db OLIVINE_CITY, MUSIC_VIOLET_CITY, 1, 1
-; 0x948d1
-
-VermilionPortPassage_MapHeader: ; 0x948d1
-	; bank, tileset, permission
-	db BANK(VermilionPortPassage_SecondMapHeader), $1c, 3
-
-	; second map header
-	dw VermilionPortPassage_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db VERMILION_CITY, MUSIC_VERMILION_CITY, 1, 1
-; 0x948da
-
-MountMoonSquare_MapHeader: ; 0x948da
-	; bank, tileset, permission
-	db BANK(MountMoonSquare_SecondMapHeader), $3, 2
-
-	; second map header
-	dw MountMoonSquare_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db MT_MOON, MUSIC_MT_MOON_SQUARE, 0, 1
-; 0x948e3
-
-MountMoonGiftShop_MapHeader: ; 0x948e3
-	; bank, tileset, permission
-	db BANK(MountMoonGiftShop_SecondMapHeader), $10, 3
-
-	; second map header
-	dw MountMoonGiftShop_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db MT_MOON, MUSIC_VIRIDIAN_CITY, 1, 1
-; 0x948ec
-
-TinTowerRoof_MapHeader: ; 0x948ec
-	; bank, tileset, permission
-	db BANK(TinTowerRoof_SecondMapHeader), $17, 2
-
-	; second map header
-	dw TinTowerRoof_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db TIN_TOWER, MUSIC_TIN_TOWER, 0, 1
-; 0x948f5
-
-
 MapGroup16:
+	map_header Route23, $3, 1, ROUTE_23, MUSIC_INDIGO_PLATEAU, 0, 1
+	map_header IndigoPlateauPokeCenter1F, $7, 3, INDIGO_PLATEAU, MUSIC_INDIGO_PLATEAU, 1, 1
+	map_header WillsRoom, $f, 3, INDIGO_PLATEAU, MUSIC_INDIGO_PLATEAU, 17, 1
+	map_header KogasRoom, $f, 3, INDIGO_PLATEAU, MUSIC_INDIGO_PLATEAU, 17, 1
+	map_header BrunosRoom, $f, 3, INDIGO_PLATEAU, MUSIC_INDIGO_PLATEAU, 17, 1
+	map_header KarensRoom, $f, 3, INDIGO_PLATEAU, MUSIC_INDIGO_PLATEAU, 17, 1
+	map_header LancesRoom, $12, 3, INDIGO_PLATEAU, MUSIC_INDIGO_PLATEAU, 17, 1
+	map_header HallOfFame, $1d, 3, INDIGO_PLATEAU, MUSIC_NEW_BARK_TOWN, 17, 1
 
-Route23_MapHeader: ; 0x948f5
-	; bank, tileset, permission
-	db BANK(Route23_SecondMapHeader), $3, 1
 
-	; second map header
-	dw Route23_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db ROUTE_23, MUSIC_INDIGO_PLATEAU, 0, 1
-; 0x948fe
-
-IndigoPlateauPokeCenter1F_MapHeader: ; 0x948fe
-	; bank, tileset, permission
-	db BANK(IndigoPlateauPokeCenter1F_SecondMapHeader), $7, 3
-
-	; second map header
-	dw IndigoPlateauPokeCenter1F_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db INDIGO_PLATEAU, MUSIC_INDIGO_PLATEAU, 1, 1
-; 0x94907
-
-WillsRoom_MapHeader: ; 0x94907
-	; bank, tileset, permission
-	db BANK(WillsRoom_SecondMapHeader), $f, 3
-
-	; second map header
-	dw WillsRoom_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db INDIGO_PLATEAU, MUSIC_INDIGO_PLATEAU, 17, 1
-; 0x94910
-
-KogasRoom_MapHeader: ; 0x94910
-	; bank, tileset, permission
-	db BANK(KogasRoom_SecondMapHeader), $f, 3
-
-	; second map header
-	dw KogasRoom_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db INDIGO_PLATEAU, MUSIC_INDIGO_PLATEAU, 17, 1
-; 0x94919
-
-BrunosRoom_MapHeader: ; 0x94919
-	; bank, tileset, permission
-	db BANK(BrunosRoom_SecondMapHeader), $f, 3
-
-	; second map header
-	dw BrunosRoom_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db INDIGO_PLATEAU, MUSIC_INDIGO_PLATEAU, 17, 1
-; 0x94922
-
-KarensRoom_MapHeader: ; 0x94922
-	; bank, tileset, permission
-	db BANK(KarensRoom_SecondMapHeader), $f, 3
-
-	; second map header
-	dw KarensRoom_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db INDIGO_PLATEAU, MUSIC_INDIGO_PLATEAU, 17, 1
-; 0x9492b
-
-LancesRoom_MapHeader: ; 0x9492b
-	; bank, tileset, permission
-	db BANK(LancesRoom_SecondMapHeader), $12, 3
-
-	; second map header
-	dw LancesRoom_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db INDIGO_PLATEAU, MUSIC_INDIGO_PLATEAU, 17, 1
-; 0x94934
-
-HallOfFame_MapHeader: ; 0x94934
-	; bank, tileset, permission
-	db BANK(HallOfFame_SecondMapHeader), $1d, 3
-
-	; second map header
-	dw HallOfFame_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db INDIGO_PLATEAU, MUSIC_NEW_BARK_TOWN, 17, 1
-; 0x9493d
-
-
 MapGroup17:
+	map_header Route13, $3, 2, ROUTE_13, MUSIC_ROUTE_12, 0, 13
+	map_header Route14, $3, 2, ROUTE_14, MUSIC_ROUTE_12, 0, 1
+	map_header Route15, $3, 2, ROUTE_15, MUSIC_ROUTE_12, 0, 1
+	map_header Route18, $3, 2, ROUTE_18, MUSIC_ROUTE_3, 0, 1
+	map_header FuchsiaCity, $3, 1, FUCHSIA_CITY, MUSIC_CELADON_CITY, 0, 8
+	map_header FuchsiaMart, $c, 3, FUCHSIA_CITY, MUSIC_CELADON_CITY, 1, 1
+	map_header SafariZoneMainOffice, $e, 3, FUCHSIA_CITY, MUSIC_CELADON_CITY, 1, 1
+	map_header FuchsiaGym, $a, 3, FUCHSIA_CITY, MUSIC_GYM, 17, 1
+	map_header FuchsiaBillSpeechHouse, $5, 3, FUCHSIA_CITY, MUSIC_CELADON_CITY, 1, 1
+	map_header FuchsiaPokeCenter1F, $7, 3, FUCHSIA_CITY, MUSIC_POKEMON_CENTER, 1, 1
+	map_header FuchsiaPokeCenter2FBeta, $7, 3, FUCHSIA_CITY, MUSIC_CELADON_CITY, 1, 1
+	map_header SafariZoneWardensHome, $5, 3, FUCHSIA_CITY, MUSIC_CELADON_CITY, 1, 1
+	map_header Route15FuchsiaGate, $8, 6, ROUTE_15, MUSIC_ROUTE_12, 1, 1
 
-Route13_MapHeader: ; 0x9493d
-	; bank, tileset, permission
-	db BANK(Route13_SecondMapHeader), $3, 2
 
-	; second map header
-	dw Route13_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db ROUTE_13, MUSIC_ROUTE_12, 0, 13
-; 0x94946
-
-Route14_MapHeader: ; 0x94946
-	; bank, tileset, permission
-	db BANK(Route14_SecondMapHeader), $3, 2
-
-	; second map header
-	dw Route14_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db ROUTE_14, MUSIC_ROUTE_12, 0, 1
-; 0x9494f
-
-Route15_MapHeader: ; 0x9494f
-	; bank, tileset, permission
-	db BANK(Route15_SecondMapHeader), $3, 2
-
-	; second map header
-	dw Route15_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db ROUTE_15, MUSIC_ROUTE_12, 0, 1
-; 0x94958
-
-Route18_MapHeader: ; 0x94958
-	; bank, tileset, permission
-	db BANK(Route18_SecondMapHeader), $3, 2
-
-	; second map header
-	dw Route18_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db ROUTE_18, MUSIC_ROUTE_3, 0, 1
-; 0x94961
-
-FuchsiaCity_MapHeader: ; 0x94961
-	; bank, tileset, permission
-	db BANK(FuchsiaCity_SecondMapHeader), $3, 1
-
-	; second map header
-	dw FuchsiaCity_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db FUCHSIA_CITY, MUSIC_CELADON_CITY, 0, 8
-; 0x9496a
-
-FuchsiaMart_MapHeader: ; 0x9496a
-	; bank, tileset, permission
-	db BANK(FuchsiaMart_SecondMapHeader), $c, 3
-
-	; second map header
-	dw FuchsiaMart_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db FUCHSIA_CITY, MUSIC_CELADON_CITY, 1, 1
-; 0x94973
-
-SafariZoneMainOffice_MapHeader: ; 0x94973
-	; bank, tileset, permission
-	db BANK(SafariZoneMainOffice_SecondMapHeader), $e, 3
-
-	; second map header
-	dw SafariZoneMainOffice_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db FUCHSIA_CITY, MUSIC_CELADON_CITY, 1, 1
-; 0x9497c
-
-FuchsiaGym_MapHeader: ; 0x9497c
-	; bank, tileset, permission
-	db BANK(FuchsiaGym_SecondMapHeader), $a, 3
-
-	; second map header
-	dw FuchsiaGym_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db FUCHSIA_CITY, MUSIC_GYM, 17, 1
-; 0x94985
-
-FuchsiaBillSpeechHouse_MapHeader: ; 0x94985
-	; bank, tileset, permission
-	db BANK(FuchsiaBillSpeechHouse_SecondMapHeader), $5, 3
-
-	; second map header
-	dw FuchsiaBillSpeechHouse_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db FUCHSIA_CITY, MUSIC_CELADON_CITY, 1, 1
-; 0x9498e
-
-FuchsiaPokeCenter1F_MapHeader: ; 0x9498e
-	; bank, tileset, permission
-	db BANK(FuchsiaPokeCenter1F_SecondMapHeader), $7, 3
-
-	; second map header
-	dw FuchsiaPokeCenter1F_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db FUCHSIA_CITY, MUSIC_POKEMON_CENTER, 1, 1
-; 0x94997
-
-FuchsiaPokeCenter2FBeta_MapHeader: ; 0x94997
-	; bank, tileset, permission
-	db BANK(FuchsiaPokeCenter2FBeta_SecondMapHeader), $7, 3
-
-	; second map header
-	dw FuchsiaPokeCenter2FBeta_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db FUCHSIA_CITY, MUSIC_CELADON_CITY, 1, 1
-; 0x949a0
-
-SafariZoneWardensHome_MapHeader: ; 0x949a0
-	; bank, tileset, permission
-	db BANK(SafariZoneWardensHome_SecondMapHeader), $5, 3
-
-	; second map header
-	dw SafariZoneWardensHome_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db FUCHSIA_CITY, MUSIC_CELADON_CITY, 1, 1
-; 0x949a9
-
-Route15FuchsiaGate_MapHeader: ; 0x949a9
-	; bank, tileset, permission
-	db BANK(Route15FuchsiaGate_SecondMapHeader), $8, 6
-
-	; second map header
-	dw Route15FuchsiaGate_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db ROUTE_15, MUSIC_ROUTE_12, 1, 1
-; 0x949b2
-
-
 MapGroup18:
+	map_header Route8, $3, 2, ROUTE_8, MUSIC_ROUTE_3, 0, 1
+	map_header Route12, $3, 2, ROUTE_12, MUSIC_ROUTE_12, 0, 13
+	map_header Route10South, $3, 2, ROUTE_10, MUSIC_ROUTE_3, 0, 3
+	map_header LavenderTown, $3, 1, LAVENDER_TOWN, MUSIC_LAVENDER_TOWN, 0, 1
+	map_header LavenderPokeCenter1F, $7, 3, LAVENDER_TOWN, MUSIC_POKEMON_CENTER, 1, 1
+	map_header LavenderPokeCenter2FBeta, $7, 3, LAVENDER_TOWN, MUSIC_POKEMON_CENTER, 1, 1
+	map_header MrFujisHouse, $5, 3, LAVENDER_TOWN, MUSIC_LAVENDER_TOWN, 1, 1
+	map_header LavenderTownSpeechHouse, $5, 3, LAVENDER_TOWN, MUSIC_LAVENDER_TOWN, 1, 1
+	map_header LavenderNameRater, $5, 3, LAVENDER_TOWN, MUSIC_LAVENDER_TOWN, 1, 1
+	map_header LavenderMart, $c, 3, LAVENDER_TOWN, MUSIC_LAVENDER_TOWN, 1, 1
+	map_header SoulHouse, $5, 3, LAVENDER_TOWN, MUSIC_LAVENDER_TOWN, 1, 1
+	map_header LavRadioTower1F, $1b, 3, LAV_RADIO_TOWER, MUSIC_LAVENDER_TOWN, 1, 1
+	map_header Route8SaffronGate, $8, 6, ROUTE_8, MUSIC_ROUTE_3, 1, 1
+	map_header Route12SuperRodHouse, $5, 3, ROUTE_12, MUSIC_VIRIDIAN_CITY, 1, 1
 
-Route8_MapHeader: ; 0x949b2
-	; bank, tileset, permission
-	db BANK(Route8_SecondMapHeader), $3, 2
 
-	; second map header
-	dw Route8_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db ROUTE_8, MUSIC_ROUTE_3, 0, 1
-; 0x949bb
-
-Route12_MapHeader: ; 0x949bb
-	; bank, tileset, permission
-	db BANK(Route12_SecondMapHeader), $3, 2
-
-	; second map header
-	dw Route12_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db ROUTE_12, MUSIC_ROUTE_12, 0, 13
-; 0x949c4
-
-Route10South_MapHeader: ; 0x949c4
-	; bank, tileset, permission
-	db BANK(Route10South_SecondMapHeader), $3, 2
-
-	; second map header
-	dw Route10South_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db ROUTE_10, MUSIC_ROUTE_3, 0, 3
-; 0x949cd
-
-LavenderTown_MapHeader: ; 0x949cd
-	; bank, tileset, permission
-	db BANK(LavenderTown_SecondMapHeader), $3, 1
-
-	; second map header
-	dw LavenderTown_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db LAVENDER_TOWN, MUSIC_LAVENDER_TOWN, 0, 1
-; 0x949d6
-
-LavenderPokeCenter1F_MapHeader: ; 0x949d6
-	; bank, tileset, permission
-	db BANK(LavenderPokeCenter1F_SecondMapHeader), $7, 3
-
-	; second map header
-	dw LavenderPokeCenter1F_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db LAVENDER_TOWN, MUSIC_POKEMON_CENTER, 1, 1
-; 0x949df
-
-LavenderPokeCenter2FBeta_MapHeader: ; 0x949df
-	; bank, tileset, permission
-	db BANK(LavenderPokeCenter2FBeta_SecondMapHeader), $7, 3
-
-	; second map header
-	dw LavenderPokeCenter2FBeta_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db LAVENDER_TOWN, MUSIC_POKEMON_CENTER, 1, 1
-; 0x949e8
-
-MrFujisHouse_MapHeader: ; 0x949e8
-	; bank, tileset, permission
-	db BANK(MrFujisHouse_SecondMapHeader), $5, 3
-
-	; second map header
-	dw MrFujisHouse_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db LAVENDER_TOWN, MUSIC_LAVENDER_TOWN, 1, 1
-; 0x949f1
-
-LavenderTownSpeechHouse_MapHeader: ; 0x949f1
-	; bank, tileset, permission
-	db BANK(LavenderTownSpeechHouse_SecondMapHeader), $5, 3
-
-	; second map header
-	dw LavenderTownSpeechHouse_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db LAVENDER_TOWN, MUSIC_LAVENDER_TOWN, 1, 1
-; 0x949fa
-
-LavenderNameRater_MapHeader: ; 0x949fa
-	; bank, tileset, permission
-	db BANK(LavenderNameRater_SecondMapHeader), $5, 3
-
-	; second map header
-	dw LavenderNameRater_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db LAVENDER_TOWN, MUSIC_LAVENDER_TOWN, 1, 1
-; 0x94a03
-
-LavenderMart_MapHeader: ; 0x94a03
-	; bank, tileset, permission
-	db BANK(LavenderMart_SecondMapHeader), $c, 3
-
-	; second map header
-	dw LavenderMart_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db LAVENDER_TOWN, MUSIC_LAVENDER_TOWN, 1, 1
-; 0x94a0c
-
-SoulHouse_MapHeader: ; 0x94a0c
-	; bank, tileset, permission
-	db BANK(SoulHouse_SecondMapHeader), $5, 3
-
-	; second map header
-	dw SoulHouse_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db LAVENDER_TOWN, MUSIC_LAVENDER_TOWN, 1, 1
-; 0x94a15
-
-LavRadioTower1F_MapHeader: ; 0x94a15
-	; bank, tileset, permission
-	db BANK(LavRadioTower1F_SecondMapHeader), $1b, 3
-
-	; second map header
-	dw LavRadioTower1F_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db LAV_RADIO_TOWER, MUSIC_LAVENDER_TOWN, 1, 1
-; 0x94a1e
-
-Route8SaffronGate_MapHeader: ; 0x94a1e
-	; bank, tileset, permission
-	db BANK(Route8SaffronGate_SecondMapHeader), $8, 6
-
-	; second map header
-	dw Route8SaffronGate_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db ROUTE_8, MUSIC_ROUTE_3, 1, 1
-; 0x94a27
-
-Route12SuperRodHouse_MapHeader: ; 0x94a27
-	; bank, tileset, permission
-	db BANK(Route12SuperRodHouse_SecondMapHeader), $5, 3
-
-	; second map header
-	dw Route12SuperRodHouse_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db ROUTE_12, MUSIC_VIRIDIAN_CITY, 1, 1
-; 0x94a30
-
-
 MapGroup19:
+	map_header Route28, $3, 2, ROUTE_28, MUSIC_INDIGO_PLATEAU, 0, 4
+	map_header SilverCaveOutside, $3, 1, SILVER_CAVE, MUSIC_INDIGO_PLATEAU, 0, 4
+	map_header SilverCavePokeCenter1F, $7, 3, SILVER_CAVE, MUSIC_POKEMON_CENTER, 1, 1
+	map_header Route28FamousSpeechHouse, $5, 3, ROUTE_28, MUSIC_AZALEA_TOWN, 1, 1
 
-Route28_MapHeader: ; 0x94a30
-	; bank, tileset, permission
-	db BANK(Route28_SecondMapHeader), $3, 2
 
-	; second map header
-	dw Route28_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db ROUTE_28, MUSIC_INDIGO_PLATEAU, 0, 4
-; 0x94a39
-
-SilverCaveOutside_MapHeader: ; 0x94a39
-	; bank, tileset, permission
-	db BANK(SilverCaveOutside_SecondMapHeader), $3, 1
-
-	; second map header
-	dw SilverCaveOutside_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db SILVER_CAVE, MUSIC_INDIGO_PLATEAU, 0, 4
-; 0x94a42
-
-SilverCavePokeCenter1F_MapHeader: ; 0x94a42
-	; bank, tileset, permission
-	db BANK(SilverCavePokeCenter1F_SecondMapHeader), $7, 3
-
-	; second map header
-	dw SilverCavePokeCenter1F_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db SILVER_CAVE, MUSIC_POKEMON_CENTER, 1, 1
-; 0x94a4b
-
-Route28FamousSpeechHouse_MapHeader: ; 0x94a4b
-	; bank, tileset, permission
-	db BANK(Route28FamousSpeechHouse_SecondMapHeader), $5, 3
-
-	; second map header
-	dw Route28FamousSpeechHouse_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db ROUTE_28, MUSIC_AZALEA_TOWN, 1, 1
-; 0x94a54
-
-
 MapGroup20:
+	map_header PokeCenter2F, $7, 3, SPECIAL_MAP, MUSIC_POKEMON_CENTER, 17, 1
+	map_header TradeCenter, $8, 3, SPECIAL_MAP, MUSIC_CHERRYGROVE_CITY, 17, 1
+	map_header Colosseum, $8, 3, SPECIAL_MAP, MUSIC_CHERRYGROVE_CITY, 17, 1
+	map_header TimeCapsule, $8, 3, SPECIAL_MAP, MUSIC_CHERRYGROVE_CITY, 17, 1
+	map_header MobileTradeRoomMobile, $d, 3, SPECIAL_MAP, MUSIC_CHERRYGROVE_CITY, 17, 1
+	map_header MobileBattleRoom, $d, 3, SPECIAL_MAP, MUSIC_CHERRYGROVE_CITY, 17, 1
 
-PokeCenter2F_MapHeader: ; 0x94a54
-	; bank, tileset, permission
-	db BANK(PokeCenter2F_SecondMapHeader), $7, 3
 
-	; second map header
-	dw PokeCenter2F_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db SPECIAL_MAP, MUSIC_POKEMON_CENTER, 17, 1
-; 0x94a5d
-
-TradeCenter_MapHeader: ; 0x94a5d
-	; bank, tileset, permission
-	db BANK(TradeCenter_SecondMapHeader), $8, 3
-
-	; second map header
-	dw TradeCenter_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db SPECIAL_MAP, MUSIC_CHERRYGROVE_CITY, 17, 1
-; 0x94a66
-
-Colosseum_MapHeader: ; 0x94a66
-	; bank, tileset, permission
-	db BANK(Colosseum_SecondMapHeader), $8, 3
-
-	; second map header
-	dw Colosseum_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db SPECIAL_MAP, MUSIC_CHERRYGROVE_CITY, 17, 1
-; 0x94a6f
-
-TimeCapsule_MapHeader: ; 0x94a6f
-	; bank, tileset, permission
-	db BANK(TimeCapsule_SecondMapHeader), $8, 3
-
-	; second map header
-	dw TimeCapsule_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db SPECIAL_MAP, MUSIC_CHERRYGROVE_CITY, 17, 1
-; 0x94a78
-
-MobileTradeRoomMobile_MapHeader: ; 0x94a78
-	; bank, tileset, permission
-	db BANK(MobileTradeRoomMobile_SecondMapHeader), $d, 3
-
-	; second map header
-	dw MobileTradeRoomMobile_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db SPECIAL_MAP, MUSIC_CHERRYGROVE_CITY, 17, 1
-; 0x94a81
-
-MobileBattleRoom_MapHeader: ; 0x94a81
-	; bank, tileset, permission
-	db BANK(MobileBattleRoom_SecondMapHeader), $d, 3
-
-	; second map header
-	dw MobileBattleRoom_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db SPECIAL_MAP, MUSIC_CHERRYGROVE_CITY, 17, 1
-; 0x94a8a
-
-
 MapGroup21:
+	map_header Route7, $3, 2, ROUTE_7, MUSIC_ROUTE_3, 0, 1
+	map_header Route16, $3, 2, ROUTE_16, MUSIC_ROUTE_3, 0, 1
+	map_header Route17, $3, 2, ROUTE_17, MUSIC_ROUTE_3, 0, 0
+	map_header CeladonCity, $3, 1, CELADON_CITY, MUSIC_CELADON_CITY, 0, 0
+	map_header CeladonDeptStore1F, $c, 3, CELADON_CITY, MUSIC_CELADON_CITY, 1, 1
+	map_header CeladonDeptStore2F, $c, 3, CELADON_CITY, MUSIC_CELADON_CITY, 1, 1
+	map_header CeladonDeptStore3F, $c, 3, CELADON_CITY, MUSIC_CELADON_CITY, 1, 1
+	map_header CeladonDeptStore4F, $c, 3, CELADON_CITY, MUSIC_CELADON_CITY, 1, 1
+	map_header CeladonDeptStore5F, $c, 3, CELADON_CITY, MUSIC_CELADON_CITY, 1, 1
+	map_header CeladonDeptStore6F, $c, 3, CELADON_CITY, MUSIC_CELADON_CITY, 1, 1
+	map_header CeladonDeptStoreElevator, $c, 3, CELADON_CITY, MUSIC_CELADON_CITY, 1, 1
+	map_header CeladonMansion1F, $d, 3, CELADON_CITY, MUSIC_CELADON_CITY, 1, 1
+	map_header CeladonMansion2F, $d, 3, CELADON_CITY, MUSIC_CELADON_CITY, 1, 1
+	map_header CeladonMansion3F, $d, 3, CELADON_CITY, MUSIC_CELADON_CITY, 1, 1
+	map_header CeladonMansionRoof, $d, 3, CELADON_CITY, MUSIC_CELADON_CITY, 1, 1
+	map_header CeladonMansionRoofHouse, $5, 3, CELADON_CITY, MUSIC_CELADON_CITY, 1, 1
+	map_header CeladonPokeCenter1F, $7, 3, CELADON_CITY, MUSIC_POKEMON_CENTER, 1, 1
+	map_header CeladonPokeCenter2FBeta, $7, 3, CELADON_CITY, MUSIC_CELADON_CITY, 1, 1
+	map_header CeladonGameCorner, $e, 3, CELADON_CITY, MUSIC_GAME_CORNER, 1, 1
+	map_header CeladonGameCornerPrizeRoom, $e, 3, CELADON_CITY, MUSIC_CELADON_CITY, 1, 1
+	map_header CeladonGym, $11, 3, CELADON_CITY, MUSIC_GYM, 17, 1
+	map_header CeladonCafe, $e, 3, CELADON_CITY, MUSIC_CELADON_CITY, 1, 1
+	map_header Route16FuchsiaSpeechHouse, $5, 3, ROUTE_16, MUSIC_CELADON_CITY, 1, 1
+	map_header Route16Gate, $8, 6, ROUTE_16, MUSIC_ROUTE_3, 1, 1
+	map_header Route7SaffronGate, $8, 6, ROUTE_7, MUSIC_ROUTE_3, 1, 1
+	map_header Route1718Gate, $8, 6, ROUTE_17, MUSIC_ROUTE_3, 1, 1
 
-Route7_MapHeader: ; 0x94a8a
-	; bank, tileset, permission
-	db BANK(Route7_SecondMapHeader), $3, 2
 
-	; second map header
-	dw Route7_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db ROUTE_7, MUSIC_ROUTE_3, 0, 1
-; 0x94a93
-
-Route16_MapHeader: ; 0x94a93
-	; bank, tileset, permission
-	db BANK(Route16_SecondMapHeader), $3, 2
-
-	; second map header
-	dw Route16_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db ROUTE_16, MUSIC_ROUTE_3, 0, 1
-; 0x94a9c
-
-Route17_MapHeader: ; 0x94a9c
-	; bank, tileset, permission
-	db BANK(Route17_SecondMapHeader), $3, 2
-
-	; second map header
-	dw Route17_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db ROUTE_17, MUSIC_ROUTE_3, 0, 0
-; 0x94aa5
-
-CeladonCity_MapHeader: ; 0x94aa5
-	; bank, tileset, permission
-	db BANK(CeladonCity_SecondMapHeader), $3, 1
-
-	; second map header
-	dw CeladonCity_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db CELADON_CITY, MUSIC_CELADON_CITY, 0, 0
-; 0x94aae
-
-CeladonDeptStore1F_MapHeader: ; 0x94aae
-	; bank, tileset, permission
-	db BANK(CeladonDeptStore1F_SecondMapHeader), $c, 3
-
-	; second map header
-	dw CeladonDeptStore1F_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db CELADON_CITY, MUSIC_CELADON_CITY, 1, 1
-; 0x94ab7
-
-CeladonDeptStore2F_MapHeader: ; 0x94ab7
-	; bank, tileset, permission
-	db BANK(CeladonDeptStore2F_SecondMapHeader), $c, 3
-
-	; second map header
-	dw CeladonDeptStore2F_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db CELADON_CITY, MUSIC_CELADON_CITY, 1, 1
-; 0x94ac0
-
-CeladonDeptStore3F_MapHeader: ; 0x94ac0
-	; bank, tileset, permission
-	db BANK(CeladonDeptStore3F_SecondMapHeader), $c, 3
-
-	; second map header
-	dw CeladonDeptStore3F_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db CELADON_CITY, MUSIC_CELADON_CITY, 1, 1
-; 0x94ac9
-
-CeladonDeptStore4F_MapHeader: ; 0x94ac9
-	; bank, tileset, permission
-	db BANK(CeladonDeptStore4F_SecondMapHeader), $c, 3
-
-	; second map header
-	dw CeladonDeptStore4F_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db CELADON_CITY, MUSIC_CELADON_CITY, 1, 1
-; 0x94ad2
-
-CeladonDeptStore5F_MapHeader: ; 0x94ad2
-	; bank, tileset, permission
-	db BANK(CeladonDeptStore5F_SecondMapHeader), $c, 3
-
-	; second map header
-	dw CeladonDeptStore5F_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db CELADON_CITY, MUSIC_CELADON_CITY, 1, 1
-; 0x94adb
-
-CeladonDeptStore6F_MapHeader: ; 0x94adb
-	; bank, tileset, permission
-	db BANK(CeladonDeptStore6F_SecondMapHeader), $c, 3
-
-	; second map header
-	dw CeladonDeptStore6F_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db CELADON_CITY, MUSIC_CELADON_CITY, 1, 1
-; 0x94ae4
-
-CeladonDeptStoreElevator_MapHeader: ; 0x94ae4
-	; bank, tileset, permission
-	db BANK(CeladonDeptStoreElevator_SecondMapHeader), $c, 3
-
-	; second map header
-	dw CeladonDeptStoreElevator_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db CELADON_CITY, MUSIC_CELADON_CITY, 1, 1
-; 0x94aed
-
-CeladonMansion1F_MapHeader: ; 0x94aed
-	; bank, tileset, permission
-	db BANK(CeladonMansion1F_SecondMapHeader), $d, 3
-
-	; second map header
-	dw CeladonMansion1F_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db CELADON_CITY, MUSIC_CELADON_CITY, 1, 1
-; 0x94af6
-
-CeladonMansion2F_MapHeader: ; 0x94af6
-	; bank, tileset, permission
-	db BANK(CeladonMansion2F_SecondMapHeader), $d, 3
-
-	; second map header
-	dw CeladonMansion2F_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db CELADON_CITY, MUSIC_CELADON_CITY, 1, 1
-; 0x94aff
-
-CeladonMansion3F_MapHeader: ; 0x94aff
-	; bank, tileset, permission
-	db BANK(CeladonMansion3F_SecondMapHeader), $d, 3
-
-	; second map header
-	dw CeladonMansion3F_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db CELADON_CITY, MUSIC_CELADON_CITY, 1, 1
-; 0x94b08
-
-CeladonMansionRoof_MapHeader: ; 0x94b08
-	; bank, tileset, permission
-	db BANK(CeladonMansionRoof_SecondMapHeader), $d, 3
-
-	; second map header
-	dw CeladonMansionRoof_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db CELADON_CITY, MUSIC_CELADON_CITY, 1, 1
-; 0x94b11
-
-CeladonMansionRoofHouse_MapHeader: ; 0x94b11
-	; bank, tileset, permission
-	db BANK(CeladonMansionRoofHouse_SecondMapHeader), $5, 3
-
-	; second map header
-	dw CeladonMansionRoofHouse_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db CELADON_CITY, MUSIC_CELADON_CITY, 1, 1
-; 0x94b1a
-
-CeladonPokeCenter1F_MapHeader: ; 0x94b1a
-	; bank, tileset, permission
-	db BANK(CeladonPokeCenter1F_SecondMapHeader), $7, 3
-
-	; second map header
-	dw CeladonPokeCenter1F_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db CELADON_CITY, MUSIC_POKEMON_CENTER, 1, 1
-; 0x94b23
-
-CeladonPokeCenter2FBeta_MapHeader: ; 0x94b23
-	; bank, tileset, permission
-	db BANK(CeladonPokeCenter2FBeta_SecondMapHeader), $7, 3
-
-	; second map header
-	dw CeladonPokeCenter2FBeta_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db CELADON_CITY, MUSIC_CELADON_CITY, 1, 1
-; 0x94b2c
-
-CeladonGameCorner_MapHeader: ; 0x94b2c
-	; bank, tileset, permission
-	db BANK(CeladonGameCorner_SecondMapHeader), $e, 3
-
-	; second map header
-	dw CeladonGameCorner_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db CELADON_CITY, MUSIC_GAME_CORNER, 1, 1
-; 0x94b35
-
-CeladonGameCornerPrizeRoom_MapHeader: ; 0x94b35
-	; bank, tileset, permission
-	db BANK(CeladonGameCornerPrizeRoom_SecondMapHeader), $e, 3
-
-	; second map header
-	dw CeladonGameCornerPrizeRoom_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db CELADON_CITY, MUSIC_CELADON_CITY, 1, 1
-; 0x94b3e
-
-CeladonGym_MapHeader: ; 0x94b3e
-	; bank, tileset, permission
-	db BANK(CeladonGym_SecondMapHeader), $11, 3
-
-	; second map header
-	dw CeladonGym_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db CELADON_CITY, MUSIC_GYM, 17, 1
-; 0x94b47
-
-CeladonCafe_MapHeader: ; 0x94b47
-	; bank, tileset, permission
-	db BANK(CeladonCafe_SecondMapHeader), $e, 3
-
-	; second map header
-	dw CeladonCafe_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db CELADON_CITY, MUSIC_CELADON_CITY, 1, 1
-; 0x94b50
-
-Route16FuchsiaSpeechHouse_MapHeader: ; 0x94b50
-	; bank, tileset, permission
-	db BANK(Route16FuchsiaSpeechHouse_SecondMapHeader), $5, 3
-
-	; second map header
-	dw Route16FuchsiaSpeechHouse_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db ROUTE_16, MUSIC_CELADON_CITY, 1, 1
-; 0x94b59
-
-Route16Gate_MapHeader: ; 0x94b59
-	; bank, tileset, permission
-	db BANK(Route16Gate_SecondMapHeader), $8, 6
-
-	; second map header
-	dw Route16Gate_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db ROUTE_16, MUSIC_ROUTE_3, 1, 1
-; 0x94b62
-
-Route7SaffronGate_MapHeader: ; 0x94b62
-	; bank, tileset, permission
-	db BANK(Route7SaffronGate_SecondMapHeader), $8, 6
-
-	; second map header
-	dw Route7SaffronGate_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db ROUTE_7, MUSIC_ROUTE_3, 1, 1
-; 0x94b6b
-
-Route1718Gate_MapHeader: ; 0x94b6b
-	; bank, tileset, permission
-	db BANK(Route1718Gate_SecondMapHeader), $8, 6
-
-	; second map header
-	dw Route1718Gate_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db ROUTE_17, MUSIC_ROUTE_3, 1, 1
-; 0x94b74
-
-
 MapGroup22:
+	map_header Route40, $1, 2, ROUTE_40, MUSIC_ROUTE_36, 0, 1
+	map_header Route41, $1, 2, ROUTE_41, MUSIC_ROUTE_36, 0, 2
+	map_header CianwoodCity, $1, 1, CIANWOOD_CITY, MUSIC_ECRUTEAK_CITY, 0, 1
+	map_header ManiasHouse, $5, 3, CIANWOOD_CITY, MUSIC_ECRUTEAK_CITY, 1, 1
+	map_header CianwoodGym, $17, 3, CIANWOOD_CITY, MUSIC_GYM, 17, 1
+	map_header CianwoodPokeCenter1F, $7, 3, CIANWOOD_CITY, MUSIC_POKEMON_CENTER, 1, 1
+	map_header CianwoodPharmacy, $5, 3, CIANWOOD_CITY, MUSIC_ECRUTEAK_CITY, 1, 1
+	map_header CianwoodCityPhotoStudio, $5, 3, CIANWOOD_CITY, MUSIC_ECRUTEAK_CITY, 1, 1
+	map_header CianwoodLugiaSpeechHouse, $5, 3, CIANWOOD_CITY, MUSIC_ECRUTEAK_CITY, 1, 1
+	map_header PokeSeersHouse, $5, 3, CIANWOOD_CITY, MUSIC_ECRUTEAK_CITY, 1, 1
+	map_header BattleTower1F, $16, 3, BATTLE_TOWER, MUSIC_BATTLE_TOWER_LOBBY, 17, 1
+	map_header BattleTowerBattleRoom, $16, 3, BATTLE_TOWER, MUSIC_BATTLE_TOWER_THEME, 17, 1
+	map_header BattleTowerElevator, $16, 3, BATTLE_TOWER, MUSIC_NONE, 17, 1
+	map_header BattleTowerHallway, $16, 3, BATTLE_TOWER, MUSIC_BATTLE_TOWER_THEME, 17, 1
+	map_header Route40BattleTowerGate, $8, 6, BATTLE_TOWER, MUSIC_ROUTE_36, 1, 1
+	map_header BattleTowerOutside, $4, 2, BATTLE_TOWER, MUSIC_BATTLE_TOWER_THEME, 0, 1
 
-Route40_MapHeader: ; 0x94b74
-	; bank, tileset, permission
-	db BANK(Route40_SecondMapHeader), $1, 2
 
-	; second map header
-	dw Route40_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db ROUTE_40, MUSIC_ROUTE_36, 0, 1
-; 0x94b7d
-
-Route41_MapHeader: ; 0x94b7d
-	; bank, tileset, permission
-	db BANK(Route41_SecondMapHeader), $1, 2
-
-	; second map header
-	dw Route41_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db ROUTE_41, MUSIC_ROUTE_36, 0, 2
-; 0x94b86
-
-CianwoodCity_MapHeader: ; 0x94b86
-	; bank, tileset, permission
-	db BANK(CianwoodCity_SecondMapHeader), $1, 1
-
-	; second map header
-	dw CianwoodCity_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db CIANWOOD_CITY, MUSIC_ECRUTEAK_CITY, 0, 1
-; 0x94b8f
-
-ManiasHouse_MapHeader: ; 0x94b8f
-	; bank, tileset, permission
-	db BANK(ManiasHouse_SecondMapHeader), $5, 3
-
-	; second map header
-	dw ManiasHouse_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db CIANWOOD_CITY, MUSIC_ECRUTEAK_CITY, 1, 1
-; 0x94b98
-
-CianwoodGym_MapHeader: ; 0x94b98
-	; bank, tileset, permission
-	db BANK(CianwoodGym_SecondMapHeader), $17, 3
-
-	; second map header
-	dw CianwoodGym_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db CIANWOOD_CITY, MUSIC_GYM, 17, 1
-; 0x94ba1
-
-CianwoodPokeCenter1F_MapHeader: ; 0x94ba1
-	; bank, tileset, permission
-	db BANK(CianwoodPokeCenter1F_SecondMapHeader), $7, 3
-
-	; second map header
-	dw CianwoodPokeCenter1F_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db CIANWOOD_CITY, MUSIC_POKEMON_CENTER, 1, 1
-; 0x94baa
-
-CianwoodPharmacy_MapHeader: ; 0x94baa
-	; bank, tileset, permission
-	db BANK(CianwoodPharmacy_SecondMapHeader), $5, 3
-
-	; second map header
-	dw CianwoodPharmacy_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db CIANWOOD_CITY, MUSIC_ECRUTEAK_CITY, 1, 1
-; 0x94bb3
-
-CianwoodCityPhotoStudio_MapHeader: ; 0x94bb3
-	; bank, tileset, permission
-	db BANK(CianwoodCityPhotoStudio_SecondMapHeader), $5, 3
-
-	; second map header
-	dw CianwoodCityPhotoStudio_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db CIANWOOD_CITY, MUSIC_ECRUTEAK_CITY, 1, 1
-; 0x94bbc
-
-CianwoodLugiaSpeechHouse_MapHeader: ; 0x94bbc
-	; bank, tileset, permission
-	db BANK(CianwoodLugiaSpeechHouse_SecondMapHeader), $5, 3
-
-	; second map header
-	dw CianwoodLugiaSpeechHouse_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db CIANWOOD_CITY, MUSIC_ECRUTEAK_CITY, 1, 1
-; 0x94bc5
-
-PokeSeersHouse_MapHeader: ; 0x94bc5
-	; bank, tileset, permission
-	db BANK(PokeSeersHouse_SecondMapHeader), $5, 3
-
-	; second map header
-	dw PokeSeersHouse_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db CIANWOOD_CITY, MUSIC_ECRUTEAK_CITY, 1, 1
-; 0x94bce
-
-BattleTower1F_MapHeader: ; 0x94bce
-	; bank, tileset, permission
-	db BANK(BattleTower1F_SecondMapHeader), $16, 3
-
-	; second map header
-	dw BattleTower1F_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db BATTLE_TOWER, MUSIC_BATTLE_TOWER_LOBBY, 17, 1
-; 0x94bd7
-
-BattleTowerBattleRoom_MapHeader: ; 0x94bd7
-	; bank, tileset, permission
-	db BANK(BattleTowerBattleRoom_SecondMapHeader), $16, 3
-
-	; second map header
-	dw BattleTowerBattleRoom_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db BATTLE_TOWER, MUSIC_BATTLE_TOWER_THEME, 17, 1
-; 0x94be0
-
-BattleTowerElevator_MapHeader: ; 0x94be0
-	; bank, tileset, permission
-	db BANK(BattleTowerElevator_SecondMapHeader), $16, 3
-
-	; second map header
-	dw BattleTowerElevator_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db BATTLE_TOWER, MUSIC_NONE, 17, 1
-; 0x94be9
-
-BattleTowerHallway_MapHeader: ; 0x94be9
-	; bank, tileset, permission
-	db BANK(BattleTowerHallway_SecondMapHeader), $16, 3
-
-	; second map header
-	dw BattleTowerHallway_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db BATTLE_TOWER, MUSIC_BATTLE_TOWER_THEME, 17, 1
-; 0x94bf2
-
-Route40BattleTowerGate_MapHeader: ; 0x94bf2
-	; bank, tileset, permission
-	db BANK(Route40BattleTowerGate_SecondMapHeader), $8, 6
-
-	; second map header
-	dw Route40BattleTowerGate_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db BATTLE_TOWER, MUSIC_ROUTE_36, 1, 1
-; 0x94bfb
-
-BattleTowerOutside_MapHeader: ; 0x94bfb
-	; bank, tileset, permission
-	db BANK(BattleTowerOutside_SecondMapHeader), $4, 2
-
-	; second map header
-	dw BattleTowerOutside_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db BATTLE_TOWER, MUSIC_BATTLE_TOWER_THEME, 0, 1
-; 0x94c04
-
-
 MapGroup23:
+	map_header Route2, $3, 2, ROUTE_2, MUSIC_ROUTE_2, 0, 1
+	map_header Route22, $3, 2, ROUTE_22, MUSIC_ROUTE_3, 0, 4
+	map_header ViridianCity, $3, 1, VIRIDIAN_CITY, MUSIC_VIRIDIAN_CITY, 0, 4
+	map_header ViridianGym, $11, 3, VIRIDIAN_CITY, MUSIC_GYM, 17, 1
+	map_header ViridianNicknameSpeechHouse, $5, 3, VIRIDIAN_CITY, MUSIC_VIRIDIAN_CITY, 1, 1
+	map_header TrainerHouse1F, $5, 3, VIRIDIAN_CITY, MUSIC_VIRIDIAN_CITY, 1, 1
+	map_header TrainerHouseB1F, $b, 3, VIRIDIAN_CITY, MUSIC_VIRIDIAN_CITY, 1, 1
+	map_header ViridianMart, $c, 3, VIRIDIAN_CITY, MUSIC_VIRIDIAN_CITY, 1, 1
+	map_header ViridianPokeCenter1F, $7, 3, VIRIDIAN_CITY, MUSIC_POKEMON_CENTER, 1, 1
+	map_header ViridianPokeCenter2FBeta, $7, 3, VIRIDIAN_CITY, MUSIC_VIRIDIAN_CITY, 1, 1
+	map_header Route2NuggetSpeechHouse, $5, 3, ROUTE_2, MUSIC_VIRIDIAN_CITY, 1, 1
+	map_header Route2Gate, $8, 6, ROUTE_2, MUSIC_ROUTE_2, 1, 1
+	map_header VictoryRoadGate, $8, 6, ROUTE_26, MUSIC_INDIGO_PLATEAU, 1, 1
 
-Route2_MapHeader: ; 0x94c04
-	; bank, tileset, permission
-	db BANK(Route2_SecondMapHeader), $3, 2
 
-	; second map header
-	dw Route2_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db ROUTE_2, MUSIC_ROUTE_2, 0, 1
-; 0x94c0d
-
-Route22_MapHeader: ; 0x94c0d
-	; bank, tileset, permission
-	db BANK(Route22_SecondMapHeader), $3, 2
-
-	; second map header
-	dw Route22_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db ROUTE_22, MUSIC_ROUTE_3, 0, 4
-; 0x94c16
-
-ViridianCity_MapHeader: ; 0x94c16
-	; bank, tileset, permission
-	db BANK(ViridianCity_SecondMapHeader), $3, 1
-
-	; second map header
-	dw ViridianCity_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db VIRIDIAN_CITY, MUSIC_VIRIDIAN_CITY, 0, 4
-; 0x94c1f
-
-ViridianGym_MapHeader: ; 0x94c1f
-	; bank, tileset, permission
-	db BANK(ViridianGym_SecondMapHeader), $11, 3
-
-	; second map header
-	dw ViridianGym_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db VIRIDIAN_CITY, MUSIC_GYM, 17, 1
-; 0x94c28
-
-ViridianNicknameSpeechHouse_MapHeader: ; 0x94c28
-	; bank, tileset, permission
-	db BANK(ViridianNicknameSpeechHouse_SecondMapHeader), $5, 3
-
-	; second map header
-	dw ViridianNicknameSpeechHouse_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db VIRIDIAN_CITY, MUSIC_VIRIDIAN_CITY, 1, 1
-; 0x94c31
-
-TrainerHouse1F_MapHeader: ; 0x94c31
-	; bank, tileset, permission
-	db BANK(TrainerHouse1F_SecondMapHeader), $5, 3
-
-	; second map header
-	dw TrainerHouse1F_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db VIRIDIAN_CITY, MUSIC_VIRIDIAN_CITY, 1, 1
-; 0x94c3a
-
-TrainerHouseB1F_MapHeader: ; 0x94c3a
-	; bank, tileset, permission
-	db BANK(TrainerHouseB1F_SecondMapHeader), $b, 3
-
-	; second map header
-	dw TrainerHouseB1F_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db VIRIDIAN_CITY, MUSIC_VIRIDIAN_CITY, 1, 1
-; 0x94c43
-
-ViridianMart_MapHeader: ; 0x94c43
-	; bank, tileset, permission
-	db BANK(ViridianMart_SecondMapHeader), $c, 3
-
-	; second map header
-	dw ViridianMart_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db VIRIDIAN_CITY, MUSIC_VIRIDIAN_CITY, 1, 1
-; 0x94c4c
-
-ViridianPokeCenter1F_MapHeader: ; 0x94c4c
-	; bank, tileset, permission
-	db BANK(ViridianPokeCenter1F_SecondMapHeader), $7, 3
-
-	; second map header
-	dw ViridianPokeCenter1F_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db VIRIDIAN_CITY, MUSIC_POKEMON_CENTER, 1, 1
-; 0x94c55
-
-ViridianPokeCenter2FBeta_MapHeader: ; 0x94c55
-	; bank, tileset, permission
-	db BANK(ViridianPokeCenter2FBeta_SecondMapHeader), $7, 3
-
-	; second map header
-	dw ViridianPokeCenter2FBeta_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db VIRIDIAN_CITY, MUSIC_VIRIDIAN_CITY, 1, 1
-; 0x94c5e
-
-Route2NuggetSpeechHouse_MapHeader: ; 0x94c5e
-	; bank, tileset, permission
-	db BANK(Route2NuggetSpeechHouse_SecondMapHeader), $5, 3
-
-	; second map header
-	dw Route2NuggetSpeechHouse_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db ROUTE_2, MUSIC_VIRIDIAN_CITY, 1, 1
-; 0x94c67
-
-Route2Gate_MapHeader: ; 0x94c67
-	; bank, tileset, permission
-	db BANK(Route2Gate_SecondMapHeader), $8, 6
-
-	; second map header
-	dw Route2Gate_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db ROUTE_2, MUSIC_ROUTE_2, 1, 1
-; 0x94c70
-
-VictoryRoadGate_MapHeader: ; 0x94c70
-	; bank, tileset, permission
-	db BANK(VictoryRoadGate_SecondMapHeader), $8, 6
-
-	; second map header
-	dw VictoryRoadGate_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db ROUTE_26, MUSIC_INDIGO_PLATEAU, 1, 1
-; 0x94c79
-
-
 MapGroup24:
+	map_header Route26, $1, 2, ROUTE_26, MUSIC_ROUTE_26, 0, 2
+	map_header Route27, $1, 2, ROUTE_27, MUSIC_ROUTE_26, 0, 2
+	map_header Route29, $1, 2, ROUTE_29, MUSIC_ROUTE_29, 0, 1
+	map_header NewBarkTown, $1, 1, NEW_BARK_TOWN, MUSIC_NEW_BARK_TOWN, 0, 2
+	map_header ElmsLab, $a, 3, NEW_BARK_TOWN, MUSIC_PROF_ELM, 1, 1
+	map_header KrissHouse1F, $6, 3, NEW_BARK_TOWN, MUSIC_NEW_BARK_TOWN, 1, 1
+	map_header KrissHouse2F, $14, 3, NEW_BARK_TOWN, MUSIC_NEW_BARK_TOWN, 1, 1
+	map_header KrissNeighborsHouse, $5, 3, NEW_BARK_TOWN, MUSIC_NEW_BARK_TOWN, 1, 1
+	map_header ElmsHouse, $6, 3, NEW_BARK_TOWN, MUSIC_NEW_BARK_TOWN, 1, 1
+	map_header Route26HealSpeechHouse, $5, 3, ROUTE_26, MUSIC_AZALEA_TOWN, 1, 1
+	map_header Route26DayofWeekSiblingsHouse, $5, 3, ROUTE_26, MUSIC_AZALEA_TOWN, 1, 1
+	map_header Route27SandstormHouse, $5, 3, ROUTE_27, MUSIC_AZALEA_TOWN, 1, 1
+	map_header Route2946Gate, $8, 6, ROUTE_29, MUSIC_ROUTE_29, 1, 1
 
-Route26_MapHeader: ; 0x94c79
-	; bank, tileset, permission
-	db BANK(Route26_SecondMapHeader), $1, 2
 
-	; second map header
-	dw Route26_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db ROUTE_26, MUSIC_ROUTE_26, 0, 2
-; 0x94c82
-
-Route27_MapHeader: ; 0x94c82
-	; bank, tileset, permission
-	db BANK(Route27_SecondMapHeader), $1, 2
-
-	; second map header
-	dw Route27_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db ROUTE_27, MUSIC_ROUTE_26, 0, 2
-; 0x94c8b
-
-Route29_MapHeader: ; 0x94c8b
-	; bank, tileset, permission
-	db BANK(Route29_SecondMapHeader), $1, 2
-
-	; second map header
-	dw Route29_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db ROUTE_29, MUSIC_ROUTE_29, 0, 1
-; 0x94c94
-
-NewBarkTown_MapHeader: ; 0x94c94
-	; bank, tileset, permission
-	db BANK(NewBarkTown_SecondMapHeader), $1, 1
-
-	; second map header
-	dw NewBarkTown_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db NEW_BARK_TOWN, MUSIC_NEW_BARK_TOWN, 0, 2
-; 0x94c9d
-
-ElmsLab_MapHeader: ; 0x94c9d
-	; bank, tileset, permission
-	db BANK(ElmsLab_SecondMapHeader), $a, 3
-
-	; second map header
-	dw ElmsLab_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db NEW_BARK_TOWN, MUSIC_PROF_ELM, 1, 1
-; 0x94ca6
-
-KrissHouse1F_MapHeader: ; 0x94ca6
-	; bank, tileset, permission
-	db BANK(KrissHouse1F_SecondMapHeader), $6, 3
-
-	; second map header
-	dw KrissHouse1F_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db NEW_BARK_TOWN, MUSIC_NEW_BARK_TOWN, 1, 1
-; 0x94caf
-
-KrissHouse2F_MapHeader: ; 0x94caf
-	; bank, tileset, permission
-	db BANK(KrissHouse2F_SecondMapHeader), $14, 3
-
-	; second map header
-	dw KrissHouse2F_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db NEW_BARK_TOWN, MUSIC_NEW_BARK_TOWN, 1, 1
-; 0x94cb8
-
-KrissNeighborsHouse_MapHeader: ; 0x94cb8
-	; bank, tileset, permission
-	db BANK(KrissNeighborsHouse_SecondMapHeader), $5, 3
-
-	; second map header
-	dw KrissNeighborsHouse_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db NEW_BARK_TOWN, MUSIC_NEW_BARK_TOWN, 1, 1
-; 0x94cc1
-
-ElmsHouse_MapHeader: ; 0x94cc1
-	; bank, tileset, permission
-	db BANK(ElmsHouse_SecondMapHeader), $6, 3
-
-	; second map header
-	dw ElmsHouse_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db NEW_BARK_TOWN, MUSIC_NEW_BARK_TOWN, 1, 1
-; 0x94cca
-
-Route26HealSpeechHouse_MapHeader: ; 0x94cca
-	; bank, tileset, permission
-	db BANK(Route26HealSpeechHouse_SecondMapHeader), $5, 3
-
-	; second map header
-	dw Route26HealSpeechHouse_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db ROUTE_26, MUSIC_AZALEA_TOWN, 1, 1
-; 0x94cd3
-
-Route26DayofWeekSiblingsHouse_MapHeader: ; 0x94cd3
-	; bank, tileset, permission
-	db BANK(Route26DayofWeekSiblingsHouse_SecondMapHeader), $5, 3
-
-	; second map header
-	dw Route26DayofWeekSiblingsHouse_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db ROUTE_26, MUSIC_AZALEA_TOWN, 1, 1
-; 0x94cdc
-
-Route27SandstormHouse_MapHeader: ; 0x94cdc
-	; bank, tileset, permission
-	db BANK(Route27SandstormHouse_SecondMapHeader), $5, 3
-
-	; second map header
-	dw Route27SandstormHouse_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db ROUTE_27, MUSIC_AZALEA_TOWN, 1, 1
-; 0x94ce5
-
-Route2946Gate_MapHeader: ; 0x94ce5
-	; bank, tileset, permission
-	db BANK(Route2946Gate_SecondMapHeader), $8, 6
-
-	; second map header
-	dw Route2946Gate_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db ROUTE_29, MUSIC_ROUTE_29, 1, 1
-; 0x94cee
-
-
 MapGroup25:
+	map_header Route5, $3, 2, ROUTE_5, MUSIC_ROUTE_3, 0, 1
+	map_header SaffronCity, $3, 1, SAFFRON_CITY, MUSIC_VIRIDIAN_CITY, 0, 1
+	map_header FightingDojo, $11, 3, SAFFRON_CITY, MUSIC_VIRIDIAN_CITY, 1, 1
+	map_header SaffronGym, $1c, 3, SAFFRON_CITY, MUSIC_GYM, 17, 1
+	map_header SaffronMart, $c, 3, SAFFRON_CITY, MUSIC_VIRIDIAN_CITY, 1, 1
+	map_header SaffronPokeCenter1F, $7, 3, SAFFRON_CITY, MUSIC_POKEMON_CENTER, 1, 1
+	map_header SaffronPokeCenter2FBeta, $7, 3, SAFFRON_CITY, MUSIC_VIRIDIAN_CITY, 1, 1
+	map_header MrPsychicsHouse, $5, 3, SAFFRON_CITY, MUSIC_VIRIDIAN_CITY, 1, 1
+	map_header SaffronTrainStation, $11, 3, SAFFRON_CITY, MUSIC_VIRIDIAN_CITY, 1, 1
+	map_header SilphCo1F, $b, 3, SAFFRON_CITY, MUSIC_VIRIDIAN_CITY, 1, 1
+	map_header CopycatsHouse1F, $6, 3, SAFFRON_CITY, MUSIC_VIRIDIAN_CITY, 1, 1
+	map_header CopycatsHouse2F, $6, 3, SAFFRON_CITY, MUSIC_VIRIDIAN_CITY, 1, 1
+	map_header Route5UndergroundEntrance, $8, 6, ROUTE_5, MUSIC_ROUTE_3, 1, 1
+	map_header Route5SaffronCityGate, $8, 6, ROUTE_5, MUSIC_VIRIDIAN_CITY, 1, 1
+	map_header Route5CleanseTagSpeechHouse, $5, 3, ROUTE_5, MUSIC_VIRIDIAN_CITY, 1, 1
 
-Route5_MapHeader: ; 0x94cee
-	; bank, tileset, permission
-	db BANK(Route5_SecondMapHeader), $3, 2
 
-	; second map header
-	dw Route5_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db ROUTE_5, MUSIC_ROUTE_3, 0, 1
-; 0x94cf7
-
-SaffronCity_MapHeader: ; 0x94cf7
-	; bank, tileset, permission
-	db BANK(SaffronCity_SecondMapHeader), $3, 1
-
-	; second map header
-	dw SaffronCity_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db SAFFRON_CITY, MUSIC_VIRIDIAN_CITY, 0, 1
-; 0x94d00
-
-FightingDojo_MapHeader: ; 0x94d00
-	; bank, tileset, permission
-	db BANK(FightingDojo_SecondMapHeader), $11, 3
-
-	; second map header
-	dw FightingDojo_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db SAFFRON_CITY, MUSIC_VIRIDIAN_CITY, 1, 1
-; 0x94d09
-
-SaffronGym_MapHeader: ; 0x94d09
-	; bank, tileset, permission
-	db BANK(SaffronGym_SecondMapHeader), $1c, 3
-
-	; second map header
-	dw SaffronGym_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db SAFFRON_CITY, MUSIC_GYM, 17, 1
-; 0x94d12
-
-SaffronMart_MapHeader: ; 0x94d12
-	; bank, tileset, permission
-	db BANK(SaffronMart_SecondMapHeader), $c, 3
-
-	; second map header
-	dw SaffronMart_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db SAFFRON_CITY, MUSIC_VIRIDIAN_CITY, 1, 1
-; 0x94d1b
-
-SaffronPokeCenter1F_MapHeader: ; 0x94d1b
-	; bank, tileset, permission
-	db BANK(SaffronPokeCenter1F_SecondMapHeader), $7, 3
-
-	; second map header
-	dw SaffronPokeCenter1F_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db SAFFRON_CITY, MUSIC_POKEMON_CENTER, 1, 1
-; 0x94d24
-
-SaffronPokeCenter2FBeta_MapHeader: ; 0x94d24
-	; bank, tileset, permission
-	db BANK(SaffronPokeCenter2FBeta_SecondMapHeader), $7, 3
-
-	; second map header
-	dw SaffronPokeCenter2FBeta_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db SAFFRON_CITY, MUSIC_VIRIDIAN_CITY, 1, 1
-; 0x94d2d
-
-MrPsychicsHouse_MapHeader: ; 0x94d2d
-	; bank, tileset, permission
-	db BANK(MrPsychicsHouse_SecondMapHeader), $5, 3
-
-	; second map header
-	dw MrPsychicsHouse_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db SAFFRON_CITY, MUSIC_VIRIDIAN_CITY, 1, 1
-; 0x94d36
-
-SaffronTrainStation_MapHeader: ; 0x94d36
-	; bank, tileset, permission
-	db BANK(SaffronTrainStation_SecondMapHeader), $11, 3
-
-	; second map header
-	dw SaffronTrainStation_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db SAFFRON_CITY, MUSIC_VIRIDIAN_CITY, 1, 1
-; 0x94d3f
-
-SilphCo1F_MapHeader: ; 0x94d3f
-	; bank, tileset, permission
-	db BANK(SilphCo1F_SecondMapHeader), $b, 3
-
-	; second map header
-	dw SilphCo1F_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db SAFFRON_CITY, MUSIC_VIRIDIAN_CITY, 1, 1
-; 0x94d48
-
-CopycatsHouse1F_MapHeader: ; 0x94d48
-	; bank, tileset, permission
-	db BANK(CopycatsHouse1F_SecondMapHeader), $6, 3
-
-	; second map header
-	dw CopycatsHouse1F_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db SAFFRON_CITY, MUSIC_VIRIDIAN_CITY, 1, 1
-; 0x94d51
-
-CopycatsHouse2F_MapHeader: ; 0x94d51
-	; bank, tileset, permission
-	db BANK(CopycatsHouse2F_SecondMapHeader), $6, 3
-
-	; second map header
-	dw CopycatsHouse2F_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db SAFFRON_CITY, MUSIC_VIRIDIAN_CITY, 1, 1
-; 0x94d5a
-
-Route5UndergroundEntrance_MapHeader: ; 0x94d5a
-	; bank, tileset, permission
-	db BANK(Route5UndergroundEntrance_SecondMapHeader), $8, 6
-
-	; second map header
-	dw Route5UndergroundEntrance_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db ROUTE_5, MUSIC_ROUTE_3, 1, 1
-; 0x94d63
-
-Route5SaffronCityGate_MapHeader: ; 0x94d63
-	; bank, tileset, permission
-	db BANK(Route5SaffronCityGate_SecondMapHeader), $8, 6
-
-	; second map header
-	dw Route5SaffronCityGate_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db ROUTE_5, MUSIC_VIRIDIAN_CITY, 1, 1
-; 0x94d6c
-
-Route5CleanseTagSpeechHouse_MapHeader: ; 0x94d6c
-	; bank, tileset, permission
-	db BANK(Route5CleanseTagSpeechHouse_SecondMapHeader), $5, 3
-
-	; second map header
-	dw Route5CleanseTagSpeechHouse_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db ROUTE_5, MUSIC_VIRIDIAN_CITY, 1, 1
-; 0x94d75
-
-
 MapGroup26:
-
-Route30_MapHeader: ; 0x94d75
-	; bank, tileset, permission
-	db BANK(Route30_SecondMapHeader), $1, 2
-
-	; second map header
-	dw Route30_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db ROUTE_30, MUSIC_ROUTE_30, 0, 4
-; 0x94d7e
-
-Route31_MapHeader: ; 0x94d7e
-	; bank, tileset, permission
-	db BANK(Route31_SecondMapHeader), $1, 2
-
-	; second map header
-	dw Route31_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db ROUTE_31, MUSIC_ROUTE_30, 0, 4
-; 0x94d87
-
-CherrygroveCity_MapHeader: ; 0x94d87
-	; bank, tileset, permission
-	db BANK(CherrygroveCity_SecondMapHeader), $1, 1
-
-	; second map header
-	dw CherrygroveCity_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db CHERRYGROVE_CITY, MUSIC_CHERRYGROVE_CITY, 0, 1
-; 0x94d90
-
-CherrygroveMart_MapHeader: ; 0x94d90
-	; bank, tileset, permission
-	db BANK(CherrygroveMart_SecondMapHeader), $c, 3
-
-	; second map header
-	dw CherrygroveMart_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db CHERRYGROVE_CITY, MUSIC_CHERRYGROVE_CITY, 1, 1
-; 0x94d99
-
-CherrygrovePokeCenter1F_MapHeader: ; 0x94d99
-	; bank, tileset, permission
-	db BANK(CherrygrovePokeCenter1F_SecondMapHeader), $7, 3
-
-	; second map header
-	dw CherrygrovePokeCenter1F_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db CHERRYGROVE_CITY, MUSIC_POKEMON_CENTER, 1, 1
-; 0x94da2
-
-CherrygroveGymSpeechHouse_MapHeader: ; 0x94da2
-	; bank, tileset, permission
-	db BANK(CherrygroveGymSpeechHouse_SecondMapHeader), $5, 3
-
-	; second map header
-	dw CherrygroveGymSpeechHouse_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db CHERRYGROVE_CITY, MUSIC_CHERRYGROVE_CITY, 1, 1
-; 0x94dab
-
-GuideGentsHouse_MapHeader: ; 0x94dab
-	; bank, tileset, permission
-	db BANK(GuideGentsHouse_SecondMapHeader), $5, 3
-
-	; second map header
-	dw GuideGentsHouse_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db CHERRYGROVE_CITY, MUSIC_CHERRYGROVE_CITY, 1, 1
-; 0x94db4
-
-CherrygroveEvolutionSpeechHouse_MapHeader: ; 0x94db4
-	; bank, tileset, permission
-	db BANK(CherrygroveEvolutionSpeechHouse_SecondMapHeader), $5, 3
-
-	; second map header
-	dw CherrygroveEvolutionSpeechHouse_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db CHERRYGROVE_CITY, MUSIC_CHERRYGROVE_CITY, 1, 1
-; 0x94dbd
-
-Route30BerrySpeechHouse_MapHeader: ; 0x94dbd
-	; bank, tileset, permission
-	db BANK(Route30BerrySpeechHouse_SecondMapHeader), $5, 3
-
-	; second map header
-	dw Route30BerrySpeechHouse_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db ROUTE_30, MUSIC_CHERRYGROVE_CITY, 1, 1
-; 0x94dc6
-
-MrPokemonsHouse_MapHeader: ; 0x94dc6
-	; bank, tileset, permission
-	db BANK(MrPokemonsHouse_SecondMapHeader), $b, 3
-
-	; second map header
-	dw MrPokemonsHouse_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db ROUTE_30, MUSIC_CHERRYGROVE_CITY, 1, 1
-; 0x94dcf
-
-Route31VioletGate_MapHeader: ; 0x94dcf
-	; bank, tileset, permission
-	db BANK(Route31VioletGate_SecondMapHeader), $8, 6
-
-	; second map header
-	dw Route31VioletGate_SecondMapHeader
-
-	; location on world map, music, time of day, fishing group
-	db ROUTE_31, MUSIC_ROUTE_30, 1, 1
-; 0x94dd8
-
+	map_header Route30, $1, 2, ROUTE_30, MUSIC_ROUTE_30, 0, 4
+	map_header Route31, $1, 2, ROUTE_31, MUSIC_ROUTE_30, 0, 4
+	map_header CherrygroveCity, $1, 1, CHERRYGROVE_CITY, MUSIC_CHERRYGROVE_CITY, 0, 1
+	map_header CherrygroveMart, $c, 3, CHERRYGROVE_CITY, MUSIC_CHERRYGROVE_CITY, 1, 1
+	map_header CherrygrovePokeCenter1F, $7, 3, CHERRYGROVE_CITY, MUSIC_POKEMON_CENTER, 1, 1
+	map_header CherrygroveGymSpeechHouse, $5, 3, CHERRYGROVE_CITY, MUSIC_CHERRYGROVE_CITY, 1, 1
+	map_header GuideGentsHouse, $5, 3, CHERRYGROVE_CITY, MUSIC_CHERRYGROVE_CITY, 1, 1
+	map_header CherrygroveEvolutionSpeechHouse, $5, 3, CHERRYGROVE_CITY, MUSIC_CHERRYGROVE_CITY, 1, 1
+	map_header Route30BerrySpeechHouse, $5, 3, ROUTE_30, MUSIC_CHERRYGROVE_CITY, 1, 1
+	map_header MrPokemonsHouse, $b, 3, ROUTE_30, MUSIC_CHERRYGROVE_CITY, 1, 1
+	map_header Route31VioletGate, $8, 6, ROUTE_31, MUSIC_ROUTE_30, 1, 1
 
--- a/maps/second_map_headers.asm
+++ b/maps/second_map_headers.asm
@@ -1,11 +1,19 @@
-NewBarkTown_SecondMapHeader: ; 0x94dd8
-	db $5 ; border block
-	db NEW_BARK_TOWN_HEIGHT, NEW_BARK_TOWN_WIDTH
-	dbw BANK(NewBarkTown_BlockData), NewBarkTown_BlockData
-	dbw BANK(NewBarkTown_MapScriptHeader), NewBarkTown_MapScriptHeader
-	dw NewBarkTown_MapEventHeader
+map_header_2: MACRO
+; label, map, border block, connections
+\1_SecondMapHeader::
+	db \3
+\2\@HEIGHT EQUS "\2_HEIGHT"
+\2\@WIDTH  EQUS "\2_WIDTH"
+	db \2\@HEIGHT, \2\@WIDTH
+	db BANK(\1_BlockData)
+	dw \1_BlockData
+	db BANK(\1_MapScriptHeader)
+	dw \1_MapScriptHeader
+	dw \1_MapEventHeader
+	db \4
+ENDM
 
-	db WEST | EAST ; connections
+	map_header_2 NewBarkTown, NEW_BARK_TOWN, $5, WEST | EAST ; 0x94dd8
 
 	; WEST to Route 29
 	map ROUTE_29
@@ -24,15 +32,8 @@
 	dw ($C807 + ROUTE_27_WIDTH) ; window
 ; 0x94dfc
 
-CherrygroveCity_SecondMapHeader: ; 0x94dfc
-	db $35 ; border block
-	db CHERRYGROVE_CITY_HEIGHT, CHERRYGROVE_CITY_WIDTH
-	dbw BANK(CherrygroveCity_BlockData), CherrygroveCity_BlockData
-	dbw BANK(CherrygroveCity_MapScriptHeader), CherrygroveCity_MapScriptHeader
-	dw CherrygroveCity_MapEventHeader
+	map_header_2 CherrygroveCity, CHERRYGROVE_CITY, $35, NORTH | EAST ; 0x94dfc
 
-	db NORTH | EAST ; connections
-
 	; NORTH to Route 30
 	map ROUTE_30
 	dw (Route30_BlockData + (ROUTE_30_HEIGHT * ROUTE_30_WIDTH) - (ROUTE_30_WIDTH * 3)) ; strip pointer
@@ -50,15 +51,8 @@
 	dw ($C807 + ROUTE_29_WIDTH) ; window
 ; 0x94e20
 
-VioletCity_SecondMapHeader: ; 0x94e20
-	db $5 ; border block
-	db VIOLET_CITY_HEIGHT, VIOLET_CITY_WIDTH
-	dbw BANK(VioletCity_BlockData), VioletCity_BlockData
-	dbw BANK(VioletCity_MapScriptHeader), VioletCity_MapScriptHeader
-	dw VioletCity_MapEventHeader
+	map_header_2 VioletCity, VIOLET_CITY, $5, SOUTH | WEST | EAST ; 0x94e20
 
-	db SOUTH | WEST | EAST ; connections
-
 	; SOUTH to Route 32
 	map ROUTE_32
 	dw (Route32_BlockData) ; strip pointer
@@ -84,15 +78,8 @@
 	dw ($C807 + ROUTE_31_WIDTH) ; window
 ; 0x94e50
 
-AzaleaTown_SecondMapHeader: ; 0x94e50
-	db $5 ; border block
-	db AZALEA_TOWN_HEIGHT, AZALEA_TOWN_WIDTH
-	dbw BANK(AzaleaTown_BlockData), AzaleaTown_BlockData
-	dbw BANK(AzaleaTown_MapScriptHeader), AzaleaTown_MapScriptHeader
-	dw AzaleaTown_MapEventHeader
+	map_header_2 AzaleaTown, AZALEA_TOWN, $5, WEST | EAST ; 0x94e50
 
-	db WEST | EAST ; connections
-
 	; WEST to Route 34
 	map ROUTE_34
 	dw (Route34_BlockData + (((ROUTE_34_HEIGHT - AZALEA_TOWN_HEIGHT) * ROUTE_34_WIDTH) - (ROUTE_34_WIDTH * 3) + (ROUTE_34_WIDTH - 1) - 2)) ; strip pointer
@@ -110,15 +97,8 @@
 	dw ($C807 + ROUTE_33_WIDTH) ; window
 ; 0x94e74
 
-CianwoodCity_SecondMapHeader: ; 0x94e74
-	db $35 ; border block
-	db CIANWOOD_CITY_HEIGHT, CIANWOOD_CITY_WIDTH
-	dbw BANK(CianwoodCity_BlockData), CianwoodCity_BlockData
-	dbw BANK(CianwoodCity_MapScriptHeader), CianwoodCity_MapScriptHeader
-	dw CianwoodCity_MapEventHeader
+	map_header_2 CianwoodCity, CIANWOOD_CITY, $35, EAST ; 0x94e74
 
-	db EAST ; connections
-
 	; EAST to Route 41
 	map ROUTE_41
 	dw (Route41_BlockData) ; strip pointer
@@ -128,15 +108,8 @@
 	dw ($C807 + ROUTE_41_WIDTH) ; window
 ; 0x94e8c
 
-GoldenrodCity_SecondMapHeader: ; 0x94e8c
-	db $35 ; border block
-	db GOLDENROD_CITY_HEIGHT, GOLDENROD_CITY_WIDTH
-	dbw BANK(GoldenrodCity_BlockData), GoldenrodCity_BlockData
-	dbw BANK(GoldenrodCity_MapScriptHeader), GoldenrodCity_MapScriptHeader
-	dw GoldenrodCity_MapEventHeader
+	map_header_2 GoldenrodCity, GOLDENROD_CITY, $35, NORTH | SOUTH ; 0x94e8c
 
-	db NORTH | SOUTH ; connections
-
 	; NORTH to Route 35
 	map ROUTE_35
 	dw (Route35_BlockData + (ROUTE_35_HEIGHT * ROUTE_35_WIDTH) - (ROUTE_35_WIDTH * 3)) ; strip pointer
@@ -154,15 +127,8 @@
 	dw ($C807 + ROUTE_34_WIDTH) ; window
 ; 0x94eb0
 
-OlivineCity_SecondMapHeader: ; 0x94eb0
-	db $35 ; border block
-	db OLIVINE_CITY_HEIGHT, OLIVINE_CITY_WIDTH
-	dbw BANK(OlivineCity_BlockData), OlivineCity_BlockData
-	dbw BANK(OlivineCity_MapScriptHeader), OlivineCity_MapScriptHeader
-	dw OlivineCity_MapEventHeader
+	map_header_2 OlivineCity, OLIVINE_CITY, $35, NORTH | WEST ; 0x94eb0
 
-	db NORTH | WEST ; connections
-
 	; NORTH to Route 39
 	map ROUTE_39
 	dw (Route39_BlockData + (ROUTE_39_HEIGHT * ROUTE_39_WIDTH) - (ROUTE_39_WIDTH * 3)) ; strip pointer
@@ -180,15 +146,8 @@
 	dw ($C807 + 19) ; window
 ; 0x94ed4
 
-EcruteakCity_SecondMapHeader: ; 0x94ed4
-	db $5 ; border block
-	db ECRUTEAK_CITY_HEIGHT, ECRUTEAK_CITY_WIDTH
-	dbw BANK(EcruteakCity_BlockData), EcruteakCity_BlockData
-	dbw BANK(EcruteakCity_MapScriptHeader), EcruteakCity_MapScriptHeader
-	dw EcruteakCity_MapEventHeader
+	map_header_2 EcruteakCity, ECRUTEAK_CITY, $5, SOUTH | WEST | EAST ; 0x94ed4
 
-	db SOUTH | WEST | EAST ; connections
-
 	; SOUTH to Route 37
 	map ROUTE_37
 	dw (Route37_BlockData) ; strip pointer
@@ -214,15 +173,8 @@
 	dw ($C807 + ROUTE_42_WIDTH) ; window
 ; 0x94f04
 
-MahoganyTown_SecondMapHeader: ; 0x94f04
-	db $71 ; border block
-	db MAHOGANY_TOWN_HEIGHT, MAHOGANY_TOWN_WIDTH
-	dbw BANK(MahoganyTown_BlockData), MahoganyTown_BlockData
-	dbw BANK(MahoganyTown_MapScriptHeader), MahoganyTown_MapScriptHeader
-	dw MahoganyTown_MapEventHeader
+	map_header_2 MahoganyTown, MAHOGANY_TOWN, $71, NORTH | WEST | EAST ; 0x94f04
 
-	db NORTH | WEST | EAST ; connections
-
 	; NORTH to Route 43
 	map ROUTE_43
 	dw (Route43_BlockData + (ROUTE_43_HEIGHT * ROUTE_43_WIDTH) - (ROUTE_43_WIDTH * 3)) ; strip pointer
@@ -248,15 +200,8 @@
 	dw ($C807 + ROUTE_44_WIDTH) ; window
 ; 0x94f34
 
-LakeofRage_SecondMapHeader: ; 0x94f34
-	db $5 ; border block
-	db LAKE_OF_RAGE_HEIGHT, LAKE_OF_RAGE_WIDTH
-	dbw BANK(LakeofRage_BlockData), LakeofRage_BlockData
-	dbw BANK(LakeofRage_MapScriptHeader), LakeofRage_MapScriptHeader
-	dw LakeofRage_MapEventHeader
+	map_header_2 LakeofRage, LAKE_OF_RAGE, $5, SOUTH ; 0x94f34
 
-	db SOUTH ; connections
-
 	; SOUTH to Route 43
 	map ROUTE_43
 	dw (Route43_BlockData) ; strip pointer
@@ -266,15 +211,8 @@
 	dw ($C807 + ROUTE_43_WIDTH) ; window
 ; 0x94f4c
 
-BlackthornCity_SecondMapHeader: ; 0x94f4c
-	db $71 ; border block
-	db BLACKTHORN_CITY_HEIGHT, BLACKTHORN_CITY_WIDTH
-	dbw BANK(BlackthornCity_BlockData), BlackthornCity_BlockData
-	dbw BANK(BlackthornCity_MapScriptHeader), BlackthornCity_MapScriptHeader
-	dw BlackthornCity_MapEventHeader
+	map_header_2 BlackthornCity, BLACKTHORN_CITY, $71, SOUTH | WEST ; 0x94f4c
 
-	db SOUTH | WEST ; connections
-
 	; SOUTH to Route 45
 	map ROUTE_45
 	dw (Route45_BlockData) ; strip pointer
@@ -292,15 +230,8 @@
 	dw ($C807 + 59) ; window
 ; 0x94f70
 
-SilverCaveOutside_SecondMapHeader: ; 0x94f70
-	db $2c ; border block
-	db SILVER_CAVE_OUTSIDE_HEIGHT, SILVER_CAVE_OUTSIDE_WIDTH
-	dbw BANK(SilverCaveOutside_BlockData), SilverCaveOutside_BlockData
-	dbw BANK(SilverCaveOutside_MapScriptHeader), SilverCaveOutside_MapScriptHeader
-	dw SilverCaveOutside_MapEventHeader
+	map_header_2 SilverCaveOutside, SILVER_CAVE_OUTSIDE, $2c, EAST ; 0x94f70
 
-	db EAST ; connections
-
 	; EAST to Route 28
 	map ROUTE_28
 	dw (Route28_BlockData) ; strip pointer
@@ -310,15 +241,8 @@
 	dw ($C807 + ROUTE_28_WIDTH) ; window
 ; 0x94f88
 
-Route26_SecondMapHeader: ; 0x94f88
-	db $5 ; border block
-	db ROUTE_26_HEIGHT, ROUTE_26_WIDTH
-	dbw BANK(Route26_BlockData), Route26_BlockData
-	dbw BANK(Route26_MapScriptHeader), Route26_MapScriptHeader
-	dw Route26_MapEventHeader
+	map_header_2 Route26, ROUTE_26, $5, WEST ; 0x94f88
 
-	db WEST ; connections
-
 	; WEST to Route 27
 	map ROUTE_27
 	dw (Route27_BlockData + ROUTE_27_WIDTH - 3) ; strip pointer
@@ -328,15 +252,8 @@
 	dw ($C807 + 79) ; window
 ; 0x94fa0
 
-Route27_SecondMapHeader: ; 0x94fa0
-	db $35 ; border block
-	db ROUTE_27_HEIGHT, ROUTE_27_WIDTH
-	dbw BANK(Route27_BlockData), Route27_BlockData
-	dbw BANK(Route27_MapScriptHeader), Route27_MapScriptHeader
-	dw Route27_MapEventHeader
+	map_header_2 Route27, ROUTE_27, $35, WEST | EAST ; 0x94fa0
 
-	db WEST | EAST ; connections
-
 	; WEST to New Bark Town
 	map NEW_BARK_TOWN
 	dw (NewBarkTown_BlockData + NEW_BARK_TOWN_WIDTH - 3) ; strip pointer
@@ -354,15 +271,8 @@
 	dw ($C807 + ROUTE_26_WIDTH) ; window
 ; 0x94fc4
 
-Route28_SecondMapHeader: ; 0x94fc4
-	db $2c ; border block
-	db ROUTE_28_HEIGHT, ROUTE_28_WIDTH
-	dbw BANK(Route28_BlockData), Route28_BlockData
-	dbw BANK(Route28_MapScriptHeader), Route28_MapScriptHeader
-	dw Route28_MapEventHeader
+	map_header_2 Route28, ROUTE_28, $2c, WEST ; 0x94fc4
 
-	db WEST ; connections
-
 	; WEST to Silver Cave Outside
 	map SILVER_CAVE_OUTSIDE
 	dw (SilverCaveOutside_BlockData + (((SILVER_CAVE_OUTSIDE_HEIGHT - ROUTE_28_HEIGHT) * SILVER_CAVE_OUTSIDE_WIDTH) - (SILVER_CAVE_OUTSIDE_WIDTH * 3) + (SILVER_CAVE_OUTSIDE_WIDTH - 1) - 2)) ; strip pointer
@@ -372,15 +282,8 @@
 	dw ($C807 + 39) ; window
 ; 0x94fdc
 
-Route29_SecondMapHeader: ; 0x94fdc
-	db $5 ; border block
-	db ROUTE_29_HEIGHT, ROUTE_29_WIDTH
-	dbw BANK(Route29_BlockData), Route29_BlockData
-	dbw BANK(Route29_MapScriptHeader), Route29_MapScriptHeader
-	dw Route29_MapEventHeader
+	map_header_2 Route29, ROUTE_29, $5, NORTH | WEST | EAST ; 0x94fdc
 
-	db NORTH | WEST | EAST ; connections
-
 	; NORTH to Route 46
 	map ROUTE_46
 	dw (Route46_BlockData + (ROUTE_46_HEIGHT * ROUTE_46_WIDTH) - (ROUTE_46_WIDTH * 3)) ; strip pointer
@@ -406,15 +309,8 @@
 	dw ($C807 + NEW_BARK_TOWN_WIDTH) ; window
 ; 0x9500c
 
-Route30_SecondMapHeader: ; 0x9500c
-	db $5 ; border block
-	db ROUTE_30_HEIGHT, ROUTE_30_WIDTH
-	dbw BANK(Route30_BlockData), Route30_BlockData
-	dbw BANK(Route30_MapScriptHeader), Route30_MapScriptHeader
-	dw Route30_MapEventHeader
+	map_header_2 Route30, ROUTE_30, $5, NORTH | SOUTH ; 0x9500c
 
-	db NORTH | SOUTH ; connections
-
 	; NORTH to Route 31
 	map ROUTE_31
 	dw (Route31_BlockData + ((ROUTE_31_HEIGHT - 3) * ROUTE_31_WIDTH) + 7) ; strip pointer
@@ -432,15 +328,8 @@
 	dw ($C807 + CHERRYGROVE_CITY_WIDTH) ; window
 ; 0x95030
 
-Route31_SecondMapHeader: ; 0x95030
-	db $5 ; border block
-	db ROUTE_31_HEIGHT, ROUTE_31_WIDTH
-	dbw BANK(Route31_BlockData), Route31_BlockData
-	dbw BANK(Route31_MapScriptHeader), Route31_MapScriptHeader
-	dw Route31_MapEventHeader
+	map_header_2 Route31, ROUTE_31, $5, SOUTH | WEST ; 0x95030
 
-	db SOUTH | WEST ; connections
-
 	; SOUTH to Route 30
 	map ROUTE_30
 	dw (Route30_BlockData) ; strip pointer
@@ -458,15 +347,8 @@
 	dw ($C807 + 39) ; window
 ; 0x95054
 
-Route32_SecondMapHeader: ; 0x95054
-	db $5 ; border block
-	db ROUTE_32_HEIGHT, ROUTE_32_WIDTH
-	dbw BANK(Route32_BlockData), Route32_BlockData
-	dbw BANK(Route32_MapScriptHeader), Route32_MapScriptHeader
-	dw Route32_MapEventHeader
+	map_header_2 Route32, ROUTE_32, $5, NORTH | SOUTH ; 0x95054
 
-	db NORTH | SOUTH ; connections
-
 	; NORTH to Violet City
 	map VIOLET_CITY
 	dw (VioletCity_BlockData + (VIOLET_CITY_HEIGHT * VIOLET_CITY_WIDTH) - (VIOLET_CITY_WIDTH * 3)) ; strip pointer
@@ -484,15 +366,8 @@
 	dw ($C807 + ROUTE_33_WIDTH) ; window
 ; 0x95078
 
-Route33_SecondMapHeader: ; 0x95078
-	db $5 ; border block
-	db ROUTE_33_HEIGHT, ROUTE_33_WIDTH
-	dbw BANK(Route33_BlockData), Route33_BlockData
-	dbw BANK(Route33_MapScriptHeader), Route33_MapScriptHeader
-	dw Route33_MapEventHeader
+	map_header_2 Route33, ROUTE_33, $5, NORTH | WEST ; 0x95078
 
-	db NORTH | WEST ; connections
-
 	; NORTH to Route 32
 	map ROUTE_32
 	dw (Route32_BlockData + (ROUTE_32_HEIGHT * ROUTE_32_WIDTH) - (ROUTE_32_WIDTH * 3)) ; strip pointer
@@ -510,15 +385,8 @@
 	dw ($C807 + 39) ; window
 ; 0x9509c
 
-Route34_SecondMapHeader: ; 0x9509c
-	db $5 ; border block
-	db ROUTE_34_HEIGHT, ROUTE_34_WIDTH
-	dbw BANK(Route34_BlockData), Route34_BlockData
-	dbw BANK(Route34_MapScriptHeader), Route34_MapScriptHeader
-	dw Route34_MapEventHeader
+	map_header_2 Route34, ROUTE_34, $5, NORTH | EAST ; 0x9509c
 
-	db NORTH | EAST ; connections
-
 	; NORTH to Goldenrod City
 	map GOLDENROD_CITY
 	dw (GoldenrodCity_BlockData + GOLDENROD_CITY_WIDTH + 10 + (16 * GOLDENROD_CITY_HEIGHT) - 16) ; strip pointer
@@ -536,15 +404,8 @@
 	dw ($C807 + AZALEA_TOWN_WIDTH) ; window
 ; 0x950c0
 
-Route35_SecondMapHeader: ; 0x950c0
-	db $5 ; border block
-	db ROUTE_35_HEIGHT, ROUTE_35_WIDTH
-	dbw BANK(Route35_BlockData), Route35_BlockData
-	dbw BANK(Route35_MapScriptHeader), Route35_MapScriptHeader
-	dw Route35_MapEventHeader
+	map_header_2 Route35, ROUTE_35, $5, NORTH | SOUTH ; 0x950c0
 
-	db NORTH | SOUTH ; connections
-
 	; NORTH to Route 36
 	map ROUTE_36
 	dw (Route36_BlockData + (ROUTE_36_HEIGHT * ROUTE_36_WIDTH) - (ROUTE_36_WIDTH * 3)) ; strip pointer
@@ -562,15 +423,8 @@
 	dw ($C807 + GOLDENROD_CITY_WIDTH) ; window
 ; 0x950e4
 
-Route36_SecondMapHeader: ; 0x950e4
-	db $5 ; border block
-	db ROUTE_36_HEIGHT, ROUTE_36_WIDTH
-	dbw BANK(Route36_BlockData), Route36_BlockData
-	dbw BANK(Route36_MapScriptHeader), Route36_MapScriptHeader
-	dw Route36_MapEventHeader
+	map_header_2 Route36, ROUTE_36, $5, NORTH | SOUTH | EAST ; 0x950e4
 
-	db NORTH | SOUTH | EAST ; connections
-
 	; NORTH to Route 37
 	map ROUTE_37
 	dw (Route37_BlockData + (ROUTE_37_HEIGHT * ROUTE_37_WIDTH) - (ROUTE_37_WIDTH * 3)) ; strip pointer
@@ -596,15 +450,8 @@
 	dw ($C807 + VIOLET_CITY_WIDTH) ; window
 ; 0x95114
 
-Route37_SecondMapHeader: ; 0x95114
-	db $5 ; border block
-	db ROUTE_37_HEIGHT, ROUTE_37_WIDTH
-	dbw BANK(Route37_BlockData), Route37_BlockData
-	dbw BANK(Route37_MapScriptHeader), Route37_MapScriptHeader
-	dw Route37_MapEventHeader
+	map_header_2 Route37, ROUTE_37, $5, NORTH | SOUTH ; 0x95114
 
-	db NORTH | SOUTH ; connections
-
 	; NORTH to Ecruteak City
 	map ECRUTEAK_CITY
 	dw (EcruteakCity_BlockData + ECRUTEAK_CITY_WIDTH + 10 + (16 * ECRUTEAK_CITY_HEIGHT) - 16) ; strip pointer
@@ -622,15 +469,8 @@
 	dw ($C807 + ROUTE_36_WIDTH) ; window
 ; 0x95138
 
-Route38_SecondMapHeader: ; 0x95138
-	db $5 ; border block
-	db ROUTE_38_HEIGHT, ROUTE_38_WIDTH
-	dbw BANK(Route38_BlockData), Route38_BlockData
-	dbw BANK(Route38_MapScriptHeader), Route38_MapScriptHeader
-	dw Route38_MapEventHeader
+	map_header_2 Route38, ROUTE_38, $5, WEST | EAST ; 0x95138
 
-	db WEST | EAST ; connections
-
 	; WEST to Route 39
 	map ROUTE_39
 	dw (Route39_BlockData + ROUTE_39_WIDTH - 3) ; strip pointer
@@ -648,15 +488,8 @@
 	dw ($C807 + ECRUTEAK_CITY_WIDTH) ; window
 ; 0x9515c
 
-Route39_SecondMapHeader: ; 0x9515c
-	db $5 ; border block
-	db ROUTE_39_HEIGHT, ROUTE_39_WIDTH
-	dbw BANK(Route39_BlockData), Route39_BlockData
-	dbw BANK(Route39_MapScriptHeader), Route39_MapScriptHeader
-	dw Route39_MapEventHeader
+	map_header_2 Route39, ROUTE_39, $5, SOUTH | EAST ; 0x9515c
 
-	db SOUTH | EAST ; connections
-
 	; SOUTH to Olivine City
 	map OLIVINE_CITY
 	dw (OlivineCity_BlockData + ((10 - 16 + ROUTE_39_WIDTH) / 2)) ; strip pointer
@@ -674,15 +507,8 @@
 	dw ($C807 + ROUTE_38_WIDTH) ; window
 ; 0x95180
 
-Route40_SecondMapHeader: ; 0x95180
-	db $35 ; border block
-	db ROUTE_40_HEIGHT, ROUTE_40_WIDTH
-	dbw BANK(Route40_BlockData), Route40_BlockData
-	dbw BANK(Route40_MapScriptHeader), Route40_MapScriptHeader
-	dw Route40_MapEventHeader
+	map_header_2 Route40, ROUTE_40, $35, SOUTH | EAST ; 0x95180
 
-	db SOUTH | EAST ; connections
-
 	; SOUTH to Route 41
 	map ROUTE_41
 	dw (Route41_BlockData + (((30 - 13 + ROUTE_40_WIDTH) / 2) - 1)) ; strip pointer
@@ -700,15 +526,8 @@
 	dw ($C807 + OLIVINE_CITY_WIDTH) ; window
 ; 0x951a4
 
-Route41_SecondMapHeader: ; 0x951a4
-	db $35 ; border block
-	db ROUTE_41_HEIGHT, ROUTE_41_WIDTH
-	dbw BANK(Route41_BlockData), Route41_BlockData
-	dbw BANK(Route41_MapScriptHeader), Route41_MapScriptHeader
-	dw Route41_MapEventHeader
+	map_header_2 Route41, ROUTE_41, $35, NORTH | WEST ; 0x951a4
 
-	db NORTH | WEST ; connections
-
 	; NORTH to Route 40
 	map ROUTE_40
 	dw (Route40_BlockData + (ROUTE_40_HEIGHT * ROUTE_40_WIDTH) - (ROUTE_40_WIDTH * 3)) ; strip pointer
@@ -726,15 +545,8 @@
 	dw ($C807 + 29) ; window
 ; 0x951c8
 
-Route42_SecondMapHeader: ; 0x951c8
-	db $5 ; border block
-	db ROUTE_42_HEIGHT, ROUTE_42_WIDTH
-	dbw BANK(Route42_BlockData), Route42_BlockData
-	dbw BANK(Route42_MapScriptHeader), Route42_MapScriptHeader
-	dw Route42_MapEventHeader
+	map_header_2 Route42, ROUTE_42, $5, WEST | EAST ; 0x951c8
 
-	db WEST | EAST ; connections
-
 	; WEST to Ecruteak City
 	map ECRUTEAK_CITY
 	dw (EcruteakCity_BlockData + (((ECRUTEAK_CITY_HEIGHT - ROUTE_42_HEIGHT) * ECRUTEAK_CITY_WIDTH) - (ECRUTEAK_CITY_WIDTH * 3) + (ECRUTEAK_CITY_WIDTH - 1) - 2)) ; strip pointer
@@ -752,15 +564,8 @@
 	dw ($C807 + MAHOGANY_TOWN_WIDTH) ; window
 ; 0x951ec
 
-Route43_SecondMapHeader: ; 0x951ec
-	db $5 ; border block
-	db ROUTE_43_HEIGHT, ROUTE_43_WIDTH
-	dbw BANK(Route43_BlockData), Route43_BlockData
-	dbw BANK(Route43_MapScriptHeader), Route43_MapScriptHeader
-	dw Route43_MapEventHeader
+	map_header_2 Route43, ROUTE_43, $5, NORTH | SOUTH ; 0x951ec
 
-	db NORTH | SOUTH ; connections
-
 	; NORTH to Lake of Rage
 	map LAKE_OF_RAGE
 	dw (LakeofRage_BlockData + LAKE_OF_RAGE_WIDTH + 10 + (16 * LAKE_OF_RAGE_HEIGHT) - 16) ; strip pointer
@@ -778,15 +583,8 @@
 	dw ($C807 + MAHOGANY_TOWN_WIDTH) ; window
 ; 0x95210
 
-Route44_SecondMapHeader: ; 0x95210
-	db $71 ; border block
-	db ROUTE_44_HEIGHT, ROUTE_44_WIDTH
-	dbw BANK(Route44_BlockData), Route44_BlockData
-	dbw BANK(Route44_MapScriptHeader), Route44_MapScriptHeader
-	dw Route44_MapEventHeader
+	map_header_2 Route44, ROUTE_44, $71, WEST | EAST ; 0x95210
 
-	db WEST | EAST ; connections
-
 	; WEST to Mahogany Town
 	map MAHOGANY_TOWN
 	dw (MahoganyTown_BlockData + MAHOGANY_TOWN_WIDTH - 3) ; strip pointer
@@ -804,15 +602,8 @@
 	dw ($C807 + BLACKTHORN_CITY_WIDTH) ; window
 ; 0x95234
 
-Route45_SecondMapHeader: ; 0x95234
-	db $71 ; border block
-	db ROUTE_45_HEIGHT, ROUTE_45_WIDTH
-	dbw BANK(Route45_BlockData), Route45_BlockData
-	dbw BANK(Route45_MapScriptHeader), Route45_MapScriptHeader
-	dw Route45_MapEventHeader
+	map_header_2 Route45, ROUTE_45, $71, NORTH | WEST ; 0x95234
 
-	db NORTH | WEST ; connections
-
 	; NORTH to Blackthorn City
 	map BLACKTHORN_CITY
 	dw (BlackthornCity_BlockData + (BLACKTHORN_CITY_HEIGHT * BLACKTHORN_CITY_WIDTH) - (BLACKTHORN_CITY_WIDTH * 3)) ; strip pointer
@@ -830,15 +621,8 @@
 	dw ($C807 + 19) ; window
 ; 0x95258
 
-Route46_SecondMapHeader: ; 0x95258
-	db $5 ; border block
-	db ROUTE_46_HEIGHT, ROUTE_46_WIDTH
-	dbw BANK(Route46_BlockData), Route46_BlockData
-	dbw BANK(Route46_MapScriptHeader), Route46_MapScriptHeader
-	dw Route46_MapEventHeader
+	map_header_2 Route46, ROUTE_46, $5, SOUTH | EAST ; 0x95258
 
-	db SOUTH | EAST ; connections
-
 	; SOUTH to Route 29
 	map ROUTE_29
 	dw (Route29_BlockData + ((20 - 16 + ROUTE_46_WIDTH) / 2)) ; strip pointer
@@ -856,15 +640,8 @@
 	dw ($C807 + ROUTE_45_WIDTH) ; window
 ; 0x9527c
 
-PewterCity_SecondMapHeader: ; 0x9527c
-	db $f ; border block
-	db PEWTER_CITY_HEIGHT, PEWTER_CITY_WIDTH
-	dbw BANK(PewterCity_BlockData), PewterCity_BlockData
-	dbw BANK(PewterCity_MapScriptHeader), PewterCity_MapScriptHeader
-	dw PewterCity_MapEventHeader
+	map_header_2 PewterCity, PEWTER_CITY, $f, SOUTH | EAST ; 0x9527c
 
-	db SOUTH | EAST ; connections
-
 	; SOUTH to Route 2
 	map ROUTE_2
 	dw (Route2_BlockData) ; strip pointer
@@ -882,15 +659,8 @@
 	dw ($C807 + ROUTE_3_WIDTH) ; window
 ; 0x952a0
 
-Route2_SecondMapHeader: ; 0x952a0
-	db $f ; border block
-	db ROUTE_2_HEIGHT, ROUTE_2_WIDTH
-	dbw BANK(Route2_BlockData), Route2_BlockData
-	dbw BANK(Route2_MapScriptHeader), Route2_MapScriptHeader
-	dw Route2_MapEventHeader
+	map_header_2 Route2, ROUTE_2, $f, NORTH | SOUTH ; 0x952a0
 
-	db NORTH | SOUTH ; connections
-
 	; NORTH to Pewter City
 	map PEWTER_CITY
 	dw (PewterCity_BlockData + PEWTER_CITY_WIDTH + 10 + (16 * PEWTER_CITY_HEIGHT) - 16) ; strip pointer
@@ -908,15 +678,8 @@
 	dw ($C807 + VIRIDIAN_CITY_WIDTH) ; window
 ; 0x952c4
 
-ViridianCity_SecondMapHeader: ; 0x952c4
-	db $f ; border block
-	db VIRIDIAN_CITY_HEIGHT, VIRIDIAN_CITY_WIDTH
-	dbw BANK(ViridianCity_BlockData), ViridianCity_BlockData
-	dbw BANK(ViridianCity_MapScriptHeader), ViridianCity_MapScriptHeader
-	dw ViridianCity_MapEventHeader
+	map_header_2 ViridianCity, VIRIDIAN_CITY, $f, NORTH | SOUTH | WEST ; 0x952c4
 
-	db NORTH | SOUTH | WEST ; connections
-
 	; NORTH to Route 2
 	map ROUTE_2
 	dw (Route2_BlockData + (ROUTE_2_HEIGHT * ROUTE_2_WIDTH) - (ROUTE_2_WIDTH * 3)) ; strip pointer
@@ -942,15 +705,8 @@
 	dw ($C807 + 39) ; window
 ; 0x952f4
 
-Route22_SecondMapHeader: ; 0x952f4
-	db $2c ; border block
-	db ROUTE_22_HEIGHT, ROUTE_22_WIDTH
-	dbw BANK(Route22_BlockData), Route22_BlockData
-	dbw BANK(Route22_MapScriptHeader), Route22_MapScriptHeader
-	dw Route22_MapEventHeader
+	map_header_2 Route22, ROUTE_22, $2c, EAST ; 0x952f4
 
-	db EAST ; connections
-
 	; EAST to Viridian City
 	map VIRIDIAN_CITY
 	dw (ViridianCity_BlockData + 100 - (VIRIDIAN_CITY_WIDTH * 4)) ; strip pointer
@@ -960,15 +716,8 @@
 	dw ($C807 + VIRIDIAN_CITY_WIDTH) ; window
 ; 0x9530c
 
-Route1_SecondMapHeader: ; 0x9530c
-	db $f ; border block
-	db ROUTE_1_HEIGHT, ROUTE_1_WIDTH
-	dbw BANK(Route1_BlockData), Route1_BlockData
-	dbw BANK(Route1_MapScriptHeader), Route1_MapScriptHeader
-	dw Route1_MapEventHeader
+	map_header_2 Route1, ROUTE_1, $f, NORTH | SOUTH ; 0x9530c
 
-	db NORTH | SOUTH ; connections
-
 	; NORTH to Viridian City
 	map VIRIDIAN_CITY
 	dw (ViridianCity_BlockData + ((VIRIDIAN_CITY_HEIGHT - 3) * VIRIDIAN_CITY_WIDTH) + 7) ; strip pointer
@@ -986,15 +735,8 @@
 	dw ($C807 + PALLET_TOWN_WIDTH) ; window
 ; 0x95330
 
-PalletTown_SecondMapHeader: ; 0x95330
-	db $f ; border block
-	db PALLET_TOWN_HEIGHT, PALLET_TOWN_WIDTH
-	dbw BANK(PalletTown_BlockData), PalletTown_BlockData
-	dbw BANK(PalletTown_MapScriptHeader), PalletTown_MapScriptHeader
-	dw PalletTown_MapEventHeader
+	map_header_2 PalletTown, PALLET_TOWN, $f, NORTH | SOUTH ; 0x95330
 
-	db NORTH | SOUTH ; connections
-
 	; NORTH to Route 1
 	map ROUTE_1
 	dw (Route1_BlockData + (ROUTE_1_HEIGHT * ROUTE_1_WIDTH) - (ROUTE_1_WIDTH * 3)) ; strip pointer
@@ -1012,15 +754,8 @@
 	dw ($C807 + ROUTE_21_WIDTH) ; window
 ; 0x95354
 
-Route21_SecondMapHeader: ; 0x95354
-	db $43 ; border block
-	db ROUTE_21_HEIGHT, ROUTE_21_WIDTH
-	dbw BANK(Route21_BlockData), Route21_BlockData
-	dbw BANK(Route21_MapScriptHeader), Route21_MapScriptHeader
-	dw Route21_MapEventHeader
+	map_header_2 Route21, ROUTE_21, $43, NORTH | SOUTH ; 0x95354
 
-	db NORTH | SOUTH ; connections
-
 	; NORTH to Pallet Town
 	map PALLET_TOWN
 	dw (PalletTown_BlockData + (PALLET_TOWN_HEIGHT * PALLET_TOWN_WIDTH) - (PALLET_TOWN_WIDTH * 3)) ; strip pointer
@@ -1038,15 +773,8 @@
 	dw ($C807 + CINNABAR_ISLAND_WIDTH) ; window
 ; 0x95378
 
-CinnabarIsland_SecondMapHeader: ; 0x95378
-	db $43 ; border block
-	db CINNABAR_ISLAND_HEIGHT, CINNABAR_ISLAND_WIDTH
-	dbw BANK(CinnabarIsland_BlockData), CinnabarIsland_BlockData
-	dbw BANK(CinnabarIsland_MapScriptHeader), CinnabarIsland_MapScriptHeader
-	dw CinnabarIsland_MapEventHeader
+	map_header_2 CinnabarIsland, CINNABAR_ISLAND, $43, NORTH | EAST ; 0x95378
 
-	db NORTH | EAST ; connections
-
 	; NORTH to Route 21
 	map ROUTE_21
 	dw (Route21_BlockData + (ROUTE_21_HEIGHT * ROUTE_21_WIDTH) - (ROUTE_21_WIDTH * 3)) ; strip pointer
@@ -1064,15 +792,8 @@
 	dw ($C807 + ROUTE_20_WIDTH) ; window
 ; 0x9539c
 
-Route20_SecondMapHeader: ; 0x9539c
-	db $43 ; border block
-	db ROUTE_20_HEIGHT, ROUTE_20_WIDTH
-	dbw BANK(Route20_BlockData), Route20_BlockData
-	dbw BANK(Route20_MapScriptHeader), Route20_MapScriptHeader
-	dw Route20_MapEventHeader
+	map_header_2 Route20, ROUTE_20, $43, WEST | EAST ; 0x9539c
 
-	db WEST | EAST ; connections
-
 	; WEST to Cinnabar Island
 	map CINNABAR_ISLAND
 	dw (CinnabarIsland_BlockData + CINNABAR_ISLAND_WIDTH - 3) ; strip pointer
@@ -1090,15 +811,8 @@
 	dw ($C807 + ROUTE_19_WIDTH) ; window
 ; 0x953c0
 
-Route19_SecondMapHeader: ; 0x953c0
-	db $43 ; border block
-	db ROUTE_19_HEIGHT, ROUTE_19_WIDTH
-	dbw BANK(Route19_BlockData), Route19_BlockData
-	dbw BANK(Route19_MapScriptHeader), Route19_MapScriptHeader
-	dw Route19_MapEventHeader
+	map_header_2 Route19, ROUTE_19, $43, NORTH | WEST ; 0x953c0
 
-	db NORTH | WEST ; connections
-
 	; NORTH to Fuchsia City
 	map FUCHSIA_CITY
 	dw (FuchsiaCity_BlockData + (FUCHSIA_CITY_HEIGHT * FUCHSIA_CITY_WIDTH) - (FUCHSIA_CITY_WIDTH * 3)) ; strip pointer
@@ -1116,15 +830,8 @@
 	dw ($C807 + 59) ; window
 ; 0x953e4
 
-FuchsiaCity_SecondMapHeader: ; 0x953e4
-	db $f ; border block
-	db FUCHSIA_CITY_HEIGHT, FUCHSIA_CITY_WIDTH
-	dbw BANK(FuchsiaCity_BlockData), FuchsiaCity_BlockData
-	dbw BANK(FuchsiaCity_MapScriptHeader), FuchsiaCity_MapScriptHeader
-	dw FuchsiaCity_MapEventHeader
+	map_header_2 FuchsiaCity, FUCHSIA_CITY, $f, SOUTH | WEST | EAST ; 0x953e4
 
-	db SOUTH | WEST | EAST ; connections
-
 	; SOUTH to Route 19
 	map ROUTE_19
 	dw (Route19_BlockData) ; strip pointer
@@ -1150,15 +857,8 @@
 	dw ($C807 + ROUTE_15_WIDTH) ; window
 ; 0x95414
 
-Route18_SecondMapHeader: ; 0x95414
-	db $43 ; border block
-	db ROUTE_18_HEIGHT, ROUTE_18_WIDTH
-	dbw BANK(Route18_BlockData), Route18_BlockData
-	dbw BANK(Route18_MapScriptHeader), Route18_MapScriptHeader
-	dw Route18_MapEventHeader
+	map_header_2 Route18, ROUTE_18, $43, WEST | EAST ; 0x95414
 
-	db WEST | EAST ; connections
-
 	; WEST to Route 17
 	map ROUTE_17
 	dw (Route17_BlockData + ((ROUTE_17_HEIGHT - 10) * ROUTE_17_WIDTH) + 7) ; strip pointer
@@ -1176,15 +876,8 @@
 	dw ($C807 + FUCHSIA_CITY_WIDTH) ; window
 ; 0x95438
 
-Route17_SecondMapHeader: ; 0x95438
-	db $43 ; border block
-	db ROUTE_17_HEIGHT, ROUTE_17_WIDTH
-	dbw BANK(Route17_BlockData), Route17_BlockData
-	dbw BANK(Route17_MapScriptHeader), Route17_MapScriptHeader
-	dw Route17_MapEventHeader
+	map_header_2 Route17, ROUTE_17, $43, NORTH | EAST ; 0x95438
 
-	db NORTH | EAST ; connections
-
 	; NORTH to Route 16
 	map ROUTE_16
 	dw (Route16_BlockData + (ROUTE_16_HEIGHT * ROUTE_16_WIDTH) - (ROUTE_16_WIDTH * 3)) ; strip pointer
@@ -1202,15 +895,8 @@
 	dw ($C807 + ROUTE_18_WIDTH) ; window
 ; 0x9545c
 
-Route16_SecondMapHeader: ; 0x9545c
-	db $f ; border block
-	db ROUTE_16_HEIGHT, ROUTE_16_WIDTH
-	dbw BANK(Route16_BlockData), Route16_BlockData
-	dbw BANK(Route16_MapScriptHeader), Route16_MapScriptHeader
-	dw Route16_MapEventHeader
+	map_header_2 Route16, ROUTE_16, $f, SOUTH | EAST ; 0x9545c
 
-	db SOUTH | EAST ; connections
-
 	; SOUTH to Route 17
 	map ROUTE_17
 	dw (Route17_BlockData) ; strip pointer
@@ -1228,15 +914,8 @@
 	dw ($C807 + CELADON_CITY_WIDTH) ; window
 ; 0x95480
 
-CeladonCity_SecondMapHeader: ; 0x95480
-	db $f ; border block
-	db CELADON_CITY_HEIGHT, CELADON_CITY_WIDTH
-	dbw BANK(CeladonCity_BlockData), CeladonCity_BlockData
-	dbw BANK(CeladonCity_MapScriptHeader), CeladonCity_MapScriptHeader
-	dw CeladonCity_MapEventHeader
+	map_header_2 CeladonCity, CELADON_CITY, $f, WEST | EAST ; 0x95480
 
-	db WEST | EAST ; connections
-
 	; WEST to Route 16
 	map ROUTE_16
 	dw (Route16_BlockData + ROUTE_16_WIDTH - 3) ; strip pointer
@@ -1254,15 +933,8 @@
 	dw ($C807 + ROUTE_7_WIDTH) ; window
 ; 0x954a4
 
-Route7_SecondMapHeader: ; 0x954a4
-	db $f ; border block
-	db ROUTE_7_HEIGHT, ROUTE_7_WIDTH
-	dbw BANK(Route7_BlockData), Route7_BlockData
-	dbw BANK(Route7_MapScriptHeader), Route7_MapScriptHeader
-	dw Route7_MapEventHeader
+	map_header_2 Route7, ROUTE_7, $f, WEST | EAST ; 0x954a4
 
-	db WEST | EAST ; connections
-
 	; WEST to Celadon City
 	map CELADON_CITY
 	dw (CeladonCity_BlockData + 21 + (CELADON_CITY_HEIGHT * 2)) ; strip pointer
@@ -1280,15 +952,8 @@
 	dw ($C807 + SAFFRON_CITY_WIDTH) ; window
 ; 0x954c8
 
-Route15_SecondMapHeader: ; 0x954c8
-	db $f ; border block
-	db ROUTE_15_HEIGHT, ROUTE_15_WIDTH
-	dbw BANK(Route15_BlockData), Route15_BlockData
-	dbw BANK(Route15_MapScriptHeader), Route15_MapScriptHeader
-	dw Route15_MapEventHeader
+	map_header_2 Route15, ROUTE_15, $f, WEST | EAST ; 0x954c8
 
-	db WEST | EAST ; connections
-
 	; WEST to Fuchsia City
 	map FUCHSIA_CITY
 	dw (FuchsiaCity_BlockData + (((FUCHSIA_CITY_HEIGHT - ROUTE_15_HEIGHT) * FUCHSIA_CITY_WIDTH) - (FUCHSIA_CITY_WIDTH * 3) + (FUCHSIA_CITY_WIDTH - 1) - 2)) ; strip pointer
@@ -1306,15 +971,8 @@
 	dw ($C807 + ROUTE_14_WIDTH) ; window
 ; 0x954ec
 
-Route14_SecondMapHeader: ; 0x954ec
-	db $43 ; border block
-	db ROUTE_14_HEIGHT, ROUTE_14_WIDTH
-	dbw BANK(Route14_BlockData), Route14_BlockData
-	dbw BANK(Route14_MapScriptHeader), Route14_MapScriptHeader
-	dw Route14_MapEventHeader
+	map_header_2 Route14, ROUTE_14, $43, NORTH | WEST ; 0x954ec
 
-	db NORTH | WEST ; connections
-
 	; NORTH to Route 13
 	map ROUTE_13
 	dw (Route13_BlockData + (ROUTE_13_HEIGHT * ROUTE_13_WIDTH) - (ROUTE_13_WIDTH * 3)) ; strip pointer
@@ -1332,15 +990,8 @@
 	dw ($C807 + 39) ; window
 ; 0x95510
 
-Route13_SecondMapHeader: ; 0x95510
-	db $43 ; border block
-	db ROUTE_13_HEIGHT, ROUTE_13_WIDTH
-	dbw BANK(Route13_BlockData), Route13_BlockData
-	dbw BANK(Route13_MapScriptHeader), Route13_MapScriptHeader
-	dw Route13_MapEventHeader
+	map_header_2 Route13, ROUTE_13, $43, NORTH | SOUTH ; 0x95510
 
-	db NORTH | SOUTH ; connections
-
 	; NORTH to Route 12
 	map ROUTE_12
 	dw (Route12_BlockData + (ROUTE_12_HEIGHT * ROUTE_12_WIDTH) - (ROUTE_12_WIDTH * 3)) ; strip pointer
@@ -1358,15 +1009,8 @@
 	dw ($C807 + ROUTE_14_WIDTH) ; window
 ; 0x95534
 
-Route12_SecondMapHeader: ; 0x95534
-	db $43 ; border block
-	db ROUTE_12_HEIGHT, ROUTE_12_WIDTH
-	dbw BANK(Route12_BlockData), Route12_BlockData
-	dbw BANK(Route12_MapScriptHeader), Route12_MapScriptHeader
-	dw Route12_MapEventHeader
+	map_header_2 Route12, ROUTE_12, $43, NORTH | SOUTH | WEST ; 0x95534
 
-	db NORTH | SOUTH | WEST ; connections
-
 	; NORTH to Lavender Town
 	map LAVENDER_TOWN
 	dw (LavenderTown_BlockData + (LAVENDER_TOWN_HEIGHT * LAVENDER_TOWN_WIDTH) - (LAVENDER_TOWN_WIDTH * 3)) ; strip pointer
@@ -1392,15 +1036,8 @@
 	dw ($C807 + 39) ; window
 ; 0x95564
 
-Route11_SecondMapHeader: ; 0x95564
-	db $f ; border block
-	db ROUTE_11_HEIGHT, ROUTE_11_WIDTH
-	dbw BANK(Route11_BlockData), Route11_BlockData
-	dbw BANK(Route11_MapScriptHeader), Route11_MapScriptHeader
-	dw Route11_MapEventHeader
+	map_header_2 Route11, ROUTE_11, $f, WEST | EAST ; 0x95564
 
-	db WEST | EAST ; connections
-
 	; WEST to Vermilion City
 	map VERMILION_CITY
 	dw (VermilionCity_BlockData + VERMILION_CITY_WIDTH - 3) ; strip pointer
@@ -1418,15 +1055,8 @@
 	dw ($C807 + ROUTE_12_WIDTH) ; window
 ; 0x95588
 
-LavenderTown_SecondMapHeader: ; 0x95588
-	db $2c ; border block
-	db LAVENDER_TOWN_HEIGHT, LAVENDER_TOWN_WIDTH
-	dbw BANK(LavenderTown_BlockData), LavenderTown_BlockData
-	dbw BANK(LavenderTown_MapScriptHeader), LavenderTown_MapScriptHeader
-	dw LavenderTown_MapEventHeader
+	map_header_2 LavenderTown, LAVENDER_TOWN, $2c, NORTH | SOUTH | WEST ; 0x95588
 
-	db NORTH | SOUTH | WEST ; connections
-
 	; NORTH to Route 10 South
 	map ROUTE_10_SOUTH
 	dw (Route10South_BlockData + (ROUTE_10_SOUTH_HEIGHT * ROUTE_10_SOUTH_WIDTH) - (ROUTE_10_SOUTH_WIDTH * 3)) ; strip pointer
@@ -1452,15 +1082,8 @@
 	dw ($C807 + 39) ; window
 ; 0x955b8
 
-VermilionCity_SecondMapHeader: ; 0x955b8
-	db $43 ; border block
-	db VERMILION_CITY_HEIGHT, VERMILION_CITY_WIDTH
-	dbw BANK(VermilionCity_BlockData), VermilionCity_BlockData
-	dbw BANK(VermilionCity_MapScriptHeader), VermilionCity_MapScriptHeader
-	dw VermilionCity_MapEventHeader
+	map_header_2 VermilionCity, VERMILION_CITY, $43, NORTH | EAST ; 0x955b8
 
-	db NORTH | EAST ; connections
-
 	; NORTH to Route 6
 	map ROUTE_6
 	dw (Route6_BlockData + (ROUTE_6_HEIGHT * ROUTE_6_WIDTH) - (ROUTE_6_WIDTH * 3)) ; strip pointer
@@ -1478,15 +1101,8 @@
 	dw ($C807 + ROUTE_11_WIDTH) ; window
 ; 0x955dc
 
-Route6_SecondMapHeader: ; 0x955dc
-	db $f ; border block
-	db ROUTE_6_HEIGHT, ROUTE_6_WIDTH
-	dbw BANK(Route6_BlockData), Route6_BlockData
-	dbw BANK(Route6_MapScriptHeader), Route6_MapScriptHeader
-	dw Route6_MapEventHeader
+	map_header_2 Route6, ROUTE_6, $f, NORTH | SOUTH ; 0x955dc
 
-	db NORTH | SOUTH ; connections
-
 	; NORTH to Saffron City
 	map SAFFRON_CITY
 	dw (SaffronCity_BlockData + SAFFRON_CITY_WIDTH + 10 + (16 * SAFFRON_CITY_HEIGHT) - 16) ; strip pointer
@@ -1504,15 +1120,8 @@
 	dw ($C807 + VERMILION_CITY_WIDTH) ; window
 ; 0x95600
 
-SaffronCity_SecondMapHeader: ; 0x95600
-	db $f ; border block
-	db SAFFRON_CITY_HEIGHT, SAFFRON_CITY_WIDTH
-	dbw BANK(SaffronCity_BlockData), SaffronCity_BlockData
-	dbw BANK(SaffronCity_MapScriptHeader), SaffronCity_MapScriptHeader
-	dw SaffronCity_MapEventHeader
+	map_header_2 SaffronCity, SAFFRON_CITY, $f, NORTH | SOUTH | WEST | EAST ; 0x95600
 
-	db NORTH | SOUTH | WEST | EAST ; connections
-
 	; NORTH to Route 5
 	map ROUTE_5
 	dw (Route5_BlockData + (ROUTE_5_HEIGHT * ROUTE_5_WIDTH) - (ROUTE_5_WIDTH * 3)) ; strip pointer
@@ -1546,15 +1155,8 @@
 	dw ($C807 + ROUTE_8_WIDTH) ; window
 ; 0x9563c
 
-Route5_SecondMapHeader: ; 0x9563c
-	db $f ; border block
-	db ROUTE_5_HEIGHT, ROUTE_5_WIDTH
-	dbw BANK(Route5_BlockData), Route5_BlockData
-	dbw BANK(Route5_MapScriptHeader), Route5_MapScriptHeader
-	dw Route5_MapEventHeader
+	map_header_2 Route5, ROUTE_5, $f, NORTH | SOUTH ; 0x9563c
 
-	db NORTH | SOUTH ; connections
-
 	; NORTH to Cerulean City
 	map CERULEAN_CITY
 	dw (CeruleanCity_BlockData + CERULEAN_CITY_WIDTH + 10 + (16 * CERULEAN_CITY_HEIGHT) - 16) ; strip pointer
@@ -1572,15 +1174,8 @@
 	dw ($C807 + SAFFRON_CITY_WIDTH) ; window
 ; 0x95660
 
-CeruleanCity_SecondMapHeader: ; 0x95660
-	db $f ; border block
-	db CERULEAN_CITY_HEIGHT, CERULEAN_CITY_WIDTH
-	dbw BANK(CeruleanCity_BlockData), CeruleanCity_BlockData
-	dbw BANK(CeruleanCity_MapScriptHeader), CeruleanCity_MapScriptHeader
-	dw CeruleanCity_MapEventHeader
+	map_header_2 CeruleanCity, CERULEAN_CITY, $f, NORTH | SOUTH | WEST | EAST ; 0x95660
 
-	db NORTH | SOUTH | WEST | EAST ; connections
-
 	; NORTH to Route 24
 	map ROUTE_24
 	dw (Route24_BlockData + (ROUTE_24_HEIGHT * ROUTE_24_WIDTH) - (ROUTE_24_WIDTH * 3)) ; strip pointer
@@ -1614,15 +1209,8 @@
 	dw ($C807 + ROUTE_9_WIDTH) ; window
 ; 0x9569c
 
-Route9_SecondMapHeader: ; 0x9569c
-	db $2c ; border block
-	db ROUTE_9_HEIGHT, ROUTE_9_WIDTH
-	dbw BANK(Route9_BlockData), Route9_BlockData
-	dbw BANK(Route9_MapScriptHeader), Route9_MapScriptHeader
-	dw Route9_MapEventHeader
+	map_header_2 Route9, ROUTE_9, $2c, SOUTH | WEST ; 0x9569c
 
-	db SOUTH | WEST ; connections
-
 	; SOUTH to Route 10 North
 	map ROUTE_10_NORTH
 	dw (Route10North_BlockData) ; strip pointer
@@ -1640,15 +1228,8 @@
 	dw ($C807 + 39) ; window
 ; 0x956c0
 
-Route24_SecondMapHeader: ; 0x956c0
-	db $2c ; border block
-	db ROUTE_24_HEIGHT, ROUTE_24_WIDTH
-	dbw BANK(Route24_BlockData), Route24_BlockData
-	dbw BANK(Route24_MapScriptHeader), Route24_MapScriptHeader
-	dw Route24_MapEventHeader
+	map_header_2 Route24, ROUTE_24, $2c, NORTH | SOUTH ; 0x956c0
 
-	db NORTH | SOUTH ; connections
-
 	; NORTH to Route 25
 	map ROUTE_25
 	dw (Route25_BlockData + (ROUTE_25_HEIGHT * ROUTE_25_WIDTH) - (ROUTE_25_WIDTH * 3)) ; strip pointer
@@ -1666,15 +1247,8 @@
 	dw ($C807 + CERULEAN_CITY_WIDTH) ; window
 ; 0x956e4
 
-Route25_SecondMapHeader: ; 0x956e4
-	db $2c ; border block
-	db ROUTE_25_HEIGHT, ROUTE_25_WIDTH
-	dbw BANK(Route25_BlockData), Route25_BlockData
-	dbw BANK(Route25_MapScriptHeader), Route25_MapScriptHeader
-	dw Route25_MapEventHeader
+	map_header_2 Route25, ROUTE_25, $2c, SOUTH ; 0x956e4
 
-	db SOUTH ; connections
-
 	; SOUTH to Route 24
 	map ROUTE_24
 	dw (Route24_BlockData) ; strip pointer
@@ -1684,15 +1258,8 @@
 	dw ($C807 + ROUTE_24_WIDTH) ; window
 ; 0x956fc
 
-Route3_SecondMapHeader: ; 0x956fc
-	db $2c ; border block
-	db ROUTE_3_HEIGHT, ROUTE_3_WIDTH
-	dbw BANK(Route3_BlockData), Route3_BlockData
-	dbw BANK(Route3_MapScriptHeader), Route3_MapScriptHeader
-	dw Route3_MapEventHeader
+	map_header_2 Route3, ROUTE_3, $2c, WEST | EAST ; 0x956fc
 
-	db WEST | EAST ; connections
-
 	; WEST to Pewter City
 	map PEWTER_CITY
 	dw (PewterCity_BlockData + 21 + (PEWTER_CITY_HEIGHT * 2)) ; strip pointer
@@ -1710,15 +1277,8 @@
 	dw ($C807 + ROUTE_4_WIDTH) ; window
 ; 0x95720
 
-Route4_SecondMapHeader: ; 0x95720
-	db $2c ; border block
-	db ROUTE_4_HEIGHT, ROUTE_4_WIDTH
-	dbw BANK(Route4_BlockData), Route4_BlockData
-	dbw BANK(Route4_MapScriptHeader), Route4_MapScriptHeader
-	dw Route4_MapEventHeader
+	map_header_2 Route4, ROUTE_4, $2c, WEST | EAST ; 0x95720
 
-	db WEST | EAST ; connections
-
 	; WEST to Route 3
 	map ROUTE_3
 	dw (Route3_BlockData + ROUTE_3_WIDTH - 3) ; strip pointer
@@ -1736,15 +1296,8 @@
 	dw ($C807 + CERULEAN_CITY_WIDTH) ; window
 ; 0x95744
 
-Route8_SecondMapHeader: ; 0x95744
-	db $2c ; border block
-	db ROUTE_8_HEIGHT, ROUTE_8_WIDTH
-	dbw BANK(Route8_BlockData), Route8_BlockData
-	dbw BANK(Route8_MapScriptHeader), Route8_MapScriptHeader
-	dw Route8_MapEventHeader
+	map_header_2 Route8, ROUTE_8, $2c, WEST | EAST ; 0x95744
 
-	db WEST | EAST ; connections
-
 	; WEST to Saffron City
 	map SAFFRON_CITY
 	dw (SaffronCity_BlockData + (((SAFFRON_CITY_HEIGHT - ROUTE_8_HEIGHT) * SAFFRON_CITY_WIDTH) - (SAFFRON_CITY_WIDTH * 3) + (SAFFRON_CITY_WIDTH - 1) - 2)) ; strip pointer
@@ -1762,15 +1315,8 @@
 	dw ($C807 + LAVENDER_TOWN_WIDTH) ; window
 ; 0x95768
 
-Route10North_SecondMapHeader: ; 0x95768
-	db $2c ; border block
-	db ROUTE_10_NORTH_HEIGHT, ROUTE_10_NORTH_WIDTH
-	dbw BANK(Route10North_BlockData), Route10North_BlockData
-	dbw BANK(Route10North_MapScriptHeader), Route10North_MapScriptHeader
-	dw Route10North_MapEventHeader
+	map_header_2 Route10North, ROUTE_10_NORTH, $2c, NORTH | SOUTH ; 0x95768
 
-	db NORTH | SOUTH ; connections
-
 	; NORTH to Route 9
 	map ROUTE_9
 	dw (Route9_BlockData + ((ROUTE_9_HEIGHT - 3) * ROUTE_9_WIDTH) + 17) ; strip pointer
@@ -1788,15 +1334,8 @@
 	dw ($C807 + ROUTE_10_SOUTH_WIDTH) ; window
 ; 0x9578c
 
-Route10South_SecondMapHeader: ; 0x9578c
-	db $2c ; border block
-	db ROUTE_10_SOUTH_HEIGHT, ROUTE_10_SOUTH_WIDTH
-	dbw BANK(Route10South_BlockData), Route10South_BlockData
-	dbw BANK(Route10South_MapScriptHeader), Route10South_MapScriptHeader
-	dw Route10South_MapEventHeader
+	map_header_2 Route10South, ROUTE_10_SOUTH, $2c, NORTH | SOUTH ; 0x9578c
 
-	db NORTH | SOUTH ; connections
-
 	; NORTH to Route 10 North
 	map ROUTE_10_NORTH
 	dw (Route10North_BlockData + (ROUTE_10_NORTH_HEIGHT * ROUTE_10_NORTH_WIDTH) - (ROUTE_10_NORTH_WIDTH * 3)) ; strip pointer
@@ -1814,3202 +1353,323 @@
 	dw ($C807 + LAVENDER_TOWN_WIDTH) ; window
 ; 0x957b0
 
-Route23_SecondMapHeader: ; 0x957b0
-	db $f ; border block
-	db ROUTE_23_HEIGHT, ROUTE_23_WIDTH
-	dbw BANK(Route23_BlockData), Route23_BlockData
-	dbw BANK(Route23_MapScriptHeader), Route23_MapScriptHeader
-	dw Route23_MapEventHeader
-
-	db 0 ; connections
-; 0x957bc
-
-SproutTower1F_SecondMapHeader: ; 0x957bc
-	db $0 ; border block
-	db SPROUT_TOWER_1F_HEIGHT, SPROUT_TOWER_1F_WIDTH
-	dbw BANK(SproutTower1F_BlockData), SproutTower1F_BlockData
-	dbw BANK(SproutTower1F_MapScriptHeader), SproutTower1F_MapScriptHeader
-	dw SproutTower1F_MapEventHeader
-
-	db 0 ; connections
-; 0x957c8
-
-SproutTower2F_SecondMapHeader: ; 0x957c8
-	db $0 ; border block
-	db SPROUT_TOWER_2F_HEIGHT, SPROUT_TOWER_2F_WIDTH
-	dbw BANK(SproutTower2F_BlockData), SproutTower2F_BlockData
-	dbw BANK(SproutTower2F_MapScriptHeader), SproutTower2F_MapScriptHeader
-	dw SproutTower2F_MapEventHeader
-
-	db 0 ; connections
-; 0x957d4
-
-SproutTower3F_SecondMapHeader: ; 0x957d4
-	db $0 ; border block
-	db SPROUT_TOWER_3F_HEIGHT, SPROUT_TOWER_3F_WIDTH
-	dbw BANK(SproutTower3F_BlockData), SproutTower3F_BlockData
-	dbw BANK(SproutTower3F_MapScriptHeader), SproutTower3F_MapScriptHeader
-	dw SproutTower3F_MapEventHeader
-
-	db 0 ; connections
-; 0x957e0
-
-TinTower1F_SecondMapHeader: ; 0x957e0
-	db $0 ; border block
-	db TIN_TOWER_1F_HEIGHT, TIN_TOWER_1F_WIDTH
-	dbw BANK(TinTower1F_BlockData), TinTower1F_BlockData
-	dbw BANK(TinTower1F_MapScriptHeader), TinTower1F_MapScriptHeader
-	dw TinTower1F_MapEventHeader
-
-	db 0 ; connections
-; 0x957ec
-
-TinTower2F_SecondMapHeader: ; 0x957ec
-	db $0 ; border block
-	db TIN_TOWER_2F_HEIGHT, TIN_TOWER_2F_WIDTH
-	dbw BANK(TinTower2F_BlockData), TinTower2F_BlockData
-	dbw BANK(TinTower2F_MapScriptHeader), TinTower2F_MapScriptHeader
-	dw TinTower2F_MapEventHeader
-
-	db 0 ; connections
-; 0x957f8
-
-TinTower3F_SecondMapHeader: ; 0x957f8
-	db $0 ; border block
-	db TIN_TOWER_3F_HEIGHT, TIN_TOWER_3F_WIDTH
-	dbw BANK(TinTower3F_BlockData), TinTower3F_BlockData
-	dbw BANK(TinTower3F_MapScriptHeader), TinTower3F_MapScriptHeader
-	dw TinTower3F_MapEventHeader
-
-	db 0 ; connections
-; 0x95804
-
-TinTower4F_SecondMapHeader: ; 0x95804
-	db $0 ; border block
-	db TIN_TOWER_4F_HEIGHT, TIN_TOWER_4F_WIDTH
-	dbw BANK(TinTower4F_BlockData), TinTower4F_BlockData
-	dbw BANK(TinTower4F_MapScriptHeader), TinTower4F_MapScriptHeader
-	dw TinTower4F_MapEventHeader
-
-	db 0 ; connections
-; 0x95810
-
-TinTower5F_SecondMapHeader: ; 0x95810
-	db $0 ; border block
-	db TIN_TOWER_5F_HEIGHT, TIN_TOWER_5F_WIDTH
-	dbw BANK(TinTower5F_BlockData), TinTower5F_BlockData
-	dbw BANK(TinTower5F_MapScriptHeader), TinTower5F_MapScriptHeader
-	dw TinTower5F_MapEventHeader
-
-	db 0 ; connections
-; 0x9581c
-
-TinTower6F_SecondMapHeader: ; 0x9581c
-	db $0 ; border block
-	db TIN_TOWER_6F_HEIGHT, TIN_TOWER_6F_WIDTH
-	dbw BANK(TinTower6F_BlockData), TinTower6F_BlockData
-	dbw BANK(TinTower6F_MapScriptHeader), TinTower6F_MapScriptHeader
-	dw TinTower6F_MapEventHeader
-
-	db 0 ; connections
-; 0x95828
-
-TinTower7F_SecondMapHeader: ; 0x95828
-	db $0 ; border block
-	db TIN_TOWER_7F_HEIGHT, TIN_TOWER_7F_WIDTH
-	dbw BANK(TinTower7F_BlockData), TinTower7F_BlockData
-	dbw BANK(TinTower7F_MapScriptHeader), TinTower7F_MapScriptHeader
-	dw TinTower7F_MapEventHeader
-
-	db 0 ; connections
-; 0x95834
-
-TinTower8F_SecondMapHeader: ; 0x95834
-	db $0 ; border block
-	db TIN_TOWER_8F_HEIGHT, TIN_TOWER_8F_WIDTH
-	dbw BANK(TinTower8F_BlockData), TinTower8F_BlockData
-	dbw BANK(TinTower8F_MapScriptHeader), TinTower8F_MapScriptHeader
-	dw TinTower8F_MapEventHeader
-
-	db 0 ; connections
-; 0x95840
-
-TinTower9F_SecondMapHeader: ; 0x95840
-	db $0 ; border block
-	db TIN_TOWER_9F_HEIGHT, TIN_TOWER_9F_WIDTH
-	dbw BANK(TinTower9F_BlockData), TinTower9F_BlockData
-	dbw BANK(TinTower9F_MapScriptHeader), TinTower9F_MapScriptHeader
-	dw TinTower9F_MapEventHeader
-
-	db 0 ; connections
-; 0x9584c
-
-BurnedTower1F_SecondMapHeader: ; 0x9584c
-	db $0 ; border block
-	db BURNED_TOWER_1F_HEIGHT, BURNED_TOWER_1F_WIDTH
-	dbw BANK(BurnedTower1F_BlockData), BurnedTower1F_BlockData
-	dbw BANK(BurnedTower1F_MapScriptHeader), BurnedTower1F_MapScriptHeader
-	dw BurnedTower1F_MapEventHeader
-
-	db 0 ; connections
-; 0x95858
-
-BurnedTowerB1F_SecondMapHeader: ; 0x95858
-	db $9 ; border block
-	db BURNED_TOWER_B1F_HEIGHT, BURNED_TOWER_B1F_WIDTH
-	dbw BANK(BurnedTowerB1F_BlockData), BurnedTowerB1F_BlockData
-	dbw BANK(BurnedTowerB1F_MapScriptHeader), BurnedTowerB1F_MapScriptHeader
-	dw BurnedTowerB1F_MapEventHeader
-
-	db 0 ; connections
-; 0x95864
-
-NationalPark_SecondMapHeader: ; 0x95864
-	db $0 ; border block
-	db NATIONAL_PARK_HEIGHT, NATIONAL_PARK_WIDTH
-	dbw BANK(NationalPark_BlockData), NationalPark_BlockData
-	dbw BANK(NationalPark_MapScriptHeader), NationalPark_MapScriptHeader
-	dw NationalPark_MapEventHeader
-
-	db 0 ; connections
-; 0x95870
-
-NationalParkBugContest_SecondMapHeader: ; 0x95870
-	db $0 ; border block
-	db NATIONAL_PARK_BUG_CONTEST_HEIGHT, NATIONAL_PARK_BUG_CONTEST_WIDTH
-	dbw BANK(NationalPark_BlockData), NationalPark_BlockData
-	dbw BANK(NationalParkBugContest_MapScriptHeader), NationalParkBugContest_MapScriptHeader
-	dw NationalParkBugContest_MapEventHeader
-
-	db 0 ; connections
-; 0x9587c
-
-RadioTower1F_SecondMapHeader: ; 0x9587c
-	db $0 ; border block
-	db RADIO_TOWER_1F_HEIGHT, RADIO_TOWER_1F_WIDTH
-	dbw BANK(RadioTower1F_BlockData), RadioTower1F_BlockData
-	dbw BANK(RadioTower1F_MapScriptHeader), RadioTower1F_MapScriptHeader
-	dw RadioTower1F_MapEventHeader
-
-	db 0 ; connections
-; 0x95888
-
-RadioTower2F_SecondMapHeader: ; 0x95888
-	db $0 ; border block
-	db RADIO_TOWER_2F_HEIGHT, RADIO_TOWER_2F_WIDTH
-	dbw BANK(RadioTower2F_BlockData), RadioTower2F_BlockData
-	dbw BANK(RadioTower2F_MapScriptHeader), RadioTower2F_MapScriptHeader
-	dw RadioTower2F_MapEventHeader
-
-	db 0 ; connections
-; 0x95894
-
-RadioTower3F_SecondMapHeader: ; 0x95894
-	db $0 ; border block
-	db RADIO_TOWER_3F_HEIGHT, RADIO_TOWER_3F_WIDTH
-	dbw BANK(RadioTower3F_BlockData), RadioTower3F_BlockData
-	dbw BANK(RadioTower3F_MapScriptHeader), RadioTower3F_MapScriptHeader
-	dw RadioTower3F_MapEventHeader
-
-	db 0 ; connections
-; 0x958a0
-
-RadioTower4F_SecondMapHeader: ; 0x958a0
-	db $0 ; border block
-	db RADIO_TOWER_4F_HEIGHT, RADIO_TOWER_4F_WIDTH
-	dbw BANK(RadioTower4F_BlockData), RadioTower4F_BlockData
-	dbw BANK(RadioTower4F_MapScriptHeader), RadioTower4F_MapScriptHeader
-	dw RadioTower4F_MapEventHeader
-
-	db 0 ; connections
-; 0x958ac
-
-RadioTower5F_SecondMapHeader: ; 0x958ac
-	db $0 ; border block
-	db RADIO_TOWER_5F_HEIGHT, RADIO_TOWER_5F_WIDTH
-	dbw BANK(RadioTower5F_BlockData), RadioTower5F_BlockData
-	dbw BANK(RadioTower5F_MapScriptHeader), RadioTower5F_MapScriptHeader
-	dw RadioTower5F_MapEventHeader
-
-	db 0 ; connections
-; 0x958b8
-
-RuinsofAlphOutside_SecondMapHeader: ; 0x958b8
-	db $5 ; border block
-	db RUINS_OF_ALPH_OUTSIDE_HEIGHT, RUINS_OF_ALPH_OUTSIDE_WIDTH
-	dbw BANK(RuinsofAlphOutside_BlockData), RuinsofAlphOutside_BlockData
-	dbw BANK(RuinsofAlphOutside_MapScriptHeader), RuinsofAlphOutside_MapScriptHeader
-	dw RuinsofAlphOutside_MapEventHeader
-
-	db 0 ; connections
-; 0x958c4
-
-RuinsofAlphHoOhChamber_SecondMapHeader: ; 0x958c4
-	db $0 ; border block
-	db RUINS_OF_ALPH_HO_OH_CHAMBER_HEIGHT, RUINS_OF_ALPH_HO_OH_CHAMBER_WIDTH
-	dbw BANK(RuinsofAlphHoOhChamber_BlockData), RuinsofAlphHoOhChamber_BlockData
-	dbw BANK(RuinsofAlphHoOhChamber_MapScriptHeader), RuinsofAlphHoOhChamber_MapScriptHeader
-	dw RuinsofAlphHoOhChamber_MapEventHeader
-
-	db 0 ; connections
-; 0x958d0
-
-RuinsofAlphKabutoChamber_SecondMapHeader:: ; 0x958d0
-	db $0 ; border block
-	db RUINS_OF_ALPH_KABUTO_CHAMBER_HEIGHT, RUINS_OF_ALPH_KABUTO_CHAMBER_WIDTH
-	dbw BANK(RuinsofAlphHoOhChamber_BlockData), RuinsofAlphHoOhChamber_BlockData
-	dbw BANK(RuinsofAlphKabutoChamber_MapScriptHeader), RuinsofAlphKabutoChamber_MapScriptHeader
-	dw RuinsofAlphKabutoChamber_MapEventHeader
-
-	db 0 ; connections
-; 0x958dc
-
-RuinsofAlphOmanyteChamber_SecondMapHeader: ; 0x958dc
-	db $0 ; border block
-	db RUINS_OF_ALPH_OMANYTE_CHAMBER_HEIGHT, RUINS_OF_ALPH_OMANYTE_CHAMBER_WIDTH
-	dbw BANK(RuinsofAlphHoOhChamber_BlockData), RuinsofAlphHoOhChamber_BlockData
-	dbw BANK(RuinsofAlphOmanyteChamber_MapScriptHeader), RuinsofAlphOmanyteChamber_MapScriptHeader
-	dw RuinsofAlphOmanyteChamber_MapEventHeader
-
-	db 0 ; connections
-; 0x958e8
-
-RuinsofAlphAerodactylChamber_SecondMapHeader:: ; 0x958e8
-	db $0 ; border block
-	db RUINS_OF_ALPH_AERODACTYL_CHAMBER_HEIGHT, RUINS_OF_ALPH_AERODACTYL_CHAMBER_WIDTH
-	dbw BANK(RuinsofAlphHoOhChamber_BlockData), RuinsofAlphHoOhChamber_BlockData
-	dbw BANK(RuinsofAlphAerodactylChamber_MapScriptHeader), RuinsofAlphAerodactylChamber_MapScriptHeader
-	dw RuinsofAlphAerodactylChamber_MapEventHeader
-
-	db 0 ; connections
-; 0x958f4
-
-RuinsofAlphInnerChamber_SecondMapHeader: ; 0x958f4
-	db $0 ; border block
-	db RUINS_OF_ALPH_INNER_CHAMBER_HEIGHT, RUINS_OF_ALPH_INNER_CHAMBER_WIDTH
-	dbw BANK(RuinsofAlphInnerChamber_BlockData), RuinsofAlphInnerChamber_BlockData
-	dbw BANK(RuinsofAlphInnerChamber_MapScriptHeader), RuinsofAlphInnerChamber_MapScriptHeader
-	dw RuinsofAlphInnerChamber_MapEventHeader
-
-	db 0 ; connections
-; 0x95900
-
-RuinsofAlphResearchCenter_SecondMapHeader: ; 0x95900
-	db $0 ; border block
-	db RUINS_OF_ALPH_RESEARCH_CENTER_HEIGHT, RUINS_OF_ALPH_RESEARCH_CENTER_WIDTH
-	dbw BANK(RuinsofAlphResearchCenter_BlockData), RuinsofAlphResearchCenter_BlockData
-	dbw BANK(RuinsofAlphResearchCenter_MapScriptHeader), RuinsofAlphResearchCenter_MapScriptHeader
-	dw RuinsofAlphResearchCenter_MapEventHeader
-
-	db 0 ; connections
-; 0x9590c
-
-RuinsofAlphHoOhItemRoom_SecondMapHeader: ; 0x9590c
-	db $0 ; border block
-	db RUINS_OF_ALPH_HO_OH_ITEM_ROOM_HEIGHT, RUINS_OF_ALPH_HO_OH_ITEM_ROOM_WIDTH
-	dbw BANK(RuinsofAlphHoOhItemRoom_BlockData), RuinsofAlphHoOhItemRoom_BlockData
-	dbw BANK(RuinsofAlphHoOhItemRoom_MapScriptHeader), RuinsofAlphHoOhItemRoom_MapScriptHeader
-	dw RuinsofAlphHoOhItemRoom_MapEventHeader
-
-	db 0 ; connections
-; 0x95918
-
-RuinsofAlphKabutoItemRoom_SecondMapHeader: ; 0x95918
-	db $0 ; border block
-	db RUINS_OF_ALPH_KABUTO_ITEM_ROOM_HEIGHT, RUINS_OF_ALPH_KABUTO_ITEM_ROOM_WIDTH
-	dbw BANK(RuinsofAlphHoOhItemRoom_BlockData), RuinsofAlphHoOhItemRoom_BlockData
-	dbw BANK(RuinsofAlphKabutoItemRoom_MapScriptHeader), RuinsofAlphKabutoItemRoom_MapScriptHeader
-	dw RuinsofAlphKabutoItemRoom_MapEventHeader
-
-	db 0 ; connections
-; 0x95924
-
-RuinsofAlphOmanyteItemRoom_SecondMapHeader: ; 0x95924
-	db $0 ; border block
-	db RUINS_OF_ALPH_OMANYTE_ITEM_ROOM_HEIGHT, RUINS_OF_ALPH_OMANYTE_ITEM_ROOM_WIDTH
-	dbw BANK(RuinsofAlphHoOhItemRoom_BlockData), RuinsofAlphHoOhItemRoom_BlockData
-	dbw BANK(RuinsofAlphOmanyteItemRoom_MapScriptHeader), RuinsofAlphOmanyteItemRoom_MapScriptHeader
-	dw RuinsofAlphOmanyteItemRoom_MapEventHeader
-
-	db 0 ; connections
-; 0x95930
-
-RuinsofAlphAerodactylItemRoom_SecondMapHeader: ; 0x95930
-	db $0 ; border block
-	db RUINS_OF_ALPH_AERODACTYL_ITEM_ROOM_HEIGHT, RUINS_OF_ALPH_AERODACTYL_ITEM_ROOM_WIDTH
-	dbw BANK(RuinsofAlphHoOhItemRoom_BlockData), RuinsofAlphHoOhItemRoom_BlockData
-	dbw BANK(RuinsofAlphAerodactylItemRoom_MapScriptHeader), RuinsofAlphAerodactylItemRoom_MapScriptHeader
-	dw RuinsofAlphAerodactylItemRoom_MapEventHeader
-
-	db 0 ; connections
-; 0x9593c
-
-RuinsofAlphHoOhWordRoom_SecondMapHeader: ; 0x9593c
-	db $0 ; border block
-	db RUINS_OF_ALPH_HO_OH_WORD_ROOM_HEIGHT, RUINS_OF_ALPH_HO_OH_WORD_ROOM_WIDTH
-	dbw BANK(RuinsofAlphHoOhWordRoom_BlockData), RuinsofAlphHoOhWordRoom_BlockData
-	dbw BANK(RuinsofAlphHoOhWordRoom_MapScriptHeader), RuinsofAlphHoOhWordRoom_MapScriptHeader
-	dw RuinsofAlphHoOhWordRoom_MapEventHeader
-
-	db 0 ; connections
-; 0x95948
-
-RuinsofAlphKabutoWordRoom_SecondMapHeader: ; 0x95948
-	db $0 ; border block
-	db RUINS_OF_ALPH_KABUTO_WORD_ROOM_HEIGHT, RUINS_OF_ALPH_KABUTO_WORD_ROOM_WIDTH
-	dbw BANK(RuinsofAlphKabutoWordRoom_BlockData), RuinsofAlphKabutoWordRoom_BlockData
-	dbw BANK(RuinsofAlphKabutoWordRoom_MapScriptHeader), RuinsofAlphKabutoWordRoom_MapScriptHeader
-	dw RuinsofAlphKabutoWordRoom_MapEventHeader
-
-	db 0 ; connections
-; 0x95954
-
-RuinsofAlphOmanyteWordRoom_SecondMapHeader: ; 0x95954
-	db $0 ; border block
-	db RUINS_OF_ALPH_OMANYTE_WORD_ROOM_HEIGHT, RUINS_OF_ALPH_OMANYTE_WORD_ROOM_WIDTH
-	dbw BANK(RuinsofAlphOmanyteWordRoom_BlockData), RuinsofAlphOmanyteWordRoom_BlockData
-	dbw BANK(RuinsofAlphOmanyteWordRoom_MapScriptHeader), RuinsofAlphOmanyteWordRoom_MapScriptHeader
-	dw RuinsofAlphOmanyteWordRoom_MapEventHeader
-
-	db 0 ; connections
-; 0x95960
-
-RuinsofAlphAerodactylWordRoom_SecondMapHeader: ; 0x95960
-	db $0 ; border block
-	db RUINS_OF_ALPH_AERODACTYL_WORD_ROOM_HEIGHT, RUINS_OF_ALPH_AERODACTYL_WORD_ROOM_WIDTH
-	dbw BANK(RuinsofAlphAerodactylWordRoom_BlockData), RuinsofAlphAerodactylWordRoom_BlockData
-	dbw BANK(RuinsofAlphAerodactylWordRoom_MapScriptHeader), RuinsofAlphAerodactylWordRoom_MapScriptHeader
-	dw RuinsofAlphAerodactylWordRoom_MapEventHeader
-
-	db 0 ; connections
-; 0x9596c
-
-UnionCave1F_SecondMapHeader: ; 0x9596c
-	db $9 ; border block
-	db UNION_CAVE_1F_HEIGHT, UNION_CAVE_1F_WIDTH
-	dbw BANK(UnionCave1F_BlockData), UnionCave1F_BlockData
-	dbw BANK(UnionCave1F_MapScriptHeader), UnionCave1F_MapScriptHeader
-	dw UnionCave1F_MapEventHeader
-
-	db 0 ; connections
-; 0x95978
-
-UnionCaveB1F_SecondMapHeader: ; 0x95978
-	db $9 ; border block
-	db UNION_CAVE_B1F_HEIGHT, UNION_CAVE_B1F_WIDTH
-	dbw BANK(UnionCaveB1F_BlockData), UnionCaveB1F_BlockData
-	dbw BANK(UnionCaveB1F_MapScriptHeader), UnionCaveB1F_MapScriptHeader
-	dw UnionCaveB1F_MapEventHeader
-
-	db 0 ; connections
-; 0x95984
-
-UnionCaveB2F_SecondMapHeader: ; 0x95984
-	db $9 ; border block
-	db UNION_CAVE_B2F_HEIGHT, UNION_CAVE_B2F_WIDTH
-	dbw BANK(UnionCaveB2F_BlockData), UnionCaveB2F_BlockData
-	dbw BANK(UnionCaveB2F_MapScriptHeader), UnionCaveB2F_MapScriptHeader
-	dw UnionCaveB2F_MapEventHeader
-
-	db 0 ; connections
-; 0x95990
-
-SlowpokeWellB1F_SecondMapHeader: ; 0x95990
-	db $9 ; border block
-	db SLOWPOKE_WELL_B1F_HEIGHT, SLOWPOKE_WELL_B1F_WIDTH
-	dbw BANK(SlowpokeWellB1F_BlockData), SlowpokeWellB1F_BlockData
-	dbw BANK(SlowpokeWellB1F_MapScriptHeader), SlowpokeWellB1F_MapScriptHeader
-	dw SlowpokeWellB1F_MapEventHeader
-
-	db 0 ; connections
-; 0x9599c
-
-SlowpokeWellB2F_SecondMapHeader: ; 0x9599c
-	db $9 ; border block
-	db SLOWPOKE_WELL_B2F_HEIGHT, SLOWPOKE_WELL_B2F_WIDTH
-	dbw BANK(SlowpokeWellB2F_BlockData), SlowpokeWellB2F_BlockData
-	dbw BANK(SlowpokeWellB2F_MapScriptHeader), SlowpokeWellB2F_MapScriptHeader
-	dw SlowpokeWellB2F_MapEventHeader
-
-	db 0 ; connections
-; 0x959a8
-
-OlivineLighthouse1F_SecondMapHeader: ; 0x959a8
-	db $0 ; border block
-	db OLIVINE_LIGHTHOUSE_1F_HEIGHT, OLIVINE_LIGHTHOUSE_1F_WIDTH
-	dbw BANK(OlivineLighthouse1F_BlockData), OlivineLighthouse1F_BlockData
-	dbw BANK(OlivineLighthouse1F_MapScriptHeader), OlivineLighthouse1F_MapScriptHeader
-	dw OlivineLighthouse1F_MapEventHeader
-
-	db 0 ; connections
-; 0x959b4
-
-OlivineLighthouse2F_SecondMapHeader: ; 0x959b4
-	db $0 ; border block
-	db OLIVINE_LIGHTHOUSE_2F_HEIGHT, OLIVINE_LIGHTHOUSE_2F_WIDTH
-	dbw BANK(OlivineLighthouse2F_BlockData), OlivineLighthouse2F_BlockData
-	dbw BANK(OlivineLighthouse2F_MapScriptHeader), OlivineLighthouse2F_MapScriptHeader
-	dw OlivineLighthouse2F_MapEventHeader
-
-	db 0 ; connections
-; 0x959c0
-
-OlivineLighthouse3F_SecondMapHeader: ; 0x959c0
-	db $0 ; border block
-	db OLIVINE_LIGHTHOUSE_3F_HEIGHT, OLIVINE_LIGHTHOUSE_3F_WIDTH
-	dbw BANK(OlivineLighthouse3F_BlockData), OlivineLighthouse3F_BlockData
-	dbw BANK(OlivineLighthouse3F_MapScriptHeader), OlivineLighthouse3F_MapScriptHeader
-	dw OlivineLighthouse3F_MapEventHeader
-
-	db 0 ; connections
-; 0x959cc
-
-OlivineLighthouse4F_SecondMapHeader: ; 0x959cc
-	db $0 ; border block
-	db OLIVINE_LIGHTHOUSE_4F_HEIGHT, OLIVINE_LIGHTHOUSE_4F_WIDTH
-	dbw BANK(OlivineLighthouse4F_BlockData), OlivineLighthouse4F_BlockData
-	dbw BANK(OlivineLighthouse4F_MapScriptHeader), OlivineLighthouse4F_MapScriptHeader
-	dw OlivineLighthouse4F_MapEventHeader
-
-	db 0 ; connections
-; 0x959d8
-
-OlivineLighthouse5F_SecondMapHeader: ; 0x959d8
-	db $0 ; border block
-	db OLIVINE_LIGHTHOUSE_5F_HEIGHT, OLIVINE_LIGHTHOUSE_5F_WIDTH
-	dbw BANK(OlivineLighthouse5F_BlockData), OlivineLighthouse5F_BlockData
-	dbw BANK(OlivineLighthouse5F_MapScriptHeader), OlivineLighthouse5F_MapScriptHeader
-	dw OlivineLighthouse5F_MapEventHeader
-
-	db 0 ; connections
-; 0x959e4
-
-OlivineLighthouse6F_SecondMapHeader: ; 0x959e4
-	db $0 ; border block
-	db OLIVINE_LIGHTHOUSE_6F_HEIGHT, OLIVINE_LIGHTHOUSE_6F_WIDTH
-	dbw BANK(OlivineLighthouse6F_BlockData), OlivineLighthouse6F_BlockData
-	dbw BANK(OlivineLighthouse6F_MapScriptHeader), OlivineLighthouse6F_MapScriptHeader
-	dw OlivineLighthouse6F_MapEventHeader
-
-	db 0 ; connections
-; 0x959f0
-
-MahoganyMart1F_SecondMapHeader: ; 0x959f0
-	db $0 ; border block
-	db MAHOGANY_MART_1F_HEIGHT, MAHOGANY_MART_1F_WIDTH
-	dbw BANK(MahoganyMart1F_BlockData), MahoganyMart1F_BlockData
-	dbw BANK(MahoganyMart1F_MapScriptHeader), MahoganyMart1F_MapScriptHeader
-	dw MahoganyMart1F_MapEventHeader
-
-	db 0 ; connections
-; 0x959fc
-
-TeamRocketBaseB1F_SecondMapHeader: ; 0x959fc
-	db $0 ; border block
-	db TEAM_ROCKET_BASE_B1F_HEIGHT, TEAM_ROCKET_BASE_B1F_WIDTH
-	dbw BANK(TeamRocketBaseB1F_BlockData), TeamRocketBaseB1F_BlockData
-	dbw BANK(TeamRocketBaseB1F_MapScriptHeader), TeamRocketBaseB1F_MapScriptHeader
-	dw TeamRocketBaseB1F_MapEventHeader
-
-	db 0 ; connections
-; 0x95a08
-
-TeamRocketBaseB2F_SecondMapHeader: ; 0x95a08
-	db $0 ; border block
-	db TEAM_ROCKET_BASE_B2F_HEIGHT, TEAM_ROCKET_BASE_B2F_WIDTH
-	dbw BANK(TeamRocketBaseB2F_BlockData), TeamRocketBaseB2F_BlockData
-	dbw BANK(TeamRocketBaseB2F_MapScriptHeader), TeamRocketBaseB2F_MapScriptHeader
-	dw TeamRocketBaseB2F_MapEventHeader
-
-	db 0 ; connections
-; 0x95a14
-
-TeamRocketBaseB3F_SecondMapHeader: ; 0x95a14
-	db $0 ; border block
-	db TEAM_ROCKET_BASE_B3F_HEIGHT, TEAM_ROCKET_BASE_B3F_WIDTH
-	dbw BANK(TeamRocketBaseB3F_BlockData), TeamRocketBaseB3F_BlockData
-	dbw BANK(TeamRocketBaseB3F_MapScriptHeader), TeamRocketBaseB3F_MapScriptHeader
-	dw TeamRocketBaseB3F_MapEventHeader
-
-	db 0 ; connections
-; 0x95a20
-
-IlexForest_SecondMapHeader: ; 0x95a20
-	db $5 ; border block
-	db ILEX_FOREST_HEIGHT, ILEX_FOREST_WIDTH
-	dbw BANK(IlexForest_BlockData), IlexForest_BlockData
-	dbw BANK(IlexForest_MapScriptHeader), IlexForest_MapScriptHeader
-	dw IlexForest_MapEventHeader
-
-	db 0 ; connections
-; 0x95a2c
-
-WarehouseEntrance_SecondMapHeader: ; 0x95a2c
-	db $0 ; border block
-	db WAREHOUSE_ENTRANCE_HEIGHT, WAREHOUSE_ENTRANCE_WIDTH
-	dbw BANK(WarehouseEntrance_BlockData), WarehouseEntrance_BlockData
-	dbw BANK(WarehouseEntrance_MapScriptHeader), WarehouseEntrance_MapScriptHeader
-	dw WarehouseEntrance_MapEventHeader
-
-	db 0 ; connections
-; 0x95a38
-
-UndergroundPathSwitchRoomEntrances_SecondMapHeader: ; 0x95a38
-	db $0 ; border block
-	db UNDERGROUND_PATH_SWITCH_ROOM_ENTRANCES_HEIGHT, UNDERGROUND_PATH_SWITCH_ROOM_ENTRANCES_WIDTH
-	dbw BANK(UndergroundPathSwitchRoomEntrances_BlockData), UndergroundPathSwitchRoomEntrances_BlockData
-	dbw BANK(UndergroundPathSwitchRoomEntrances_MapScriptHeader), UndergroundPathSwitchRoomEntrances_MapScriptHeader
-	dw UndergroundPathSwitchRoomEntrances_MapEventHeader
-
-	db 0 ; connections
-; 0x95a44
-
-GoldenrodDeptStoreB1F_SecondMapHeader: ; 0x95a44
-	db $0 ; border block
-	db GOLDENROD_DEPT_STORE_B1F_HEIGHT, GOLDENROD_DEPT_STORE_B1F_WIDTH
-	dbw BANK(GoldenrodDeptStoreB1F_BlockData), GoldenrodDeptStoreB1F_BlockData
-	dbw BANK(GoldenrodDeptStoreB1F_MapScriptHeader), GoldenrodDeptStoreB1F_MapScriptHeader
-	dw GoldenrodDeptStoreB1F_MapEventHeader
-
-	db 0 ; connections
-; 0x95a50
-
-UndergroundWarehouse_SecondMapHeader: ; 0x95a50
-	db $0 ; border block
-	db UNDERGROUND_WAREHOUSE_HEIGHT, UNDERGROUND_WAREHOUSE_WIDTH
-	dbw BANK(UndergroundWarehouse_BlockData), UndergroundWarehouse_BlockData
-	dbw BANK(UndergroundWarehouse_MapScriptHeader), UndergroundWarehouse_MapScriptHeader
-	dw UndergroundWarehouse_MapEventHeader
-
-	db 0 ; connections
-; 0x95a5c
-
-MountMortar1FOutside_SecondMapHeader: ; 0x95a5c
-	db $9 ; border block
-	db MOUNT_MORTAR_1F_OUTSIDE_HEIGHT, MOUNT_MORTAR_1F_OUTSIDE_WIDTH
-	dbw BANK(MountMortar1FOutside_BlockData), MountMortar1FOutside_BlockData
-	dbw BANK(MountMortar1FOutside_MapScriptHeader), MountMortar1FOutside_MapScriptHeader
-	dw MountMortar1FOutside_MapEventHeader
-
-	db 0 ; connections
-; 0x95a68
-
-MountMortar1FInside_SecondMapHeader: ; 0x95a68
-	db $9 ; border block
-	db MOUNT_MORTAR_1F_INSIDE_HEIGHT, MOUNT_MORTAR_1F_INSIDE_WIDTH
-	dbw BANK(MountMortar1FInside_BlockData), MountMortar1FInside_BlockData
-	dbw BANK(MountMortar1FInside_MapScriptHeader), MountMortar1FInside_MapScriptHeader
-	dw MountMortar1FInside_MapEventHeader
-
-	db 0 ; connections
-; 0x95a74
-
-MountMortar2FInside_SecondMapHeader: ; 0x95a74
-	db $9 ; border block
-	db MOUNT_MORTAR_2F_INSIDE_HEIGHT, MOUNT_MORTAR_2F_INSIDE_WIDTH
-	dbw BANK(MountMortar2FInside_BlockData), MountMortar2FInside_BlockData
-	dbw BANK(MountMortar2FInside_MapScriptHeader), MountMortar2FInside_MapScriptHeader
-	dw MountMortar2FInside_MapEventHeader
-
-	db 0 ; connections
-; 0x95a80
-
-MountMortarB1F_SecondMapHeader: ; 0x95a80
-	db $9 ; border block
-	db MOUNT_MORTAR_B1F_HEIGHT, MOUNT_MORTAR_B1F_WIDTH
-	dbw BANK(MountMortarB1F_BlockData), MountMortarB1F_BlockData
-	dbw BANK(MountMortarB1F_MapScriptHeader), MountMortarB1F_MapScriptHeader
-	dw MountMortarB1F_MapEventHeader
-
-	db 0 ; connections
-; 0x95a8c
-
-IcePath1F_SecondMapHeader: ; 0x95a8c
-	db $9 ; border block
-	db ICE_PATH_1F_HEIGHT, ICE_PATH_1F_WIDTH
-	dbw BANK(IcePath1F_BlockData), IcePath1F_BlockData
-	dbw BANK(IcePath1F_MapScriptHeader), IcePath1F_MapScriptHeader
-	dw IcePath1F_MapEventHeader
-
-	db 0 ; connections
-; 0x95a98
-
-IcePathB1F_SecondMapHeader: ; 0x95a98
-	db $19 ; border block
-	db ICE_PATH_B1F_HEIGHT, ICE_PATH_B1F_WIDTH
-	dbw BANK(IcePathB1F_BlockData), IcePathB1F_BlockData
-	dbw BANK(IcePathB1F_MapScriptHeader), IcePathB1F_MapScriptHeader
-	dw IcePathB1F_MapEventHeader
-
-	db 0 ; connections
-; 0x95aa4
-
-IcePathB2FMahoganySide_SecondMapHeader: ; 0x95aa4
-	db $19 ; border block
-	db ICE_PATH_B2F_MAHOGANY_SIDE_HEIGHT, ICE_PATH_B2F_MAHOGANY_SIDE_WIDTH
-	dbw BANK(IcePathB2FMahoganySide_BlockData), IcePathB2FMahoganySide_BlockData
-	dbw BANK(IcePathB2FMahoganySide_MapScriptHeader), IcePathB2FMahoganySide_MapScriptHeader
-	dw IcePathB2FMahoganySide_MapEventHeader
-
-	db 0 ; connections
-; 0x95ab0
-
-IcePathB2FBlackthornSide_SecondMapHeader: ; 0x95ab0
-	db $19 ; border block
-	db ICE_PATH_B2F_BLACKTHORN_SIDE_HEIGHT, ICE_PATH_B2F_BLACKTHORN_SIDE_WIDTH
-	dbw BANK(IcePathB2FBlackthornSide_BlockData), IcePathB2FBlackthornSide_BlockData
-	dbw BANK(IcePathB2FBlackthornSide_MapScriptHeader), IcePathB2FBlackthornSide_MapScriptHeader
-	dw IcePathB2FBlackthornSide_MapEventHeader
-
-	db 0 ; connections
-; 0x95abc
-
-IcePathB3F_SecondMapHeader: ; 0x95abc
-	db $19 ; border block
-	db ICE_PATH_B3F_HEIGHT, ICE_PATH_B3F_WIDTH
-	dbw BANK(IcePathB3F_BlockData), IcePathB3F_BlockData
-	dbw BANK(IcePathB3F_MapScriptHeader), IcePathB3F_MapScriptHeader
-	dw IcePathB3F_MapEventHeader
-
-	db 0 ; connections
-; 0x95ac8
-
-WhirlIslandNW_SecondMapHeader: ; 0x95ac8
-	db $9 ; border block
-	db WHIRL_ISLAND_NW_HEIGHT, WHIRL_ISLAND_NW_WIDTH
-	dbw BANK(WhirlIslandNW_BlockData), WhirlIslandNW_BlockData
-	dbw BANK(WhirlIslandNW_MapScriptHeader), WhirlIslandNW_MapScriptHeader
-	dw WhirlIslandNW_MapEventHeader
-
-	db 0 ; connections
-; 0x95ad4
-
-WhirlIslandNE_SecondMapHeader: ; 0x95ad4
-	db $9 ; border block
-	db WHIRL_ISLAND_NE_HEIGHT, WHIRL_ISLAND_NE_WIDTH
-	dbw BANK(WhirlIslandNE_BlockData), WhirlIslandNE_BlockData
-	dbw BANK(WhirlIslandNE_MapScriptHeader), WhirlIslandNE_MapScriptHeader
-	dw WhirlIslandNE_MapEventHeader
-
-	db 0 ; connections
-; 0x95ae0
-
-WhirlIslandSW_SecondMapHeader: ; 0x95ae0
-	db $9 ; border block
-	db WHIRL_ISLAND_SW_HEIGHT, WHIRL_ISLAND_SW_WIDTH
-	dbw BANK(WhirlIslandSW_BlockData), WhirlIslandSW_BlockData
-	dbw BANK(WhirlIslandSW_MapScriptHeader), WhirlIslandSW_MapScriptHeader
-	dw WhirlIslandSW_MapEventHeader
-
-	db 0 ; connections
-; 0x95aec
-
-WhirlIslandCave_SecondMapHeader: ; 0x95aec
-	db $9 ; border block
-	db WHIRL_ISLAND_CAVE_HEIGHT, WHIRL_ISLAND_CAVE_WIDTH
-	dbw BANK(WhirlIslandCave_BlockData), WhirlIslandCave_BlockData
-	dbw BANK(WhirlIslandCave_MapScriptHeader), WhirlIslandCave_MapScriptHeader
-	dw WhirlIslandCave_MapEventHeader
-
-	db 0 ; connections
-; 0x95af8
-
-WhirlIslandSE_SecondMapHeader: ; 0x95af8
-	db $f ; border block
-	db WHIRL_ISLAND_SE_HEIGHT, WHIRL_ISLAND_SE_WIDTH
-	dbw BANK(WhirlIslandSE_BlockData), WhirlIslandSE_BlockData
-	dbw BANK(WhirlIslandSE_MapScriptHeader), WhirlIslandSE_MapScriptHeader
-	dw WhirlIslandSE_MapEventHeader
-
-	db 0 ; connections
-; 0x95b04
-
-WhirlIslandB1F_SecondMapHeader: ; 0x95b04
-	db $9 ; border block
-	db WHIRL_ISLAND_B1F_HEIGHT, WHIRL_ISLAND_B1F_WIDTH
-	dbw BANK(WhirlIslandB1F_BlockData), WhirlIslandB1F_BlockData
-	dbw BANK(WhirlIslandB1F_MapScriptHeader), WhirlIslandB1F_MapScriptHeader
-	dw WhirlIslandB1F_MapEventHeader
-
-	db 0 ; connections
-; 0x95b10
-
-WhirlIslandB2F_SecondMapHeader: ; 0x95b10
-	db $2e ; border block
-	db WHIRL_ISLAND_B2F_HEIGHT, WHIRL_ISLAND_B2F_WIDTH
-	dbw BANK(WhirlIslandB2F_BlockData), WhirlIslandB2F_BlockData
-	dbw BANK(WhirlIslandB2F_MapScriptHeader), WhirlIslandB2F_MapScriptHeader
-	dw WhirlIslandB2F_MapEventHeader
-
-	db 0 ; connections
-; 0x95b1c
-
-WhirlIslandLugiaChamber_SecondMapHeader: ; 0x95b1c
-	db $f ; border block
-	db WHIRL_ISLAND_LUGIA_CHAMBER_HEIGHT, WHIRL_ISLAND_LUGIA_CHAMBER_WIDTH
-	dbw BANK(WhirlIslandLugiaChamber_BlockData), WhirlIslandLugiaChamber_BlockData
-	dbw BANK(WhirlIslandLugiaChamber_MapScriptHeader), WhirlIslandLugiaChamber_MapScriptHeader
-	dw WhirlIslandLugiaChamber_MapEventHeader
-
-	db 0 ; connections
-; 0x95b28
-
-SilverCaveRoom1_SecondMapHeader: ; 0x95b28
-	db $9 ; border block
-	db SILVER_CAVE_ROOM_1_HEIGHT, SILVER_CAVE_ROOM_1_WIDTH
-	dbw BANK(SilverCaveRoom1_BlockData), SilverCaveRoom1_BlockData
-	dbw BANK(SilverCaveRoom1_MapScriptHeader), SilverCaveRoom1_MapScriptHeader
-	dw SilverCaveRoom1_MapEventHeader
-
-	db 0 ; connections
-; 0x95b34
-
-SilverCaveRoom2_SecondMapHeader: ; 0x95b34
-	db $9 ; border block
-	db SILVER_CAVE_ROOM_2_HEIGHT, SILVER_CAVE_ROOM_2_WIDTH
-	dbw BANK(SilverCaveRoom2_BlockData), SilverCaveRoom2_BlockData
-	dbw BANK(SilverCaveRoom2_MapScriptHeader), SilverCaveRoom2_MapScriptHeader
-	dw SilverCaveRoom2_MapEventHeader
-
-	db 0 ; connections
-; 0x95b40
-
-SilverCaveRoom3_SecondMapHeader: ; 0x95b40
-	db $9 ; border block
-	db SILVER_CAVE_ROOM_3_HEIGHT, SILVER_CAVE_ROOM_3_WIDTH
-	dbw BANK(SilverCaveRoom3_BlockData), SilverCaveRoom3_BlockData
-	dbw BANK(SilverCaveRoom3_MapScriptHeader), SilverCaveRoom3_MapScriptHeader
-	dw SilverCaveRoom3_MapEventHeader
-
-	db 0 ; connections
-; 0x95b4c
-
-SilverCaveItemRooms_SecondMapHeader: ; 0x95b4c
-	db $9 ; border block
-	db SILVER_CAVE_ITEM_ROOMS_HEIGHT, SILVER_CAVE_ITEM_ROOMS_WIDTH
-	dbw BANK(SilverCaveItemRooms_BlockData), SilverCaveItemRooms_BlockData
-	dbw BANK(SilverCaveItemRooms_MapScriptHeader), SilverCaveItemRooms_MapScriptHeader
-	dw SilverCaveItemRooms_MapEventHeader
-
-	db 0 ; connections
-; 0x95b58
-
-DarkCaveVioletEntrance_SecondMapHeader: ; 0x95b58
-	db $9 ; border block
-	db DARK_CAVE_VIOLET_ENTRANCE_HEIGHT, DARK_CAVE_VIOLET_ENTRANCE_WIDTH
-	dbw BANK(DarkCaveVioletEntrance_BlockData), DarkCaveVioletEntrance_BlockData
-	dbw BANK(DarkCaveVioletEntrance_MapScriptHeader), DarkCaveVioletEntrance_MapScriptHeader
-	dw DarkCaveVioletEntrance_MapEventHeader
-
-	db 0 ; connections
-; 0x95b64
-
-DarkCaveBlackthornEntrance_SecondMapHeader: ; 0x95b64
-	db $9 ; border block
-	db DARK_CAVE_BLACKTHORN_ENTRANCE_HEIGHT, DARK_CAVE_BLACKTHORN_ENTRANCE_WIDTH
-	dbw BANK(DarkCaveBlackthornEntrance_BlockData), DarkCaveBlackthornEntrance_BlockData
-	dbw BANK(DarkCaveBlackthornEntrance_MapScriptHeader), DarkCaveBlackthornEntrance_MapScriptHeader
-	dw DarkCaveBlackthornEntrance_MapEventHeader
-
-	db 0 ; connections
-; 0x95b70
-
-DragonsDen1F_SecondMapHeader: ; 0x95b70
-	db $9 ; border block
-	db DRAGONS_DEN_1F_HEIGHT, DRAGONS_DEN_1F_WIDTH
-	dbw BANK(DragonsDen1F_BlockData), DragonsDen1F_BlockData
-	dbw BANK(DragonsDen1F_MapScriptHeader), DragonsDen1F_MapScriptHeader
-	dw DragonsDen1F_MapEventHeader
-
-	db 0 ; connections
-; 0x95b7c
-
-DragonsDenB1F_SecondMapHeader: ; 0x95b7c
-	db $71 ; border block
-	db DRAGONS_DEN_B1F_HEIGHT, DRAGONS_DEN_B1F_WIDTH
-	dbw BANK(DragonsDenB1F_BlockData), DragonsDenB1F_BlockData
-	dbw BANK(DragonsDenB1F_MapScriptHeader), DragonsDenB1F_MapScriptHeader
-	dw DragonsDenB1F_MapEventHeader
-
-	db 0 ; connections
-; 0x95b88
-
-DragonShrine_SecondMapHeader: ; 0x95b88
-	db $0 ; border block
-	db DRAGON_SHRINE_HEIGHT, DRAGON_SHRINE_WIDTH
-	dbw BANK(DragonShrine_BlockData), DragonShrine_BlockData
-	dbw BANK(DragonShrine_MapScriptHeader), DragonShrine_MapScriptHeader
-	dw DragonShrine_MapEventHeader
-
-	db 0 ; connections
-; 0x95b94
-
-TohjoFalls_SecondMapHeader: ; 0x95b94
-	db $9 ; border block
-	db TOHJO_FALLS_HEIGHT, TOHJO_FALLS_WIDTH
-	dbw BANK(TohjoFalls_BlockData), TohjoFalls_BlockData
-	dbw BANK(TohjoFalls_MapScriptHeader), TohjoFalls_MapScriptHeader
-	dw TohjoFalls_MapEventHeader
-
-	db 0 ; connections
-; 0x95ba0
-
-OlivinePokeCenter1F_SecondMapHeader: ; 0x95ba0
-	db $0 ; border block
-	db OLIVINE_POKECENTER_1F_HEIGHT, OLIVINE_POKECENTER_1F_WIDTH
-	dbw BANK(OlivinePokeCenter1F_BlockData), OlivinePokeCenter1F_BlockData
-	dbw BANK(OlivinePokeCenter1F_MapScriptHeader), OlivinePokeCenter1F_MapScriptHeader
-	dw OlivinePokeCenter1F_MapEventHeader
-
-	db 0 ; connections
-; 0x95bac
-
-OlivineGym_SecondMapHeader: ; 0x95bac
-	db $0 ; border block
-	db OLIVINE_GYM_HEIGHT, OLIVINE_GYM_WIDTH
-	dbw BANK(OlivineGym_BlockData), OlivineGym_BlockData
-	dbw BANK(OlivineGym_MapScriptHeader), OlivineGym_MapScriptHeader
-	dw OlivineGym_MapEventHeader
-
-	db 0 ; connections
-; 0x95bb8
-
-OlivineVoltorbHouse_SecondMapHeader: ; 0x95bb8
-	db $0 ; border block
-	db OLIVINE_VOLTORB_HOUSE_HEIGHT, OLIVINE_VOLTORB_HOUSE_WIDTH
-	dbw BANK(OlivineVoltorbHouse_BlockData), OlivineVoltorbHouse_BlockData
-	dbw BANK(OlivineVoltorbHouse_MapScriptHeader), OlivineVoltorbHouse_MapScriptHeader
-	dw OlivineVoltorbHouse_MapEventHeader
-
-	db 0 ; connections
-; 0x95bc4
-
-OlivineHouseBeta_SecondMapHeader: ; 0x95bc4
-	db $0 ; border block
-	db OLIVINE_HOUSE_BETA_HEIGHT, OLIVINE_HOUSE_BETA_WIDTH
-	dbw BANK(OlivineVoltorbHouse_BlockData), OlivineVoltorbHouse_BlockData
-	dbw BANK(OlivineHouseBeta_MapScriptHeader), OlivineHouseBeta_MapScriptHeader
-	dw OlivineHouseBeta_MapEventHeader
-
-	db 0 ; connections
-; 0x95bd0
-
-OlivinePunishmentSpeechHouse_SecondMapHeader: ; 0x95bd0
-	db $0 ; border block
-	db OLIVINE_PUNISHMENT_SPEECH_HOUSE_HEIGHT, OLIVINE_PUNISHMENT_SPEECH_HOUSE_WIDTH
-	dbw BANK(OlivineVoltorbHouse_BlockData), OlivineVoltorbHouse_BlockData
-	dbw BANK(OlivinePunishmentSpeechHouse_MapScriptHeader), OlivinePunishmentSpeechHouse_MapScriptHeader
-	dw OlivinePunishmentSpeechHouse_MapEventHeader
-
-	db 0 ; connections
-; 0x95bdc
-
-OlivineGoodRodHouse_SecondMapHeader: ; 0x95bdc
-	db $0 ; border block
-	db OLIVINE_GOOD_ROD_HOUSE_HEIGHT, OLIVINE_GOOD_ROD_HOUSE_WIDTH
-	dbw BANK(OlivineVoltorbHouse_BlockData), OlivineVoltorbHouse_BlockData
-	dbw BANK(OlivineGoodRodHouse_MapScriptHeader), OlivineGoodRodHouse_MapScriptHeader
-	dw OlivineGoodRodHouse_MapEventHeader
-
-	db 0 ; connections
-; 0x95be8
-
-OlivineCafe_SecondMapHeader: ; 0x95be8
-	db $0 ; border block
-	db OLIVINE_CAFE_HEIGHT, OLIVINE_CAFE_WIDTH
-	dbw BANK(OlivineCafe_BlockData), OlivineCafe_BlockData
-	dbw BANK(OlivineCafe_MapScriptHeader), OlivineCafe_MapScriptHeader
-	dw OlivineCafe_MapEventHeader
-
-	db 0 ; connections
-; 0x95bf4
-
-OlivineMart_SecondMapHeader: ; 0x95bf4
-	db $0 ; border block
-	db OLIVINE_MART_HEIGHT, OLIVINE_MART_WIDTH
-	dbw BANK(OlivineMart_BlockData), OlivineMart_BlockData
-	dbw BANK(OlivineMart_MapScriptHeader), OlivineMart_MapScriptHeader
-	dw OlivineMart_MapEventHeader
-
-	db 0 ; connections
-; 0x95c00
-
-Route38EcruteakGate_SecondMapHeader: ; 0x95c00
-	db $0 ; border block
-	db ROUTE_38_ECRUTEAK_GATE_HEIGHT, ROUTE_38_ECRUTEAK_GATE_WIDTH
-	dbw BANK(Route38EcruteakGate_BlockData), Route38EcruteakGate_BlockData
-	dbw BANK(Route38EcruteakGate_MapScriptHeader), Route38EcruteakGate_MapScriptHeader
-	dw Route38EcruteakGate_MapEventHeader
-
-	db 0 ; connections
-; 0x95c0c
-
-Route39Barn_SecondMapHeader: ; 0x95c0c
-	db $0 ; border block
-	db ROUTE_39_BARN_HEIGHT, ROUTE_39_BARN_WIDTH
-	dbw BANK(Route39Barn_BlockData), Route39Barn_BlockData
-	dbw BANK(Route39Barn_MapScriptHeader), Route39Barn_MapScriptHeader
-	dw Route39Barn_MapEventHeader
-
-	db 0 ; connections
-; 0x95c18
-
-Route39Farmhouse_SecondMapHeader: ; 0x95c18
-	db $0 ; border block
-	db ROUTE_39_FARMHOUSE_HEIGHT, ROUTE_39_FARMHOUSE_WIDTH
-	dbw BANK(OlivineVoltorbHouse_BlockData), OlivineVoltorbHouse_BlockData
-	dbw BANK(Route39Farmhouse_MapScriptHeader), Route39Farmhouse_MapScriptHeader
-	dw Route39Farmhouse_MapEventHeader
-
-	db 0 ; connections
-; 0x95c24
-
-MahoganyRedGyaradosSpeechHouse_SecondMapHeader: ; 0x95c24
-	db $0 ; border block
-	db MAHOGANY_RED_GYARADOS_SPEECH_HOUSE_HEIGHT, MAHOGANY_RED_GYARADOS_SPEECH_HOUSE_WIDTH
-	dbw BANK(OlivineVoltorbHouse_BlockData), OlivineVoltorbHouse_BlockData
-	dbw BANK(MahoganyRedGyaradosSpeechHouse_MapScriptHeader), MahoganyRedGyaradosSpeechHouse_MapScriptHeader
-	dw MahoganyRedGyaradosSpeechHouse_MapEventHeader
-
-	db 0 ; connections
-; 0x95c30
-
-MahoganyGym_SecondMapHeader: ; 0x95c30
-	db $0 ; border block
-	db MAHOGANY_GYM_HEIGHT, MAHOGANY_GYM_WIDTH
-	dbw BANK(MahoganyGym_BlockData), MahoganyGym_BlockData
-	dbw BANK(MahoganyGym_MapScriptHeader), MahoganyGym_MapScriptHeader
-	dw MahoganyGym_MapEventHeader
-
-	db 0 ; connections
-; 0x95c3c
-
-MahoganyPokeCenter1F_SecondMapHeader: ; 0x95c3c
-	db $0 ; border block
-	db MAHOGANY_POKECENTER_1F_HEIGHT, MAHOGANY_POKECENTER_1F_WIDTH
-	dbw BANK(OlivinePokeCenter1F_BlockData), OlivinePokeCenter1F_BlockData
-	dbw BANK(MahoganyPokeCenter1F_MapScriptHeader), MahoganyPokeCenter1F_MapScriptHeader
-	dw MahoganyPokeCenter1F_MapEventHeader
-
-	db 0 ; connections
-; 0x95c48
-
-Route42EcruteakGate_SecondMapHeader: ; 0x95c48
-	db $0 ; border block
-	db ROUTE_42_ECRUTEAK_GATE_HEIGHT, ROUTE_42_ECRUTEAK_GATE_WIDTH
-	dbw BANK(Route38EcruteakGate_BlockData), Route38EcruteakGate_BlockData
-	dbw BANK(Route42EcruteakGate_MapScriptHeader), Route42EcruteakGate_MapScriptHeader
-	dw Route42EcruteakGate_MapEventHeader
-
-	db 0 ; connections
-; 0x95c54
-
-DiglettsCave_SecondMapHeader: ; 0x95c54
-	db $9 ; border block
-	db DIGLETTS_CAVE_HEIGHT, DIGLETTS_CAVE_WIDTH
-	dbw BANK(DiglettsCave_BlockData), DiglettsCave_BlockData
-	dbw BANK(DiglettsCave_MapScriptHeader), DiglettsCave_MapScriptHeader
-	dw DiglettsCave_MapEventHeader
-
-	db 0 ; connections
-; 0x95c60
-
-MountMoon_SecondMapHeader: ; 0x95c60
-	db $9 ; border block
-	db MOUNT_MOON_HEIGHT, MOUNT_MOON_WIDTH
-	dbw BANK(MountMoon_BlockData), MountMoon_BlockData
-	dbw BANK(MountMoon_MapScriptHeader), MountMoon_MapScriptHeader
-	dw MountMoon_MapEventHeader
-
-	db 0 ; connections
-; 0x95c6c
-
-Underground_SecondMapHeader: ; 0x95c6c
-	db $0 ; border block
-	db UNDERGROUND_HEIGHT, UNDERGROUND_WIDTH
-	dbw BANK(Underground_BlockData), Underground_BlockData
-	dbw BANK(Underground_MapScriptHeader), Underground_MapScriptHeader
-	dw Underground_MapEventHeader
-
-	db 0 ; connections
-; 0x95c78
-
-RockTunnel1F_SecondMapHeader: ; 0x95c78
-	db $9 ; border block
-	db ROCK_TUNNEL_1F_HEIGHT, ROCK_TUNNEL_1F_WIDTH
-	dbw BANK(RockTunnel1F_BlockData), RockTunnel1F_BlockData
-	dbw BANK(RockTunnel1F_MapScriptHeader), RockTunnel1F_MapScriptHeader
-	dw RockTunnel1F_MapEventHeader
-
-	db 0 ; connections
-; 0x95c84
-
-RockTunnelB1F_SecondMapHeader: ; 0x95c84
-	db $9 ; border block
-	db ROCK_TUNNEL_B1F_HEIGHT, ROCK_TUNNEL_B1F_WIDTH
-	dbw BANK(RockTunnelB1F_BlockData), RockTunnelB1F_BlockData
-	dbw BANK(RockTunnelB1F_MapScriptHeader), RockTunnelB1F_MapScriptHeader
-	dw RockTunnelB1F_MapEventHeader
-
-	db 0 ; connections
-; 0x95c90
-
-SafariZoneFuchsiaGateBeta_SecondMapHeader: ; 0x95c90
-	db $0 ; border block
-	db SAFARI_ZONE_FUCHSIA_GATE_BETA_HEIGHT, SAFARI_ZONE_FUCHSIA_GATE_BETA_WIDTH
-	dbw BANK(SafariZoneFuchsiaGateBeta_BlockData), SafariZoneFuchsiaGateBeta_BlockData
-	dbw BANK(SafariZoneFuchsiaGateBeta_MapScriptHeader), SafariZoneFuchsiaGateBeta_MapScriptHeader
-	dw SafariZoneFuchsiaGateBeta_MapEventHeader
-
-	db 0 ; connections
-; 0x95c9c
-
-SafariZoneBeta_SecondMapHeader: ; 0x95c9c
-	db $13 ; border block
-	db SAFARI_ZONE_BETA_HEIGHT, SAFARI_ZONE_BETA_WIDTH
-	dbw BANK(SafariZoneBeta_BlockData), SafariZoneBeta_BlockData
-	dbw BANK(SafariZoneBeta_MapScriptHeader), SafariZoneBeta_MapScriptHeader
-	dw SafariZoneBeta_MapEventHeader
-
-	db 0 ; connections
-; 0x95ca8
-
-VictoryRoad_SecondMapHeader: ; 0x95ca8
-	db $1d ; border block
-	db VICTORY_ROAD_HEIGHT, VICTORY_ROAD_WIDTH
-	dbw BANK(VictoryRoad_BlockData), VictoryRoad_BlockData
-	dbw BANK(VictoryRoad_MapScriptHeader), VictoryRoad_MapScriptHeader
-	dw VictoryRoad_MapEventHeader
-
-	db 0 ; connections
-; 0x95cb4
-
-EcruteakHouse_SecondMapHeader: ; 0x95cb4
-	db $0 ; border block
-	db ECRUTEAK_HOUSE_HEIGHT, ECRUTEAK_HOUSE_WIDTH
-	dbw BANK(EcruteakHouse_BlockData), EcruteakHouse_BlockData
-	dbw BANK(EcruteakHouse_MapScriptHeader), EcruteakHouse_MapScriptHeader
-	dw EcruteakHouse_MapEventHeader
-
-	db 0 ; connections
-; 0x95cc0
-
-WiseTriosRoom_SecondMapHeader: ; 0x95cc0
-	db $0 ; border block
-	db WISE_TRIOS_ROOM_HEIGHT, WISE_TRIOS_ROOM_WIDTH
-	dbw BANK(WiseTriosRoom_BlockData), WiseTriosRoom_BlockData
-	dbw BANK(WiseTriosRoom_MapScriptHeader), WiseTriosRoom_MapScriptHeader
-	dw WiseTriosRoom_MapEventHeader
-
-	db 0 ; connections
-; 0x95ccc
-
-EcruteakPokeCenter1F_SecondMapHeader: ; 0x95ccc
-	db $0 ; border block
-	db ECRUTEAK_POKECENTER_1F_HEIGHT, ECRUTEAK_POKECENTER_1F_WIDTH
-	dbw BANK(OlivinePokeCenter1F_BlockData), OlivinePokeCenter1F_BlockData
-	dbw BANK(EcruteakPokeCenter1F_MapScriptHeader), EcruteakPokeCenter1F_MapScriptHeader
-	dw EcruteakPokeCenter1F_MapEventHeader
-
-	db 0 ; connections
-; 0x95cd8
-
-EcruteakLugiaSpeechHouse_SecondMapHeader: ; 0x95cd8
-	db $0 ; border block
-	db ECRUTEAK_LUGIA_SPEECH_HOUSE_HEIGHT, ECRUTEAK_LUGIA_SPEECH_HOUSE_WIDTH
-	dbw BANK(EcruteakLugiaSpeechHouse_BlockData), EcruteakLugiaSpeechHouse_BlockData
-	dbw BANK(EcruteakLugiaSpeechHouse_MapScriptHeader), EcruteakLugiaSpeechHouse_MapScriptHeader
-	dw EcruteakLugiaSpeechHouse_MapEventHeader
-
-	db 0 ; connections
-; 0x95ce4
-
-DanceTheatre_SecondMapHeader: ; 0x95ce4
-	db $0 ; border block
-	db DANCE_THEATRE_HEIGHT, DANCE_THEATRE_WIDTH
-	dbw BANK(DanceTheatre_BlockData), DanceTheatre_BlockData
-	dbw BANK(DanceTheatre_MapScriptHeader), DanceTheatre_MapScriptHeader
-	dw DanceTheatre_MapEventHeader
-
-	db 0 ; connections
-; 0x95cf0
-
-EcruteakMart_SecondMapHeader: ; 0x95cf0
-	db $0 ; border block
-	db ECRUTEAK_MART_HEIGHT, ECRUTEAK_MART_WIDTH
-	dbw BANK(OlivineMart_BlockData), OlivineMart_BlockData
-	dbw BANK(EcruteakMart_MapScriptHeader), EcruteakMart_MapScriptHeader
-	dw EcruteakMart_MapEventHeader
-
-	db 0 ; connections
-; 0x95cfc
-
-EcruteakGym_SecondMapHeader: ; 0x95cfc
-	db $0 ; border block
-	db ECRUTEAK_GYM_HEIGHT, ECRUTEAK_GYM_WIDTH
-	dbw BANK(EcruteakGym_BlockData), EcruteakGym_BlockData
-	dbw BANK(EcruteakGym_MapScriptHeader), EcruteakGym_MapScriptHeader
-	dw EcruteakGym_MapEventHeader
-
-	db 0 ; connections
-; 0x95d08
-
-EcruteakItemfinderHouse_SecondMapHeader: ; 0x95d08
-	db $0 ; border block
-	db ECRUTEAK_ITEMFINDER_HOUSE_HEIGHT, ECRUTEAK_ITEMFINDER_HOUSE_WIDTH
-	dbw BANK(EcruteakLugiaSpeechHouse_BlockData), EcruteakLugiaSpeechHouse_BlockData
-	dbw BANK(EcruteakItemfinderHouse_MapScriptHeader), EcruteakItemfinderHouse_MapScriptHeader
-	dw EcruteakItemfinderHouse_MapEventHeader
-
-	db 0 ; connections
-; 0x95d14
-
-BlackthornGym1F_SecondMapHeader: ; 0x95d14
-	db $0 ; border block
-	db BLACKTHORN_GYM_1F_HEIGHT, BLACKTHORN_GYM_1F_WIDTH
-	dbw BANK(BlackthornGym1F_BlockData), BlackthornGym1F_BlockData
-	dbw BANK(BlackthornGym1F_MapScriptHeader), BlackthornGym1F_MapScriptHeader
-	dw BlackthornGym1F_MapEventHeader
-
-	db 0 ; connections
-; 0x95d20
-
-BlackthornGym2F_SecondMapHeader: ; 0x95d20
-	db $0 ; border block
-	db BLACKTHORN_GYM_2F_HEIGHT, BLACKTHORN_GYM_2F_WIDTH
-	dbw BANK(BlackthornGym2F_BlockData), BlackthornGym2F_BlockData
-	dbw BANK(BlackthornGym2F_MapScriptHeader), BlackthornGym2F_MapScriptHeader
-	dw BlackthornGym2F_MapEventHeader
-
-	db 0 ; connections
-; 0x95d2c
-
-BlackthornDragonSpeechHouse_SecondMapHeader: ; 0x95d2c
-	db $0 ; border block
-	db BLACKTHORN_DRAGON_SPEECH_HOUSE_HEIGHT, BLACKTHORN_DRAGON_SPEECH_HOUSE_WIDTH
-	dbw BANK(OlivineVoltorbHouse_BlockData), OlivineVoltorbHouse_BlockData
-	dbw BANK(BlackthornDragonSpeechHouse_MapScriptHeader), BlackthornDragonSpeechHouse_MapScriptHeader
-	dw BlackthornDragonSpeechHouse_MapEventHeader
-
-	db 0 ; connections
-; 0x95d38
-
-BlackthornDodrioTradeHouse_SecondMapHeader: ; 0x95d38
-	db $0 ; border block
-	db BLACKTHORN_DODRIO_TRADE_HOUSE_HEIGHT, BLACKTHORN_DODRIO_TRADE_HOUSE_WIDTH
-	dbw BANK(OlivineVoltorbHouse_BlockData), OlivineVoltorbHouse_BlockData
-	dbw BANK(BlackthornDodrioTradeHouse_MapScriptHeader), BlackthornDodrioTradeHouse_MapScriptHeader
-	dw BlackthornDodrioTradeHouse_MapEventHeader
-
-	db 0 ; connections
-; 0x95d44
-
-BlackthornMart_SecondMapHeader: ; 0x95d44
-	db $0 ; border block
-	db BLACKTHORN_MART_HEIGHT, BLACKTHORN_MART_WIDTH
-	dbw BANK(OlivineMart_BlockData), OlivineMart_BlockData
-	dbw BANK(BlackthornMart_MapScriptHeader), BlackthornMart_MapScriptHeader
-	dw BlackthornMart_MapEventHeader
-
-	db 0 ; connections
-; 0x95d50
-
-BlackthornPokeCenter1F_SecondMapHeader: ; 0x95d50
-	db $0 ; border block
-	db BLACKTHORN_POKECENTER_1F_HEIGHT, BLACKTHORN_POKECENTER_1F_WIDTH
-	dbw BANK(OlivinePokeCenter1F_BlockData), OlivinePokeCenter1F_BlockData
-	dbw BANK(BlackthornPokeCenter1F_MapScriptHeader), BlackthornPokeCenter1F_MapScriptHeader
-	dw BlackthornPokeCenter1F_MapEventHeader
-
-	db 0 ; connections
-; 0x95d5c
-
-MoveDeletersHouse_SecondMapHeader: ; 0x95d5c
-	db $0 ; border block
-	db MOVE_DELETERS_HOUSE_HEIGHT, MOVE_DELETERS_HOUSE_WIDTH
-	dbw BANK(OlivineVoltorbHouse_BlockData), OlivineVoltorbHouse_BlockData
-	dbw BANK(MoveDeletersHouse_MapScriptHeader), MoveDeletersHouse_MapScriptHeader
-	dw MoveDeletersHouse_MapEventHeader
-
-	db 0 ; connections
-; 0x95d68
-
-CinnabarPokeCenter1F_SecondMapHeader: ; 0x95d68
-	db $0 ; border block
-	db CINNABAR_POKECENTER_1F_HEIGHT, CINNABAR_POKECENTER_1F_WIDTH
-	dbw BANK(OlivinePokeCenter1F_BlockData), OlivinePokeCenter1F_BlockData
-	dbw BANK(CinnabarPokeCenter1F_MapScriptHeader), CinnabarPokeCenter1F_MapScriptHeader
-	dw CinnabarPokeCenter1F_MapEventHeader
-
-	db 0 ; connections
-; 0x95d74
-
-CinnabarPokeCenter2FBeta_SecondMapHeader: ; 0x95d74
-	db $0 ; border block
-	db CINNABAR_POKECENTER_2F_BETA_HEIGHT, CINNABAR_POKECENTER_2F_BETA_WIDTH
-	dbw BANK(CinnabarPokeCenter2FBeta_BlockData), CinnabarPokeCenter2FBeta_BlockData
-	dbw BANK(CinnabarPokeCenter2FBeta_MapScriptHeader), CinnabarPokeCenter2FBeta_MapScriptHeader
-	dw CinnabarPokeCenter2FBeta_MapEventHeader
-
-	db 0 ; connections
-; 0x95d80
-
-Route19FuchsiaGate_SecondMapHeader: ; 0x95d80
-	db $0 ; border block
-	db ROUTE_19___FUCHSIA_GATE_HEIGHT, ROUTE_19___FUCHSIA_GATE_WIDTH
-	dbw BANK(SafariZoneFuchsiaGateBeta_BlockData), SafariZoneFuchsiaGateBeta_BlockData
-	dbw BANK(Route19FuchsiaGate_MapScriptHeader), Route19FuchsiaGate_MapScriptHeader
-	dw Route19FuchsiaGate_MapEventHeader
-
-	db 0 ; connections
-; 0x95d8c
-
-SeafoamGym_SecondMapHeader: ; 0x95d8c
-	db $9 ; border block
-	db SEAFOAM_GYM_HEIGHT, SEAFOAM_GYM_WIDTH
-	dbw BANK(SeafoamGym_BlockData), SeafoamGym_BlockData
-	dbw BANK(SeafoamGym_MapScriptHeader), SeafoamGym_MapScriptHeader
-	dw SeafoamGym_MapEventHeader
-
-	db 0 ; connections
-; 0x95d98
-
-CeruleanGymBadgeSpeechHouse_SecondMapHeader: ; 0x95d98
-	db $0 ; border block
-	db CERULEAN_GYM_BADGE_SPEECH_HOUSE_HEIGHT, CERULEAN_GYM_BADGE_SPEECH_HOUSE_WIDTH
-	dbw BANK(OlivineVoltorbHouse_BlockData), OlivineVoltorbHouse_BlockData
-	dbw BANK(CeruleanGymBadgeSpeechHouse_MapScriptHeader), CeruleanGymBadgeSpeechHouse_MapScriptHeader
-	dw CeruleanGymBadgeSpeechHouse_MapEventHeader
-
-	db 0 ; connections
-; 0x95da4
-
-CeruleanPoliceStation_SecondMapHeader: ; 0x95da4
-	db $0 ; border block
-	db CERULEAN_POLICE_STATION_HEIGHT, CERULEAN_POLICE_STATION_WIDTH
-	dbw BANK(OlivineVoltorbHouse_BlockData), OlivineVoltorbHouse_BlockData
-	dbw BANK(CeruleanPoliceStation_MapScriptHeader), CeruleanPoliceStation_MapScriptHeader
-	dw CeruleanPoliceStation_MapEventHeader
-
-	db 0 ; connections
-; 0x95db0
-
-CeruleanTradeSpeechHouse_SecondMapHeader: ; 0x95db0
-	db $0 ; border block
-	db CERULEAN_TRADE_SPEECH_HOUSE_HEIGHT, CERULEAN_TRADE_SPEECH_HOUSE_WIDTH
-	dbw BANK(OlivineVoltorbHouse_BlockData), OlivineVoltorbHouse_BlockData
-	dbw BANK(CeruleanTradeSpeechHouse_MapScriptHeader), CeruleanTradeSpeechHouse_MapScriptHeader
-	dw CeruleanTradeSpeechHouse_MapEventHeader
-
-	db 0 ; connections
-; 0x95dbc
-
-CeruleanPokeCenter1F_SecondMapHeader: ; 0x95dbc
-	db $0 ; border block
-	db CERULEAN_POKECENTER_1F_HEIGHT, CERULEAN_POKECENTER_1F_WIDTH
-	dbw BANK(OlivinePokeCenter1F_BlockData), OlivinePokeCenter1F_BlockData
-	dbw BANK(CeruleanPokeCenter1F_MapScriptHeader), CeruleanPokeCenter1F_MapScriptHeader
-	dw CeruleanPokeCenter1F_MapEventHeader
-
-	db 0 ; connections
-; 0x95dc8
-
-CeruleanPokeCenter2FBeta_SecondMapHeader: ; 0x95dc8
-	db $0 ; border block
-	db CERULEAN_POKECENTER_2F_BETA_HEIGHT, CERULEAN_POKECENTER_2F_BETA_WIDTH
-	dbw BANK(CinnabarPokeCenter2FBeta_BlockData), CinnabarPokeCenter2FBeta_BlockData
-	dbw BANK(CeruleanPokeCenter2FBeta_MapScriptHeader), CeruleanPokeCenter2FBeta_MapScriptHeader
-	dw CeruleanPokeCenter2FBeta_MapEventHeader
-
-	db 0 ; connections
-; 0x95dd4
-
-CeruleanGym_SecondMapHeader: ; 0x95dd4
-	db $0 ; border block
-	db CERULEAN_GYM_HEIGHT, CERULEAN_GYM_WIDTH
-	dbw BANK(CeruleanGym_BlockData), CeruleanGym_BlockData
-	dbw BANK(CeruleanGym_MapScriptHeader), CeruleanGym_MapScriptHeader
-	dw CeruleanGym_MapEventHeader
-
-	db 0 ; connections
-; 0x95de0
-
-CeruleanMart_SecondMapHeader: ; 0x95de0
-	db $0 ; border block
-	db CERULEAN_MART_HEIGHT, CERULEAN_MART_WIDTH
-	dbw BANK(OlivineMart_BlockData), OlivineMart_BlockData
-	dbw BANK(CeruleanMart_MapScriptHeader), CeruleanMart_MapScriptHeader
-	dw CeruleanMart_MapEventHeader
-
-	db 0 ; connections
-; 0x95dec
-
-Route10PokeCenter1F_SecondMapHeader: ; 0x95dec
-	db $0 ; border block
-	db ROUTE_10_POKECENTER_1F_HEIGHT, ROUTE_10_POKECENTER_1F_WIDTH
-	dbw BANK(OlivinePokeCenter1F_BlockData), OlivinePokeCenter1F_BlockData
-	dbw BANK(Route10PokeCenter1F_MapScriptHeader), Route10PokeCenter1F_MapScriptHeader
-	dw Route10PokeCenter1F_MapEventHeader
-
-	db 0 ; connections
-; 0x95df8
-
-Route10PokeCenter2FBeta_SecondMapHeader: ; 0x95df8
-	db $0 ; border block
-	db ROUTE_10_POKECENTER_2F_BETA_HEIGHT, ROUTE_10_POKECENTER_2F_BETA_WIDTH
-	dbw BANK(CinnabarPokeCenter2FBeta_BlockData), CinnabarPokeCenter2FBeta_BlockData
-	dbw BANK(Route10PokeCenter2FBeta_MapScriptHeader), Route10PokeCenter2FBeta_MapScriptHeader
-	dw Route10PokeCenter2FBeta_MapEventHeader
-
-	db 0 ; connections
-; 0x95e04
-
-PowerPlant_SecondMapHeader: ; 0x95e04
-	db $0 ; border block
-	db POWER_PLANT_HEIGHT, POWER_PLANT_WIDTH
-	dbw BANK(PowerPlant_BlockData), PowerPlant_BlockData
-	dbw BANK(PowerPlant_MapScriptHeader), PowerPlant_MapScriptHeader
-	dw PowerPlant_MapEventHeader
-
-	db 0 ; connections
-; 0x95e10
-
-BillsHouse_SecondMapHeader: ; 0x95e10
-	db $0 ; border block
-	db BILLS_HOUSE_HEIGHT, BILLS_HOUSE_WIDTH
-	dbw BANK(OlivineVoltorbHouse_BlockData), OlivineVoltorbHouse_BlockData
-	dbw BANK(BillsHouse_MapScriptHeader), BillsHouse_MapScriptHeader
-	dw BillsHouse_MapEventHeader
-
-	db 0 ; connections
-; 0x95e1c
-
-AzaleaPokeCenter1F_SecondMapHeader: ; 0x95e1c
-	db $0 ; border block
-	db AZALEA_POKECENTER_1F_HEIGHT, AZALEA_POKECENTER_1F_WIDTH
-	dbw BANK(OlivinePokeCenter1F_BlockData), OlivinePokeCenter1F_BlockData
-	dbw BANK(AzaleaPokeCenter1F_MapScriptHeader), AzaleaPokeCenter1F_MapScriptHeader
-	dw AzaleaPokeCenter1F_MapEventHeader
-
-	db 0 ; connections
-; 0x95e28
-
-CharcoalKiln_SecondMapHeader: ; 0x95e28
-	db $0 ; border block
-	db CHARCOAL_KILN_HEIGHT, CHARCOAL_KILN_WIDTH
-	dbw BANK(OlivineVoltorbHouse_BlockData), OlivineVoltorbHouse_BlockData
-	dbw BANK(CharcoalKiln_MapScriptHeader), CharcoalKiln_MapScriptHeader
-	dw CharcoalKiln_MapEventHeader
-
-	db 0 ; connections
-; 0x95e34
-
-AzaleaMart_SecondMapHeader: ; 0x95e34
-	db $0 ; border block
-	db AZALEA_MART_HEIGHT, AZALEA_MART_WIDTH
-	dbw BANK(OlivineMart_BlockData), OlivineMart_BlockData
-	dbw BANK(AzaleaMart_MapScriptHeader), AzaleaMart_MapScriptHeader
-	dw AzaleaMart_MapEventHeader
-
-	db 0 ; connections
-; 0x95e40
-
-KurtsHouse_SecondMapHeader: ; 0x95e40
-	db $0 ; border block
-	db KURTS_HOUSE_HEIGHT, KURTS_HOUSE_WIDTH
-	dbw BANK(KurtsHouse_BlockData), KurtsHouse_BlockData
-	dbw BANK(KurtsHouse_MapScriptHeader), KurtsHouse_MapScriptHeader
-	dw KurtsHouse_MapEventHeader
-
-	db 0 ; connections
-; 0x95e4c
-
-AzaleaGym_SecondMapHeader: ; 0x95e4c
-	db $0 ; border block
-	db AZALEA_GYM_HEIGHT, AZALEA_GYM_WIDTH
-	dbw BANK(AzaleaGym_BlockData), AzaleaGym_BlockData
-	dbw BANK(AzaleaGym_MapScriptHeader), AzaleaGym_MapScriptHeader
-	dw AzaleaGym_MapEventHeader
-
-	db 0 ; connections
-; 0x95e58
-
-LakeofRageHiddenPowerHouse_SecondMapHeader: ; 0x95e58
-	db $0 ; border block
-	db LAKE_OF_RAGE_HIDDEN_POWER_HOUSE_HEIGHT, LAKE_OF_RAGE_HIDDEN_POWER_HOUSE_WIDTH
-	dbw BANK(OlivineVoltorbHouse_BlockData), OlivineVoltorbHouse_BlockData
-	dbw BANK(LakeofRageHiddenPowerHouse_MapScriptHeader), LakeofRageHiddenPowerHouse_MapScriptHeader
-	dw LakeofRageHiddenPowerHouse_MapEventHeader
-
-	db 0 ; connections
-; 0x95e64
-
-LakeofRageMagikarpHouse_SecondMapHeader: ; 0x95e64
-	db $0 ; border block
-	db LAKE_OF_RAGE_MAGIKARP_HOUSE_HEIGHT, LAKE_OF_RAGE_MAGIKARP_HOUSE_WIDTH
-	dbw BANK(OlivineVoltorbHouse_BlockData), OlivineVoltorbHouse_BlockData
-	dbw BANK(LakeofRageMagikarpHouse_MapScriptHeader), LakeofRageMagikarpHouse_MapScriptHeader
-	dw LakeofRageMagikarpHouse_MapEventHeader
-
-	db 0 ; connections
-; 0x95e70
-
-Route43MahoganyGate_SecondMapHeader: ; 0x95e70
-	db $0 ; border block
-	db ROUTE_43_MAHOGANY_GATE_HEIGHT, ROUTE_43_MAHOGANY_GATE_WIDTH
-	dbw BANK(SafariZoneFuchsiaGateBeta_BlockData), SafariZoneFuchsiaGateBeta_BlockData
-	dbw BANK(Route43MahoganyGate_MapScriptHeader), Route43MahoganyGate_MapScriptHeader
-	dw Route43MahoganyGate_MapEventHeader
-
-	db 0 ; connections
-; 0x95e7c
-
-Route43Gate_SecondMapHeader: ; 0x95e7c
-	db $0 ; border block
-	db ROUTE_43_GATE_HEIGHT, ROUTE_43_GATE_WIDTH
-	dbw BANK(SafariZoneFuchsiaGateBeta_BlockData), SafariZoneFuchsiaGateBeta_BlockData
-	dbw BANK(Route43Gate_MapScriptHeader), Route43Gate_MapScriptHeader
-	dw Route43Gate_MapEventHeader
-
-	db 0 ; connections
-; 0x95e88
-
-VioletMart_SecondMapHeader: ; 0x95e88
-	db $0 ; border block
-	db VIOLET_MART_HEIGHT, VIOLET_MART_WIDTH
-	dbw BANK(OlivineMart_BlockData), OlivineMart_BlockData
-	dbw BANK(VioletMart_MapScriptHeader), VioletMart_MapScriptHeader
-	dw VioletMart_MapEventHeader
-
-	db 0 ; connections
-; 0x95e94
-
-VioletGym_SecondMapHeader: ; 0x95e94
-	db $0 ; border block
-	db VIOLET_GYM_HEIGHT, VIOLET_GYM_WIDTH
-	dbw BANK(VioletGym_BlockData), VioletGym_BlockData
-	dbw BANK(VioletGym_MapScriptHeader), VioletGym_MapScriptHeader
-	dw VioletGym_MapEventHeader
-
-	db 0 ; connections
-; 0x95ea0
-
-EarlsPokemonAcademy_SecondMapHeader: ; 0x95ea0
-	db $0 ; border block
-	db EARLS_POKEMON_ACADEMY_HEIGHT, EARLS_POKEMON_ACADEMY_WIDTH
-	dbw BANK(EarlsPokemonAcademy_BlockData), EarlsPokemonAcademy_BlockData
-	dbw BANK(EarlsPokemonAcademy_MapScriptHeader), EarlsPokemonAcademy_MapScriptHeader
-	dw EarlsPokemonAcademy_MapEventHeader
-
-	db 0 ; connections
-; 0x95eac
-
-VioletNicknameSpeechHouse_SecondMapHeader: ; 0x95eac
-	db $0 ; border block
-	db VIOLET_NICKNAME_SPEECH_HOUSE_HEIGHT, VIOLET_NICKNAME_SPEECH_HOUSE_WIDTH
-	dbw BANK(EcruteakLugiaSpeechHouse_BlockData), EcruteakLugiaSpeechHouse_BlockData
-	dbw BANK(VioletNicknameSpeechHouse_MapScriptHeader), VioletNicknameSpeechHouse_MapScriptHeader
-	dw VioletNicknameSpeechHouse_MapEventHeader
-
-	db 0 ; connections
-; 0x95eb8
-
-VioletPokeCenter1F_SecondMapHeader: ; 0x95eb8
-	db $0 ; border block
-	db VIOLET_POKECENTER_1F_HEIGHT, VIOLET_POKECENTER_1F_WIDTH
-	dbw BANK(OlivinePokeCenter1F_BlockData), OlivinePokeCenter1F_BlockData
-	dbw BANK(VioletPokeCenter1F_MapScriptHeader), VioletPokeCenter1F_MapScriptHeader
-	dw VioletPokeCenter1F_MapEventHeader
-
-	db 0 ; connections
-; 0x95ec4
-
-VioletOnixTradeHouse_SecondMapHeader: ; 0x95ec4
-	db $0 ; border block
-	db VIOLET_ONIX_TRADE_HOUSE_HEIGHT, VIOLET_ONIX_TRADE_HOUSE_WIDTH
-	dbw BANK(EcruteakLugiaSpeechHouse_BlockData), EcruteakLugiaSpeechHouse_BlockData
-	dbw BANK(VioletOnixTradeHouse_MapScriptHeader), VioletOnixTradeHouse_MapScriptHeader
-	dw VioletOnixTradeHouse_MapEventHeader
-
-	db 0 ; connections
-; 0x95ed0
-
-Route32RuinsofAlphGate_SecondMapHeader: ; 0x95ed0
-	db $0 ; border block
-	db ROUTE_32_RUINS_OF_ALPH_GATE_HEIGHT, ROUTE_32_RUINS_OF_ALPH_GATE_WIDTH
-	dbw BANK(Route38EcruteakGate_BlockData), Route38EcruteakGate_BlockData
-	dbw BANK(Route32RuinsofAlphGate_MapScriptHeader), Route32RuinsofAlphGate_MapScriptHeader
-	dw Route32RuinsofAlphGate_MapEventHeader
-
-	db 0 ; connections
-; 0x95edc
-
-Route32PokeCenter1F_SecondMapHeader: ; 0x95edc
-	db $0 ; border block
-	db ROUTE_32_POKECENTER_1F_HEIGHT, ROUTE_32_POKECENTER_1F_WIDTH
-	dbw BANK(OlivinePokeCenter1F_BlockData), OlivinePokeCenter1F_BlockData
-	dbw BANK(Route32PokeCenter1F_MapScriptHeader), Route32PokeCenter1F_MapScriptHeader
-	dw Route32PokeCenter1F_MapEventHeader
-
-	db 0 ; connections
-; 0x95ee8
-
-Route35Goldenrodgate_SecondMapHeader: ; 0x95ee8
-	db $0 ; border block
-	db ROUTE_35_GOLDENROD_GATE_HEIGHT, ROUTE_35_GOLDENROD_GATE_WIDTH
-	dbw BANK(SafariZoneFuchsiaGateBeta_BlockData), SafariZoneFuchsiaGateBeta_BlockData
-	dbw BANK(Route35Goldenrodgate_MapScriptHeader), Route35Goldenrodgate_MapScriptHeader
-	dw Route35Goldenrodgate_MapEventHeader
-
-	db 0 ; connections
-; 0x95ef4
-
-Route35NationalParkgate_SecondMapHeader: ; 0x95ef4
-	db $0 ; border block
-	db ROUTE_35_NATIONAL_PARK_GATE_HEIGHT, ROUTE_35_NATIONAL_PARK_GATE_WIDTH
-	dbw BANK(Route35NationalParkgate_BlockData), Route35NationalParkgate_BlockData
-	dbw BANK(Route35NationalParkgate_MapScriptHeader), Route35NationalParkgate_MapScriptHeader
-	dw Route35NationalParkgate_MapEventHeader
-
-	db 0 ; connections
-; 0x95f00
-
-Route36RuinsofAlphgate_SecondMapHeader: ; 0x95f00
-	db $0 ; border block
-	db ROUTE_36_RUINS_OF_ALPH_GATE_HEIGHT, ROUTE_36_RUINS_OF_ALPH_GATE_WIDTH
-	dbw BANK(SafariZoneFuchsiaGateBeta_BlockData), SafariZoneFuchsiaGateBeta_BlockData
-	dbw BANK(Route36RuinsofAlphgate_MapScriptHeader), Route36RuinsofAlphgate_MapScriptHeader
-	dw Route36RuinsofAlphgate_MapEventHeader
-
-	db 0 ; connections
-; 0x95f0c
-
-Route36NationalParkgate_SecondMapHeader: ; 0x95f0c
-	db $0 ; border block
-	db ROUTE_36_NATIONAL_PARK_GATE_HEIGHT, ROUTE_36_NATIONAL_PARK_GATE_WIDTH
-	dbw BANK(Route36NationalParkgate_BlockData), Route36NationalParkgate_BlockData
-	dbw BANK(Route36NationalParkgate_MapScriptHeader), Route36NationalParkgate_MapScriptHeader
-	dw Route36NationalParkgate_MapEventHeader
-
-	db 0 ; connections
-; 0x95f18
-
-GoldenrodGym_SecondMapHeader: ; 0x95f18
-	db $0 ; border block
-	db GOLDENROD_GYM_HEIGHT, GOLDENROD_GYM_WIDTH
-	dbw BANK(GoldenrodGym_BlockData), GoldenrodGym_BlockData
-	dbw BANK(GoldenrodGym_MapScriptHeader), GoldenrodGym_MapScriptHeader
-	dw GoldenrodGym_MapEventHeader
-
-	db 0 ; connections
-; 0x95f24
-
-GoldenrodBikeShop_SecondMapHeader: ; 0x95f24
-	db $0 ; border block
-	db GOLDENROD_BIKE_SHOP_HEIGHT, GOLDENROD_BIKE_SHOP_WIDTH
-	dbw BANK(GoldenrodBikeShop_BlockData), GoldenrodBikeShop_BlockData
-	dbw BANK(GoldenrodBikeShop_MapScriptHeader), GoldenrodBikeShop_MapScriptHeader
-	dw GoldenrodBikeShop_MapEventHeader
-
-	db 0 ; connections
-; 0x95f30
-
-GoldenrodHappinessRater_SecondMapHeader: ; 0x95f30
-	db $0 ; border block
-	db GOLDENROD_HAPPINESS_RATER_HEIGHT, GOLDENROD_HAPPINESS_RATER_WIDTH
-	dbw BANK(OlivineVoltorbHouse_BlockData), OlivineVoltorbHouse_BlockData
-	dbw BANK(GoldenrodHappinessRater_MapScriptHeader), GoldenrodHappinessRater_MapScriptHeader
-	dw GoldenrodHappinessRater_MapEventHeader
-
-	db 0 ; connections
-; 0x95f3c
-
-GoldenrodBillsHouse_SecondMapHeader: ; 0x95f3c
-	db $0 ; border block
-	db GOLDENROD_BILLS_HOUSE_HEIGHT, GOLDENROD_BILLS_HOUSE_WIDTH
-	dbw BANK(OlivineVoltorbHouse_BlockData), OlivineVoltorbHouse_BlockData
-	dbw BANK(GoldenrodBillsHouse_MapScriptHeader), GoldenrodBillsHouse_MapScriptHeader
-	dw GoldenrodBillsHouse_MapEventHeader
-
-	db 0 ; connections
-; 0x95f48
-
-GoldenrodMagnetTrainStation_SecondMapHeader: ; 0x95f48
-	db $0 ; border block
-	db GOLDENROD_MAGNET_TRAIN_STATION_HEIGHT, GOLDENROD_MAGNET_TRAIN_STATION_WIDTH
-	dbw BANK(GoldenrodMagnetTrainStation_BlockData), GoldenrodMagnetTrainStation_BlockData
-	dbw BANK(GoldenrodMagnetTrainStation_MapScriptHeader), GoldenrodMagnetTrainStation_MapScriptHeader
-	dw GoldenrodMagnetTrainStation_MapEventHeader
-
-	db 0 ; connections
-; 0x95f54
-
-GoldenrodFlowerShop_SecondMapHeader: ; 0x95f54
-	db $0 ; border block
-	db GOLDENROD_FLOWER_SHOP_HEIGHT, GOLDENROD_FLOWER_SHOP_WIDTH
-	dbw BANK(GoldenrodFlowerShop_BlockData), GoldenrodFlowerShop_BlockData
-	dbw BANK(GoldenrodFlowerShop_MapScriptHeader), GoldenrodFlowerShop_MapScriptHeader
-	dw GoldenrodFlowerShop_MapEventHeader
-
-	db 0 ; connections
-; 0x95f60
-
-GoldenrodPPSpeechHouse_SecondMapHeader: ; 0x95f60
-	db $0 ; border block
-	db GOLDENROD_PP_SPEECH_HOUSE_HEIGHT, GOLDENROD_PP_SPEECH_HOUSE_WIDTH
-	dbw BANK(OlivineVoltorbHouse_BlockData), OlivineVoltorbHouse_BlockData
-	dbw BANK(GoldenrodPPSpeechHouse_MapScriptHeader), GoldenrodPPSpeechHouse_MapScriptHeader
-	dw GoldenrodPPSpeechHouse_MapEventHeader
-
-	db 0 ; connections
-; 0x95f6c
-
-GoldenrodNameRatersHouse_SecondMapHeader: ; 0x95f6c
-	db $0 ; border block
-	db GOLDENROD_NAME_RATERS_HOUSE_HEIGHT, GOLDENROD_NAME_RATERS_HOUSE_WIDTH
-	dbw BANK(OlivineVoltorbHouse_BlockData), OlivineVoltorbHouse_BlockData
-	dbw BANK(GoldenrodNameRatersHouse_MapScriptHeader), GoldenrodNameRatersHouse_MapScriptHeader
-	dw GoldenrodNameRatersHouse_MapEventHeader
-
-	db 0 ; connections
-; 0x95f78
-
-GoldenrodDeptStore1F_SecondMapHeader: ; 0x95f78
-	db $0 ; border block
-	db GOLDENROD_DEPT_STORE_1F_HEIGHT, GOLDENROD_DEPT_STORE_1F_WIDTH
-	dbw BANK(GoldenrodDeptStore1F_BlockData), GoldenrodDeptStore1F_BlockData
-	dbw BANK(GoldenrodDeptStore1F_MapScriptHeader), GoldenrodDeptStore1F_MapScriptHeader
-	dw GoldenrodDeptStore1F_MapEventHeader
-
-	db 0 ; connections
-; 0x95f84
-
-GoldenrodDeptStore2F_SecondMapHeader: ; 0x95f84
-	db $0 ; border block
-	db GOLDENROD_DEPT_STORE_2F_HEIGHT, GOLDENROD_DEPT_STORE_2F_WIDTH
-	dbw BANK(GoldenrodDeptStore2F_BlockData), GoldenrodDeptStore2F_BlockData
-	dbw BANK(GoldenrodDeptStore2F_MapScriptHeader), GoldenrodDeptStore2F_MapScriptHeader
-	dw GoldenrodDeptStore2F_MapEventHeader
-
-	db 0 ; connections
-; 0x95f90
-
-GoldenrodDeptStore3F_SecondMapHeader: ; 0x95f90
-	db $0 ; border block
-	db GOLDENROD_DEPT_STORE_3F_HEIGHT, GOLDENROD_DEPT_STORE_3F_WIDTH
-	dbw BANK(GoldenrodDeptStore3F_BlockData), GoldenrodDeptStore3F_BlockData
-	dbw BANK(GoldenrodDeptStore3F_MapScriptHeader), GoldenrodDeptStore3F_MapScriptHeader
-	dw GoldenrodDeptStore3F_MapEventHeader
-
-	db 0 ; connections
-; 0x95f9c
-
-GoldenrodDeptStore4F_SecondMapHeader: ; 0x95f9c
-	db $0 ; border block
-	db GOLDENROD_DEPT_STORE_4F_HEIGHT, GOLDENROD_DEPT_STORE_4F_WIDTH
-	dbw BANK(GoldenrodDeptStore4F_BlockData), GoldenrodDeptStore4F_BlockData
-	dbw BANK(GoldenrodDeptStore4F_MapScriptHeader), GoldenrodDeptStore4F_MapScriptHeader
-	dw GoldenrodDeptStore4F_MapEventHeader
-
-	db 0 ; connections
-; 0x95fa8
-
-GoldenrodDeptStore5F_SecondMapHeader: ; 0x95fa8
-	db $0 ; border block
-	db GOLDENROD_DEPT_STORE_5F_HEIGHT, GOLDENROD_DEPT_STORE_5F_WIDTH
-	dbw BANK(GoldenrodDeptStore5F_BlockData), GoldenrodDeptStore5F_BlockData
-	dbw BANK(GoldenrodDeptStore5F_MapScriptHeader), GoldenrodDeptStore5F_MapScriptHeader
-	dw GoldenrodDeptStore5F_MapEventHeader
-
-	db 0 ; connections
-; 0x95fb4
-
-GoldenrodDeptStore6F_SecondMapHeader: ; 0x95fb4
-	db $0 ; border block
-	db GOLDENROD_DEPT_STORE_6F_HEIGHT, GOLDENROD_DEPT_STORE_6F_WIDTH
-	dbw BANK(GoldenrodDeptStore6F_BlockData), GoldenrodDeptStore6F_BlockData
-	dbw BANK(GoldenrodDeptStore6F_MapScriptHeader), GoldenrodDeptStore6F_MapScriptHeader
-	dw GoldenrodDeptStore6F_MapEventHeader
-
-	db 0 ; connections
-; 0x95fc0
-
-GoldenrodDeptStoreElevator_SecondMapHeader: ; 0x95fc0
-	db $0 ; border block
-	db GOLDENROD_DEPT_STORE_ELEVATOR_HEIGHT, GOLDENROD_DEPT_STORE_ELEVATOR_WIDTH
-	dbw BANK(GoldenrodDeptStoreElevator_BlockData), GoldenrodDeptStoreElevator_BlockData
-	dbw BANK(GoldenrodDeptStoreElevator_MapScriptHeader), GoldenrodDeptStoreElevator_MapScriptHeader
-	dw GoldenrodDeptStoreElevator_MapEventHeader
-
-	db 0 ; connections
-; 0x95fcc
-
-GoldenrodDeptStoreRoof_SecondMapHeader: ; 0x95fcc
-	db $24 ; border block
-	db GOLDENROD_DEPT_STORE_ROOF_HEIGHT, GOLDENROD_DEPT_STORE_ROOF_WIDTH
-	dbw BANK(GoldenrodDeptStoreRoof_BlockData), GoldenrodDeptStoreRoof_BlockData
-	dbw BANK(GoldenrodDeptStoreRoof_MapScriptHeader), GoldenrodDeptStoreRoof_MapScriptHeader
-	dw GoldenrodDeptStoreRoof_MapEventHeader
-
-	db 0 ; connections
-; 0x95fd8
-
-GoldenrodGameCorner_SecondMapHeader: ; 0x95fd8
-	db $0 ; border block
-	db GOLDENROD_GAME_CORNER_HEIGHT, GOLDENROD_GAME_CORNER_WIDTH
-	dbw BANK(GoldenrodGameCorner_BlockData), GoldenrodGameCorner_BlockData
-	dbw BANK(GoldenrodGameCorner_MapScriptHeader), GoldenrodGameCorner_MapScriptHeader
-	dw GoldenrodGameCorner_MapEventHeader
-
-	db 0 ; connections
-; 0x95fe4
-
-GoldenrodPokeCenter1F_SecondMapHeader: ; 0x95fe4
-	db $0 ; border block
-	db GOLDENROD_POKECENTER_1F_HEIGHT, GOLDENROD_POKECENTER_1F_WIDTH
-	dbw BANK(OlivinePokeCenter1F_BlockData), OlivinePokeCenter1F_BlockData
-	dbw BANK(GoldenrodPokeCenter1F_MapScriptHeader), GoldenrodPokeCenter1F_MapScriptHeader
-	dw GoldenrodPokeCenter1F_MapEventHeader
-
-	db 0 ; connections
-; 0x95ff0
-
-GoldenrodPokeComCenter2FMobile_SecondMapHeader: ; 0x95ff0
-	db $0 ; border block
-	db GOLDENROD_POKECOM_CENTER_2F_MOBILE_HEIGHT, GOLDENROD_POKECOM_CENTER_2F_MOBILE_WIDTH
-	dbw BANK(GoldenrodPokeComCenter2FMobile_BlockData), GoldenrodPokeComCenter2FMobile_BlockData
-	dbw BANK(GoldenrodPokeComCenter2FMobile_MapScriptHeader), GoldenrodPokeComCenter2FMobile_MapScriptHeader
-	dw GoldenrodPokeComCenter2FMobile_MapEventHeader
-
-	db 0 ; connections
-; 0x95ffc
-
-IlexForestAzaleaGate_SecondMapHeader: ; 0x95ffc
-	db $0 ; border block
-	db ILEX_FOREST_AZALEA_GATE_HEIGHT, ILEX_FOREST_AZALEA_GATE_WIDTH
-	dbw BANK(Route38EcruteakGate_BlockData), Route38EcruteakGate_BlockData
-	dbw BANK(IlexForestAzaleaGate_MapScriptHeader), IlexForestAzaleaGate_MapScriptHeader
-	dw IlexForestAzaleaGate_MapEventHeader
-
-	db 0 ; connections
-; 0x96008
-
-Route34IlexForestGate_SecondMapHeader: ; 0x96008
-	db $0 ; border block
-	db ROUTE_34_ILEX_FOREST_GATE_HEIGHT, ROUTE_34_ILEX_FOREST_GATE_WIDTH
-	dbw BANK(SafariZoneFuchsiaGateBeta_BlockData), SafariZoneFuchsiaGateBeta_BlockData
-	dbw BANK(Route34IlexForestGate_MapScriptHeader), Route34IlexForestGate_MapScriptHeader
-	dw Route34IlexForestGate_MapEventHeader
-
-	db 0 ; connections
-; 0x96014
-
-DayCare_SecondMapHeader: ; 0x96014
-	db $0 ; border block
-	db DAY_CARE_HEIGHT, DAY_CARE_WIDTH
-	dbw BANK(DayCare_BlockData), DayCare_BlockData
-	dbw BANK(DayCare_MapScriptHeader), DayCare_MapScriptHeader
-	dw DayCare_MapEventHeader
-
-	db 0 ; connections
-; 0x96020
-
-VermilionHouseFishingSpeechHouse_SecondMapHeader: ; 0x96020
-	db $0 ; border block
-	db VERMILION_HOUSE_FISHING_SPEECH_HOUSE_HEIGHT, VERMILION_HOUSE_FISHING_SPEECH_HOUSE_WIDTH
-	dbw BANK(OlivineVoltorbHouse_BlockData), OlivineVoltorbHouse_BlockData
-	dbw BANK(VermilionHouseFishingSpeechHouse_MapScriptHeader), VermilionHouseFishingSpeechHouse_MapScriptHeader
-	dw VermilionHouseFishingSpeechHouse_MapEventHeader
-
-	db 0 ; connections
-; 0x9602c
-
-VermilionPokeCenter1F_SecondMapHeader: ; 0x9602c
-	db $0 ; border block
-	db VERMILION_POKECENTER_1F_HEIGHT, VERMILION_POKECENTER_1F_WIDTH
-	dbw BANK(OlivinePokeCenter1F_BlockData), OlivinePokeCenter1F_BlockData
-	dbw BANK(VermilionPokeCenter1F_MapScriptHeader), VermilionPokeCenter1F_MapScriptHeader
-	dw VermilionPokeCenter1F_MapEventHeader
-
-	db 0 ; connections
-; 0x96038
-
-VermilionPokeCenter2FBeta_SecondMapHeader: ; 0x96038
-	db $0 ; border block
-	db VERMILION_POKECENTER_2F_BETA_HEIGHT, VERMILION_POKECENTER_2F_BETA_WIDTH
-	dbw BANK(CinnabarPokeCenter2FBeta_BlockData), CinnabarPokeCenter2FBeta_BlockData
-	dbw BANK(VermilionPokeCenter2FBeta_MapScriptHeader), VermilionPokeCenter2FBeta_MapScriptHeader
-	dw VermilionPokeCenter2FBeta_MapEventHeader
-
-	db 0 ; connections
-; 0x96044
-
-PokemonFanClub_SecondMapHeader: ; 0x96044
-	db $0 ; border block
-	db POKEMON_FAN_CLUB_HEIGHT, POKEMON_FAN_CLUB_WIDTH
-	dbw BANK(PokemonFanClub_BlockData), PokemonFanClub_BlockData
-	dbw BANK(PokemonFanClub_MapScriptHeader), PokemonFanClub_MapScriptHeader
-	dw PokemonFanClub_MapEventHeader
-
-	db 0 ; connections
-; 0x96050
-
-VermilionMagnetTrainSpeechHouse_SecondMapHeader: ; 0x96050
-	db $0 ; border block
-	db VERMILION_MAGNET_TRAIN_SPEECH_HOUSE_HEIGHT, VERMILION_MAGNET_TRAIN_SPEECH_HOUSE_WIDTH
-	dbw BANK(OlivineVoltorbHouse_BlockData), OlivineVoltorbHouse_BlockData
-	dbw BANK(VermilionMagnetTrainSpeechHouse_MapScriptHeader), VermilionMagnetTrainSpeechHouse_MapScriptHeader
-	dw VermilionMagnetTrainSpeechHouse_MapEventHeader
-
-	db 0 ; connections
-; 0x9605c
-
-VermilionMart_SecondMapHeader: ; 0x9605c
-	db $0 ; border block
-	db VERMILION_MART_HEIGHT, VERMILION_MART_WIDTH
-	dbw BANK(OlivineMart_BlockData), OlivineMart_BlockData
-	dbw BANK(VermilionMart_MapScriptHeader), VermilionMart_MapScriptHeader
-	dw VermilionMart_MapEventHeader
-
-	db 0 ; connections
-; 0x96068
-
-VermilionHouseDiglettsCaveSpeechHouse_SecondMapHeader: ; 0x96068
-	db $0 ; border block
-	db VERMILION_HOUSE_DIGLETTS_CAVE_SPEECH_HOUSE_HEIGHT, VERMILION_HOUSE_DIGLETTS_CAVE_SPEECH_HOUSE_WIDTH
-	dbw BANK(OlivineVoltorbHouse_BlockData), OlivineVoltorbHouse_BlockData
-	dbw BANK(VermilionHouseDiglettsCaveSpeechHouse_MapScriptHeader), VermilionHouseDiglettsCaveSpeechHouse_MapScriptHeader
-	dw VermilionHouseDiglettsCaveSpeechHouse_MapEventHeader
-
-	db 0 ; connections
-; 0x96074
-
-VermilionGym_SecondMapHeader: ; 0x96074
-	db $0 ; border block
-	db VERMILION_GYM_HEIGHT, VERMILION_GYM_WIDTH
-	dbw BANK(VermilionGym_BlockData), VermilionGym_BlockData
-	dbw BANK(VermilionGym_MapScriptHeader), VermilionGym_MapScriptHeader
-	dw VermilionGym_MapEventHeader
-
-	db 0 ; connections
-; 0x96080
-
-Route6SaffronGate_SecondMapHeader: ; 0x96080
-	db $0 ; border block
-	db ROUTE_6_SAFFRON_GATE_HEIGHT, ROUTE_6_SAFFRON_GATE_WIDTH
-	dbw BANK(SafariZoneFuchsiaGateBeta_BlockData), SafariZoneFuchsiaGateBeta_BlockData
-	dbw BANK(Route6SaffronGate_MapScriptHeader), Route6SaffronGate_MapScriptHeader
-	dw Route6SaffronGate_MapEventHeader
-
-	db 0 ; connections
-; 0x9608c
-
-Route6UndergroundEntrance_SecondMapHeader: ; 0x9608c
-	db $0 ; border block
-	db ROUTE_6_UNDERGROUND_ENTRANCE_HEIGHT, ROUTE_6_UNDERGROUND_ENTRANCE_WIDTH
-	dbw BANK(Route6UndergroundEntrance_BlockData), Route6UndergroundEntrance_BlockData
-	dbw BANK(Route6UndergroundEntrance_MapScriptHeader), Route6UndergroundEntrance_MapScriptHeader
-	dw Route6UndergroundEntrance_MapEventHeader
-
-	db 0 ; connections
-; 0x96098
-
-RedsHouse1F_SecondMapHeader: ; 0x96098
-	db $0 ; border block
-	db REDS_HOUSE_1F_HEIGHT, REDS_HOUSE_1F_WIDTH
-	dbw BANK(RedsHouse1F_BlockData), RedsHouse1F_BlockData
-	dbw BANK(RedsHouse1F_MapScriptHeader), RedsHouse1F_MapScriptHeader
-	dw RedsHouse1F_MapEventHeader
-
-	db 0 ; connections
-; 0x960a4
-
-RedsHouse2F_SecondMapHeader: ; 0x960a4
-	db $0 ; border block
-	db REDS_HOUSE_2F_HEIGHT, REDS_HOUSE_2F_WIDTH
-	dbw BANK(RedsHouse2F_BlockData), RedsHouse2F_BlockData
-	dbw BANK(RedsHouse2F_MapScriptHeader), RedsHouse2F_MapScriptHeader
-	dw RedsHouse2F_MapEventHeader
-
-	db 0 ; connections
-; 0x960b0
-
-BluesHouse_SecondMapHeader: ; 0x960b0
-	db $0 ; border block
-	db BLUES_HOUSE_HEIGHT, BLUES_HOUSE_WIDTH
-	dbw BANK(OlivineVoltorbHouse_BlockData), OlivineVoltorbHouse_BlockData
-	dbw BANK(BluesHouse_MapScriptHeader), BluesHouse_MapScriptHeader
-	dw BluesHouse_MapEventHeader
-
-	db 0 ; connections
-; 0x960bc
-
-OaksLab_SecondMapHeader: ; 0x960bc
-	db $0 ; border block
-	db OAKS_LAB_HEIGHT, OAKS_LAB_WIDTH
-	dbw BANK(OaksLab_BlockData), OaksLab_BlockData
-	dbw BANK(OaksLab_MapScriptHeader), OaksLab_MapScriptHeader
-	dw OaksLab_MapEventHeader
-
-	db 0 ; connections
-; 0x960c8
-
-PewterNidoranSpeechHouse_SecondMapHeader: ; 0x960c8
-	db $0 ; border block
-	db PEWTER_NIDORAN_SPEECH_HOUSE_HEIGHT, PEWTER_NIDORAN_SPEECH_HOUSE_WIDTH
-	dbw BANK(OlivineVoltorbHouse_BlockData), OlivineVoltorbHouse_BlockData
-	dbw BANK(PewterNidoranSpeechHouse_MapScriptHeader), PewterNidoranSpeechHouse_MapScriptHeader
-	dw PewterNidoranSpeechHouse_MapEventHeader
-
-	db 0 ; connections
-; 0x960d4
-
-PewterGym_SecondMapHeader: ; 0x960d4
-	db $0 ; border block
-	db PEWTER_GYM_HEIGHT, PEWTER_GYM_WIDTH
-	dbw BANK(PewterGym_BlockData), PewterGym_BlockData
-	dbw BANK(PewterGym_MapScriptHeader), PewterGym_MapScriptHeader
-	dw PewterGym_MapEventHeader
-
-	db 0 ; connections
-; 0x960e0
-
-PewterMart_SecondMapHeader: ; 0x960e0
-	db $0 ; border block
-	db PEWTER_MART_HEIGHT, PEWTER_MART_WIDTH
-	dbw BANK(OlivineMart_BlockData), OlivineMart_BlockData
-	dbw BANK(PewterMart_MapScriptHeader), PewterMart_MapScriptHeader
-	dw PewterMart_MapEventHeader
-
-	db 0 ; connections
-; 0x960ec
-
-PewterPokeCenter1F_SecondMapHeader: ; 0x960ec
-	db $0 ; border block
-	db PEWTER_POKECENTER_1F_HEIGHT, PEWTER_POKECENTER_1F_WIDTH
-	dbw BANK(OlivinePokeCenter1F_BlockData), OlivinePokeCenter1F_BlockData
-	dbw BANK(PewterPokeCenter1F_MapScriptHeader), PewterPokeCenter1F_MapScriptHeader
-	dw PewterPokeCenter1F_MapEventHeader
-
-	db 0 ; connections
-; 0x960f8
-
-PewterPokeCEnter2FBeta_SecondMapHeader: ; 0x960f8
-	db $0 ; border block
-	db PEWTER_POKECENTER_2F_BETA_HEIGHT, PEWTER_POKECENTER_2F_BETA_WIDTH
-	dbw BANK(CinnabarPokeCenter2FBeta_BlockData), CinnabarPokeCenter2FBeta_BlockData
-	dbw BANK(PewterPokeCEnter2FBeta_MapScriptHeader), PewterPokeCEnter2FBeta_MapScriptHeader
-	dw PewterPokeCEnter2FBeta_MapEventHeader
-
-	db 0 ; connections
-; 0x96104
-
-PewterSnoozeSpeechHouse_SecondMapHeader: ; 0x96104
-	db $0 ; border block
-	db PEWTER_SNOOZE_SPEECH_HOUSE_HEIGHT, PEWTER_SNOOZE_SPEECH_HOUSE_WIDTH
-	dbw BANK(OlivineVoltorbHouse_BlockData), OlivineVoltorbHouse_BlockData
-	dbw BANK(PewterSnoozeSpeechHouse_MapScriptHeader), PewterSnoozeSpeechHouse_MapScriptHeader
-	dw PewterSnoozeSpeechHouse_MapEventHeader
-
-	db 0 ; connections
-; 0x96110
-
-OlivinePort_SecondMapHeader: ; 0x96110
-	db $a ; border block
-	db OLIVINE_PORT_HEIGHT, OLIVINE_PORT_WIDTH
-	dbw BANK(OlivinePort_BlockData), OlivinePort_BlockData
-	dbw BANK(OlivinePort_MapScriptHeader), OlivinePort_MapScriptHeader
-	dw OlivinePort_MapEventHeader
-
-	db 0 ; connections
-; 0x9611c
-
-VermilionPort_SecondMapHeader: ; 0x9611c
-	db $a ; border block
-	db VERMILION_PORT_HEIGHT, VERMILION_PORT_WIDTH
-	dbw BANK(VermilionPort_BlockData), VermilionPort_BlockData
-	dbw BANK(VermilionPort_MapScriptHeader), VermilionPort_MapScriptHeader
-	dw VermilionPort_MapEventHeader
-
-	db 0 ; connections
-; 0x96128
-
-FastShip1F_SecondMapHeader: ; 0x96128
-	db $0 ; border block
-	db FAST_SHIP_1F_HEIGHT, FAST_SHIP_1F_WIDTH
-	dbw BANK(FastShip1F_BlockData), FastShip1F_BlockData
-	dbw BANK(FastShip1F_MapScriptHeader), FastShip1F_MapScriptHeader
-	dw FastShip1F_MapEventHeader
-
-	db 0 ; connections
-; 0x96134
-
-FastShipCabins_NNW_NNE_NE_SecondMapHeader: ; 0x96134
-	db $0 ; border block
-	db FAST_SHIP_CABINS_NNW_NNE_NE_HEIGHT, FAST_SHIP_CABINS_NNW_NNE_NE_WIDTH
-	dbw BANK(FastShipCabins_NNW_NNE_NE_BlockData), FastShipCabins_NNW_NNE_NE_BlockData
-	dbw BANK(FastShipCabins_NNW_NNE_NE_MapScriptHeader), FastShipCabins_NNW_NNE_NE_MapScriptHeader
-	dw FastShipCabins_NNW_NNE_NE_MapEventHeader
-
-	db 0 ; connections
-; 0x96140
-
-FastShipCabins_SW_SSW_NW_SecondMapHeader: ; 0x96140
-	db $0 ; border block
-	db FAST_SHIP_CABINS_SW_SSW_NW_HEIGHT, FAST_SHIP_CABINS_SW_SSW_NW_WIDTH
-	dbw BANK(FastShipCabins_SW_SSW_NW_BlockData), FastShipCabins_SW_SSW_NW_BlockData
-	dbw BANK(FastShipCabins_SW_SSW_NW_MapScriptHeader), FastShipCabins_SW_SSW_NW_MapScriptHeader
-	dw FastShipCabins_SW_SSW_NW_MapEventHeader
-
-	db 0 ; connections
-; 0x9614c
-
-FastShipCabins_SE_SSE_CaptainsCabin_SecondMapHeader: ; 0x9614c
-	db $0 ; border block
-	db FAST_SHIP_CABINS_SE_SSE_CAPTAINS_CABIN_HEIGHT, FAST_SHIP_CABINS_SE_SSE_CAPTAINS_CABIN_WIDTH
-	dbw BANK(FastShipCabins_SE_SSE_CaptainsCabin_BlockData), FastShipCabins_SE_SSE_CaptainsCabin_BlockData
-	dbw BANK(FastShipCabins_SE_SSE_CaptainsCabin_MapScriptHeader), FastShipCabins_SE_SSE_CaptainsCabin_MapScriptHeader
-	dw FastShipCabins_SE_SSE_CaptainsCabin_MapEventHeader
-
-	db 0 ; connections
-; 0x96158
-
-FastShipB1F_SecondMapHeader: ; 0x96158
-	db $0 ; border block
-	db FAST_SHIP_B1F_HEIGHT, FAST_SHIP_B1F_WIDTH
-	dbw BANK(FastShipB1F_BlockData), FastShipB1F_BlockData
-	dbw BANK(FastShipB1F_MapScriptHeader), FastShipB1F_MapScriptHeader
-	dw FastShipB1F_MapEventHeader
-
-	db 0 ; connections
-; 0x96164
-
-OlivinePortPassage_SecondMapHeader: ; 0x96164
-	db $0 ; border block
-	db OLIVINE_PORT_PASSAGE_HEIGHT, OLIVINE_PORT_PASSAGE_WIDTH
-	dbw BANK(OlivinePortPassage_BlockData), OlivinePortPassage_BlockData
-	dbw BANK(OlivinePortPassage_MapScriptHeader), OlivinePortPassage_MapScriptHeader
-	dw OlivinePortPassage_MapEventHeader
-
-	db 0 ; connections
-; 0x96170
-
-VermilionPortPassage_SecondMapHeader: ; 0x96170
-	db $0 ; border block
-	db VERMILION_PORT_PASSAGE_HEIGHT, VERMILION_PORT_PASSAGE_WIDTH
-	dbw BANK(OlivinePortPassage_BlockData), OlivinePortPassage_BlockData
-	dbw BANK(VermilionPortPassage_MapScriptHeader), VermilionPortPassage_MapScriptHeader
-	dw VermilionPortPassage_MapEventHeader
-
-	db 0 ; connections
-; 0x9617c
-
-MountMoonSquare_SecondMapHeader: ; 0x9617c
-	db $2d ; border block
-	db MOUNT_MOON_SQUARE_HEIGHT, MOUNT_MOON_SQUARE_WIDTH
-	dbw BANK(MountMoonSquare_BlockData), MountMoonSquare_BlockData
-	dbw BANK(MountMoonSquare_MapScriptHeader), MountMoonSquare_MapScriptHeader
-	dw MountMoonSquare_MapEventHeader
-
-	db 0 ; connections
-; 0x96188
-
-MountMoonGiftShop_SecondMapHeader: ; 0x96188
-	db $0 ; border block
-	db MOUNT_MOON_GIFT_SHOP_HEIGHT, MOUNT_MOON_GIFT_SHOP_WIDTH
-	dbw BANK(MahoganyMart1F_BlockData), MahoganyMart1F_BlockData
-	dbw BANK(MountMoonGiftShop_MapScriptHeader), MountMoonGiftShop_MapScriptHeader
-	dw MountMoonGiftShop_MapEventHeader
-
-	db 0 ; connections
-; 0x96194
-
-TinTowerRoof_SecondMapHeader: ; 0x96194
-	db $0 ; border block
-	db TIN_TOWER_ROOF_HEIGHT, TIN_TOWER_ROOF_WIDTH
-	dbw BANK(TinTowerRoof_BlockData), TinTowerRoof_BlockData
-	dbw BANK(TinTowerRoof_MapScriptHeader), TinTowerRoof_MapScriptHeader
-	dw TinTowerRoof_MapEventHeader
-
-	db 0 ; connections
-; 0x961a0
-
-IndigoPlateauPokeCenter1F_SecondMapHeader: ; 0x961a0
-	db $0 ; border block
-	db INDIGO_PLATEAU_POKECENTER_1F_HEIGHT, INDIGO_PLATEAU_POKECENTER_1F_WIDTH
-	dbw BANK(IndigoPlateauPokeCenter1F_BlockData), IndigoPlateauPokeCenter1F_BlockData
-	dbw BANK(IndigoPlateauPokeCenter1F_MapScriptHeader), IndigoPlateauPokeCenter1F_MapScriptHeader
-	dw IndigoPlateauPokeCenter1F_MapEventHeader
-
-	db 0 ; connections
-; 0x961ac
-
-WillsRoom_SecondMapHeader: ; 0x961ac
-	db $0 ; border block
-	db WILLS_ROOM_HEIGHT, WILLS_ROOM_WIDTH
-	dbw BANK(WillsRoom_BlockData), WillsRoom_BlockData
-	dbw BANK(WillsRoom_MapScriptHeader), WillsRoom_MapScriptHeader
-	dw WillsRoom_MapEventHeader
-
-	db 0 ; connections
-; 0x961b8
-
-KogasRoom_SecondMapHeader: ; 0x961b8
-	db $0 ; border block
-	db KOGAS_ROOM_HEIGHT, KOGAS_ROOM_WIDTH
-	dbw BANK(KogasRoom_BlockData), KogasRoom_BlockData
-	dbw BANK(KogasRoom_MapScriptHeader), KogasRoom_MapScriptHeader
-	dw KogasRoom_MapEventHeader
-
-	db 0 ; connections
-; 0x961c4
-
-BrunosRoom_SecondMapHeader: ; 0x961c4
-	db $0 ; border block
-	db BRUNOS_ROOM_HEIGHT, BRUNOS_ROOM_WIDTH
-	dbw BANK(BrunosRoom_BlockData), BrunosRoom_BlockData
-	dbw BANK(BrunosRoom_MapScriptHeader), BrunosRoom_MapScriptHeader
-	dw BrunosRoom_MapEventHeader
-
-	db 0 ; connections
-; 0x961d0
-
-KarensRoom_SecondMapHeader: ; 0x961d0
-	db $0 ; border block
-	db KARENS_ROOM_HEIGHT, KARENS_ROOM_WIDTH
-	dbw BANK(KarensRoom_BlockData), KarensRoom_BlockData
-	dbw BANK(KarensRoom_MapScriptHeader), KarensRoom_MapScriptHeader
-	dw KarensRoom_MapEventHeader
-
-	db 0 ; connections
-; 0x961dc
-
-LancesRoom_SecondMapHeader: ; 0x961dc
-	db $0 ; border block
-	db LANCES_ROOM_HEIGHT, LANCES_ROOM_WIDTH
-	dbw BANK(LancesRoom_BlockData), LancesRoom_BlockData
-	dbw BANK(LancesRoom_MapScriptHeader), LancesRoom_MapScriptHeader
-	dw LancesRoom_MapEventHeader
-
-	db 0 ; connections
-; 0x961e8
-
-HallOfFame_SecondMapHeader: ; 0x961e8
-	db $0 ; border block
-	db HALL_OF_FAME_HEIGHT, HALL_OF_FAME_WIDTH
-	dbw BANK(HallOfFame_BlockData), HallOfFame_BlockData
-	dbw BANK(HallOfFame_MapScriptHeader), HallOfFame_MapScriptHeader
-	dw HallOfFame_MapEventHeader
-
-	db 0 ; connections
-; 0x961f4
-
-FuchsiaMart_SecondMapHeader: ; 0x961f4
-	db $0 ; border block
-	db FUCHSIA_MART_HEIGHT, FUCHSIA_MART_WIDTH
-	dbw BANK(OlivineMart_BlockData), OlivineMart_BlockData
-	dbw BANK(FuchsiaMart_MapScriptHeader), FuchsiaMart_MapScriptHeader
-	dw FuchsiaMart_MapEventHeader
-
-	db 0 ; connections
-; 0x96200
-
-SafariZoneMainOffice_SecondMapHeader: ; 0x96200
-	db $0 ; border block
-	db SAFARI_ZONE_MAIN_OFFICE_HEIGHT, SAFARI_ZONE_MAIN_OFFICE_WIDTH
-	dbw BANK(OlivineCafe_BlockData), OlivineCafe_BlockData
-	dbw BANK(SafariZoneMainOffice_MapScriptHeader), SafariZoneMainOffice_MapScriptHeader
-	dw SafariZoneMainOffice_MapEventHeader
-
-	db 0 ; connections
-; 0x9620c
-
-FuchsiaGym_SecondMapHeader: ; 0x9620c
-	db $0 ; border block
-	db FUCHSIA_GYM_HEIGHT, FUCHSIA_GYM_WIDTH
-	dbw BANK(FuchsiaGym_BlockData), FuchsiaGym_BlockData
-	dbw BANK(FuchsiaGym_MapScriptHeader), FuchsiaGym_MapScriptHeader
-	dw FuchsiaGym_MapEventHeader
-
-	db 0 ; connections
-; 0x96218
-
-FuchsiaBillSpeechHouse_SecondMapHeader: ; 0x96218
-	db $0 ; border block
-	db FUCHSIA_BILL_SPEECH_HOUSE_HEIGHT, FUCHSIA_BILL_SPEECH_HOUSE_WIDTH
-	dbw BANK(OlivineVoltorbHouse_BlockData), OlivineVoltorbHouse_BlockData
-	dbw BANK(FuchsiaBillSpeechHouse_MapScriptHeader), FuchsiaBillSpeechHouse_MapScriptHeader
-	dw FuchsiaBillSpeechHouse_MapEventHeader
-
-	db 0 ; connections
-; 0x96224
-
-FuchsiaPokeCenter1F_SecondMapHeader: ; 0x96224
-	db $0 ; border block
-	db FUCHSIA_POKECENTER_1F_HEIGHT, FUCHSIA_POKECENTER_1F_WIDTH
-	dbw BANK(OlivinePokeCenter1F_BlockData), OlivinePokeCenter1F_BlockData
-	dbw BANK(FuchsiaPokeCenter1F_MapScriptHeader), FuchsiaPokeCenter1F_MapScriptHeader
-	dw FuchsiaPokeCenter1F_MapEventHeader
-
-	db 0 ; connections
-; 0x96230
-
-FuchsiaPokeCenter2FBeta_SecondMapHeader: ; 0x96230
-	db $0 ; border block
-	db FUCHSIA_POKECENTER_2F_BETA_HEIGHT, FUCHSIA_POKECENTER_2F_BETA_WIDTH
-	dbw BANK(CinnabarPokeCenter2FBeta_BlockData), CinnabarPokeCenter2FBeta_BlockData
-	dbw BANK(FuchsiaPokeCenter2FBeta_MapScriptHeader), FuchsiaPokeCenter2FBeta_MapScriptHeader
-	dw FuchsiaPokeCenter2FBeta_MapEventHeader
-
-	db 0 ; connections
-; 0x9623c
-
-SafariZoneWardensHome_SecondMapHeader: ; 0x9623c
-	db $0 ; border block
-	db SAFARI_ZONE_WARDENS_HOME_HEIGHT, SAFARI_ZONE_WARDENS_HOME_WIDTH
-	dbw BANK(PokemonFanClub_BlockData), PokemonFanClub_BlockData
-	dbw BANK(SafariZoneWardensHome_MapScriptHeader), SafariZoneWardensHome_MapScriptHeader
-	dw SafariZoneWardensHome_MapEventHeader
-
-	db 0 ; connections
-; 0x96248
-
-Route15FuchsiaGate_SecondMapHeader: ; 0x96248
-	db $0 ; border block
-	db ROUTE_15_FUCHSIA_GATE_HEIGHT, ROUTE_15_FUCHSIA_GATE_WIDTH
-	dbw BANK(Route38EcruteakGate_BlockData), Route38EcruteakGate_BlockData
-	dbw BANK(Route15FuchsiaGate_MapScriptHeader), Route15FuchsiaGate_MapScriptHeader
-	dw Route15FuchsiaGate_MapEventHeader
-
-	db 0 ; connections
-; 0x96254
-
-LavenderPokeCenter1F_SecondMapHeader: ; 0x96254
-	db $0 ; border block
-	db LAVENDER_POKECENTER_1F_HEIGHT, LAVENDER_POKECENTER_1F_WIDTH
-	dbw BANK(OlivinePokeCenter1F_BlockData), OlivinePokeCenter1F_BlockData
-	dbw BANK(LavenderPokeCenter1F_MapScriptHeader), LavenderPokeCenter1F_MapScriptHeader
-	dw LavenderPokeCenter1F_MapEventHeader
-
-	db 0 ; connections
-; 0x96260
-
-LavenderPokeCenter2FBeta_SecondMapHeader: ; 0x96260
-	db $0 ; border block
-	db LAVENDER_POKECENTER_2F_BETA_HEIGHT, LAVENDER_POKECENTER_2F_BETA_WIDTH
-	dbw BANK(CinnabarPokeCenter2FBeta_BlockData), CinnabarPokeCenter2FBeta_BlockData
-	dbw BANK(LavenderPokeCenter2FBeta_MapScriptHeader), LavenderPokeCenter2FBeta_MapScriptHeader
-	dw LavenderPokeCenter2FBeta_MapEventHeader
-
-	db 0 ; connections
-; 0x9626c
-
-MrFujisHouse_SecondMapHeader: ; 0x9626c
-	db $0 ; border block
-	db MR_FUJIS_HOUSE_HEIGHT, MR_FUJIS_HOUSE_WIDTH
-	dbw BANK(MrFujisHouse_BlockData), MrFujisHouse_BlockData
-	dbw BANK(MrFujisHouse_MapScriptHeader), MrFujisHouse_MapScriptHeader
-	dw MrFujisHouse_MapEventHeader
-
-	db 0 ; connections
-; 0x96278
-
-LavenderTownSpeechHouse_SecondMapHeader: ; 0x96278
-	db $0 ; border block
-	db LAVENDER_TOWN_SPEECH_HOUSE_HEIGHT, LAVENDER_TOWN_SPEECH_HOUSE_WIDTH
-	dbw BANK(OlivineVoltorbHouse_BlockData), OlivineVoltorbHouse_BlockData
-	dbw BANK(LavenderTownSpeechHouse_MapScriptHeader), LavenderTownSpeechHouse_MapScriptHeader
-	dw LavenderTownSpeechHouse_MapEventHeader
-
-	db 0 ; connections
-; 0x96284
-
-LavenderNameRater_SecondMapHeader: ; 0x96284
-	db $0 ; border block
-	db LAVENDER_NAME_RATER_HEIGHT, LAVENDER_NAME_RATER_WIDTH
-	dbw BANK(OlivineVoltorbHouse_BlockData), OlivineVoltorbHouse_BlockData
-	dbw BANK(LavenderNameRater_MapScriptHeader), LavenderNameRater_MapScriptHeader
-	dw LavenderNameRater_MapEventHeader
-
-	db 0 ; connections
-; 0x96290
-
-LavenderMart_SecondMapHeader: ; 0x96290
-	db $0 ; border block
-	db LAVENDER_MART_HEIGHT, LAVENDER_MART_WIDTH
-	dbw BANK(OlivineMart_BlockData), OlivineMart_BlockData
-	dbw BANK(LavenderMart_MapScriptHeader), LavenderMart_MapScriptHeader
-	dw LavenderMart_MapEventHeader
-
-	db 0 ; connections
-; 0x9629c
-
-SoulHouse_SecondMapHeader: ; 0x9629c
-	db $0 ; border block
-	db SOUL_HOUSE_HEIGHT, SOUL_HOUSE_WIDTH
-	dbw BANK(SoulHouse_BlockData), SoulHouse_BlockData
-	dbw BANK(SoulHouse_MapScriptHeader), SoulHouse_MapScriptHeader
-	dw SoulHouse_MapEventHeader
-
-	db 0 ; connections
-; 0x962a8
-
-LavRadioTower1F_SecondMapHeader: ; 0x962a8
-	db $0 ; border block
-	db LAV_RADIO_TOWER_1F_HEIGHT, LAV_RADIO_TOWER_1F_WIDTH
-	dbw BANK(LavRadioTower1F_BlockData), LavRadioTower1F_BlockData
-	dbw BANK(LavRadioTower1F_MapScriptHeader), LavRadioTower1F_MapScriptHeader
-	dw LavRadioTower1F_MapEventHeader
-
-	db 0 ; connections
-; 0x962b4
-
-Route8SaffronGate_SecondMapHeader: ; 0x962b4
-	db $0 ; border block
-	db ROUTE_8_SAFFRON_GATE_HEIGHT, ROUTE_8_SAFFRON_GATE_WIDTH
-	dbw BANK(Route38EcruteakGate_BlockData), Route38EcruteakGate_BlockData
-	dbw BANK(Route8SaffronGate_MapScriptHeader), Route8SaffronGate_MapScriptHeader
-	dw Route8SaffronGate_MapEventHeader
-
-	db 0 ; connections
-; 0x962c0
-
-Route12SuperRodHouse_SecondMapHeader: ; 0x962c0
-	db $0 ; border block
-	db ROUTE_12_SUPER_ROD_HOUSE_HEIGHT, ROUTE_12_SUPER_ROD_HOUSE_WIDTH
-	dbw BANK(OlivineVoltorbHouse_BlockData), OlivineVoltorbHouse_BlockData
-	dbw BANK(Route12SuperRodHouse_MapScriptHeader), Route12SuperRodHouse_MapScriptHeader
-	dw Route12SuperRodHouse_MapEventHeader
-
-	db 0 ; connections
-; 0x962cc
-
-SilverCavePokeCenter1F_SecondMapHeader: ; 0x962cc
-	db $0 ; border block
-	db SILVER_CAVE_POKECENTER_1F_HEIGHT, SILVER_CAVE_POKECENTER_1F_WIDTH
-	dbw BANK(OlivinePokeCenter1F_BlockData), OlivinePokeCenter1F_BlockData
-	dbw BANK(SilverCavePokeCenter1F_MapScriptHeader), SilverCavePokeCenter1F_MapScriptHeader
-	dw SilverCavePokeCenter1F_MapEventHeader
-
-	db 0 ; connections
-; 0x962d8
-
-Route28FamousSpeechHouse_SecondMapHeader: ; 0x962d8
-	db $0 ; border block
-	db ROUTE_28_FAMOUS_SPEECH_HOUSE_HEIGHT, ROUTE_28_FAMOUS_SPEECH_HOUSE_WIDTH
-	dbw BANK(OlivineVoltorbHouse_BlockData), OlivineVoltorbHouse_BlockData
-	dbw BANK(Route28FamousSpeechHouse_MapScriptHeader), Route28FamousSpeechHouse_MapScriptHeader
-	dw Route28FamousSpeechHouse_MapEventHeader
-
-	db 0 ; connections
-; 0x962e4
-
-PokeCenter2F_SecondMapHeader: ; 0x962e4
-	db $0 ; border block
-	db POKECENTER_2F_HEIGHT, POKECENTER_2F_WIDTH
-	dbw BANK(CinnabarPokeCenter2FBeta_BlockData), CinnabarPokeCenter2FBeta_BlockData
-	dbw BANK(PokeCenter2F_MapScriptHeader), PokeCenter2F_MapScriptHeader
-	dw PokeCenter2F_MapEventHeader
-
-	db 0 ; connections
-; 0x962f0
-
-TradeCenter_SecondMapHeader: ; 0x962f0
-	db $0 ; border block
-	db TRADE_CENTER_HEIGHT, TRADE_CENTER_WIDTH
-	dbw BANK(TradeCenter_BlockData), TradeCenter_BlockData
-	dbw BANK(TradeCenter_MapScriptHeader), TradeCenter_MapScriptHeader
-	dw TradeCenter_MapEventHeader
-
-	db 0 ; connections
-; 0x962fc
-
-Colosseum_SecondMapHeader: ; 0x962fc
-	db $0 ; border block
-	db COLOSSEUM_HEIGHT, COLOSSEUM_WIDTH
-	dbw BANK(Colosseum_BlockData), Colosseum_BlockData
-	dbw BANK(Colosseum_MapScriptHeader), Colosseum_MapScriptHeader
-	dw Colosseum_MapEventHeader
-
-	db 0 ; connections
-; 0x96308
-
-TimeCapsule_SecondMapHeader: ; 0x96308
-	db $0 ; border block
-	db TIME_CAPSULE_HEIGHT, TIME_CAPSULE_WIDTH
-	dbw BANK(TradeCenter_BlockData), TradeCenter_BlockData
-	dbw BANK(TimeCapsule_MapScriptHeader), TimeCapsule_MapScriptHeader
-	dw TimeCapsule_MapEventHeader
-
-	db 0 ; connections
-; 0x96314
-
-MobileTradeRoomMobile_SecondMapHeader: ; 0x96314
-	db $0 ; border block
-	db MOBILE_TRADE_ROOM_MOBILE_HEIGHT, MOBILE_TRADE_ROOM_MOBILE_WIDTH
-	dbw BANK(MobileTradeRoomMobile_BlockData), MobileTradeRoomMobile_BlockData
-	dbw BANK(MobileTradeRoomMobile_MapScriptHeader), MobileTradeRoomMobile_MapScriptHeader
-	dw MobileTradeRoomMobile_MapEventHeader
-
-	db 0 ; connections
-; 0x96320
-
-MobileBattleRoom_SecondMapHeader: ; 0x96320
-	db $0 ; border block
-	db MOBILE_BATTLE_ROOM_HEIGHT, MOBILE_BATTLE_ROOM_WIDTH
-	dbw BANK(MobileBattleRoom_BlockData), MobileBattleRoom_BlockData
-	dbw BANK(MobileBattleRoom_MapScriptHeader), MobileBattleRoom_MapScriptHeader
-	dw MobileBattleRoom_MapEventHeader
-
-	db 0 ; connections
-; 0x9632c
-
-CeladonDeptStore1F_SecondMapHeader: ; 0x9632c
-	db $0 ; border block
-	db CELADON_DEPT_STORE_1F_HEIGHT, CELADON_DEPT_STORE_1F_WIDTH
-	dbw BANK(GoldenrodDeptStore1F_BlockData), GoldenrodDeptStore1F_BlockData
-	dbw BANK(CeladonDeptStore1F_MapScriptHeader), CeladonDeptStore1F_MapScriptHeader
-	dw CeladonDeptStore1F_MapEventHeader
-
-	db 0 ; connections
-; 0x96338
-
-CeladonDeptStore2F_SecondMapHeader: ; 0x96338
-	db $0 ; border block
-	db CELADON_DEPT_STORE_2F_HEIGHT, CELADON_DEPT_STORE_2F_WIDTH
-	dbw BANK(GoldenrodDeptStore2F_BlockData), GoldenrodDeptStore2F_BlockData
-	dbw BANK(CeladonDeptStore2F_MapScriptHeader), CeladonDeptStore2F_MapScriptHeader
-	dw CeladonDeptStore2F_MapEventHeader
-
-	db 0 ; connections
-; 0x96344
-
-CeladonDeptStore3F_SecondMapHeader: ; 0x96344
-	db $0 ; border block
-	db CELADON_DEPT_STORE_3F_HEIGHT, CELADON_DEPT_STORE_3F_WIDTH
-	dbw BANK(GoldenrodDeptStore3F_BlockData), GoldenrodDeptStore3F_BlockData
-	dbw BANK(CeladonDeptStore3F_MapScriptHeader), CeladonDeptStore3F_MapScriptHeader
-	dw CeladonDeptStore3F_MapEventHeader
-
-	db 0 ; connections
-; 0x96350
-
-CeladonDeptStore4F_SecondMapHeader: ; 0x96350
-	db $0 ; border block
-	db CELADON_DEPT_STORE_4F_HEIGHT, CELADON_DEPT_STORE_4F_WIDTH
-	dbw BANK(GoldenrodDeptStore4F_BlockData), GoldenrodDeptStore4F_BlockData
-	dbw BANK(CeladonDeptStore4F_MapScriptHeader), CeladonDeptStore4F_MapScriptHeader
-	dw CeladonDeptStore4F_MapEventHeader
-
-	db 0 ; connections
-; 0x9635c
-
-CeladonDeptStore5F_SecondMapHeader: ; 0x9635c
-	db $0 ; border block
-	db CELADON_DEPT_STORE_5F_HEIGHT, CELADON_DEPT_STORE_5F_WIDTH
-	dbw BANK(GoldenrodDeptStore5F_BlockData), GoldenrodDeptStore5F_BlockData
-	dbw BANK(CeladonDeptStore5F_MapScriptHeader), CeladonDeptStore5F_MapScriptHeader
-	dw CeladonDeptStore5F_MapEventHeader
-
-	db 0 ; connections
-; 0x96368
-
-CeladonDeptStore6F_SecondMapHeader: ; 0x96368
-	db $0 ; border block
-	db CELADON_DEPT_STORE_6F_HEIGHT, CELADON_DEPT_STORE_6F_WIDTH
-	dbw BANK(GoldenrodDeptStore6F_BlockData), GoldenrodDeptStore6F_BlockData
-	dbw BANK(CeladonDeptStore6F_MapScriptHeader), CeladonDeptStore6F_MapScriptHeader
-	dw CeladonDeptStore6F_MapEventHeader
-
-	db 0 ; connections
-; 0x96374
-
-CeladonDeptStoreElevator_SecondMapHeader: ; 0x96374
-	db $0 ; border block
-	db CELADON_DEPT_STORE_ELEVATOR_HEIGHT, CELADON_DEPT_STORE_ELEVATOR_WIDTH
-	dbw BANK(GoldenrodDeptStoreElevator_BlockData), GoldenrodDeptStoreElevator_BlockData
-	dbw BANK(CeladonDeptStoreElevator_MapScriptHeader), CeladonDeptStoreElevator_MapScriptHeader
-	dw CeladonDeptStoreElevator_MapEventHeader
-
-	db 0 ; connections
-; 0x96380
-
-CeladonMansion1F_SecondMapHeader: ; 0x96380
-	db $0 ; border block
-	db CELADON_MANSION_1F_HEIGHT, CELADON_MANSION_1F_WIDTH
-	dbw BANK(CeladonMansion1F_BlockData), CeladonMansion1F_BlockData
-	dbw BANK(CeladonMansion1F_MapScriptHeader), CeladonMansion1F_MapScriptHeader
-	dw CeladonMansion1F_MapEventHeader
-
-	db 0 ; connections
-; 0x9638c
-
-CeladonMansion2F_SecondMapHeader: ; 0x9638c
-	db $0 ; border block
-	db CELADON_MANSION_2F_HEIGHT, CELADON_MANSION_2F_WIDTH
-	dbw BANK(CeladonMansion2F_BlockData), CeladonMansion2F_BlockData
-	dbw BANK(CeladonMansion2F_MapScriptHeader), CeladonMansion2F_MapScriptHeader
-	dw CeladonMansion2F_MapEventHeader
-
-	db 0 ; connections
-; 0x96398
-
-CeladonMansion3F_SecondMapHeader: ; 0x96398
-	db $0 ; border block
-	db CELADON_MANSION_3F_HEIGHT, CELADON_MANSION_3F_WIDTH
-	dbw BANK(CeladonMansion3F_BlockData), CeladonMansion3F_BlockData
-	dbw BANK(CeladonMansion3F_MapScriptHeader), CeladonMansion3F_MapScriptHeader
-	dw CeladonMansion3F_MapEventHeader
-
-	db 0 ; connections
-; 0x963a4
-
-CeladonMansionRoof_SecondMapHeader: ; 0x963a4
-	db $1 ; border block
-	db CELADON_MANSION_ROOF_HEIGHT, CELADON_MANSION_ROOF_WIDTH
-	dbw BANK(CeladonMansionRoof_BlockData), CeladonMansionRoof_BlockData
-	dbw BANK(CeladonMansionRoof_MapScriptHeader), CeladonMansionRoof_MapScriptHeader
-	dw CeladonMansionRoof_MapEventHeader
-
-	db 0 ; connections
-; 0x963b0
-
-CeladonMansionRoofHouse_SecondMapHeader: ; 0x963b0
-	db $0 ; border block
-	db CELADON_MANSION_ROOF_HOUSE_HEIGHT, CELADON_MANSION_ROOF_HOUSE_WIDTH
-	dbw BANK(OlivineVoltorbHouse_BlockData), OlivineVoltorbHouse_BlockData
-	dbw BANK(CeladonMansionRoofHouse_MapScriptHeader), CeladonMansionRoofHouse_MapScriptHeader
-	dw CeladonMansionRoofHouse_MapEventHeader
-
-	db 0 ; connections
-; 0x963bc
-
-CeladonPokeCenter1F_SecondMapHeader: ; 0x963bc
-	db $0 ; border block
-	db CELADON_POKECENTER_1F_HEIGHT, CELADON_POKECENTER_1F_WIDTH
-	dbw BANK(OlivinePokeCenter1F_BlockData), OlivinePokeCenter1F_BlockData
-	dbw BANK(CeladonPokeCenter1F_MapScriptHeader), CeladonPokeCenter1F_MapScriptHeader
-	dw CeladonPokeCenter1F_MapEventHeader
-
-	db 0 ; connections
-; 0x963c8
-
-CeladonPokeCenter2FBeta_SecondMapHeader: ; 0x963c8
-	db $0 ; border block
-	db CELADON_POKECENTER_2F_BETA_HEIGHT, CELADON_POKECENTER_2F_BETA_WIDTH
-	dbw BANK(CinnabarPokeCenter2FBeta_BlockData), CinnabarPokeCenter2FBeta_BlockData
-	dbw BANK(CeladonPokeCenter2FBeta_MapScriptHeader), CeladonPokeCenter2FBeta_MapScriptHeader
-	dw CeladonPokeCenter2FBeta_MapEventHeader
-
-	db 0 ; connections
-; 0x963d4
-
-CeladonGameCorner_SecondMapHeader: ; 0x963d4
-	db $0 ; border block
-	db CELADON_GAME_CORNER_HEIGHT, CELADON_GAME_CORNER_WIDTH
-	dbw BANK(CeladonGameCorner_BlockData), CeladonGameCorner_BlockData
-	dbw BANK(CeladonGameCorner_MapScriptHeader), CeladonGameCorner_MapScriptHeader
-	dw CeladonGameCorner_MapEventHeader
-
-	db 0 ; connections
-; 0x963e0
-
-CeladonGameCornerPrizeRoom_SecondMapHeader: ; 0x963e0
-	db $0 ; border block
-	db CELADON_GAME_CORNER_PRIZE_ROOM_HEIGHT, CELADON_GAME_CORNER_PRIZE_ROOM_WIDTH
-	dbw BANK(CeladonGameCornerPrizeRoom_BlockData), CeladonGameCornerPrizeRoom_BlockData
-	dbw BANK(CeladonGameCornerPrizeRoom_MapScriptHeader), CeladonGameCornerPrizeRoom_MapScriptHeader
-	dw CeladonGameCornerPrizeRoom_MapEventHeader
-
-	db 0 ; connections
-; 0x963ec
-
-CeladonGym_SecondMapHeader: ; 0x963ec
-	db $0 ; border block
-	db CELADON_GYM_HEIGHT, CELADON_GYM_WIDTH
-	dbw BANK(CeladonGym_BlockData), CeladonGym_BlockData
-	dbw BANK(CeladonGym_MapScriptHeader), CeladonGym_MapScriptHeader
-	dw CeladonGym_MapEventHeader
-
-	db 0 ; connections
-; 0x963f8
-
-CeladonCafe_SecondMapHeader: ; 0x963f8
-	db $0 ; border block
-	db CELADON_CAFE_HEIGHT, CELADON_CAFE_WIDTH
-	dbw BANK(CeladonCafe_BlockData), CeladonCafe_BlockData
-	dbw BANK(CeladonCafe_MapScriptHeader), CeladonCafe_MapScriptHeader
-	dw CeladonCafe_MapEventHeader
-
-	db 0 ; connections
-; 0x96404
-
-Route16FuchsiaSpeechHouse_SecondMapHeader: ; 0x96404
-	db $0 ; border block
-	db ROUTE_16_FUCHSIA_SPEECH_HOUSE_HEIGHT, ROUTE_16_FUCHSIA_SPEECH_HOUSE_WIDTH
-	dbw BANK(OlivineVoltorbHouse_BlockData), OlivineVoltorbHouse_BlockData
-	dbw BANK(Route16FuchsiaSpeechHouse_MapScriptHeader), Route16FuchsiaSpeechHouse_MapScriptHeader
-	dw Route16FuchsiaSpeechHouse_MapEventHeader
-
-	db 0 ; connections
-; 0x96410
-
-Route16Gate_SecondMapHeader: ; 0x96410
-	db $0 ; border block
-	db ROUTE_16_GATE_HEIGHT, ROUTE_16_GATE_WIDTH
-	dbw BANK(Route38EcruteakGate_BlockData), Route38EcruteakGate_BlockData
-	dbw BANK(Route16Gate_MapScriptHeader), Route16Gate_MapScriptHeader
-	dw Route16Gate_MapEventHeader
-
-	db 0 ; connections
-; 0x9641c
-
-Route7SaffronGate_SecondMapHeader: ; 0x9641c
-	db $0 ; border block
-	db ROUTE_7_SAFFRON_GATE_HEIGHT, ROUTE_7_SAFFRON_GATE_WIDTH
-	dbw BANK(Route38EcruteakGate_BlockData), Route38EcruteakGate_BlockData
-	dbw BANK(Route7SaffronGate_MapScriptHeader), Route7SaffronGate_MapScriptHeader
-	dw Route7SaffronGate_MapEventHeader
-
-	db 0 ; connections
-; 0x96428
-
-Route1718Gate_SecondMapHeader: ; 0x96428
-	db $0 ; border block
-	db ROUTE_17_18_GATE_HEIGHT, ROUTE_17_18_GATE_WIDTH
-	dbw BANK(Route38EcruteakGate_BlockData), Route38EcruteakGate_BlockData
-	dbw BANK(Route1718Gate_MapScriptHeader), Route1718Gate_MapScriptHeader
-	dw Route1718Gate_MapEventHeader
-
-	db 0 ; connections
-; 0x96434
-
-ManiasHouse_SecondMapHeader: ; 0x96434
-	db $0 ; border block
-	db MANIAS_HOUSE_HEIGHT, MANIAS_HOUSE_WIDTH
-	dbw BANK(OlivineVoltorbHouse_BlockData), OlivineVoltorbHouse_BlockData
-	dbw BANK(ManiasHouse_MapScriptHeader), ManiasHouse_MapScriptHeader
-	dw ManiasHouse_MapEventHeader
-
-	db 0 ; connections
-; 0x96440
-
-CianwoodGym_SecondMapHeader: ; 0x96440
-	db $0 ; border block
-	db CIANWOOD_GYM_HEIGHT, CIANWOOD_GYM_WIDTH
-	dbw BANK(CianwoodGym_BlockData), CianwoodGym_BlockData
-	dbw BANK(CianwoodGym_MapScriptHeader), CianwoodGym_MapScriptHeader
-	dw CianwoodGym_MapEventHeader
-
-	db 0 ; connections
-; 0x9644c
-
-CianwoodPokeCenter1F_SecondMapHeader: ; 0x9644c
-	db $0 ; border block
-	db CIANWOOD_POKECENTER_1F_HEIGHT, CIANWOOD_POKECENTER_1F_WIDTH
-	dbw BANK(OlivinePokeCenter1F_BlockData), OlivinePokeCenter1F_BlockData
-	dbw BANK(CianwoodPokeCenter1F_MapScriptHeader), CianwoodPokeCenter1F_MapScriptHeader
-	dw CianwoodPokeCenter1F_MapEventHeader
-
-	db 0 ; connections
-; 0x96458
-
-CianwoodPharmacy_SecondMapHeader: ; 0x96458
-	db $0 ; border block
-	db CIANWOOD_PHARMACY_HEIGHT, CIANWOOD_PHARMACY_WIDTH
-	dbw BANK(OlivineVoltorbHouse_BlockData), OlivineVoltorbHouse_BlockData
-	dbw BANK(CianwoodPharmacy_MapScriptHeader), CianwoodPharmacy_MapScriptHeader
-	dw CianwoodPharmacy_MapEventHeader
-
-	db 0 ; connections
-; 0x96464
-
-CianwoodCityPhotoStudio_SecondMapHeader: ; 0x96464
-	db $0 ; border block
-	db CIANWOOD_CITY_PHOTO_STUDIO_HEIGHT, CIANWOOD_CITY_PHOTO_STUDIO_WIDTH
-	dbw BANK(OlivineVoltorbHouse_BlockData), OlivineVoltorbHouse_BlockData
-	dbw BANK(CianwoodCityPhotoStudio_MapScriptHeader), CianwoodCityPhotoStudio_MapScriptHeader
-	dw CianwoodCityPhotoStudio_MapEventHeader
-
-	db 0 ; connections
-; 0x96470
-
-CianwoodLugiaSpeechHouse_SecondMapHeader: ; 0x96470
-	db $0 ; border block
-	db CIANWOOD_LUGIA_SPEECH_HOUSE_HEIGHT, CIANWOOD_LUGIA_SPEECH_HOUSE_WIDTH
-	dbw BANK(OlivineVoltorbHouse_BlockData), OlivineVoltorbHouse_BlockData
-	dbw BANK(CianwoodLugiaSpeechHouse_MapScriptHeader), CianwoodLugiaSpeechHouse_MapScriptHeader
-	dw CianwoodLugiaSpeechHouse_MapEventHeader
-
-	db 0 ; connections
-; 0x9647c
-
-PokeSeersHouse_SecondMapHeader: ; 0x9647c
-	db $0 ; border block
-	db POKE_SEERS_HOUSE_HEIGHT, POKE_SEERS_HOUSE_WIDTH
-	dbw BANK(OlivineVoltorbHouse_BlockData), OlivineVoltorbHouse_BlockData
-	dbw BANK(PokeSeersHouse_MapScriptHeader), PokeSeersHouse_MapScriptHeader
-	dw PokeSeersHouse_MapEventHeader
-
-	db 0 ; connections
-; 0x96488
-
-BattleTower1F_SecondMapHeader: ; 0x96488
-	db $0 ; border block
-	db BATTLE_TOWER_1F_HEIGHT, BATTLE_TOWER_1F_WIDTH
-	dbw BANK(BattleTower1F_BlockData), BattleTower1F_BlockData
-	dbw BANK(BattleTower1F_MapScriptHeader), BattleTower1F_MapScriptHeader
-	dw BattleTower1F_MapEventHeader
-
-	db 0 ; connections
-; 0x96494
-
-BattleTowerBattleRoom_SecondMapHeader: ; 0x96494
-	db $0 ; border block
-	db BATTLE_TOWER_BATTLE_ROOM_HEIGHT, BATTLE_TOWER_BATTLE_ROOM_WIDTH
-	dbw BANK(BattleTowerBattleRoom_BlockData), BattleTowerBattleRoom_BlockData
-	dbw BANK(BattleTowerBattleRoom_MapScriptHeader), BattleTowerBattleRoom_MapScriptHeader
-	dw BattleTowerBattleRoom_MapEventHeader
-
-	db 0 ; connections
-; 0x964a0
-
-BattleTowerElevator_SecondMapHeader: ; 0x964a0
-	db $0 ; border block
-	db BATTLE_TOWER_ELEVATOR_HEIGHT, BATTLE_TOWER_ELEVATOR_WIDTH
-	dbw BANK(BattleTowerElevator_BlockData), BattleTowerElevator_BlockData
-	dbw BANK(BattleTowerElevator_MapScriptHeader), BattleTowerElevator_MapScriptHeader
-	dw BattleTowerElevator_MapEventHeader
-
-	db 0 ; connections
-; 0x964ac
-
-BattleTowerHallway_SecondMapHeader: ; 0x964ac
-	db $0 ; border block
-	db BATTLE_TOWER_HALLWAY_HEIGHT, BATTLE_TOWER_HALLWAY_WIDTH
-	dbw BANK(BattleTowerHallway_BlockData), BattleTowerHallway_BlockData
-	dbw BANK(BattleTowerHallway_MapScriptHeader), BattleTowerHallway_MapScriptHeader
-	dw BattleTowerHallway_MapEventHeader
-
-	db 0 ; connections
-; 0x964b8
-
-Route40BattleTowerGate_SecondMapHeader: ; 0x964b8
-	db $0 ; border block
-	db ROUTE_40_BATTLE_TOWER_GATE_HEIGHT, ROUTE_40_BATTLE_TOWER_GATE_WIDTH
-	dbw BANK(SafariZoneFuchsiaGateBeta_BlockData), SafariZoneFuchsiaGateBeta_BlockData
-	dbw BANK(Route40BattleTowerGate_MapScriptHeader), Route40BattleTowerGate_MapScriptHeader
-	dw Route40BattleTowerGate_MapEventHeader
-
-	db 0 ; connections
-; 0x964c4
-
-BattleTowerOutside_SecondMapHeader: ; 0x964c4
-	db $5 ; border block
-	db BATTLE_TOWER_OUTSIDE_HEIGHT, BATTLE_TOWER_OUTSIDE_WIDTH
-	dbw BANK(BattleTowerOutside_BlockData), BattleTowerOutside_BlockData
-	dbw BANK(BattleTowerOutside_MapScriptHeader), BattleTowerOutside_MapScriptHeader
-	dw BattleTowerOutside_MapEventHeader
-
-	db 0 ; connections
-; 0x964d0
-
-ViridianGym_SecondMapHeader: ; 0x964d0
-	db $0 ; border block
-	db VIRIDIAN_GYM_HEIGHT, VIRIDIAN_GYM_WIDTH
-	dbw BANK(ViridianGym_BlockData), ViridianGym_BlockData
-	dbw BANK(ViridianGym_MapScriptHeader), ViridianGym_MapScriptHeader
-	dw ViridianGym_MapEventHeader
-
-	db 0 ; connections
-; 0x964dc
-
-ViridianNicknameSpeechHouse_SecondMapHeader: ; 0x964dc
-	db $0 ; border block
-	db VIRIDIAN_NICKNAME_SPEECH_HOUSE_HEIGHT, VIRIDIAN_NICKNAME_SPEECH_HOUSE_WIDTH
-	dbw BANK(OlivineVoltorbHouse_BlockData), OlivineVoltorbHouse_BlockData
-	dbw BANK(ViridianNicknameSpeechHouse_MapScriptHeader), ViridianNicknameSpeechHouse_MapScriptHeader
-	dw ViridianNicknameSpeechHouse_MapEventHeader
-
-	db 0 ; connections
-; 0x964e8
-
-TrainerHouse1F_SecondMapHeader: ; 0x964e8
-	db $0 ; border block
-	db TRAINER_HOUSE_1F_HEIGHT, TRAINER_HOUSE_1F_WIDTH
-	dbw BANK(TrainerHouse1F_BlockData), TrainerHouse1F_BlockData
-	dbw BANK(TrainerHouse1F_MapScriptHeader), TrainerHouse1F_MapScriptHeader
-	dw TrainerHouse1F_MapEventHeader
-
-	db 0 ; connections
-; 0x964f4
-
-TrainerHouseB1F_SecondMapHeader: ; 0x964f4
-	db $0 ; border block
-	db TRAINER_HOUSE_B1F_HEIGHT, TRAINER_HOUSE_B1F_WIDTH
-	dbw BANK(TrainerHouseB1F_BlockData), TrainerHouseB1F_BlockData
-	dbw BANK(TrainerHouseB1F_MapScriptHeader), TrainerHouseB1F_MapScriptHeader
-	dw TrainerHouseB1F_MapEventHeader
-
-	db 0 ; connections
-; 0x96500
-
-ViridianMart_SecondMapHeader: ; 0x96500
-	db $0 ; border block
-	db VIRIDIAN_MART_HEIGHT, VIRIDIAN_MART_WIDTH
-	dbw BANK(OlivineMart_BlockData), OlivineMart_BlockData
-	dbw BANK(ViridianMart_MapScriptHeader), ViridianMart_MapScriptHeader
-	dw ViridianMart_MapEventHeader
-
-	db 0 ; connections
-; 0x9650c
-
-ViridianPokeCenter1F_SecondMapHeader: ; 0x9650c
-	db $0 ; border block
-	db VIRIDIAN_POKECENTER_1F_HEIGHT, VIRIDIAN_POKECENTER_1F_WIDTH
-	dbw BANK(OlivinePokeCenter1F_BlockData), OlivinePokeCenter1F_BlockData
-	dbw BANK(ViridianPokeCenter1F_MapScriptHeader), ViridianPokeCenter1F_MapScriptHeader
-	dw ViridianPokeCenter1F_MapEventHeader
-
-	db 0 ; connections
-; 0x96518
-
-ViridianPokeCenter2FBeta_SecondMapHeader: ; 0x96518
-	db $0 ; border block
-	db VIRIDIAN_POKECENTER_2F_BETA_HEIGHT, VIRIDIAN_POKECENTER_2F_BETA_WIDTH
-	dbw BANK(CinnabarPokeCenter2FBeta_BlockData), CinnabarPokeCenter2FBeta_BlockData
-	dbw BANK(ViridianPokeCenter2FBeta_MapScriptHeader), ViridianPokeCenter2FBeta_MapScriptHeader
-	dw ViridianPokeCenter2FBeta_MapEventHeader
-
-	db 0 ; connections
-; 0x96524
-
-Route2NuggetSpeechHouse_SecondMapHeader: ; 0x96524
-	db $0 ; border block
-	db ROUTE_2_NUGGET_SPEECH_HOUSE_HEIGHT, ROUTE_2_NUGGET_SPEECH_HOUSE_WIDTH
-	dbw BANK(OlivineVoltorbHouse_BlockData), OlivineVoltorbHouse_BlockData
-	dbw BANK(Route2NuggetSpeechHouse_MapScriptHeader), Route2NuggetSpeechHouse_MapScriptHeader
-	dw Route2NuggetSpeechHouse_MapEventHeader
-
-	db 0 ; connections
-; 0x96530
-
-Route2Gate_SecondMapHeader: ; 0x96530
-	db $0 ; border block
-	db ROUTE_2_GATE_HEIGHT, ROUTE_2_GATE_WIDTH
-	dbw BANK(SafariZoneFuchsiaGateBeta_BlockData), SafariZoneFuchsiaGateBeta_BlockData
-	dbw BANK(Route2Gate_MapScriptHeader), Route2Gate_MapScriptHeader
-	dw Route2Gate_MapEventHeader
-
-	db 0 ; connections
-; 0x9653c
-
-VictoryRoadGate_SecondMapHeader: ; 0x9653c
-	db $0 ; border block
-	db VICTORY_ROAD_GATE_HEIGHT, VICTORY_ROAD_GATE_WIDTH
-	dbw BANK(VictoryRoadGate_BlockData), VictoryRoadGate_BlockData
-	dbw BANK(VictoryRoadGate_MapScriptHeader), VictoryRoadGate_MapScriptHeader
-	dw VictoryRoadGate_MapEventHeader
-
-	db 0 ; connections
-; 0x96548
-
-ElmsLab_SecondMapHeader: ; 0x96548
-	db $0 ; border block
-	db ELMS_LAB_HEIGHT, ELMS_LAB_WIDTH
-	dbw BANK(ElmsLab_BlockData), ElmsLab_BlockData
-	dbw BANK(ElmsLab_MapScriptHeader), ElmsLab_MapScriptHeader
-	dw ElmsLab_MapEventHeader
-
-	db 0 ; connections
-; 0x96554
-
-KrissHouse1F_SecondMapHeader: ; 0x96554
-	db $0 ; border block
-	db KRISS_HOUSE_1F_HEIGHT, KRISS_HOUSE_1F_WIDTH
-	dbw BANK(KrissHouse1F_BlockData), KrissHouse1F_BlockData
-	dbw BANK(KrissHouse1F_MapScriptHeader), KrissHouse1F_MapScriptHeader
-	dw KrissHouse1F_MapEventHeader
-
-	db 0 ; connections
-; 0x96560
-
-KrissHouse2F_SecondMapHeader: ; 0x96560
-	db $0 ; border block
-	db KRISS_HOUSE_2F_HEIGHT, KRISS_HOUSE_2F_WIDTH
-	dbw BANK(KrissHouse2F_BlockData), KrissHouse2F_BlockData
-	dbw BANK(KrissHouse2F_MapScriptHeader), KrissHouse2F_MapScriptHeader
-	dw KrissHouse2F_MapEventHeader
-
-	db 0 ; connections
-; 0x9656c
-
-KrissNeighborsHouse_SecondMapHeader: ; 0x9656c
-	db $0 ; border block
-	db KRISS_NEIGHBORS_HOUSE_HEIGHT, KRISS_NEIGHBORS_HOUSE_WIDTH
-	dbw BANK(OlivineVoltorbHouse_BlockData), OlivineVoltorbHouse_BlockData
-	dbw BANK(KrissNeighborsHouse_MapScriptHeader), KrissNeighborsHouse_MapScriptHeader
-	dw KrissNeighborsHouse_MapEventHeader
-
-	db 0 ; connections
-; 0x96578
-
-ElmsHouse_SecondMapHeader: ; 0x96578
-	db $0 ; border block
-	db ELMS_HOUSE_HEIGHT, ELMS_HOUSE_WIDTH
-	dbw BANK(ElmsHouse_BlockData), ElmsHouse_BlockData
-	dbw BANK(ElmsHouse_MapScriptHeader), ElmsHouse_MapScriptHeader
-	dw ElmsHouse_MapEventHeader
-
-	db 0 ; connections
-; 0x96584
-
-Route26HealSpeechHouse_SecondMapHeader: ; 0x96584
-	db $0 ; border block
-	db ROUTE_26_HEAL_SPEECH_HOUSE_HEIGHT, ROUTE_26_HEAL_SPEECH_HOUSE_WIDTH
-	dbw BANK(OlivineVoltorbHouse_BlockData), OlivineVoltorbHouse_BlockData
-	dbw BANK(Route26HealSpeechHouse_MapScriptHeader), Route26HealSpeechHouse_MapScriptHeader
-	dw Route26HealSpeechHouse_MapEventHeader
-
-	db 0 ; connections
-; 0x96590
-
-Route26DayofWeekSiblingsHouse_SecondMapHeader: ; 0x96590
-	db $0 ; border block
-	db ROUTE_26_DAY_OF_WEEK_SIBLINGS_HOUSE_HEIGHT, ROUTE_26_DAY_OF_WEEK_SIBLINGS_HOUSE_WIDTH
-	dbw BANK(OlivineVoltorbHouse_BlockData), OlivineVoltorbHouse_BlockData
-	dbw BANK(Route26DayofWeekSiblingsHouse_MapScriptHeader), Route26DayofWeekSiblingsHouse_MapScriptHeader
-	dw Route26DayofWeekSiblingsHouse_MapEventHeader
-
-	db 0 ; connections
-; 0x9659c
-
-Route27SandstormHouse_SecondMapHeader: ; 0x9659c
-	db $0 ; border block
-	db ROUTE_27_SANDSTORM_HOUSE_HEIGHT, ROUTE_27_SANDSTORM_HOUSE_WIDTH
-	dbw BANK(OlivineVoltorbHouse_BlockData), OlivineVoltorbHouse_BlockData
-	dbw BANK(Route27SandstormHouse_MapScriptHeader), Route27SandstormHouse_MapScriptHeader
-	dw Route27SandstormHouse_MapEventHeader
-
-	db 0 ; connections
-; 0x965a8
-
-Route2946Gate_SecondMapHeader: ; 0x965a8
-	db $0 ; border block
-	db ROUTE_29_46_GATE_HEIGHT, ROUTE_29_46_GATE_WIDTH
-	dbw BANK(SafariZoneFuchsiaGateBeta_BlockData), SafariZoneFuchsiaGateBeta_BlockData
-	dbw BANK(Route2946Gate_MapScriptHeader), Route2946Gate_MapScriptHeader
-	dw Route2946Gate_MapEventHeader
-
-	db 0 ; connections
-; 0x965b4
-
-FightingDojo_SecondMapHeader: ; 0x965b4
-	db $0 ; border block
-	db FIGHTING_DOJO_HEIGHT, FIGHTING_DOJO_WIDTH
-	dbw BANK(FightingDojo_BlockData), FightingDojo_BlockData
-	dbw BANK(FightingDojo_MapScriptHeader), FightingDojo_MapScriptHeader
-	dw FightingDojo_MapEventHeader
-
-	db 0 ; connections
-; 0x965c0
-
-SaffronGym_SecondMapHeader: ; 0x965c0
-	db $0 ; border block
-	db SAFFRON_GYM_HEIGHT, SAFFRON_GYM_WIDTH
-	dbw BANK(SaffronGym_BlockData), SaffronGym_BlockData
-	dbw BANK(SaffronGym_MapScriptHeader), SaffronGym_MapScriptHeader
-	dw SaffronGym_MapEventHeader
-
-	db 0 ; connections
-; 0x965cc
-
-SaffronMart_SecondMapHeader: ; 0x965cc
-	db $0 ; border block
-	db SAFFRON_MART_HEIGHT, SAFFRON_MART_WIDTH
-	dbw BANK(OlivineMart_BlockData), OlivineMart_BlockData
-	dbw BANK(SaffronMart_MapScriptHeader), SaffronMart_MapScriptHeader
-	dw SaffronMart_MapEventHeader
-
-	db 0 ; connections
-; 0x965d8
-
-SaffronPokeCenter1F_SecondMapHeader: ; 0x965d8
-	db $0 ; border block
-	db SAFFRON_POKECENTER_1F_HEIGHT, SAFFRON_POKECENTER_1F_WIDTH
-	dbw BANK(OlivinePokeCenter1F_BlockData), OlivinePokeCenter1F_BlockData
-	dbw BANK(SaffronPokeCenter1F_MapScriptHeader), SaffronPokeCenter1F_MapScriptHeader
-	dw SaffronPokeCenter1F_MapEventHeader
-
-	db 0 ; connections
-; 0x965e4
-
-SaffronPokeCenter2FBeta_SecondMapHeader: ; 0x965e4
-	db $0 ; border block
-	db SAFFRON_POKECENTER_2F_BETA_HEIGHT, SAFFRON_POKECENTER_2F_BETA_WIDTH
-	dbw BANK(CinnabarPokeCenter2FBeta_BlockData), CinnabarPokeCenter2FBeta_BlockData
-	dbw BANK(SaffronPokeCenter2FBeta_MapScriptHeader), SaffronPokeCenter2FBeta_MapScriptHeader
-	dw SaffronPokeCenter2FBeta_MapEventHeader
-
-	db 0 ; connections
-; 0x965f0
-
-MrPsychicsHouse_SecondMapHeader: ; 0x965f0
-	db $0 ; border block
-	db MR_PSYCHICS_HOUSE_HEIGHT, MR_PSYCHICS_HOUSE_WIDTH
-	dbw BANK(OlivineVoltorbHouse_BlockData), OlivineVoltorbHouse_BlockData
-	dbw BANK(MrPsychicsHouse_MapScriptHeader), MrPsychicsHouse_MapScriptHeader
-	dw MrPsychicsHouse_MapEventHeader
-
-	db 0 ; connections
-; 0x965fc
-
-SaffronTrainStation_SecondMapHeader: ; 0x965fc
-	db $0 ; border block
-	db SAFFRON_TRAIN_STATION_HEIGHT, SAFFRON_TRAIN_STATION_WIDTH
-	dbw BANK(SaffronTrainStation_BlockData), SaffronTrainStation_BlockData
-	dbw BANK(SaffronTrainStation_MapScriptHeader), SaffronTrainStation_MapScriptHeader
-	dw SaffronTrainStation_MapEventHeader
-
-	db 0 ; connections
-; 0x96608
-
-SilphCo1F_SecondMapHeader: ; 0x96608
-	db $0 ; border block
-	db SILPH_CO_1F_HEIGHT, SILPH_CO_1F_WIDTH
-	dbw BANK(SilphCo1F_BlockData), SilphCo1F_BlockData
-	dbw BANK(SilphCo1F_MapScriptHeader), SilphCo1F_MapScriptHeader
-	dw SilphCo1F_MapEventHeader
-
-	db 0 ; connections
-; 0x96614
-
-CopycatsHouse1F_SecondMapHeader: ; 0x96614
-	db $0 ; border block
-	db COPYCATS_HOUSE_1F_HEIGHT, COPYCATS_HOUSE_1F_WIDTH
-	dbw BANK(CopycatsHouse1F_BlockData), CopycatsHouse1F_BlockData
-	dbw BANK(CopycatsHouse1F_MapScriptHeader), CopycatsHouse1F_MapScriptHeader
-	dw CopycatsHouse1F_MapEventHeader
-
-	db 0 ; connections
-; 0x96620
-
-CopycatsHouse2F_SecondMapHeader: ; 0x96620
-	db $0 ; border block
-	db COPYCATS_HOUSE_2F_HEIGHT, COPYCATS_HOUSE_2F_WIDTH
-	dbw BANK(CopycatsHouse2F_BlockData), CopycatsHouse2F_BlockData
-	dbw BANK(CopycatsHouse2F_MapScriptHeader), CopycatsHouse2F_MapScriptHeader
-	dw CopycatsHouse2F_MapEventHeader
-
-	db 0 ; connections
-; 0x9662c
-
-Route5UndergroundEntrance_SecondMapHeader: ; 0x9662c
-	db $0 ; border block
-	db ROUTE_5_UNDERGROUND_ENTRANCE_HEIGHT, ROUTE_5_UNDERGROUND_ENTRANCE_WIDTH
-	dbw BANK(Route6UndergroundEntrance_BlockData), Route6UndergroundEntrance_BlockData
-	dbw BANK(Route5UndergroundEntrance_MapScriptHeader), Route5UndergroundEntrance_MapScriptHeader
-	dw Route5UndergroundEntrance_MapEventHeader
-
-	db 0 ; connections
-; 0x96638
-
-Route5SaffronCityGate_SecondMapHeader: ; 0x96638
-	db $0 ; border block
-	db ROUTE_5_SAFFRON_CITY_GATE_HEIGHT, ROUTE_5_SAFFRON_CITY_GATE_WIDTH
-	dbw BANK(SafariZoneFuchsiaGateBeta_BlockData), SafariZoneFuchsiaGateBeta_BlockData
-	dbw BANK(Route5SaffronCityGate_MapScriptHeader), Route5SaffronCityGate_MapScriptHeader
-	dw Route5SaffronCityGate_MapEventHeader
-
-	db 0 ; connections
-; 0x96644
-
-Route5CleanseTagSpeechHouse_SecondMapHeader: ; 0x96644
-	db $0 ; border block
-	db ROUTE_5_CLEANSE_TAG_SPEECH_HOUSE_HEIGHT, ROUTE_5_CLEANSE_TAG_SPEECH_HOUSE_WIDTH
-	dbw BANK(OlivineVoltorbHouse_BlockData), OlivineVoltorbHouse_BlockData
-	dbw BANK(Route5CleanseTagSpeechHouse_MapScriptHeader), Route5CleanseTagSpeechHouse_MapScriptHeader
-	dw Route5CleanseTagSpeechHouse_MapEventHeader
-
-	db 0 ; connections
-; 0x96650
-
-CherrygroveMart_SecondMapHeader: ; 0x96650
-	db $0 ; border block
-	db CHERRYGROVE_MART_HEIGHT, CHERRYGROVE_MART_WIDTH
-	dbw BANK(OlivineMart_BlockData), OlivineMart_BlockData
-	dbw BANK(CherrygroveMart_MapScriptHeader), CherrygroveMart_MapScriptHeader
-	dw CherrygroveMart_MapEventHeader
-
-	db 0 ; connections
-; 0x9665c
-
-CherrygrovePokeCenter1F_SecondMapHeader: ; 0x9665c
-	db $0 ; border block
-	db CHERRYGROVE_POKECENTER_1F_HEIGHT, CHERRYGROVE_POKECENTER_1F_WIDTH
-	dbw BANK(OlivinePokeCenter1F_BlockData), OlivinePokeCenter1F_BlockData
-	dbw BANK(CherrygrovePokeCenter1F_MapScriptHeader), CherrygrovePokeCenter1F_MapScriptHeader
-	dw CherrygrovePokeCenter1F_MapEventHeader
-
-	db 0 ; connections
-; 0x96668
-
-CherrygroveGymSpeechHouse_SecondMapHeader: ; 0x96668
-	db $0 ; border block
-	db CHERRYGROVE_GYM_SPEECH_HOUSE_HEIGHT, CHERRYGROVE_GYM_SPEECH_HOUSE_WIDTH
-	dbw BANK(OlivineVoltorbHouse_BlockData), OlivineVoltorbHouse_BlockData
-	dbw BANK(CherrygroveGymSpeechHouse_MapScriptHeader), CherrygroveGymSpeechHouse_MapScriptHeader
-	dw CherrygroveGymSpeechHouse_MapEventHeader
-
-	db 0 ; connections
-; 0x96674
-
-GuideGentsHouse_SecondMapHeader: ; 0x96674
-	db $0 ; border block
-	db GUIDE_GENTS_HOUSE_HEIGHT, GUIDE_GENTS_HOUSE_WIDTH
-	dbw BANK(OlivineVoltorbHouse_BlockData), OlivineVoltorbHouse_BlockData
-	dbw BANK(GuideGentsHouse_MapScriptHeader), GuideGentsHouse_MapScriptHeader
-	dw GuideGentsHouse_MapEventHeader
-
-	db 0 ; connections
-; 0x96680
-
-CherrygroveEvolutionSpeechHouse_SecondMapHeader: ; 0x96680
-	db $0 ; border block
-	db CHERRYGROVE_EVOLUTION_SPEECH_HOUSE_HEIGHT, CHERRYGROVE_EVOLUTION_SPEECH_HOUSE_WIDTH
-	dbw BANK(OlivineVoltorbHouse_BlockData), OlivineVoltorbHouse_BlockData
-	dbw BANK(CherrygroveEvolutionSpeechHouse_MapScriptHeader), CherrygroveEvolutionSpeechHouse_MapScriptHeader
-	dw CherrygroveEvolutionSpeechHouse_MapEventHeader
-
-	db 0 ; connections
-; 0x9668c
-
-Route30BerrySpeechHouse_SecondMapHeader: ; 0x9668c
-	db $0 ; border block
-	db ROUTE_30_BERRY_SPEECH_HOUSE_HEIGHT, ROUTE_30_BERRY_SPEECH_HOUSE_WIDTH
-	dbw BANK(OlivineVoltorbHouse_BlockData), OlivineVoltorbHouse_BlockData
-	dbw BANK(Route30BerrySpeechHouse_MapScriptHeader), Route30BerrySpeechHouse_MapScriptHeader
-	dw Route30BerrySpeechHouse_MapEventHeader
-
-	db 0 ; connections
-; 0x96698
-
-MrPokemonsHouse_SecondMapHeader: ; 0x96698
-	db $0 ; border block
-	db MR_POKEMONS_HOUSE_HEIGHT, MR_POKEMONS_HOUSE_WIDTH
-	dbw BANK(MrPokemonsHouse_BlockData), MrPokemonsHouse_BlockData
-	dbw BANK(MrPokemonsHouse_MapScriptHeader), MrPokemonsHouse_MapScriptHeader
-	dw MrPokemonsHouse_MapEventHeader
-
-	db 0 ; connections
-; 0x966a4
-
-Route31VioletGate_SecondMapHeader: ; 0x966a4
-	db $0 ; border block
-	db ROUTE_31_VIOLET_GATE_HEIGHT, ROUTE_31_VIOLET_GATE_WIDTH
-	dbw BANK(Route38EcruteakGate_BlockData), Route38EcruteakGate_BlockData
-	dbw BANK(Route31VioletGate_MapScriptHeader), Route31VioletGate_MapScriptHeader
-	dw Route31VioletGate_MapEventHeader
-	db 0 ; connections
-; 0x966b0
-
+	map_header_2 Route23, ROUTE_23, $f, NONE ; 0x957b0
+	map_header_2 SproutTower1F, SPROUT_TOWER_1F, $0, NONE ; 0x957bc
+	map_header_2 SproutTower2F, SPROUT_TOWER_2F, $0, NONE ; 0x957c8
+	map_header_2 SproutTower3F, SPROUT_TOWER_3F, $0, NONE ; 0x957d4
+	map_header_2 TinTower1F, TIN_TOWER_1F, $0, NONE ; 0x957e0
+	map_header_2 TinTower2F, TIN_TOWER_2F, $0, NONE ; 0x957ec
+	map_header_2 TinTower3F, TIN_TOWER_3F, $0, NONE ; 0x957f8
+	map_header_2 TinTower4F, TIN_TOWER_4F, $0, NONE ; 0x95804
+	map_header_2 TinTower5F, TIN_TOWER_5F, $0, NONE ; 0x95810
+	map_header_2 TinTower6F, TIN_TOWER_6F, $0, NONE ; 0x9581c
+	map_header_2 TinTower7F, TIN_TOWER_7F, $0, NONE ; 0x95828
+	map_header_2 TinTower8F, TIN_TOWER_8F, $0, NONE ; 0x95834
+	map_header_2 TinTower9F, TIN_TOWER_9F, $0, NONE ; 0x95840
+	map_header_2 BurnedTower1F, BURNED_TOWER_1F, $0, NONE ; 0x9584c
+	map_header_2 BurnedTowerB1F, BURNED_TOWER_B1F, $9, NONE ; 0x95858
+	map_header_2 NationalPark, NATIONAL_PARK, $0, NONE ; 0x95864
+	map_header_2 NationalParkBugContest, NATIONAL_PARK_BUG_CONTEST, $0, NONE ; 0x95870
+	map_header_2 RadioTower1F, RADIO_TOWER_1F, $0, NONE ; 0x9587c
+	map_header_2 RadioTower2F, RADIO_TOWER_2F, $0, NONE ; 0x95888
+	map_header_2 RadioTower3F, RADIO_TOWER_3F, $0, NONE ; 0x95894
+	map_header_2 RadioTower4F, RADIO_TOWER_4F, $0, NONE ; 0x958a0
+	map_header_2 RadioTower5F, RADIO_TOWER_5F, $0, NONE ; 0x958ac
+	map_header_2 RuinsofAlphOutside, RUINS_OF_ALPH_OUTSIDE, $5, NONE ; 0x958b8
+	map_header_2 RuinsofAlphHoOhChamber, RUINS_OF_ALPH_HO_OH_CHAMBER, $0, NONE ; 0x958c4
+	map_header_2 RuinsofAlphKabutoChamber, RUINS_OF_ALPH_KABUTO_CHAMBER, $0, NONE ; 0x958d0
+	map_header_2 RuinsofAlphOmanyteChamber, RUINS_OF_ALPH_OMANYTE_CHAMBER, $0, NONE ; 0x958dc
+	map_header_2 RuinsofAlphAerodactylChamber, RUINS_OF_ALPH_AERODACTYL_CHAMBER, $0, NONE ; 0x958e8
+	map_header_2 RuinsofAlphInnerChamber, RUINS_OF_ALPH_INNER_CHAMBER, $0, NONE ; 0x958f4
+	map_header_2 RuinsofAlphResearchCenter, RUINS_OF_ALPH_RESEARCH_CENTER, $0, NONE ; 0x95900
+	map_header_2 RuinsofAlphHoOhItemRoom, RUINS_OF_ALPH_HO_OH_ITEM_ROOM, $0, NONE ; 0x9590c
+	map_header_2 RuinsofAlphKabutoItemRoom, RUINS_OF_ALPH_KABUTO_ITEM_ROOM, $0, NONE ; 0x95918
+	map_header_2 RuinsofAlphOmanyteItemRoom, RUINS_OF_ALPH_OMANYTE_ITEM_ROOM, $0, NONE ; 0x95924
+	map_header_2 RuinsofAlphAerodactylItemRoom, RUINS_OF_ALPH_AERODACTYL_ITEM_ROOM, $0, NONE ; 0x95930
+	map_header_2 RuinsofAlphHoOhWordRoom, RUINS_OF_ALPH_HO_OH_WORD_ROOM, $0, NONE ; 0x9593c
+	map_header_2 RuinsofAlphKabutoWordRoom, RUINS_OF_ALPH_KABUTO_WORD_ROOM, $0, NONE ; 0x95948
+	map_header_2 RuinsofAlphOmanyteWordRoom, RUINS_OF_ALPH_OMANYTE_WORD_ROOM, $0, NONE ; 0x95954
+	map_header_2 RuinsofAlphAerodactylWordRoom, RUINS_OF_ALPH_AERODACTYL_WORD_ROOM, $0, NONE ; 0x95960
+	map_header_2 UnionCave1F, UNION_CAVE_1F, $9, NONE ; 0x9596c
+	map_header_2 UnionCaveB1F, UNION_CAVE_B1F, $9, NONE ; 0x95978
+	map_header_2 UnionCaveB2F, UNION_CAVE_B2F, $9, NONE ; 0x95984
+	map_header_2 SlowpokeWellB1F, SLOWPOKE_WELL_B1F, $9, NONE ; 0x95990
+	map_header_2 SlowpokeWellB2F, SLOWPOKE_WELL_B2F, $9, NONE ; 0x9599c
+	map_header_2 OlivineLighthouse1F, OLIVINE_LIGHTHOUSE_1F, $0, NONE ; 0x959a8
+	map_header_2 OlivineLighthouse2F, OLIVINE_LIGHTHOUSE_2F, $0, NONE ; 0x959b4
+	map_header_2 OlivineLighthouse3F, OLIVINE_LIGHTHOUSE_3F, $0, NONE ; 0x959c0
+	map_header_2 OlivineLighthouse4F, OLIVINE_LIGHTHOUSE_4F, $0, NONE ; 0x959cc
+	map_header_2 OlivineLighthouse5F, OLIVINE_LIGHTHOUSE_5F, $0, NONE ; 0x959d8
+	map_header_2 OlivineLighthouse6F, OLIVINE_LIGHTHOUSE_6F, $0, NONE ; 0x959e4
+	map_header_2 MahoganyMart1F, MAHOGANY_MART_1F, $0, NONE ; 0x959f0
+	map_header_2 TeamRocketBaseB1F, TEAM_ROCKET_BASE_B1F, $0, NONE ; 0x959fc
+	map_header_2 TeamRocketBaseB2F, TEAM_ROCKET_BASE_B2F, $0, NONE ; 0x95a08
+	map_header_2 TeamRocketBaseB3F, TEAM_ROCKET_BASE_B3F, $0, NONE ; 0x95a14
+	map_header_2 IlexForest, ILEX_FOREST, $5, NONE ; 0x95a20
+	map_header_2 WarehouseEntrance, WAREHOUSE_ENTRANCE, $0, NONE ; 0x95a2c
+	map_header_2 UndergroundPathSwitchRoomEntrances, UNDERGROUND_PATH_SWITCH_ROOM_ENTRANCES, $0, NONE ; 0x95a38
+	map_header_2 GoldenrodDeptStoreB1F, GOLDENROD_DEPT_STORE_B1F, $0, NONE ; 0x95a44
+	map_header_2 UndergroundWarehouse, UNDERGROUND_WAREHOUSE, $0, NONE ; 0x95a50
+	map_header_2 MountMortar1FOutside, MOUNT_MORTAR_1F_OUTSIDE, $9, NONE ; 0x95a5c
+	map_header_2 MountMortar1FInside, MOUNT_MORTAR_1F_INSIDE, $9, NONE ; 0x95a68
+	map_header_2 MountMortar2FInside, MOUNT_MORTAR_2F_INSIDE, $9, NONE ; 0x95a74
+	map_header_2 MountMortarB1F, MOUNT_MORTAR_B1F, $9, NONE ; 0x95a80
+	map_header_2 IcePath1F, ICE_PATH_1F, $9, NONE ; 0x95a8c
+	map_header_2 IcePathB1F, ICE_PATH_B1F, $19, NONE ; 0x95a98
+	map_header_2 IcePathB2FMahoganySide, ICE_PATH_B2F_MAHOGANY_SIDE, $19, NONE ; 0x95aa4
+	map_header_2 IcePathB2FBlackthornSide, ICE_PATH_B2F_BLACKTHORN_SIDE, $19, NONE ; 0x95ab0
+	map_header_2 IcePathB3F, ICE_PATH_B3F, $19, NONE ; 0x95abc
+	map_header_2 WhirlIslandNW, WHIRL_ISLAND_NW, $9, NONE ; 0x95ac8
+	map_header_2 WhirlIslandNE, WHIRL_ISLAND_NE, $9, NONE ; 0x95ad4
+	map_header_2 WhirlIslandSW, WHIRL_ISLAND_SW, $9, NONE ; 0x95ae0
+	map_header_2 WhirlIslandCave, WHIRL_ISLAND_CAVE, $9, NONE ; 0x95aec
+	map_header_2 WhirlIslandSE, WHIRL_ISLAND_SE, $f, NONE ; 0x95af8
+	map_header_2 WhirlIslandB1F, WHIRL_ISLAND_B1F, $9, NONE ; 0x95b04
+	map_header_2 WhirlIslandB2F, WHIRL_ISLAND_B2F, $2e, NONE ; 0x95b10
+	map_header_2 WhirlIslandLugiaChamber, WHIRL_ISLAND_LUGIA_CHAMBER, $f, NONE ; 0x95b1c
+	map_header_2 SilverCaveRoom1, SILVER_CAVE_ROOM_1, $9, NONE ; 0x95b28
+	map_header_2 SilverCaveRoom2, SILVER_CAVE_ROOM_2, $9, NONE ; 0x95b34
+	map_header_2 SilverCaveRoom3, SILVER_CAVE_ROOM_3, $9, NONE ; 0x95b40
+	map_header_2 SilverCaveItemRooms, SILVER_CAVE_ITEM_ROOMS, $9, NONE ; 0x95b4c
+	map_header_2 DarkCaveVioletEntrance, DARK_CAVE_VIOLET_ENTRANCE, $9, NONE ; 0x95b58
+	map_header_2 DarkCaveBlackthornEntrance, DARK_CAVE_BLACKTHORN_ENTRANCE, $9, NONE ; 0x95b64
+	map_header_2 DragonsDen1F, DRAGONS_DEN_1F, $9, NONE ; 0x95b70
+	map_header_2 DragonsDenB1F, DRAGONS_DEN_B1F, $71, NONE ; 0x95b7c
+	map_header_2 DragonShrine, DRAGON_SHRINE, $0, NONE ; 0x95b88
+	map_header_2 TohjoFalls, TOHJO_FALLS, $9, NONE ; 0x95b94
+	map_header_2 OlivinePokeCenter1F, OLIVINE_POKECENTER_1F, $0, NONE ; 0x95ba0
+	map_header_2 OlivineGym, OLIVINE_GYM, $0, NONE ; 0x95bac
+	map_header_2 OlivineVoltorbHouse, OLIVINE_VOLTORB_HOUSE, $0, NONE ; 0x95bb8
+	map_header_2 OlivineHouseBeta, OLIVINE_HOUSE_BETA, $0, NONE ; 0x95bc4
+	map_header_2 OlivinePunishmentSpeechHouse, OLIVINE_PUNISHMENT_SPEECH_HOUSE, $0, NONE ; 0x95bd0
+	map_header_2 OlivineGoodRodHouse, OLIVINE_GOOD_ROD_HOUSE, $0, NONE ; 0x95bdc
+	map_header_2 OlivineCafe, OLIVINE_CAFE, $0, NONE ; 0x95be8
+	map_header_2 OlivineMart, OLIVINE_MART, $0, NONE ; 0x95bf4
+	map_header_2 Route38EcruteakGate, ROUTE_38_ECRUTEAK_GATE, $0, NONE ; 0x95c00
+	map_header_2 Route39Barn, ROUTE_39_BARN, $0, NONE ; 0x95c0c
+	map_header_2 Route39Farmhouse, ROUTE_39_FARMHOUSE, $0, NONE ; 0x95c18
+	map_header_2 MahoganyRedGyaradosSpeechHouse, MAHOGANY_RED_GYARADOS_SPEECH_HOUSE, $0, NONE ; 0x95c24
+	map_header_2 MahoganyGym, MAHOGANY_GYM, $0, NONE ; 0x95c30
+	map_header_2 MahoganyPokeCenter1F, MAHOGANY_POKECENTER_1F, $0, NONE ; 0x95c3c
+	map_header_2 Route42EcruteakGate, ROUTE_42_ECRUTEAK_GATE, $0, NONE ; 0x95c48
+	map_header_2 DiglettsCave, DIGLETTS_CAVE, $9, NONE ; 0x95c54
+	map_header_2 MountMoon, MOUNT_MOON, $9, NONE ; 0x95c60
+	map_header_2 Underground, UNDERGROUND, $0, NONE ; 0x95c6c
+	map_header_2 RockTunnel1F, ROCK_TUNNEL_1F, $9, NONE ; 0x95c78
+	map_header_2 RockTunnelB1F, ROCK_TUNNEL_B1F, $9, NONE ; 0x95c84
+	map_header_2 SafariZoneFuchsiaGateBeta, SAFARI_ZONE_FUCHSIA_GATE_BETA, $0, NONE ; 0x95c90
+	map_header_2 SafariZoneBeta, SAFARI_ZONE_BETA, $13, NONE ; 0x95c9c
+	map_header_2 VictoryRoad, VICTORY_ROAD, $1d, NONE ; 0x95ca8
+	map_header_2 EcruteakHouse, ECRUTEAK_HOUSE, $0, NONE ; 0x95cb4
+	map_header_2 WiseTriosRoom, WISE_TRIOS_ROOM, $0, NONE ; 0x95cc0
+	map_header_2 EcruteakPokeCenter1F, ECRUTEAK_POKECENTER_1F, $0, NONE ; 0x95ccc
+	map_header_2 EcruteakLugiaSpeechHouse, ECRUTEAK_LUGIA_SPEECH_HOUSE, $0, NONE ; 0x95cd8
+	map_header_2 DanceTheatre, DANCE_THEATRE, $0, NONE ; 0x95ce4
+	map_header_2 EcruteakMart, ECRUTEAK_MART, $0, NONE ; 0x95cf0
+	map_header_2 EcruteakGym, ECRUTEAK_GYM, $0, NONE ; 0x95cfc
+	map_header_2 EcruteakItemfinderHouse, ECRUTEAK_ITEMFINDER_HOUSE, $0, NONE ; 0x95d08
+	map_header_2 BlackthornGym1F, BLACKTHORN_GYM_1F, $0, NONE ; 0x95d14
+	map_header_2 BlackthornGym2F, BLACKTHORN_GYM_2F, $0, NONE ; 0x95d20
+	map_header_2 BlackthornDragonSpeechHouse, BLACKTHORN_DRAGON_SPEECH_HOUSE, $0, NONE ; 0x95d2c
+	map_header_2 BlackthornDodrioTradeHouse, BLACKTHORN_DODRIO_TRADE_HOUSE, $0, NONE ; 0x95d38
+	map_header_2 BlackthornMart, BLACKTHORN_MART, $0, NONE ; 0x95d44
+	map_header_2 BlackthornPokeCenter1F, BLACKTHORN_POKECENTER_1F, $0, NONE ; 0x95d50
+	map_header_2 MoveDeletersHouse, MOVE_DELETERS_HOUSE, $0, NONE ; 0x95d5c
+	map_header_2 CinnabarPokeCenter1F, CINNABAR_POKECENTER_1F, $0, NONE ; 0x95d68
+	map_header_2 CinnabarPokeCenter2FBeta, CINNABAR_POKECENTER_2F_BETA, $0, NONE ; 0x95d74
+	map_header_2 Route19FuchsiaGate, ROUTE_19___FUCHSIA_GATE, $0, NONE ; 0x95d80
+	map_header_2 SeafoamGym, SEAFOAM_GYM, $9, NONE ; 0x95d8c
+	map_header_2 CeruleanGymBadgeSpeechHouse, CERULEAN_GYM_BADGE_SPEECH_HOUSE, $0, NONE ; 0x95d98
+	map_header_2 CeruleanPoliceStation, CERULEAN_POLICE_STATION, $0, NONE ; 0x95da4
+	map_header_2 CeruleanTradeSpeechHouse, CERULEAN_TRADE_SPEECH_HOUSE, $0, NONE ; 0x95db0
+	map_header_2 CeruleanPokeCenter1F, CERULEAN_POKECENTER_1F, $0, NONE ; 0x95dbc
+	map_header_2 CeruleanPokeCenter2FBeta, CERULEAN_POKECENTER_2F_BETA, $0, NONE ; 0x95dc8
+	map_header_2 CeruleanGym, CERULEAN_GYM, $0, NONE ; 0x95dd4
+	map_header_2 CeruleanMart, CERULEAN_MART, $0, NONE ; 0x95de0
+	map_header_2 Route10PokeCenter1F, ROUTE_10_POKECENTER_1F, $0, NONE ; 0x95dec
+	map_header_2 Route10PokeCenter2FBeta, ROUTE_10_POKECENTER_2F_BETA, $0, NONE ; 0x95df8
+	map_header_2 PowerPlant, POWER_PLANT, $0, NONE ; 0x95e04
+	map_header_2 BillsHouse, BILLS_HOUSE, $0, NONE ; 0x95e10
+	map_header_2 AzaleaPokeCenter1F, AZALEA_POKECENTER_1F, $0, NONE ; 0x95e1c
+	map_header_2 CharcoalKiln, CHARCOAL_KILN, $0, NONE ; 0x95e28
+	map_header_2 AzaleaMart, AZALEA_MART, $0, NONE ; 0x95e34
+	map_header_2 KurtsHouse, KURTS_HOUSE, $0, NONE ; 0x95e40
+	map_header_2 AzaleaGym, AZALEA_GYM, $0, NONE ; 0x95e4c
+	map_header_2 LakeofRageHiddenPowerHouse, LAKE_OF_RAGE_HIDDEN_POWER_HOUSE, $0, NONE ; 0x95e58
+	map_header_2 LakeofRageMagikarpHouse, LAKE_OF_RAGE_MAGIKARP_HOUSE, $0, NONE ; 0x95e64
+	map_header_2 Route43MahoganyGate, ROUTE_43_MAHOGANY_GATE, $0, NONE ; 0x95e70
+	map_header_2 Route43Gate, ROUTE_43_GATE, $0, NONE ; 0x95e7c
+	map_header_2 VioletMart, VIOLET_MART, $0, NONE ; 0x95e88
+	map_header_2 VioletGym, VIOLET_GYM, $0, NONE ; 0x95e94
+	map_header_2 EarlsPokemonAcademy, EARLS_POKEMON_ACADEMY, $0, NONE ; 0x95ea0
+	map_header_2 VioletNicknameSpeechHouse, VIOLET_NICKNAME_SPEECH_HOUSE, $0, NONE ; 0x95eac
+	map_header_2 VioletPokeCenter1F, VIOLET_POKECENTER_1F, $0, NONE ; 0x95eb8
+	map_header_2 VioletOnixTradeHouse, VIOLET_ONIX_TRADE_HOUSE, $0, NONE ; 0x95ec4
+	map_header_2 Route32RuinsofAlphGate, ROUTE_32_RUINS_OF_ALPH_GATE, $0, NONE ; 0x95ed0
+	map_header_2 Route32PokeCenter1F, ROUTE_32_POKECENTER_1F, $0, NONE ; 0x95edc
+	map_header_2 Route35Goldenrodgate, ROUTE_35_GOLDENROD_GATE, $0, NONE ; 0x95ee8
+	map_header_2 Route35NationalParkgate, ROUTE_35_NATIONAL_PARK_GATE, $0, NONE ; 0x95ef4
+	map_header_2 Route36RuinsofAlphgate, ROUTE_36_RUINS_OF_ALPH_GATE, $0, NONE ; 0x95f00
+	map_header_2 Route36NationalParkgate, ROUTE_36_NATIONAL_PARK_GATE, $0, NONE ; 0x95f0c
+	map_header_2 GoldenrodGym, GOLDENROD_GYM, $0, NONE ; 0x95f18
+	map_header_2 GoldenrodBikeShop, GOLDENROD_BIKE_SHOP, $0, NONE ; 0x95f24
+	map_header_2 GoldenrodHappinessRater, GOLDENROD_HAPPINESS_RATER, $0, NONE ; 0x95f30
+	map_header_2 GoldenrodBillsHouse, GOLDENROD_BILLS_HOUSE, $0, NONE ; 0x95f3c
+	map_header_2 GoldenrodMagnetTrainStation, GOLDENROD_MAGNET_TRAIN_STATION, $0, NONE ; 0x95f48
+	map_header_2 GoldenrodFlowerShop, GOLDENROD_FLOWER_SHOP, $0, NONE ; 0x95f54
+	map_header_2 GoldenrodPPSpeechHouse, GOLDENROD_PP_SPEECH_HOUSE, $0, NONE ; 0x95f60
+	map_header_2 GoldenrodNameRatersHouse, GOLDENROD_NAME_RATERS_HOUSE, $0, NONE ; 0x95f6c
+	map_header_2 GoldenrodDeptStore1F, GOLDENROD_DEPT_STORE_1F, $0, NONE ; 0x95f78
+	map_header_2 GoldenrodDeptStore2F, GOLDENROD_DEPT_STORE_2F, $0, NONE ; 0x95f84
+	map_header_2 GoldenrodDeptStore3F, GOLDENROD_DEPT_STORE_3F, $0, NONE ; 0x95f90
+	map_header_2 GoldenrodDeptStore4F, GOLDENROD_DEPT_STORE_4F, $0, NONE ; 0x95f9c
+	map_header_2 GoldenrodDeptStore5F, GOLDENROD_DEPT_STORE_5F, $0, NONE ; 0x95fa8
+	map_header_2 GoldenrodDeptStore6F, GOLDENROD_DEPT_STORE_6F, $0, NONE ; 0x95fb4
+	map_header_2 GoldenrodDeptStoreElevator, GOLDENROD_DEPT_STORE_ELEVATOR, $0, NONE ; 0x95fc0
+	map_header_2 GoldenrodDeptStoreRoof, GOLDENROD_DEPT_STORE_ROOF, $24, NONE ; 0x95fcc
+	map_header_2 GoldenrodGameCorner, GOLDENROD_GAME_CORNER, $0, NONE ; 0x95fd8
+	map_header_2 GoldenrodPokeCenter1F, GOLDENROD_POKECENTER_1F, $0, NONE ; 0x95fe4
+	map_header_2 GoldenrodPokeComCenter2FMobile, GOLDENROD_POKECOM_CENTER_2F_MOBILE, $0, NONE ; 0x95ff0
+	map_header_2 IlexForestAzaleaGate, ILEX_FOREST_AZALEA_GATE, $0, NONE ; 0x95ffc
+	map_header_2 Route34IlexForestGate, ROUTE_34_ILEX_FOREST_GATE, $0, NONE ; 0x96008
+	map_header_2 DayCare, DAY_CARE, $0, NONE ; 0x96014
+	map_header_2 VermilionHouseFishingSpeechHouse, VERMILION_HOUSE_FISHING_SPEECH_HOUSE, $0, NONE ; 0x96020
+	map_header_2 VermilionPokeCenter1F, VERMILION_POKECENTER_1F, $0, NONE ; 0x9602c
+	map_header_2 VermilionPokeCenter2FBeta, VERMILION_POKECENTER_2F_BETA, $0, NONE ; 0x96038
+	map_header_2 PokemonFanClub, POKEMON_FAN_CLUB, $0, NONE ; 0x96044
+	map_header_2 VermilionMagnetTrainSpeechHouse, VERMILION_MAGNET_TRAIN_SPEECH_HOUSE, $0, NONE ; 0x96050
+	map_header_2 VermilionMart, VERMILION_MART, $0, NONE ; 0x9605c
+	map_header_2 VermilionHouseDiglettsCaveSpeechHouse, VERMILION_HOUSE_DIGLETTS_CAVE_SPEECH_HOUSE, $0, NONE ; 0x96068
+	map_header_2 VermilionGym, VERMILION_GYM, $0, NONE ; 0x96074
+	map_header_2 Route6SaffronGate, ROUTE_6_SAFFRON_GATE, $0, NONE ; 0x96080
+	map_header_2 Route6UndergroundEntrance, ROUTE_6_UNDERGROUND_ENTRANCE, $0, NONE ; 0x9608c
+	map_header_2 RedsHouse1F, REDS_HOUSE_1F, $0, NONE ; 0x96098
+	map_header_2 RedsHouse2F, REDS_HOUSE_2F, $0, NONE ; 0x960a4
+	map_header_2 BluesHouse, BLUES_HOUSE, $0, NONE ; 0x960b0
+	map_header_2 OaksLab, OAKS_LAB, $0, NONE ; 0x960bc
+	map_header_2 PewterNidoranSpeechHouse, PEWTER_NIDORAN_SPEECH_HOUSE, $0, NONE ; 0x960c8
+	map_header_2 PewterGym, PEWTER_GYM, $0, NONE ; 0x960d4
+	map_header_2 PewterMart, PEWTER_MART, $0, NONE ; 0x960e0
+	map_header_2 PewterPokeCenter1F, PEWTER_POKECENTER_1F, $0, NONE ; 0x960ec
+	map_header_2 PewterPokeCEnter2FBeta, PEWTER_POKECENTER_2F_BETA, $0, NONE ; 0x960f8
+	map_header_2 PewterSnoozeSpeechHouse, PEWTER_SNOOZE_SPEECH_HOUSE, $0, NONE ; 0x96104
+	map_header_2 OlivinePort, OLIVINE_PORT, $a, NONE ; 0x96110
+	map_header_2 VermilionPort, VERMILION_PORT, $a, NONE ; 0x9611c
+	map_header_2 FastShip1F, FAST_SHIP_1F, $0, NONE ; 0x96128
+	map_header_2 FastShipCabins_NNW_NNE_NE, FAST_SHIP_CABINS_NNW_NNE_NE, $0, NONE ; 0x96134
+	map_header_2 FastShipCabins_SW_SSW_NW, FAST_SHIP_CABINS_SW_SSW_NW, $0, NONE ; 0x96140
+	map_header_2 FastShipCabins_SE_SSE_CaptainsCabin, FAST_SHIP_CABINS_SE_SSE_CAPTAINS_CABIN, $0, NONE ; 0x9614c
+	map_header_2 FastShipB1F, FAST_SHIP_B1F, $0, NONE ; 0x96158
+	map_header_2 OlivinePortPassage, OLIVINE_PORT_PASSAGE, $0, NONE ; 0x96164
+	map_header_2 VermilionPortPassage, VERMILION_PORT_PASSAGE, $0, NONE ; 0x96170
+	map_header_2 MountMoonSquare, MOUNT_MOON_SQUARE, $2d, NONE ; 0x9617c
+	map_header_2 MountMoonGiftShop, MOUNT_MOON_GIFT_SHOP, $0, NONE ; 0x96188
+	map_header_2 TinTowerRoof, TIN_TOWER_ROOF, $0, NONE ; 0x96194
+	map_header_2 IndigoPlateauPokeCenter1F, INDIGO_PLATEAU_POKECENTER_1F, $0, NONE ; 0x961a0
+	map_header_2 WillsRoom, WILLS_ROOM, $0, NONE ; 0x961ac
+	map_header_2 KogasRoom, KOGAS_ROOM, $0, NONE ; 0x961b8
+	map_header_2 BrunosRoom, BRUNOS_ROOM, $0, NONE ; 0x961c4
+	map_header_2 KarensRoom, KARENS_ROOM, $0, NONE ; 0x961d0
+	map_header_2 LancesRoom, LANCES_ROOM, $0, NONE ; 0x961dc
+	map_header_2 HallOfFame, HALL_OF_FAME, $0, NONE ; 0x961e8
+	map_header_2 FuchsiaMart, FUCHSIA_MART, $0, NONE ; 0x961f4
+	map_header_2 SafariZoneMainOffice, SAFARI_ZONE_MAIN_OFFICE, $0, NONE ; 0x96200
+	map_header_2 FuchsiaGym, FUCHSIA_GYM, $0, NONE ; 0x9620c
+	map_header_2 FuchsiaBillSpeechHouse, FUCHSIA_BILL_SPEECH_HOUSE, $0, NONE ; 0x96218
+	map_header_2 FuchsiaPokeCenter1F, FUCHSIA_POKECENTER_1F, $0, NONE ; 0x96224
+	map_header_2 FuchsiaPokeCenter2FBeta, FUCHSIA_POKECENTER_2F_BETA, $0, NONE ; 0x96230
+	map_header_2 SafariZoneWardensHome, SAFARI_ZONE_WARDENS_HOME, $0, NONE ; 0x9623c
+	map_header_2 Route15FuchsiaGate, ROUTE_15_FUCHSIA_GATE, $0, NONE ; 0x96248
+	map_header_2 LavenderPokeCenter1F, LAVENDER_POKECENTER_1F, $0, NONE ; 0x96254
+	map_header_2 LavenderPokeCenter2FBeta, LAVENDER_POKECENTER_2F_BETA, $0, NONE ; 0x96260
+	map_header_2 MrFujisHouse, MR_FUJIS_HOUSE, $0, NONE ; 0x9626c
+	map_header_2 LavenderTownSpeechHouse, LAVENDER_TOWN_SPEECH_HOUSE, $0, NONE ; 0x96278
+	map_header_2 LavenderNameRater, LAVENDER_NAME_RATER, $0, NONE ; 0x96284
+	map_header_2 LavenderMart, LAVENDER_MART, $0, NONE ; 0x96290
+	map_header_2 SoulHouse, SOUL_HOUSE, $0, NONE ; 0x9629c
+	map_header_2 LavRadioTower1F, LAV_RADIO_TOWER_1F, $0, NONE ; 0x962a8
+	map_header_2 Route8SaffronGate, ROUTE_8_SAFFRON_GATE, $0, NONE ; 0x962b4
+	map_header_2 Route12SuperRodHouse, ROUTE_12_SUPER_ROD_HOUSE, $0, NONE ; 0x962c0
+	map_header_2 SilverCavePokeCenter1F, SILVER_CAVE_POKECENTER_1F, $0, NONE ; 0x962cc
+	map_header_2 Route28FamousSpeechHouse, ROUTE_28_FAMOUS_SPEECH_HOUSE, $0, NONE ; 0x962d8
+	map_header_2 PokeCenter2F, POKECENTER_2F, $0, NONE ; 0x962e4
+	map_header_2 TradeCenter, TRADE_CENTER, $0, NONE ; 0x962f0
+	map_header_2 Colosseum, COLOSSEUM, $0, NONE ; 0x962fc
+	map_header_2 TimeCapsule, TIME_CAPSULE, $0, NONE ; 0x96308
+	map_header_2 MobileTradeRoomMobile, MOBILE_TRADE_ROOM_MOBILE, $0, NONE ; 0x96314
+	map_header_2 MobileBattleRoom, MOBILE_BATTLE_ROOM, $0, NONE ; 0x96320
+	map_header_2 CeladonDeptStore1F, CELADON_DEPT_STORE_1F, $0, NONE ; 0x9632c
+	map_header_2 CeladonDeptStore2F, CELADON_DEPT_STORE_2F, $0, NONE ; 0x96338
+	map_header_2 CeladonDeptStore3F, CELADON_DEPT_STORE_3F, $0, NONE ; 0x96344
+	map_header_2 CeladonDeptStore4F, CELADON_DEPT_STORE_4F, $0, NONE ; 0x96350
+	map_header_2 CeladonDeptStore5F, CELADON_DEPT_STORE_5F, $0, NONE ; 0x9635c
+	map_header_2 CeladonDeptStore6F, CELADON_DEPT_STORE_6F, $0, NONE ; 0x96368
+	map_header_2 CeladonDeptStoreElevator, CELADON_DEPT_STORE_ELEVATOR, $0, NONE ; 0x96374
+	map_header_2 CeladonMansion1F, CELADON_MANSION_1F, $0, NONE ; 0x96380
+	map_header_2 CeladonMansion2F, CELADON_MANSION_2F, $0, NONE ; 0x9638c
+	map_header_2 CeladonMansion3F, CELADON_MANSION_3F, $0, NONE ; 0x96398
+	map_header_2 CeladonMansionRoof, CELADON_MANSION_ROOF, $1, NONE ; 0x963a4
+	map_header_2 CeladonMansionRoofHouse, CELADON_MANSION_ROOF_HOUSE, $0, NONE ; 0x963b0
+	map_header_2 CeladonPokeCenter1F, CELADON_POKECENTER_1F, $0, NONE ; 0x963bc
+	map_header_2 CeladonPokeCenter2FBeta, CELADON_POKECENTER_2F_BETA, $0, NONE ; 0x963c8
+	map_header_2 CeladonGameCorner, CELADON_GAME_CORNER, $0, NONE ; 0x963d4
+	map_header_2 CeladonGameCornerPrizeRoom, CELADON_GAME_CORNER_PRIZE_ROOM, $0, NONE ; 0x963e0
+	map_header_2 CeladonGym, CELADON_GYM, $0, NONE ; 0x963ec
+	map_header_2 CeladonCafe, CELADON_CAFE, $0, NONE ; 0x963f8
+	map_header_2 Route16FuchsiaSpeechHouse, ROUTE_16_FUCHSIA_SPEECH_HOUSE, $0, NONE ; 0x96404
+	map_header_2 Route16Gate, ROUTE_16_GATE, $0, NONE ; 0x96410
+	map_header_2 Route7SaffronGate, ROUTE_7_SAFFRON_GATE, $0, NONE ; 0x9641c
+	map_header_2 Route1718Gate, ROUTE_17_18_GATE, $0, NONE ; 0x96428
+	map_header_2 ManiasHouse, MANIAS_HOUSE, $0, NONE ; 0x96434
+	map_header_2 CianwoodGym, CIANWOOD_GYM, $0, NONE ; 0x96440
+	map_header_2 CianwoodPokeCenter1F, CIANWOOD_POKECENTER_1F, $0, NONE ; 0x9644c
+	map_header_2 CianwoodPharmacy, CIANWOOD_PHARMACY, $0, NONE ; 0x96458
+	map_header_2 CianwoodCityPhotoStudio, CIANWOOD_CITY_PHOTO_STUDIO, $0, NONE ; 0x96464
+	map_header_2 CianwoodLugiaSpeechHouse, CIANWOOD_LUGIA_SPEECH_HOUSE, $0, NONE ; 0x96470
+	map_header_2 PokeSeersHouse, POKE_SEERS_HOUSE, $0, NONE ; 0x9647c
+	map_header_2 BattleTower1F, BATTLE_TOWER_1F, $0, NONE ; 0x96488
+	map_header_2 BattleTowerBattleRoom, BATTLE_TOWER_BATTLE_ROOM, $0, NONE ; 0x96494
+	map_header_2 BattleTowerElevator, BATTLE_TOWER_ELEVATOR, $0, NONE ; 0x964a0
+	map_header_2 BattleTowerHallway, BATTLE_TOWER_HALLWAY, $0, NONE ; 0x964ac
+	map_header_2 Route40BattleTowerGate, ROUTE_40_BATTLE_TOWER_GATE, $0, NONE ; 0x964b8
+	map_header_2 BattleTowerOutside, BATTLE_TOWER_OUTSIDE, $5, NONE ; 0x964c4
+	map_header_2 ViridianGym, VIRIDIAN_GYM, $0, NONE ; 0x964d0
+	map_header_2 ViridianNicknameSpeechHouse, VIRIDIAN_NICKNAME_SPEECH_HOUSE, $0, NONE ; 0x964dc
+	map_header_2 TrainerHouse1F, TRAINER_HOUSE_1F, $0, NONE ; 0x964e8
+	map_header_2 TrainerHouseB1F, TRAINER_HOUSE_B1F, $0, NONE ; 0x964f4
+	map_header_2 ViridianMart, VIRIDIAN_MART, $0, NONE ; 0x96500
+	map_header_2 ViridianPokeCenter1F, VIRIDIAN_POKECENTER_1F, $0, NONE ; 0x9650c
+	map_header_2 ViridianPokeCenter2FBeta, VIRIDIAN_POKECENTER_2F_BETA, $0, NONE ; 0x96518
+	map_header_2 Route2NuggetSpeechHouse, ROUTE_2_NUGGET_SPEECH_HOUSE, $0, NONE ; 0x96524
+	map_header_2 Route2Gate, ROUTE_2_GATE, $0, NONE ; 0x96530
+	map_header_2 VictoryRoadGate, VICTORY_ROAD_GATE, $0, NONE ; 0x9653c
+	map_header_2 ElmsLab, ELMS_LAB, $0, NONE ; 0x96548
+	map_header_2 KrissHouse1F, KRISS_HOUSE_1F, $0, NONE ; 0x96554
+	map_header_2 KrissHouse2F, KRISS_HOUSE_2F, $0, NONE ; 0x96560
+	map_header_2 KrissNeighborsHouse, KRISS_NEIGHBORS_HOUSE, $0, NONE ; 0x9656c
+	map_header_2 ElmsHouse, ELMS_HOUSE, $0, NONE ; 0x96578
+	map_header_2 Route26HealSpeechHouse, ROUTE_26_HEAL_SPEECH_HOUSE, $0, NONE ; 0x96584
+	map_header_2 Route26DayofWeekSiblingsHouse, ROUTE_26_DAY_OF_WEEK_SIBLINGS_HOUSE, $0, NONE ; 0x96590
+	map_header_2 Route27SandstormHouse, ROUTE_27_SANDSTORM_HOUSE, $0, NONE ; 0x9659c
+	map_header_2 Route2946Gate, ROUTE_29_46_GATE, $0, NONE ; 0x965a8
+	map_header_2 FightingDojo, FIGHTING_DOJO, $0, NONE ; 0x965b4
+	map_header_2 SaffronGym, SAFFRON_GYM, $0, NONE ; 0x965c0
+	map_header_2 SaffronMart, SAFFRON_MART, $0, NONE ; 0x965cc
+	map_header_2 SaffronPokeCenter1F, SAFFRON_POKECENTER_1F, $0, NONE ; 0x965d8
+	map_header_2 SaffronPokeCenter2FBeta, SAFFRON_POKECENTER_2F_BETA, $0, NONE ; 0x965e4
+	map_header_2 MrPsychicsHouse, MR_PSYCHICS_HOUSE, $0, NONE ; 0x965f0
+	map_header_2 SaffronTrainStation, SAFFRON_TRAIN_STATION, $0, NONE ; 0x965fc
+	map_header_2 SilphCo1F, SILPH_CO_1F, $0, NONE ; 0x96608
+	map_header_2 CopycatsHouse1F, COPYCATS_HOUSE_1F, $0, NONE ; 0x96614
+	map_header_2 CopycatsHouse2F, COPYCATS_HOUSE_2F, $0, NONE ; 0x96620
+	map_header_2 Route5UndergroundEntrance, ROUTE_5_UNDERGROUND_ENTRANCE, $0, NONE ; 0x9662c
+	map_header_2 Route5SaffronCityGate, ROUTE_5_SAFFRON_CITY_GATE, $0, NONE ; 0x96638
+	map_header_2 Route5CleanseTagSpeechHouse, ROUTE_5_CLEANSE_TAG_SPEECH_HOUSE, $0, NONE ; 0x96644
+	map_header_2 CherrygroveMart, CHERRYGROVE_MART, $0, NONE ; 0x96650
+	map_header_2 CherrygrovePokeCenter1F, CHERRYGROVE_POKECENTER_1F, $0, NONE ; 0x9665c
+	map_header_2 CherrygroveGymSpeechHouse, CHERRYGROVE_GYM_SPEECH_HOUSE, $0, NONE ; 0x96668
+	map_header_2 GuideGentsHouse, GUIDE_GENTS_HOUSE, $0, NONE ; 0x96674
+	map_header_2 CherrygroveEvolutionSpeechHouse, CHERRYGROVE_EVOLUTION_SPEECH_HOUSE, $0, NONE ; 0x96680
+	map_header_2 Route30BerrySpeechHouse, ROUTE_30_BERRY_SPEECH_HOUSE, $0, NONE ; 0x9668c
+	map_header_2 MrPokemonsHouse, MR_POKEMONS_HOUSE, $0, NONE ; 0x96698
+	map_header_2 Route31VioletGate, ROUTE_31_VIOLET_GATE, $0, NONE ; 0x966a4