aboutsummaryrefslogtreecommitdiffstats
path: root/data/maps
diff options
context:
space:
mode:
authorRangi <remy.oukaour+rangi42@gmail.com>2020-07-03 11:51:00 -0400
committerRangi <remy.oukaour+rangi42@gmail.com>2020-07-03 11:51:00 -0400
commitb29e5ee203b6fa4592180ef6cca732462cca9af6 (patch)
tree7634ed34bcc174f6df004a473b277d1cc3f8f218 /data/maps
parentMerge pull request #256 from Rangi42/master (diff)
downloadpokeyellow-b29e5ee203b6fa4592180ef6cca732462cca9af6.tar.gz
pokeyellow-b29e5ee203b6fa4592180ef6cca732462cca9af6.tar.xz
pokeyellow-b29e5ee203b6fa4592180ef6cca732462cca9af6.zip
Add subdirectories to data/ similar to pokecrystal
Top level text/ is now solely for the former text/maps/ files, and other files are in their respective subdirectories in data/.
Diffstat (limited to 'data/maps')
-rw-r--r--data/maps/dungeon_maps.asm29
-rwxr-xr-xdata/maps/force_bike_surf.asm11
-rwxr-xr-xdata/maps/hide_show_data.asm577
-rwxr-xr-xdata/maps/map_header_banks.asm250
-rwxr-xr-xdata/maps/map_header_pointers.asm250
-rwxr-xr-xdata/maps/names.asm107
-rw-r--r--data/maps/rest_house_maps.asm5
-rwxr-xr-xdata/maps/songs.asm249
-rwxr-xr-xdata/maps/special_warps.asm119
-rwxr-xr-xdata/maps/sprite_sets.asm551
-rwxr-xr-xdata/maps/town_map_entries.asm101
-rwxr-xr-xdata/maps/town_map_order.asm49
12 files changed, 2298 insertions, 0 deletions
diff --git a/data/maps/dungeon_maps.asm b/data/maps/dungeon_maps.asm
new file mode 100644
index 00000000..118cf46b
--- /dev/null
+++ b/data/maps/dungeon_maps.asm
@@ -0,0 +1,29 @@
+; GetBattleTransitionID_IsDungeonMap checks if wCurMap
+; is equal to one of these maps
+DungeonMaps1:
+ db VIRIDIAN_FOREST
+ db ROCK_TUNNEL_1F
+ db SEAFOAM_ISLANDS_1F
+ db ROCK_TUNNEL_B1F
+ db $FF
+
+; GetBattleTransitionID_IsDungeonMap checks if wCurMap
+; is in between or equal to each pair of maps
+DungeonMaps2:
+ ; all MT_MOON maps
+ db MT_MOON_1F
+ db MT_MOON_B2F
+
+ ; all SS_ANNE maps, VICTORY_ROAD_1F, LANCES_ROOM, and HALL_OF_FAME
+ db SS_ANNE_1F
+ db HALL_OF_FAME
+
+ ; all POKEMON_TOWER maps and Lavender Town buildings
+ db LAVENDER_POKECENTER
+ db LAVENDER_CUBONE_HOUSE
+
+ ; SILPH_CO_[2-8]F, POKEMON_MANSION[2F-B1F], SAFARI_ZONE, and
+ ; CERULEAN_CAVE maps, except for SILPH_CO_1F
+ db SILPH_CO_2F
+ db CERULEAN_CAVE_1F
+ db $FF
diff --git a/data/maps/force_bike_surf.asm b/data/maps/force_bike_surf.asm
new file mode 100755
index 00000000..fb352aa9
--- /dev/null
+++ b/data/maps/force_bike_surf.asm
@@ -0,0 +1,11 @@
+ForcedBikeOrSurfMaps:
+; map id, y, x
+ db ROUTE_16,$0A,$11
+ db ROUTE_16,$0B,$11
+ db ROUTE_18,$08,$21
+ db ROUTE_18,$09,$21
+ db SEAFOAM_ISLANDS_B3F,$07,$12
+ db SEAFOAM_ISLANDS_B3F,$07,$13
+ db SEAFOAM_ISLANDS_B4F,$0E,$04
+ db SEAFOAM_ISLANDS_B4F,$0E,$05
+ db $FF ;end
diff --git a/data/maps/hide_show_data.asm b/data/maps/hide_show_data.asm
new file mode 100755
index 00000000..7f4593ca
--- /dev/null
+++ b/data/maps/hide_show_data.asm
@@ -0,0 +1,577 @@
+; data for default hidden/shown
+; objects for each map ($00-$F8)
+
+; Table of 2-Byte pointers, one pointer per map,
+; goes up to Map_F7, ends with $FFFF.
+; points to table listing all missable object in the area
+MapHSPointers:
+ dw MapHS00
+ dw MapHS01
+ dw MapHS02
+ dw MapHS03
+ dw MapHSXX
+ dw MapHSXX
+ dw MapHSXX
+ dw MapHSXX
+ dw MapHSXX
+ dw MapHSXX
+ dw MapHS0A
+ dw MapHSXX
+ dw MapHSXX
+ dw MapHS0D
+ dw MapHSXX
+ dw MapHS0F
+ dw MapHSXX
+ dw MapHSXX
+ dw MapHSXX
+ dw MapHSXX
+ dw MapHS14
+ dw MapHSXX
+ dw MapHSXX
+ dw MapHS17
+ dw MapHSXX
+ dw MapHSXX
+ dw MapHS1A
+ dw MapHS1B
+ dw MapHSXX
+ dw MapHSXX
+ dw MapHSXX
+ dw MapHSXX
+ dw MapHSXX
+ dw MapHS21
+ dw MapHSXX
+ dw MapHS23
+ dw MapHS24
+ dw MapHSXX
+ dw MapHSXX
+ dw MapHS27
+ dw MapHS28
+ dw MapHSXX
+ dw MapHSXX
+ dw MapHSXX
+ dw MapHSXX
+ dw MapHS2D
+ dw MapHSXX
+ dw MapHSXX
+ dw MapHSXX
+ dw MapHSXX
+ dw MapHSXX
+ dw MapHS33
+ dw MapHS34
+ dw MapHSXX
+ dw MapHSXX
+ dw MapHSXX
+ dw MapHSXX
+ dw MapHSXX
+ dw MapHSXX
+ dw MapHS3B
+ dw MapHSXX
+ dw MapHS3D
+ dw MapHSXX
+ dw MapHSXX
+ dw MapHSXX
+ dw MapHSXX
+ dw MapHSXX
+ dw MapHSXX
+ dw MapHSXX
+ dw MapHSXX
+ dw MapHSXX
+ dw MapHSXX
+ dw MapHSXX
+ dw MapHSXX
+ dw MapHSXX
+ dw MapHSXX
+ dw MapHSXX
+ dw MapHSXX
+ dw MapHSXX
+ dw MapHSXX
+ dw MapHSXX
+ dw MapHSXX
+ dw MapHSXX
+ dw MapHS53
+ dw MapHSXX
+ dw MapHSXX
+ dw MapHSXX
+ dw MapHSXX
+ dw MapHS58
+ dw MapHSXX
+ dw MapHSXX
+ dw MapHSXX
+ dw MapHSXX
+ dw MapHSXX
+ dw MapHSXX
+ dw MapHSXX
+ dw MapHS60
+ dw MapHSXX
+ dw MapHSXX
+ dw MapHSXX
+ dw MapHSXX
+ dw MapHSXX
+ dw MapHS66
+ dw MapHS67
+ dw MapHS68
+ dw MapHSXX
+ dw MapHSXX
+ dw MapHSXX
+ dw MapHS6C
+ dw MapHSXX
+ dw MapHSXX
+ dw MapHSXX
+ dw MapHSXX
+ dw MapHSXX
+ dw MapHSXX
+ dw MapHSXX
+ dw MapHSXX
+ dw MapHSXX
+ dw MapHSXX
+ dw MapHSXX
+ dw MapHS78
+ dw MapHSXX
+ dw MapHSXX
+ dw MapHSXX
+ dw MapHSXX
+ dw MapHSXX
+ dw MapHSXX
+ dw MapHSXX
+ dw MapHSXX
+ dw MapHSXX
+ dw MapHSXX
+ dw MapHSXX
+ dw MapHS84
+ dw MapHSXX
+ dw MapHSXX
+ dw MapHS87
+ dw MapHSXX
+ dw MapHSXX
+ dw MapHSXX
+ dw MapHSXX
+ dw MapHSXX
+ dw MapHSXX
+ dw MapHSXX
+ dw MapHS8F
+ dw MapHS90
+ dw MapHS91
+ dw MapHS92
+ dw MapHS93
+ dw MapHS94
+ dw MapHS95
+ dw MapHSXX
+ dw MapHSXX
+ dw MapHSXX
+ dw MapHSXX
+ dw MapHSXX
+ dw MapHS9B
+ dw MapHSXX
+ dw MapHSXX
+ dw MapHSXX
+ dw MapHS9F
+ dw MapHSA0
+ dw MapHSA1
+ dw MapHSA2
+ dw MapHSXX
+ dw MapHSXX
+ dw MapHSA5
+ dw MapHSXX
+ dw MapHSXX
+ dw MapHSXX
+ dw MapHSXX
+ dw MapHSXX
+ dw MapHSXX
+ dw MapHSXX
+ dw MapHSXX
+ dw MapHSXX
+ dw MapHSXX
+ dw MapHSXX
+ dw MapHSB1
+ dw MapHSXX
+ dw MapHSXX
+ dw MapHSXX
+ dw MapHSB5
+ dw MapHSXX
+ dw MapHSXX
+ dw MapHSXX
+ dw MapHSXX
+ dw MapHSXX
+ dw MapHSXX
+ dw MapHSXX
+ dw MapHSXX
+ dw MapHSXX
+ dw MapHSXX
+ dw MapHSC0
+ dw MapHSXX
+ dw MapHSC2
+ dw MapHSXX
+ dw MapHSXX
+ dw MapHSXX
+ dw MapHSC6
+ dw MapHSC7
+ dw MapHSC8
+ dw MapHSC9
+ dw MapHSCA
+ dw MapHSXX
+ dw MapHSXX
+ dw MapHSXX
+ dw MapHSXX
+ dw MapHSCF
+ dw MapHSD0
+ dw MapHSD1
+ dw MapHSD2
+ dw MapHSD3
+ dw MapHSD4
+ dw MapHSD5
+ dw MapHSD6
+ dw MapHSD7
+ dw MapHSD8
+ dw MapHSD9
+ dw MapHSDA
+ dw MapHSDB
+ dw MapHSDC
+ dw MapHSXX
+ dw MapHSXX
+ dw MapHSXX
+ dw MapHSXX
+ dw MapHSXX
+ dw MapHSE2
+ dw MapHSE3
+ dw MapHSE4
+ dw MapHSXX
+ dw MapHSXX
+ dw MapHSXX
+ dw MapHSXX
+ dw MapHSE9
+ dw MapHSEA
+ dw MapHSEB
+ dw MapHSXX
+ dw MapHSXX
+ dw MapHSXX
+ dw MapHSXX
+ dw MapHSXX
+ dw MapHSXX
+ dw MapHSXX
+ dw MapHSXX
+ dw MapHSF4
+ dw MapHSXX
+ dw MapHSXX
+ dw MapHSXX
+ dw $FFFF
+
+; Structure:
+; 3 bytes per object
+; [Map_ID][Object_ID][H/S]
+;
+; Program stops reading when either:
+; a) Map_ID = $FF
+; b) Map_ID ≠ currentMapID
+;
+; This Data is loaded into RAM at wd5ce-$D5F?. (wMissableObjectList)
+
+; These constants come from the bytes for Predef functions:
+Hide equ $11
+Show equ $15
+
+MapHSXX:
+ db $FF,$FF,$FF
+MapHS00:
+ db PALLET_TOWN,$01,Hide
+MapHS01:
+ db VIRIDIAN_CITY,$05,Show
+ db VIRIDIAN_CITY,$07,Hide
+MapHS02:
+ db PEWTER_CITY,$03,Show
+ db PEWTER_CITY,$05,Show
+MapHS03:
+ db CERULEAN_CITY,$01,Hide
+ db CERULEAN_CITY,$02,Show
+ db CERULEAN_CITY,$06,Hide
+ db CERULEAN_CITY,$0A,Show
+ db CERULEAN_CITY,$0B,Show
+MapHS0A:
+ db SAFFRON_CITY,$01,Show
+ db SAFFRON_CITY,$02,Show
+ db SAFFRON_CITY,$03,Show
+ db SAFFRON_CITY,$04,Show
+ db SAFFRON_CITY,$05,Show
+ db SAFFRON_CITY,$06,Show
+ db SAFFRON_CITY,$07,Show
+ db SAFFRON_CITY,$08,Hide
+ db SAFFRON_CITY,$09,Hide
+ db SAFFRON_CITY,$0A,Hide
+ db SAFFRON_CITY,$0B,Hide
+ db SAFFRON_CITY,$0C,Hide
+ db SAFFRON_CITY,$0D,Hide
+ db SAFFRON_CITY,$0E,Show
+ db SAFFRON_CITY,$0F,Hide
+MapHS0D:
+ db ROUTE_2,$01,Show
+ db ROUTE_2,$02,Show
+MapHS0F:
+ db ROUTE_4,$03,Show
+MapHS14:
+ db ROUTE_9,$0A,Show
+MapHS17:
+ db ROUTE_12,$01,Show
+ db ROUTE_12,$09,Show
+ db ROUTE_12,$0A,Show
+MapHS1A:
+ db ROUTE_15,$0B,Show
+MapHS1B:
+ db ROUTE_16,$07,Show
+MapHS21:
+ db ROUTE_22,$01,Hide
+ db ROUTE_22,$02,Hide
+MapHS23:
+ db ROUTE_24,$01,Show
+ db ROUTE_24,$08,Show
+MapHS24:
+ db ROUTE_25,$0A,Show
+MapHS27:
+ db BLUES_HOUSE,$01,Show
+ db BLUES_HOUSE,$02,Hide
+ db BLUES_HOUSE,$03,Show
+MapHS28:
+ db OAKS_LAB,$01,Show
+ db OAKS_LAB,$02,Show
+ db OAKS_LAB,$03,Show
+ db OAKS_LAB,$04,Show
+ db OAKS_LAB,$05,Hide
+ db OAKS_LAB,$06,Show
+ db OAKS_LAB,$07,Show
+ db OAKS_LAB,$08,Hide
+MapHS2D:
+ db VIRIDIAN_GYM,$01,Show
+ db VIRIDIAN_GYM,$0B,Show
+MapHS34:
+ db MUSEUM_1F,$05,Show
+MapHSE4:
+ db CERULEAN_CAVE_1F,$01,Show
+ db CERULEAN_CAVE_1F,$02,Show
+ db CERULEAN_CAVE_1F,$03,Show
+MapHS8F:
+ db POKEMON_TOWER_2F,$01,Show
+MapHS90:
+ db POKEMON_TOWER_3F,$04,Show
+MapHS91:
+ db POKEMON_TOWER_4F,$04,Show
+ db POKEMON_TOWER_4F,$05,Show
+ db POKEMON_TOWER_4F,$06,Show
+MapHS92:
+ db POKEMON_TOWER_5F,$06,Show
+MapHS93:
+ db POKEMON_TOWER_6F,$04,Show
+ db POKEMON_TOWER_6F,$05,Show
+MapHS94:
+ db POKEMON_TOWER_7F,$01,Show
+ db POKEMON_TOWER_7F,$02,Show
+ db POKEMON_TOWER_7F,$03,Show
+ db POKEMON_TOWER_7F,$04,Show
+MapHS95:
+ db MR_FUJIS_HOUSE,$05,Hide
+MapHS84:
+ db CELADON_MANSION_ROOF_HOUSE,$02,Show
+MapHS87:
+ db GAME_CORNER,$0B,Show
+MapHS9B:
+ db WARDENS_HOUSE,$02,Show
+MapHSA5:
+ db POKEMON_MANSION_1F,$02,Show
+ db POKEMON_MANSION_1F,$03,Show
+MapHSB1:
+ db FIGHTING_DOJO,$06,Show
+ db FIGHTING_DOJO,$07,Show
+MapHSB5:
+ db SILPH_CO_1F,$01,Hide
+MapHS53:
+ db POWER_PLANT,$01,Show
+ db POWER_PLANT,$02,Show
+ db POWER_PLANT,$03,Show
+ db POWER_PLANT,$04,Show
+ db POWER_PLANT,$05,Show
+ db POWER_PLANT,$06,Show
+ db POWER_PLANT,$07,Show
+ db POWER_PLANT,$08,Show
+ db POWER_PLANT,$09,Show
+ db POWER_PLANT,$0A,Show
+ db POWER_PLANT,$0B,Show
+ db POWER_PLANT,$0C,Show
+ db POWER_PLANT,$0D,Show
+ db POWER_PLANT,$0E,Show
+MapHSC2:
+ db VICTORY_ROAD_2F,$06,Show
+ db VICTORY_ROAD_2F,$07,Show
+ db VICTORY_ROAD_2F,$08,Show
+ db VICTORY_ROAD_2F,$09,Show
+ db VICTORY_ROAD_2F,$0A,Show
+ db VICTORY_ROAD_2F,$0D,Show
+MapHS58:
+ db BILLS_HOUSE,$01,Show
+ db BILLS_HOUSE,$02,Hide
+ db BILLS_HOUSE,$03,Hide
+MapHS33:
+ db VIRIDIAN_FOREST,$05,Show
+ db VIRIDIAN_FOREST,$06,Show
+ db VIRIDIAN_FOREST,$07,Show
+MapHS3B:
+ db MT_MOON_1F,$08,Show
+ db MT_MOON_1F,$09,Show
+ db MT_MOON_1F,$0A,Show
+ db MT_MOON_1F,$0B,Show
+ db MT_MOON_1F,$0C,Show
+ db MT_MOON_1F,$0D,Show
+MapHS3D:
+ db MT_MOON_B2F,$06,Show
+ db MT_MOON_B2F,$07,Show
+ db MT_MOON_B2F,$08,Show
+ db MT_MOON_B2F,$09,Show
+MapHS60:
+ db SS_ANNE_2F,$02,Hide
+MapHS66:
+ db SS_ANNE_1F_ROOMS,$0A,Show
+MapHS67:
+ db SS_ANNE_2F_ROOMS,$06,Show
+ db SS_ANNE_2F_ROOMS,$09,Show
+MapHS68:
+ db SS_ANNE_B1F_ROOMS,$09,Show
+ db SS_ANNE_B1F_ROOMS,$0A,Show
+ db SS_ANNE_B1F_ROOMS,$0B,Show
+MapHSC6:
+ db VICTORY_ROAD_3F,$05,Show
+ db VICTORY_ROAD_3F,$06,Show
+ db VICTORY_ROAD_3F,$0A,Show
+MapHSC7:
+ db ROCKET_HIDEOUT_B1F,$06,Show
+ db ROCKET_HIDEOUT_B1F,$07,Show
+MapHSC8:
+ db ROCKET_HIDEOUT_B2F,$02,Show
+ db ROCKET_HIDEOUT_B2F,$03,Show
+ db ROCKET_HIDEOUT_B2F,$04,Show
+ db ROCKET_HIDEOUT_B2F,$05,Show
+MapHSC9:
+ db ROCKET_HIDEOUT_B3F,$03,Show
+ db ROCKET_HIDEOUT_B3F,$04,Show
+MapHSCA:
+ db ROCKET_HIDEOUT_B4F,$01,Show
+ db ROCKET_HIDEOUT_B4F,$05,Show
+ db ROCKET_HIDEOUT_B4F,$06,Show
+ db ROCKET_HIDEOUT_B4F,$07,Show
+ db ROCKET_HIDEOUT_B4F,$08,Hide
+ db ROCKET_HIDEOUT_B4F,$09,Hide
+MapHSCF:
+ db SILPH_CO_2F,$01,Show
+ db SILPH_CO_2F,$02,Show
+ db SILPH_CO_2F,$03,Show
+ db SILPH_CO_2F,$04,Show
+ db SILPH_CO_2F,$05,Show
+MapHSD0:
+ db SILPH_CO_3F,$02,Show
+ db SILPH_CO_3F,$03,Show
+ db SILPH_CO_3F,$04,Show
+MapHSD1:
+ db SILPH_CO_4F,$02,Show
+ db SILPH_CO_4F,$03,Show
+ db SILPH_CO_4F,$04,Show
+ db SILPH_CO_4F,$05,Show
+ db SILPH_CO_4F,$06,Show
+ db SILPH_CO_4F,$07,Show
+MapHSD2:
+ db SILPH_CO_5F,$02,Show
+ db SILPH_CO_5F,$03,Show
+ db SILPH_CO_5F,$04,Show
+ db SILPH_CO_5F,$05,Show
+ db SILPH_CO_5F,$06,Show
+ db SILPH_CO_5F,$07,Show
+ db SILPH_CO_5F,$08,Show
+MapHSD3:
+ db SILPH_CO_6F,$06,Show
+ db SILPH_CO_6F,$07,Show
+ db SILPH_CO_6F,$08,Show
+ db SILPH_CO_6F,$09,Show
+ db SILPH_CO_6F,$0A,Show
+MapHSD4:
+ db SILPH_CO_7F,$05,Show
+ db SILPH_CO_7F,$06,Show
+ db SILPH_CO_7F,$07,Show
+ db SILPH_CO_7F,$08,Show
+ db SILPH_CO_7F,$09,Show
+ db SILPH_CO_7F,$0A,Show
+ db SILPH_CO_7F,$0B,Show
+ db SILPH_CO_7F,$0C,Show
+MapHSD5:
+ db SILPH_CO_8F,$02,Show
+ db SILPH_CO_8F,$03,Show
+ db SILPH_CO_8F,$04,Show
+MapHSE9:
+ db SILPH_CO_9F,$02,Show
+ db SILPH_CO_9F,$03,Show
+ db SILPH_CO_9F,$04,Show
+MapHSEA:
+ db SILPH_CO_10F,$01,Show
+ db SILPH_CO_10F,$02,Show
+ db SILPH_CO_10F,$03,Show
+ db SILPH_CO_10F,$04,Show
+ db SILPH_CO_10F,$05,Show
+ db SILPH_CO_10F,$06,Show
+MapHSEB:
+ db SILPH_CO_11F,$03,Show
+ db SILPH_CO_11F,$04,Show
+ db SILPH_CO_11F,$05,Show
+MapHSF4:
+ db UNUSED_MAP_F4,$02,Show
+MapHSD6:
+ db POKEMON_MANSION_2F,$02,Show
+MapHSD7:
+ db POKEMON_MANSION_3F,$03,Show
+ db POKEMON_MANSION_3F,$04,Show
+MapHSD8:
+ db POKEMON_MANSION_B1F,$03,Show
+ db POKEMON_MANSION_B1F,$04,Show
+ db POKEMON_MANSION_B1F,$05,Show
+ db POKEMON_MANSION_B1F,$06,Show
+ db POKEMON_MANSION_B1F,$08,Show
+MapHSD9:
+ db SAFARI_ZONE_EAST,$01,Show
+ db SAFARI_ZONE_EAST,$02,Show
+ db SAFARI_ZONE_EAST,$03,Show
+ db SAFARI_ZONE_EAST,$04,Show
+MapHSDA:
+ db SAFARI_ZONE_NORTH,$01,Show
+ db SAFARI_ZONE_NORTH,$02,Show
+MapHSDB:
+ db SAFARI_ZONE_WEST,$01,Show
+ db SAFARI_ZONE_WEST,$02,Show
+ db SAFARI_ZONE_WEST,$03,Show
+ db SAFARI_ZONE_WEST,$04,Show
+MapHSDC:
+ db SAFARI_ZONE_CENTER,$01,Show
+MapHSE2:
+ db CERULEAN_CAVE_2F,$01,Show
+ db CERULEAN_CAVE_2F,$02,Show
+ db CERULEAN_CAVE_2F,$03,Show
+MapHSE3:
+ db CERULEAN_CAVE_B1F,$01,Show
+ db CERULEAN_CAVE_B1F,$02,Show
+ db CERULEAN_CAVE_B1F,$03,Show
+MapHS6C:
+ db VICTORY_ROAD_1F,$03,Show
+ db VICTORY_ROAD_1F,$04,Show
+MapHS78:
+ db CHAMPIONS_ROOM,$02,Hide
+MapHSC0:
+ db SEAFOAM_ISLANDS_1F,$01,Show
+ db SEAFOAM_ISLANDS_1F,$02,Show
+MapHS9F:
+ db SEAFOAM_ISLANDS_B1F,$01,Hide
+ db SEAFOAM_ISLANDS_B1F,$02,Hide
+MapHSA0:
+ db SEAFOAM_ISLANDS_B2F,$01,Hide
+ db SEAFOAM_ISLANDS_B2F,$02,Hide
+MapHSA1:
+ db SEAFOAM_ISLANDS_B3F,$02,Show
+ db SEAFOAM_ISLANDS_B3F,$03,Show
+ db SEAFOAM_ISLANDS_B3F,$05,Hide
+ db SEAFOAM_ISLANDS_B3F,$06,Hide
+MapHSA2:
+ db SEAFOAM_ISLANDS_B4F,$01,Hide
+ db SEAFOAM_ISLANDS_B4F,$02,Hide
+ db SEAFOAM_ISLANDS_B4F,$03,Show
+
+ db $FF,$01,Show
diff --git a/data/maps/map_header_banks.asm b/data/maps/map_header_banks.asm
new file mode 100755
index 00000000..d698cfee
--- /dev/null
+++ b/data/maps/map_header_banks.asm
@@ -0,0 +1,250 @@
+; see also MapHeaderPointers
+MapHeaderBanks::
+ db BANK(PalletTown_h)
+ db BANK(ViridianCity_h)
+ db BANK(PewterCity_h)
+ db BANK(CeruleanCity_h)
+ db BANK(LavenderTown_h)
+ db BANK(VermilionCity_h)
+ db BANK(CeladonCity_h)
+ db BANK(FuchsiaCity_h)
+ db BANK(CinnabarIsland_h)
+ db BANK(IndigoPlateau_h)
+ db BANK(SaffronCity_h)
+ db $01 ; UNUSED_MAP_0B
+ db BANK(Route1_h)
+ db BANK(Route2_h)
+ db BANK(Route3_h)
+ db BANK(Route4_h)
+ db BANK(Route5_h)
+ db BANK(Route6_h)
+ db BANK(Route7_h)
+ db BANK(Route8_h)
+ db BANK(Route9_h)
+ db BANK(Route10_h)
+ db BANK(Route11_h)
+ db BANK(Route12_h)
+ db BANK(Route13_h)
+ db BANK(Route14_h)
+ db BANK(Route15_h)
+ db BANK(Route16_h)
+ db BANK(Route17_h)
+ db BANK(Route18_h)
+ db BANK(Route19_h)
+ db BANK(Route20_h)
+ db BANK(Route21_h)
+ db BANK(Route22_h)
+ db BANK(Route23_h)
+ db BANK(Route24_h)
+ db BANK(Route25_h)
+ db BANK(RedsHouse1F_h)
+ db BANK(RedsHouse2F_h)
+ db BANK(BluesHouse_h)
+ db BANK(OaksLab_h)
+ db BANK(ViridianPokecenter_h)
+ db BANK(ViridianMart_h)
+ db BANK(ViridianSchoolHouse_h)
+ db BANK(ViridianNicknameHouse_h)
+ db BANK(ViridianGym_h)
+ db BANK(DiglettsCaveRoute2_h)
+ db BANK(ViridianForestNorthGate_h)
+ db BANK(Route2TradeHouse_h)
+ db BANK(Route2Gate_h)
+ db BANK(ViridianForestSouthGate_h)
+ db BANK(ViridianForest_h)
+ db BANK(Museum1F_h)
+ db BANK(Museum2F_h)
+ db BANK(PewterGym_h)
+ db BANK(PewterNidoranHouse_h)
+ db BANK(PewterMart_h)
+ db BANK(PewterSpeechHouse_h)
+ db BANK(PewterPokecenter_h)
+ db BANK(MtMoon1F_h)
+ db BANK(MtMoonB1F_h)
+ db BANK(MtMoonB2F_h)
+ db BANK(CeruleanTrashedHouse_h)
+ db BANK(CeruleanTradeHouse_h)
+ db BANK(CeruleanPokecenter_h)
+ db BANK(CeruleanGym_h)
+ db BANK(BikeShop_h)
+ db BANK(CeruleanMart_h)
+ db BANK(MtMoonPokecenter_h)
+ db BANK(CeruleanTrashedHouse_h)
+ db BANK(Route5Gate_h)
+ db BANK(UndergroundPathRoute5_h)
+ db BANK(Daycare_h)
+ db BANK(Route6Gate_h)
+ db BANK(UndergroundPathRoute6_h)
+ db BANK(UndergroundPathRoute6_h) ; UNDERGROUND_PATH_ROUTE_6_COPY
+ db BANK(Route7Gate_h)
+ db BANK(UndergroundPathRoute7_h)
+ db BANK(UndergroundPathRoute7Copy_h)
+ db BANK(Route8Gate_h)
+ db BANK(UndergroundPathRoute8_h)
+ db BANK(RockTunnelPokecenter_h)
+ db BANK(RockTunnel1F_h)
+ db BANK(PowerPlant_h)
+ db BANK(Route11Gate1F_h)
+ db BANK(DiglettsCaveRoute11_h)
+ db BANK(Route11Gate2F_h)
+ db BANK(Route12Gate1F_h)
+ db BANK(BillsHouse_h)
+ db BANK(VermilionPokecenter_h)
+ db BANK(PokemonFanClub_h)
+ db BANK(VermilionMart_h)
+ db BANK(VermilionGym_h)
+ db BANK(VermilionPidgeyHouse_h)
+ db BANK(VermilionDock_h)
+ db BANK(SSAnne1F_h)
+ db BANK(SSAnne2F_h)
+ db BANK(SSAnne3F_h)
+ db BANK(SSAnneB1F_h)
+ db BANK(SSAnneBow_h)
+ db BANK(SSAnneKitchen_h)
+ db BANK(SSAnneCaptainsRoom_h)
+ db BANK(SSAnne1FRooms_h)
+ db BANK(SSAnne2FRooms_h)
+ db BANK(SSAnneB1FRooms_h)
+ db $1D ; UNUSED_MAP_69
+ db $1D ; UNUSED_MAP_6A
+ db $1D ; UNUSED_MAP_6B
+ db BANK(VictoryRoad1F_h)
+ db $1D ; UNUSED_MAP_6D
+ db $1D ; UNUSED_MAP_6E
+ db $1D ; UNUSED_MAP_6F
+ db $1D ; UNUSED_MAP_70
+ db BANK(LancesRoom_h)
+ db $1D ; UNUSED_MAP_72
+ db $1D ; UNUSED_MAP_73
+ db $1D ; UNUSED_MAP_74
+ db $1D ; UNUSED_MAP_75
+ db BANK(HallOfFame_h)
+ db BANK(UndergroundPathNorthSouth_h)
+ db BANK(ChampionsRoom_h)
+ db BANK(UndergroundPathWestEast_h)
+ db BANK(CeladonMart1F_h)
+ db BANK(CeladonMart2F_h)
+ db BANK(CeladonMart3F_h)
+ db BANK(CeladonMart4F_h)
+ db BANK(CeladonMartRoof_h)
+ db BANK(CeladonMartElevator_h)
+ db BANK(CeladonMansion1F_h)
+ db BANK(CeladonMansion2F_h)
+ db BANK(CeladonMansion3F_h)
+ db BANK(CeladonMansionRoof_h)
+ db BANK(CeladonMansionRoofHouse_h)
+ db BANK(CeladonPokecenter_h)
+ db BANK(CeladonGym_h)
+ db BANK(GameCorner_h)
+ db BANK(CeladonMart5F_h)
+ db BANK(GameCornerPrizeRoom_h)
+ db BANK(CeladonDiner_h)
+ db BANK(CeladonChiefHouse_h)
+ db BANK(CeladonHotel_h)
+ db BANK(LavenderPokecenter_h)
+ db BANK(PokemonTower1F_h)
+ db BANK(PokemonTower2F_h)
+ db BANK(PokemonTower3F_h)
+ db BANK(PokemonTower4F_h)
+ db BANK(PokemonTower5F_h)
+ db BANK(PokemonTower6F_h)
+ db BANK(PokemonTower7F_h)
+ db BANK(MrFujisHouse_h)
+ db BANK(LavenderMart_h)
+ db BANK(LavenderCuboneHouse_h)
+ db BANK(FuchsiaMart_h)
+ db BANK(FuchsiaBillsGrandpasHouse_h)
+ db BANK(FuchsiaPokecenter_h)
+ db BANK(WardensHouse_h)
+ db BANK(SafariZoneGate_h)
+ db BANK(FuchsiaGym_h)
+ db BANK(FuchsiaMeetingRoom_h)
+ db BANK(SeafoamIslandsB1F_h)
+ db BANK(SeafoamIslandsB2F_h)
+ db BANK(SeafoamIslandsB3F_h)
+ db BANK(SeafoamIslandsB4F_h)
+ db BANK(VermilionOldRodHouse_h)
+ db BANK(FuchsiaGoodRodHouse_h)
+ db BANK(PokemonMansion1F_h)
+ db BANK(CinnabarGym_h)
+ db BANK(CinnabarLab_h)
+ db BANK(CinnabarLabTradeRoom_h)
+ db BANK(CinnabarLabMetronomeRoom_h)
+ db BANK(CinnabarLabFossilRoom_h)
+ db BANK(CinnabarPokecenter_h)
+ db BANK(CinnabarMart_h)
+ db BANK(CinnabarMart_h)
+ db BANK(IndigoPlateauLobby_h)
+ db BANK(CopycatsHouse1F_h)
+ db BANK(CopycatsHouse2F_h)
+ db BANK(FightingDojo_h)
+ db BANK(SaffronGym_h)
+ db BANK(SaffronPidgeyHouse_h)
+ db BANK(SaffronMart_h)
+ db BANK(SilphCo1F_h)
+ db BANK(SaffronPokecenter_h)
+ db BANK(MrPsychicsHouse_h)
+ db BANK(Route15Gate1F_h)
+ db BANK(Route15Gate2F_h)
+ db BANK(Route16Gate1F_h)
+ db BANK(Route16Gate2F_h)
+ db BANK(Route16FlyHouse_h)
+ db BANK(Route12SuperRodHouse_h)
+ db BANK(Route18Gate1F_h)
+ db BANK(Route18Gate2F_h)
+ db BANK(SeafoamIslands1F_h)
+ db BANK(Route22Gate_h)
+ db BANK(VictoryRoad2F_h)
+ db BANK(Route12Gate2F_h)
+ db BANK(VermilionTradeHouse_h)
+ db BANK(DiglettsCave_h)
+ db BANK(VictoryRoad3F_h)
+ db BANK(RocketHideoutB1F_h)
+ db BANK(RocketHideoutB2F_h)
+ db BANK(RocketHideoutB3F_h)
+ db BANK(RocketHideoutB4F_h)
+ db BANK(RocketHideoutElevator_h)
+ db $01 ; UNUSED_MAP_CC
+ db $01 ; UNUSED_MAP_CD
+ db $01 ; UNUSED_MAP_CE
+ db BANK(SilphCo2F_h)
+ db BANK(SilphCo3F_h)
+ db BANK(SilphCo4F_h)
+ db BANK(SilphCo5F_h)
+ db BANK(SilphCo6F_h)
+ db BANK(SilphCo7F_h)
+ db BANK(SilphCo8F_h)
+ db BANK(PokemonMansion2F_h)
+ db BANK(PokemonMansion3F_h)
+ db BANK(PokemonMansionB1F_h)
+ db BANK(SafariZoneEast_h)
+ db BANK(SafariZoneNorth_h)
+ db BANK(SafariZoneWest_h)
+ db BANK(SafariZoneCenter_h)
+ db BANK(SafariZoneCenterRestHouse_h)
+ db BANK(SafariZoneSecretHouse_h)
+ db BANK(SafariZoneWestRestHouse_h)
+ db BANK(SafariZoneEastRestHouse_h)
+ db BANK(SafariZoneNorthRestHouse_h)
+ db BANK(CeruleanCave2F_h)
+ db BANK(CeruleanCaveB1F_h)
+ db BANK(CeruleanCave1F_h)
+ db BANK(NameRatersHouse_h)
+ db BANK(CeruleanBadgeHouse_h)
+ db $01 ; UNUSED_MAP_E7
+ db BANK(RockTunnelB1F_h)
+ db BANK(SilphCo9F_h)
+ db BANK(SilphCo10F_h)
+ db BANK(SilphCo11F_h)
+ db BANK(SilphCoElevator_h)
+ db $11 ; UNUSED_MAP_ED
+ db $11 ; UNUSED_MAP_EE
+ db BANK(TradeCenter_h)
+ db BANK(Colosseum_h)
+ db $11 ; UNUSED_MAP_F1
+ db $11 ; UNUSED_MAP_F2
+ db $11 ; UNUSED_MAP_F3
+ db $11 ; UNUSED_MAP_F4
+ db BANK(LoreleisRoom_h)
+ db BANK(BrunosRoom_h)
+ db BANK(AgathasRoom_h)
diff --git a/data/maps/map_header_pointers.asm b/data/maps/map_header_pointers.asm
new file mode 100755
index 00000000..9d85eaae
--- /dev/null
+++ b/data/maps/map_header_pointers.asm
@@ -0,0 +1,250 @@
+; see also MapHeaderBanks
+MapHeaderPointers::
+ dw PalletTown_h
+ dw ViridianCity_h
+ dw PewterCity_h
+ dw CeruleanCity_h
+ dw LavenderTown_h
+ dw VermilionCity_h
+ dw CeladonCity_h
+ dw FuchsiaCity_h
+ dw CinnabarIsland_h
+ dw IndigoPlateau_h
+ dw SaffronCity_h
+ dw SaffronCity_h ; UNUSED_MAP_0B
+ dw Route1_h
+ dw Route2_h
+ dw Route3_h
+ dw Route4_h
+ dw Route5_h
+ dw Route6_h
+ dw Route7_h
+ dw Route8_h
+ dw Route9_h
+ dw Route10_h
+ dw Route11_h
+ dw Route12_h
+ dw Route13_h
+ dw Route14_h
+ dw Route15_h
+ dw Route16_h
+ dw Route17_h
+ dw Route18_h
+ dw Route19_h
+ dw Route20_h
+ dw Route21_h
+ dw Route22_h
+ dw Route23_h
+ dw Route24_h
+ dw Route25_h
+ dw RedsHouse1F_h
+ dw RedsHouse2F_h
+ dw BluesHouse_h
+ dw OaksLab_h
+ dw ViridianPokecenter_h
+ dw ViridianMart_h
+ dw ViridianSchoolHouse_h
+ dw ViridianNicknameHouse_h
+ dw ViridianGym_h
+ dw DiglettsCaveRoute2_h
+ dw ViridianForestNorthGate_h
+ dw Route2TradeHouse_h
+ dw Route2Gate_h
+ dw ViridianForestSouthGate_h
+ dw ViridianForest_h
+ dw Museum1F_h
+ dw Museum2F_h
+ dw PewterGym_h
+ dw PewterNidoranHouse_h
+ dw PewterMart_h
+ dw PewterSpeechHouse_h
+ dw PewterPokecenter_h
+ dw MtMoon1F_h
+ dw MtMoonB1F_h
+ dw MtMoonB2F_h
+ dw CeruleanTrashedHouse_h
+ dw CeruleanTradeHouse_h
+ dw CeruleanPokecenter_h
+ dw CeruleanGym_h
+ dw BikeShop_h
+ dw CeruleanMart_h
+ dw MtMoonPokecenter_h
+ dw CeruleanTrashedHouse_h ; CERULEAN_TRASHED_HOUSE_COPY
+ dw Route5Gate_h
+ dw UndergroundPathRoute5_h
+ dw Daycare_h
+ dw Route6Gate_h
+ dw UndergroundPathRoute6_h
+ dw UndergroundPathRoute6_h ; UNDERGROUND_PATH_ROUTE_6_COPY
+ dw Route7Gate_h
+ dw UndergroundPathRoute7_h
+ dw UndergroundPathRoute7Copy_h
+ dw Route8Gate_h
+ dw UndergroundPathRoute8_h
+ dw RockTunnelPokecenter_h
+ dw RockTunnel1F_h
+ dw PowerPlant_h
+ dw Route11Gate1F_h
+ dw DiglettsCaveRoute11_h
+ dw Route11Gate2F_h
+ dw Route12Gate1F_h
+ dw BillsHouse_h
+ dw VermilionPokecenter_h
+ dw PokemonFanClub_h
+ dw VermilionMart_h
+ dw VermilionGym_h
+ dw VermilionPidgeyHouse_h
+ dw VermilionDock_h
+ dw SSAnne1F_h
+ dw SSAnne2F_h
+ dw SSAnne3F_h
+ dw SSAnneB1F_h
+ dw SSAnneBow_h
+ dw SSAnneKitchen_h
+ dw SSAnneCaptainsRoom_h
+ dw SSAnne1FRooms_h
+ dw SSAnne2FRooms_h
+ dw SSAnneB1FRooms_h
+ dw LancesRoom_h ; UNUSED_MAP_69
+ dw LancesRoom_h ; UNUSED_MAP_6A
+ dw LancesRoom_h ; UNUSED_MAP_6B
+ dw VictoryRoad1F_h
+ dw LancesRoom_h ; UNUSED_MAP_6D
+ dw LancesRoom_h ; UNUSED_MAP_6E
+ dw LancesRoom_h ; UNUSED_MAP_6F
+ dw LancesRoom_h ; UNUSED_MAP_70
+ dw LancesRoom_h
+ dw LancesRoom_h ; UNUSED_MAP_72
+ dw LancesRoom_h ; UNUSED_MAP_73
+ dw LancesRoom_h ; UNUSED_MAP_74
+ dw LancesRoom_h ; UNUSED_MAP_75
+ dw HallOfFame_h
+ dw UndergroundPathNorthSouth_h
+ dw ChampionsRoom_h
+ dw UndergroundPathWestEast_h
+ dw CeladonMart1F_h
+ dw CeladonMart2F_h
+ dw CeladonMart3F_h
+ dw CeladonMart4F_h
+ dw CeladonMartRoof_h
+ dw CeladonMartElevator_h
+ dw CeladonMansion1F_h
+ dw CeladonMansion2F_h
+ dw CeladonMansion3F_h
+ dw CeladonMansionRoof_h
+ dw CeladonMansionRoofHouse_h
+ dw CeladonPokecenter_h
+ dw CeladonGym_h
+ dw GameCorner_h
+ dw CeladonMart5F_h
+ dw GameCornerPrizeRoom_h
+ dw CeladonDiner_h
+ dw CeladonChiefHouse_h
+ dw CeladonHotel_h
+ dw LavenderPokecenter_h
+ dw PokemonTower1F_h
+ dw PokemonTower2F_h
+ dw PokemonTower3F_h
+ dw PokemonTower4F_h
+ dw PokemonTower5F_h
+ dw PokemonTower6F_h
+ dw PokemonTower7F_h
+ dw MrFujisHouse_h
+ dw LavenderMart_h
+ dw LavenderCuboneHouse_h
+ dw FuchsiaMart_h
+ dw FuchsiaBillsGrandpasHouse_h
+ dw FuchsiaPokecenter_h
+ dw WardensHouse_h
+ dw SafariZoneGate_h
+ dw FuchsiaGym_h
+ dw FuchsiaMeetingRoom_h
+ dw SeafoamIslandsB1F_h
+ dw SeafoamIslandsB2F_h
+ dw SeafoamIslandsB3F_h
+ dw SeafoamIslandsB4F_h
+ dw VermilionOldRodHouse_h
+ dw FuchsiaGoodRodHouse_h
+ dw PokemonMansion1F_h
+ dw CinnabarGym_h
+ dw CinnabarLab_h
+ dw CinnabarLabTradeRoom_h
+ dw CinnabarLabMetronomeRoom_h
+ dw CinnabarLabFossilRoom_h
+ dw CinnabarPokecenter_h
+ dw CinnabarMart_h
+ dw CinnabarMart_h ; CINNABAR_MART_COPY
+ dw IndigoPlateauLobby_h
+ dw CopycatsHouse1F_h
+ dw CopycatsHouse2F_h
+ dw FightingDojo_h
+ dw SaffronGym_h
+ dw SaffronPidgeyHouse_h
+ dw SaffronMart_h
+ dw SilphCo1F_h
+ dw SaffronPokecenter_h
+ dw MrPsychicsHouse_h
+ dw Route15Gate1F_h
+ dw Route15Gate2F_h
+ dw Route16Gate1F_h
+ dw Route16Gate2F_h
+ dw Route16FlyHouse_h
+ dw Route12SuperRodHouse_h
+ dw Route18Gate1F_h
+ dw Route18Gate2F_h
+ dw SeafoamIslands1F_h
+ dw Route22Gate_h
+ dw VictoryRoad2F_h
+ dw Route12Gate2F_h
+ dw VermilionTradeHouse_h
+ dw DiglettsCave_h
+ dw VictoryRoad3F_h
+ dw RocketHideoutB1F_h
+ dw RocketHideoutB2F_h
+ dw RocketHideoutB3F_h
+ dw RocketHideoutB4F_h
+ dw RocketHideoutElevator_h
+ dw RocketHideoutElevator_h ; UNUSED_MAP_CC
+ dw RocketHideoutElevator_h ; UNUSED_MAP_CD
+ dw RocketHideoutElevator_h ; UNUSED_MAP_CE
+ dw SilphCo2F_h
+ dw SilphCo3F_h
+ dw SilphCo4F_h
+ dw SilphCo5F_h
+ dw SilphCo6F_h
+ dw SilphCo7F_h
+ dw SilphCo8F_h
+ dw PokemonMansion2F_h
+ dw PokemonMansion3F_h
+ dw PokemonMansionB1F_h
+ dw SafariZoneEast_h
+ dw SafariZoneNorth_h
+ dw SafariZoneWest_h
+ dw SafariZoneCenter_h
+ dw SafariZoneCenterRestHouse_h
+ dw SafariZoneSecretHouse_h
+ dw SafariZoneWestRestHouse_h
+ dw SafariZoneEastRestHouse_h
+ dw SafariZoneNorthRestHouse_h
+ dw CeruleanCave2F_h
+ dw CeruleanCaveB1F_h
+ dw CeruleanCave1F_h
+ dw NameRatersHouse_h
+ dw CeruleanBadgeHouse_h
+ dw Route16Gate1F_h ; UNUSED_MAP_E7
+ dw RockTunnelB1F_h
+ dw SilphCo9F_h
+ dw SilphCo10F_h
+ dw SilphCo11F_h
+ dw SilphCoElevator_h
+ dw SilphCo2F_h ; UNUSED_MAP_ED
+ dw SilphCo2F_h ; UNUSED_MAP_EE
+ dw TradeCenter_h
+ dw Colosseum_h
+ dw SilphCo2F_h ; UNUSED_MAP_F1
+ dw SilphCo2F_h ; UNUSED_MAP_F2
+ dw SilphCo2F_h ; UNUSED_MAP_F3
+ dw SilphCo2F_h ; UNUSED_MAP_F4
+ dw LoreleisRoom_h
+ dw BrunosRoom_h
+ dw AgathasRoom_h ;247
diff --git a/data/maps/names.asm b/data/maps/names.asm
new file mode 100755
index 00000000..c2642942
--- /dev/null
+++ b/data/maps/names.asm
@@ -0,0 +1,107 @@
+MapNames:
+PalletTownName:
+ db "PALLET TOWN@"
+ViridianCityName:
+ db "VIRIDIAN CITY@"
+PewterCityName:
+ db "PEWTER CITY@"
+CeruleanCityName:
+ db "CERULEAN CITY@"
+LavenderTownName:
+ db "LAVENDER TOWN@"
+VermilionCityName:
+ db "VERMILION CITY@"
+CeladonCityName:
+ db "CELADON CITY@"
+FuchsiaCityName:
+ db "FUCHSIA CITY@"
+CinnabarIslandName:
+ db "CINNABAR ISLAND@"
+IndigoPlateauName:
+ db "INDIGO PLATEAU@"
+SaffronCityName:
+ db "SAFFRON CITY@"
+Route1Name:
+ db "ROUTE 1@"
+Route2Name:
+ db "ROUTE 2@"
+Route3Name:
+ db "ROUTE 3@"
+Route4Name:
+ db "ROUTE 4@"
+Route5Name:
+ db "ROUTE 5@"
+Route6Name:
+ db "ROUTE 6@"
+Route7Name:
+ db "ROUTE 7@"
+Route8Name:
+ db "ROUTE 8@"
+Route9Name:
+ db "ROUTE 9@"
+Route10Name:
+ db "ROUTE 10@"
+Route11Name:
+ db "ROUTE 11@"
+Route12Name:
+ db "ROUTE 12@"
+Route13Name:
+ db "ROUTE 13@"
+Route14Name:
+ db "ROUTE 14@"
+Route15Name:
+ db "ROUTE 15@"
+Route16Name:
+ db "ROUTE 16@"
+Route17Name:
+ db "ROUTE 17@"
+Route18Name:
+ db "ROUTE 18@"
+Route19Name:
+ db "SEA ROUTE 19@"
+Route20Name:
+ db "SEA ROUTE 20@"
+Route21Name:
+ db "SEA ROUTE 21@"
+Route22Name:
+ db "ROUTE 22@"
+Route23Name:
+ db "ROUTE 23@"
+Route24Name:
+ db "ROUTE 24@"
+Route25Name:
+ db "ROUTE 25@"
+ViridianForestName:
+ db "VIRIDIAN FOREST@"
+MountMoonName:
+ db "MT.MOON@"
+RockTunnelName:
+ db "ROCK TUNNEL@"
+SeaCottageName:
+ db "SEA COTTAGE@"
+SSAnneName:
+ db "S.S.ANNE@"
+PokemonLeagueName:
+ db "#MON LEAGUE@"
+UndergroundPathName:
+ db "UNDERGROUND PATH@"
+PokemonTowerName:
+ db "#MON TOWER@"
+SeafoamIslandsName:
+ db "SEAFOAM ISLANDS@"
+VictoryRoadName:
+ db "VICTORY ROAD@"
+DiglettsCaveName:
+ db "DIGLETT's CAVE@"
+RocketHQName:
+ db "ROCKET HQ@"
+SilphCoName:
+ db "SILPH CO.@"
+PokemonMansionName:
+ db "<pkmn> MANSION@"
+SafariZoneName:
+ db "SAFARI ZONE@"
+CeruleanCaveName:
+ db "CERULEAN CAVE@"
+PowerPlantName:
+ db "POWER PLANT@"
diff --git a/data/maps/rest_house_maps.asm b/data/maps/rest_house_maps.asm
new file mode 100644
index 00000000..2feb89d3
--- /dev/null
+++ b/data/maps/rest_house_maps.asm
@@ -0,0 +1,5 @@
+SafariZoneRestHouses:
+ db SAFARI_ZONE_WEST_REST_HOUSE
+ db SAFARI_ZONE_EAST_REST_HOUSE
+ db SAFARI_ZONE_NORTH_REST_HOUSE
+ db -1
diff --git a/data/maps/songs.asm b/data/maps/songs.asm
new file mode 100755
index 00000000..28e17223
--- /dev/null
+++ b/data/maps/songs.asm
@@ -0,0 +1,249 @@
+MapSongBanks::
+ db MUSIC_PALLET_TOWN, BANK(Music_PalletTown) ; PALLET_TOWN
+ db MUSIC_CITIES1, BANK(Music_Cities1) ; VIRIDIAN_CITY
+ db MUSIC_CITIES1, BANK(Music_Cities1) ; PEWTER_CITY
+ db MUSIC_CITIES2, BANK(Music_Cities2) ; CERULEAN_CITY
+ db MUSIC_LAVENDER, BANK(Music_Lavender) ; LAVENDER_TOWN
+ db MUSIC_VERMILION, BANK(Music_Vermilion) ; VERMILION_CITY
+ db MUSIC_CELADON, BANK(Music_Celadon) ; CELADON_CITY
+ db MUSIC_CITIES2, BANK(Music_Cities2) ; FUCHSIA_CITY
+ db MUSIC_CINNABAR, BANK(Music_Cinnabar) ; CINNABAR_ISLAND
+ db MUSIC_INDIGO_PLATEAU, BANK(Music_IndigoPlateau) ; INDIGO_PLATEAU
+ db MUSIC_CITIES1, BANK(Music_Cities1) ; SAFFRON_CITY
+ db MUSIC_CITIES1, BANK(Music_Cities1) ; UNUSED_MAP_0B
+ db MUSIC_ROUTES1, BANK(Music_Routes1) ; ROUTE_1
+ db MUSIC_ROUTES1, BANK(Music_Routes1) ; ROUTE_2
+ db MUSIC_ROUTES3, BANK(Music_Routes3) ; ROUTE_3
+ db MUSIC_ROUTES3, BANK(Music_Routes3) ; ROUTE_4
+ db MUSIC_ROUTES3, BANK(Music_Routes3) ; ROUTE_5
+ db MUSIC_ROUTES3, BANK(Music_Routes3) ; ROUTE_6
+ db MUSIC_ROUTES3, BANK(Music_Routes3) ; ROUTE_7
+ db MUSIC_ROUTES3, BANK(Music_Routes3) ; ROUTE_8
+ db MUSIC_ROUTES3, BANK(Music_Routes3) ; ROUTE_9
+ db MUSIC_ROUTES3, BANK(Music_Routes3) ; ROUTE_10
+ db MUSIC_ROUTES4, BANK(Music_Routes4) ; ROUTE_11
+ db MUSIC_ROUTES4, BANK(Music_Routes4) ; ROUTE_12
+ db MUSIC_ROUTES4, BANK(Music_Routes4) ; ROUTE_13
+ db MUSIC_ROUTES4, BANK(Music_Routes4) ; ROUTE_14
+ db MUSIC_ROUTES4, BANK(Music_Routes4) ; ROUTE_15
+ db MUSIC_ROUTES3, BANK(Music_Routes3) ; ROUTE_16
+ db MUSIC_ROUTES3, BANK(Music_Routes3) ; ROUTE_17
+ db MUSIC_ROUTES3, BANK(Music_Routes3) ; ROUTE_18
+ db MUSIC_ROUTES3, BANK(Music_Routes3) ; ROUTE_19
+ db MUSIC_ROUTES3, BANK(Music_Routes3) ; ROUTE_20
+ db MUSIC_ROUTES3, BANK(Music_Routes3) ; ROUTE_21
+ db MUSIC_ROUTES3, BANK(Music_Routes3) ; ROUTE_22
+ db MUSIC_INDIGO_PLATEAU, BANK(Music_IndigoPlateau) ; ROUTE_23
+ db MUSIC_ROUTES2, BANK(Music_Routes2) ; ROUTE_24
+ db MUSIC_ROUTES2, BANK(Music_Routes2) ; ROUTE_25
+ db MUSIC_PALLET_TOWN, BANK(Music_PalletTown) ; REDS_HOUSE_1F
+ db MUSIC_PALLET_TOWN, BANK(Music_PalletTown) ; REDS_HOUSE_2F
+ db MUSIC_PALLET_TOWN, BANK(Music_PalletTown) ; BLUES_HOUSE
+ db MUSIC_OAKS_LAB, BANK(Music_OaksLab) ; OAKS_LAB
+ db MUSIC_POKECENTER, BANK(Music_Pokecenter) ; VIRIDIAN_POKECENTER
+ db MUSIC_POKECENTER, BANK(Music_Pokecenter) ; VIRIDIAN_MART
+ db MUSIC_CITIES1, BANK(Music_Cities1) ; VIRIDIAN_SCHOOL_HOUSE
+ db MUSIC_CITIES1, BANK(Music_Cities1) ; VIRIDIAN_NICKNAME_HOUSE
+ db MUSIC_GYM, BANK(Music_Gym) ; VIRIDIAN_GYM
+ db MUSIC_DUNGEON2, BANK(Music_Dungeon2) ; DIGLETTS_CAVE_ROUTE_2
+ db MUSIC_CITIES1, BANK(Music_Cities1) ; VIRIDIAN_FOREST_NORTH_GATE
+ db MUSIC_CITIES1, BANK(Music_Cities1) ; ROUTE_2_TRADE_HOUSE
+ db MUSIC_CITIES1, BANK(Music_Cities1) ; ROUTE_2_GATE
+ db MUSIC_CITIES1, BANK(Music_Cities1) ; VIRIDIAN_FOREST_SOUTH_GATE
+ db MUSIC_DUNGEON2, BANK(Music_Dungeon2) ; VIRIDIAN_FOREST
+ db MUSIC_CITIES1, BANK(Music_Cities1) ; MUSEUM_1F
+ db MUSIC_CITIES1, BANK(Music_Cities1) ; MUSEUM_2F
+ db MUSIC_GYM, BANK(Music_Gym) ; PEWTER_GYM
+ db MUSIC_CITIES1, BANK(Music_Cities1) ; PEWTER_NIDORAN_HOUSE
+ db MUSIC_POKECENTER, BANK(Music_Pokecenter) ; PEWTER_MART
+ db MUSIC_CITIES1, BANK(Music_Cities1) ; PEWTER_SPEECH_HOUSE
+ db MUSIC_POKECENTER, BANK(Music_Pokecenter) ; PEWTER_POKECENTER
+ db MUSIC_DUNGEON3, BANK(Music_Dungeon3) ; MT_MOON_1F
+ db MUSIC_DUNGEON3, BANK(Music_Dungeon3) ; MT_MOON_B1F
+ db MUSIC_DUNGEON3, BANK(Music_Dungeon3) ; MT_MOON_B2F
+ db MUSIC_CITIES2, BANK(Music_Cities2) ; CERULEAN_TRASHED_HOUSE
+ db MUSIC_CITIES2, BANK(Music_Cities2) ; CERULEAN_TRADE_HOUSE
+ db MUSIC_POKECENTER, BANK(Music_Pokecenter) ; CERULEAN_POKECENTER
+ db MUSIC_GYM, BANK(Music_Gym) ; CERULEAN_GYM
+ db MUSIC_CITIES2, BANK(Music_Cities2) ; BIKE_SHOP
+ db MUSIC_POKECENTER, BANK(Music_Pokecenter) ; CERULEAN_MART
+ db MUSIC_POKECENTER, BANK(Music_Pokecenter) ; MT_MOON_POKECENTER
+ db MUSIC_DUNGEON3, BANK(Music_Dungeon3) ; CERULEAN_TRASHED_HOUSE_COPY
+ db MUSIC_CITIES1, BANK(Music_Cities1) ; ROUTE_5_GATE
+ db MUSIC_CITIES1, BANK(Music_Cities1) ; UNDERGROUND_PATH_ROUTE_5
+ db MUSIC_CITIES1, BANK(Music_Cities1) ; DAYCARE
+ db MUSIC_CITIES1, BANK(Music_Cities1) ; ROUTE_6_GATE
+ db MUSIC_CITIES1, BANK(Music_Cities1) ; UNDERGROUND_PATH_ROUTE_6
+ db MUSIC_VERMILION, BANK(Music_Vermilion) ; UNDERGROUND_PATH_ROUTE_6_COPY
+ db MUSIC_CITIES1, BANK(Music_Cities1) ; ROUTE_7_GATE
+ db MUSIC_CITIES1, BANK(Music_Cities1) ; UNDERGROUND_PATH_ROUTE_7
+ db MUSIC_CELADON, BANK(Music_Celadon) ; UNDERGROUND_PATH_ROUTE_7_COPY
+ db MUSIC_CITIES1, BANK(Music_Cities1) ; ROUTE_8_GATE
+ db MUSIC_CITIES1, BANK(Music_Cities1) ; UNDERGROUND_PATH_ROUTE_8
+ db MUSIC_POKECENTER, BANK(Music_Pokecenter) ; ROCK_TUNNEL_POKECENTER
+ db MUSIC_DUNGEON3, BANK(Music_Dungeon3) ; ROCK_TUNNEL_1F
+ db MUSIC_DUNGEON1, BANK(Music_Dungeon1) ; POWER_PLANT
+ db MUSIC_VERMILION, BANK(Music_Vermilion) ; ROUTE_11_GATE_1F
+ db MUSIC_DUNGEON2, BANK(Music_Dungeon2) ; DIGLETTS_CAVE_ROUTE_11
+ db MUSIC_VERMILION, BANK(Music_Vermilion) ; ROUTE_11_GATE_2F
+ db MUSIC_CITIES1, BANK(Music_Cities1) ; ROUTE_12_GATE_1F
+ db MUSIC_CITIES2, BANK(Music_Cities2) ; BILLS_HOUSE
+ db MUSIC_POKECENTER, BANK(Music_Pokecenter) ; VERMILION_POKECENTER
+ db MUSIC_VERMILION, BANK(Music_Vermilion) ; POKEMON_FAN_CLUB
+ db MUSIC_POKECENTER, BANK(Music_Pokecenter) ; VERMILION_MART
+ db MUSIC_GYM, BANK(Music_Gym) ; VERMILION_GYM
+ db MUSIC_VERMILION, BANK(Music_Vermilion) ; VERMILION_PIDGEY_HOUSE
+ db MUSIC_SS_ANNE, BANK(Music_SSAnne) ; VERMILION_DOCK
+ db MUSIC_SS_ANNE, BANK(Music_SSAnne) ; SS_ANNE_1F
+ db MUSIC_SS_ANNE, BANK(Music_SSAnne) ; SS_ANNE_2F
+ db MUSIC_SS_ANNE, BANK(Music_SSAnne) ; SS_ANNE_3F
+ db MUSIC_SS_ANNE, BANK(Music_SSAnne) ; SS_ANNE_B1F
+ db MUSIC_SS_ANNE, BANK(Music_SSAnne) ; SS_ANNE_BOW
+ db MUSIC_SS_ANNE, BANK(Music_SSAnne) ; SS_ANNE_KITCHEN
+ db MUSIC_SS_ANNE, BANK(Music_SSAnne) ; SS_ANNE_CAPTAINS_ROOM
+ db MUSIC_SS_ANNE, BANK(Music_SSAnne) ; SS_ANNE_1F_ROOMS
+ db MUSIC_SS_ANNE, BANK(Music_SSAnne) ; SS_ANNE_2F_ROOMS
+ db MUSIC_SS_ANNE, BANK(Music_SSAnne) ; SS_ANNE_B1F_ROOMS
+ db MUSIC_DUNGEON2, BANK(Music_Dungeon2) ; UNUSED_MAP_69
+ db MUSIC_DUNGEON2, BANK(Music_Dungeon2) ; UNUSED_MAP_6A
+ db MUSIC_SS_ANNE, BANK(Music_SSAnne) ; UNUSED_MAP_6B
+ db MUSIC_DUNGEON3, BANK(Music_Dungeon3) ; VICTORY_ROAD_1F
+ db MUSIC_POKEMON_TOWER, BANK(Music_PokemonTower) ; UNUSED_MAP_6D
+ db MUSIC_DUNGEON1, BANK(Music_Dungeon1) ; UNUSED_MAP_6E
+ db MUSIC_SILPH_CO, BANK(Music_SilphCo) ; UNUSED_MAP_6F
+ db MUSIC_SILPH_CO, BANK(Music_SilphCo) ; UNUSED_MAP_70
+ db MUSIC_INDIGO_PLATEAU, BANK(Music_IndigoPlateau) ; LANCES_ROOM
+ db MUSIC_SS_ANNE, BANK(Music_SSAnne) ; UNUSED_MAP_72
+ db MUSIC_SS_ANNE, BANK(Music_SSAnne) ; UNUSED_MAP_73
+ db MUSIC_SS_ANNE, BANK(Music_SSAnne) ; UNUSED_MAP_74
+ db MUSIC_SS_ANNE, BANK(Music_SSAnne) ; UNUSED_MAP_75
+ db MUSIC_PALLET_TOWN, BANK(Music_PalletTown) ; HALL_OF_FAME
+ db MUSIC_ROUTES1, BANK(Music_Routes1) ; UNDERGROUND_PATH_NORTH_SOUTH
+ db MUSIC_INDIGO_PLATEAU, BANK(Music_IndigoPlateau) ; CHAMPIONS_ROOM
+ db MUSIC_ROUTES1, BANK(Music_Routes1) ; UNDERGROUND_PATH_WEST_EAST
+ db MUSIC_POKECENTER, BANK(Music_Pokecenter) ; CELADON_MART_1F
+ db MUSIC_POKECENTER, BANK(Music_Pokecenter) ; CELADON_MART_2F
+ db MUSIC_POKECENTER, BANK(Music_Pokecenter) ; CELADON_MART_3F
+ db MUSIC_POKECENTER, BANK(Music_Pokecenter) ; CELADON_MART_4F
+ db MUSIC_POKECENTER, BANK(Music_Pokecenter) ; CELADON_MART_ROOF
+ db MUSIC_POKECENTER, BANK(Music_Pokecenter) ; CELADON_MART_ELEVATOR
+ db MUSIC_CELADON, BANK(Music_Celadon) ; CELADON_MANSION_1F
+ db MUSIC_CELADON, BANK(Music_Celadon) ; CELADON_MANSION_2F
+ db MUSIC_CELADON, BANK(Music_Celadon) ; CELADON_MANSION_3F
+ db MUSIC_CELADON, BANK(Music_Celadon) ; CELADON_MANSION_ROOF
+ db MUSIC_CELADON, BANK(Music_Celadon) ; CELADON_MANSION_ROOF_HOUSE
+ db MUSIC_POKECENTER, BANK(Music_Pokecenter) ; CELADON_POKECENTER
+ db MUSIC_GYM, BANK(Music_Gym) ; CELADON_GYM
+ db MUSIC_GAME_CORNER, BANK(Music_GameCorner) ; GAME_CORNER
+ db MUSIC_POKECENTER, BANK(Music_Pokecenter) ; CELADON_MART_5F
+ db MUSIC_CELADON, BANK(Music_Celadon) ; GAME_CORNER_PRIZE_ROOM
+ db MUSIC_CELADON, BANK(Music_Celadon) ; CELADON_DINER
+ db MUSIC_CELADON, BANK(Music_Celadon) ; CELADON_CHIEF_HOUSE
+ db MUSIC_CELADON, BANK(Music_Celadon) ; CELADON_HOTEL
+ db MUSIC_POKECENTER, BANK(Music_Pokecenter) ; LAVENDER_POKECENTER
+ db MUSIC_POKEMON_TOWER, BANK(Music_PokemonTower) ; POKEMON_TOWER_1F
+ db MUSIC_POKEMON_TOWER, BANK(Music_PokemonTower) ; POKEMON_TOWER_2F
+ db MUSIC_POKEMON_TOWER, BANK(Music_PokemonTower) ; POKEMON_TOWER_3F
+ db MUSIC_POKEMON_TOWER, BANK(Music_PokemonTower) ; POKEMON_TOWER_4F
+ db MUSIC_POKEMON_TOWER, BANK(Music_PokemonTower) ; POKEMON_TOWER_5F
+ db MUSIC_POKEMON_TOWER, BANK(Music_PokemonTower) ; POKEMON_TOWER_6F
+ db MUSIC_POKEMON_TOWER, BANK(Music_PokemonTower) ; POKEMON_TOWER_7F
+ db MUSIC_LAVENDER, BANK(Music_Lavender) ; MR_FUJIS_HOUSE
+ db MUSIC_POKECENTER, BANK(Music_Pokecenter) ; LAVENDER_MART
+ db MUSIC_LAVENDER, BANK(Music_Lavender) ; LAVENDER_CUBONE_HOUSE
+ db MUSIC_POKECENTER, BANK(Music_Pokecenter) ; FUCHSIA_MART
+ db MUSIC_CITIES2, BANK(Music_Cities2) ; FUCHSIA_BILLS_GRANDPAS_HOUSE
+ db MUSIC_POKECENTER, BANK(Music_Pokecenter) ; FUCHSIA_POKECENTER
+ db MUSIC_CITIES2, BANK(Music_Cities2) ; WARDENS_HOUSE
+ db MUSIC_CITIES2, BANK(Music_Cities2) ; SAFARI_ZONE_GATE
+ db MUSIC_GYM, BANK(Music_Gym) ; FUCHSIA_GYM
+ db MUSIC_CITIES2, BANK(Music_Cities2) ; FUCHSIA_MEETING_ROOM
+ db MUSIC_DUNGEON2, BANK(Music_Dungeon2) ; SEAFOAM_ISLANDS_B1F
+ db MUSIC_DUNGEON2, BANK(Music_Dungeon2) ; SEAFOAM_ISLANDS_B2F
+ db MUSIC_DUNGEON2, BANK(Music_Dungeon2) ; SEAFOAM_ISLANDS_B3F
+ db MUSIC_DUNGEON2, BANK(Music_Dungeon2) ; SEAFOAM_ISLANDS_B4F
+ db MUSIC_CITIES2, BANK(Music_Cities2) ; VERMILION_OLD_ROD_HOUSE
+ db MUSIC_CITIES2, BANK(Music_Cities2) ; FUCHSIA_GOOD_ROD_HOUSE
+ db MUSIC_CINNABAR_MANSION, BANK(Music_CinnabarMansion) ; POKEMON_MANSION_1F
+ db MUSIC_GYM, BANK(Music_Gym) ; CINNABAR_GYM
+ db MUSIC_CINNABAR, BANK(Music_Cinnabar) ; CINNABAR_LAB
+ db MUSIC_CINNABAR, BANK(Music_Cinnabar) ; CINNABAR_LAB_TRADE_ROOM
+ db MUSIC_CINNABAR, BANK(Music_Cinnabar) ; CINNABAR_LAB_METRONOME_ROOM
+ db MUSIC_CINNABAR, BANK(Music_Cinnabar) ; CINNABAR_LAB_FOSSIL_ROOM
+ db MUSIC_POKECENTER, BANK(Music_Pokecenter) ; CINNABAR_POKECENTER
+ db MUSIC_POKECENTER, BANK(Music_Pokecenter) ; CINNABAR_MART
+ db MUSIC_CINNABAR, BANK(Music_Cinnabar) ; CINNABAR_MART_COPY
+ db MUSIC_INDIGO_PLATEAU, BANK(Music_IndigoPlateau) ; INDIGO_PLATEAU_LOBBY
+ db MUSIC_CITIES1, BANK(Music_Cities1) ; COPYCATS_HOUSE_1F
+ db MUSIC_CITIES1, BANK(Music_Cities1) ; COPYCATS_HOUSE_2F
+ db MUSIC_CITIES1, BANK(Music_Cities1) ; FIGHTING_DOJO
+ db MUSIC_GYM, BANK(Music_Gym) ; SAFFRON_GYM
+ db MUSIC_CITIES1, BANK(Music_Cities1) ; SAFFRON_PIDGEY_HOUSE
+ db MUSIC_POKECENTER, BANK(Music_Pokecenter) ; SAFFRON_MART
+ db MUSIC_SILPH_CO, BANK(Music_SilphCo) ; SILPH_CO_1F
+ db MUSIC_POKECENTER, BANK(Music_Pokecenter) ; SAFFRON_POKECENTER
+ db MUSIC_CITIES1, BANK(Music_Cities1) ; MR_PSYCHICS_HOUSE
+ db MUSIC_CITIES1, BANK(Music_Cities1) ; ROUTE_15_GATE_1F
+ db MUSIC_CITIES1, BANK(Music_Cities1) ; ROUTE_15_GATE_2F
+ db MUSIC_CITIES1, BANK(Music_Cities1) ; ROUTE_16_GATE_1F
+ db MUSIC_CITIES1, BANK(Music_Cities1) ; ROUTE_16_GATE_2F
+ db MUSIC_CELADON, BANK(Music_Celadon) ; ROUTE_16_FLY_HOUSE
+ db MUSIC_CELADON, BANK(Music_Celadon) ; ROUTE_12_SUPER_ROD_HOUSE
+ db MUSIC_CITIES1, BANK(Music_Cities1) ; ROUTE_18_GATE_1F
+ db MUSIC_CITIES1, BANK(Music_Cities1) ; ROUTE_18_GATE_2F
+ db MUSIC_DUNGEON2, BANK(Music_Dungeon2) ; SEAFOAM_ISLANDS_1F
+ db MUSIC_DUNGEON2, BANK(Music_Dungeon2) ; ROUTE_22_GATE
+ db MUSIC_DUNGEON3, BANK(Music_Dungeon3) ; VICTORY_ROAD_2F
+ db MUSIC_CITIES1, BANK(Music_Cities1) ; ROUTE_12_GATE_2F
+ db MUSIC_VERMILION, BANK(Music_Vermilion) ; VERMILION_TRADE_HOUSE
+ db MUSIC_DUNGEON2, BANK(Music_Dungeon2) ; DIGLETTS_CAVE
+ db MUSIC_DUNGEON3, BANK(Music_Dungeon3) ; VICTORY_ROAD_3F
+ db MUSIC_DUNGEON1, BANK(Music_Dungeon1) ; ROCKET_HIDEOUT_B1F
+ db MUSIC_DUNGEON1, BANK(Music_Dungeon1) ; ROCKET_HIDEOUT_B2F
+ db MUSIC_DUNGEON1, BANK(Music_Dungeon1) ; ROCKET_HIDEOUT_B3F
+ db MUSIC_DUNGEON1, BANK(Music_Dungeon1) ; ROCKET_HIDEOUT_B4F
+ db MUSIC_DUNGEON1, BANK(Music_Dungeon1) ; ROCKET_HIDEOUT_ELEVATOR
+ db MUSIC_DUNGEON1, BANK(Music_Dungeon1) ; UNUSED_MAP_CC
+ db MUSIC_DUNGEON1, BANK(Music_Dungeon1) ; UNUSED_MAP_CD
+ db MUSIC_DUNGEON1, BANK(Music_Dungeon1) ; UNUSED_MAP_CE
+ db MUSIC_SILPH_CO, BANK(Music_SilphCo) ; SILPH_CO_2F
+ db MUSIC_SILPH_CO, BANK(Music_SilphCo) ; SILPH_CO_3F
+ db MUSIC_SILPH_CO, BANK(Music_SilphCo) ; SILPH_CO_4F
+ db MUSIC_SILPH_CO, BANK(Music_SilphCo) ; SILPH_CO_5F
+ db MUSIC_SILPH_CO, BANK(Music_SilphCo) ; SILPH_CO_6F
+ db MUSIC_SILPH_CO, BANK(Music_SilphCo) ; SILPH_CO_7F
+ db MUSIC_SILPH_CO, BANK(Music_SilphCo) ; SILPH_CO_8F
+ db MUSIC_CINNABAR_MANSION, BANK(Music_CinnabarMansion) ; POKEMON_MANSION_2F
+ db MUSIC_CINNABAR_MANSION, BANK(Music_CinnabarMansion) ; POKEMON_MANSION_3F
+ db MUSIC_CINNABAR_MANSION, BANK(Music_CinnabarMansion) ; POKEMON_MANSION_B1F
+ db MUSIC_SAFARI_ZONE, BANK(Music_SafariZone) ; SAFARI_ZONE_EAST
+ db MUSIC_SAFARI_ZONE, BANK(Music_SafariZone) ; SAFARI_ZONE_NORTH
+ db MUSIC_SAFARI_ZONE, BANK(Music_SafariZone) ; SAFARI_ZONE_WEST
+ db MUSIC_SAFARI_ZONE, BANK(Music_SafariZone) ; SAFARI_ZONE_CENTER
+ db MUSIC_SAFARI_ZONE, BANK(Music_SafariZone) ; SAFARI_ZONE_CENTER_REST_HOUSE
+ db MUSIC_SAFARI_ZONE, BANK(Music_SafariZone) ; SAFARI_ZONE_SECRET_HOUSE
+ db MUSIC_SAFARI_ZONE, BANK(Music_SafariZone) ; SAFARI_ZONE_WEST_REST_HOUSE
+ db MUSIC_SAFARI_ZONE, BANK(Music_SafariZone) ; SAFARI_ZONE_EAST_REST_HOUSE
+ db MUSIC_SAFARI_ZONE, BANK(Music_SafariZone) ; SAFARI_ZONE_NORTH_REST_HOUSE
+ db MUSIC_DUNGEON1, BANK(Music_Dungeon1) ; CERULEAN_CAVE_2F
+ db MUSIC_DUNGEON1, BANK(Music_Dungeon1) ; CERULEAN_CAVE_B1F
+ db MUSIC_DUNGEON1, BANK(Music_Dungeon1) ; CERULEAN_CAVE_1F
+ db MUSIC_CITIES2, BANK(Music_Cities2) ; NAME_RATERS_HOUSE
+ db MUSIC_CITIES1, BANK(Music_Cities1) ; CERULEAN_BADGE_HOUSE
+ db MUSIC_CINNABAR, BANK(Music_Cinnabar) ; UNUSED_MAP_E7
+ db MUSIC_DUNGEON3, BANK(Music_Dungeon3) ; ROCK_TUNNEL_B1F
+ db MUSIC_SILPH_CO, BANK(Music_SilphCo) ; SILPH_CO_9F
+ db MUSIC_SILPH_CO, BANK(Music_SilphCo) ; SILPH_CO_10F
+ db MUSIC_SILPH_CO, BANK(Music_SilphCo) ; SILPH_CO_11F
+ db MUSIC_SILPH_CO, BANK(Music_SilphCo) ; SILPH_CO_ELEVATOR
+ db MUSIC_SILPH_CO, BANK(Music_SilphCo) ; UNUSED_MAP_ED
+ db MUSIC_SILPH_CO, BANK(Music_SilphCo) ; UNUSED_MAP_EE
+ db MUSIC_CELADON, BANK(Music_Celadon) ; TRADE_CENTER
+ db MUSIC_CELADON, BANK(Music_Celadon) ; COLOSSEUM
+ db MUSIC_SILPH_CO, BANK(Music_SilphCo) ; UNUSED_MAP_F1
+ db MUSIC_SILPH_CO, BANK(Music_SilphCo) ; UNUSED_MAP_F2
+ db MUSIC_SILPH_CO, BANK(Music_SilphCo) ; UNUSED_MAP_F3
+ db MUSIC_SILPH_CO, BANK(Music_SilphCo) ; UNUSED_MAP_F4
+ db MUSIC_GYM, BANK(Music_Gym) ; LORELEIS_ROOM
+ db MUSIC_DUNGEON1, BANK(Music_Dungeon1) ; BRUNOS_ROOM
+ db MUSIC_POKEMON_TOWER, BANK(Music_PokemonTower) ; AGATHAS_ROOM
diff --git a/data/maps/special_warps.asm b/data/maps/special_warps.asm
new file mode 100755
index 00000000..6b536b67
--- /dev/null
+++ b/data/maps/special_warps.asm
@@ -0,0 +1,119 @@
+; Format: (size 2 bytes)
+; 00: target map ID
+; 01: which dungeon warp in the source map was used
+DungeonWarpList:
+ db SEAFOAM_ISLANDS_B1F,$01
+ db SEAFOAM_ISLANDS_B1F,$02
+ db SEAFOAM_ISLANDS_B2F,$01
+ db SEAFOAM_ISLANDS_B2F,$02
+ db SEAFOAM_ISLANDS_B3F,$01
+ db SEAFOAM_ISLANDS_B3F,$02
+ db SEAFOAM_ISLANDS_B4F,$01
+ db SEAFOAM_ISLANDS_B4F,$02
+ db VICTORY_ROAD_2F,$02
+ db POKEMON_MANSION_1F,$01
+ db POKEMON_MANSION_1F,$02
+ db POKEMON_MANSION_2F,$03
+ db $FF
+
+DungeonWarpData:
+ FLYWARP_DATA SEAFOAM_ISLANDS_B1F_WIDTH,7,18
+ FLYWARP_DATA SEAFOAM_ISLANDS_B1F_WIDTH,7,23
+ FLYWARP_DATA SEAFOAM_ISLANDS_B2F_WIDTH,7,19
+ FLYWARP_DATA SEAFOAM_ISLANDS_B2F_WIDTH,7,22
+ FLYWARP_DATA SEAFOAM_ISLANDS_B3F_WIDTH,7,18
+ FLYWARP_DATA SEAFOAM_ISLANDS_B3F_WIDTH,7,19
+ FLYWARP_DATA SEAFOAM_ISLANDS_B4F_WIDTH,14,4
+ FLYWARP_DATA SEAFOAM_ISLANDS_B4F_WIDTH,14,5
+ FLYWARP_DATA VICTORY_ROAD_2F_WIDTH,16,22
+ FLYWARP_DATA POKEMON_MANSION_1F_WIDTH,14,16
+ FLYWARP_DATA POKEMON_MANSION_1F_WIDTH,14,16
+ FLYWARP_DATA POKEMON_MANSION_2F_WIDTH,14,18
+
+;Format:
+; db Map_id
+; FLYWARP_DATA [Map Width][Y-pos][X-pos]
+; db Tileset_id
+FirstMapSpec:
+ db REDS_HOUSE_2F
+ FLYWARP_DATA REDS_HOUSE_2F_WIDTH,6,3
+ db REDS_HOUSE_2
+
+TradeCenterSpec1:
+ db TRADE_CENTER
+ FLYWARP_DATA TRADE_CENTER_WIDTH,4,3
+ db CLUB
+
+TradeCenterSpec2:
+ db TRADE_CENTER
+ FLYWARP_DATA TRADE_CENTER_WIDTH,4,6
+ db CLUB
+
+ColosseumSpec1:
+ db COLOSSEUM
+ FLYWARP_DATA COLOSSEUM_WIDTH,4,3
+ db CLUB
+
+ColosseumSpec2:
+ db COLOSSEUM
+ FLYWARP_DATA COLOSSEUM_WIDTH,4,6
+ db CLUB
+
+FlyWarpDataPtr:
+ db PALLET_TOWN, 0
+ dw PalletTownFlyWarp
+ db VIRIDIAN_CITY, 0
+ dw ViridianCityFlyWarp
+ db PEWTER_CITY, 0
+ dw PewterCityFlyWarp
+ db CERULEAN_CITY, 0
+ dw CeruleanCityFlyWarp
+ db LAVENDER_TOWN, 0
+ dw LavenderTownFlyWarp
+ db VERMILION_CITY, 0
+ dw VermilionCityFlyWarp
+ db CELADON_CITY, 0
+ dw CeladonCityFlyWarp
+ db FUCHSIA_CITY, 0
+ dw FuchsiaCityFlyWarp
+ db CINNABAR_ISLAND, 0
+ dw CinnabarIslandFlyWarp
+ db INDIGO_PLATEAU, 0
+ dw IndigoPlateauFlyWarp
+ db SAFFRON_CITY, 0
+ dw SaffronCityFlyWarp
+ db ROUTE_4, 0
+ dw Route4FlyWarp
+ db ROUTE_10, 0
+ dw Route10FlyWarp
+
+; Original Format:
+; [Event Displacement][Y-block][X-block][Y-sub_block][X-sub_block]
+; Macro Format:
+; FLYWARP_DATA [Map Width][Y-pos][X-pos]
+PalletTownFlyWarp:
+ FLYWARP_DATA PALLET_TOWN_WIDTH, 6, 5
+ViridianCityFlyWarp:
+ FLYWARP_DATA VIRIDIAN_CITY_WIDTH, 26, 23
+PewterCityFlyWarp:
+ FLYWARP_DATA PEWTER_CITY_WIDTH, 26, 13
+CeruleanCityFlyWarp:
+ FLYWARP_DATA CERULEAN_CITY_WIDTH, 18, 19
+LavenderTownFlyWarp:
+ FLYWARP_DATA LAVENDER_TOWN_WIDTH, 6, 3
+VermilionCityFlyWarp:
+ FLYWARP_DATA VERMILION_CITY_WIDTH, 4, 11
+CeladonCityFlyWarp:
+ FLYWARP_DATA CELADON_CITY_WIDTH, 10, 41
+FuchsiaCityFlyWarp:
+ FLYWARP_DATA FUCHSIA_CITY_WIDTH, 28, 19
+CinnabarIslandFlyWarp:
+ FLYWARP_DATA CINNABAR_ISLAND_WIDTH, 12, 11
+IndigoPlateauFlyWarp:
+ FLYWARP_DATA INDIGO_PLATEAU_WIDTH, 6, 9
+SaffronCityFlyWarp:
+ FLYWARP_DATA SAFFRON_CITY_WIDTH, 30, 9
+Route4FlyWarp:
+ FLYWARP_DATA ROUTE_4_WIDTH, 6, 11
+Route10FlyWarp:
+ FLYWARP_DATA ROUTE_10_WIDTH, 20, 11
diff --git a/data/maps/sprite_sets.asm b/data/maps/sprite_sets.asm
new file mode 100755
index 00000000..5b0e1e00
--- /dev/null
+++ b/data/maps/sprite_sets.asm
@@ -0,0 +1,551 @@
+MapSpriteSets:
+ db $01 ; PALLET_TOWN
+ db $01 ; VIRIDIAN_CITY
+ db $02 ; PEWTER_CITY
+ db $02 ; CERULEAN_CITY
+ db $03 ; LAVENDER_TOWN
+ db $04 ; VERMILION_CITY
+ db $05 ; CELADON_CITY
+ db $0a ; FUCHSIA_CITY
+ db $01 ; CINNABAR_ISLAND
+ db $06 ; INDIGO_PLATEAU
+ db $07 ; SAFFRON_CITY
+ db $01 ; unused map ID
+ db $01 ; ROUTE_1
+ db $f1 ; ROUTE_2
+ db $02 ; ROUTE_3
+ db $02 ; ROUTE_4
+ db $f9 ; ROUTE_5
+ db $fa ; ROUTE_6
+ db $fb ; ROUTE_7
+ db $fc ; ROUTE_8
+ db $02 ; ROUTE_9
+ db $f2 ; ROUTE_10
+ db $f3 ; ROUTE_11
+ db $f4 ; ROUTE_12
+ db $08 ; ROUTE_13
+ db $08 ; ROUTE_14
+ db $f5 ; ROUTE_15
+ db $f6 ; ROUTE_16
+ db $09 ; ROUTE_17
+ db $f7 ; ROUTE_18
+ db $0a ; ROUTE_19
+ db $f8 ; ROUTE_20
+ db $01 ; ROUTE_21
+ db $01 ; ROUTE_22
+ db $06 ; ROUTE_23
+ db $02 ; ROUTE_24
+ db $02 ; ROUTE_25
+
+; Format:
+; 00: determines whether the map is split East/West or North/South
+; $01 = East/West divide
+; $02 = North/South divide
+; 01: coordinate of dividing line
+; 02: sprite set ID if in the West or North side
+; 03: sprite set ID if in the East or South side
+SplitMapSpriteSets:
+ db $02,$25,$02,$01 ; $f1
+ db $02,$32,$02,$03 ; $f2
+ db $01,$39,$04,$08 ; $f3
+ db $02,$15,$03,$08 ; $f4
+ db $01,$08,$0A,$08 ; $f5
+ db $01,$18,$09,$05 ; $f6
+ db $01,$22,$09,$0A ; $f7
+ db $01,$35,$01,$0A ; $f8
+ db $02,$21,$02,$07 ; $f9
+ db $02,$02,$07,$04 ; $fa
+ db $01,$11,$05,$07 ; $fb
+ db $01,$03,$07,$03 ; $fc
+
+SpriteSets:
+; sprite set $01
+ db SPRITE_BLUE
+ db SPRITE_BUG_CATCHER
+ db SPRITE_GIRL
+ db SPRITE_FISHER2
+ db SPRITE_BLACK_HAIR_BOY_1
+ db SPRITE_GAMBLER
+ db SPRITE_SEEL
+ db SPRITE_OAK
+ db SPRITE_SWIMMER
+ db SPRITE_BALL
+ db SPRITE_LYING_OLD_MAN
+
+; sprite set $02
+ db SPRITE_BUG_CATCHER
+ db SPRITE_ROCKET
+ db SPRITE_BLACK_HAIR_BOY_2
+ db SPRITE_HIKER
+ db SPRITE_SLOWBRO
+ db SPRITE_BLUE
+ db SPRITE_GUARD
+ db SPRITE_LASS
+ db SPRITE_BLACK_HAIR_BOY_1
+ db SPRITE_BALL
+ db SPRITE_LYING_OLD_MAN_UNUSED_2
+
+; sprite set $03
+ db SPRITE_LITTLE_GIRL
+ db SPRITE_GIRL
+ db SPRITE_BLACK_HAIR_BOY_2
+ db SPRITE_HIKER
+ db SPRITE_GAMBLER
+ db SPRITE_SLOWBRO
+ db SPRITE_LASS
+ db SPRITE_BLACK_HAIR_BOY_1
+ db SPRITE_GUARD
+ db SPRITE_BALL
+ db SPRITE_LYING_OLD_MAN_UNUSED_2
+
+; sprite set $04
+ db SPRITE_FOULARD_WOMAN
+ db SPRITE_BLACK_HAIR_BOY_2
+ db SPRITE_BUG_CATCHER
+ db SPRITE_GAMBLER
+ db SPRITE_SLOWBRO
+ db SPRITE_GUARD
+ db SPRITE_SAILOR
+ db SPRITE_LASS
+ db SPRITE_BLACK_HAIR_BOY_1
+ db SPRITE_BALL
+ db SPRITE_LYING_OLD_MAN_UNUSED_2
+
+; sprite set $05
+ db SPRITE_LITTLE_GIRL
+ db SPRITE_YOUNG_BOY
+ db SPRITE_GIRL
+ db SPRITE_FISHER2
+ db SPRITE_FAT_BALD_GUY
+ db SPRITE_OLD_PERSON
+ db SPRITE_SLOWBRO
+ db SPRITE_GUARD
+ db SPRITE_ROCKET
+ db SPRITE_BALL
+ db SPRITE_SNORLAX
+
+; sprite set $06
+ db SPRITE_BUG_CATCHER
+ db SPRITE_GYM_HELPER
+ db SPRITE_SLOWBRO
+ db SPRITE_BLUE
+ db SPRITE_LASS
+ db SPRITE_BLACK_HAIR_BOY_1
+ db SPRITE_SWIMMER
+ db SPRITE_GUARD
+ db SPRITE_GAMBLER
+ db SPRITE_BALL
+ db SPRITE_LYING_OLD_MAN_UNUSED_2
+
+; sprite set $07
+ db SPRITE_ROCKET
+ db SPRITE_OAK_AIDE
+ db SPRITE_LAPRAS_GIVER
+ db SPRITE_ERIKA
+ db SPRITE_GENTLEMAN
+ db SPRITE_BIRD
+ db SPRITE_ROCKER
+ db SPRITE_BLACK_HAIR_BOY_1
+ db SPRITE_SLOWBRO
+ db SPRITE_BALL
+ db SPRITE_LYING_OLD_MAN_UNUSED_2
+
+; sprite set $08
+ db SPRITE_BIKER
+ db SPRITE_BLACK_HAIR_BOY_2
+ db SPRITE_FAT_BALD_GUY
+ db SPRITE_LASS
+ db SPRITE_BLACK_HAIR_BOY_1
+ db SPRITE_FOULARD_WOMAN
+ db SPRITE_FISHER2
+ db SPRITE_ROCKER
+ db SPRITE_SLOWBRO
+ db SPRITE_BALL
+ db SPRITE_SNORLAX
+
+; sprite set $09
+ db SPRITE_BIKER
+ db SPRITE_BLACK_HAIR_BOY_1
+ db SPRITE_LAPRAS_GIVER
+ db SPRITE_FISHER2
+ db SPRITE_ROCKER
+ db SPRITE_HIKER
+ db SPRITE_GAMBLER
+ db SPRITE_FAT_BALD_GUY
+ db SPRITE_BLACK_HAIR_BOY_2
+ db SPRITE_BALL
+ db SPRITE_SNORLAX
+
+; sprite set $0a
+ db SPRITE_BIRD
+ db SPRITE_BLACK_HAIR_BOY_1
+ db SPRITE_CLEFAIRY
+ db SPRITE_FISHER2
+ db SPRITE_GAMBLER
+ db SPRITE_SLOWBRO
+ db SPRITE_SEEL
+ db SPRITE_SWIMMER
+ db SPRITE_BUG_CATCHER
+ db SPRITE_BALL
+ db SPRITE_OMANYTE
+
+SpriteSheetPointerTable:
+ ; SPRITE_RED
+ dw RedSprite
+ db $c0 ; byte count
+ db BANK(RedSprite)
+
+ ; SPRITE_BLUE
+ dw BlueSprite
+ db $c0 ; byte count
+ db BANK(BlueSprite)
+
+ ; SPRITE_OAK
+ dw OakSprite
+ db $c0 ; byte count
+ db BANK(OakSprite)
+
+ ; SPRITE_BUG_CATCHER
+ dw BugCatcherSprite
+ db $c0 ; byte count
+ db BANK(BugCatcherSprite)
+
+ ; SPRITE_SLOWBRO
+ dw SlowbroSprite
+ db $c0 ; byte count
+ db BANK(SlowbroSprite)
+
+ ; SPRITE_LASS
+ dw LassSprite
+ db $c0 ; byte count
+ db BANK(LassSprite)
+
+ ; SPRITE_BLACK_HAIR_BOY_1
+ dw BlackHairBoy1Sprite
+ db $c0 ; byte count
+ db BANK(BlackHairBoy1Sprite)
+
+ ; SPRITE_LITTLE_GIRL
+ dw LittleGirlSprite
+ db $c0 ; byte count
+ db BANK(LittleGirlSprite)
+
+ ; SPRITE_BIRD
+ dw BirdSprite
+ db $c0 ; byte count
+ db BANK(BirdSprite)
+
+ ; SPRITE_FAT_BALD_GUY
+ dw FatBaldGuySprite
+ db $c0 ; byte count
+ db BANK(FatBaldGuySprite)
+
+ ; SPRITE_GAMBLER
+ dw GamblerSprite
+ db $c0 ; byte count
+ db BANK(GamblerSprite)
+
+ ; SPRITE_BLACK_HAIR_BOY_2
+ dw BlackHairBoy2Sprite
+ db $c0 ; byte count
+ db BANK(BlackHairBoy2Sprite)
+
+ ; SPRITE_GIRL
+ dw GirlSprite
+ db $c0 ; byte count
+ db BANK(GirlSprite)
+
+ ; SPRITE_HIKER
+ dw HikerSprite
+ db $c0 ; byte count
+ db BANK(HikerSprite)
+
+ ; SPRITE_FOULARD_WOMAN
+ dw FoulardWomanSprite
+ db $c0 ; byte count
+ db BANK(FoulardWomanSprite)
+
+ ; SPRITE_GENTLEMAN
+ dw GentlemanSprite
+ db $c0 ; byte count
+ db BANK(GentlemanSprite)
+
+ ; SPRITE_DAISY
+ dw DaisySprite
+ db $c0 ; byte count
+ db BANK(DaisySprite)
+
+ ; SPRITE_BIKER
+ dw BikerSprite
+ db $c0 ; byte count
+ db BANK(BikerSprite)
+
+ ; SPRITE_SAILOR
+ dw SailorSprite
+ db $c0 ; byte count
+ db BANK(SailorSprite)
+
+ ; SPRITE_COOK
+ dw CookSprite
+ db $c0 ; byte count
+ db BANK(CookSprite)
+
+ ; SPRITE_BIKE_SHOP_GUY
+ dw BikeShopGuySprite
+ db $c0 ; byte count
+ db BANK(BikeShopGuySprite)
+
+ ; SPRITE_MR_FUJI
+ dw MrFujiSprite
+ db $c0 ; byte count
+ db BANK(MrFujiSprite)
+
+ ; SPRITE_GIOVANNI
+ dw GiovanniSprite
+ db $c0 ; byte count
+ db BANK(GiovanniSprite)
+
+ ; SPRITE_ROCKET
+ dw RocketSprite
+ db $c0 ; byte count
+ db BANK(RocketSprite)
+
+ ; SPRITE_MEDIUM
+ dw MediumSprite
+ db $c0 ; byte count
+ db BANK(MediumSprite)
+
+ ; SPRITE_WAITER
+ dw WaiterSprite
+ db $c0 ; byte count
+ db BANK(WaiterSprite)
+
+ ; SPRITE_ERIKA
+ dw ErikaSprite
+ db $c0 ; byte count
+ db BANK(ErikaSprite)
+
+ ; SPRITE_MOM_GEISHA
+ dw MomGeishaSprite
+ db $c0 ; byte count
+ db BANK(MomGeishaSprite)
+
+ ; SPRITE_BRUNETTE_GIRL
+ dw BrunetteGirlSprite
+ db $c0 ; byte count
+ db BANK(BrunetteGirlSprite)
+
+ ; SPRITE_LANCE
+ dw LanceSprite
+ db $c0 ; byte count
+ db BANK(LanceSprite)
+
+ ; SPRITE_OAK_SCIENTIST_AIDE
+ dw OakAideSprite
+ db $c0 ; byte count
+ db BANK(OakAideSprite)
+
+ ; SPRITE_OAK_AIDE
+ dw OakAideSprite
+ db $c0 ; byte count
+ db BANK(OakAideSprite)
+
+ ; SPRITE_ROCKER
+ dw RockerSprite
+ db $c0 ; byte count
+ db BANK(RockerSprite)
+
+ ; SPRITE_SWIMMER
+ dw SwimmerSprite
+ db $c0 ; byte count
+ db BANK(SwimmerSprite)
+
+ ; SPRITE_WHITE_PLAYER
+ dw WhitePlayerSprite
+ db $c0 ; byte count
+ db BANK(WhitePlayerSprite)
+
+ ; SPRITE_GYM_HELPER
+ dw GymHelperSprite
+ db $c0 ; byte count
+ db BANK(GymHelperSprite)
+
+ ; SPRITE_OLD_PERSON
+ dw OldPersonSprite
+ db $c0 ; byte count
+ db BANK(OldPersonSprite)
+
+ ; SPRITE_MART_GUY
+ dw MartGuySprite
+ db $c0 ; byte count
+ db BANK(MartGuySprite)
+
+ ; SPRITE_FISHER
+ dw FisherSprite
+ db $c0 ; byte count
+ db BANK(FisherSprite)
+
+ ; SPRITE_OLD_MEDIUM_WOMAN
+ dw OldMediumWomanSprite
+ db $c0 ; byte count
+ db BANK(OldMediumWomanSprite)
+
+ ; SPRITE_NURSE
+ dw NurseSprite
+ db $c0 ; byte count
+ db BANK(NurseSprite)
+
+ ; SPRITE_CABLE_CLUB_WOMAN
+ dw CableClubWomanSprite
+ db $c0 ; byte count
+ db BANK(CableClubWomanSprite)
+
+ ; SPRITE_MR_MASTERBALL
+ dw MrMasterballSprite
+ db $c0 ; byte count
+ db BANK(MrMasterballSprite)
+
+ ; SPRITE_LAPRAS_GIVER
+ dw LaprasGiverSprite
+ db $c0 ; byte count
+ db BANK(LaprasGiverSprite)
+
+ ; SPRITE_WARDEN
+ dw WardenSprite
+ db $c0 ; byte count
+ db BANK(WardenSprite)
+
+ ; SPRITE_SS_CAPTAIN
+ dw SsCaptainSprite
+ db $c0 ; byte count
+ db BANK(SsCaptainSprite)
+
+ ; SPRITE_FISHER2
+ dw Fisher2Sprite
+ db $c0 ; byte count
+ db BANK(Fisher2Sprite)
+
+ ; SPRITE_BLACKBELT
+ dw BlackbeltSprite
+ db $c0 ; byte count
+ db BANK(BlackbeltSprite)
+
+ ; SPRITE_GUARD
+ dw GuardSprite
+ db $c0 ; byte count
+ db BANK(GuardSprite)
+
+ ; $32
+ dw GuardSprite
+ db $c0 ; byte count
+ db BANK(GuardSprite)
+
+ ; SPRITE_MOM
+ dw MomSprite
+ db $c0 ; byte count
+ db BANK(MomSprite)
+
+ ; SPRITE_BALDING_GUY
+ dw BaldingGuySprite
+ db $c0 ; byte count
+ db BANK(BaldingGuySprite)
+
+ ; SPRITE_YOUNG_BOY
+ dw YoungBoySprite
+ db $c0 ; byte count
+ db BANK(YoungBoySprite)
+
+ ; SPRITE_GAMEBOY_KID
+ dw GameboyKidSprite
+ db $c0 ; byte count
+ db BANK(GameboyKidSprite)
+
+ ; SPRITE_GAMEBOY_KID_COPY
+ dw GameboyKidSprite
+ db $c0 ; byte count
+ db BANK(GameboyKidSprite)
+
+ ; SPRITE_CLEFAIRY
+ dw ClefairySprite
+ db $c0 ; byte count
+ db BANK(ClefairySprite)
+
+ ; SPRITE_AGATHA
+ dw AgathaSprite
+ db $c0 ; byte count
+ db BANK(AgathaSprite)
+
+ ; SPRITE_BRUNO
+ dw BrunoSprite
+ db $c0 ; byte count
+ db BANK(BrunoSprite)
+
+ ; SPRITE_LORELEI
+ dw LoreleiSprite
+ db $c0 ; byte count
+ db BANK(LoreleiSprite)
+
+ ; SPRITE_SEEL
+ dw SeelSprite
+ db $c0 ; byte count
+ db BANK(SeelSprite)
+
+ ; SPRITE_BALL
+ dw BallSprite
+ db $40 ; byte count
+ db BANK(BallSprite)
+
+ ; SPRITE_OMANYTE
+ dw OmanyteSprite
+ db $40 ; byte count
+ db BANK(OmanyteSprite)
+
+ ; SPRITE_BOULDER
+ dw BoulderSprite
+ db $40 ; byte count
+ db BANK(BoulderSprite)
+
+ ; SPRITE_PAPER_SHEET
+ dw PaperSheetSprite
+ db $40 ; byte count
+ db BANK(PaperSheetSprite)
+
+ ; SPRITE_BOOK_MAP_DEX
+ dw BookMapDexSprite
+ db $40 ; byte count
+ db BANK(BookMapDexSprite)
+
+ ; SPRITE_CLIPBOARD
+ dw ClipboardSprite
+ db $40 ; byte count
+ db BANK(ClipboardSprite)
+
+ ; SPRITE_SNORLAX
+ dw SnorlaxSprite
+ db $40 ; byte count
+ db BANK(SnorlaxSprite)
+
+ ; SPRITE_OLD_AMBER_COPY
+ dw OldAmberSprite
+ db $40 ; byte count
+ db BANK(OldAmberSprite)
+
+ ; SPRITE_OLD_AMBER
+ dw OldAmberSprite
+ db $40 ; byte count
+ db BANK(OldAmberSprite)
+
+ ; SPRITE_LYING_OLD_MAN_UNUSED_1
+ dw LyingOldManSprite
+ db $40 ; byte count
+ db BANK(LyingOldManSprite)
+
+ ; SPRITE_LYING_OLD_MAN_UNUSED_2
+ dw LyingOldManSprite
+ db $40 ; byte count
+ db BANK(LyingOldManSprite)
+
+ ; SPRITE_LYING_OLD_MAN
+ dw LyingOldManSprite
+ db $40 ; byte count
+ db BANK(LyingOldManSprite)
diff --git a/data/maps/town_map_entries.asm b/data/maps/town_map_entries.asm
new file mode 100755
index 00000000..63ebd51b
--- /dev/null
+++ b/data/maps/town_map_entries.asm
@@ -0,0 +1,101 @@
+ExternalMapEntries:
+ EMAP $2,$B,PalletTownName
+ EMAP $2,$8,ViridianCityName
+ EMAP $2,$3,PewterCityName
+ EMAP $A,$2,CeruleanCityName
+ EMAP $E,$5,LavenderTownName
+ EMAP $A,$9,VermilionCityName
+ EMAP $7,$5,CeladonCityName
+ EMAP $8,$D,FuchsiaCityName
+ EMAP $2,$F,CinnabarIslandName
+ EMAP $0,$2,IndigoPlateauName
+ EMAP $A,$5,SaffronCityName
+ EMAP $0,$0,PalletTownName ; unused
+ EMAP $2,$A,Route1Name
+ EMAP $2,$6,Route2Name
+ EMAP $4,$3,Route3Name
+ EMAP $8,$2,Route4Name
+ EMAP $A,$3,Route5Name
+ EMAP $A,$8,Route6Name
+ EMAP $8,$5,Route7Name
+ EMAP $D,$5,Route8Name
+ EMAP $D,$2,Route9Name
+ EMAP $E,$4,Route10Name
+ EMAP $C,$9,Route11Name
+ EMAP $E,$9,Route12Name
+ EMAP $D,$B,Route13Name
+ EMAP $B,$C,Route14Name
+ EMAP $A,$D,Route15Name
+ EMAP $5,$5,Route16Name
+ EMAP $4,$8,Route17Name
+ EMAP $6,$D,Route18Name
+ EMAP $6,$F,Route19Name
+ EMAP $4,$F,Route20Name
+ EMAP $2,$D,Route21Name
+ EMAP $0,$8,Route22Name
+ EMAP $0,$6,Route23Name
+ EMAP $A,$1,Route24Name
+ EMAP $B,$0,Route25Name
+
+InternalMapEntries:
+ IMAP OAKS_LAB, $2,$B,PalletTownName
+ IMAP VIRIDIAN_GYM, $2,$8,ViridianCityName
+ IMAP VIRIDIAN_FOREST_SOUTH_GATE, $2,$6,Route2Name
+ IMAP VIRIDIAN_FOREST, $2,$4,ViridianForestName
+ IMAP PEWTER_POKECENTER, $2,$3,PewterCityName
+ IMAP MT_MOON_B2F, $6,$2,MountMoonName
+ IMAP CERULEAN_MART, $A,$2,CeruleanCityName
+ IMAP MT_MOON_POKECENTER, $5,$2,Route4Name
+ IMAP CERULEAN_TRASHED_HOUSE_COPY, $A,$2,CeruleanCityName
+ IMAP DAYCARE, $A,$4,Route5Name
+ IMAP UNDERGROUND_PATH_ROUTE_6_COPY, $A,$6,Route6Name
+ IMAP UNDERGROUND_PATH_ROUTE_7_COPY, $9,$5,Route7Name
+ IMAP UNDERGROUND_PATH_ROUTE_8, $B,$5,Route8Name
+ IMAP ROCK_TUNNEL_1F, $E,$3,RockTunnelName
+ IMAP POWER_PLANT, $F,$4,PowerPlantName
+ IMAP ROUTE_11_GATE_2F, $D,$9,Route11Name
+ IMAP ROUTE_12_GATE_1F, $E,$7,Route12Name
+ IMAP BILLS_HOUSE, $C,$0,SeaCottageName
+ IMAP VERMILION_DOCK, $A,$9,VermilionCityName
+ IMAP SS_ANNE_B1F_ROOMS, $9,$A,SSAnneName
+ IMAP VICTORY_ROAD_1F, $0,$4,VictoryRoadName
+ IMAP HALL_OF_FAME, $0,$2,PokemonLeagueName
+ IMAP UNDERGROUND_PATH_NORTH_SOUTH, $A,$5,UndergroundPathName
+ IMAP CHAMPIONS_ROOM, $0,$2,PokemonLeagueName
+ IMAP UNDERGROUND_PATH_WEST_EAST, $A,$5,UndergroundPathName
+ IMAP CELADON_HOTEL, $7,$5,CeladonCityName
+ IMAP LAVENDER_POKECENTER, $E,$5,LavenderTownName
+ IMAP POKEMON_TOWER_7F, $F,$5,PokemonTowerName
+ IMAP LAVENDER_CUBONE_HOUSE, $E,$5,LavenderTownName
+ IMAP WARDENS_HOUSE, $8,$D,FuchsiaCityName
+ IMAP SAFARI_ZONE_GATE, $8,$C,SafariZoneName
+ IMAP FUCHSIA_MEETING_ROOM, $8,$D,FuchsiaCityName
+ IMAP SEAFOAM_ISLANDS_B4F, $5,$F,SeafoamIslandsName
+ IMAP VERMILION_OLD_ROD_HOUSE, $A,$9,VermilionCityName
+ IMAP FUCHSIA_GOOD_ROD_HOUSE, $8,$D,FuchsiaCityName
+ IMAP POKEMON_MANSION_1F, $2,$F,PokemonMansionName
+ IMAP CINNABAR_MART_COPY, $2,$F,CinnabarIslandName
+ IMAP INDIGO_PLATEAU_LOBBY, $0,$2,IndigoPlateauName
+ IMAP MR_PSYCHICS_HOUSE, $A,$5,SaffronCityName
+ IMAP ROUTE_15_GATE_2F, $9,$D,Route15Name
+ IMAP ROUTE_16_FLY_HOUSE, $4,$5,Route16Name
+ IMAP ROUTE_12_SUPER_ROD_HOUSE, $E,$A,Route12Name
+ IMAP ROUTE_18_GATE_2F, $7,$D,Route18Name
+ IMAP SEAFOAM_ISLANDS_1F, $5,$F,SeafoamIslandsName
+ IMAP ROUTE_22_GATE, $0,$7,Route22Name
+ IMAP VICTORY_ROAD_2F, $0,$4,VictoryRoadName
+ IMAP ROUTE_12_GATE_2F, $E,$7,Route12Name
+ IMAP VERMILION_TRADE_HOUSE, $A,$9,VermilionCityName
+ IMAP DIGLETTS_CAVE, $3,$4,DiglettsCaveName
+ IMAP VICTORY_ROAD_3F, $0,$4,VictoryRoadName
+ IMAP UNUSED_MAP_CE, $7,$5,RocketHQName
+ IMAP SILPH_CO_8F, $A,$5,SilphCoName
+ IMAP POKEMON_MANSION_B1F, $2,$F,PokemonMansionName
+ IMAP SAFARI_ZONE_NORTH_REST_HOUSE, $8,$C,SafariZoneName
+ IMAP CERULEAN_CAVE_1F, $9,$1,CeruleanCaveName
+ IMAP NAME_RATERS_HOUSE, $E,$5,LavenderTownName
+ IMAP CERULEAN_BADGE_HOUSE, $A,$2,CeruleanCityName
+ IMAP ROCK_TUNNEL_B1F, $E,$3,RockTunnelName
+ IMAP SILPH_CO_ELEVATOR, $A,$5,SilphCoName
+ IMAP AGATHAS_ROOM, $0,$2,PokemonLeagueName
+ db $FF
diff --git a/data/maps/town_map_order.asm b/data/maps/town_map_order.asm
new file mode 100755
index 00000000..a082c376
--- /dev/null
+++ b/data/maps/town_map_order.asm
@@ -0,0 +1,49 @@
+TownMapOrder:
+ db PALLET_TOWN
+ db ROUTE_1
+ db VIRIDIAN_CITY
+ db ROUTE_2
+ db VIRIDIAN_FOREST
+ db DIGLETTS_CAVE
+ db PEWTER_CITY
+ db ROUTE_3
+ db MT_MOON_1F
+ db ROUTE_4
+ db CERULEAN_CITY
+ db ROUTE_24
+ db ROUTE_25
+ db BILLS_HOUSE
+ db ROUTE_5
+ db ROUTE_6
+ db VERMILION_CITY
+ db SS_ANNE_1F
+ db ROUTE_9
+ db ROCK_TUNNEL_POKECENTER
+ db ROUTE_10
+ db LAVENDER_TOWN
+ db POKEMON_TOWER_2F
+ db ROUTE_8
+ db ROUTE_7
+ db CELADON_CITY
+ db SAFFRON_CITY
+ db ROUTE_11
+ db ROUTE_12
+ db ROUTE_13
+ db ROUTE_14
+ db ROUTE_15
+ db ROUTE_16
+ db ROUTE_17
+ db ROUTE_18
+ db FUCHSIA_CITY
+ db SAFARI_ZONE_EAST
+ db ROUTE_19
+ db SEAFOAM_ISLANDS_B1F
+ db ROUTE_20
+ db CINNABAR_ISLAND
+ db ROUTE_21
+ db ROUTE_22
+ db ROUTE_23
+ db VICTORY_ROAD_3F
+ db INDIGO_PLATEAU
+ db POWER_PLANT
+TownMapOrderEnd: