summaryrefslogtreecommitdiff
path: root/data
diff options
context:
space:
mode:
Diffstat (limited to 'data')
-rw-r--r--data/maps/outdoor_sprites.asm1
-rw-r--r--data/maps/roofs.asm3
-rw-r--r--data/tileset_data.asm435
-rw-r--r--data/tilesets.asm52
-rw-r--r--data/tilesets/aerodactyl_word_room_collision.asm64
-rw-r--r--data/tilesets/aerodactyl_word_room_metatiles.bin17
-rw-r--r--data/tilesets/battle_tower_collision.asm64
-rw-r--r--data/tilesets/battle_tower_metatiles.binbin0 -> 1024 bytes
-rw-r--r--data/tilesets/battle_tower_outside_collision.asm128
-rw-r--r--data/tilesets/battle_tower_outside_metatiles.binbin0 -> 2048 bytes
-rw-r--r--data/tilesets/beta_word_room_collision.asm64
-rw-r--r--data/tilesets/beta_word_room_metatiles.bin17
-rw-r--r--data/tilesets/cave_collision.asm64
-rw-r--r--data/tilesets/cave_metatiles.bin6
-rw-r--r--data/tilesets/celadon_mansion_collision.asm64
-rw-r--r--data/tilesets/celadon_mansion_metatiles.bin5
-rw-r--r--data/tilesets/game_corner_collision.asm64
-rw-r--r--data/tilesets/game_corner_metatiles.binbin0 -> 1024 bytes
-rw-r--r--data/tilesets/gate_collision.asm64
-rw-r--r--data/tilesets/gate_metatiles.binbin0 -> 1024 bytes
-rw-r--r--data/tilesets/gym_1_collision.asm64
-rw-r--r--data/tilesets/gym_1_metatiles.binbin0 -> 1024 bytes
-rw-r--r--data/tilesets/ho_oh_word_room_collision.asm64
-rw-r--r--data/tilesets/ho_oh_word_room_metatiles.bin17
-rw-r--r--data/tilesets/house_1_collision.asm64
-rw-r--r--data/tilesets/house_1_metatiles.binbin0 -> 1024 bytes
-rw-r--r--data/tilesets/ice_path_collision.asm64
-rw-r--r--data/tilesets/ice_path_metatiles.bin3
-rw-r--r--data/tilesets/ilex_forest_collision.asm64
-rw-r--r--data/tilesets/ilex_forest_metatiles.bin1
-rw-r--r--data/tilesets/johto_1_collision.asm128
-rw-r--r--data/tilesets/johto_1_metatiles.binbin0 -> 2048 bytes
-rw-r--r--data/tilesets/johto_2_collision.asm128
-rw-r--r--data/tilesets/johto_2_metatiles.binbin0 -> 2048 bytes
-rw-r--r--data/tilesets/kabuto_word_room_collision.asm64
-rw-r--r--data/tilesets/kabuto_word_room_metatiles.bin17
-rw-r--r--data/tilesets/kanto_collision.asm128
-rw-r--r--data/tilesets/kanto_metatiles.binbin0 -> 2048 bytes
-rw-r--r--data/tilesets/kurts_house_collision.asm64
-rw-r--r--data/tilesets/kurts_house_metatiles.binbin0 -> 1024 bytes
-rw-r--r--data/tilesets/lab_collision.asm64
-rw-r--r--data/tilesets/lab_metatiles.binbin0 -> 1024 bytes
-rw-r--r--data/tilesets/lighthouse_collision.asm64
-rw-r--r--data/tilesets/lighthouse_metatiles.binbin0 -> 1024 bytes
-rw-r--r--data/tilesets/mart_collision.asm64
-rw-r--r--data/tilesets/mart_metatiles.bin3
-rw-r--r--data/tilesets/olivine_gym_collision.asm64
-rw-r--r--data/tilesets/olivine_gym_metatiles.bin15
-rw-r--r--data/tilesets/omanyte_word_room_collision.asm64
-rw-r--r--data/tilesets/omanyte_word_room_metatiles.bin17
-rw-r--r--data/tilesets/park_collision.asm64
-rw-r--r--data/tilesets/park_metatiles.binbin0 -> 1024 bytes
-rw-r--r--data/tilesets/players_house_2f_collision.asm64
-rw-r--r--data/tilesets/players_house_2f_metatiles.binbin0 -> 1024 bytes
-rw-r--r--data/tilesets/players_house_collision.asm64
-rw-r--r--data/tilesets/players_house_metatiles.binbin0 -> 1024 bytes
-rw-r--r--data/tilesets/pokecenter_collision.asm64
-rw-r--r--data/tilesets/pokecenter_metatiles.binbin0 -> 1024 bytes
-rw-r--r--data/tilesets/pokecom_center_collision.asm64
-rw-r--r--data/tilesets/pokecom_center_metatiles.bin2
-rw-r--r--data/tilesets/port_collision.asm64
-rw-r--r--data/tilesets/port_metatiles.bin65
-rw-r--r--data/tilesets/power_plant_collision.asm64
-rw-r--r--data/tilesets/power_plant_metatiles.bin8
-rw-r--r--data/tilesets/radio_tower_collision.asm64
-rw-r--r--data/tilesets/radio_tower_metatiles.binbin0 -> 1024 bytes
-rw-r--r--data/tilesets/ruins_of_alph_collision.asm64
-rw-r--r--data/tilesets/ruins_of_alph_metatiles.binbin0 -> 1024 bytes
-rw-r--r--data/tilesets/sprout_tower_collision.asm64
-rw-r--r--data/tilesets/sprout_tower_metatiles.bin2
-rw-r--r--data/tilesets/train_station_collision.asm64
-rw-r--r--data/tilesets/train_station_metatiles.binbin0 -> 1024 bytes
-rw-r--r--data/tilesets/underground_collision.asm64
-rw-r--r--data/tilesets/underground_metatiles.bin2
-rw-r--r--data/tilesets/unused_whirl_islands_collision.asm128
-rw-r--r--data/tilesets/unused_whirl_islands_metatiles.binbin0 -> 2048 bytes
-rw-r--r--data/tilesets/whirl_islands_collision.asm64
-rw-r--r--data/tilesets/whirl_islands_metatiles.bin6
78 files changed, 3381 insertions, 1 deletions
diff --git a/data/maps/outdoor_sprites.asm b/data/maps/outdoor_sprites.asm
index 8064a63e9..c7e30114a 100644
--- a/data/maps/outdoor_sprites.asm
+++ b/data/maps/outdoor_sprites.asm
@@ -2,6 +2,7 @@
; Maps with environment ROUTE or TOWN can only use these sprites.
OutdoorSprites: ; 144b8
+; entries correspond to map groups
dw OlivineGroupSprites
dw MahoganyGroupSprites
dw DungeonsGroupSprites
diff --git a/data/maps/roofs.asm b/data/maps/roofs.asm
index 8c79e6f82..2a1b8d3eb 100644
--- a/data/maps/roofs.asm
+++ b/data/maps/roofs.asm
@@ -1,5 +1,6 @@
MapGroupRoofs: ; 1c021i
-; entries correspond to Roofs (see below)
+; entries correspond to map groups
+; values are indexes for Roofs (see below)
db -1 ; group 0 (unused)
db 3 ; group 1 (Olivine)
db 2 ; group 2 (Mahogany)
diff --git a/data/tileset_data.asm b/data/tileset_data.asm
new file mode 100644
index 000000000..0f4dcbb34
--- /dev/null
+++ b/data/tileset_data.asm
@@ -0,0 +1,435 @@
+tilecoll: MACRO
+; used in data/tilesets/*_collision.asm
+ db COLL_\1, COLL_\2, COLL_\3, COLL_\4
+ENDM
+
+
+SECTION "Tileset Data 1", ROMX
+
+TilesetKantoGFX: ; 0x18000
+INCBIN "gfx/tilesets/kanto.2bpp.lz"
+; 0x18606
+
+TilesetKantoMeta: ; 0x18606
+INCBIN "data/tilesets/kanto_metatiles.bin"
+; 0x18e06
+
+TilesetKantoColl: ; 0x18e06
+INCLUDE "data/tilesets/kanto_collision.asm"
+; 0x19006
+
+Tileset0GFX: ; 0x19006
+TilesetJohto1GFX: ; 0x19006
+INCBIN "gfx/tilesets/johto_1.2bpp.lz"
+; 0x19c0e
+
+Tileset0Meta: ; 0x19c0e
+TilesetJohto1Meta: ; 0x19c0e
+INCBIN "data/tilesets/johto_1_metatiles.bin"
+; 0x1a40e
+
+Tileset0Coll: ; 0x1a40e
+TilesetJohto1Coll: ; 0x1a40e
+INCLUDE "data/tilesets/johto_1_collision.asm"
+; 0x1a60e
+
+TilesetIcePathGFX: ; 0x1a60e
+INCBIN "gfx/tilesets/ice_path.2bpp.lz"
+; 0x1af3e
+
+TilesetIcePathMeta: ; 0x1af3e
+INCBIN "data/tilesets/ice_path_metatiles.bin"
+; 0x1b33e
+
+TilesetIcePathColl: ; 0x1b33e
+INCLUDE "data/tilesets/ice_path_collision.asm"
+; 0x1b43e
+
+TilesetPlayersHouse2FGFX: ; 0x1b43e
+INCBIN "gfx/tilesets/players_house_2f.2bpp.lz"
+; 0x1b8fe
+
+TilesetPlayersHouse2FMeta: ; 0x1b8fe
+INCBIN "data/tilesets/players_house_2f_metatiles.bin"
+; 0x1bcfe
+
+TilesetPlayersHouse2FColl: ; 0x1bcfe
+INCLUDE "data/tilesets/players_house_2f_collision.asm"
+; 0x1bdfe
+
+
+SECTION "Tileset Data 2", ROMX
+
+TilesetPokecenterGFX: ; 0x1c30c
+INCBIN "gfx/tilesets/pokecenter.2bpp.lz"
+; 0x1c73c
+
+TilesetPokecenterMeta: ; 0x1c73c
+INCBIN "data/tilesets/pokecenter_metatiles.bin"
+; 0x1cb3c
+
+TilesetPokecenterColl: ; 0x1cb3c
+INCLUDE "data/tilesets/pokecenter_collision.asm"
+; 0x1cc3c
+
+TilesetPortGFX: ; 0x1cc3c
+INCBIN "gfx/tilesets/port.2bpp.lz"
+; 0x1d04c
+
+TilesetPortMeta: ; 0x1d04c
+INCBIN "data/tilesets/port_metatiles.bin"
+; 0x1d44c
+
+TilesetPortColl: ; 0x1d44c
+INCLUDE "data/tilesets/port_collision.asm"
+; 0x1d54c
+
+TilesetPlayersHouseGFX: ; 0x1d54c
+INCBIN "gfx/tilesets/players_house.2bpp.lz"
+; 0x1d92c
+
+TilesetPlayersHouseMeta: ; 0x1d92c
+INCBIN "data/tilesets/players_house_metatiles.bin"
+; 0x1dd2c
+
+TilesetPlayersHouseColl: ; 0x1dd2c
+INCLUDE "data/tilesets/players_house_collision.asm"
+; 0x1de2c
+
+TilesetCeladonMansionGFX: ; 0x1de2c
+INCBIN "gfx/tilesets/celadon_mansion.2bpp.lz"
+; 0x1e58c
+
+TilesetCeladonMansionMeta: ; 0x1e58c
+INCBIN "data/tilesets/celadon_mansion_metatiles.bin"
+; 0x1e98c
+
+TilesetCeladonMansionColl: ; 0x1e98c
+INCLUDE "data/tilesets/celadon_mansion_collision.asm"
+; 0x1ea8c
+
+TilesetCaveGFX: ; 0x1ea8c
+INCBIN "gfx/tilesets/cave.2bpp.lz"
+; 0x1ee1c
+
+TilesetCaveMeta: ; 0x1ee1c
+TilesetWhirlIslandsMeta: ; 0x1ee1c
+INCBIN "data/tilesets/cave_metatiles.bin"
+; 0x1f21c
+
+TilesetCaveColl: ; 0x1f21c
+TilesetWhirlIslandsColl: ; 0x1f21c
+INCLUDE "data/tilesets/cave_collision.asm"
+; 0x1f31c
+
+
+SECTION "Tileset Data 3", ROMX
+
+TilesetSproutTowerGFX: ; 0x20181
+INCBIN "gfx/tilesets/sprout_tower.2bpp.lz"
+; 0x206e1
+
+TilesetSproutTowerMeta: ; 0x206e1
+INCBIN "data/tilesets/sprout_tower_metatiles.bin"
+; 0x20ae1
+
+TilesetSproutTowerColl: ; 0x20ae1
+INCLUDE "data/tilesets/sprout_tower_collision.asm"
+; 0x20be1
+
+TilesetLabGFX: ; 0x20be1
+INCBIN "gfx/tilesets/lab.2bpp.lz"
+; 0x213e1
+
+TilesetLabMeta: ; 0x213e1
+INCBIN "data/tilesets/lab_metatiles.bin"
+; 0x217e1
+
+TilesetLabColl: ; 0x217e1
+INCLUDE "data/tilesets/lab_collision.asm"
+; 0x218e1
+
+TilesetMartGFX: ; 0x218e1
+INCBIN "gfx/tilesets/mart.2bpp.lz"
+; 0x22031
+
+TilesetMartMeta: ; 0x22031
+INCBIN "data/tilesets/mart_metatiles.bin"
+; 0x22431
+
+TilesetMartColl: ; 0x22431
+INCLUDE "data/tilesets/mart_collision.asm"
+; 0x22531
+
+TilesetGameCornerGFX: ; 0x22531
+INCBIN "gfx/tilesets/game_corner.2bpp.lz"
+; 0x22af1
+
+TilesetGameCornerMeta: ; 0x22af1
+INCBIN "data/tilesets/game_corner_metatiles.bin"
+; 0x22ef1
+
+TilesetGameCornerColl: ; 0x22ef1
+INCLUDE "data/tilesets/game_corner_collision.asm"
+; 0x22ff1
+
+TilesetTrainStationGFX: ; 0x22ff1
+INCBIN "gfx/tilesets/train_station.2bpp.lz"
+; 0x23391
+
+TilesetTrainStationMeta: ; 0x23391
+INCBIN "data/tilesets/train_station_metatiles.bin"
+; 0x23791
+
+TilesetTrainStationColl: ; 0x23791
+INCLUDE "data/tilesets/train_station_collision.asm"
+; 0x23891
+
+TilesetIlexForestMeta: ; 0x23891
+INCBIN "data/tilesets/ilex_forest_metatiles.bin"
+; 0x23b11
+
+
+SECTION "Tileset Data 4", ROMX
+
+TilesetGym1GFX: ; 0x30000
+INCBIN "gfx/tilesets/gym_1.2bpp.lz"
+; 0x304e0
+
+TilesetGym1Meta: ; 0x304e0
+INCBIN "data/tilesets/gym_1_metatiles.bin"
+; 0x308e0
+
+TilesetGym1Coll: ; 0x308e0
+INCLUDE "data/tilesets/gym_1_collision.asm"
+; 0x309e0
+
+TilesetParkGFX: ; 0x309e0
+INCBIN "gfx/tilesets/park.2bpp.lz"
+; 0x30e80
+
+TilesetParkMeta: ; 0x30e80
+INCBIN "data/tilesets/park_metatiles.bin"
+; 0x31280
+
+TilesetParkColl: ; 0x31280
+INCLUDE "data/tilesets/park_collision.asm"
+; 0x31380
+
+TilesetRadioTowerGFX: ; 0x31380
+INCBIN "gfx/tilesets/radio_tower.2bpp.lz"
+; 0x318e0
+
+TilesetRadioTowerMeta: ; 0x318e0
+INCBIN "data/tilesets/radio_tower_metatiles.bin"
+; 0x31ce0
+
+TilesetRadioTowerColl: ; 0x31ce0
+INCLUDE "data/tilesets/radio_tower_collision.asm"
+; 0x31de0
+
+TilesetUndergroundGFX: ; 0x31de0
+INCBIN "gfx/tilesets/underground.2bpp.lz"
+; 0x321b0
+
+TilesetUndergroundMeta: ; 0x321b0
+INCBIN "data/tilesets/underground_metatiles.bin"
+; 0x325b0
+
+TilesetUndergroundColl: ; 0x325b0
+INCLUDE "data/tilesets/underground_collision.asm"
+; 0x326b0
+
+TilesetWhirlIslandsGFX: ; 0x326b0
+INCBIN "gfx/tilesets/whirl_islands.2bpp.lz"
+; 0x329f0
+
+UnusedTilesetWhirlIslandsMeta: ; 0x329f0
+INCBIN "data/tilesets/unused_whirl_islands_metatiles.bin"
+; 0x331f0
+
+UnusedTilesetWhirlIslandsColl: ; 0x331f0
+INCLUDE "data/tilesets/unused_whirl_islands_collision.asm"
+; 0x333f0
+
+
+SECTION "Tileset Data 5", ROMX
+
+TilesetPokeComCenterGFX: ; 0xb4000
+INCBIN "gfx/tilesets/pokecom_center.2bpp.lz"
+; 0xb48a0
+
+TilesetPokeComCenterMeta: ; 0xb48a0
+INCBIN "data/tilesets/pokecom_center_metatiles.bin"
+; 0xb4ca0
+
+TilesetPokeComCenterColl: ; 0xb4ca0
+INCLUDE "data/tilesets/pokecom_center_collision.asm"
+; 0xb4da0
+
+TilesetBattleTowerGFX: ; 0xb4da0
+INCBIN "gfx/tilesets/battle_tower.2bpp.lz"
+; 0xb50e0
+
+TilesetBattleTowerMeta: ; 0xb50e0
+INCBIN "data/tilesets/battle_tower_metatiles.bin"
+; 0xb54e0
+
+TilesetBattleTowerColl: ; 0xb54e0
+INCLUDE "data/tilesets/battle_tower_collision.asm"
+; 0xb55e0
+
+TilesetGateGFX: ; 0xb55e0
+INCBIN "gfx/tilesets/gate.2bpp.lz"
+; 0xb59e0
+
+TilesetGateMeta: ; 0xb59e0
+INCBIN "data/tilesets/gate_metatiles.bin"
+; 0xb5de0
+
+TilesetGateColl: ; 0xb5de0
+INCLUDE "data/tilesets/gate_collision.asm"
+; 0xb5ee0
+
+TilesetJohto2GFX: ; 0xb5ee0
+TilesetBattleTowerOutsideGFX: ; 0xb5ee0
+INCBIN "gfx/tilesets/johto_2.2bpp.lz"
+; 0xb6ae8
+
+TilesetJohto2Meta: ; 0xb6ae8
+INCBIN "data/tilesets/johto_2_metatiles.bin"
+; 0xb72e8
+
+TilesetJohto2Coll: ; 0xb72e8
+INCLUDE "data/tilesets/johto_2_collision.asm"
+; 0xb74e8
+
+TilesetKurtsHouseGFX: ; 0xb74e8
+INCBIN "gfx/tilesets/kurts_house.2bpp.lz"
+; 0xb79a8
+
+TilesetKurtsHouseMeta: ; 0xb79a8
+INCBIN "data/tilesets/kurts_house_metatiles.bin"
+; 0xb7da8
+
+TilesetKurtsHouseColl: ; 0xb7da8
+INCLUDE "data/tilesets/kurts_house_collision.asm"
+; 0xb7ea8
+
+
+SECTION "Tileset Data 6", ROMX
+
+TilesetIlexForestGFX: ; 0xdc000
+INCBIN "gfx/tilesets/ilex_forest.2bpp.lz"
+; 0xdc3d0
+
+TilesetOlivineGymGFX: ; 0xdc3d0
+INCBIN "gfx/tilesets/olivine_gym.2bpp.lz"
+; 0xdcc50
+
+TilesetOlivineGymMeta: ; 0xdcc50
+INCBIN "data/tilesets/olivine_gym_metatiles.bin"
+; 0xdd050
+
+TilesetOlivineGymColl: ; 0xdd050
+INCLUDE "data/tilesets/olivine_gym_collision.asm"
+; 0xdd150
+
+TilesetHouse1GFX: ; 0xdd150
+INCBIN "gfx/tilesets/house_1.2bpp.lz"
+; 0xdd600
+
+TilesetHouse1Meta: ; 0xdd600
+INCBIN "data/tilesets/house_1_metatiles.bin"
+; 0xdda00
+
+TilesetHouse1Coll: ; 0xdda00
+INCLUDE "data/tilesets/house_1_collision.asm"
+; 0xddb00
+
+TilesetLighthouseGFX: ; 0xddb00
+INCBIN "gfx/tilesets/lighthouse.2bpp.lz"
+; 0xddf70
+
+TilesetLighthouseMeta: ; 0xddf70
+INCBIN "data/tilesets/lighthouse_metatiles.bin"
+; 0xde370
+
+TilesetLighthouseColl: ; 0xde370
+INCLUDE "data/tilesets/lighthouse_collision.asm"
+; 0xde470
+
+TilesetIlexForestColl: ; 0xde470
+INCLUDE "data/tilesets/ilex_forest_collision.asm"
+; 0xde570
+
+TilesetPowerPlantGFX: ; 0xde570
+INCBIN "gfx/tilesets/power_plant.2bpp.lz"
+; 0xde990
+
+TilesetPowerPlantMeta: ; 0xde990
+INCBIN "data/tilesets/power_plant_metatiles.bin"
+; 0xded90
+
+TilesetPowerPlantColl: ; 0xded90
+INCLUDE "data/tilesets/power_plant_collision.asm"
+; 0xdee90
+
+TilesetBattleTowerOutsideMeta: ; 0xdee90
+INCBIN "data/tilesets/battle_tower_outside_metatiles.bin"
+; 0xdf690
+
+TilesetBattleTowerOutsideColl: ; 0xdf690
+INCLUDE "data/tilesets/battle_tower_outside_collision.asm"
+; 0xdf890
+
+TilesetBetaWordRoomMeta: ; 0xdf890
+INCBIN "data/tilesets/beta_word_room_metatiles.bin"
+; 0xdfc90
+
+TilesetBetaWordRoomColl: ; 0xdfc90
+TilesetHoOhWordRoomColl: ; 0xdfc90
+TilesetKabutoWordRoomColl: ; 0xdfc90
+TilesetOmanyteWordRoomColl: ; 0xdfc90
+TilesetAerodactylWordRoomColl: ; 0xdfc90
+INCLUDE "data/tilesets/beta_word_room_collision.asm"
+; 0xdfd90
+
+
+SECTION "Tileset Data 7", ROMX
+
+TilesetRuinsOfAlphGFX: ; 0x1dc5a1
+TilesetBetaWordRoomGFX: ; 0x1dc5a1
+TilesetHoOhWordRoomGFX: ; 0x1dc5a1
+TilesetKabutoWordRoomGFX: ; 0x1dc5a1
+TilesetOmanyteWordRoomGFX: ; 0x1dc5a1
+TilesetAerodactylWordRoomGFX: ; 0x1dc5a1
+INCBIN "gfx/tilesets/ruins_of_alph.2bpp.lz"
+; 0x1dd1a9
+
+TilesetRuinsOfAlphMeta: ; 0x1dd1a9
+INCBIN "data/tilesets/ruins_of_alph_metatiles.bin"
+; 0x1dd5a9
+
+TilesetRuinsOfAlphColl: ; 0x1dd5a9
+INCLUDE "data/tilesets/ruins_of_alph_collision.asm"
+; 0x1dd6a9
+
+
+SECTION "Tileset Data 8", ROMX
+
+TilesetHoOhWordRoomMeta: ; 0x1e0000
+INCBIN "data/tilesets/ho_oh_word_room_metatiles.bin"
+; 0x1e0400
+
+TilesetKabutoWordRoomMeta: ; 0x1e0400
+INCBIN "data/tilesets/kabuto_word_room_metatiles.bin"
+; 0x1e0800
+
+TilesetOmanyteWordRoomMeta: ; 0x1e0800
+INCBIN "data/tilesets/omanyte_word_room_metatiles.bin"
+; 0x1e0c00
+
+TilesetAerodactylWordRoomMeta: ; 0x1e0c00
+INCBIN "data/tilesets/aerodactyl_word_room_metatiles.bin"
+; 0x1e1000
diff --git a/data/tilesets.asm b/data/tilesets.asm
new file mode 100644
index 000000000..196dcd6ae
--- /dev/null
+++ b/data/tilesets.asm
@@ -0,0 +1,52 @@
+tileset: MACRO
+ dba \1GFX, \1Meta, \1Coll
+ dw \1Anim
+ dw NULL
+ dw \1PalMap
+ENDM
+
+; Associated data:
+; - The *GFX, *Meta, and *Coll are defined in data/tileset_data.asm
+; - The *Anim are defined in engine/tileset_anims.asm
+; - The *PalMap are defined in gfx/tilesets/palette_maps.asm
+
+Tilesets:: ; 4d596
+; entries correspond to TILESET_* constants
+ tileset Tileset0
+ tileset TilesetJohto1
+ tileset TilesetJohto2
+ tileset TilesetKanto
+ tileset TilesetBattleTowerOutside
+ tileset TilesetHouse1
+ tileset TilesetPlayersHouse
+ tileset TilesetPokecenter
+ tileset TilesetGate
+ tileset TilesetPort
+ tileset TilesetLab
+ tileset TilesetPowerPlant
+ tileset TilesetMart
+ tileset TilesetCeladonMansion
+ tileset TilesetGameCorner
+ tileset TilesetGym1
+ tileset TilesetKurtsHouse
+ tileset TilesetTrainStation
+ tileset TilesetOlivineGym
+ tileset TilesetLighthouse
+ tileset TilesetPlayersHouse2F
+ tileset TilesetPokeComCenter
+ tileset TilesetBattleTower
+ tileset TilesetSproutTower
+ tileset TilesetCave
+ tileset TilesetPark
+ tileset TilesetRuinsOfAlph
+ tileset TilesetRadioTower
+ tileset TilesetUnderground
+ tileset TilesetIcePath
+ tileset TilesetWhirlIslands
+ tileset TilesetIlexForest
+ tileset TilesetBetaWordRoom
+ tileset TilesetHoOhWordRoom
+ tileset TilesetKabutoWordRoom
+ tileset TilesetOmanyteWordRoom
+ tileset TilesetAerodactylWordRoom
+; 4d7c1
diff --git a/data/tilesets/aerodactyl_word_room_collision.asm b/data/tilesets/aerodactyl_word_room_collision.asm
new file mode 100644
index 000000000..138f07143
--- /dev/null
+++ b/data/tilesets/aerodactyl_word_room_collision.asm
@@ -0,0 +1,64 @@
+ tilecoll WALL, WALL, WALL, WALL ; 01
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 02
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 03
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 04
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 05
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 06
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 07
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 08
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 09
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 0a
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 0b
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 0c
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 0d
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 0e
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 0f
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 10
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 11
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 12
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 13
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 14
+ tilecoll WALL, WALL, WALL, FLOOR ; 15
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 16
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 17
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 18
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 19
+ tilecoll WALL, WALL, FLOOR, WALL ; 1a
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 1b
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 1c
+ tilecoll FLOOR, FLOOR, FLOOR, PIT ; 1d
+ tilecoll WALL, WALL, WALL, WALL ; 1e
+ tilecoll WALL, WALL, WALL, WALL ; 1f
+ tilecoll WALL, WALL, WALL, WALL ; 20
+ tilecoll WALL, WALL, WALL, WALL ; 21
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 22
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 23
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 24
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 25
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 26
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 27
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 28
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 29
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 2a
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 2b
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 2c
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 2d
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 2e
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 2f
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 30
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 31
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 32
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 33
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 34
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 35
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 36
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 37
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 38
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 39
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 3a
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 3b
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 3c
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 3d
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 3e
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 3f
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 40
diff --git a/data/tilesets/aerodactyl_word_room_metatiles.bin b/data/tilesets/aerodactyl_word_room_metatiles.bin
new file mode 100644
index 000000000..0538baa98
--- /dev/null
+++ b/data/tilesets/aerodactyl_word_room_metatiles.bin
@@ -0,0 +1,17 @@
+ĘĒŽÖמŸČÉÄÅŲŁŌÕĢĶÜŻˆ‰˜™ÄŎŌ՞Ÿ€¦§‘¶·¦§¶·ˆ‰ĀƘ™ŅÓˆ‰„…˜™”•ĘĒÖ×€‘®Æ¬­¾æ¼½¤„ˆ‰“µ˜™Ø©¬­ø¹¼½Ŗ«ŗ»ÄÅĘĒŌÕÖ×€Ęǐ‘Ö× 
+ 
+ 
+  !"#ČɈ‰Ų٘™@ABC 89
+ 
+ 
+
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ TVXY 
+ C 6!@ #8
+ 6"7¬­¼½ČÉĘĒŲŁÖ×ÄÅ ”ŌÕ°±†‡ˆ‰–—˜™ \ No newline at end of file
diff --git a/data/tilesets/battle_tower_collision.asm b/data/tilesets/battle_tower_collision.asm
new file mode 100644
index 000000000..908fee326
--- /dev/null
+++ b/data/tilesets/battle_tower_collision.asm
@@ -0,0 +1,64 @@
+ tilecoll WALL, WALL, WALL, WALL ; 01
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 02
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 03
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 04
+ tilecoll WALL, DOOR, FLOOR, FLOOR ; 05
+ tilecoll WALL, FLOOR, FLOOR, FLOOR ; 06
+ tilecoll FLOOR, FLOOR, WALL, FLOOR ; 07
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 08
+ tilecoll FLOOR, FLOOR, FLOOR, WARP_CARPET_DOWN ; 09
+ tilecoll FLOOR, FLOOR, WARP_CARPET_DOWN, FLOOR ; 0a
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 0b
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 0c
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 0d
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 0e
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 0f
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 10
+ tilecoll DOOR, WALL, FLOOR, FLOOR ; 11
+ tilecoll FLOOR, FLOOR, FLOOR, WARP_CARPET_DOWN ; 12
+ tilecoll FLOOR, FLOOR, WARP_CARPET_DOWN, FLOOR ; 13
+ tilecoll WALL, WALL, WALL, WALL ; 14
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 15
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 16
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 17
+ tilecoll FLOOR, FLOOR, FLOOR, WALL ; 18
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 19
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 1a
+ tilecoll FLOOR, FLOOR, WALL, FLOOR ; 1b
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 1c
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 1d
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 1e
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 1f
+ tilecoll WALL, WALL, FLOOR, WALL ; 20
+ tilecoll WALL, WALL, WALL, FLOOR ; 21
+ tilecoll FLOOR, FLOOR, FLOOR, WALL ; 22
+ tilecoll FLOOR, FLOOR, WALL, FLOOR ; 23
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 24
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 25
+ tilecoll WALL, FLOOR, FLOOR, DOOR ; 26
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 27
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 28
+ tilecoll WALL, PC, FLOOR, FLOOR ; 29
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 2a
+ tilecoll WALL, WALL, WALL, FLOOR ; 2b
+ tilecoll WALL, WALL, FLOOR, WALL ; 2c
+ tilecoll FLOOR, FLOOR, FLOOR, DOOR ; 2d
+ tilecoll FLOOR, FLOOR, DOOR, FLOOR ; 2e
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 2f
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 30
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 31
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 32
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 33
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 34
+ tilecoll FLOOR, FLOOR, WARP_CARPET_DOWN, WARP_CARPET_DOWN ; 35
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 36
+ tilecoll WALL, WALL, FLOOR, WALL ; 37
+ tilecoll WALL, WALL, WALL, FLOOR ; 38
+ tilecoll WALL, WALL, FLOOR, WALL ; 39
+ tilecoll WALL, WALL, WALL, WALL ; 3a
+ tilecoll WALL, WALL, WALL, FLOOR ; 3b
+ tilecoll WALL, WALL, WALL, WALL ; 3c
+ tilecoll WALL, WALL, FLOOR, WALL ; 3d
+ tilecoll WALL, WALL, FLOOR, WALL ; 3e
+ tilecoll WALL, WALL, WALL, FLOOR ; 3f
+ tilecoll WALL, WALL, FLOOR, WALL ; 40
diff --git a/data/tilesets/battle_tower_metatiles.bin b/data/tilesets/battle_tower_metatiles.bin
new file mode 100644
index 000000000..c64ef0a12
--- /dev/null
+++ b/data/tilesets/battle_tower_metatiles.bin
Binary files differ
diff --git a/data/tilesets/battle_tower_outside_collision.asm b/data/tilesets/battle_tower_outside_collision.asm
new file mode 100644
index 000000000..3aaa60113
--- /dev/null
+++ b/data/tilesets/battle_tower_outside_collision.asm
@@ -0,0 +1,128 @@
+ tilecoll 01, 01, 01, 01 ; 01
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 02
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 03
+ tilecoll TALL_GRASS, TALL_GRASS, TALL_GRASS, TALL_GRASS ; 04
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 05
+ tilecoll WALL, WALL, WALL, WALL ; 06
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 07
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 08
+ tilecoll WALL, WALL, WALL, WALL ; 09
+ tilecoll WALL, WALL, WALL, WALL ; 0a
+ tilecoll WALL, WALL, WALL, WALL ; 0b
+ tilecoll WALL, WALL, WALL, WALL ; 0c
+ tilecoll FLOOR, FLOOR, WARP_CARPET_DOWN, WARP_CARPET_DOWN ; 0d
+ tilecoll FLOOR, WALL, WALL, WALL ; 0e
+ tilecoll WALL, WALL, WALL, WALL ; 0f
+ tilecoll WALL, WALL, WALL, WALL ; 10
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 11
+ tilecoll WALL, WALL, FLOOR, WALL ; 12
+ tilecoll WALL, WALL, DOOR, DOOR ; 13
+ tilecoll WALL, WALL, WALL, FLOOR ; 14
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 15
+ tilecoll WALL, WALL, WALL, WALL ; 16
+ tilecoll WALL, WALL, DOOR, WALL ; 17
+ tilecoll WALL, WALL, WALL, WALL ; 18
+ tilecoll WALL, WALL, WALL, WALL ; 19
+ tilecoll WALL, WALL, WALL, WALL ; 1a
+ tilecoll WALL, WALL, WALL, WALL ; 1b
+ tilecoll WALL, WALL, WALL, WALL ; 1c
+ tilecoll HEADBUTT_TREE, HEADBUTT_TREE, FLOOR, FLOOR ; 1d
+ tilecoll FLOOR, FLOOR, HEADBUTT_TREE, HEADBUTT_TREE ; 1e
+ tilecoll WALL, WALL, WALL, WALL ; 1f
+ tilecoll HEADBUTT_TREE, HEADBUTT_TREE, HEADBUTT_TREE, HEADBUTT_TREE ; 20
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 21
+ tilecoll WALL, FLOOR, FLOOR, FLOOR ; 22
+ tilecoll WALL, WALL, WALL, WALL ; 23
+ tilecoll WALL, WALL, WALL, WALL ; 24
+ tilecoll WALL, WALL, WALL, WALL ; 25
+ tilecoll WALL, WALL, WALL, WALL ; 26
+ tilecoll WALL, WALL, WALL, WALL ; 27
+ tilecoll WALL, WALL, WALL, WALL ; 28
+ tilecoll WALL, WALL, WALL, WALL ; 29
+ tilecoll WALL, WALL, WALL, WALL ; 2a
+ tilecoll WALL, WALL, WALL, WALL ; 2b
+ tilecoll WALL, WALL, WALL, WALL ; 2c
+ tilecoll WALL, WALL, WALL, WALL ; 2d
+ tilecoll WALL, FLOOR, WALL, WALL ; 2e
+ tilecoll WALL, WALL, WALL, WALL ; 2f
+ tilecoll WALL, FLOOR, WALL, WALL ; 30
+ tilecoll WALL, WALL, WALL, WALL ; 31
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 32
+ tilecoll WALL, HEADBUTT_TREE, WALL, HEADBUTT_TREE ; 33
+ tilecoll WALL, WALL, WALL, WALL ; 34
+ tilecoll WHIRLPOOL, FLOOR, WHIRLPOOL, FLOOR ; 35
+ tilecoll WHIRLPOOL, FLOOR, FLOOR, FLOOR ; 36
+ tilecoll 5B, FLOOR, FLOOR, FLOOR ; 37
+ tilecoll 5B, 01, FLOOR, FLOOR ; 38
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 39
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 3a
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 3b
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 3c
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 3d
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 3e
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 3f
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 40
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 41
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 42
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 43
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 44
+ tilecoll FLOOR, FLOOR, BRAKE_45, FLOOR ; 45
+ tilecoll FLOOR, FLOOR, BRAKE_45, FLOOR ; 46
+ tilecoll FLOOR, FLOOR, BRAKE_45, FLOOR ; 47
+ tilecoll FLOOR, FLOOR, BRAKE_45, FLOOR ; 48
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 49
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 4a
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 4b
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 4c
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 4d
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 4e
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 4f
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 50
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 51
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 52
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 53
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 54
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 55
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 56
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 57
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 58
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 59
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 5a
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 5b
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 5c
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 5d
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 5e
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 5f
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 60
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 61
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 62
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 63
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 64
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 65
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 66
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 67
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 68
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 69
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 6a
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 6b
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 6c
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 6d
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 6e
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 6f
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 70
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 71
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 72
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 73
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 74
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 75
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 76
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 77
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 78
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 79
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 7a
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 7b
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 7c
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 7d
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 7e
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 7f
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 80
diff --git a/data/tilesets/battle_tower_outside_metatiles.bin b/data/tilesets/battle_tower_outside_metatiles.bin
new file mode 100644
index 000000000..c4390bcba
--- /dev/null
+++ b/data/tilesets/battle_tower_outside_metatiles.bin
Binary files differ
diff --git a/data/tilesets/beta_word_room_collision.asm b/data/tilesets/beta_word_room_collision.asm
new file mode 100644
index 000000000..138f07143
--- /dev/null
+++ b/data/tilesets/beta_word_room_collision.asm
@@ -0,0 +1,64 @@
+ tilecoll WALL, WALL, WALL, WALL ; 01
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 02
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 03
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 04
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 05
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 06
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 07
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 08
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 09
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 0a
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 0b
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 0c
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 0d
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 0e
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 0f
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 10
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 11
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 12
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 13
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 14
+ tilecoll WALL, WALL, WALL, FLOOR ; 15
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 16
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 17
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 18
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 19
+ tilecoll WALL, WALL, FLOOR, WALL ; 1a
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 1b
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 1c
+ tilecoll FLOOR, FLOOR, FLOOR, PIT ; 1d
+ tilecoll WALL, WALL, WALL, WALL ; 1e
+ tilecoll WALL, WALL, WALL, WALL ; 1f
+ tilecoll WALL, WALL, WALL, WALL ; 20
+ tilecoll WALL, WALL, WALL, WALL ; 21
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 22
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 23
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 24
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 25
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 26
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 27
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 28
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 29
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 2a
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 2b
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 2c
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 2d
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 2e
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 2f
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 30
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 31
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 32
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 33
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 34
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 35
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 36
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 37
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 38
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 39
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 3a
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 3b
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 3c
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 3d
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 3e
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 3f
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 40
diff --git a/data/tilesets/beta_word_room_metatiles.bin b/data/tilesets/beta_word_room_metatiles.bin
new file mode 100644
index 000000000..47c531b2e
--- /dev/null
+++ b/data/tilesets/beta_word_room_metatiles.bin
@@ -0,0 +1,17 @@
+ĀƀŅӐ‘®Æ€¾æ‘¬­Œ¼½œŽ®ÆžŸ¾æ€„…‘”•ŒŽœžŸŽ„…žŸ”•ĘǦ§Ö×¶· ”ĄĮ°±ŠŃŽžŸ ”¦§°±¶·®Æ¦§¾æ¶·‚ƒ€’“‘¤„Ž“µžŸ ”Ž°±žŸĘĒ€Öא‘¢£ĄĮ²³ŠŃ†‡€–—‘ 
+ 
+ 
+  !"#®Æ¾æ@ABC 89
+ 
+ 
+
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ TVXY 
+ C 6!@ #8
+ 6"7¬­¦§¼½¶·¤„Š‹“µš›¤„¦§“µ¶·Ø©¦§ø¹¶· ”ˆ‰°±˜™¢£¦§²³¶·¤„“µššššššššššššššššĄĮŠŃššššššššššššššššˆ‰¤„˜™“µŖ«ĄĮŗ»ŠŃšššššššššššššššš ”€°±‘Ŗ«ˆ‰ŗ»˜™Ŗ«€ŗ»‘Ž¬­žŸ¼½€ÄՑŌÕ¬­€¼½‘„…„…”•”•¬­ĄĮ¼½ŠŃ„…Œ”•œŽ ”žŸ°±€Ŗ«‘ŗ»€‘ĄĮ¢£ŠŃ²³®Æ¬­¾æ¼½ĄĮÄÅŠŃŌÕ¦§ĄĮ¶·ŠŃ¢£ˆ‰²³˜™‚ƒŽ’“žŸ \ No newline at end of file
diff --git a/data/tilesets/cave_collision.asm b/data/tilesets/cave_collision.asm
new file mode 100644
index 000000000..3d5e0ae05
--- /dev/null
+++ b/data/tilesets/cave_collision.asm
@@ -0,0 +1,64 @@
+ tilecoll WALL, WALL, WALL, WALL ; 01
+ tilecoll WALL, WALL, WALL, WALL ; 02
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 03
+ tilecoll TALL_GRASS, TALL_GRASS, TALL_GRASS, TALL_GRASS ; 04
+ tilecoll WALL, UP_WALL, WALL, FLOOR ; 05
+ tilecoll UP_WALL, UP_WALL, FLOOR, FLOOR ; 06
+ tilecoll UP_WALL, WALL, FLOOR, WALL ; 07
+ tilecoll FLOOR, FLOOR, FLOOR, LADDER ; 08
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 09
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 0a
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 0b
+ tilecoll FLOOR, FLOOR, FLOOR, LADDER ; 0c
+ tilecoll WALL, FLOOR, WALL, WALL ; 0d
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 0e
+ tilecoll FLOOR, WALL, WALL, WALL ; 0f
+ tilecoll WATER, WATER, WATER, WATER ; 10
+ tilecoll FLOOR, FLOOR, FLOOR, WALL ; 11
+ tilecoll FLOOR, FLOOR, WALL, FLOOR ; 12
+ tilecoll FLOOR, FLOOR, WALL, FLOOR ; 13
+ tilecoll FLOOR, FLOOR, WALL, CAVE ; 14
+ tilecoll UP_WALL, UP_WALL, FLOOR, LADDER ; 15
+ tilecoll UP_WALL, UP_WALL, FLOOR, LADDER ; 16
+ tilecoll WALL, FLOOR, WALL, WARP_CARPET_DOWN ; 17
+ tilecoll FLOOR, WALL, FLOOR, FLOOR ; 18
+ tilecoll WALL, WALL, WALL, FLOOR ; 19
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 1a
+ tilecoll WALL, WALL, FLOOR, WALL ; 1b
+ tilecoll FLOOR, FLOOR, FLOOR, LADDER ; 1c
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 1d
+ tilecoll WALL, WALL, WALL, WALL ; 1e
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 1f
+ tilecoll FLOOR, FLOOR, FLOOR, LADDER ; 20
+ tilecoll WALL, FLOOR, WALL, WALL ; 21
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 22
+ tilecoll FLOOR, WALL, WALL, WALL ; 23
+ tilecoll UP_WALL, WALL, FLOOR, FLOOR ; 24
+ tilecoll FLOOR, FLOOR, FLOOR, WARP_CARPET_DOWN ; 25
+ tilecoll WATER, WATER, WATER, WATER ; 26
+ tilecoll WATER, WATER, WATER, WATER ; 27
+ tilecoll WATER, WATER, WATER, WATER ; 28
+ tilecoll WALL, FLOOR, FLOOR, FLOOR ; 29
+ tilecoll FLOOR, FLOOR, WALL, FLOOR ; 2a
+ tilecoll FLOOR, WALL, FLOOR, FLOOR ; 2b
+ tilecoll FLOOR, FLOOR, FLOOR, WALL ; 2c
+ tilecoll WATERFALL, WATERFALL, WATERFALL, WATERFALL ; 2d
+ tilecoll WALL, WALL, WALL, WALL ; 2e
+ tilecoll WALL, WALL, WALL, WALL ; 2f
+ tilecoll WALL, WALL, WALL, WALL ; 30
+ tilecoll FLOOR, FLOOR, FLOOR, WALL ; 31
+ tilecoll WALL, WALL, WALL, WALL ; 32
+ tilecoll WATER, WATER, WATER, WATER ; 33
+ tilecoll WATER, WATER, WATER, WATER ; 34
+ tilecoll WALL, WALL, WALL, WALL ; 35
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 36
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 37
+ tilecoll WALL, WALL, WALL, CAVE ; 38
+ tilecoll WALL, HOP_DOWN_LEFT, WALL, WALL ; 39
+ tilecoll HOP_DOWN, HOP_DOWN, WALL, WALL ; 3a
+ tilecoll HOP_DOWN_RIGHT, WALL, WALL, WALL ; 3b
+ tilecoll WALL, HOP_LEFT, WALL, HOP_LEFT ; 3c
+ tilecoll HOP_RIGHT, WALL, HOP_RIGHT, WALL ; 3d
+ tilecoll WATER, WATER, WATER, WATER ; 3e
+ tilecoll WATER, WATER, WATER, WATER ; 3f
+ tilecoll FLOOR, FLOOR, PIT, FLOOR ; 40
diff --git a/data/tilesets/cave_metatiles.bin b/data/tilesets/cave_metatiles.bin
new file mode 100644
index 000000000..a41b5b080
--- /dev/null
+++ b/data/tilesets/cave_metatiles.bin
@@ -0,0 +1,6 @@
+$$$$$$$$*+:;"#23%&&%&&&&&&&&&&&&&'&&&'
+&
+&  &&67&&67&&&&$$$$*+:;$$$$"#23     ()89       !01     $$&&&&    @@@@@@@@@@@@@@@@%&&&%&&&%&&&%&&&&&&&&&&&&&&&&&&&&&&'&&&'&&&'&&&'67&&67&&$$%&&'%' &&&&&&&& 
+&
+67'67&'&&&&&&&&&&&&%&&&&&&&&&&'&&& 
+&&& \ No newline at end of file
diff --git a/data/tilesets/celadon_mansion_collision.asm b/data/tilesets/celadon_mansion_collision.asm
new file mode 100644
index 000000000..5db409be7
--- /dev/null
+++ b/data/tilesets/celadon_mansion_collision.asm
@@ -0,0 +1,64 @@
+ tilecoll WALL, WALL, WALL, WALL ; 01
+ tilecoll WALL, WALL, WALL, WALL ; 02
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 03
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 04
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 05
+ tilecoll STAIRCASE, WALL, FLOOR, FLOOR ; 06
+ tilecoll WALL, STAIRCASE, FLOOR, FLOOR ; 07
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 08
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 09
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 0a
+ tilecoll WALL, WALL, FLOOR, WALL ; 0b
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 0c
+ tilecoll FLOOR, WALL, FLOOR, FLOOR ; 0d
+ tilecoll WALL, WALL, FLOOR, WALL ; 0e
+ tilecoll FLOOR, FLOOR, WARP_CARPET_DOWN, WARP_CARPET_DOWN ; 0f
+ tilecoll WALL, WALL, BOOKSHELF, INCENSE_BURNER ; 10
+ tilecoll WALL, WALL, WALL, WALL ; 11
+ tilecoll WALL, WALL, BOOKSHELF, WALL ; 12
+ tilecoll WALL, WALL, WALL, WALL ; 13
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 14
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 15
+ tilecoll STAIRCASE, STAIRCASE, FLOOR, FLOOR ; 16
+ tilecoll STAIRCASE, STAIRCASE, FLOOR, FLOOR ; 17
+ tilecoll WALL, DOOR, FLOOR, FLOOR ; 18
+ tilecoll WALL, WALL, BOOKSHELF, WALL ; 19
+ tilecoll WALL, WALL, WALL, WALL ; 1a
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 1b
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 1c
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 1d
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 1e
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 1f
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 20
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 21
+ tilecoll RIGHT_WALL, LEFT_WALL, WALL, FLOOR ; 22
+ tilecoll WALL, WALL, FLOOR, WALL ; 23
+ tilecoll WALL, WALL, STAIRCASE, LEFT_WALL ; 24
+ tilecoll WALL, WALL, WALL, STAIRCASE ; 25
+ tilecoll WALL, WALL, LEFT_WALL, FLOOR ; 26
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 27
+ tilecoll WALL, WALL, DOOR, WALL ; 28
+ tilecoll FLOOR, FLOOR, FLOOR, WALL ; 29
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 2a
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 2b
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 2c
+ tilecoll RIGHT_WALL, LEFT_WALL, RIGHT_WALL, LEFT_WALL ; 2d
+ tilecoll FLOOR, FLOOR, WARP_CARPET_DOWN, WARP_CARPET_DOWN ; 2e
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 2f
+ tilecoll WALL, WALL, WALL, FLOOR ; 30
+ tilecoll WALL, WALL, FLOOR, WALL ; 31
+ tilecoll WALL, WALL, FLOOR, WALL ; 32
+ tilecoll WALL, WALL, WALL, WALL ; 33
+ tilecoll WALL, WALL, WALL, FLOOR ; 34
+ tilecoll WALL, WALL, WALL, WALL ; 35
+ tilecoll FLOOR, WALL, WALL, WALL ; 36
+ tilecoll WALL, WALL, FLOOR, WALL ; 37
+ tilecoll WALL, FLOOR, WALL, WALL ; 38
+ tilecoll WALL, WALL, FLOOR, WALL ; 39
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 3a
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 3b
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 3c
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 3d
+ tilecoll WALL, FLOOR, WALL, WALL ; 3e
+ tilecoll FLOOR, WALL, WALL, WALL ; 3f
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 40
diff --git a/data/tilesets/celadon_mansion_metatiles.bin b/data/tilesets/celadon_mansion_metatiles.bin
new file mode 100644
index 000000000..d4506328f
--- /dev/null
+++ b/data/tilesets/celadon_mansion_metatiles.bin
@@ -0,0 +1,5 @@
+
+ 
+  EU((((6868$%"#4523236778FGGHFGGHVWWX68"#./23^_*+,-:;<=JKLMZ[&'
+  
+  !0168"#*+23:; ,-<=LMJKZ[*+,-:;<=JKLMZ[ĆĀĀĀĆĀĀƒĄĄĄ“ĀĀĀĀĀĀĀĀĄĄĄĄĀ‡‡‡Ā‡‡‡ƒĄĄĄ“ĀĀĆĀĀĀĆĀĄĄĮĘĀ€€‚‘’ĀĀ”¢Ā±²‚‚…†’’•–£¤„¦³“µ¶‚‚‚‘’’’”¢£¤±²³“…€€€•„ Āµ°ĀĀĆĀFGĆĀFGĆĀ\ĆĀ\GGGHGGGH !]01]ĆĀĀĀĆĀĀĀĆĀ67ĆĀFGĀĀĀĀĀĀĀĀ7778GGGHĀĀĀÄĀĀĀÄĄĄĄ„”ĀĀĀÄĀĀĀÄĀĀĀÄĀĀĀÄĀĀĆĀĀĀĆĀĀĀĆĀĀĀĆĀÅÅÅÅÅÅÅÅ((((ÅÅÅÅÅÅÅÅŎÅŞŸÅŠŃÓ)œITTŅח—œ×‡‡9ÓÕÖTTY——ĒŌ‡‡Ē9ӊ‹TTš›——ß«‡‡Ż»ŖŖŗ&'ŗˆ‰‰ˆø¹¼½Š‹Ó)š›TT®ß——¾Ż‡‡§§&··'ˆ‰‰ˆø¹Ø©‡‡ßˇ‡ÜĻĄĄŪؐŚŁČÉĢĶÆÆŒææĪÜÅÅŽŚĖ߇‡Ļ܇‡ŲŪĄĄŁŚČɬ­ÆÆ˜ŹææŻÜÅřŚŅׇ‡œ×‡‡Ņׇ‡œ×‡‡‡‡ĒŌ‡‡Ē‡‡ĒŌ‡‡ĒĀ‡‡‡Ā‡‡‡Ā‡‡‡Ā‡‡‡‡‡‡Ā‡‡‡Ā‡‡‡Ā‡‡‡ĀŅׇ‡œ×‡‡Ņ׃Ąœ×“‡‡ĒŌ‡‡ĒĄ„ĒԐ”Ē‡‡‡Ā‡‡‡ĀĄĄĄ„” \ No newline at end of file
diff --git a/data/tilesets/game_corner_collision.asm b/data/tilesets/game_corner_collision.asm
new file mode 100644
index 000000000..65b99cf54
--- /dev/null
+++ b/data/tilesets/game_corner_collision.asm
@@ -0,0 +1,64 @@
+ tilecoll WALL, WALL, WALL, WALL ; 01
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 02
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 03
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 04
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 05
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 06
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 07
+ tilecoll COUNTER, COUNTER, COUNTER, COUNTER ; 08
+ tilecoll FLOOR, FLOOR, COUNTER, COUNTER ; 09
+ tilecoll FLOOR, FLOOR, COUNTER, COUNTER ; 0a
+ tilecoll FLOOR, FLOOR, COUNTER, COUNTER ; 0b
+ tilecoll WALL, WALL, WALL, WALL ; 0c
+ tilecoll FLOOR, FLOOR, WARP_CARPET_DOWN, WARP_CARPET_DOWN ; 0d
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 0e
+ tilecoll WALL, WALL, WALL, WALL ; 0f
+ tilecoll WALL, WALL, WALL, WALL ; 10
+ tilecoll WALL, WALL, COUNTER, COUNTER ; 11
+ tilecoll WALL, WALL, COUNTER, COUNTER ; 12
+ tilecoll WALL, WALL, WALL, WALL ; 13
+ tilecoll WALL, WALL, COUNTER, FLOOR ; 14
+ tilecoll COUNTER, FLOOR, COUNTER, COUNTER ; 15
+ tilecoll WALL, WALL, WALL, WALL ; 16
+ tilecoll COUNTER, FLOOR, COUNTER, FLOOR ; 17
+ tilecoll COUNTER, FLOOR, COUNTER, COUNTER ; 18
+ tilecoll FLOOR, FLOOR, COUNTER, COUNTER ; 19
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 1a
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 1b
+ tilecoll FLOOR, COUNTER, COUNTER, COUNTER ; 1c
+ tilecoll WALL, WALL, FLOOR, COUNTER ; 1d
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 1e
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 1f
+ tilecoll FLOOR, FLOOR, FLOOR, WALL ; 20
+ tilecoll WALL, WALL, WALL, WALL ; 21
+ tilecoll WALL, WALL, WALL, WALL ; 22
+ tilecoll WALL, WALL, WALL, WALL ; 23
+ tilecoll WALL, WALL, WALL, WALL ; 24
+ tilecoll WALL, WALL, WALL, WALL ; 25
+ tilecoll WALL, WALL, WALL, WALL ; 26
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 27
+ tilecoll FLOOR, FLOOR, COUNTER, COUNTER ; 28
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 29
+ tilecoll WALL, WALL, FLOOR, WALL ; 2a
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 2b
+ tilecoll WALL, WALL, FLOOR, WALL ; 2c
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 2d
+ tilecoll WALL, WALL, WALL, WALL ; 2e
+ tilecoll WALL, WALL, WALL, WALL ; 2f
+ tilecoll WALL, WALL, FLOOR, WALL ; 30
+ tilecoll WALL, WALL, WALL, FLOOR ; 31
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 32
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 33
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 34
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 35
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 36
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 37
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 38
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 39
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 3a
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 3b
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 3c
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 3d
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 3e
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 3f
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 40
diff --git a/data/tilesets/game_corner_metatiles.bin b/data/tilesets/game_corner_metatiles.bin
new file mode 100644
index 000000000..24beba2d3
--- /dev/null
+++ b/data/tilesets/game_corner_metatiles.bin
Binary files differ
diff --git a/data/tilesets/gate_collision.asm b/data/tilesets/gate_collision.asm
new file mode 100644
index 000000000..54cd95d34
--- /dev/null
+++ b/data/tilesets/gate_collision.asm
@@ -0,0 +1,64 @@
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 01
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 02
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 03
+ tilecoll WALL, WALL, WALL, WALL ; 04
+ tilecoll DOOR, DOOR, FLOOR, FLOOR ; 05
+ tilecoll WALL, WALL, WALL, WALL ; 06
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 07
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 08
+ tilecoll COUNTER, COUNTER, COUNTER, FLOOR ; 09
+ tilecoll COUNTER, COUNTER, FLOOR, COUNTER ; 0a
+ tilecoll FLOOR, FLOOR, WARP_CARPET_DOWN, WARP_CARPET_DOWN ; 0b
+ tilecoll FLOOR, FLOOR, COUNTER, COUNTER ; 0c
+ tilecoll COUNTER, FLOOR, COUNTER, COUNTER ; 0d
+ tilecoll FLOOR, COUNTER, COUNTER, COUNTER ; 0e
+ tilecoll WALL, WALL, COUNTER, FLOOR ; 0f
+ tilecoll WALL, WALL, FLOOR, COUNTER ; 10
+ tilecoll COUNTER, COUNTER, FLOOR, FLOOR ; 11
+ tilecoll WALL, STAIRCASE, FLOOR, FLOOR ; 12
+ tilecoll WALL, STAIRCASE, FLOOR, FLOOR ; 13
+ tilecoll WALL, WALL, FLOOR, COUNTER ; 14
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 15
+ tilecoll WALL, WALL, WALL, WALL ; 16
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 17
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 18
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 19
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 1a
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 1b
+ tilecoll FLOOR, FLOOR, WARP_CARPET_DOWN, WARP_CARPET_DOWN ; 1c
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 1d
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 1e
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 1f
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 20
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 21
+ tilecoll COUNTER, COUNTER, FLOOR, FLOOR ; 22
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 23
+ tilecoll WARP_CARPET_LEFT, FLOOR, WARP_CARPET_LEFT, FLOOR ; 24
+ tilecoll FLOOR, WARP_CARPET_RIGHT, FLOOR, WARP_CARPET_RIGHT ; 25
+ tilecoll FLOOR, FLOOR, FLOOR, WARP_CARPET_DOWN ; 26
+ tilecoll FLOOR, FLOOR, WARP_CARPET_DOWN, FLOOR ; 27
+ tilecoll WALL, WALL, WALL, WALL ; 28
+ tilecoll FLOOR, COUNTER, FLOOR, COUNTER ; 29
+ tilecoll WALL, DOOR, FLOOR, FLOOR ; 2a
+ tilecoll DOOR, WALL, FLOOR, FLOOR ; 2b
+ tilecoll FLOOR, COUNTER, FLOOR, COUNTER ; 2c
+ tilecoll WALL, WALL, FLOOR, PC ; 2d
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 2e
+ tilecoll DOOR, WALL, FLOOR, FLOOR ; 2f
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 30
+ tilecoll FLOOR, FLOOR, FLOOR, COUNTER ; 31
+ tilecoll FLOOR, LADDER, FLOOR, FLOOR ; 32
+ tilecoll COUNTER, FLOOR, COUNTER, FLOOR ; 33
+ tilecoll COUNTER, FLOOR, FLOOR, WALL ; 34
+ tilecoll COUNTER, FLOOR, COUNTER, FLOOR ; 35
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 36
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 37
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 38
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 39
+ tilecoll WALL, WALL, WALL, WALL ; 3a
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 3b
+ tilecoll FLOOR, FLOOR, LADDER, FLOOR ; 3c
+ tilecoll FLOOR, FLOOR, COUNTER, FLOOR ; 3d
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 3e
+ tilecoll COUNTER, COUNTER, FLOOR, COUNTER ; 3f
+ tilecoll FLOOR, COUNTER, COUNTER, COUNTER ; 40
diff --git a/data/tilesets/gate_metatiles.bin b/data/tilesets/gate_metatiles.bin
new file mode 100644
index 000000000..74076ff58
--- /dev/null
+++ b/data/tilesets/gate_metatiles.bin
Binary files differ
diff --git a/data/tilesets/gym_1_collision.asm b/data/tilesets/gym_1_collision.asm
new file mode 100644
index 000000000..cc0b705f3
--- /dev/null
+++ b/data/tilesets/gym_1_collision.asm
@@ -0,0 +1,64 @@
+ tilecoll WALL, WALL, WALL, WALL ; 01
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 02
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 03
+ tilecoll FLOOR, FLOOR, WARP_CARPET_DOWN, WARP_CARPET_DOWN ; 04
+ tilecoll WALL, WALL, WALL, FLOOR ; 05
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 06
+ tilecoll WALL, WALL, FLOOR, WALL ; 07
+ tilecoll WALL, WALL, WALL, WALL ; 08
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 09
+ tilecoll FLOOR, FLOOR, PIT, FLOOR ; 0a
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 0b
+ tilecoll FLOOR, FLOOR, WALL, FLOOR ; 0c
+ tilecoll WALL, FLOOR, WALL, WALL ; 0d
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 0e
+ tilecoll FLOOR, WALL, WALL, WALL ; 0f
+ tilecoll WALL, FLOOR, FLOOR, FLOOR ; 10
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 11
+ tilecoll FLOOR, WALL, FLOOR, FLOOR ; 12
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 13
+ tilecoll FLOOR, FLOOR, FLOOR, WALL ; 14
+ tilecoll WALL, WALL, WALL, WALL ; 15
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 16
+ tilecoll LADDER, LADDER, FLOOR, FLOOR ; 17
+ tilecoll WALL, WALL, WALL, WALL ; 18
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 19
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 1a
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 1b
+ tilecoll WALL, FLOOR, WALL, WALL ; 1c
+ tilecoll FLOOR, FLOOR, WARP_CARPET_DOWN, WARP_CARPET_DOWN ; 1d
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 1e
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 1f
+ tilecoll WALL, WALL, WALL, WALL ; 20
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 21
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 22
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 23
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 24
+ tilecoll WALL, WALL, WALL, WALL ; 25
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 26
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 27
+ tilecoll WALL, WALL, WALL, WALL ; 28
+ tilecoll FLOOR, FLOOR, FLOOR, LADDER ; 29
+ tilecoll FLOOR, FLOOR, FLOOR, LADDER ; 2a
+ tilecoll WALL, WALL, WALL, WALL ; 2b
+ tilecoll WALL, WALL, WALL, WALL ; 2c
+ tilecoll WALL, WALL, WALL, WALL ; 2d
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 2e
+ tilecoll ICE, ICE, ICE, FLOOR ; 2f
+ tilecoll ICE, ICE, FLOOR, ICE ; 30
+ tilecoll WALL, FLOOR, FLOOR, FLOOR ; 31
+ tilecoll FLOOR, ICE, ICE, ICE ; 32
+ tilecoll ICE, FLOOR, ICE, ICE ; 33
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 34
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 35
+ tilecoll ICE, WALL, ICE, WALL ; 36
+ tilecoll WALL, ICE, WALL, ICE ; 37
+ tilecoll WALL, WALL, WALL, WALL ; 38
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 39
+ tilecoll ICE, ICE, ICE, ICE ; 3a
+ tilecoll WALL, FLOOR, FLOOR, WALL ; 3b
+ tilecoll WALL, FLOOR, FLOOR, FLOOR ; 3c
+ tilecoll DOOR, DOOR, FLOOR, FLOOR ; 3d
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 3e
+ tilecoll WALL, WALL, WALL, WALL ; 3f
+ tilecoll WALL, WALL, WALL, WALL ; 40
diff --git a/data/tilesets/gym_1_metatiles.bin b/data/tilesets/gym_1_metatiles.bin
new file mode 100644
index 000000000..a9df6062c
--- /dev/null
+++ b/data/tilesets/gym_1_metatiles.bin
Binary files differ
diff --git a/data/tilesets/ho_oh_word_room_collision.asm b/data/tilesets/ho_oh_word_room_collision.asm
new file mode 100644
index 000000000..138f07143
--- /dev/null
+++ b/data/tilesets/ho_oh_word_room_collision.asm
@@ -0,0 +1,64 @@
+ tilecoll WALL, WALL, WALL, WALL ; 01
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 02
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 03
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 04
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 05
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 06
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 07
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 08
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 09
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 0a
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 0b
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 0c
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 0d
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 0e
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 0f
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 10
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 11
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 12
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 13
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 14
+ tilecoll WALL, WALL, WALL, FLOOR ; 15
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 16
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 17
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 18
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 19
+ tilecoll WALL, WALL, FLOOR, WALL ; 1a
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 1b
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 1c
+ tilecoll FLOOR, FLOOR, FLOOR, PIT ; 1d
+ tilecoll WALL, WALL, WALL, WALL ; 1e
+ tilecoll WALL, WALL, WALL, WALL ; 1f
+ tilecoll WALL, WALL, WALL, WALL ; 20
+ tilecoll WALL, WALL, WALL, WALL ; 21
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 22
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 23
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 24
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 25
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 26
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 27
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 28
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 29
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 2a
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 2b
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 2c
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 2d
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 2e
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 2f
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 30
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 31
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 32
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 33
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 34
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 35
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 36
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 37
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 38
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 39
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 3a
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 3b
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 3c
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 3d
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 3e
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 3f
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 40
diff --git a/data/tilesets/ho_oh_word_room_metatiles.bin b/data/tilesets/ho_oh_word_room_metatiles.bin
new file mode 100644
index 000000000..2b542c632
--- /dev/null
+++ b/data/tilesets/ho_oh_word_room_metatiles.bin
@@ -0,0 +1,17 @@
+Ģ͈‰Üݘ™ŽžŸČÉØ©ŲŁø¹€Ŗ«‘ŗ»ÄÅŌÕØ©ČÉø¹ŲŁÄÅĘĒŌÕÖצ§ˆ‰¶·˜™€ĀƐ‘ŅÓŖ«ŗ»ĘǬ­Ö×¼½ĢĶÜŻ€¦§‘¶·¤„“µ ”Ŗ«°±ŗ»Ž€žŸ‘ĀĆØ©ŅÓø¹ 
+ 
+ 
+  !"#¬­Ŗ«¼½ŗ»@ABC 89
+ 
+ 
+
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ TVXY 
+ C 6!@ #8
+ 6"7[\M]ĢĶ ”ÜŻ°±ĘĒŽÖמŸĘĒŽÖמŸˆ‰Ø©˜™ø¹Ģ͈‰Üݘ™†‡–—ˆ‰®Æ˜™¾æ€ĀƐ‘ŅÓĘĒÖ׊‹¬­š›¼½ĀĆŅÓĘĒŽÖמŸˆ‰ ”˜™°±ĀĆŅÓÄŀŌՐ‘¤„ˆ‰“µ˜™ÄÅŌÕ \ No newline at end of file
diff --git a/data/tilesets/house_1_collision.asm b/data/tilesets/house_1_collision.asm
new file mode 100644
index 000000000..ae5580782
--- /dev/null
+++ b/data/tilesets/house_1_collision.asm
@@ -0,0 +1,64 @@
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 01
+ tilecoll FLOOR, FLOOR, FLOOR, WALL ; 02
+ tilecoll FLOOR, FLOOR, WALL, FLOOR ; 03
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 04
+ tilecoll WALL, WALL, BOOKSHELF, BOOKSHELF ; 05
+ tilecoll WALL, WINDOW, FLOOR, FLOOR ; 06
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 07
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 08
+ tilecoll WALL, WINDOW, FLOOR, FLOOR ; 09
+ tilecoll WALL, WALL, FLOOR, BOOKSHELF ; 0a
+ tilecoll WALL, WALL, WALL, WALL ; 0b
+ tilecoll FLOOR, FLOOR, WARP_CARPET_DOWN, WARP_CARPET_DOWN ; 0c
+ tilecoll FLOOR, WALL, FLOOR, FLOOR ; 0d
+ tilecoll WALL, FLOOR, FLOOR, FLOOR ; 0e
+ tilecoll WALL, TOWN_MAP, FLOOR, FLOOR ; 0f
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 10
+ tilecoll WALL, WALL, PC, WALL ; 11
+ tilecoll WALL, WALL, WALL, FLOOR ; 12
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 13
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 14
+ tilecoll FLOOR, FLOOR, FLOOR, WALL ; 15
+ tilecoll FLOOR, FLOOR, WALL, FLOOR ; 16
+ tilecoll WINDOW, WALL, FLOOR, FLOOR ; 17
+ tilecoll FLOOR, FLOOR, WARP_CARPET_LEFT, FLOOR ; 18
+ tilecoll FLOOR, WALL, FLOOR, FLOOR ; 19
+ tilecoll WALL, FLOOR, FLOOR, FLOOR ; 1a
+ tilecoll WALL, WALL, BOOKSHELF, BOOKSHELF ; 1b
+ tilecoll WARP_CARPET_LEFT, FLOOR, FLOOR, FLOOR ; 1c
+ tilecoll WALL, WALL, FLOOR, PC ; 1d
+ tilecoll WALL, WALL, FLOOR, RADIO ; 1e
+ tilecoll WALL, TOWN_MAP, TV, FLOOR ; 1f
+ tilecoll WALL, WALL, WALL, WALL ; 20
+ tilecoll WALL, WALL, WALL, WALL ; 21
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 22
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 23
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 24
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 25
+ tilecoll LADDER, FLOOR, FLOOR, FLOOR ; 26
+ tilecoll COUNTER, COUNTER, FLOOR, COUNTER ; 27
+ tilecoll FLOOR, COUNTER, FLOOR, COUNTER ; 28
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 29
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 2a
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 2b
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 2c
+ tilecoll WALL, WALL, WALL, WALL ; 2d
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 2e
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 2f
+ tilecoll WALL, WALL, FLOOR, WALL ; 30
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 31
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 32
+ tilecoll WALL, WINDOW, WALL, WALL ; 33
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 34
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 35
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 36
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 37
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 38
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 39
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 3a
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 3b
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 3c
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 3d
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 3e
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 3f
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 40
diff --git a/data/tilesets/house_1_metatiles.bin b/data/tilesets/house_1_metatiles.bin
new file mode 100644
index 000000000..0d3a22f32
--- /dev/null
+++ b/data/tilesets/house_1_metatiles.bin
Binary files differ
diff --git a/data/tilesets/ice_path_collision.asm b/data/tilesets/ice_path_collision.asm
new file mode 100644
index 000000000..4fd9376ad
--- /dev/null
+++ b/data/tilesets/ice_path_collision.asm
@@ -0,0 +1,64 @@
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 01
+ tilecoll WALL, WALL, WALL, WALL ; 02
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 03
+ tilecoll FLOOR, FLOOR, FLOOR, LADDER ; 04
+ tilecoll WALL, UP_WALL, WALL, FLOOR ; 05
+ tilecoll UP_WALL, UP_WALL, FLOOR, FLOOR ; 06
+ tilecoll UP_WALL, WALL, FLOOR, WALL ; 07
+ tilecoll FLOOR, FLOOR, FLOOR, LADDER ; 08
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 09
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 0a
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 0b
+ tilecoll WALL, WALL, WALL, WALL ; 0c
+ tilecoll WALL, FLOOR, WALL, WALL ; 0d
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 0e
+ tilecoll FLOOR, WALL, WALL, WALL ; 0f
+ tilecoll WALL, WALL, WALL, WALL ; 10
+ tilecoll FLOOR, FLOOR, FLOOR, WALL ; 11
+ tilecoll FLOOR, FLOOR, WALL, FLOOR ; 12
+ tilecoll FLOOR, FLOOR, WALL, FLOOR ; 13
+ tilecoll FLOOR, FLOOR, WALL, CAVE ; 14
+ tilecoll WALL, WALL, WALL, FLOOR ; 15
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 16
+ tilecoll WALL, WALL, FLOOR, WALL ; 17
+ tilecoll FLOOR, FLOOR, PIT, FLOOR ; 18
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 19
+ tilecoll WALL, WALL, WALL, WALL ; 1a
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 1b
+ tilecoll FLOOR, PIT, FLOOR, FLOOR ; 1c
+ tilecoll WALL, FLOOR, WALL, WALL ; 1d
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 1e
+ tilecoll FLOOR, WALL, WALL, WALL ; 1f
+ tilecoll ICE, ICE, ICE, ICE ; 20
+ tilecoll WALL, FLOOR, FLOOR, FLOOR ; 21
+ tilecoll FLOOR, FLOOR, WALL, FLOOR ; 22
+ tilecoll FLOOR, WALL, FLOOR, FLOOR ; 23
+ tilecoll FLOOR, FLOOR, FLOOR, WALL ; 24
+ tilecoll WALL, HOP_DOWN_LEFT, WALL, WALL ; 25
+ tilecoll HOP_DOWN, HOP_DOWN, WALL, WALL ; 26
+ tilecoll HOP_DOWN_RIGHT, WALL, WALL, WALL ; 27
+ tilecoll WALL, HOP_LEFT, WALL, HOP_LEFT ; 28
+ tilecoll HOP_RIGHT, WALL, HOP_RIGHT, WALL ; 29
+ tilecoll FLOOR, FLOOR, WARP_CARPET_DOWN, FLOOR ; 2a
+ tilecoll WALL, WALL, WALL, WALL ; 2b
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 2c
+ tilecoll WALL, ICE, ICE, ICE ; 2d
+ tilecoll ICE, ICE, WALL, ICE ; 2e
+ tilecoll ICE, WALL, ICE, ICE ; 2f
+ tilecoll ICE, ICE, ICE, WALL ; 30
+ tilecoll WALL, WALL, FLOOR, WALL ; 31
+ tilecoll WALL, WALL, WALL, WALL ; 32
+ tilecoll WALL, WALL, WALL, FLOOR ; 33
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 34
+ tilecoll FLOOR, WALL, FLOOR, FLOOR ; 35
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 36
+ tilecoll WALL, FLOOR, FLOOR, FLOOR ; 37
+ tilecoll FLOOR, FLOOR, FLOOR, LADDER ; 38
+ tilecoll FLOOR, FLOOR, FLOOR, LADDER ; 39
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 3a
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 3b
+ tilecoll WALL, WALL, WALL, WALL ; 3c
+ tilecoll WALL, FLOOR, FLOOR, FLOOR ; 3d
+ tilecoll FLOOR, FLOOR, WARP_CARPET_DOWN, WARP_CARPET_DOWN ; 3e
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 3f
+ tilecoll ICE, ICE, ICE, LADDER ; 40
diff --git a/data/tilesets/ice_path_metatiles.bin b/data/tilesets/ice_path_metatiles.bin
new file mode 100644
index 000000000..c92246e8a
--- /dev/null
+++ b/data/tilesets/ice_path_metatiles.bin
@@ -0,0 +1,3 @@
+šššššŖššššš
+ šˆ‰Š‹˜™ššØ©š›Ø©ššŠ‹Š‹ššššš›ššŖŖ›šŠ‹Œššœšš¬­šš¬­š«›Ŗ›*+š:;Ø©š›Ø©ššØ©ššØ©š›ŖŖŖšŖšŖ›šŖššš¬­šš¬­›š¬­šš¬­ĄĮĀĆŠŃŅÓĄĮĀĆŠŃŅÓØ©š›Ø©ššø¹ŗŗČÉŹŹššššššššŗ»ŗŗŹĖŹŹ›š¬­šš¬­ŗ»¼½ŹĖĢĶ šššššš›š› ”š°±šššš›Ŗšš¢£Ŗš²³Ŗš›Ŗ›«››€®Æ‘¾æš›Ŗ›Ŗ›ÄÅŌÕĄĮĀĆŠŃŅÓÄśŌÕŖÄÅÄÅŌÕŌÕššŖÄÅÄÅŌÕŌÕšÄÅŌÕššŖŖšŖŽšžŸÄÅšŌÕÄÅŌÕŖ„…†‡”•–—¤„¦§“µ¶·Ŗ‚ƒ›’“ŖÄÅ«Ō՚ŽšžŸŖš››ššÄÅŖŖŌ՚ĄĮĀĆŠŃŅÓ›››ĄĮĀĆŠŃŅÓ›ÄÅŖŖŌÕÄÅŌÕĘĒĘĒÖ×Ö×ĘĒĘĒÖ×Ö×ÄŚŌÕŖŖŖ››ŖŖŖ‚ƒŖ’“ŖŖ›Ŗ›ŖŖ›ÄÅŌՙšŖ©šŖ©›Ŗ«ČŗŗŗŖŖŖŖ›››ŗŗŗŗ›Ŗ¬Ŗ›¬›Ŗ›¬ŗŗŗĶ˜˜Ŗ˜˜ŖŖ›››œš›œšŖ›œŖ›œšš›Ŗ«›BCŠ‹Ŗ››››››››››  ‚ƒĘĒ’“Ö×ĘĒĘĒÖ×Ö×ĘĒĘĒÖ×ÖׂƒĘĒ’“Ö×ĘĒ‚ƒÖג“ĘĒĘĒÖ×Ö×ĘĒĘĒÖ×Ö×ĘĒ‚ƒÖג“RRRRSS(S >8(TRRRR,--.IJHKRRRRS)SS9? V)RRRRSSSS  >TLM \]XYZ[8//9WGGGU? NO^_ ›››››Ŗ«Ŗ
+ Ŗ›Ŗ›šŖŖŖ*+Ŗ:;˜™ššØ©ššø¹®ÆČɾ暚œšš¬­®Æ¼½¾æĢ͈‰Œ˜™œø¹¼½ČÉĢĶ&' 67EF   šššš›ššš€¹ŗ‘ÉŹ4444444444444444 \ No newline at end of file
diff --git a/data/tilesets/ilex_forest_collision.asm b/data/tilesets/ilex_forest_collision.asm
new file mode 100644
index 000000000..70cc72ff1
--- /dev/null
+++ b/data/tilesets/ilex_forest_collision.asm
@@ -0,0 +1,64 @@
+ tilecoll WALL, WALL, WALL, WALL ; 01
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 02
+ tilecoll WATER, WATER, WATER, WATER ; 03
+ tilecoll WATER, WATER, WATER, WATER ; 04
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 05
+ tilecoll WALL, WALL, WALL, WALL ; 06
+ tilecoll FLOOR, WARP_CARPET_RIGHT, FLOOR, WARP_CARPET_RIGHT ; 07
+ tilecoll WATER, WATER, WATER, WATER ; 08
+ tilecoll HEADBUTT_TREE, HEADBUTT_TREE, HEADBUTT_TREE, FLOOR ; 09
+ tilecoll HEADBUTT_TREE, HEADBUTT_TREE, FLOOR, FLOOR ; 0a
+ tilecoll WATER, WATER, WATER, WATER ; 0b
+ tilecoll WATER, WATER, WATER, WATER ; 0c
+ tilecoll HEADBUTT_TREE, FLOOR, HEADBUTT_TREE, FLOOR ; 0d
+ tilecoll WATER, WATER, WATER, WATER ; 0e
+ tilecoll FLOOR, HEADBUTT_TREE, FLOOR, HEADBUTT_TREE ; 0f
+ tilecoll FLOOR, FLOOR, CUT_TREE, HEADBUTT_TREE ; 10
+ tilecoll HEADBUTT_TREE, FLOOR, HEADBUTT_TREE, HEADBUTT_TREE ; 11
+ tilecoll FLOOR, FLOOR, HEADBUTT_TREE, HEADBUTT_TREE ; 12
+ tilecoll FLOOR, HEADBUTT_TREE, HEADBUTT_TREE, HEADBUTT_TREE ; 13
+ tilecoll FLOOR, FLOOR, FLOOR, WALL ; 14
+ tilecoll HEADBUTT_TREE, FLOOR, FLOOR, FLOOR ; 15
+ tilecoll FLOOR, HEADBUTT_TREE, FLOOR, FLOOR ; 16
+ tilecoll FLOOR, FLOOR, HEADBUTT_TREE, FLOOR ; 17
+ tilecoll FLOOR, FLOOR, FLOOR, HEADBUTT_TREE ; 18
+ tilecoll WALL, HOP_LEFT, WALL, HOP_LEFT ; 19
+ tilecoll WALL, HOP_DOWN_LEFT, WALL, WALL ; 1a
+ tilecoll HOP_DOWN, HOP_DOWN, WALL, WALL ; 1b
+ tilecoll HOP_DOWN_RIGHT, WALL, WALL, WALL ; 1c
+ tilecoll HOP_DOWN, FLOOR, WALL, FLOOR ; 1d
+ tilecoll WALL, WALL, WALL, WALL ; 1e
+ tilecoll WALL, WALL, WALL, WALL ; 1f
+ tilecoll WALL, WALL, WALL, WALL ; 20
+ tilecoll WALL, FLOOR, FLOOR, FLOOR ; 21
+ tilecoll WALL, WALL, WALL, WALL ; 22
+ tilecoll WALL, WALL, WALL, WALL ; 23
+ tilecoll WALL, WALL, WALL, WALL ; 24
+ tilecoll WALL, WALL, WALL, DOOR ; 25
+ tilecoll WALL, WALL, WALL, WALL ; 26
+ tilecoll WALL, WALL, WALL, WALL ; 27
+ tilecoll WALL, WALL, WALL, WALL ; 28
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 29
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 2a
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 2b
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 2c
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 2d
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 2e
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 2f
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 30
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 31
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 32
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 33
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 34
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 35
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 36
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 37
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 38
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 39
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 3a
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 3b
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 3c
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 3d
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 3e
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 3f
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 40
diff --git a/data/tilesets/ilex_forest_metatiles.bin b/data/tilesets/ilex_forest_metatiles.bin
new file mode 100644
index 000000000..a8b82d8cf
--- /dev/null
+++ b/data/tilesets/ilex_forest_metatiles.bin
@@ -0,0 +1 @@
+ ,-./<=>?**** ,-./<=>? ***&'&'6767&'67&'&'6767&'67&'67*** &'67&'67(9&'8:67&'67&'&'6767&'&'6767&'67&'&'6767&'67&'67&'67&'67)**********+** !!! !!! !!!!!!!!!!!!!!!!!!"!!!"!!!"02 !!!0111#$$$#$!!!!1111$$$$$$!!!"1112$$$%$%#$$$#$$$#$34#$$$#$$$#$$$3444$$$$$$$$$$$$4444$$$%$$$%$$$%4445 \ No newline at end of file
diff --git a/data/tilesets/johto_1_collision.asm b/data/tilesets/johto_1_collision.asm
new file mode 100644
index 000000000..4d6d2c072
--- /dev/null
+++ b/data/tilesets/johto_1_collision.asm
@@ -0,0 +1,128 @@
+ tilecoll 01, 01, 01, 01 ; 01
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 02
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 03
+ tilecoll TALL_GRASS, TALL_GRASS, TALL_GRASS, TALL_GRASS ; 04
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 05
+ tilecoll WALL, WALL, WALL, WALL ; 06
+ tilecoll LADDER, LADDER, LADDER, LADDER ; 07
+ tilecoll WHIRLPOOL, BUOY, WATER, BUOY ; 08
+ tilecoll WALL, WALL, WALL, WALL ; 09
+ tilecoll WALL, WALL, WALL, WALL ; 0a
+ tilecoll WALL, WALL, WALL, WALL ; 0b
+ tilecoll WARP_CARPET_LEFT, FLOOR, WARP_CARPET_LEFT, FLOOR ; 0c
+ tilecoll FLOOR, FLOOR, WALL, WARP_CARPET_DOWN ; 0d
+ tilecoll FLOOR, FLOOR, WARP_CARPET_DOWN, WALL ; 0e
+ tilecoll FLOOR, WARP_CARPET_RIGHT, FLOOR, WARP_CARPET_RIGHT ; 0f
+ tilecoll WALL, WALL, WALL, WALL ; 10
+ tilecoll WALL, WALL, WALL, WALL ; 11
+ tilecoll WALL, WALL, WALL, WALL ; 12
+ tilecoll WALL, WALL, WALL, WALL ; 13
+ tilecoll WALL, WALL, WALL, WALL ; 14
+ tilecoll WALL, WALL, WALL, DOOR ; 15
+ tilecoll WALL, WALL, WALL, WALL ; 16
+ tilecoll WALL, WALL, WALL, DOOR ; 17
+ tilecoll WALL, WALL, WALL, WALL ; 18
+ tilecoll WALL, WALL, WALL, WALL ; 19
+ tilecoll WALL, WALL, WALL, WALL ; 1a
+ tilecoll WALL, WALL, WALL, DOOR ; 1b
+ tilecoll WALL, WALL, WALL, WALL ; 1c
+ tilecoll WALL, WALL, WALL, WALL ; 1d
+ tilecoll WALL, WALL, DOOR, WALL ; 1e
+ tilecoll WALL, WALL, WALL, WALL ; 1f
+ tilecoll WALL, WALL, WALL, WALL ; 20
+ tilecoll WALL, WALL, WALL, WALL ; 21
+ tilecoll WALL, WALL, WALL, WALL ; 22
+ tilecoll WALL, WALL, WALL, WALL ; 23
+ tilecoll WALL, WALL, WALL, WALL ; 24
+ tilecoll WALL, WALL, WALL, WALL ; 25
+ tilecoll WALL, WALL, WALL, WALL ; 26
+ tilecoll WALL, WALL, WALL, WALL ; 27
+ tilecoll WALL, WALL, DOOR, WALL ; 28
+ tilecoll WALL, WALL, WALL, DOOR ; 29
+ tilecoll WALL, WALL, WALL, WALL ; 2a
+ tilecoll HEADBUTT_TREE, HEADBUTT_TREE, WALL, WALL ; 2b
+ tilecoll WALL, WALL, WALL, WALL ; 2c
+ tilecoll HEADBUTT_TREE, HEADBUTT_TREE, WALL, WALL ; 2d
+ tilecoll HEADBUTT_TREE, HEADBUTT_TREE, WALL, WALL ; 2e
+ tilecoll WALL, WALL, WALL, DOOR ; 2f
+ tilecoll WALL, WALL, WALL, WALL ; 30
+ tilecoll BUOY, BUOY, BUOY, WATER ; 31
+ tilecoll BUOY, BUOY, WATER, WATER ; 32
+ tilecoll BUOY, BUOY, WATER, BUOY ; 33
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 34
+ tilecoll BUOY, WATER, BUOY, WATER ; 35
+ tilecoll WATER, WATER, WATER, WATER ; 36
+ tilecoll WATER, BUOY, WATER, BUOY ; 37
+ tilecoll WALL, WALL, WALL, DOOR ; 38
+ tilecoll BUOY, WATER, BUOY, BUOY ; 39
+ tilecoll WATER, WATER, BUOY, BUOY ; 3a
+ tilecoll WATER, BUOY, BUOY, BUOY ; 3b
+ tilecoll WALL, WALL, WALL, WALL ; 3c
+ tilecoll HEADBUTT_TREE, FLOOR, FLOOR, FLOOR ; 3d
+ tilecoll FLOOR, HEADBUTT_TREE, FLOOR, FLOOR ; 3e
+ tilecoll FLOOR, FLOOR, HEADBUTT_TREE, FLOOR ; 3f
+ tilecoll FLOOR, FLOOR, FLOOR, HEADBUTT_TREE ; 40
+ tilecoll WALL, WALL, WALL, FLOOR ; 41
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 42
+ tilecoll WALL, WALL, FLOOR, WALL ; 43
+ tilecoll WATER, WATER, WATER, WATER ; 44
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 45
+ tilecoll WALL, FLOOR, FLOOR, FLOOR ; 46
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 47
+ tilecoll FLOOR, FLOOR, FLOOR, WALL ; 48
+ tilecoll WALL, FLOOR, WALL, WALL ; 49
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 4a
+ tilecoll FLOOR, WALL, WALL, WALL ; 4b
+ tilecoll HOP_DOWN, FLOOR, WALL, FLOOR ; 4c
+ tilecoll WALL, HOP_LEFT, WALL, HOP_LEFT ; 4d
+ tilecoll HOP_RIGHT, WALL, HOP_RIGHT, WALL ; 4e
+ tilecoll WALL, HOP_LEFT, WALL, HOP_LEFT ; 4f
+ tilecoll HOP_RIGHT, WALL, HOP_RIGHT, WALL ; 50
+ tilecoll WALL, HOP_DOWN_LEFT, WALL, WALL ; 51
+ tilecoll HOP_DOWN_RIGHT, WALL, WALL, WALL ; 52
+ tilecoll WALL, HOP_DOWN_LEFT, WALL, WALL ; 53
+ tilecoll HOP_DOWN_RIGHT, WALL, WALL, WALL ; 54
+ tilecoll WATER, WATER, WATER, WATER ; 55
+ tilecoll WATER, WATER, WATER, WATER ; 56
+ tilecoll HOP_DOWN, HOP_DOWN, WALL, WALL ; 57
+ tilecoll HOP_DOWN, HOP_DOWN, WALL, WALL ; 58
+ tilecoll WATER, WATER, WATER, WATER ; 59
+ tilecoll WATER, WATER, WATER, WATER ; 5a
+ tilecoll HOP_DOWN, FLOOR, WALL, FLOOR ; 5b
+ tilecoll HEADBUTT_TREE, CUT_TREE, FLOOR, FLOOR ; 5c
+ tilecoll HEADBUTT_TREE, HEADBUTT_TREE, HEADBUTT_TREE, FLOOR ; 5d
+ tilecoll HEADBUTT_TREE, HEADBUTT_TREE, FLOOR, FLOOR ; 5e
+ tilecoll HEADBUTT_TREE, HEADBUTT_TREE, FLOOR, HEADBUTT_TREE ; 5f
+ tilecoll FLOOR, HEADBUTT_TREE, FLOOR, CUT_TREE ; 60
+ tilecoll HEADBUTT_TREE, FLOOR, HEADBUTT_TREE, FLOOR ; 61
+ tilecoll HEADBUTT_TREE, HEADBUTT_TREE, HEADBUTT_TREE, HEADBUTT_TREE ; 62
+ tilecoll FLOOR, HEADBUTT_TREE, FLOOR, HEADBUTT_TREE ; 63
+ tilecoll FLOOR, FLOOR, CUT_TREE, HEADBUTT_TREE ; 64
+ tilecoll HEADBUTT_TREE, FLOOR, HEADBUTT_TREE, HEADBUTT_TREE ; 65
+ tilecoll FLOOR, FLOOR, HEADBUTT_TREE, HEADBUTT_TREE ; 66
+ tilecoll FLOOR, HEADBUTT_TREE, HEADBUTT_TREE, HEADBUTT_TREE ; 67
+ tilecoll CUT_TREE, FLOOR, HEADBUTT_TREE, FLOOR ; 68
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 69
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 6a
+ tilecoll WALL, UP_WALL, WALL, FLOOR ; 6b
+ tilecoll UP_WALL, WALL, FLOOR, WALL ; 6c
+ tilecoll WALL, FLOOR, WALL, WALL ; 6d
+ tilecoll FLOOR, WALL, WALL, WALL ; 6e
+ tilecoll FLOOR, FLOOR, WALL, FLOOR ; 6f
+ tilecoll FLOOR, FLOOR, FLOOR, WALL ; 70
+ tilecoll UP_WALL, UP_WALL, FLOOR, FLOOR ; 71
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 72
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 73
+ tilecoll FLOOR, FLOOR, CAVE, WALL ; 74
+ tilecoll WALL, FLOOR, FLOOR, FLOOR ; 75
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 76
+ tilecoll WATER, WATER, WATER, WATER ; 77
+ tilecoll WALL, WALL, DOOR, WALL ; 78
+ tilecoll FLOOR, FLOOR, FLOOR, WALL ; 79
+ tilecoll WATER, WATER, WATER, WATER ; 7a
+ tilecoll WATER, WATER, WATER, WATER ; 7b
+ tilecoll WALL, WALL, WALL, WALL ; 7c
+ tilecoll WALL, WALL, WALL, WALL ; 7d
+ tilecoll WALL, WALL, WALL, WALL ; 7e
+ tilecoll WALL, WALL, WALL, WALL ; 7f
+ tilecoll WALL, WALL, WALL, WALL ; 80
diff --git a/data/tilesets/johto_1_metatiles.bin b/data/tilesets/johto_1_metatiles.bin
new file mode 100644
index 000000000..9024f2ad6
--- /dev/null
+++ b/data/tilesets/johto_1_metatiles.bin
Binary files differ
diff --git a/data/tilesets/johto_2_collision.asm b/data/tilesets/johto_2_collision.asm
new file mode 100644
index 000000000..40255d744
--- /dev/null
+++ b/data/tilesets/johto_2_collision.asm
@@ -0,0 +1,128 @@
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 01
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 02
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 03
+ tilecoll TALL_GRASS, TALL_GRASS, TALL_GRASS, TALL_GRASS ; 04
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 05
+ tilecoll WALL, WALL, WALL, WALL ; 06
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 07
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 08
+ tilecoll WALL, WALL, WALL, WALL ; 09
+ tilecoll WALL, WALL, WALL, WALL ; 0a
+ tilecoll WALL, WALL, WALL, WALL ; 0b
+ tilecoll WARP_CARPET_LEFT, FLOOR, WARP_CARPET_LEFT, FLOOR ; 0c
+ tilecoll FLOOR, FLOOR, WALL, WARP_CARPET_DOWN ; 0d
+ tilecoll FLOOR, FLOOR, WARP_CARPET_DOWN, WALL ; 0e
+ tilecoll FLOOR, WARP_CARPET_RIGHT, FLOOR, WARP_CARPET_RIGHT ; 0f
+ tilecoll WALL, WALL, WALL, WALL ; 10
+ tilecoll WALL, WALL, WALL, WALL ; 11
+ tilecoll WALL, WALL, WALL, WALL ; 12
+ tilecoll WALL, WALL, WALL, WALL ; 13
+ tilecoll WALL, WALL, WALL, WALL ; 14
+ tilecoll WALL, WALL, WALL, DOOR ; 15
+ tilecoll WALL, WALL, WALL, WALL ; 16
+ tilecoll WALL, WALL, WALL, DOOR ; 17
+ tilecoll WALL, WALL, DOOR, WALL ; 18
+ tilecoll WALL, WALL, WALL, WALL ; 19
+ tilecoll WALL, WALL, WALL, WALL ; 1a
+ tilecoll WALL, WALL, WALL, DOOR ; 1b
+ tilecoll WALL, WALL, WALL, WALL ; 1c
+ tilecoll WALL, WALL, WALL, WALL ; 1d
+ tilecoll WALL, WALL, DOOR, WALL ; 1e
+ tilecoll WALL, WALL, WALL, WALL ; 1f
+ tilecoll WALL, WALL, WALL, WALL ; 20
+ tilecoll WALL, WALL, WALL, WALL ; 21
+ tilecoll WALL, WALL, WALL, WALL ; 22
+ tilecoll WALL, WALL, WALL, WALL ; 23
+ tilecoll WALL, WALL, WALL, WALL ; 24
+ tilecoll WALL, WALL, DOOR, WALL ; 25
+ tilecoll WALL, WALL, WALL, WALL ; 26
+ tilecoll WALL, WALL, WALL, WALL ; 27
+ tilecoll WALL, WALL, WALL, WALL ; 28
+ tilecoll WALL, WALL, WALL, WALL ; 29
+ tilecoll WALL, WALL, WALL, WALL ; 2a
+ tilecoll WALL, WALL, WALL, WALL ; 2b
+ tilecoll WALL, WALL, WALL, WALL ; 2c
+ tilecoll WALL, WALL, WALL, WALL ; 2d
+ tilecoll WALL, WALL, WALL, DOOR ; 2e
+ tilecoll WALL, WALL, WALL, WALL ; 2f
+ tilecoll HEADBUTT_TREE, HEADBUTT_TREE, FLOOR, FLOOR ; 30
+ tilecoll BUOY, BUOY, BUOY, WATER ; 31
+ tilecoll BUOY, BUOY, WATER, WATER ; 32
+ tilecoll BUOY, BUOY, WATER, BUOY ; 33
+ tilecoll WALL, WALL, WALL, WALL ; 34
+ tilecoll BUOY, WATER, BUOY, WATER ; 35
+ tilecoll WATER, WATER, WATER, WATER ; 36
+ tilecoll WATER, BUOY, WATER, BUOY ; 37
+ tilecoll HEADBUTT_TREE, FLOOR, FLOOR, FLOOR ; 38
+ tilecoll BUOY, WATER, BUOY, BUOY ; 39
+ tilecoll WATER, WATER, BUOY, BUOY ; 3a
+ tilecoll WATER, BUOY, BUOY, BUOY ; 3b
+ tilecoll FLOOR, FLOOR, HEADBUTT_TREE, HEADBUTT_TREE ; 3c
+ tilecoll FLOOR, FLOOR, WALL, FLOOR ; 3d
+ tilecoll HEADBUTT_TREE, HEADBUTT_TREE, WALL, WALL ; 3e
+ tilecoll FLOOR, WALL, FLOOR, FLOOR ; 3f
+ tilecoll HEADBUTT_TREE, HEADBUTT_TREE, HEADBUTT_TREE, HEADBUTT_TREE ; 40
+ tilecoll WALL, WALL, WALL, FLOOR ; 41
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 42
+ tilecoll WALL, WALL, FLOOR, WALL ; 43
+ tilecoll WATER, WATER, WATER, WATER ; 44
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 45
+ tilecoll WALL, FLOOR, FLOOR, FLOOR ; 46
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 47
+ tilecoll FLOOR, FLOOR, FLOOR, WALL ; 48
+ tilecoll WALL, FLOOR, WALL, WALL ; 49
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 4a
+ tilecoll FLOOR, WALL, WALL, WALL ; 4b
+ tilecoll HOP_DOWN, FLOOR, WALL, FLOOR ; 4c
+ tilecoll WALL, HOP_LEFT, WALL, HOP_LEFT ; 4d
+ tilecoll HOP_RIGHT, WALL, HOP_RIGHT, WALL ; 4e
+ tilecoll WALL, HOP_LEFT, WALL, HOP_LEFT ; 4f
+ tilecoll HOP_RIGHT, WALL, HOP_RIGHT, WALL ; 50
+ tilecoll WALL, HOP_DOWN_LEFT, WALL, WALL ; 51
+ tilecoll HOP_DOWN_RIGHT, WALL, WALL, WALL ; 52
+ tilecoll WALL, HOP_DOWN_LEFT, WALL, WALL ; 53
+ tilecoll HOP_DOWN_RIGHT, WALL, WALL, WALL ; 54
+ tilecoll WATER, WATER, WATER, WATER ; 55
+ tilecoll WATER, WATER, WATER, WATER ; 56
+ tilecoll HOP_DOWN, HOP_DOWN, WALL, WALL ; 57
+ tilecoll HOP_DOWN, HOP_DOWN, WALL, WALL ; 58
+ tilecoll WATER, WATER, WATER, WATER ; 59
+ tilecoll WATER, WATER, WATER, WATER ; 5a
+ tilecoll HOP_DOWN, FLOOR, WALL, FLOOR ; 5b
+ tilecoll WALL, WALL, WALL, CAVE ; 5c
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 5d
+ tilecoll WALL, FLOOR, FLOOR, FLOOR ; 5e
+ tilecoll WALL, FLOOR, FLOOR, FLOOR ; 5f
+ tilecoll WALL, WALL, WALL, WALL ; 60
+ tilecoll WATER, WATER, WALL, WALL ; 61
+ tilecoll WATER, WATER, WALL, WALL ; 62
+ tilecoll WATER, WATER, WALL, WALL ; 63
+ tilecoll WATER, WATER, WATER, WATER ; 64
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 65
+ tilecoll FLOOR, FLOOR, WALL, FLOOR ; 66
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 67
+ tilecoll WALL, WALL, WALL, WALL ; 68
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 69
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 6a
+ tilecoll WALL, UP_WALL, WALL, FLOOR ; 6b
+ tilecoll UP_WALL, WALL, FLOOR, WALL ; 6c
+ tilecoll WALL, FLOOR, WALL, WALL ; 6d
+ tilecoll FLOOR, WALL, WALL, WALL ; 6e
+ tilecoll FLOOR, FLOOR, WALL, FLOOR ; 6f
+ tilecoll FLOOR, FLOOR, FLOOR, WALL ; 70
+ tilecoll UP_WALL, UP_WALL, FLOOR, FLOOR ; 71
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 72
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 73
+ tilecoll FLOOR, FLOOR, WALL, CAVE ; 74
+ tilecoll WALL, FLOOR, FLOOR, FLOOR ; 75
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 76
+ tilecoll WATER, WATER, WATER, WATER ; 77
+ tilecoll FLOOR, FLOOR, WALL, FLOOR ; 78
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 79
+ tilecoll WATER, WATER, WATER, WATER ; 7a
+ tilecoll WATER, WATER, WATER, WATER ; 7b
+ tilecoll WALL, WALL, WALL, WALL ; 7c
+ tilecoll WALL, WALL, WALL, WALL ; 7d
+ tilecoll WALL, WALL, WALL, WALL ; 7e
+ tilecoll WALL, WALL, WALL, WALL ; 7f
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 80
diff --git a/data/tilesets/johto_2_metatiles.bin b/data/tilesets/johto_2_metatiles.bin
new file mode 100644
index 000000000..a15c0c2c7
--- /dev/null
+++ b/data/tilesets/johto_2_metatiles.bin
Binary files differ
diff --git a/data/tilesets/kabuto_word_room_collision.asm b/data/tilesets/kabuto_word_room_collision.asm
new file mode 100644
index 000000000..138f07143
--- /dev/null
+++ b/data/tilesets/kabuto_word_room_collision.asm
@@ -0,0 +1,64 @@
+ tilecoll WALL, WALL, WALL, WALL ; 01
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 02
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 03
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 04
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 05
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 06
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 07
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 08
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 09
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 0a
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 0b
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 0c
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 0d
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 0e
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 0f
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 10
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 11
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 12
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 13
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 14
+ tilecoll WALL, WALL, WALL, FLOOR ; 15
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 16
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 17
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 18
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 19
+ tilecoll WALL, WALL, FLOOR, WALL ; 1a
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 1b
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 1c
+ tilecoll FLOOR, FLOOR, FLOOR, PIT ; 1d
+ tilecoll WALL, WALL, WALL, WALL ; 1e
+ tilecoll WALL, WALL, WALL, WALL ; 1f
+ tilecoll WALL, WALL, WALL, WALL ; 20
+ tilecoll WALL, WALL, WALL, WALL ; 21
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 22
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 23
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 24
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 25
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 26
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 27
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 28
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 29
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 2a
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 2b
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 2c
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 2d
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 2e
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 2f
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 30
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 31
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 32
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 33
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 34
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 35
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 36
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 37
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 38
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 39
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 3a
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 3b
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 3c
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 3d
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 3e
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 3f
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 40
diff --git a/data/tilesets/kabuto_word_room_metatiles.bin b/data/tilesets/kabuto_word_room_metatiles.bin
new file mode 100644
index 000000000..14d082e2a
--- /dev/null
+++ b/data/tilesets/kabuto_word_room_metatiles.bin
@@ -0,0 +1,17 @@
+¬­Čɼ½ŲŁĀĆŅÓĢͬ­Üݼ½ĀƆ‡ŅӖ—ÄÅŌÕÄŎŌ՞Ÿ€¦§‘¶·¦§¶·Āƈ‰ŅӘ™Ø©€ø¹‘ ”Ŗ«°±ŗ»ŽžŸˆ‰ĀƘ™ŅÓˆ‰˜™Š‹¬­š›¼½ĀĆŅÓĘĒŽÖמŸˆ‰˜™ 
+ 
+ 
+  !"#€Œ‘œ@ABC 89
+ 
+ 
+
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ TVXY 
+ C 6!@ #8
+ 6"7ˆ‰ÄؙŌÕ \ No newline at end of file
diff --git a/data/tilesets/kanto_collision.asm b/data/tilesets/kanto_collision.asm
new file mode 100644
index 000000000..9b0f0c275
--- /dev/null
+++ b/data/tilesets/kanto_collision.asm
@@ -0,0 +1,128 @@
+ tilecoll CUT_TREE, CUT_TREE, CUT_TREE, CUT_TREE ; 01
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 02
+ tilecoll WALL, WALL, WALL, DOOR ; 03
+ tilecoll WALL, WALL, WALL, WALL ; 04
+ tilecoll FLOOR, FLOOR, WARP_CARPET_DOWN, WARP_CARPET_DOWN ; 05
+ tilecoll LADDER, LADDER, LADDER, LADDER ; 06
+ tilecoll FLOOR, FLOOR, CAVE, WALL ; 07
+ tilecoll HOP_DOWN, HOP_DOWN, WALL, WALL ; 08
+ tilecoll FLOOR, FLOOR, FLOOR, WALL ; 09
+ tilecoll WALL, WALL, WALL, WALL ; 0a
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 0b
+ tilecoll TALL_GRASS, TALL_GRASS, TALL_GRASS, TALL_GRASS ; 0c
+ tilecoll WALL, WALL, WALL, WALL ; 0d
+ tilecoll WALL, WALL, WALL, WALL ; 0e
+ tilecoll WALL, WALL, WALL, WALL ; 0f
+ tilecoll WALL, WALL, WALL, WALL ; 10
+ tilecoll WALL, WALL, WALL, WALL ; 11
+ tilecoll WALL, WALL, WALL, WALL ; 12
+ tilecoll WALL, WALL, DOOR, WALL ; 13
+ tilecoll WALL, WALL, WALL, WALL ; 14
+ tilecoll WALL, WATER, WALL, WALL ; 15
+ tilecoll WATER, WALL, WALL, WALL ; 16
+ tilecoll WARP_CARPET_LEFT, FLOOR, WARP_CARPET_LEFT, FLOOR ; 17
+ tilecoll FLOOR, WARP_CARPET_RIGHT, FLOOR, WARP_CARPET_RIGHT ; 18
+ tilecoll WALL, WATER, WALL, WATER ; 19
+ tilecoll WATER, WALL, WATER, WALL ; 1a
+ tilecoll HOP_DOWN, HOP_DOWN, WALL, WALL ; 1b
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 1c
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 1d
+ tilecoll WATER, WATER, WATER, WATER ; 1e
+ tilecoll WATER, WATER, WATER, WATER ; 1f
+ tilecoll WATER, WATER, WATER, WATER ; 20
+ tilecoll WALL, WALL, WALL, WALL ; 21
+ tilecoll WALL, WALL, WALL, WALL ; 22
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 23
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 24
+ tilecoll WALL, FLOOR, WALL, WALL ; 25
+ tilecoll FLOOR, WALL, WALL, WALL ; 26
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 27
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 28
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 29
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 2a
+ tilecoll FLOOR, FLOOR, WALL, FLOOR ; 2b
+ tilecoll FLOOR, FLOOR, FLOOR, WALL ; 2c
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 2d
+ tilecoll WATER, WATER, WATER, WATER ; 2e
+ tilecoll WATER, WATER, WATER, WATER ; 2f
+ tilecoll HOP_DOWN, FLOOR, WALL, FLOOR ; 30
+ tilecoll WALL, WALL, WALL, WALL ; 31
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 32
+ tilecoll WALL, CUT_TREE, WALL, FLOOR ; 33
+ tilecoll WALL, WALL, FLOOR, CUT_TREE ; 34
+ tilecoll CUT_TREE, FLOOR, WALL, WALL ; 35
+ tilecoll FLOOR, CUT_TREE, WALL, FLOOR ; 36
+ tilecoll WALL, WALL, FLOOR, WALL ; 37
+ tilecoll WALL, WALL, WALL, WALL ; 38
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 39
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 3a
+ tilecoll WALL, WALL, DOOR, WALL ; 3b
+ tilecoll UP_WALL, WALL, FLOOR, WALL ; 3c
+ tilecoll WALL, WALL, WALL, DOOR ; 3d
+ tilecoll WALL, WALL, WALL, WALL ; 3e
+ tilecoll WALL, UP_WALL, WALL, FLOOR ; 3f
+ tilecoll UP_WALL, UP_WALL, FLOOR, FLOOR ; 40
+ tilecoll WALL, FLOOR, FLOOR, FLOOR ; 41
+ tilecoll FLOOR, FLOOR, WALL, FLOOR ; 42
+ tilecoll HOP_DOWN, WALL, WALL, WALL ; 43
+ tilecoll WATER, WATER, WATER, WATER ; 44
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 45
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 46
+ tilecoll FLOOR, FLOOR, WALL, WARP_CARPET_DOWN ; 47
+ tilecoll HOP_RIGHT, WALL, HOP_RIGHT, WALL ; 48
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 49
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 4a
+ tilecoll FLOOR, FLOOR, WARP_CARPET_DOWN, WALL ; 4b
+ tilecoll HOP_DOWN_RIGHT, WALL, WALL, WALL ; 4c
+ tilecoll FLOOR, FLOOR, WALL, FLOOR ; 4d
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 4e
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 4f
+ tilecoll FLOOR, WALL, WALL, WALL ; 50
+ tilecoll WALL, FLOOR, WALL, WALL ; 51
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 52
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 53
+ tilecoll WALL, WALL, WALL, DOOR ; 54
+ tilecoll WALL, WALL, WALL, WALL ; 55
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 56
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 57
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 58
+ tilecoll WALL, HOP_LEFT, WALL, HOP_LEFT ; 59
+ tilecoll HOP_RIGHT, WALL, HOP_RIGHT, WALL ; 5a
+ tilecoll WALL, HOP_DOWN_LEFT, WALL, WALL ; 5b
+ tilecoll HOP_DOWN_RIGHT, WALL, WALL, WALL ; 5c
+ tilecoll FLOOR, HOP_DOWN, FLOOR, WALL ; 5d
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 5e
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 5f
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 60
+ tilecoll FLOOR, WALL, CUT_TREE, WALL ; 61
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 62
+ tilecoll WALL, WALL, WALL, FLOOR ; 63
+ tilecoll WALL, WALL, FLOOR, WALL ; 64
+ tilecoll WATER, WATER, WATER, WATER ; 65
+ tilecoll WATER, WATER, WATER, WATER ; 66
+ tilecoll WALL, WALL, WALL, WALL ; 67
+ tilecoll WALL, WATER, WALL, WATER ; 68
+ tilecoll WALL, WALL, WALL, WALL ; 69
+ tilecoll WALL, WALL, WALL, WALL ; 6a
+ tilecoll WATER, WALL, WATER, WALL ; 6b
+ tilecoll WATER, WATER, WALL, WALL ; 6c
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 6d
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 6e
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 6f
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 70
+ tilecoll FLOOR, WALL, CAVE, WALL ; 71
+ tilecoll WALL, WALL, WALL, WALL ; 72
+ tilecoll WALL, WALL, WALL, WALL ; 73
+ tilecoll WALL, WALL, WALL, WALL ; 74
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 75
+ tilecoll WALL, WALL, WALL, WALL ; 76
+ tilecoll WALL, WALL, WALL, WALL ; 77
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 78
+ tilecoll WATER, WATER, WATER, WATER ; 79
+ tilecoll FLOOR, FLOOR, FLOOR, WALL ; 7a
+ tilecoll WALL, WALL, WALL, WALL ; 7b
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 7c
+ tilecoll WALL, WALL, WALL, DOOR ; 7d
+ tilecoll WALL, WALL, WALL, WALL ; 7e
+ tilecoll WALL, WALL, WALL, WALL ; 7f
+ tilecoll WALL, WALL, WALL, WALL ; 80
diff --git a/data/tilesets/kanto_metatiles.bin b/data/tilesets/kanto_metatiles.bin
new file mode 100644
index 000000000..41b0cfffd
--- /dev/null
+++ b/data/tilesets/kanto_metatiles.bin
Binary files differ
diff --git a/data/tilesets/kurts_house_collision.asm b/data/tilesets/kurts_house_collision.asm
new file mode 100644
index 000000000..95cb1c21d
--- /dev/null
+++ b/data/tilesets/kurts_house_collision.asm
@@ -0,0 +1,64 @@
+ tilecoll WALL, WALL, WALL, WALL ; 01
+ tilecoll WALL, WALL, RADIO, FLOOR ; 02
+ tilecoll WALL, WALL, MART_SHELF, MART_SHELF ; 03
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 04
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 05
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 06
+ tilecoll FLOOR, FLOOR, FLOOR, WARP_CARPET_DOWN ; 07
+ tilecoll FLOOR, FLOOR, WARP_CARPET_DOWN, FLOOR ; 08
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 09
+ tilecoll WALL, WALL, WALL, WALL ; 0a
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 0b
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 0c
+ tilecoll WALL, FLOOR, FLOOR, FLOOR ; 0d
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 0e
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 0f
+ tilecoll WALL, WALL, WALL, WALL ; 10
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 11
+ tilecoll WALL, FLOOR, FLOOR, FLOOR ; 12
+ tilecoll COUNTER, FLOOR, COUNTER, FLOOR ; 13
+ tilecoll WALL, WALL, INCENSE_BURNER, BOOKSHELF ; 14
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 15
+ tilecoll FLOOR, WALL, FLOOR, FLOOR ; 16
+ tilecoll FLOOR, WALL, FLOOR, FLOOR ; 17
+ tilecoll WALL, WALL, WALL, WALL ; 18
+ tilecoll FLOOR, WALL, FLOOR, FLOOR ; 19
+ tilecoll WALL, FLOOR, FLOOR, FLOOR ; 1a
+ tilecoll WALL, WALL, BOOKSHELF, BOOKSHELF ; 1b
+ tilecoll FLOOR, FLOOR, FLOOR, WALL ; 1c
+ tilecoll FLOOR, FLOOR, WALL, FLOOR ; 1d
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 1e
+ tilecoll FLOOR, FLOOR, FLOOR, LADDER ; 1f
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 20
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 21
+ tilecoll FLOOR, FLOOR, FLOOR, WARP_CARPET_DOWN ; 22
+ tilecoll FLOOR, FLOOR, WARP_CARPET_DOWN, FLOOR ; 23
+ tilecoll WALL, WALL, RADIO, FLOOR ; 24
+ tilecoll FLOOR, WARP_CARPET_RIGHT, FLOOR, WARP_CARPET_RIGHT ; 25
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 26
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 27
+ tilecoll LADDER, FLOOR, FLOOR, FLOOR ; 28
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 29
+ tilecoll WALL, WALL, WALL, WALL ; 2a
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 2b
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 2c
+ tilecoll FLOOR, FLOOR, HOP_DOWN, HOP_DOWN ; 2d
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 2e
+ tilecoll WALL, FLOOR, FLOOR, FLOOR ; 2f
+ tilecoll FLOOR, WALL, FLOOR, FLOOR ; 30
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 31
+ tilecoll WALL, WALL, WALL, WALL ; 32
+ tilecoll WALL, WALL, WALL, WALL ; 33
+ tilecoll WALL, WALL, WALL, FLOOR ; 34
+ tilecoll WALL, WALL, WALL, FLOOR ; 35
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 36
+ tilecoll WALL, FLOOR, FLOOR, FLOOR ; 37
+ tilecoll WALL, WALL, FLOOR, WALL ; 38
+ tilecoll FLOOR, FLOOR, FLOOR, WALL ; 39
+ tilecoll FLOOR, LADDER, FLOOR, FLOOR ; 3a
+ tilecoll 04, 03, 03, 03 ; 3b
+ tilecoll 03, 03, 03, 03 ; 3c
+ tilecoll 03, 03, 04, 04 ; 3d
+ tilecoll 04, 04, 04, 04 ; 3e
+ tilecoll 03, 03, 03, 03 ; 3f
+ tilecoll WARP_CARPET_DOWN, 04, 03, 03 ; 40
diff --git a/data/tilesets/kurts_house_metatiles.bin b/data/tilesets/kurts_house_metatiles.bin
new file mode 100644
index 000000000..3f6b41bd1
--- /dev/null
+++ b/data/tilesets/kurts_house_metatiles.bin
Binary files differ
diff --git a/data/tilesets/lab_collision.asm b/data/tilesets/lab_collision.asm
new file mode 100644
index 000000000..436c8e0a7
--- /dev/null
+++ b/data/tilesets/lab_collision.asm
@@ -0,0 +1,64 @@
+ tilecoll WALL, WALL, WALL, WALL ; 01
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 02
+ tilecoll FLOOR, FLOOR, WARP_CARPET_DOWN, WARP_CARPET_DOWN ; 03
+ tilecoll WALL, WALL, WALL, WALL ; 04
+ tilecoll WALL, WALL, BOOKSHELF, BOOKSHELF ; 05
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 06
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 07
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 08
+ tilecoll WALL, WALL, WALL, WALL ; 09
+ tilecoll WINDOW, WALL, FLOOR, FLOOR ; 0a
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 0b
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 0c
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 0d
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 0e
+ tilecoll FLOOR, FLOOR, FLOOR, WARP_CARPET_DOWN ; 0f
+ tilecoll FLOOR, FLOOR, WARP_CARPET_DOWN, FLOOR ; 10
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 11
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 12
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 13
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 14
+ tilecoll WALL, WALL, BOOKSHELF, BOOKSHELF ; 15
+ tilecoll FLOOR, WALL, FLOOR, FLOOR ; 16
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 17
+ tilecoll WALL, WALL, WALL, WALL ; 18
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 19
+ tilecoll FLOOR, LADDER, FLOOR, FLOOR ; 1a
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 1b
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 1c
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 1d
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 1e
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 1f
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 20
+ tilecoll WINDOW, WINDOW, FLOOR, FLOOR ; 21
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 22
+ tilecoll WALL, WALL, WALL, WALL ; 23
+ tilecoll WALL, WALL, WALL, WALL ; 24
+ tilecoll WALL, WALL, WALL, WALL ; 25
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 26
+ tilecoll WALL, WALL, WALL, WALL ; 27
+ tilecoll WALL, WALL, WALL, WALL ; 28
+ tilecoll WALL, WALL, WALL, WALL ; 29
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 2a
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 2b
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 2c
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 2d
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 2e
+ tilecoll FLOOR, FLOOR, WARP_CARPET_DOWN, WARP_CARPET_DOWN ; 2f
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 30
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 31
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 32
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 33
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 34
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 35
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 36
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 37
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 38
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 39
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 3a
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 3b
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 3c
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 3d
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 3e
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 3f
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 40
diff --git a/data/tilesets/lab_metatiles.bin b/data/tilesets/lab_metatiles.bin
new file mode 100644
index 000000000..62da01e8b
--- /dev/null
+++ b/data/tilesets/lab_metatiles.bin
Binary files differ
diff --git a/data/tilesets/lighthouse_collision.asm b/data/tilesets/lighthouse_collision.asm
new file mode 100644
index 000000000..05b6cd614
--- /dev/null
+++ b/data/tilesets/lighthouse_collision.asm
@@ -0,0 +1,64 @@
+ tilecoll WALL, WALL, WALL, WALL ; 01
+ tilecoll WALL, WALL, WALL, WALL ; 02
+ tilecoll WALL, WALL, WALL, WALL ; 03
+ tilecoll WALL, WALL, WALL, WALL ; 04
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 05
+ tilecoll WALL, WALL, WALL, WALL ; 06
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 07
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 08
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 09
+ tilecoll STAIRCASE, WALL, FLOOR, FLOOR ; 0a
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 0b
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 0c
+ tilecoll WALL, WALL, WALL, WALL ; 0d
+ tilecoll WALL, WALL, WALL, WALL ; 0e
+ tilecoll WALL, WALL, WALL, WALL ; 0f
+ tilecoll WALL, WALL, WALL, WALL ; 10
+ tilecoll 9C, FLOOR, COUNTER, FLOOR ; 11
+ tilecoll WALL, WALL, WALL, WALL ; 12
+ tilecoll WALL, WALL, WALL, WALL ; 13
+ tilecoll WALL, WALL, WALL, WALL ; 14
+ tilecoll WALL, WARP_CARPET_DOWN, WALL, WALL ; 15
+ tilecoll WALL, WALL, WALL, WALL ; 16
+ tilecoll 9C, FLOOR, COUNTER, FLOOR ; 17
+ tilecoll WALL, WALL, WALL, WALL ; 18
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 19
+ tilecoll WALL, WALL, WALL, STAIRCASE ; 1a
+ tilecoll LADDER, FLOOR, FLOOR, FLOOR ; 1b
+ tilecoll FLOOR, FLOOR, WARP_CARPET_DOWN, WARP_CARPET_DOWN ; 1c
+ tilecoll WALL, WALL, WALL, WALL ; 1d
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 1e
+ tilecoll WALL, WALL, WALL, WALL ; 1f
+ tilecoll WALL, WALL, WALL, WALL ; 20
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 21
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 22
+ tilecoll WALL, FLOOR, WALL, WALL ; 23
+ tilecoll FLOOR, WALL, WALL, WALL ; 24
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 25
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 26
+ tilecoll WALL, WALL, WALL, WALL ; 27
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 28
+ tilecoll FLOOR, FLOOR, PIT, PIT ; 29
+ tilecoll WALL, WALL, WINDOW, WINDOW ; 2a
+ tilecoll WALL, WALL, WALL, WALL ; 2b
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 2c
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 2d
+ tilecoll WALL, WALL, WALL, WALL ; 2e
+ tilecoll FLOOR, FLOOR, WARP_CARPET_DOWN, WARP_CARPET_DOWN ; 2f
+ tilecoll WALL, WALL, WALL, BOOKSHELF ; 30
+ tilecoll WALL, WALL, FLOOR, WALL ; 31
+ tilecoll FLOOR, FLOOR, FLOOR, LADDER ; 32
+ tilecoll WALL, WALL, WALL, WALL ; 33
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 34
+ tilecoll WALL, WALL, PC, FLOOR ; 35
+ tilecoll FLOOR, FLOOR, FLOOR, WALL ; 36
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 37
+ tilecoll WALL, WALL, WALL, WALL ; 38
+ tilecoll WALL, WALL, FLOOR, WALL ; 39
+ tilecoll FLOOR, WALL, FLOOR, FLOOR ; 3a
+ tilecoll FLOOR, FLOOR, FLOOR, LADDER ; 3b
+ tilecoll WALL, WALL, WALL, WALL ; 3c
+ tilecoll WALL, WALL, WALL, WALL ; 3d
+ tilecoll WALL, WALL, WINDOW, WALL ; 3e
+ tilecoll WALL, WALL, WALL, WALL ; 3f
+ tilecoll WALL, WALL, WALL, WALL ; 40
diff --git a/data/tilesets/lighthouse_metatiles.bin b/data/tilesets/lighthouse_metatiles.bin
new file mode 100644
index 000000000..21ca0f09a
--- /dev/null
+++ b/data/tilesets/lighthouse_metatiles.bin
Binary files differ
diff --git a/data/tilesets/mart_collision.asm b/data/tilesets/mart_collision.asm
new file mode 100644
index 000000000..80076ac3f
--- /dev/null
+++ b/data/tilesets/mart_collision.asm
@@ -0,0 +1,64 @@
+ tilecoll WALL, WALL, WALL, WALL ; 01
+ tilecoll STAIRCASE, WALL, FLOOR, FLOOR ; 02
+ tilecoll WALL, STAIRCASE, FLOOR, FLOOR ; 03
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 04
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 05
+ tilecoll STAIRCASE, WALL, FLOOR, FLOOR ; 06
+ tilecoll FLOOR, FLOOR, FLOOR, WARP_CARPET_DOWN ; 07
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 08
+ tilecoll WALL, WALL, FLOOR, COUNTER ; 09
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 0a
+ tilecoll WALL, WALL, COUNTER, FLOOR ; 0b
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 0c
+ tilecoll FLOOR, COUNTER, FLOOR, FLOOR ; 0d
+ tilecoll COUNTER, COUNTER, FLOOR, FLOOR ; 0e
+ tilecoll COUNTER, FLOOR, FLOOR, FLOOR ; 0f
+ tilecoll FLOOR, WALL, WALL, WALL ; 10
+ tilecoll COUNTER, COUNTER, COUNTER, FLOOR ; 11
+ tilecoll COUNTER, COUNTER, FLOOR, FLOOR ; 12
+ tilecoll FLOOR, MART_SHELF, FLOOR, MART_SHELF ; 13
+ tilecoll WALL, WALL, MART_SHELF, MART_SHELF ; 14
+ tilecoll WALL, WALL, MART_SHELF, MART_SHELF ; 15
+ tilecoll WALL, WALL, MART_SHELF, MART_SHELF ; 16
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 17
+ tilecoll WALL, WALL, FLOOR, COUNTER ; 18
+ tilecoll STAIRCASE, WALL, FLOOR, FLOOR ; 19
+ tilecoll WALL, STAIRCASE, FLOOR, FLOOR ; 1a
+ tilecoll COUNTER, COUNTER, COUNTER, FLOOR ; 1b
+ tilecoll COUNTER, COUNTER, FLOOR, COUNTER ; 1c
+ tilecoll WALL, WALL, WALL, WALL ; 1d
+ tilecoll WALL, WALL, WALL, WALL ; 1e
+ tilecoll FLOOR, WARP_CARPET_RIGHT, FLOOR, WARP_CARPET_RIGHT ; 1f
+ tilecoll WARP_CARPET_LEFT, FLOOR, WARP_CARPET_LEFT, FLOOR ; 20
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 21
+ tilecoll WALL, WALL, WALL, WALL ; 22
+ tilecoll COUNTER, FLOOR, COUNTER, FLOOR ; 23
+ tilecoll FLOOR, MART_SHELF, FLOOR, MART_SHELF ; 24
+ tilecoll WALL, WALL, WALL, WALL ; 25
+ tilecoll FLOOR, FLOOR, WARP_CARPET_DOWN, FLOOR ; 26
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 27
+ tilecoll WALL, WALL, COUNTER, MART_SHELF ; 28
+ tilecoll FLOOR, MART_SHELF, FLOOR, MART_SHELF ; 29
+ tilecoll WALL, FLOOR, FLOOR, FLOOR ; 2a
+ tilecoll FLOOR, FLOOR, WARP_CARPET_DOWN, WARP_CARPET_DOWN ; 2b
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 2c
+ tilecoll COUNTER, COUNTER, FLOOR, MART_SHELF ; 2d
+ tilecoll FLOOR, MART_SHELF, COUNTER, COUNTER ; 2e
+ tilecoll COUNTER, FLOOR, COUNTER, COUNTER ; 2f
+ tilecoll WALL, STAIRCASE, FLOOR, FLOOR ; 30
+ tilecoll WALL, WALL, WALL, WALL ; 31
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 32
+ tilecoll WALL, WALL, WALL, WALL ; 33
+ tilecoll WALL, FLOOR, WALL, WALL ; 34
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 35
+ tilecoll FLOOR, WALL, WALL, WALL ; 36
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 37
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 38
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 39
+ tilecoll FLOOR, FLOOR, FLOOR, STAIRCASE ; 3a
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 3b
+ tilecoll WALL, WALL, WALL, WALL ; 3c
+ tilecoll WALL, WALL, WALL, WALL ; 3d
+ tilecoll WALL, WALL, WALL, WALL ; 3e
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 3f
+ tilecoll WALL, WALL, WALL, WALL ; 40
diff --git a/data/tilesets/mart_metatiles.bin b/data/tilesets/mart_metatiles.bin
new file mode 100644
index 000000000..63b2f629d
--- /dev/null
+++ b/data/tilesets/mart_metatiles.bin
@@ -0,0 +1,3 @@
+,-<=
+II "#23$%45*+>?>?*+ !01JK ‰Š§Ø./‘‘‘‘‘‘°±²¶·ø*;;;>?>?>?;;;;&'67()89@AB+PQRECD\]STU VWVWXYXYZ[Z[ PQPQPQPQ^_^_ÄÅĘĒŌÕÖ×ČÉŹĖŲ‘‘‘*+>?>?,-<=*;;;>?>?::>?::;;;+>?::>?::>?>?:: ::>? F:F:F::G:G:G"#23$%45 LMLMLMLMNONO !HH01HH>?HH>?HHHH&'HH67HH()HH89–––––––––––––––– 
+II *+PQ>?PQ>?^_HH&'HH67HH()HH89/HHHHHHHHHHHHHHHHHHHH HHHHHHHHHHHHHHHH;;;;&'67()89>?>?.ĄĮĀĆŠŃŅӐ‘ŁŚ‘Ū܁‘‘‘‘‘‘‘‘‘‘‘‘‘"#‘23‘$%‘‹Œ‘‘‘‘‘‘ ”””––––‘‘‘‘‘‘‘‘””””––––‘‘™š‘‘©Ŗ”””¢––––‘‘‘’‘‘‘’‘‘™š‘‘©Ŗ‚‘‘‘’‘‘‘’‘‘‘’®ÆÆÆ‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‡ˆ‘‘—˜‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘ƒ„…†“””•””””––––œŽŽŽ¬žžž¬¬›«ŽŽ«žžž«žÆÆÆ­‘‘‘‘‘‘‘‘‘‘‘‘°±²¹ŗ³»¼µ½¾ø \ No newline at end of file
diff --git a/data/tilesets/olivine_gym_collision.asm b/data/tilesets/olivine_gym_collision.asm
new file mode 100644
index 000000000..351f76f61
--- /dev/null
+++ b/data/tilesets/olivine_gym_collision.asm
@@ -0,0 +1,64 @@
+ tilecoll WALL, WALL, WALL, WALL ; 01
+ tilecoll WALL, WALL, FLOOR, WALL ; 02
+ tilecoll WALL, WALL, WALL, FLOOR ; 03
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 04
+ tilecoll WALL, WALL, WALL, WALL ; 05
+ tilecoll WALL, WALL, COUNTER, FLOOR ; 06
+ tilecoll COUNTER, FLOOR, COUNTER, FLOOR ; 07
+ tilecoll COUNTER, COUNTER, FLOOR, FLOOR ; 08
+ tilecoll FLOOR, FLOOR, WARP_CARPET_DOWN, WARP_CARPET_DOWN ; 09
+ tilecoll WALL, FLOOR, FLOOR, WALL ; 0a
+ tilecoll WALL, WALL, WALL, WALL ; 0b
+ tilecoll WALL, WALL, LADDER, LADDER ; 0c
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 0d
+ tilecoll WALL, WALL, WALL, WALL ; 0e
+ tilecoll FLOOR, WALL, FLOOR, FLOOR ; 0f
+ tilecoll WALL, WALL, WALL, WALL ; 10
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 11
+ tilecoll WALL, WALL, WALL, FLOOR ; 12
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 13
+ tilecoll WALL, WALL, FLOOR, WALL ; 14
+ tilecoll WALL, FLOOR, WALL, WALL ; 15
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 16
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 17
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 18
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 19
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 1a
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 1b
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 1c
+ tilecoll WALL, UP_WALL, WALL, FLOOR ; 1d
+ tilecoll UP_WALL, UP_WALL, FLOOR, FLOOR ; 1e
+ tilecoll UP_WALL, WALL, FLOOR, WALL ; 1f
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 20
+ tilecoll WALL, FLOOR, WALL, WALL ; 21
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 22
+ tilecoll FLOOR, WALL, WALL, WALL ; 23
+ tilecoll FLOOR, FLOOR, WARP_CARPET_DOWN, WARP_CARPET_DOWN ; 24
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 25
+ tilecoll WALL, WALL, WALL, WALL ; 26
+ tilecoll WALL, WALL, WALL, WALL ; 27
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 28
+ tilecoll WALL, WALL, WALL, WALL ; 29
+ tilecoll WALL, WALL, WALL, WALL ; 2a
+ tilecoll WALL, WALL, WALL, WALL ; 2b
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 2c
+ tilecoll WALL, WALL, WALL, WALL ; 2d
+ tilecoll WALL, WALL, WALL, WALL ; 2e
+ tilecoll WALL, WALL, WALL, WALL ; 2f
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 30
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 31
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 32
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 33
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 34
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 35
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 36
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 37
+ tilecoll FLOOR, WALL, WALL, WALL ; 38
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 39
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 3a
+ tilecoll WALL, WALL, WALL, WALL ; 3b
+ tilecoll WALL, WALL, WALL, WALL ; 3c
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 3d
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 3e
+ tilecoll WALL, FLOOR, WALL, WALL ; 3f
+ tilecoll FLOOR, WALL, WALL, WALL ; 40
diff --git a/data/tilesets/olivine_gym_metatiles.bin b/data/tilesets/olivine_gym_metatiles.bin
new file mode 100644
index 000000000..a2adb197a
--- /dev/null
+++ b/data/tilesets/olivine_gym_metatiles.bin
@@ -0,0 +1,15 @@
+  *() 89+,!!   %'!!  5 5 5 5 5&&01    %&&'677:"##$2334°°°°“ÕÖ·×ŲŲŁŚŪŪÜ  +,+, *() 89 SSSSSSSSSSSSSSSSFGFGVWVWFGSSVWSS FGFGVWVWSSFGSSVW]•—‚]]]%&&'XYXYŃ£¤Ń„¦§Ø©Ŗ«¬­®ÆŌSSSSSSSSFGFGVWVWĒČŅŅÓÓÓÓÓÓŅÓÓÓÓŅFGSSVWSSFGSSVWSSSSFGSSVWSSFGSSVW./SS>?SSNOSS^_SSSS./SS>?SSNOSS^_S@HH@PQQPPQQPPQQHHHHQQQQQQQQQQQQHHBSQQRBQQRRQQRR----------------PPQQPPQQPCDDCDDDQQQQQQQQTUTUTUTUQQRRQQRRDDERDDDESSSSSSSS
+ SS
+ SS
+ SSSS
+ FG
+ VW
+ FG
+ VWFG
+ VW
+ FG
+ VW
+ SS
+ SS
+ SS
+ SSʰ°°Ė±Ż±Ģ²Ž²ÉĄĄĄ°°°Ī±Ż±Ļ²Ž²ŠĄĄĄĶFGFGVWVWFGFGVWVW————]]]]%&&'XYXY°°ĮĀŻ±ĆÄŽ²ÅĘĄĄÅĘĮ°°ĆıŻÅƲŽÅĘĄĄ°°°°“µ¶·ø¹ŗ»¼½¾æ]ˆ‰‚]ˆ‰‚]ˆ‰€]ˆ‰‹Œ]…‹Œ]†‹Œ]‡‹Œ]„;<<=;<<=;<<=;<<=ŅŅĒČŅÓÓÓÓŅÓÓÓÓŅÓ````````````````;<<=;<<=%&&'XYXY˜™——š›——œ——žŸ————˜™——š›——œ——žŸ—–]…]]]†%&&'XYXY]•—‚]]—ƒ]]•€]•——–]…—]]†–]]‡—–]„]ˆ‰‚]ˆ‰ƒ]ˆ€]Ž‹Œ]…‹Œ]†’Œ]‡Ž]„————————————————ÓÓÓÓ;<<=””””““““”ÓÓÓ¢ŅÓŅ‘‘‘‘ŽŽŽŽŅÓÓ”ŅŅÓ¢‘‘‘‘ŽŽŽŽ \ No newline at end of file
diff --git a/data/tilesets/omanyte_word_room_collision.asm b/data/tilesets/omanyte_word_room_collision.asm
new file mode 100644
index 000000000..138f07143
--- /dev/null
+++ b/data/tilesets/omanyte_word_room_collision.asm
@@ -0,0 +1,64 @@
+ tilecoll WALL, WALL, WALL, WALL ; 01
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 02
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 03
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 04
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 05
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 06
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 07
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 08
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 09
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 0a
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 0b
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 0c
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 0d
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 0e
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 0f
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 10
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 11
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 12
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 13
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 14
+ tilecoll WALL, WALL, WALL, FLOOR ; 15
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 16
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 17
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 18
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 19
+ tilecoll WALL, WALL, FLOOR, WALL ; 1a
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 1b
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 1c
+ tilecoll FLOOR, FLOOR, FLOOR, PIT ; 1d
+ tilecoll WALL, WALL, WALL, WALL ; 1e
+ tilecoll WALL, WALL, WALL, WALL ; 1f
+ tilecoll WALL, WALL, WALL, WALL ; 20
+ tilecoll WALL, WALL, WALL, WALL ; 21
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 22
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 23
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 24
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 25
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 26
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 27
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 28
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 29
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 2a
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 2b
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 2c
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 2d
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 2e
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 2f
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 30
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 31
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 32
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 33
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 34
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 35
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 36
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 37
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 38
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 39
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 3a
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 3b
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 3c
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 3d
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 3e
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 3f
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 40
diff --git a/data/tilesets/omanyte_word_room_metatiles.bin b/data/tilesets/omanyte_word_room_metatiles.bin
new file mode 100644
index 000000000..3cc62f562
--- /dev/null
+++ b/data/tilesets/omanyte_word_room_metatiles.bin
@@ -0,0 +1,17 @@
+ĘĒŽÖמŸˆ‰[\˜™M]®Æ¾æ¬­Äż½ŌÕÄň‰Ō՘™ÄÅÄÅŌÕŌÕŒĀܝŅÓˆ‰€˜™‘ĘĒÖ× ”Ŗ«°±ŗ»ÄÅ ”ŌÕ°±ŒŽœžŸĘĒÖ×€Ŗ«‘ŗ»†‡–— 
+ 
+ 
+  !"#Āƈ‰ŅӘ™@ABC 89
+ 
+ 
+
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ TVXY 
+ C 6!@ #8
+ 6"7Š‹Čɚ›ŲŁÄň‰Ō՘™ĘĒÖ׎ˆ‰žŸ˜™¬­Čɼ½ŲŁĘĒÄÅÖ×ŌÕ ”†‡°±–—ˆ‰˜™Ģͬ­Üݼ½ĀƦ§ŅÓ¶·†‡–— \ No newline at end of file
diff --git a/data/tilesets/park_collision.asm b/data/tilesets/park_collision.asm
new file mode 100644
index 000000000..c5965e0c9
--- /dev/null
+++ b/data/tilesets/park_collision.asm
@@ -0,0 +1,64 @@
+ tilecoll WALL, WALL, WALL, WALL ; 01
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 02
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 03
+ tilecoll TALL_GRASS, TALL_GRASS, TALL_GRASS, TALL_GRASS ; 04
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 05
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 06
+ tilecoll WALL, WALL, WALL, WALL ; 07
+ tilecoll WATER_21, WATER_21, WATER_21, WATER_21 ; 08
+ tilecoll WALL, WALL, WALL, WALL ; 09
+ tilecoll WALL, WALL, WALL, WALL ; 0a
+ tilecoll FLOOR, FLOOR, WARP_CARPET_DOWN, WARP_CARPET_DOWN ; 0b
+ tilecoll FLOOR, WARP_CARPET_RIGHT, FLOOR, WARP_CARPET_RIGHT ; 0c
+ tilecoll WALL, WALL, WALL, WALL ; 0d
+ tilecoll WALL, WALL, WALL, WALL ; 0e
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 0f
+ tilecoll WALL, FLOOR, FLOOR, FLOOR ; 10
+ tilecoll WALL, WALL, WALL, FLOOR ; 11
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 12
+ tilecoll WALL, WALL, FLOOR, WALL ; 13
+ tilecoll LONG_GRASS, LONG_GRASS, LONG_GRASS, LONG_GRASS ; 14
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 15
+ tilecoll WALL, FLOOR, FLOOR, FLOOR ; 16
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 17
+ tilecoll FLOOR, FLOOR, FLOOR, WALL ; 18
+ tilecoll WALL, FLOOR, WALL, WALL ; 19
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 1a
+ tilecoll FLOOR, WALL, WALL, WALL ; 1b
+ tilecoll FLOOR, FLOOR, WALL, FLOOR ; 1c
+ tilecoll WALL, WALL, WALL, FLOOR ; 1d
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 1e
+ tilecoll WALL, WALL, FLOOR, WALL ; 1f
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 20
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 21
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 22
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 23
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 24
+ tilecoll WALL, FLOOR, WALL, WALL ; 25
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 26
+ tilecoll FLOOR, WALL, WALL, WALL ; 27
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 28
+ tilecoll WALL, WALL, WALL, WALL ; 29
+ tilecoll WALL, WALL, WALL, WALL ; 2a
+ tilecoll WALL, WALL, WALL, WALL ; 2b
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 2c
+ tilecoll WALL, WALL, WALL, WALL ; 2d
+ tilecoll WALL, WALL, WALL, WALL ; 2e
+ tilecoll WALL, WALL, WALL, WALL ; 2f
+ tilecoll FLOOR, WALL, FLOOR, FLOOR ; 30
+ tilecoll WALL, WALL, WALL, WALL ; 31
+ tilecoll WALL, WALL, WALL, WALL ; 32
+ tilecoll WALL, WALL, WALL, WALL ; 33
+ tilecoll LONG_GRASS, LONG_GRASS, LONG_GRASS, LONG_GRASS ; 34
+ tilecoll WALL, WALL, WALL, WALL ; 35
+ tilecoll WALL, WALL, WALL, WALL ; 36
+ tilecoll WALL, WALL, WALL, WALL ; 37
+ tilecoll WALL, WALL, WALL, WALL ; 38
+ tilecoll WALL, WALL, WALL, WALL ; 39
+ tilecoll WALL, WALL, WALL, WALL ; 3a
+ tilecoll WALL, WALL, WALL, WALL ; 3b
+ tilecoll WALL, WALL, WALL, WALL ; 3c
+ tilecoll WALL, WALL, WALL, WALL ; 3d
+ tilecoll WALL, WALL, WALL, WALL ; 3e
+ tilecoll WALL, WALL, WALL, WALL ; 3f
+ tilecoll LONG_GRASS, LONG_GRASS, LONG_GRASS, LONG_GRASS ; 40
diff --git a/data/tilesets/park_metatiles.bin b/data/tilesets/park_metatiles.bin
new file mode 100644
index 000000000..1fe931640
--- /dev/null
+++ b/data/tilesets/park_metatiles.bin
Binary files differ
diff --git a/data/tilesets/players_house_2f_collision.asm b/data/tilesets/players_house_2f_collision.asm
new file mode 100644
index 000000000..464d80b83
--- /dev/null
+++ b/data/tilesets/players_house_2f_collision.asm
@@ -0,0 +1,64 @@
+ tilecoll WALL, WALL, WALL, WALL ; 01
+ tilecoll WALL, WALL, WALL, WALL ; 02
+ tilecoll WALL, STAIRCASE, FLOOR, FLOOR ; 03
+ tilecoll WALL, WALL, TV, BOOKSHELF ; 04
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 05
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 06
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 07
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 08
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 09
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 0a
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 0b
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 0c
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 0d
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 0e
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 0f
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 10
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 11
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 12
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 13
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 14
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 15
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 16
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 17
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 18
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 19
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 1a
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 1b
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 1c
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 1d
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 1e
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 1f
+ tilecoll TOWN_MAP, STAIRCASE, FLOOR, FLOOR ; 20
+ tilecoll FLOOR, WALL, FLOOR, FLOOR ; 21
+ tilecoll FLOOR, WALL, FLOOR, FLOOR ; 22
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 23
+ tilecoll WALL, STAIRCASE, FLOOR, FLOOR ; 24
+ tilecoll WALL, STAIRCASE, FLOOR, FLOOR ; 25
+ tilecoll WALL, STAIRCASE, FLOOR, FLOOR ; 26
+ tilecoll FF, FF, FF, FF ; 27
+ tilecoll FF, FF, FF, FF ; 28
+ tilecoll FF, FF, FF, FF ; 29
+ tilecoll FF, FF, FF, FF ; 2a
+ tilecoll FF, FF, FF, FF ; 2b
+ tilecoll FF, FF, FF, FF ; 2c
+ tilecoll FF, FF, FF, FF ; 2d
+ tilecoll FF, FF, FF, FF ; 2e
+ tilecoll FF, FF, FF, FF ; 2f
+ tilecoll FF, FF, FF, FF ; 30
+ tilecoll FF, FF, FF, FF ; 31
+ tilecoll FF, FF, FF, FF ; 32
+ tilecoll FF, FF, FF, FF ; 33
+ tilecoll FF, FF, FF, FF ; 34
+ tilecoll FF, FF, FF, FF ; 35
+ tilecoll FF, FF, FF, FF ; 36
+ tilecoll FF, FF, FF, FF ; 37
+ tilecoll FF, FF, FF, FF ; 38
+ tilecoll FF, FF, FF, FF ; 39
+ tilecoll FF, FF, FF, FF ; 3a
+ tilecoll FF, FF, FF, FF ; 3b
+ tilecoll FF, FF, FF, FF ; 3c
+ tilecoll FF, FF, FF, FF ; 3d
+ tilecoll FF, FF, FF, FF ; 3e
+ tilecoll FF, FF, FF, FF ; 3f
+ tilecoll FF, FF, FF, FF ; 40
diff --git a/data/tilesets/players_house_2f_metatiles.bin b/data/tilesets/players_house_2f_metatiles.bin
new file mode 100644
index 000000000..0839798fe
--- /dev/null
+++ b/data/tilesets/players_house_2f_metatiles.bin
Binary files differ
diff --git a/data/tilesets/players_house_collision.asm b/data/tilesets/players_house_collision.asm
new file mode 100644
index 000000000..ed6b70a29
--- /dev/null
+++ b/data/tilesets/players_house_collision.asm
@@ -0,0 +1,64 @@
+ tilecoll WALL, WALL, WALL, WALL ; 01
+ tilecoll WINDOW, WALL, FLOOR, FLOOR ; 02
+ tilecoll WALL, WALL, FLOOR, TV ; 03
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 04
+ tilecoll WALL, WALL, WALL, WALL ; 05
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 06
+ tilecoll FLOOR, FLOOR, WARP_CARPET_DOWN, WARP_CARPET_DOWN ; 07
+ tilecoll WALL, WALL, WALL, WALL ; 08
+ tilecoll FLOOR, FLOOR, FLOOR, WALL ; 09
+ tilecoll FLOOR, FLOOR, WALL, FLOOR ; 0a
+ tilecoll WALL, STAIRCASE, FLOOR, FLOOR ; 0b
+ tilecoll WALL, STAIRCASE, FLOOR, FLOOR ; 0c
+ tilecoll FLOOR, WALL, FLOOR, FLOOR ; 0d
+ tilecoll WALL, FLOOR, FLOOR, FLOOR ; 0e
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 0f
+ tilecoll WALL, WALL, WALL, WALL ; 10
+ tilecoll WALL, WALL, PC, FLOOR ; 11
+ tilecoll WALL, WALL, TV, WALL ; 12
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 13
+ tilecoll FLOOR, TV, FLOOR, WALL ; 14
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 15
+ tilecoll WALL, WALL, FLOOR, WALL ; 16
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 17
+ tilecoll FLOOR, WALL, FLOOR, FLOOR ; 18
+ tilecoll WALL, WALL, RADIO, PC ; 19
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 1a
+ tilecoll WALL, WALL, RADIO, FLOOR ; 1b
+ tilecoll WALL, WALL, BOOKSHELF, BOOKSHELF ; 1c
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 1d
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 1e
+ tilecoll WALL, WALL, VIRTUAL_BOY, FLOOR ; 1f
+ tilecoll WALL, WALL, PC, RADIO ; 20
+ tilecoll WALL, WALL, WALL, WALL ; 21
+ tilecoll WALL, WALL, TV, BOOKSHELF ; 22
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 23
+ tilecoll STAIRCASE, WALL, FLOOR, FLOOR ; 24
+ tilecoll STAIRCASE, WALL, FLOOR, FLOOR ; 25
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 26
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 27
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 28
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 29
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 2a
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 2b
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 2c
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 2d
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 2e
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 2f
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 30
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 31
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 32
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 33
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 34
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 35
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 36
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 37
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 38
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 39
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 3a
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 3b
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 3c
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 3d
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 3e
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 3f
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 40
diff --git a/data/tilesets/players_house_metatiles.bin b/data/tilesets/players_house_metatiles.bin
new file mode 100644
index 000000000..f316eb8c1
--- /dev/null
+++ b/data/tilesets/players_house_metatiles.bin
Binary files differ
diff --git a/data/tilesets/pokecenter_collision.asm b/data/tilesets/pokecenter_collision.asm
new file mode 100644
index 000000000..5b776330e
--- /dev/null
+++ b/data/tilesets/pokecenter_collision.asm
@@ -0,0 +1,64 @@
+ tilecoll WALL, WALL, WALL, WALL ; 01
+ tilecoll WALL, WALL, WALL, WALL ; 02
+ tilecoll WALL, WALL, WALL, FLOOR ; 03
+ tilecoll WALL, WALL, FLOOR, WALL ; 04
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 05
+ tilecoll COUNTER, COUNTER, FLOOR, FLOOR ; 06
+ tilecoll WALL, COUNTER, FLOOR, FLOOR ; 07
+ tilecoll COUNTER, WALL, FLOOR, FLOOR ; 08
+ tilecoll WALL, WALL, FLOOR, PC ; 09
+ tilecoll WALL, WALL, FLOOR, WALL ; 0a
+ tilecoll WALL, DOOR, FLOOR, FLOOR ; 0b
+ tilecoll WALL, WALL, WALL, WALL ; 0c
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 0d
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 0e
+ tilecoll WALL, FLOOR, FLOOR, FLOOR ; 0f
+ tilecoll WALL, WALL, FLOOR, WALL ; 10
+ tilecoll FLOOR, FLOOR, LADDER, FLOOR ; 11
+ tilecoll FLOOR, FLOOR, FLOOR, WARP_CARPET_DOWN ; 12
+ tilecoll FLOOR, FLOOR, LADDER, FLOOR ; 13
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 14
+ tilecoll WALL, FLOOR, FLOOR, FLOOR ; 15
+ tilecoll WALL, DOOR, FLOOR, FLOOR ; 16
+ tilecoll WALL, WALL, FLOOR, WALL ; 17
+ tilecoll WALL, WALL, WALL, WALL ; 18
+ tilecoll WALL, WALL, WALL, WALL ; 19
+ tilecoll WALL, WALL, WALL, WALL ; 1a
+ tilecoll WALL, WALL, WALL, WALL ; 1b
+ tilecoll WALL, WALL, WALL, WALL ; 1c
+ tilecoll WALL, WALL, WALL, WALL ; 1d
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 1e
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 1f
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 20
+ tilecoll WALL, WALL, WALL, WALL ; 21
+ tilecoll WALL, WALL, FLOOR, PC ; 22
+ tilecoll WALL, WALL, WALL, FLOOR ; 23
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 24
+ tilecoll FLOOR, FLOOR, WARP_CARPET_DOWN, WARP_CARPET_DOWN ; 25
+ tilecoll WALL, FLOOR, FLOOR, FLOOR ; 26
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 27
+ tilecoll FLOOR, FLOOR, WARP_CARPET_DOWN, FLOOR ; 28
+ tilecoll WALL, WALL, FLOOR, WALL ; 29
+ tilecoll WALL, FLOOR, FLOOR, FLOOR ; 2a
+ tilecoll WALL, WALL, WALL, FLOOR ; 2b
+ tilecoll WALL, DOOR, FLOOR, FLOOR ; 2c
+ tilecoll WALL, WALL, WALL, WALL ; 2d
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 2e
+ tilecoll FLOOR, FLOOR, FLOOR, WALL ; 2f
+ tilecoll FLOOR, FLOOR, WALL, FLOOR ; 30
+ tilecoll COUNTER, COUNTER, FLOOR, FLOOR ; 31
+ tilecoll WALL, WALL, FLOOR, WALL ; 32
+ tilecoll PC, WALL, FLOOR, WALL ; 33
+ tilecoll FLOOR, WARP_PANEL, FLOOR, FLOOR ; 34
+ tilecoll DOOR, WALL, FLOOR, FLOOR ; 35
+ tilecoll DOOR, WALL, FLOOR, WALL ; 36
+ tilecoll DOOR, WALL, FLOOR, FLOOR ; 37
+ tilecoll DOOR, WALL, FLOOR, WALL ; 38
+ tilecoll WALL, FLOOR, FLOOR, FLOOR ; 39
+ tilecoll WALL, WALL, FLOOR, WALL ; 3a
+ tilecoll WALL, FLOOR, FLOOR, FLOOR ; 3b
+ tilecoll WALL, WALL, FLOOR, WALL ; 3c
+ tilecoll WARP_PANEL, FLOOR, FLOOR, FLOOR ; 3d
+ tilecoll WARP_PANEL, FLOOR, FLOOR, FLOOR ; 3e
+ tilecoll WARP_PANEL, WARP_PANEL, FLOOR, FLOOR ; 3f
+ tilecoll FLOOR, WARP_PANEL, FLOOR, FLOOR ; 40
diff --git a/data/tilesets/pokecenter_metatiles.bin b/data/tilesets/pokecenter_metatiles.bin
new file mode 100644
index 000000000..c96c4843b
--- /dev/null
+++ b/data/tilesets/pokecenter_metatiles.bin
Binary files differ
diff --git a/data/tilesets/pokecom_center_collision.asm b/data/tilesets/pokecom_center_collision.asm
new file mode 100644
index 000000000..1ecef84de
--- /dev/null
+++ b/data/tilesets/pokecom_center_collision.asm
@@ -0,0 +1,64 @@
+ tilecoll WALL, WALL, WALL, WALL ; 01
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 02
+ tilecoll STAIRCASE, WALL, FLOOR, FLOOR ; 03
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 04
+ tilecoll WALL, WALL, WALL, FLOOR ; 05
+ tilecoll WALL, WALL, WALL, WALL ; 06
+ tilecoll WALL, WALL, WALL, FLOOR ; 07
+ tilecoll WALL, WALL, FLOOR, PC ; 08
+ tilecoll WALL, WALL, WALL, FLOOR ; 09
+ tilecoll WALL, COUNTER, FLOOR, FLOOR ; 0a
+ tilecoll WALL, COUNTER, FLOOR, FLOOR ; 0b
+ tilecoll WALL, WALL, WALL, WALL ; 0c
+ tilecoll WALL, WALL, FLOOR, WALL ; 0d
+ tilecoll FLOOR, WALL, FLOOR, FLOOR ; 0e
+ tilecoll FLOOR, WALL, FLOOR, FLOOR ; 0f
+ tilecoll WALL, WALL, FLOOR, WALL ; 10
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 11
+ tilecoll WALL, WALL, WALL, FLOOR ; 12
+ tilecoll WALL, WALL, WALL, WALL ; 13
+ tilecoll WALL, WALL, WALL, WALL ; 14
+ tilecoll WALL, WALL, WALL, WALL ; 15
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 16
+ tilecoll WALL, WALL, WALL, WALL ; 17
+ tilecoll WALL, WALL, WALL, WALL ; 18
+ tilecoll WALL, WALL, WALL, WALL ; 19
+ tilecoll WALL, WALL, WALL, WALL ; 1a
+ tilecoll WALL, WALL, FLOOR, WALL ; 1b
+ tilecoll WALL, WALL, WALL, WALL ; 1c
+ tilecoll WALL, WALL, WALL, WALL ; 1d
+ tilecoll WALL, WALL, WALL, WALL ; 1e
+ tilecoll WALL, WALL, WALL, WALL ; 1f
+ tilecoll WALL, WALL, WALL, WALL ; 20
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 21
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 22
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 23
+ tilecoll WALL, WALL, WALL, WALL ; 24
+ tilecoll WALL, WALL, WALL, WALL ; 25
+ tilecoll WALL, WALL, WALL, WALL ; 26
+ tilecoll WALL, WALL, WALL, WALL ; 27
+ tilecoll WALL, WALL, WALL, WALL ; 28
+ tilecoll WALL, WALL, WALL, WALL ; 29
+ tilecoll WALL, WALL, WALL, WALL ; 2a
+ tilecoll WALL, WALL, WALL, WALL ; 2b
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 2c
+ tilecoll FLOOR, FLOOR, LADDER, FLOOR ; 2d
+ tilecoll FLOOR, FLOOR, WARP_CARPET_DOWN, WARP_CARPET_DOWN ; 2e
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 2f
+ tilecoll WALL, WALL, WALL, WALL ; 30
+ tilecoll WALL, WALL, WALL, WALL ; 31
+ tilecoll WALL, WALL, WALL, WALL ; 32
+ tilecoll WALL, WALL, WALL, WALL ; 33
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 34
+ tilecoll WALL, WALL, WALL, WALL ; 35
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 36
+ tilecoll WALL, FLOOR, FLOOR, FLOOR ; 37
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 38
+ tilecoll WALL, WALL, WALL, WALL ; 39
+ tilecoll WALL, WALL, WALL, WALL ; 3a
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 3b
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 3c
+ tilecoll WALL, WALL, WALL, WALL ; 3d
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 3e
+ tilecoll WALL, WALL, WALL, WALL ; 3f
+ tilecoll WALL, WALL, WALL, WALL ; 40
diff --git a/data/tilesets/pokecom_center_metatiles.bin b/data/tilesets/pokecom_center_metatiles.bin
new file mode 100644
index 000000000..097a882fd
--- /dev/null
+++ b/data/tilesets/pokecom_center_metatiles.bin
@@ -0,0 +1,2 @@
+================"#23"#23±±%,-./<==?LMNOƒƒ
+  !01@A544$$$$ĀĆŅÓ 44$$$$4444$$$$±R,/±RLO±R\]±‘ƒ±±%4”$ ”†‡,/–—LO:;\]‘ 5$$$$±R&'±R±R±·¶±–§—±†¦‡±·¶±·¶±–§—±JK£±Z[%444 $$$±¦¦‡± ¶±4444$$$$4444$$$$¦¦¦¦§§§§ƒƒŠ‹°²ˆ‰·˜š·ˆ‰·˜™–§¶Œ¶›¶Œ§—œ4444$$$$ÄÅŌÕ================Ø©Ŗ«ø¹ŗ»ČÉŹĖŲŁŚŪŖ«¬­ŗ»¼½ŹĖĢĶŚŪÜŻˆ‰·˜š·ˆ‰·˜š·¶Œ¶›¶Œ¶›ŲŻŽŽ¶4ŽŽ¶$ŽŽ¶§§—Ŗ«Ŗ«ŗ»ŗ»ŹĖŹĖŚŪŚŪ¶’“·¶¢£·¦¦§§§§ƒƒŠ‹†¦¦·ŽŽƒƒŠ‹¦¦‡ŽŽ¶¶’“·¶¢£·¶ĄĮ·¶ŠŃ·ŽŽŽŽŽŽŽŽŽŽŽŽ§§§§ƒƒŠ‹¦¦¦¦ŽŽŽŽDETUQQQQPPPPHIHIXYXY4·ŽŽ$·ŽŽ€·ŽŽ>–§§Š‹Š‹°²°²ЋЋ°²°² 44ЋЋ°²°²4444®Æ®ÆŽßŽß®Æ®Æ¾æ¾æ^_^_„…()„…89”•:;‚‚‚‚$$$$ĘĒ‚‚Öׁ‚‚()$$89ĘĒ:;Öׂ‚‚‚¦¦¦¦§§ ¶BC·¶¢S·®Æ®Æ¾æ¾æĪϾæŽßŽß 4$$$• 444±¤„$±“µ¦±–§§4444$$$$ž‰†¦˜š·ˆ‰·˜š·¦‡ŒŸ¶›¶Œ¶› \ No newline at end of file
diff --git a/data/tilesets/port_collision.asm b/data/tilesets/port_collision.asm
new file mode 100644
index 000000000..fb37ee11e
--- /dev/null
+++ b/data/tilesets/port_collision.asm
@@ -0,0 +1,64 @@
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 01
+ tilecoll WALL, WALL, WALL, WALL ; 02
+ tilecoll BUOY, WATER, BUOY, WATER ; 03
+ tilecoll WATER, BUOY, WATER, BUOY ; 04
+ tilecoll LADDER, LADDER, LADDER, LADDER ; 05
+ tilecoll WALL, WALL, WALL, WATER ; 06
+ tilecoll WALL, WALL, WATER, WATER ; 07
+ tilecoll WALL, WALL, WATER, WALL ; 08
+ tilecoll WATER, WATER, WATER, WATER ; 09
+ tilecoll WALL, WATER, WALL, WATER ; 0a
+ tilecoll WATER, WATER, WATER, WATER ; 0b
+ tilecoll WATER, WALL, WATER, WALL ; 0c
+ tilecoll WATER, WATER, FLOOR, FLOOR ; 0d
+ tilecoll WALL, WATER, WALL, WALL ; 0e
+ tilecoll WATER, WATER, WALL, WALL ; 0f
+ tilecoll WATER, WALL, WALL, WALL ; 10
+ tilecoll WATER, WATER, WATER, WATER ; 11
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 12
+ tilecoll WATER, WATER, WATER, WATER ; 13
+ tilecoll WATER, FLOOR, WATER, FLOOR ; 14
+ tilecoll WATER, FLOOR, WATER, FLOOR ; 15
+ tilecoll WATER, WATER, WATER, WATER ; 16
+ tilecoll WATER, WATER, WATER, WATER ; 17
+ tilecoll WATER, FLOOR, WALL, WARP_CARPET_DOWN ; 18
+ tilecoll WATER, WATER, WALL, WALL ; 19
+ tilecoll WATER, FLOOR, WALL, WALL ; 1a
+ tilecoll WALL, WALL, WALL, WALL ; 1b
+ tilecoll WALL, WATER, WALL, WALL ; 1c
+ tilecoll WATER_21, WATER_21, WALL, WALL ; 1d
+ tilecoll WATER_21, WATER_21, WALL, WALL ; 1e
+ tilecoll WATER_21, WATER_21, WALL, WALL ; 1f
+ tilecoll WALL, WALL, WALL, WATER ; 20
+ tilecoll WALL, FLOOR, WATER, WARP_CARPET_DOWN ; 21
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 22
+ tilecoll BUOY, BUOY, BUOY, WATER ; 23
+ tilecoll BUOY, BUOY, WATER, BUOY ; 24
+ tilecoll BUOY, BUOY, WATER, WATER ; 25
+ tilecoll BUOY, BUOY, WATER, WATER ; 26
+ tilecoll LADDER, LADDER, LADDER, LADDER ; 27
+ tilecoll FLOOR, FLOOR, WATER, WATER ; 28
+ tilecoll FLOOR, FLOOR, FLOOR, WATER ; 29
+ tilecoll FLOOR, FLOOR, WATER, FLOOR ; 2a
+ tilecoll WALL, WALL, WALL, WALL ; 2b
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 2c
+ tilecoll FLOOR, WATER, FLOOR, FLOOR ; 2d
+ tilecoll WATER, FLOOR, FLOOR, FLOOR ; 2e
+ tilecoll FLOOR, WATER, FLOOR, WATER ; 2f
+ tilecoll WATER, FLOOR, WATER, FLOOR ; 30
+ tilecoll FLOOR, FLOOR, WATER, WATER ; 31
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 32
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 33
+ tilecoll FLOOR, FLOOR, WARP_CARPET_DOWN, WARP_CARPET_DOWN ; 34
+ tilecoll FLOOR, WATER, FLOOR, WATER ; 35
+ tilecoll WALL, WALL, FLOOR, LADDER ; 36
+ tilecoll WATER, WATER, WATER, WATER ; 37
+ tilecoll FLOOR, WATER, FLOOR, WATER ; 38
+ tilecoll WATER, FLOOR, WATER, FLOOR ; 39
+ tilecoll WATER, WATER, FLOOR, FLOOR ; 3a
+ tilecoll FLOOR, FLOOR, FLOOR, WALL ; 3b
+ tilecoll FLOOR, FLOOR, FLOOR, WALL ; 3c
+ tilecoll FLOOR, FLOOR, FLOOR, WALL ; 3d
+ tilecoll FLOOR, FLOOR, FLOOR, WALL ; 3e
+ tilecoll FLOOR, FLOOR, FLOOR, WALL ; 3f
+ tilecoll FLOOR, FLOOR, FLOOR, WALL ; 40
diff --git a/data/tilesets/port_metatiles.bin b/data/tilesets/port_metatiles.bin
new file mode 100644
index 000000000..69a600707
--- /dev/null
+++ b/data/tilesets/port_metatiles.bin
@@ -0,0 +1,65 @@
+""""!!!!1111111111111111    ""  !!!!+,--9::3#$%./02;<=>&'()345?@AB*678CDE+,-39:PQXYZFGHIRRSSZ[\\IJKLT,-U]^^^MNOVW_’’’’’’’’’’’’’’’’""""""""
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+  ""1111 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’ \ No newline at end of file
diff --git a/data/tilesets/power_plant_collision.asm b/data/tilesets/power_plant_collision.asm
new file mode 100644
index 000000000..eb5cd8f33
--- /dev/null
+++ b/data/tilesets/power_plant_collision.asm
@@ -0,0 +1,64 @@
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 01
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 02
+ tilecoll WALL, WALL, WALL, WALL ; 03
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 04
+ tilecoll FLOOR, LADDER, FLOOR, FLOOR ; 05
+ tilecoll FLOOR, LADDER, FLOOR, FLOOR ; 06
+ tilecoll WALL, WALL, BOOKSHELF, BOOKSHELF ; 07
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 08
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 09
+ tilecoll WALL, WALL, WALL, FLOOR ; 0a
+ tilecoll WALL, WALL, FLOOR, WALL ; 0b
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 0c
+ tilecoll FLOOR, FLOOR, WARP_CARPET_DOWN, WARP_CARPET_DOWN ; 0d
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 0e
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 0f
+ tilecoll WALL, WALL, WALL, WALL ; 10
+ tilecoll FLOOR, FLOOR, FLOOR, WALL ; 11
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 12
+ tilecoll WALL, WALL, WALL, WALL ; 13
+ tilecoll WALL, WALL, WALL, WALL ; 14
+ tilecoll FLOOR, WALL, FLOOR, FLOOR ; 15
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 16
+ tilecoll WALL, WALL, WALL, WALL ; 17
+ tilecoll WALL, WALL, WALL, WALL ; 18
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 19
+ tilecoll WALL, WALL, WALL, WALL ; 1a
+ tilecoll WALL, WALL, WALL, FLOOR ; 1b
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 1c
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 1d
+ tilecoll WALL, STAIRCASE, FLOOR, FLOOR ; 1e
+ tilecoll WALL, WALL, FLOOR, COUNTER ; 1f
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 20
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 21
+ tilecoll WALL, WALL, WALL, FLOOR ; 22
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 23
+ tilecoll WALL, FLOOR, WALL, WALL ; 24
+ tilecoll FLOOR, FLOOR, FLOOR, WALL ; 25
+ tilecoll FLOOR, FLOOR, WALL, FLOOR ; 26
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 27
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 28
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 29
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 2a
+ tilecoll FLOOR, FLOOR, WALL, FLOOR ; 2b
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 2c
+ tilecoll FLOOR, FLOOR, WALL, FLOOR ; 2d
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 2e
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 2f
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 30
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 31
+ tilecoll COUNTER, COUNTER, FLOOR, FLOOR ; 32
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 33
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 34
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 35
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 36
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 37
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 38
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 39
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 3a
+ tilecoll FLOOR, WALL, WALL, WALL ; 3b
+ tilecoll WALL, WALL, FLOOR, WALL ; 3c
+ tilecoll WALL, WALL, WALL, FLOOR ; 3d
+ tilecoll WALL, WALL, FLOOR, WALL ; 3e
+ tilecoll WALL, FLOOR, WALL, WALL ; 3f
+ tilecoll FLOOR, COUNTER, COUNTER, COUNTER ; 40
diff --git a/data/tilesets/power_plant_metatiles.bin b/data/tilesets/power_plant_metatiles.bin
new file mode 100644
index 000000000..f6089d29c
--- /dev/null
+++ b/data/tilesets/power_plant_metatiles.bin
@@ -0,0 +1,8 @@
+6666666666666666""""""""&&&&@B@B
+
+
+
+ &&&&88889999&& !&&&&&01&&&&&@B@B()()()()*+()&&&&&&&& &&,-""<=""./&>?&"",-""<=&./&>? &&&&''''7777,-&<=&./&>?&&,-&<=&./&>?@AABPQQRPHIRS::T&&&@A&PQ&&AAABQQQREEFEUUVU
+ K
+[EFEEUVUU K
+ [&PQ&S:&&QQQR:::T&&EFE;UVU;JKJ;Z[Z;6666666666666666AAABMMMN88889999""""""""#$$%WXXY""""@B""PRPRPRPRPR""23""CD&&&&""""""@B&PR&PR;;;;;;;;&&&&&&&&;;;;;;;;""""@B""PR&PR&PR&PR&PR&PR&PR&PR&PR@APRLM&&&&&@A&LM&&&&AB&MN&&&&&@B@APRLM&&&& &&@AABPHIR &&&&&&@B&PR&PR&PR&PR&&@BPR#$$%WXXY&&&&PRPRPRPR@B&PR&PR&PR&@AAALMMM&&&&AAABMMMN&&&&&@B&PR&PR&PR&&&&AAAAMMMM""""""""&&AAAAMMMM&&&&&PR&PR&PR&PR&@A&PQ&PQ&S:@AAALMMM88889999&PR&PRABPRMNPR""""""\]&^_&@B@APRLMPR&PR&AB@BMNPR&PR&PRPR&PR&PR@ALM&PR&PRABPRMN \ No newline at end of file
diff --git a/data/tilesets/radio_tower_collision.asm b/data/tilesets/radio_tower_collision.asm
new file mode 100644
index 000000000..1713eb438
--- /dev/null
+++ b/data/tilesets/radio_tower_collision.asm
@@ -0,0 +1,64 @@
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 01
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 02
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 03
+ tilecoll WALL, STAIRCASE, FLOOR, FLOOR ; 04
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 05
+ tilecoll FLOOR, FLOOR, WALL, COUNTER ; 06
+ tilecoll FLOOR, FLOOR, COUNTER, COUNTER ; 07
+ tilecoll FLOOR, FLOOR, WARP_CARPET_DOWN, WARP_CARPET_DOWN ; 08
+ tilecoll COUNTER, COUNTER, FLOOR, FLOOR ; 09
+ tilecoll COUNTER, FLOOR, COUNTER, FLOOR ; 0a
+ tilecoll WALL, WALL, BOOKSHELF, BOOKSHELF ; 0b
+ tilecoll WALL, WALL, WALL, WALL ; 0c
+ tilecoll STAIRCASE, WALL, FLOOR, FLOOR ; 0d
+ tilecoll WALL, STAIRCASE, FLOOR, FLOOR ; 0e
+ tilecoll FLOOR, FLOOR, FLOOR, COUNTER ; 0f
+ tilecoll FLOOR, FLOOR, COUNTER, FLOOR ; 10
+ tilecoll FLOOR, COUNTER, FLOOR, FLOOR ; 11
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 12
+ tilecoll WALL, WALL, PC, FLOOR ; 13
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 14
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 15
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 16
+ tilecoll WALL, WALL, WALL, WALL ; 17
+ tilecoll FLOOR, FLOOR, COUNTER, FLOOR ; 18
+ tilecoll FLOOR, WALL, FLOOR, FLOOR ; 19
+ tilecoll WALL, WALL, FLOOR, COUNTER ; 1a
+ tilecoll WALL, COUNTER, FLOOR, COUNTER ; 1b
+ tilecoll COUNTER, FLOOR, FLOOR, FLOOR ; 1c
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 1d
+ tilecoll STAIRCASE, WALL, FLOOR, FLOOR ; 1e
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 1f
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 20
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 21
+ tilecoll COUNTER, FLOOR, COUNTER, FLOOR ; 22
+ tilecoll FLOOR, FLOOR, COUNTER, COUNTER ; 23
+ tilecoll WALL, WALL, WALL, WALL ; 24
+ tilecoll WALL, WALL, FLOOR, BOOKSHELF ; 25
+ tilecoll COUNTER, FLOOR, COUNTER, FLOOR ; 26
+ tilecoll FLOOR, FLOOR, COUNTER, COUNTER ; 27
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 28
+ tilecoll WALL, WALL, FLOOR, WALL ; 29
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 2a
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 2b
+ tilecoll FLOOR, FLOOR, COUNTER, COUNTER ; 2c
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 2d
+ tilecoll FLOOR, COUNTER, FLOOR, COUNTER ; 2e
+ tilecoll FLOOR, FLOOR, COUNTER, COUNTER ; 2f
+ tilecoll WALL, WALL, WALL, WALL ; 30
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 31
+ tilecoll WALL, WALL, FLOOR, WALL ; 32
+ tilecoll FLOOR, WALL, FLOOR, FLOOR ; 33
+ tilecoll WALL, WALL, WALL, FLOOR ; 34
+ tilecoll WALL, FLOOR, FLOOR, FLOOR ; 35
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 36
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 37
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 38
+ tilecoll FLOOR, FLOOR, COUNTER, COUNTER ; 39
+ tilecoll FLOOR, WALL, FLOOR, FLOOR ; 3a
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 3b
+ tilecoll WALL, WALL, WALL, WALL ; 3c
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 3d
+ tilecoll FLOOR, FLOOR, FLOOR, WALL ; 3e
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 3f
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 40
diff --git a/data/tilesets/radio_tower_metatiles.bin b/data/tilesets/radio_tower_metatiles.bin
new file mode 100644
index 000000000..01c0b4aa5
--- /dev/null
+++ b/data/tilesets/radio_tower_metatiles.bin
Binary files differ
diff --git a/data/tilesets/ruins_of_alph_collision.asm b/data/tilesets/ruins_of_alph_collision.asm
new file mode 100644
index 000000000..8c65340ab
--- /dev/null
+++ b/data/tilesets/ruins_of_alph_collision.asm
@@ -0,0 +1,64 @@
+ tilecoll WALL, WALL, WALL, WALL ; 01
+ tilecoll WALL, WALL, WALL, FLOOR ; 02
+ tilecoll WALL, WALL, FLOOR, WALL ; 03
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 04
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 05
+ tilecoll WALL, WALL, WALL, FLOOR ; 06
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 07
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 08
+ tilecoll WALL, WALL, FLOOR, WALL ; 09
+ tilecoll WALL, FLOOR, WALL, WALL ; 0a
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 0b
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 0c
+ tilecoll FLOOR, WALL, WALL, WALL ; 0d
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 0e
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 0f
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 10
+ tilecoll WALL, FLOOR, FLOOR, FLOOR ; 11
+ tilecoll FLOOR, WALL, FLOOR, FLOOR ; 12
+ tilecoll FLOOR, FLOOR, WALL, FLOOR ; 13
+ tilecoll FLOOR, FLOOR, FLOOR, WALL ; 14
+ tilecoll WALL, FLOOR, WALL, WALL ; 15
+ tilecoll FLOOR, FLOOR, WALL, FLOOR ; 16
+ tilecoll FLOOR, FLOOR, FLOOR, WALL ; 17
+ tilecoll FLOOR, WALL, WALL, WALL ; 18
+ tilecoll WALL, WALL, WALL, PIT ; 19
+ tilecoll WALL, WALL, PIT, WALL ; 1a
+ tilecoll FLOOR, FLOOR, LADDER, FLOOR ; 1b
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 1c
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 1d
+ tilecoll FLOOR, FLOOR, WALL, FLOOR ; 1e
+ tilecoll FLOOR, FLOOR, FLOOR, WALL ; 1f
+ tilecoll WALL, FLOOR, FLOOR, FLOOR ; 20
+ tilecoll FLOOR, WALL, FLOOR, FLOOR ; 21
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 22
+ tilecoll WALL, FLOOR, FLOOR, FLOOR ; 23
+ tilecoll FLOOR, WALL, FLOOR, FLOOR ; 24
+ tilecoll WALL, WALL, WALL, WALL ; 25
+ tilecoll WALL, WALL, WALL, WALL ; 26
+ tilecoll WALL, WALL, WALL, WALL ; 27
+ tilecoll WALL, WALL, WALL, WALL ; 28
+ tilecoll WALL, WALL, WALL, WALL ; 29
+ tilecoll WALL, WALL, WALL, WALL ; 2a
+ tilecoll WALL, WALL, WALL, WALL ; 2b
+ tilecoll FLOOR, FLOOR, WARP_CARPET_DOWN, WALL ; 2c
+ tilecoll FLOOR, FLOOR, WALL, WARP_CARPET_DOWN ; 2d
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 2e
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 2f
+ tilecoll FLOOR, FLOOR, FLOOR, PIT ; 30
+ tilecoll CAVE, WALL, FLOOR, FLOOR ; 31
+ tilecoll WALL, FLOOR, FLOOR, FLOOR ; 32
+ tilecoll FLOOR, WALL, FLOOR, FLOOR ; 33
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 34
+ tilecoll WALL, WALL, WALL, PIT ; 35
+ tilecoll WALL, WALL, PIT, WALL ; 36
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 37
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 38
+ tilecoll FLOOR, FLOOR, GRASS_4A, FLOOR ; 39
+ tilecoll FLOOR, FLOOR, GRASS_4B, FLOOR ; 3a
+ tilecoll FLOOR, FLOOR, CUT_28, FLOOR ; 3b
+ tilecoll FLOOR, FLOOR, WATER, FLOOR ; 3c
+ tilecoll 64, FLOOR, WATERFALL_UP, FLOOR ; 3d
+ tilecoll 65, FLOOR, WATERFALL, FLOOR ; 3e
+ tilecoll WATERFALL_UP, FLOOR, WARP_CARPET_DOWN, FLOOR ; 3f
+ tilecoll WATERFALL, FLOOR, DOOR, FLOOR ; 40
diff --git a/data/tilesets/ruins_of_alph_metatiles.bin b/data/tilesets/ruins_of_alph_metatiles.bin
new file mode 100644
index 000000000..61ef041b5
--- /dev/null
+++ b/data/tilesets/ruins_of_alph_metatiles.bin
Binary files differ
diff --git a/data/tilesets/sprout_tower_collision.asm b/data/tilesets/sprout_tower_collision.asm
new file mode 100644
index 000000000..9d02e9640
--- /dev/null
+++ b/data/tilesets/sprout_tower_collision.asm
@@ -0,0 +1,64 @@
+ tilecoll WALL, WALL, WALL, WALL ; 01
+ tilecoll WALL, WALL, WALL, WALL ; 02
+ tilecoll FLOOR, FLOOR, FLOOR, LADDER ; 03
+ tilecoll FLOOR, FLOOR, FLOOR, LADDER ; 04
+ tilecoll WALL, WALL, WALL, FLOOR ; 05
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 06
+ tilecoll WALL, WALL, FLOOR, WALL ; 07
+ tilecoll WALL, WALL, WALL, WALL ; 08
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 09
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 0a
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 0b
+ tilecoll WALL, WALL, WALL, WALL ; 0c
+ tilecoll WALL, FLOOR, WALL, WALL ; 0d
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 0e
+ tilecoll FLOOR, WALL, WALL, WALL ; 0f
+ tilecoll WALL, WALL, WALL, WALL ; 10
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 11
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 12
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 13
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 14
+ tilecoll FLOOR, WALL, FLOOR, FLOOR ; 15
+ tilecoll WALL, FLOOR, FLOOR, FLOOR ; 16
+ tilecoll WALL, FLOOR, WALL, WALL ; 17
+ tilecoll FLOOR, WALL, WALL, WALL ; 18
+ tilecoll WALL, WALL, WALL, WALL ; 19
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 1a
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 1b
+ tilecoll WALL, WALL, WALL, WALL ; 1c
+ tilecoll WALL, WALL, WALL, WALL ; 1d
+ tilecoll FLOOR, FLOOR, FLOOR, WARP_CARPET_DOWN ; 1e
+ tilecoll FLOOR, FLOOR, WARP_CARPET_DOWN, FLOOR ; 1f
+ tilecoll LADDER, FLOOR, FLOOR, FLOOR ; 20
+ tilecoll LADDER, FLOOR, FLOOR, FLOOR ; 21
+ tilecoll WALL, WALL, WALL, FLOOR ; 22
+ tilecoll WALL, WALL, FLOOR, WALL ; 23
+ tilecoll WALL, WALL, WALL, WALL ; 24
+ tilecoll FLOOR, FLOOR, WARP_PANEL, FLOOR ; 25
+ tilecoll WALL, WALL, PIT, FLOOR ; 26
+ tilecoll FLOOR, FLOOR, WARP_CARPET_DOWN, WARP_CARPET_DOWN ; 27
+ tilecoll WARP_CARPET_UP, WARP_CARPET_UP, FLOOR, FLOOR ; 28
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 29
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 2a
+ tilecoll WALL, WALL, WALL, WALL ; 2b
+ tilecoll WALL, HOP_LEFT, WALL, WALL ; 2c
+ tilecoll HOP_RIGHT, WALL, WALL, WALL ; 2d
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 2e
+ tilecoll WALL, WALL, WALL, FLOOR ; 2f
+ tilecoll WALL, WALL, FLOOR, WALL ; 30
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 31
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 32
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 33
+ tilecoll WALL, WALL, WALL, FLOOR ; 34
+ tilecoll WALL, WALL, FLOOR, WALL ; 35
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 36
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 37
+ tilecoll PIT, PIT, FLOOR, FLOOR ; 38
+ tilecoll FLOOR, PIT, FLOOR, PIT ; 39
+ tilecoll PIT, FLOOR, PIT, FLOOR ; 3a
+ tilecoll FLOOR, FLOOR, FLOOR, LADDER ; 3b
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 3c
+ tilecoll WALL, HOP_DOWN_LEFT, WALL, WALL ; 3d
+ tilecoll WALL, HOP_DOWN, WALL, WALL ; 3e
+ tilecoll HOP_DOWN, WALL, WALL, WALL ; 3f
+ tilecoll HOP_DOWN_RIGHT, WALL, WALL, WALL ; 40
diff --git a/data/tilesets/sprout_tower_metatiles.bin b/data/tilesets/sprout_tower_metatiles.bin
new file mode 100644
index 000000000..b6668fcd4
--- /dev/null
+++ b/data/tilesets/sprout_tower_metatiles.bin
@@ -0,0 +1,2 @@
+ @ !!A1A1!!!!!!@ A1A1
+ A1A1A1A1A1A1A1A1A1A1!!!!!!!!A1A1!!!! -.=><>MN./>?,NO()89*+:;()89*+:;MN]^NO^_A1A1@ !!A1A1!!@ !!!!^^^^"#23&'67"#23&'67PQPQPQPQPQPQPQPQ$$$$  "#23!!67"#!!2367%545%545%545%545 ^^  ’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’FV GW PQPQRSRSBCHZ[!XL\67IBCY!Z[L\67JKZ[L\67JKZ[L\67DETU!!!!PPPPPPPPFV   GW  \ No newline at end of file
diff --git a/data/tilesets/train_station_collision.asm b/data/tilesets/train_station_collision.asm
new file mode 100644
index 000000000..55b147237
--- /dev/null
+++ b/data/tilesets/train_station_collision.asm
@@ -0,0 +1,64 @@
+ tilecoll FF, FF, FF, FF ; 01
+ tilecoll UP_WALL, UP_WALL, FLOOR, FLOOR ; 02
+ tilecoll UP_WALL, FLOOR, UP_WALL, FLOOR ; 03
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 04
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 05
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 06
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 07
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 08
+ tilecoll WALL, FLOOR, WALL, WALL ; 09
+ tilecoll FLOOR, FLOOR, WARP_CARPET_DOWN, WARP_CARPET_DOWN ; 0a
+ tilecoll WALL, WALL, WALL, WALL ; 0b
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 0c
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 0d
+ tilecoll WALL, WALL, WALL, WALL ; 0e
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 0f
+ tilecoll WALL, WALL, WALL, WALL ; 10
+ tilecoll WALL, WALL, WALL, WALL ; 11
+ tilecoll WALL, WALL, DOOR, WALL ; 12
+ tilecoll WALL, WALL, WALL, DOOR ; 13
+ tilecoll WALL, WALL, WALL, WALL ; 14
+ tilecoll WALL, WALL, WALL, WALL ; 15
+ tilecoll WALL, WALL, WALL, WALL ; 16
+ tilecoll WALL, WALL, WALL, WALL ; 17
+ tilecoll WALL, WALL, WALL, WALL ; 18
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 19
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 1a
+ tilecoll WALL, WALL, WALL, WALL ; 1b
+ tilecoll WALL, WALL, WALL, WALL ; 1c
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 1d
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 1e
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 1f
+ tilecoll FLOOR, FLOOR, WARP_CARPET_DOWN, WARP_CARPET_DOWN ; 20
+ tilecoll WALL, WALL, WALL, WALL ; 21
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 22
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 23
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 24
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 25
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 26
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 27
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 28
+ tilecoll WALL, WALL, WALL, FLOOR ; 29
+ tilecoll WALL, WALL, FLOOR, WALL ; 2a
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 2b
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 2c
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 2d
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 2e
+ tilecoll WALL, WALL, WALL, WALL ; 2f
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 30
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 31
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 32
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 33
+ tilecoll WALL, FLOOR, FLOOR, FLOOR ; 34
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 35
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 36
+ tilecoll WALL, WALL, WALL, FLOOR ; 37
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 38
+ tilecoll WALL, WALL, FLOOR, WALL ; 39
+ tilecoll WALL, FLOOR, WALL, WALL ; 3a
+ tilecoll WALL, WALL, WALL, WALL ; 3b
+ tilecoll FLOOR, WALL, WALL, WALL ; 3c
+ tilecoll WALL, WALL, WALL, WALL ; 3d
+ tilecoll WALL, WALL, WALL, WALL ; 3e
+ tilecoll WALL, WALL, WALL, WALL ; 3f
+ tilecoll WALL, WALL, WALL, WALL ; 40
diff --git a/data/tilesets/train_station_metatiles.bin b/data/tilesets/train_station_metatiles.bin
new file mode 100644
index 000000000..9bbdd0bd2
--- /dev/null
+++ b/data/tilesets/train_station_metatiles.bin
Binary files differ
diff --git a/data/tilesets/underground_collision.asm b/data/tilesets/underground_collision.asm
new file mode 100644
index 000000000..0c3120451
--- /dev/null
+++ b/data/tilesets/underground_collision.asm
@@ -0,0 +1,64 @@
+ tilecoll WALL, WALL, WALL, WALL ; 01
+ tilecoll WALL, WALL, WALL, WALL ; 02
+ tilecoll FLOOR, LADDER, FLOOR, FLOOR ; 03
+ tilecoll FLOOR, LADDER, FLOOR, FLOOR ; 04
+ tilecoll WALL, WALL, WALL, FLOOR ; 05
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 06
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 07
+ tilecoll FLOOR, FLOOR, PIT, PIT ; 08
+ tilecoll WALL, WALL, WALL, FLOOR ; 09
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 0a
+ tilecoll WALL, WALL, FLOOR, WALL ; 0b
+ tilecoll WALL, WALL, WALL, WALL ; 0c
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 0d
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 0e
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 0f
+ tilecoll FLOOR, FLOOR, FLOOR, WARP_PANEL ; 10
+ tilecoll WALL, FLOOR, WALL, WALL ; 11
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 12
+ tilecoll FLOOR, WALL, WALL, WALL ; 13
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 14
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 15
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 16
+ tilecoll WALL, FLOOR, WALL, WALL ; 17
+ tilecoll FLOOR, WALL, WALL, WALL ; 18
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 19
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 1a
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 1b
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 1c
+ tilecoll FLOOR, WALL, FLOOR, FLOOR ; 1d
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 1e
+ tilecoll WALL, FLOOR, FLOOR, FLOOR ; 1f
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 20
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 21
+ tilecoll FLOOR, FLOOR, FLOOR, WALL ; 22
+ tilecoll FLOOR, FLOOR, WALL, FLOOR ; 23
+ tilecoll FLOOR, FLOOR, WALL, FLOOR ; 24
+ tilecoll FLOOR, FLOOR, WARP_CARPET_DOWN, WARP_CARPET_DOWN ; 25
+ tilecoll WALL, WARP_CARPET_UP, FLOOR, FLOOR ; 26
+ tilecoll WARP_CARPET_UP, WALL, FLOOR, FLOOR ; 27
+ tilecoll FLOOR, WARP_CARPET_RIGHT, FLOOR, WARP_CARPET_RIGHT ; 28
+ tilecoll WARP_CARPET_LEFT, FLOOR, WARP_CARPET_LEFT, FLOOR ; 29
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 2a
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 2b
+ tilecoll WALL, WALL, WALL, WALL ; 2c
+ tilecoll WALL, WALL, WALL, WALL ; 2d
+ tilecoll WALL, WALL, WALL, WALL ; 2e
+ tilecoll WARP_CARPET_DOWN, WARP_CARPET_DOWN, WALL, WALL ; 2f
+ tilecoll WALL, WALL, WALL, WALL ; 30
+ tilecoll WALL, WALL, WALL, WALL ; 31
+ tilecoll WALL, WALL, WALL, WALL ; 32
+ tilecoll WALL, WALL, WALL, WALL ; 33
+ tilecoll WALL, WALL, WALL, WALL ; 34
+ tilecoll WALL, WALL, WALL, WALL ; 35
+ tilecoll WALL, WALL, WALL, WALL ; 36
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 37
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 38
+ tilecoll WALL, WALL, WALL, WALL ; 39
+ tilecoll WALL, WALL, WALL, WALL ; 3a
+ tilecoll WALL, WALL, WALL, WALL ; 3b
+ tilecoll WALL, WALL, WALL, WALL ; 3c
+ tilecoll WALL, WALL, WALL, WALL ; 3d
+ tilecoll WALL, WALL, BOOKSHELF, BOOKSHELF ; 3e
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 3f
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 40
diff --git a/data/tilesets/underground_metatiles.bin b/data/tilesets/underground_metatiles.bin
new file mode 100644
index 000000000..28b807e1e
--- /dev/null
+++ b/data/tilesets/underground_metatiles.bin
@@ -0,0 +1,2 @@
+*+:;,-<=EFUV 0144444444   44 444444      CDCDSTSTCDCDSTST        "#23                     
+ QQQQQQQQ./>?./>?@ANOP]^_&'67             01 01@AAAPQQQPQQQAAABQQQRQQQR@AABPQQRPQQRPQQRPQQRPQQRPQQRPQQRPQQRPQQRPQQR@B@B()89()89 \ No newline at end of file
diff --git a/data/tilesets/unused_whirl_islands_collision.asm b/data/tilesets/unused_whirl_islands_collision.asm
new file mode 100644
index 000000000..0022d3881
--- /dev/null
+++ b/data/tilesets/unused_whirl_islands_collision.asm
@@ -0,0 +1,128 @@
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 01
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 02
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 03
+ tilecoll TALL_GRASS_10, TALL_GRASS_10, TALL_GRASS_10, TALL_GRASS_10 ; 04
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 05
+ tilecoll WALL, WALL, WALL, WALL ; 06
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 07
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 08
+ tilecoll WALL, WALL, WALL, WALL ; 09
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 0a
+ tilecoll WALL, WALL, WALL, WALL ; 0b
+ tilecoll WARP_CARPET_LEFT, FLOOR, WARP_CARPET_LEFT, FLOOR ; 0c
+ tilecoll FLOOR, FLOOR, FLOOR, WALL ; 0d
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 0e
+ tilecoll FLOOR, WARP_CARPET_RIGHT, FLOOR, WARP_CARPET_RIGHT ; 0f
+ tilecoll WALL, WALL, WALL, WALL ; 10
+ tilecoll WALL, WALL, WALL, WALL ; 11
+ tilecoll WALL, WALL, WALL, WALL ; 12
+ tilecoll WALL, WALL, WALL, WALL ; 13
+ tilecoll WALL, WALL, WALL, WALL ; 14
+ tilecoll WALL, WALL, WALL, DOOR ; 15
+ tilecoll WALL, WALL, WALL, WALL ; 16
+ tilecoll WALL, WALL, WALL, DOOR ; 17
+ tilecoll WALL, WALL, TOWN_MAP, WALL ; 18
+ tilecoll WALL, WALL, WALL, WALL ; 19
+ tilecoll WALL, WALL, WALL, WALL ; 1a
+ tilecoll WALL, WALL, WALL, DOOR ; 1b
+ tilecoll WALL, WALL, TOWN_MAP, WALL ; 1c
+ tilecoll WALL, WALL, WALL, WALL ; 1d
+ tilecoll WALL, WALL, DOOR, WALL ; 1e
+ tilecoll WALL, WALL, WALL, WALL ; 1f
+ tilecoll WALL, WALL, WALL, WALL ; 20
+ tilecoll WALL, WALL, WALL, WALL ; 21
+ tilecoll WALL, WALL, WALL, WALL ; 22
+ tilecoll WALL, WALL, WALL, WALL ; 23
+ tilecoll WALL, WALL, WALL, WALL ; 24
+ tilecoll WALL, WALL, WALL, WALL ; 25
+ tilecoll WALL, WALL, WALL, WALL ; 26
+ tilecoll WALL, WALL, WALL, WALL ; 27
+ tilecoll WALL, WALL, WALL, WALL ; 28
+ tilecoll WALL, WALL, WALL, DOOR ; 29
+ tilecoll WALL, WALL, WALL, WALL ; 2a
+ tilecoll WALL, WALL, WALL, DOOR ; 2b
+ tilecoll WALL, WALL, WALL, WALL ; 2c
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 2d
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 2e
+ tilecoll WALL, WALL, WALL, DOOR ; 2f
+ tilecoll WALL, WALL, WALL, WALL ; 30
+ tilecoll BUOY, BUOY, BUOY, WATER_21 ; 31
+ tilecoll BUOY, BUOY, WATER_21, WATER_21 ; 32
+ tilecoll BUOY, BUOY, WATER_21, BUOY ; 33
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 34
+ tilecoll BUOY, WATER_21, BUOY, WATER_21 ; 35
+ tilecoll WATER_21, WATER_21, WATER_21, WATER_21 ; 36
+ tilecoll WATER_21, BUOY, WATER_21, BUOY ; 37
+ tilecoll WALL, WALL, WALL, WALL ; 38
+ tilecoll BUOY, WATER_21, BUOY, BUOY ; 39
+ tilecoll WATER_21, WATER_21, BUOY, BUOY ; 3a
+ tilecoll WATER_21, BUOY, BUOY, BUOY ; 3b
+ tilecoll WALL, WALL, WALL, WALL ; 3c
+ tilecoll WALL, FLOOR, FLOOR, FLOOR ; 3d
+ tilecoll FLOOR, WALL, FLOOR, FLOOR ; 3e
+ tilecoll FLOOR, FLOOR, WALL, FLOOR ; 3f
+ tilecoll FLOOR, FLOOR, FLOOR, WALL ; 40
+ tilecoll WALL, WALL, WALL, FLOOR ; 41
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 42
+ tilecoll WALL, WALL, FLOOR, WALL ; 43
+ tilecoll WATER_21, WATER_21, WATER_21, WATER_21 ; 44
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 45
+ tilecoll TOWN_MAP, FLOOR, FLOOR, FLOOR ; 46
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 47
+ tilecoll FLOOR, FLOOR, FLOOR, TOWN_MAP ; 48
+ tilecoll WALL, FLOOR, WALL, WALL ; 49
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 4a
+ tilecoll FLOOR, WALL, WALL, WALL ; 4b
+ tilecoll HOP_DOWN, FLOOR, WALL, FLOOR ; 4c
+ tilecoll WALL, HOP_LEFT, WALL, HOP_LEFT ; 4d
+ tilecoll HOP_RIGHT, WALL, HOP_RIGHT, WALL ; 4e
+ tilecoll WALL, HOP_LEFT, WALL, HOP_LEFT ; 4f
+ tilecoll HOP_RIGHT, WALL, HOP_RIGHT, WALL ; 50
+ tilecoll WALL, HOP_DOWN_LEFT, WALL, WALL ; 51
+ tilecoll HOP_DOWN_RIGHT, WALL, WALL, WALL ; 52
+ tilecoll WALL, HOP_DOWN_LEFT, WALL, WALL ; 53
+ tilecoll HOP_DOWN_RIGHT, WALL, WALL, WALL ; 54
+ tilecoll WATER_21, WATER_21, WATER_21, WATER_21 ; 55
+ tilecoll WATER_21, WATER_21, WATER_21, WATER_21 ; 56
+ tilecoll HOP_DOWN, HOP_DOWN, WALL, WALL ; 57
+ tilecoll HOP_DOWN, HOP_DOWN, WALL, WALL ; 58
+ tilecoll WATER_21, WATER_21, WATER_21, WATER_21 ; 59
+ tilecoll WATER_21, WATER_21, WATER_21, WATER_21 ; 5a
+ tilecoll HOP_DOWN, FLOOR, WALL, FLOOR ; 5b
+ tilecoll WALL, CUT_TREE, FLOOR, FLOOR ; 5c
+ tilecoll WALL, WALL, WALL, FLOOR ; 5d
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 5e
+ tilecoll WALL, WALL, FLOOR, WALL ; 5f
+ tilecoll FLOOR, WALL, FLOOR, CUT_TREE ; 60
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 61
+ tilecoll WALL, WALL, WALL, WALL ; 62
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 63
+ tilecoll FLOOR, FLOOR, CUT_TREE, WALL ; 64
+ tilecoll WALL, FLOOR, WALL, WALL ; 65
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 66
+ tilecoll FLOOR, WALL, WALL, WALL ; 67
+ tilecoll CUT_TREE, FLOOR, WALL, FLOOR ; 68
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 69
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 6a
+ tilecoll WALL, UP_WALL, WALL, FLOOR ; 6b
+ tilecoll UP_WALL, WALL, FLOOR, WALL ; 6c
+ tilecoll WALL, FLOOR, WALL, WALL ; 6d
+ tilecoll FLOOR, WALL, WALL, WALL ; 6e
+ tilecoll FLOOR, FLOOR, WALL, FLOOR ; 6f
+ tilecoll FLOOR, FLOOR, FLOOR, WALL ; 70
+ tilecoll UP_WALL, UP_WALL, FLOOR, FLOOR ; 71
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 72
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 73
+ tilecoll FLOOR, FLOOR, DOOR, WALL ; 74
+ tilecoll WALL, FLOOR, FLOOR, FLOOR ; 75
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 76
+ tilecoll WATER_21, WATER_21, WATER_21, WATER_21 ; 77
+ tilecoll WALL, WALL, WALL, WALL ; 78
+ tilecoll WALL, WALL, WALL, WALL ; 79
+ tilecoll WATER_21, WATER_21, WATER_21, WATER_21 ; 7a
+ tilecoll WATER_21, WATER_21, WATER_21, WATER_21 ; 7b
+ tilecoll WALL, WALL, WALL, WALL ; 7c
+ tilecoll WALL, WALL, WALL, WALL ; 7d
+ tilecoll WALL, WALL, WALL, WALL ; 7e
+ tilecoll WALL, WALL, WALL, WALL ; 7f
+ tilecoll WALL, WALL, WALL, WALL ; 80
diff --git a/data/tilesets/unused_whirl_islands_metatiles.bin b/data/tilesets/unused_whirl_islands_metatiles.bin
new file mode 100644
index 000000000..b70f1a0e6
--- /dev/null
+++ b/data/tilesets/unused_whirl_islands_metatiles.bin
Binary files differ
diff --git a/data/tilesets/whirl_islands_collision.asm b/data/tilesets/whirl_islands_collision.asm
new file mode 100644
index 000000000..3d5e0ae05
--- /dev/null
+++ b/data/tilesets/whirl_islands_collision.asm
@@ -0,0 +1,64 @@
+ tilecoll WALL, WALL, WALL, WALL ; 01
+ tilecoll WALL, WALL, WALL, WALL ; 02
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 03
+ tilecoll TALL_GRASS, TALL_GRASS, TALL_GRASS, TALL_GRASS ; 04
+ tilecoll WALL, UP_WALL, WALL, FLOOR ; 05
+ tilecoll UP_WALL, UP_WALL, FLOOR, FLOOR ; 06
+ tilecoll UP_WALL, WALL, FLOOR, WALL ; 07
+ tilecoll FLOOR, FLOOR, FLOOR, LADDER ; 08
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 09
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 0a
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 0b
+ tilecoll FLOOR, FLOOR, FLOOR, LADDER ; 0c
+ tilecoll WALL, FLOOR, WALL, WALL ; 0d
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 0e
+ tilecoll FLOOR, WALL, WALL, WALL ; 0f
+ tilecoll WATER, WATER, WATER, WATER ; 10
+ tilecoll FLOOR, FLOOR, FLOOR, WALL ; 11
+ tilecoll FLOOR, FLOOR, WALL, FLOOR ; 12
+ tilecoll FLOOR, FLOOR, WALL, FLOOR ; 13
+ tilecoll FLOOR, FLOOR, WALL, CAVE ; 14
+ tilecoll UP_WALL, UP_WALL, FLOOR, LADDER ; 15
+ tilecoll UP_WALL, UP_WALL, FLOOR, LADDER ; 16
+ tilecoll WALL, FLOOR, WALL, WARP_CARPET_DOWN ; 17
+ tilecoll FLOOR, WALL, FLOOR, FLOOR ; 18
+ tilecoll WALL, WALL, WALL, FLOOR ; 19
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 1a
+ tilecoll WALL, WALL, FLOOR, WALL ; 1b
+ tilecoll FLOOR, FLOOR, FLOOR, LADDER ; 1c
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 1d
+ tilecoll WALL, WALL, WALL, WALL ; 1e
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 1f
+ tilecoll FLOOR, FLOOR, FLOOR, LADDER ; 20
+ tilecoll WALL, FLOOR, WALL, WALL ; 21
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 22
+ tilecoll FLOOR, WALL, WALL, WALL ; 23
+ tilecoll UP_WALL, WALL, FLOOR, FLOOR ; 24
+ tilecoll FLOOR, FLOOR, FLOOR, WARP_CARPET_DOWN ; 25
+ tilecoll WATER, WATER, WATER, WATER ; 26
+ tilecoll WATER, WATER, WATER, WATER ; 27
+ tilecoll WATER, WATER, WATER, WATER ; 28
+ tilecoll WALL, FLOOR, FLOOR, FLOOR ; 29
+ tilecoll FLOOR, FLOOR, WALL, FLOOR ; 2a
+ tilecoll FLOOR, WALL, FLOOR, FLOOR ; 2b
+ tilecoll FLOOR, FLOOR, FLOOR, WALL ; 2c
+ tilecoll WATERFALL, WATERFALL, WATERFALL, WATERFALL ; 2d
+ tilecoll WALL, WALL, WALL, WALL ; 2e
+ tilecoll WALL, WALL, WALL, WALL ; 2f
+ tilecoll WALL, WALL, WALL, WALL ; 30
+ tilecoll FLOOR, FLOOR, FLOOR, WALL ; 31
+ tilecoll WALL, WALL, WALL, WALL ; 32
+ tilecoll WATER, WATER, WATER, WATER ; 33
+ tilecoll WATER, WATER, WATER, WATER ; 34
+ tilecoll WALL, WALL, WALL, WALL ; 35
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 36
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 37
+ tilecoll WALL, WALL, WALL, CAVE ; 38
+ tilecoll WALL, HOP_DOWN_LEFT, WALL, WALL ; 39
+ tilecoll HOP_DOWN, HOP_DOWN, WALL, WALL ; 3a
+ tilecoll HOP_DOWN_RIGHT, WALL, WALL, WALL ; 3b
+ tilecoll WALL, HOP_LEFT, WALL, HOP_LEFT ; 3c
+ tilecoll HOP_RIGHT, WALL, HOP_RIGHT, WALL ; 3d
+ tilecoll WATER, WATER, WATER, WATER ; 3e
+ tilecoll WATER, WATER, WATER, WATER ; 3f
+ tilecoll FLOOR, FLOOR, PIT, FLOOR ; 40
diff --git a/data/tilesets/whirl_islands_metatiles.bin b/data/tilesets/whirl_islands_metatiles.bin
new file mode 100644
index 000000000..a41b5b080
--- /dev/null
+++ b/data/tilesets/whirl_islands_metatiles.bin
@@ -0,0 +1,6 @@
+$$$$$$$$*+:;"#23%&&%&&&&&&&&&&&&&'&&&'
+&
+&  &&67&&67&&&&$$$$*+:;$$$$"#23     ()89       !01     $$&&&&    @@@@@@@@@@@@@@@@%&&&%&&&%&&&%&&&&&&&&&&&&&&&&&&&&&&'&&&'&&&'&&&'67&&67&&$$%&&'%' &&&&&&&& 
+&
+67'67&'&&&&&&&&&&&&%&&&&&&&&&&'&&& 
+&&& \ No newline at end of file