summaryrefslogtreecommitdiff
path: root/data
diff options
context:
space:
mode:
authorRemy Oukaour <remy.oukaour@gmail.com>2018-01-09 23:53:58 -0500
committerRemy Oukaour <remy.oukaour@gmail.com>2018-01-09 23:53:58 -0500
commit9af6d8d0f1cdfe13d5b6b028b7da2965fddaab67 (patch)
tree016ac0037520f12f45e7a7b31356bc317c68a54f /data
parente943ac3308c064c2f1d6e1b13bd0a69ee0a0f102 (diff)
Split tilesets/ into gfx/tilesets and data/tilesets/
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