summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorentrpntr <entrpntr@gmail.com>2020-05-25 03:30:11 -0400
committerentrpntr <entrpntr@gmail.com>2020-05-25 16:57:43 -0400
commitdf0f27e3df88eda8c75fadd836bc7b741ecb9de9 (patch)
tree3a7d929bb6e4334c66090b4d7be5584d29fef77c
parentde6fc0ad329ccaa56558d5f43d54cdd6db46e49b (diff)
Make separate tileset object, add similar collision files.
-rw-r--r--Makefile3
-rwxr-xr-xconstants/collision_constants.asm2
-rwxr-xr-xdata/collision_permissions.asm515
-rw-r--r--data/tilesets/cave_collision.asm64
-rw-r--r--data/tilesets/elite_four_room_collision.asm64
-rw-r--r--data/tilesets/facility_collision.asm64
-rw-r--r--data/tilesets/game_corner_collision.asm64
-rw-r--r--data/tilesets/gate_collision.asm64
-rw-r--r--data/tilesets/ice_path_collision.asm64
-rw-r--r--data/tilesets/johto_collision.asm128
-rw-r--r--data/tilesets/kanto_collision.asm128
-rw-r--r--data/tilesets/park_collision.asm64
-rw-r--r--data/tilesets/players_house_collision.asm64
-rw-r--r--data/tilesets/pokecenter_collision.asm64
-rw-r--r--data/tilesets/port_collision.asm64
-rw-r--r--data/tilesets/tower_collision.asm64
-rw-r--r--data/tilesets/traditional_house_collision.asm64
-rw-r--r--data/tilesets/train_station_collision.asm64
-rw-r--r--data/tilesets/underground_collision.asm64
-rw-r--r--gfx/tilesets.asm233
-rw-r--r--layout.link15
-rw-r--r--main.asm176
22 files changed, 1663 insertions, 433 deletions
diff --git a/Makefile b/Makefile
index 5c067182..643b8946 100644
--- a/Makefile
+++ b/Makefile
@@ -11,7 +11,8 @@ data/pokemon/dex_entries.o \
data/pokemon/egg_moves.o \
data/pokemon/evos_attacks.o \
engine/overworld/events.o \
-gfx/sprites.o
+gfx/sprites.o \
+gfx/tilesets.o
# Distinguish asm files which are game-exclusive for building (*_[gold|silver].asm)
gs_excl_asm := gfx/pics
diff --git a/constants/collision_constants.asm b/constants/collision_constants.asm
index 5626cb09..ead3883b 100755
--- a/constants/collision_constants.asm
+++ b/constants/collision_constants.asm
@@ -32,6 +32,7 @@ COLL_WATERFALL_RIGHT EQU $30 ; unused
COLL_WATERFALL_LEFT EQU $31 ; unused
COLL_WATERFALL_UP EQU $32 ; unused
COLL_WATERFALL EQU $33
+COLL_36 EQU $36 ; ?
COLL_CURRENT_RIGHT EQU $38 ; unused
COLL_CURRENT_LEFT EQU $39 ; unused
COLL_CURRENT_UP EQU $3a ; unused
@@ -60,6 +61,7 @@ COLL_BRAKE_57 EQU $57 ; unused
COLL_5B EQU $5b ; garbage
COLL_PIT EQU $60
COLL_VIRTUAL_BOY EQU $61 ; garbage
+COLL_63 EQU $63 ; ?
COLL_64 EQU $64 ; garbage
COLL_65 EQU $65 ; garbage
COLL_PIT_68 EQU $68 ; unused
diff --git a/data/collision_permissions.asm b/data/collision_permissions.asm
index 93cf5509..57172ca5 100755
--- a/data/collision_permissions.asm
+++ b/data/collision_permissions.asm
@@ -1,261 +1,258 @@
-NONTALKABLE EQUS "db"
-TALKABLE EQUS "db TALK +"
-
TileCollisionTable::
; entries correspond to COLL_* constants
- NONTALKABLE LAND_TILE ; COLL_FLOOR
- NONTALKABLE LAND_TILE ; COLL_01
- NONTALKABLE LAND_TILE ; 02
- NONTALKABLE LAND_TILE ; COLL_03
- NONTALKABLE LAND_TILE ; COLL_04
- NONTALKABLE LAND_TILE ; 05
- NONTALKABLE LAND_TILE ; 06
- NONTALKABLE WALL_TILE ; COLL_WALL
- NONTALKABLE LAND_TILE ; COLL_CUT_08
- NONTALKABLE LAND_TILE ; 09
- NONTALKABLE LAND_TILE ; 0a
- NONTALKABLE LAND_TILE ; 0b
- NONTALKABLE LAND_TILE ; 0c
- NONTALKABLE LAND_TILE ; 0d
- NONTALKABLE LAND_TILE ; 0e
- NONTALKABLE WALL_TILE ; 0f
- NONTALKABLE LAND_TILE ; COLL_TALL_GRASS_10
- NONTALKABLE LAND_TILE ; 11
- TALKABLE WALL_TILE ; COLL_CUT_TREE
- NONTALKABLE LAND_TILE ; 13
- NONTALKABLE LAND_TILE ; COLL_LONG_GRASS
- TALKABLE WALL_TILE ; COLL_HEADBUTT_TREE
- NONTALKABLE LAND_TILE ; 16
- NONTALKABLE LAND_TILE ; 17
- NONTALKABLE LAND_TILE ; COLL_TALL_GRASS
- NONTALKABLE LAND_TILE ; 19
- TALKABLE WALL_TILE ; COLL_CUT_TREE_1A
- NONTALKABLE LAND_TILE ; 1b
- NONTALKABLE LAND_TILE ; COLL_LONG_GRASS_1C
- TALKABLE WALL_TILE ; COLL_HEADBUTT_TREE_1D
- NONTALKABLE LAND_TILE ; 1e
- NONTALKABLE LAND_TILE ; 1f
- NONTALKABLE WATERTILE ; 20
- NONTALKABLE WATERTILE ; COLL_WATER_21
- TALKABLE WATERTILE ; 22
- NONTALKABLE LAND_TILE ; COLL_ICE
- TALKABLE WATERTILE ; COLL_WHIRLPOOL
- NONTALKABLE WATERTILE ; 25
- NONTALKABLE WATERTILE ; 26
- NONTALKABLE WALL_TILE ; COLL_BUOY
- NONTALKABLE WATERTILE ; COLL_CUT_28
- NONTALKABLE WATERTILE ; COLL_WATER
- TALKABLE WATERTILE ; 2a
- NONTALKABLE LAND_TILE ; COLL_ICE_2B
- TALKABLE WATERTILE ; COLL_WHIRLPOOL_2C
- NONTALKABLE WATERTILE ; 2d
- NONTALKABLE WATERTILE ; 2e
- NONTALKABLE WALL_TILE ; 2f
- NONTALKABLE WATERTILE ; COLL_WATERFALL_RIGHT
- NONTALKABLE WATERTILE ; COLL_WATERFALL_LEFT
- NONTALKABLE WATERTILE ; COLL_WATERFALL_UP
- NONTALKABLE WATERTILE ; COLL_WATERFALL
- NONTALKABLE WATERTILE ; 34
- NONTALKABLE WATERTILE ; 35
- NONTALKABLE WATERTILE ; 36
- NONTALKABLE WATERTILE ; 37
- NONTALKABLE WATERTILE ; COLL_CURRENT_RIGHT
- NONTALKABLE WATERTILE ; COLL_CURRENT_LEFT
- NONTALKABLE WATERTILE ; COLL_CURRENT_UP
- NONTALKABLE WATERTILE ; COLL_CURRENT_DOWN
- NONTALKABLE WATERTILE ; 3c
- NONTALKABLE WATERTILE ; 3d
- NONTALKABLE WATERTILE ; 3e
- NONTALKABLE WATERTILE ; 3f
- NONTALKABLE LAND_TILE ; COLL_BRAKE
- NONTALKABLE LAND_TILE ; COLL_WALK_RIGHT
- NONTALKABLE LAND_TILE ; COLL_WALK_LEFT
- NONTALKABLE LAND_TILE ; COLL_WALK_UP
- NONTALKABLE LAND_TILE ; COLL_WALK_DOWN
- NONTALKABLE LAND_TILE ; COLL_BRAKE_45
- NONTALKABLE LAND_TILE ; COLL_BRAKE_46
- NONTALKABLE LAND_TILE ; COLL_BRAKE_47
- NONTALKABLE LAND_TILE ; COLL_GRASS_48
- NONTALKABLE LAND_TILE ; COLL_GRASS_49
- NONTALKABLE LAND_TILE ; COLL_GRASS_4A
- NONTALKABLE LAND_TILE ; COLL_GRASS_4B
- NONTALKABLE LAND_TILE ; COLL_GRASS_4C
- NONTALKABLE LAND_TILE ; 4d
- NONTALKABLE LAND_TILE ; 4e
- NONTALKABLE LAND_TILE ; 4f
- NONTALKABLE LAND_TILE ; COLL_WALK_RIGHT_ALT
- NONTALKABLE LAND_TILE ; COLL_WALK_LEFT_ALT
- NONTALKABLE LAND_TILE ; COLL_WALK_UP_ALT
- NONTALKABLE LAND_TILE ; COLL_WALK_DOWN_ALT
- NONTALKABLE LAND_TILE ; COLL_BRAKE_ALT
- NONTALKABLE LAND_TILE ; COLL_BRAKE_55
- NONTALKABLE LAND_TILE ; COLL_BRAKE_56
- NONTALKABLE LAND_TILE ; COLL_BRAKE_57
- NONTALKABLE LAND_TILE ; 58
- NONTALKABLE LAND_TILE ; 59
- NONTALKABLE LAND_TILE ; 5a
- NONTALKABLE LAND_TILE ; COLL_5B
- NONTALKABLE LAND_TILE ; 5c
- NONTALKABLE LAND_TILE ; 5d
- NONTALKABLE LAND_TILE ; 5e
- NONTALKABLE LAND_TILE ; 5f
- NONTALKABLE LAND_TILE ; COLL_PIT
- NONTALKABLE LAND_TILE ; COLL_VIRTUAL_BOY
- NONTALKABLE WALL_TILE ; 62
- NONTALKABLE LAND_TILE ; 63
- NONTALKABLE LAND_TILE ; COLL_64
- NONTALKABLE LAND_TILE ; COLL_65
- NONTALKABLE LAND_TILE ; 66
- NONTALKABLE LAND_TILE ; 67
- NONTALKABLE LAND_TILE ; COLL_PIT_68
- NONTALKABLE LAND_TILE ; 69
- NONTALKABLE WALL_TILE ; 6a
- NONTALKABLE LAND_TILE ; 6b
- NONTALKABLE LAND_TILE ; 6c
- NONTALKABLE LAND_TILE ; 6d
- NONTALKABLE LAND_TILE ; 6e
- NONTALKABLE LAND_TILE ; 6f
- NONTALKABLE LAND_TILE ; COLL_WARP_CARPET_DOWN
- NONTALKABLE LAND_TILE ; COLL_DOOR
- NONTALKABLE LAND_TILE ; COLL_LADDER
- NONTALKABLE LAND_TILE ; COLL_STAIRCASE_73
- NONTALKABLE LAND_TILE ; COLL_CAVE_74
- NONTALKABLE LAND_TILE ; COLL_DOOR_75
- NONTALKABLE LAND_TILE ; COLL_WARP_CARPET_LEFT
- NONTALKABLE LAND_TILE ; COLL_WARP_77
- NONTALKABLE LAND_TILE ; COLL_WARP_CARPET_UP
- NONTALKABLE LAND_TILE ; COLL_DOOR_79
- NONTALKABLE LAND_TILE ; COLL_STAIRCASE
- NONTALKABLE LAND_TILE ; COLL_CAVE
- NONTALKABLE LAND_TILE ; COLL_WARP_PANEL
- NONTALKABLE LAND_TILE ; COLL_DOOR_7D
- NONTALKABLE LAND_TILE ; COLL_WARP_CARPET_RIGHT
- NONTALKABLE LAND_TILE ; COLL_WARP_7F
- NONTALKABLE WALL_TILE ; 80
- NONTALKABLE WALL_TILE ; 81
- NONTALKABLE WALL_TILE ; 82
- NONTALKABLE WALL_TILE ; 83
- NONTALKABLE WALL_TILE ; 84
- NONTALKABLE LAND_TILE ; 85
- NONTALKABLE LAND_TILE ; 86
- NONTALKABLE LAND_TILE ; 87
- NONTALKABLE WALL_TILE ; 88
- NONTALKABLE WALL_TILE ; 89
- NONTALKABLE WALL_TILE ; 8a
- NONTALKABLE WALL_TILE ; 8b
- NONTALKABLE WALL_TILE ; 8c
- NONTALKABLE LAND_TILE ; 8d
- NONTALKABLE LAND_TILE ; 8e
- NONTALKABLE LAND_TILE ; 8f
- NONTALKABLE WALL_TILE ; COLL_COUNTER
- NONTALKABLE WALL_TILE ; COLL_BOOKSHELF
- NONTALKABLE WALL_TILE ; 92
- NONTALKABLE WALL_TILE ; COLL_PC
- NONTALKABLE WALL_TILE ; COLL_RADIO
- NONTALKABLE WALL_TILE ; COLL_TOWN_MAP
- NONTALKABLE WALL_TILE ; COLL_MART_SHELF
- NONTALKABLE WALL_TILE ; COLL_TV
- NONTALKABLE WALL_TILE ; COLL_COUNTER_98
- NONTALKABLE WALL_TILE ; 99
- NONTALKABLE WALL_TILE ; 9a
- NONTALKABLE WALL_TILE ; 9b
- NONTALKABLE WALL_TILE ; COLL_9C
- NONTALKABLE WALL_TILE ; COLL_WINDOW
- NONTALKABLE WALL_TILE ; 9e
- NONTALKABLE WALL_TILE ; COLL_INCENSE_BURNER
- NONTALKABLE LAND_TILE ; COLL_HOP_RIGHT
- NONTALKABLE LAND_TILE ; COLL_HOP_LEFT
- NONTALKABLE LAND_TILE ; COLL_HOP_UP
- NONTALKABLE LAND_TILE ; COLL_HOP_DOWN
- NONTALKABLE LAND_TILE ; COLL_HOP_DOWN_RIGHT
- NONTALKABLE LAND_TILE ; COLL_HOP_DOWN_LEFT
- NONTALKABLE LAND_TILE ; COLL_HOP_UP_RIGHT
- NONTALKABLE LAND_TILE ; COLL_HOP_UP_LEFT
- NONTALKABLE LAND_TILE ; a8
- NONTALKABLE LAND_TILE ; a9
- NONTALKABLE LAND_TILE ; aa
- NONTALKABLE LAND_TILE ; ab
- NONTALKABLE LAND_TILE ; ac
- NONTALKABLE LAND_TILE ; ad
- NONTALKABLE LAND_TILE ; ae
- NONTALKABLE LAND_TILE ; af
- NONTALKABLE LAND_TILE ; COLL_RIGHT_WALL
- NONTALKABLE LAND_TILE ; COLL_LEFT_WALL
- NONTALKABLE LAND_TILE ; COLL_UP_WALL
- NONTALKABLE LAND_TILE ; COLL_DOWN_WALL
- NONTALKABLE LAND_TILE ; COLL_DOWN_RIGHT_WALL
- NONTALKABLE LAND_TILE ; COLL_DOWN_LEFT_WALL
- NONTALKABLE LAND_TILE ; COLL_UP_RIGHT_WALL
- NONTALKABLE LAND_TILE ; COLL_UP_LEFT_WALL
- NONTALKABLE LAND_TILE ; b8
- NONTALKABLE LAND_TILE ; b9
- NONTALKABLE LAND_TILE ; ba
- NONTALKABLE LAND_TILE ; bb
- NONTALKABLE LAND_TILE ; bc
- NONTALKABLE LAND_TILE ; bd
- NONTALKABLE LAND_TILE ; be
- NONTALKABLE LAND_TILE ; bf
- NONTALKABLE WATERTILE ; COLL_RIGHT_BUOY
- NONTALKABLE WATERTILE ; COLL_LEFT_BUOY
- NONTALKABLE WATERTILE ; COLL_UP_BUOY
- NONTALKABLE WATERTILE ; COLL_DOWN_BUOY
- NONTALKABLE WATERTILE ; COLL_DOWN_RIGHT_BUOY
- NONTALKABLE WATERTILE ; COLL_DOWN_LEFT_BUOY
- NONTALKABLE WATERTILE ; COLL_UP_RIGHT_BUOY
- NONTALKABLE WATERTILE ; COLL_UP_LEFT_BUOY
- NONTALKABLE WATERTILE ; c8
- NONTALKABLE WATERTILE ; c9
- NONTALKABLE WATERTILE ; ca
- NONTALKABLE WATERTILE ; cb
- NONTALKABLE WATERTILE ; cc
- NONTALKABLE WATERTILE ; cd
- NONTALKABLE WATERTILE ; ce
- NONTALKABLE WATERTILE ; cf
- NONTALKABLE LAND_TILE ; d0
- NONTALKABLE LAND_TILE ; d1
- NONTALKABLE LAND_TILE ; d2
- NONTALKABLE LAND_TILE ; d3
- NONTALKABLE LAND_TILE ; d4
- NONTALKABLE LAND_TILE ; d5
- NONTALKABLE LAND_TILE ; d6
- NONTALKABLE LAND_TILE ; d7
- NONTALKABLE LAND_TILE ; d8
- NONTALKABLE LAND_TILE ; d9
- NONTALKABLE LAND_TILE ; da
- NONTALKABLE LAND_TILE ; db
- NONTALKABLE LAND_TILE ; dc
- NONTALKABLE LAND_TILE ; dd
- NONTALKABLE LAND_TILE ; de
- NONTALKABLE LAND_TILE ; df
- NONTALKABLE LAND_TILE ; e0
- NONTALKABLE LAND_TILE ; e1
- NONTALKABLE LAND_TILE ; e2
- NONTALKABLE LAND_TILE ; e3
- NONTALKABLE LAND_TILE ; e4
- NONTALKABLE LAND_TILE ; e5
- NONTALKABLE LAND_TILE ; e6
- NONTALKABLE LAND_TILE ; e7
- NONTALKABLE LAND_TILE ; e8
- NONTALKABLE LAND_TILE ; e9
- NONTALKABLE LAND_TILE ; ea
- NONTALKABLE LAND_TILE ; eb
- NONTALKABLE LAND_TILE ; ec
- NONTALKABLE LAND_TILE ; ed
- NONTALKABLE LAND_TILE ; ee
- NONTALKABLE LAND_TILE ; ef
- NONTALKABLE LAND_TILE ; f0
- NONTALKABLE LAND_TILE ; f1
- NONTALKABLE LAND_TILE ; f2
- NONTALKABLE LAND_TILE ; f3
- NONTALKABLE LAND_TILE ; f4
- NONTALKABLE LAND_TILE ; f5
- NONTALKABLE LAND_TILE ; f6
- NONTALKABLE LAND_TILE ; f7
- NONTALKABLE LAND_TILE ; f8
- NONTALKABLE LAND_TILE ; f9
- NONTALKABLE LAND_TILE ; fa
- NONTALKABLE LAND_TILE ; fb
- NONTALKABLE LAND_TILE ; fc
- NONTALKABLE LAND_TILE ; fd
- NONTALKABLE LAND_TILE ; fe
- NONTALKABLE WALL_TILE ; COLL_FF
+ db LAND_TILE ; COLL_FLOOR
+ db LAND_TILE ; COLL_01
+ db LAND_TILE ; 02
+ db LAND_TILE ; COLL_03
+ db LAND_TILE ; COLL_04
+ db LAND_TILE ; 05
+ db LAND_TILE ; 06
+ db WALL_TILE ; COLL_WALL
+ db LAND_TILE ; COLL_CUT_08
+ db LAND_TILE ; 09
+ db LAND_TILE ; 0a
+ db LAND_TILE ; 0b
+ db LAND_TILE ; 0c
+ db LAND_TILE ; 0d
+ db LAND_TILE ; 0e
+ db WALL_TILE ; 0f
+ db LAND_TILE ; COLL_TALL_GRASS_10
+ db LAND_TILE ; 11
+ db WALL_TILE | TALK ; COLL_CUT_TREE
+ db LAND_TILE ; 13
+ db LAND_TILE ; COLL_LONG_GRASS
+ db WALL_TILE | TALK ; COLL_HEADBUTT_TREE
+ db LAND_TILE ; 16
+ db LAND_TILE ; 17
+ db LAND_TILE ; COLL_TALL_GRASS
+ db LAND_TILE ; 19
+ db WALL_TILE | TALK ; COLL_CUT_TREE_1A
+ db LAND_TILE ; 1b
+ db LAND_TILE ; COLL_LONG_GRASS_1C
+ db WALL_TILE | TALK ; COLL_HEADBUTT_TREE_1D
+ db LAND_TILE ; 1e
+ db LAND_TILE ; 1f
+ db WATER_TILE ; 20
+ db WATER_TILE ; COLL_WATER_21
+ db WATER_TILE | TALK ; 22
+ db LAND_TILE ; COLL_ICE
+ db WATER_TILE | TALK ; COLL_WHIRLPOOL
+ db WATER_TILE ; 25
+ db WATER_TILE ; 26
+ db WALL_TILE ; COLL_BUOY
+ db WATER_TILE ; COLL_CUT_28
+ db WATER_TILE ; COLL_WATER
+ db WATER_TILE | TALK ; 2a
+ db LAND_TILE ; COLL_ICE_2B
+ db WATER_TILE | TALK ; COLL_WHIRLPOOL_2C
+ db WATER_TILE ; 2d
+ db WATER_TILE ; 2e
+ db WALL_TILE ; 2f
+ db WATER_TILE ; COLL_WATERFALL_RIGHT
+ db WATER_TILE ; COLL_WATERFALL_LEFT
+ db WATER_TILE ; COLL_WATERFALL_UP
+ db WATER_TILE ; COLL_WATERFALL
+ db WATER_TILE ; 34
+ db WATER_TILE ; 35
+ db WATER_TILE ; 36
+ db WATER_TILE ; 37
+ db WATER_TILE ; COLL_CURRENT_RIGHT
+ db WATER_TILE ; COLL_CURRENT_LEFT
+ db WATER_TILE ; COLL_CURRENT_UP
+ db WATER_TILE ; COLL_CURRENT_DOWN
+ db WATER_TILE ; 3c
+ db WATER_TILE ; 3d
+ db WATER_TILE ; 3e
+ db WATER_TILE ; 3f
+ db LAND_TILE ; COLL_BRAKE
+ db LAND_TILE ; COLL_WALK_RIGHT
+ db LAND_TILE ; COLL_WALK_LEFT
+ db LAND_TILE ; COLL_WALK_UP
+ db LAND_TILE ; COLL_WALK_DOWN
+ db LAND_TILE ; COLL_BRAKE_45
+ db LAND_TILE ; COLL_BRAKE_46
+ db LAND_TILE ; COLL_BRAKE_47
+ db LAND_TILE ; COLL_GRASS_48
+ db LAND_TILE ; COLL_GRASS_49
+ db LAND_TILE ; COLL_GRASS_4A
+ db LAND_TILE ; COLL_GRASS_4B
+ db LAND_TILE ; COLL_GRASS_4C
+ db LAND_TILE ; 4d
+ db LAND_TILE ; 4e
+ db LAND_TILE ; 4f
+ db LAND_TILE ; COLL_WALK_RIGHT_ALT
+ db LAND_TILE ; COLL_WALK_LEFT_ALT
+ db LAND_TILE ; COLL_WALK_UP_ALT
+ db LAND_TILE ; COLL_WALK_DOWN_ALT
+ db LAND_TILE ; COLL_BRAKE_ALT
+ db LAND_TILE ; COLL_BRAKE_55
+ db LAND_TILE ; COLL_BRAKE_56
+ db LAND_TILE ; COLL_BRAKE_57
+ db LAND_TILE ; 58
+ db LAND_TILE ; 59
+ db LAND_TILE ; 5a
+ db LAND_TILE ; COLL_5B
+ db LAND_TILE ; 5c
+ db LAND_TILE ; 5d
+ db LAND_TILE ; 5e
+ db LAND_TILE ; 5f
+ db LAND_TILE ; COLL_PIT
+ db LAND_TILE ; COLL_VIRTUAL_BOY
+ db WALL_TILE ; 62
+ db LAND_TILE ; 63
+ db LAND_TILE ; COLL_64
+ db LAND_TILE ; COLL_65
+ db LAND_TILE ; 66
+ db LAND_TILE ; 67
+ db LAND_TILE ; COLL_PIT_68
+ db LAND_TILE ; 69
+ db WALL_TILE ; 6a
+ db LAND_TILE ; 6b
+ db LAND_TILE ; 6c
+ db LAND_TILE ; 6d
+ db LAND_TILE ; 6e
+ db LAND_TILE ; 6f
+ db LAND_TILE ; COLL_WARP_CARPET_DOWN
+ db LAND_TILE ; COLL_DOOR
+ db LAND_TILE ; COLL_LADDER
+ db LAND_TILE ; COLL_STAIRCASE_73
+ db LAND_TILE ; COLL_CAVE_74
+ db LAND_TILE ; COLL_DOOR_75
+ db LAND_TILE ; COLL_WARP_CARPET_LEFT
+ db LAND_TILE ; COLL_WARP_77
+ db LAND_TILE ; COLL_WARP_CARPET_UP
+ db LAND_TILE ; COLL_DOOR_79
+ db LAND_TILE ; COLL_STAIRCASE
+ db LAND_TILE ; COLL_CAVE
+ db LAND_TILE ; COLL_WARP_PANEL
+ db LAND_TILE ; COLL_DOOR_7D
+ db LAND_TILE ; COLL_WARP_CARPET_RIGHT
+ db LAND_TILE ; COLL_WARP_7F
+ db WALL_TILE ; 80
+ db WALL_TILE ; 81
+ db WALL_TILE ; 82
+ db WALL_TILE ; 83
+ db WALL_TILE ; 84
+ db LAND_TILE ; 85
+ db LAND_TILE ; 86
+ db LAND_TILE ; 87
+ db WALL_TILE ; 88
+ db WALL_TILE ; 89
+ db WALL_TILE ; 8a
+ db WALL_TILE ; 8b
+ db WALL_TILE ; 8c
+ db LAND_TILE ; 8d
+ db LAND_TILE ; 8e
+ db LAND_TILE ; 8f
+ db WALL_TILE ; COLL_COUNTER
+ db WALL_TILE ; COLL_BOOKSHELF
+ db WALL_TILE ; 92
+ db WALL_TILE ; COLL_PC
+ db WALL_TILE ; COLL_RADIO
+ db WALL_TILE ; COLL_TOWN_MAP
+ db WALL_TILE ; COLL_MART_SHELF
+ db WALL_TILE ; COLL_TV
+ db WALL_TILE ; COLL_COUNTER_98
+ db WALL_TILE ; 99
+ db WALL_TILE ; 9a
+ db WALL_TILE ; 9b
+ db WALL_TILE ; COLL_9C
+ db WALL_TILE ; COLL_WINDOW
+ db WALL_TILE ; 9e
+ db WALL_TILE ; COLL_INCENSE_BURNER
+ db LAND_TILE ; COLL_HOP_RIGHT
+ db LAND_TILE ; COLL_HOP_LEFT
+ db LAND_TILE ; COLL_HOP_UP
+ db LAND_TILE ; COLL_HOP_DOWN
+ db LAND_TILE ; COLL_HOP_DOWN_RIGHT
+ db LAND_TILE ; COLL_HOP_DOWN_LEFT
+ db LAND_TILE ; COLL_HOP_UP_RIGHT
+ db LAND_TILE ; COLL_HOP_UP_LEFT
+ db LAND_TILE ; a8
+ db LAND_TILE ; a9
+ db LAND_TILE ; aa
+ db LAND_TILE ; ab
+ db LAND_TILE ; ac
+ db LAND_TILE ; ad
+ db LAND_TILE ; ae
+ db LAND_TILE ; af
+ db LAND_TILE ; COLL_RIGHT_WALL
+ db LAND_TILE ; COLL_LEFT_WALL
+ db LAND_TILE ; COLL_UP_WALL
+ db LAND_TILE ; COLL_DOWN_WALL
+ db LAND_TILE ; COLL_DOWN_RIGHT_WALL
+ db LAND_TILE ; COLL_DOWN_LEFT_WALL
+ db LAND_TILE ; COLL_UP_RIGHT_WALL
+ db LAND_TILE ; COLL_UP_LEFT_WALL
+ db LAND_TILE ; b8
+ db LAND_TILE ; b9
+ db LAND_TILE ; ba
+ db LAND_TILE ; bb
+ db LAND_TILE ; bc
+ db LAND_TILE ; bd
+ db LAND_TILE ; be
+ db LAND_TILE ; bf
+ db WATER_TILE ; COLL_RIGHT_BUOY
+ db WATER_TILE ; COLL_LEFT_BUOY
+ db WATER_TILE ; COLL_UP_BUOY
+ db WATER_TILE ; COLL_DOWN_BUOY
+ db WATER_TILE ; COLL_DOWN_RIGHT_BUOY
+ db WATER_TILE ; COLL_DOWN_LEFT_BUOY
+ db WATER_TILE ; COLL_UP_RIGHT_BUOY
+ db WATER_TILE ; COLL_UP_LEFT_BUOY
+ db WATER_TILE ; c8
+ db WATER_TILE ; c9
+ db WATER_TILE ; ca
+ db WATER_TILE ; cb
+ db WATER_TILE ; cc
+ db WATER_TILE ; cd
+ db WATER_TILE ; ce
+ db WATER_TILE ; cf
+ db LAND_TILE ; d0
+ db LAND_TILE ; d1
+ db LAND_TILE ; d2
+ db LAND_TILE ; d3
+ db LAND_TILE ; d4
+ db LAND_TILE ; d5
+ db LAND_TILE ; d6
+ db LAND_TILE ; d7
+ db LAND_TILE ; d8
+ db LAND_TILE ; d9
+ db LAND_TILE ; da
+ db LAND_TILE ; db
+ db LAND_TILE ; dc
+ db LAND_TILE ; dd
+ db LAND_TILE ; de
+ db LAND_TILE ; df
+ db LAND_TILE ; e0
+ db LAND_TILE ; e1
+ db LAND_TILE ; e2
+ db LAND_TILE ; e3
+ db LAND_TILE ; e4
+ db LAND_TILE ; e5
+ db LAND_TILE ; e6
+ db LAND_TILE ; e7
+ db LAND_TILE ; e8
+ db LAND_TILE ; e9
+ db LAND_TILE ; ea
+ db LAND_TILE ; eb
+ db LAND_TILE ; ec
+ db LAND_TILE ; ed
+ db LAND_TILE ; ee
+ db LAND_TILE ; ef
+ db LAND_TILE ; f0
+ db LAND_TILE ; f1
+ db LAND_TILE ; f2
+ db LAND_TILE ; f3
+ db LAND_TILE ; f4
+ db LAND_TILE ; f5
+ db LAND_TILE ; f6
+ db LAND_TILE ; f7
+ db LAND_TILE ; f8
+ db LAND_TILE ; f9
+ db LAND_TILE ; fa
+ db LAND_TILE ; fb
+ db LAND_TILE ; fc
+ db LAND_TILE ; fd
+ db LAND_TILE ; fe
+ db WALL_TILE ; COLL_FF
diff --git a/data/tilesets/cave_collision.asm b/data/tilesets/cave_collision.asm
new file mode 100644
index 00000000..c9994e73
--- /dev/null
+++ b/data/tilesets/cave_collision.asm
@@ -0,0 +1,64 @@
+ tilecoll WATERFALL_RIGHT, FLOOR, 36, FLOOR ; 00
+ tilecoll WALL, WALL, WALL, WALL ; 01
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 02
+ tilecoll TALL_GRASS, TALL_GRASS, TALL_GRASS, TALL_GRASS ; 03
+ tilecoll WALL, UP_WALL, WALL, FLOOR ; 04
+ tilecoll UP_WALL, UP_WALL, FLOOR, FLOOR ; 05
+ tilecoll UP_WALL, WALL, FLOOR, WALL ; 06
+ tilecoll FLOOR, FLOOR, FLOOR, LADDER ; 07
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 08
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 09
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 0a
+ tilecoll FLOOR, FLOOR, FLOOR, LADDER ; 0b
+ tilecoll WALL, FLOOR, WALL, WALL ; 0c
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 0d
+ tilecoll FLOOR, WALL, WALL, WALL ; 0e
+ tilecoll WATER, WATER, WATER, WATER ; 0f
+ tilecoll FLOOR, FLOOR, FLOOR, WALL ; 10
+ tilecoll FLOOR, FLOOR, WALL, FLOOR ; 11
+ tilecoll FLOOR, FLOOR, WALL, FLOOR ; 12
+ tilecoll FLOOR, FLOOR, WALL, CAVE ; 13
+ tilecoll UP_WALL, UP_WALL, FLOOR, LADDER ; 14
+ tilecoll UP_WALL, UP_WALL, FLOOR, LADDER ; 15
+ tilecoll WALL, FLOOR, WALL, WARP_CARPET_DOWN ; 16
+ tilecoll FLOOR, WALL, FLOOR, FLOOR ; 17
+ tilecoll WALL, WALL, WALL, FLOOR ; 18
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 19
+ tilecoll WALL, WALL, FLOOR, WALL ; 1a
+ tilecoll FLOOR, FLOOR, FLOOR, LADDER ; 1b
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 1c
+ tilecoll WALL, WALL, WALL, WALL ; 1d
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 1e
+ tilecoll FLOOR, FLOOR, FLOOR, LADDER ; 1f
+ tilecoll WALL, FLOOR, WALL, WALL ; 20
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 21
+ tilecoll FLOOR, WALL, WALL, WALL ; 22
+ tilecoll UP_WALL, WALL, FLOOR, FLOOR ; 23
+ tilecoll FLOOR, FLOOR, FLOOR, WARP_CARPET_DOWN ; 24
+ tilecoll WATER, WATER, WATER, WATER ; 25
+ tilecoll WATER, WATER, WATER, WATER ; 26
+ tilecoll WATER, WATER, WATER, WATER ; 27
+ tilecoll WALL, FLOOR, FLOOR, FLOOR ; 28
+ tilecoll FLOOR, FLOOR, WALL, FLOOR ; 29
+ tilecoll FLOOR, WALL, FLOOR, FLOOR ; 2a
+ tilecoll FLOOR, FLOOR, FLOOR, WALL ; 2b
+ tilecoll WATERFALL, WATERFALL, WATERFALL, WATERFALL ; 2c
+ tilecoll WALL, WALL, WALL, WALL ; 2d
+ tilecoll WALL, WALL, WALL, WALL ; 2e
+ tilecoll WALL, WALL, WALL, WALL ; 2f
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 30
+ tilecoll WALL, WALL, WALL, WALL ; 31
+ tilecoll WATER, WATER, WATER, WATER ; 32
+ tilecoll WATER, WATER, WATER, WATER ; 33
+ tilecoll WALL, WALL, WALL, WALL ; 34
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 35
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 36
+ tilecoll WALL, WALL, WALL, CAVE ; 37
+ tilecoll WALL, HOP_DOWN_LEFT, WALL, WALL ; 38
+ tilecoll HOP_DOWN, HOP_DOWN, WALL, WALL ; 39
+ tilecoll HOP_DOWN_RIGHT, WALL, WALL, WALL ; 3a
+ tilecoll WALL, HOP_LEFT, WALL, HOP_LEFT ; 3b
+ tilecoll HOP_RIGHT, WALL, HOP_RIGHT, WALL ; 3c
+ tilecoll WATER, WATER, WATER, WATER ; 3d
+ tilecoll WATER, WATER, WATER, WATER ; 3e
+ tilecoll FLOOR, FLOOR, PIT, FLOOR ; 3f
diff --git a/data/tilesets/elite_four_room_collision.asm b/data/tilesets/elite_four_room_collision.asm
new file mode 100644
index 00000000..59b5d223
--- /dev/null
+++ b/data/tilesets/elite_four_room_collision.asm
@@ -0,0 +1,64 @@
+ tilecoll WALL, WALL, WALL, WALL ; 00
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 01
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 02
+ tilecoll FLOOR, FLOOR, WARP_CARPET_DOWN, WARP_CARPET_DOWN ; 03
+ tilecoll WALL, WALL, WALL, FLOOR ; 04
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 05
+ tilecoll WALL, WALL, FLOOR, WALL ; 06
+ tilecoll WALL, WALL, WALL, WALL ; 07
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 08
+ tilecoll FLOOR, FLOOR, PIT, FLOOR ; 09
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 0a
+ tilecoll FLOOR, FLOOR, WALL, FLOOR ; 0b
+ tilecoll WALL, FLOOR, WALL, WALL ; 0c
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 0d
+ tilecoll FLOOR, WALL, WALL, WALL ; 0e
+ tilecoll WALL, FLOOR, FLOOR, FLOOR ; 0f
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 10
+ tilecoll FLOOR, WALL, FLOOR, FLOOR ; 11
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 12
+ tilecoll FLOOR, FLOOR, FLOOR, WALL ; 13
+ tilecoll WALL, WALL, WALL, WALL ; 14
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 15
+ tilecoll LADDER, LADDER, FLOOR, FLOOR ; 16
+ tilecoll WALL, WALL, WALL, WALL ; 17
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 18
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 19
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 1a
+ tilecoll WALL, FLOOR, WALL, WALL ; 1b
+ tilecoll FLOOR, FLOOR, WARP_CARPET_DOWN, WARP_CARPET_DOWN ; 1c
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 1d
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 1e
+ tilecoll WALL, WALL, WALL, WALL ; 1f
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 20
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 21
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 22
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 23
+ tilecoll WALL, WALL, WALL, WALL ; 24
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 25
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 26
+ tilecoll WALL, WALL, WALL, WALL ; 27
+ tilecoll FLOOR, FLOOR, FLOOR, LADDER ; 28
+ tilecoll FLOOR, FLOOR, FLOOR, LADDER ; 29
+ tilecoll WALL, WALL, WALL, WALL ; 2a
+ tilecoll WALL, WALL, WALL, WALL ; 2b
+ tilecoll WALL, WALL, WALL, WALL ; 2c
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 2d
+ tilecoll ICE, ICE, ICE, FLOOR ; 2e
+ tilecoll ICE, ICE, FLOOR, ICE ; 2f
+ tilecoll WALL, FLOOR, FLOOR, FLOOR ; 30
+ tilecoll FLOOR, ICE, ICE, ICE ; 31
+ tilecoll ICE, FLOOR, ICE, ICE ; 32
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 33
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 34
+ tilecoll ICE, WALL, ICE, WALL ; 35
+ tilecoll WALL, ICE, WALL, ICE ; 36
+ tilecoll WALL, WALL, WALL, WALL ; 37
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 38
+ tilecoll ICE, ICE, ICE, ICE ; 39
+ tilecoll WALL, FLOOR, FLOOR, WALL ; 3a
+ tilecoll WALL, FLOOR, FLOOR, FLOOR ; 3b
+ tilecoll DOOR, DOOR, FLOOR, FLOOR ; 3c
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 3d
+ tilecoll WALL, WALL, WALL, WALL ; 3e
+ tilecoll WALL, WALL, WALL, WALL ; 3f
diff --git a/data/tilesets/facility_collision.asm b/data/tilesets/facility_collision.asm
new file mode 100644
index 00000000..781618c2
--- /dev/null
+++ b/data/tilesets/facility_collision.asm
@@ -0,0 +1,64 @@
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 00
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 01
+ tilecoll WALL, WALL, WALL, WALL ; 02
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 03
+ tilecoll FLOOR, LADDER, FLOOR, FLOOR ; 04
+ tilecoll FLOOR, LADDER, FLOOR, FLOOR ; 05
+ tilecoll WALL, WALL, BOOKSHELF, BOOKSHELF ; 06
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 07
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 08
+ tilecoll WALL, WALL, WALL, FLOOR ; 09
+ tilecoll WALL, WALL, FLOOR, WALL ; 0a
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 0b
+ tilecoll FLOOR, FLOOR, WARP_CARPET_DOWN, WARP_CARPET_DOWN ; 0c
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 0d
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 0e
+ tilecoll WALL, WALL, WALL, WALL ; 0f
+ tilecoll FLOOR, FLOOR, FLOOR, WALL ; 10
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 11
+ tilecoll WALL, WALL, WALL, WALL ; 12
+ tilecoll WALL, WALL, WALL, WALL ; 13
+ tilecoll FLOOR, WALL, FLOOR, FLOOR ; 14
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 15
+ tilecoll WALL, WALL, WALL, WALL ; 16
+ tilecoll WALL, WALL, WALL, WALL ; 17
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 18
+ tilecoll WALL, WALL, WALL, WALL ; 19
+ tilecoll WALL, WALL, WALL, FLOOR ; 1a
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 1b
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 1c
+ tilecoll WALL, STAIRCASE, FLOOR, FLOOR ; 1d
+ tilecoll WALL, WALL, FLOOR, COUNTER ; 1e
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 1f
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 20
+ tilecoll WALL, WALL, WALL, FLOOR ; 21
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 22
+ tilecoll WALL, FLOOR, WALL, WALL ; 23
+ tilecoll FLOOR, FLOOR, FLOOR, WALL ; 24
+ tilecoll FLOOR, FLOOR, WALL, FLOOR ; 25
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 26
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 27
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 28
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 29
+ tilecoll FLOOR, FLOOR, WALL, FLOOR ; 2a
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 2b
+ tilecoll FLOOR, FLOOR, WALL, FLOOR ; 2c
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 2d
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 2e
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 2f
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 30
+ tilecoll COUNTER, COUNTER, FLOOR, FLOOR ; 31
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 32
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 33
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 34
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 35
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 36
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 37
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 38
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 39
+ tilecoll FLOOR, WALL, WALL, WALL ; 3a
+ tilecoll WALL, WALL, FLOOR, WALL ; 3b
+ tilecoll WALL, WALL, WALL, FLOOR ; 3c
+ tilecoll WALL, WALL, FLOOR, WALL ; 3d
+ tilecoll WALL, FLOOR, WALL, WALL ; 3e
+ tilecoll FLOOR, COUNTER, COUNTER, COUNTER ; 3f
diff --git a/data/tilesets/game_corner_collision.asm b/data/tilesets/game_corner_collision.asm
new file mode 100644
index 00000000..3d9a9255
--- /dev/null
+++ b/data/tilesets/game_corner_collision.asm
@@ -0,0 +1,64 @@
+ tilecoll WALL, WALL, WALL, WALL ; 00
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 01
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 02
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 03
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 04
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 05
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 06
+ tilecoll COUNTER, COUNTER, COUNTER, COUNTER ; 07
+ tilecoll FLOOR, FLOOR, COUNTER, COUNTER ; 08
+ tilecoll FLOOR, FLOOR, COUNTER, COUNTER ; 09
+ tilecoll FLOOR, FLOOR, COUNTER, COUNTER ; 0a
+ tilecoll WALL, WALL, WALL, WALL ; 0b
+ tilecoll FLOOR, FLOOR, WARP_CARPET_DOWN, WARP_CARPET_DOWN ; 0c
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 0d
+ tilecoll WALL, WALL, WALL, WALL ; 0e
+ tilecoll WALL, WALL, WALL, WALL ; 0f
+ tilecoll WALL, WALL, COUNTER, COUNTER ; 10
+ tilecoll WALL, WALL, COUNTER, COUNTER ; 11
+ tilecoll WALL, WALL, WALL, WALL ; 12
+ tilecoll WALL, WALL, COUNTER, FLOOR ; 13
+ tilecoll COUNTER, FLOOR, COUNTER, COUNTER ; 14
+ tilecoll WALL, WALL, WALL, WALL ; 15
+ tilecoll COUNTER, FLOOR, COUNTER, FLOOR ; 16
+ tilecoll COUNTER, FLOOR, COUNTER, COUNTER ; 17
+ tilecoll FLOOR, FLOOR, COUNTER, COUNTER ; 18
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 19
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 1a
+ tilecoll FLOOR, COUNTER, COUNTER, COUNTER ; 1b
+ tilecoll WALL, WALL, FLOOR, COUNTER ; 1c
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 1d
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 1e
+ tilecoll FLOOR, FLOOR, FLOOR, 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, FLOOR, FLOOR ; 26
+ tilecoll FLOOR, FLOOR, COUNTER, COUNTER ; 27
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 28
+ tilecoll WALL, WALL, FLOOR, WALL ; 29
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 2a
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 2b
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 2c
+ tilecoll WALL, WALL, WALL, WALL ; 2d
+ tilecoll WALL, WALL, WALL, WALL ; 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
diff --git a/data/tilesets/gate_collision.asm b/data/tilesets/gate_collision.asm
new file mode 100644
index 00000000..80c99f9a
--- /dev/null
+++ b/data/tilesets/gate_collision.asm
@@ -0,0 +1,64 @@
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 00
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 01
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 02
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 03
+ tilecoll DOOR, DOOR, FLOOR, FLOOR ; 04
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 05
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 06
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 07
+ tilecoll COUNTER, COUNTER, COUNTER, FLOOR ; 08
+ tilecoll COUNTER, COUNTER, FLOOR, COUNTER ; 09
+ tilecoll FLOOR, FLOOR, WARP_CARPET_DOWN, WARP_CARPET_DOWN ; 0a
+ tilecoll FLOOR, FLOOR, COUNTER, COUNTER ; 0b
+ tilecoll COUNTER, FLOOR, COUNTER, COUNTER ; 0c
+ tilecoll FLOOR, COUNTER, COUNTER, COUNTER ; 0d
+ tilecoll WALL, WALL, COUNTER, FLOOR ; 0e
+ tilecoll WALL, WALL, FLOOR, COUNTER ; 0f
+ tilecoll COUNTER, COUNTER, FLOOR, FLOOR ; 10
+ tilecoll WALL, STAIRCASE, FLOOR, FLOOR ; 11
+ tilecoll WALL, STAIRCASE, FLOOR, FLOOR ; 12
+ tilecoll WALL, WALL, FLOOR, COUNTER ; 13
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 14
+ tilecoll WALL, WALL, WALL, WALL ; 15
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 16
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 17
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 18
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 19
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 1a
+ tilecoll FLOOR, FLOOR, WARP_CARPET_DOWN, WARP_CARPET_DOWN ; 1b
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 1c
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 1d
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 1e
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 1f
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 20
+ tilecoll COUNTER, COUNTER, FLOOR, FLOOR ; 21
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 22
+ tilecoll WARP_CARPET_LEFT, FLOOR, WARP_CARPET_LEFT, FLOOR ; 23
+ tilecoll FLOOR, WARP_CARPET_RIGHT, FLOOR, WARP_CARPET_RIGHT ; 24
+ tilecoll FLOOR, FLOOR, FLOOR, WARP_CARPET_DOWN ; 25
+ tilecoll FLOOR, FLOOR, WARP_CARPET_DOWN, FLOOR ; 26
+ tilecoll WALL, WALL, WALL, WALL ; 27
+ tilecoll FLOOR, COUNTER, FLOOR, COUNTER ; 28
+ tilecoll WALL, DOOR, FLOOR, FLOOR ; 29
+ tilecoll DOOR, WALL, FLOOR, FLOOR ; 2a
+ tilecoll FLOOR, COUNTER, FLOOR, COUNTER ; 2b
+ tilecoll WALL, WALL, FLOOR, PC ; 2c
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 2d
+ tilecoll DOOR, WALL, FLOOR, FLOOR ; 2e
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 2f
+ tilecoll FLOOR, FLOOR, FLOOR, COUNTER ; 30
+ tilecoll FLOOR, LADDER, FLOOR, FLOOR ; 31
+ tilecoll COUNTER, FLOOR, COUNTER, FLOOR ; 32
+ tilecoll COUNTER, FLOOR, FLOOR, WALL ; 33
+ tilecoll COUNTER, FLOOR, COUNTER, FLOOR ; 34
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 35
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 36
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 37
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 38
+ tilecoll WALL, WALL, WALL, WALL ; 39
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 3a
+ tilecoll FLOOR, FLOOR, LADDER, FLOOR ; 3b
+ tilecoll FLOOR, FLOOR, COUNTER, FLOOR ; 3c
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 3d
+ tilecoll COUNTER, COUNTER, FLOOR, COUNTER ; 3e
+ tilecoll FLOOR, COUNTER, COUNTER, COUNTER ; 3f
diff --git a/data/tilesets/ice_path_collision.asm b/data/tilesets/ice_path_collision.asm
new file mode 100644
index 00000000..9f04a5d7
--- /dev/null
+++ b/data/tilesets/ice_path_collision.asm
@@ -0,0 +1,64 @@
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 00
+ tilecoll WALL, WALL, WALL, WALL ; 01
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 02
+ tilecoll FLOOR, FLOOR, FLOOR, LADDER ; 03
+ tilecoll WALL, UP_WALL, WALL, FLOOR ; 04
+ tilecoll UP_WALL, UP_WALL, FLOOR, FLOOR ; 05
+ tilecoll UP_WALL, WALL, FLOOR, WALL ; 06
+ tilecoll FLOOR, FLOOR, FLOOR, LADDER ; 07
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 08
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 09
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 0a
+ tilecoll ICE, ICE, ICE, LADDER ; 0b
+ tilecoll WALL, FLOOR, WALL, WALL ; 0c
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 0d
+ tilecoll FLOOR, WALL, WALL, WALL ; 0e
+ tilecoll ICE, ICE, ICE, LADDER ; 0f
+ tilecoll FLOOR, FLOOR, FLOOR, WALL ; 10
+ tilecoll FLOOR, FLOOR, WALL, FLOOR ; 11
+ tilecoll FLOOR, FLOOR, WALL, FLOOR ; 12
+ tilecoll FLOOR, FLOOR, WALL, CAVE ; 13
+ tilecoll WALL, WALL, WALL, FLOOR ; 14
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 15
+ tilecoll WALL, WALL, FLOOR, WALL ; 16
+ tilecoll FLOOR, FLOOR, PIT, FLOOR ; 17
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 18
+ tilecoll WALL, WALL, WALL, WALL ; 19
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 1a
+ tilecoll FLOOR, PIT, FLOOR, FLOOR ; 1b
+ tilecoll WALL, FLOOR, WALL, WALL ; 1c
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 1d
+ tilecoll FLOOR, WALL, WALL, WALL ; 1e
+ tilecoll ICE, ICE, ICE, ICE ; 1f
+ tilecoll WALL, FLOOR, FLOOR, FLOOR ; 20
+ tilecoll FLOOR, FLOOR, WALL, FLOOR ; 21
+ tilecoll FLOOR, WALL, FLOOR, FLOOR ; 22
+ tilecoll FLOOR, FLOOR, FLOOR, WALL ; 23
+ tilecoll WALL, HOP_DOWN_LEFT, WALL, WALL ; 24
+ tilecoll HOP_DOWN, HOP_DOWN, WALL, WALL ; 25
+ tilecoll HOP_DOWN_RIGHT, WALL, WALL, WALL ; 26
+ tilecoll WALL, HOP_LEFT, WALL, HOP_LEFT ; 27
+ tilecoll HOP_RIGHT, WALL, HOP_RIGHT, WALL ; 28
+ tilecoll FLOOR, FLOOR, WARP_CARPET_DOWN, FLOOR ; 29
+ tilecoll WALL, WALL, WALL, WALL ; 2a
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 2b
+ tilecoll WALL, ICE, ICE, ICE ; 2c
+ tilecoll ICE, ICE, WALL, ICE ; 2d
+ tilecoll ICE, WALL, ICE, ICE ; 2e
+ tilecoll ICE, ICE, ICE, WALL ; 2f
+ tilecoll WALL, WALL, FLOOR, WALL ; 30
+ tilecoll WALL, WALL, WALL, WALL ; 31
+ tilecoll WALL, WALL, WALL, FLOOR ; 32
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 33
+ tilecoll FLOOR, WALL, FLOOR, FLOOR ; 34
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 35
+ tilecoll WALL, FLOOR, FLOOR, FLOOR ; 36
+ tilecoll FLOOR, FLOOR, FLOOR, LADDER ; 37
+ tilecoll FLOOR, FLOOR, FLOOR, LADDER ; 38
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 39
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 3a
+ tilecoll WALL, WALL, WALL, WALL ; 3b
+ tilecoll WALL, FLOOR, FLOOR, FLOOR ; 3c
+ tilecoll FLOOR, FLOOR, WARP_CARPET_DOWN, WARP_CARPET_DOWN ; 3d
+ tilecoll ICE, ICE, ICE, LADDER ; 3e
+ tilecoll ICE, ICE, ICE, LADDER ; 3f
diff --git a/data/tilesets/johto_collision.asm b/data/tilesets/johto_collision.asm
new file mode 100644
index 00000000..0db322cc
--- /dev/null
+++ b/data/tilesets/johto_collision.asm
@@ -0,0 +1,128 @@
+ tilecoll 01, 01, 01, 01 ; 00
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 01
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 02
+ tilecoll TALL_GRASS, TALL_GRASS, TALL_GRASS, TALL_GRASS ; 03
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 04
+ tilecoll WALL, WALL, WALL, WALL ; 05
+ tilecoll LADDER, LADDER, LADDER, LADDER ; 06
+ tilecoll WHIRLPOOL, BUOY, WATER, BUOY ; 07
+ tilecoll WALL, WALL, WALL, WALL ; 08
+ tilecoll WALL, WALL, WALL, WALL ; 09
+ tilecoll WALL, WALL, WALL, WALL ; 0a
+ tilecoll WARP_CARPET_LEFT, FLOOR, WARP_CARPET_LEFT, FLOOR ; 0b
+ tilecoll FLOOR, FLOOR, WALL, WARP_CARPET_DOWN ; 0c
+ tilecoll FLOOR, FLOOR, WARP_CARPET_DOWN, WALL ; 0d
+ tilecoll FLOOR, WARP_CARPET_RIGHT, FLOOR, WARP_CARPET_RIGHT ; 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, WALL, WALL ; 13
+ tilecoll WALL, WALL, WALL, DOOR ; 14
+ tilecoll WALL, WALL, WALL, WALL ; 15
+ tilecoll WALL, WALL, WALL, DOOR ; 16
+ tilecoll WALL, WALL, WALL, WALL ; 17
+ tilecoll WALL, WALL, WALL, WALL ; 18
+ tilecoll WALL, WALL, WALL, WALL ; 19
+ tilecoll WALL, WALL, WALL, DOOR ; 1a
+ tilecoll WALL, WALL, WALL, WALL ; 1b
+ tilecoll WALL, WALL, WALL, WALL ; 1c
+ tilecoll WALL, WALL, DOOR, WALL ; 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 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, DOOR, WALL ; 27
+ tilecoll WALL, WALL, WALL, DOOR ; 28
+ tilecoll WALL, WALL, WALL, WALL ; 29
+ tilecoll HEADBUTT_TREE, HEADBUTT_TREE, WALL, WALL ; 2a
+ tilecoll WALL, WALL, WALL, WALL ; 2b
+ tilecoll HEADBUTT_TREE, HEADBUTT_TREE, WALL, WALL ; 2c
+ tilecoll HEADBUTT_TREE, HEADBUTT_TREE, WALL, WALL ; 2d
+ tilecoll WALL, WALL, WALL, DOOR ; 2e
+ tilecoll WALL, WALL, WALL, WALL ; 2f
+ tilecoll BUOY, BUOY, BUOY, WATER ; 30
+ tilecoll BUOY, BUOY, WATER, WATER ; 31
+ tilecoll BUOY, BUOY, WATER, BUOY ; 32
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 33
+ tilecoll BUOY, WATER, BUOY, WATER ; 34
+ tilecoll WATER, WATER, WATER, WATER ; 35
+ tilecoll WATER, BUOY, WATER, BUOY ; 36
+ tilecoll WALL, WALL, WALL, WALL ; 37
+ tilecoll BUOY, WATER, BUOY, BUOY ; 38
+ tilecoll WATER, WATER, BUOY, BUOY ; 39
+ tilecoll WATER, BUOY, BUOY, BUOY ; 3a
+ tilecoll WALL, WALL, WALL, WALL ; 3b
+ tilecoll HEADBUTT_TREE, FLOOR, FLOOR, FLOOR ; 3c
+ tilecoll FLOOR, HEADBUTT_TREE, FLOOR, FLOOR ; 3d
+ tilecoll FLOOR, FLOOR, HEADBUTT_TREE, FLOOR ; 3e
+ tilecoll FLOOR, FLOOR, FLOOR, HEADBUTT_TREE ; 3f
+ tilecoll WALL, WALL, WALL, FLOOR ; 40
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 41
+ tilecoll WALL, WALL, FLOOR, WALL ; 42
+ tilecoll WATER, WATER, WATER, WATER ; 43
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 44
+ tilecoll WALL, FLOOR, FLOOR, FLOOR ; 45
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 46
+ tilecoll FLOOR, FLOOR, FLOOR, WALL ; 47
+ tilecoll WALL, FLOOR, WALL, WALL ; 48
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 49
+ tilecoll FLOOR, WALL, WALL, WALL ; 4a
+ tilecoll HOP_DOWN, FLOOR, WALL, FLOOR ; 4b
+ tilecoll WALL, HOP_LEFT, WALL, HOP_LEFT ; 4c
+ tilecoll HOP_RIGHT, WALL, HOP_RIGHT, WALL ; 4d
+ tilecoll WALL, HOP_LEFT, WALL, HOP_LEFT ; 4e
+ tilecoll HOP_RIGHT, WALL, HOP_RIGHT, WALL ; 4f
+ tilecoll WALL, HOP_DOWN_LEFT, WALL, WALL ; 50
+ tilecoll HOP_DOWN_RIGHT, WALL, WALL, WALL ; 51
+ tilecoll WALL, HOP_DOWN_LEFT, WALL, WALL ; 52
+ tilecoll HOP_DOWN_RIGHT, WALL, WALL, WALL ; 53
+ tilecoll WATER, WATER, WATER, WATER ; 54
+ tilecoll WATER, WATER, WATER, WATER ; 55
+ tilecoll HOP_DOWN, HOP_DOWN, WALL, WALL ; 56
+ tilecoll HOP_DOWN, HOP_DOWN, WALL, WALL ; 57
+ tilecoll WATER, WATER, WATER, WATER ; 58
+ tilecoll WATER, WATER, WATER, WATER ; 59
+ tilecoll HOP_DOWN, FLOOR, WALL, FLOOR ; 5a
+ tilecoll HEADBUTT_TREE, CUT_TREE, FLOOR, FLOOR ; 5b
+ tilecoll HEADBUTT_TREE, HEADBUTT_TREE, HEADBUTT_TREE, FLOOR ; 5c
+ tilecoll HEADBUTT_TREE, HEADBUTT_TREE, FLOOR, FLOOR ; 5d
+ tilecoll HEADBUTT_TREE, HEADBUTT_TREE, FLOOR, HEADBUTT_TREE ; 5e
+ tilecoll FLOOR, HEADBUTT_TREE, FLOOR, CUT_TREE ; 5f
+ tilecoll HEADBUTT_TREE, FLOOR, HEADBUTT_TREE, FLOOR ; 60
+ tilecoll HEADBUTT_TREE, HEADBUTT_TREE, HEADBUTT_TREE, HEADBUTT_TREE ; 61
+ tilecoll FLOOR, HEADBUTT_TREE, FLOOR, HEADBUTT_TREE ; 62
+ tilecoll FLOOR, FLOOR, CUT_TREE, HEADBUTT_TREE ; 63
+ tilecoll HEADBUTT_TREE, FLOOR, HEADBUTT_TREE, HEADBUTT_TREE ; 64
+ tilecoll FLOOR, FLOOR, HEADBUTT_TREE, HEADBUTT_TREE ; 65
+ tilecoll FLOOR, HEADBUTT_TREE, HEADBUTT_TREE, HEADBUTT_TREE ; 66
+ tilecoll CUT_TREE, FLOOR, HEADBUTT_TREE, FLOOR ; 67
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 68
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 69
+ tilecoll WALL, UP_WALL, WALL, FLOOR ; 6a
+ tilecoll UP_WALL, WALL, FLOOR, WALL ; 6b
+ tilecoll WALL, FLOOR, WALL, WALL ; 6c
+ tilecoll FLOOR, WALL, WALL, WALL ; 6d
+ tilecoll FLOOR, FLOOR, WALL, FLOOR ; 6e
+ tilecoll FLOOR, FLOOR, FLOOR, WALL ; 6f
+ tilecoll UP_WALL, UP_WALL, FLOOR, FLOOR ; 70
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 71
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 72
+ tilecoll FLOOR, FLOOR, CAVE, WALL ; 73
+ tilecoll WALL, FLOOR, FLOOR, FLOOR ; 74
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 75
+ tilecoll WATER, WATER, WATER, WATER ; 76
+ tilecoll WALL, WALL, DOOR, WALL ; 77
+ tilecoll FLOOR, FLOOR, FLOOR, WALL ; 78
+ tilecoll WATER, WATER, WATER, WATER ; 79
+ tilecoll WATER, WATER, WATER, WATER ; 7a
+ tilecoll WALL, WALL, WALL, WALL ; 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
diff --git a/data/tilesets/kanto_collision.asm b/data/tilesets/kanto_collision.asm
new file mode 100644
index 00000000..275c2b0b
--- /dev/null
+++ b/data/tilesets/kanto_collision.asm
@@ -0,0 +1,128 @@
+ tilecoll CUT_TREE, CUT_TREE, CUT_TREE, CUT_TREE ; 00
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 01
+ tilecoll WALL, WALL, WALL, DOOR ; 02
+ tilecoll WALL, WALL, WALL, WALL ; 03
+ tilecoll FLOOR, FLOOR, WARP_CARPET_DOWN, WARP_CARPET_DOWN ; 04
+ tilecoll LADDER, LADDER, LADDER, LADDER ; 05
+ tilecoll FLOOR, FLOOR, CAVE, WALL ; 06
+ tilecoll HOP_DOWN, HOP_DOWN, WALL, WALL ; 07
+ tilecoll FLOOR, FLOOR, FLOOR, WALL ; 08
+ tilecoll WALL, WALL, WALL, WALL ; 09
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 0a
+ tilecoll TALL_GRASS, TALL_GRASS, TALL_GRASS, TALL_GRASS ; 0b
+ tilecoll WALL, WALL, WALL, WALL ; 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, DOOR, WALL ; 12
+ tilecoll WALL, WALL, WALL, WALL ; 13
+ tilecoll WALL, WATER, WALL, WALL ; 14
+ tilecoll WATER, WALL, WALL, WALL ; 15
+ tilecoll WARP_CARPET_LEFT, FLOOR, WARP_CARPET_LEFT, FLOOR ; 16
+ tilecoll FLOOR, WARP_CARPET_RIGHT, FLOOR, WARP_CARPET_RIGHT ; 17
+ tilecoll WALL, WATER, WALL, WATER ; 18
+ tilecoll WATER, WALL, WATER, WALL ; 19
+ tilecoll HOP_DOWN, HOP_DOWN, WALL, WALL ; 1a
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 1b
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 1c
+ tilecoll WATER, WATER, WATER, WATER ; 1d
+ tilecoll WATER, WATER, WATER, WATER ; 1e
+ tilecoll WATER, WATER, WATER, WATER ; 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 WALL, FLOOR, WALL, WALL ; 24
+ tilecoll FLOOR, WALL, WALL, WALL ; 25
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 26
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 27
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 28
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 29
+ tilecoll FLOOR, FLOOR, WALL, FLOOR ; 2a
+ tilecoll FLOOR, FLOOR, FLOOR, WALL ; 2b
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 2c
+ tilecoll WATER, WATER, WATER, WATER ; 2d
+ tilecoll WATER, WATER, WATER, WATER ; 2e
+ tilecoll HOP_DOWN, FLOOR, WALL, FLOOR ; 2f
+ tilecoll WALL, WALL, WALL, WALL ; 30
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 31
+ tilecoll WALL, CUT_TREE, WALL, FLOOR ; 32
+ tilecoll WALL, WALL, FLOOR, CUT_TREE ; 33
+ tilecoll CUT_TREE, FLOOR, WALL, WALL ; 34
+ tilecoll FLOOR, CUT_TREE, WALL, FLOOR ; 35
+ tilecoll WALL, WALL, FLOOR, WALL ; 36
+ tilecoll WALL, WALL, WALL, WALL ; 37
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 38
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 39
+ tilecoll WALL, WALL, DOOR, WALL ; 3a
+ tilecoll UP_WALL, WALL, FLOOR, WALL ; 3b
+ tilecoll WALL, WALL, WALL, DOOR ; 3c
+ tilecoll WALL, WALL, WALL, WALL ; 3d
+ tilecoll WALL, UP_WALL, WALL, FLOOR ; 3e
+ tilecoll UP_WALL, UP_WALL, FLOOR, FLOOR ; 3f
+ tilecoll WALL, FLOOR, FLOOR, FLOOR ; 40
+ tilecoll FLOOR, FLOOR, WALL, FLOOR ; 41
+ tilecoll HOP_DOWN, WALL, WALL, WALL ; 42
+ tilecoll WATER, WATER, WATER, WATER ; 43
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 44
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 45
+ tilecoll FLOOR, FLOOR, WALL, WARP_CARPET_DOWN ; 46
+ tilecoll HOP_RIGHT, WALL, HOP_RIGHT, WALL ; 47
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 48
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 49
+ tilecoll FLOOR, FLOOR, WARP_CARPET_DOWN, WALL ; 4a
+ tilecoll HOP_DOWN_RIGHT, WALL, WALL, WALL ; 4b
+ tilecoll FLOOR, FLOOR, WALL, FLOOR ; 4c
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 4d
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 4e
+ tilecoll FLOOR, WALL, WALL, WALL ; 4f
+ tilecoll WALL, FLOOR, WALL, WALL ; 50
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 51
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 52
+ tilecoll WALL, WALL, WALL, DOOR ; 53
+ tilecoll WALL, WALL, WALL, WALL ; 54
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 55
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 56
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 57
+ tilecoll WALL, HOP_LEFT, WALL, HOP_LEFT ; 58
+ tilecoll HOP_RIGHT, WALL, HOP_RIGHT, WALL ; 59
+ tilecoll WALL, HOP_DOWN_LEFT, WALL, WALL ; 5a
+ tilecoll HOP_DOWN_RIGHT, WALL, WALL, WALL ; 5b
+ tilecoll FLOOR, HOP_DOWN, FLOOR, WALL ; 5c
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 5d
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 5e
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 5f
+ tilecoll FLOOR, WALL, CUT_TREE, WALL ; 60
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 61
+ tilecoll WALL, WALL, WALL, FLOOR ; 62
+ tilecoll WALL, WALL, FLOOR, WALL ; 63
+ tilecoll WATER, WATER, WATER, WATER ; 64
+ tilecoll WATER, WATER, WATER, WATER ; 65
+ tilecoll WALL, WALL, WALL, WALL ; 66
+ tilecoll WALL, WATER, WALL, WATER ; 67
+ tilecoll WALL, WALL, WALL, WALL ; 68
+ tilecoll WALL, WALL, WALL, WALL ; 69
+ tilecoll WATER, WALL, WATER, WALL ; 6a
+ tilecoll WATER, WATER, WALL, WALL ; 6b
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 6c
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 6d
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 6e
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 6f
+ tilecoll FLOOR, WALL, CAVE, WALL ; 70
+ tilecoll WALL, WALL, WALL, WALL ; 71
+ tilecoll WALL, WALL, WALL, WALL ; 72
+ tilecoll WALL, WALL, WALL, WALL ; 73
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 74
+ tilecoll WALL, WALL, WALL, WALL ; 75
+ tilecoll WALL, WALL, WALL, WALL ; 76
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 77
+ tilecoll WATER, WATER, WATER, WATER ; 78
+ tilecoll FLOOR, FLOOR, FLOOR, WALL ; 79
+ tilecoll WALL, WALL, WALL, WALL ; 7a
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 7b
+ tilecoll WALL, WALL, WALL, DOOR ; 7c
+ tilecoll WALL, WALL, WALL, WALL ; 7d
+ tilecoll WALL, WALL, WALL, WALL ; 7e
+ tilecoll WALL, WALL, WALL, WALL ; 7f
diff --git a/data/tilesets/park_collision.asm b/data/tilesets/park_collision.asm
new file mode 100644
index 00000000..63318765
--- /dev/null
+++ b/data/tilesets/park_collision.asm
@@ -0,0 +1,64 @@
+ tilecoll WALL, WALL, WALL, WALL ; 00
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 01
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 02
+ tilecoll TALL_GRASS, TALL_GRASS, TALL_GRASS, TALL_GRASS ; 03
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 04
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 05
+ tilecoll WALL, WALL, WALL, WALL ; 06
+ tilecoll WATER_21, WATER_21, WATER_21, WATER_21 ; 07
+ tilecoll WALL, WALL, WALL, WALL ; 08
+ tilecoll WALL, WALL, WALL, WALL ; 09
+ tilecoll FLOOR, FLOOR, WARP_CARPET_DOWN, WARP_CARPET_DOWN ; 0a
+ tilecoll FLOOR, WARP_CARPET_RIGHT, FLOOR, WARP_CARPET_RIGHT ; 0b
+ tilecoll WALL, WALL, WALL, WALL ; 0c
+ tilecoll WALL, WALL, WALL, WALL ; 0d
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 0e
+ tilecoll WALL, FLOOR, FLOOR, FLOOR ; 0f
+ tilecoll WALL, WALL, WALL, FLOOR ; 10
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 11
+ tilecoll WALL, WALL, FLOOR, WALL ; 12
+ tilecoll LONG_GRASS, LONG_GRASS, LONG_GRASS, LONG_GRASS ; 13
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 14
+ tilecoll WALL, FLOOR, FLOOR, FLOOR ; 15
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 16
+ tilecoll FLOOR, FLOOR, FLOOR, WALL ; 17
+ tilecoll WALL, FLOOR, WALL, WALL ; 18
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 19
+ tilecoll FLOOR, WALL, WALL, WALL ; 1a
+ tilecoll FLOOR, FLOOR, WALL, FLOOR ; 1b
+ tilecoll WALL, WALL, WALL, FLOOR ; 1c
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 1d
+ tilecoll WALL, WALL, FLOOR, WALL ; 1e
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 1f
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 20
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 21
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 22
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 23
+ tilecoll WALL, FLOOR, WALL, WALL ; 24
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 25
+ tilecoll FLOOR, WALL, WALL, WALL ; 26
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 27
+ tilecoll WALL, WALL, WALL, WALL ; 28
+ tilecoll WALL, WALL, WALL, WALL ; 29
+ tilecoll WALL, WALL, WALL, WALL ; 2a
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 2b
+ tilecoll WALL, WALL, WALL, WALL ; 2c
+ tilecoll WALL, WALL, WALL, WALL ; 2d
+ tilecoll WALL, WALL, WALL, WALL ; 2e
+ tilecoll FLOOR, WALL, FLOOR, FLOOR ; 2f
+ tilecoll WALL, WALL, WALL, WALL ; 30
+ tilecoll WALL, WALL, WALL, WALL ; 31
+ tilecoll WALL, WALL, WALL, WALL ; 32
+ tilecoll WALL, FLOOR, WALL, WARP_CARPET_DOWN ; 33
+ tilecoll WALL, WALL, WALL, WALL ; 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, FLOOR, WALL, WARP_CARPET_DOWN ; 3f
diff --git a/data/tilesets/players_house_collision.asm b/data/tilesets/players_house_collision.asm
new file mode 100644
index 00000000..34c8c237
--- /dev/null
+++ b/data/tilesets/players_house_collision.asm
@@ -0,0 +1,64 @@
+ tilecoll WALL, WALL, WALL, WALL ; 00
+ tilecoll WINDOW, WALL, FLOOR, FLOOR ; 01
+ tilecoll WALL, WALL, FLOOR, TV ; 02
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 03
+ tilecoll WALL, WALL, WALL, WALL ; 04
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 05
+ tilecoll FLOOR, FLOOR, WARP_CARPET_DOWN, WARP_CARPET_DOWN ; 06
+ tilecoll WALL, WALL, WALL, WALL ; 07
+ tilecoll FLOOR, FLOOR, FLOOR, WALL ; 08
+ tilecoll FLOOR, FLOOR, WALL, FLOOR ; 09
+ tilecoll WALL, STAIRCASE, FLOOR, FLOOR ; 0a
+ tilecoll WALL, STAIRCASE, FLOOR, FLOOR ; 0b
+ tilecoll FLOOR, WALL, FLOOR, FLOOR ; 0c
+ tilecoll WALL, FLOOR, FLOOR, FLOOR ; 0d
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 0e
+ tilecoll WALL, WALL, WALL, WALL ; 0f
+ tilecoll WALL, WALL, PC, FLOOR ; 10
+ tilecoll WALL, WALL, TV, WALL ; 11
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 12
+ tilecoll FLOOR, TV, FLOOR, WALL ; 13
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 14
+ tilecoll WALL, WALL, FLOOR, WALL ; 15
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 16
+ tilecoll FLOOR, WALL, FLOOR, FLOOR ; 17
+ tilecoll WALL, WALL, RADIO, PC ; 18
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 19
+ tilecoll WALL, WALL, RADIO, FLOOR ; 1a
+ tilecoll WALL, WALL, BOOKSHELF, BOOKSHELF ; 1b
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 1c
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 1d
+ tilecoll WALL, WALL, VIRTUAL_BOY, FLOOR ; 1e
+ tilecoll WALL, WALL, PC, RADIO ; 1f
+ tilecoll WALL, WALL, WALL, WALL ; 20
+ tilecoll WALL, WALL, TV, BOOKSHELF ; 21
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 22
+ tilecoll STAIRCASE, WALL, FLOOR, FLOOR ; 23
+ tilecoll STAIRCASE, WALL, FLOOR, FLOOR ; 24
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 25
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 26
+ tilecoll WALL, WALL, 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
diff --git a/data/tilesets/pokecenter_collision.asm b/data/tilesets/pokecenter_collision.asm
new file mode 100644
index 00000000..867fc7db
--- /dev/null
+++ b/data/tilesets/pokecenter_collision.asm
@@ -0,0 +1,64 @@
+ tilecoll WALL, WALL, WALL, WALL ; 00
+ 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 COUNTER, COUNTER, FLOOR, FLOOR ; 05
+ tilecoll WALL, COUNTER, FLOOR, FLOOR ; 06
+ tilecoll COUNTER, WALL, FLOOR, FLOOR ; 07
+ tilecoll WALL, WALL, FLOOR, PC ; 08
+ tilecoll WALL, WALL, FLOOR, WALL ; 09
+ tilecoll WALL, DOOR, FLOOR, FLOOR ; 0a
+ tilecoll WALL, WALL, WALL, WALL ; 0b
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 0c
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 0d
+ tilecoll WALL, FLOOR, FLOOR, FLOOR ; 0e
+ tilecoll WALL, WALL, FLOOR, WALL ; 0f
+ tilecoll FLOOR, FLOOR, LADDER, FLOOR ; 10
+ tilecoll FLOOR, FLOOR, FLOOR, WARP_CARPET_DOWN ; 11
+ tilecoll FLOOR, FLOOR, LADDER, FLOOR ; 12
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 13
+ tilecoll WALL, FLOOR, FLOOR, FLOOR ; 14
+ tilecoll WALL, DOOR, FLOOR, FLOOR ; 15
+ tilecoll WALL, WALL, FLOOR, WALL ; 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, WALL, WALL ; 1b
+ tilecoll WALL, WALL, WALL, WALL ; 1c
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 1d
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 1e
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 1f
+ tilecoll WALL, WALL, WALL, WALL ; 20
+ tilecoll WALL, WALL, FLOOR, PC ; 21
+ tilecoll WALL, WALL, WALL, FLOOR ; 22
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 23
+ tilecoll FLOOR, FLOOR, WARP_CARPET_DOWN, WARP_CARPET_DOWN ; 24
+ tilecoll WALL, FLOOR, FLOOR, FLOOR ; 25
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 26
+ tilecoll FLOOR, FLOOR, WARP_CARPET_DOWN, FLOOR ; 27
+ tilecoll WALL, WALL, FLOOR, WALL ; 28
+ tilecoll WALL, FLOOR, FLOOR, FLOOR ; 29
+ tilecoll WALL, WALL, WALL, FLOOR ; 2a
+ tilecoll WALL, DOOR, FLOOR, FLOOR ; 2b
+ tilecoll WALL, WALL, WALL, WALL ; 2c
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 2d
+ tilecoll FLOOR, FLOOR, FLOOR, WALL ; 2e
+ tilecoll FLOOR, FLOOR, WALL, FLOOR ; 2f
+ tilecoll COUNTER, COUNTER, FLOOR, FLOOR ; 30
+ tilecoll WALL, WALL, FLOOR, WALL ; 31
+ tilecoll PC, WALL, FLOOR, WALL ; 32
+ tilecoll FLOOR, WARP_PANEL, FLOOR, FLOOR ; 33
+ tilecoll WARP_PANEL, FLOOR, FLOOR, FLOOR ; 34
+ tilecoll WARP_PANEL, FLOOR, FLOOR, FLOOR ; 35
+ tilecoll WARP_PANEL, WARP_PANEL, WARP_PANEL, WARP_PANEL ; 36
+ tilecoll FLOOR, WARP_PANEL, FLOOR, FLOOR ; 37
+ tilecoll WARP_PANEL, FLOOR, FLOOR, FLOOR ; 38
+ tilecoll WARP_PANEL, FLOOR, FLOOR, FLOOR ; 39
+ tilecoll WARP_PANEL, WARP_PANEL, FLOOR, FLOOR ; 3a
+ tilecoll FLOOR, WARP_PANEL, FLOOR, FLOOR ; 3b
+ tilecoll WARP_PANEL, FLOOR, FLOOR, FLOOR ; 3c
+ tilecoll WARP_PANEL, FLOOR, FLOOR, FLOOR ; 3d
+ tilecoll WARP_PANEL, WARP_PANEL, FLOOR, FLOOR ; 3e
+ tilecoll FLOOR, WARP_PANEL, FLOOR, FLOOR ; 3f
diff --git a/data/tilesets/port_collision.asm b/data/tilesets/port_collision.asm
new file mode 100644
index 00000000..8abc712c
--- /dev/null
+++ b/data/tilesets/port_collision.asm
@@ -0,0 +1,64 @@
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 00
+ tilecoll WALL, WALL, WALL, WALL ; 01
+ tilecoll BUOY, WATER, BUOY, WATER ; 02
+ tilecoll WATER, BUOY, WATER, BUOY ; 03
+ tilecoll LADDER, LADDER, LADDER, LADDER ; 04
+ tilecoll WALL, WALL, WALL, WATER ; 05
+ tilecoll WALL, WALL, WATER, WATER ; 06
+ tilecoll WALL, WALL, WATER, WALL ; 07
+ tilecoll WATER, WATER, WATER, WATER ; 08
+ tilecoll WALL, WATER, WALL, WATER ; 09
+ tilecoll WATER, WATER, WATER, WATER ; 0a
+ tilecoll WATER, WALL, WATER, WALL ; 0b
+ tilecoll WATER, WATER, FLOOR, FLOOR ; 0c
+ tilecoll WALL, WATER, WALL, WALL ; 0d
+ tilecoll WATER, WATER, WALL, WALL ; 0e
+ tilecoll WATER, WALL, WALL, WALL ; 0f
+ tilecoll WATER, WATER, WATER, WATER ; 10
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 11
+ tilecoll WATER, WATER, WATER, WATER ; 12
+ tilecoll WATER, FLOOR, WATER, FLOOR ; 13
+ tilecoll WATER, FLOOR, WATER, FLOOR ; 14
+ tilecoll WATER, WATER, WATER, WATER ; 15
+ tilecoll WATER, WATER, WATER, WATER ; 16
+ tilecoll WATER, FLOOR, WALL, WARP_CARPET_DOWN ; 17
+ tilecoll WATER, WATER, WALL, WALL ; 18
+ tilecoll WATER, FLOOR, WALL, WALL ; 19
+ tilecoll WALL, WALL, WALL, WALL ; 1a
+ tilecoll WALL, WATER, WALL, WALL ; 1b
+ tilecoll WATER_21, WATER_21, WALL, WALL ; 1c
+ tilecoll WATER_21, WATER_21, WALL, WALL ; 1d
+ tilecoll WATER_21, WATER_21, WALL, WALL ; 1e
+ tilecoll WALL, WALL, WALL, WATER ; 1f
+ tilecoll WALL, FLOOR, WATER, WARP_CARPET_DOWN ; 20
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 21
+ tilecoll BUOY, BUOY, BUOY, WATER ; 22
+ tilecoll BUOY, BUOY, WATER, BUOY ; 23
+ tilecoll BUOY, BUOY, WATER, WATER ; 24
+ tilecoll BUOY, BUOY, WATER, WATER ; 25
+ tilecoll LADDER, LADDER, LADDER, LADDER ; 26
+ tilecoll FLOOR, FLOOR, WATER, WATER ; 27
+ tilecoll FLOOR, FLOOR, FLOOR, WATER ; 28
+ tilecoll FLOOR, FLOOR, WATER, FLOOR ; 29
+ tilecoll WALL, WALL, WALL, WALL ; 2a
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 2b
+ tilecoll FLOOR, WATER, FLOOR, FLOOR ; 2c
+ tilecoll WATER, FLOOR, FLOOR, FLOOR ; 2d
+ tilecoll FLOOR, WATER, FLOOR, WATER ; 2e
+ tilecoll WATER, FLOOR, WATER, FLOOR ; 2f
+ tilecoll FLOOR, FLOOR, WATER, WATER ; 30
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 31
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 32
+ tilecoll FLOOR, FLOOR, WARP_CARPET_DOWN, WARP_CARPET_DOWN ; 33
+ tilecoll FLOOR, WATER, FLOOR, WATER ; 34
+ tilecoll WALL, WALL, FLOOR, LADDER ; 35
+ tilecoll WATER, WATER, WATER, WATER ; 36
+ tilecoll FLOOR, WATER, FLOOR, WATER ; 37
+ tilecoll WATER, FLOOR, WATER, FLOOR ; 38
+ tilecoll WATER, WATER, FLOOR, FLOOR ; 39
+ tilecoll FLOOR, FLOOR, FLOOR, WALL ; 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
diff --git a/data/tilesets/tower_collision.asm b/data/tilesets/tower_collision.asm
new file mode 100644
index 00000000..6fe2e60f
--- /dev/null
+++ b/data/tilesets/tower_collision.asm
@@ -0,0 +1,64 @@
+ tilecoll WALL, WALL, WALL, WALL ; 00
+ tilecoll WALL, WALL, WALL, WALL ; 01
+ tilecoll FLOOR, FLOOR, FLOOR, LADDER ; 02
+ tilecoll FLOOR, FLOOR, FLOOR, LADDER ; 03
+ tilecoll WALL, WALL, WALL, FLOOR ; 04
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 05
+ tilecoll WALL, WALL, FLOOR, WALL ; 06
+ tilecoll WALL, WALL, WALL, WALL ; 07
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 08
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 09
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 0a
+ tilecoll WALL, WALL, WALL, WALL ; 0b
+ tilecoll WALL, FLOOR, WALL, WALL ; 0c
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 0d
+ tilecoll FLOOR, WALL, WALL, WALL ; 0e
+ tilecoll WALL, WALL, WALL, WALL ; 0f
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 10
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 11
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 12
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 13
+ tilecoll FLOOR, WALL, FLOOR, FLOOR ; 14
+ tilecoll WALL, FLOOR, FLOOR, FLOOR ; 15
+ tilecoll WALL, FLOOR, WALL, WALL ; 16
+ tilecoll FLOOR, WALL, WALL, WALL ; 17
+ tilecoll WALL, WALL, WALL, WALL ; 18
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 19
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 1a
+ tilecoll WALL, WALL, WALL, WALL ; 1b
+ tilecoll WALL, WALL, WALL, WALL ; 1c
+ tilecoll FLOOR, FLOOR, FLOOR, WARP_CARPET_DOWN ; 1d
+ tilecoll FLOOR, FLOOR, WARP_CARPET_DOWN, FLOOR ; 1e
+ tilecoll LADDER, FLOOR, FLOOR, FLOOR ; 1f
+ tilecoll LADDER, FLOOR, FLOOR, FLOOR ; 20
+ tilecoll WALL, WALL, WALL, FLOOR ; 21
+ tilecoll WALL, WALL, FLOOR, WALL ; 22
+ tilecoll WALL, WALL, WALL, WALL ; 23
+ tilecoll FLOOR, FLOOR, WARP_PANEL, FLOOR ; 24
+ tilecoll FLOOR, FLOOR, PIT, FLOOR ; 25
+ tilecoll FLOOR, FLOOR, WARP_CARPET_DOWN, WARP_CARPET_DOWN ; 26
+ tilecoll WARP_CARPET_UP, WARP_CARPET_UP, FLOOR, FLOOR ; 27
+ tilecoll FLOOR, PIT, FLOOR, PIT ; 28
+ tilecoll PIT, PIT, FLOOR, FLOOR ; 29
+ tilecoll WALL, WALL, WALL, WALL ; 2a
+ tilecoll WALL, HOP_LEFT, WALL, WALL ; 2b
+ tilecoll HOP_RIGHT, WALL, WALL, WALL ; 2c
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 2d
+ tilecoll WALL, WALL, WALL, FLOOR ; 2e
+ tilecoll WALL, WALL, FLOOR, WALL ; 2f
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 30
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 31
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 32
+ tilecoll WALL, WALL, WALL, FLOOR ; 33
+ tilecoll WALL, WALL, FLOOR, WALL ; 34
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 35
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 36
+ tilecoll PIT, PIT, FLOOR, FLOOR ; 37
+ tilecoll FLOOR, PIT, FLOOR, PIT ; 38
+ tilecoll PIT, FLOOR, PIT, FLOOR ; 39
+ tilecoll FLOOR, FLOOR, FLOOR, LADDER ; 3a
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 3b
+ tilecoll WALL, HOP_DOWN_LEFT, WALL, WALL ; 3c
+ tilecoll WALL, HOP_DOWN, WALL, WALL ; 3d
+ tilecoll HOP_DOWN, WALL, WALL, WALL ; 3e
+ tilecoll HOP_DOWN_RIGHT, WALL, WALL, WALL ; 3f
diff --git a/data/tilesets/traditional_house_collision.asm b/data/tilesets/traditional_house_collision.asm
new file mode 100644
index 00000000..cc949235
--- /dev/null
+++ b/data/tilesets/traditional_house_collision.asm
@@ -0,0 +1,64 @@
+ tilecoll 36, FLOOR, WALK_RIGHT_ALT, FLOOR ; 00
+ tilecoll WALL, WALL, RADIO, FLOOR ; 01
+ tilecoll WALL, WALL, MART_SHELF, MART_SHELF ; 02
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 03
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 04
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 05
+ tilecoll FLOOR, FLOOR, FLOOR, WARP_CARPET_DOWN ; 06
+ tilecoll FLOOR, FLOOR, WARP_CARPET_DOWN, FLOOR ; 07
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 08
+ tilecoll WALL, WALL, WALL, WALL ; 09
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 0a
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 0b
+ tilecoll WALL, FLOOR, FLOOR, FLOOR ; 0c
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 0d
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 0e
+ tilecoll WALL, WALL, WALL, WALL ; 0f
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 10
+ tilecoll WALL, FLOOR, FLOOR, FLOOR ; 11
+ tilecoll COUNTER, FLOOR, COUNTER, FLOOR ; 12
+ tilecoll WALL, WALL, INCENSE_BURNER, BOOKSHELF ; 13
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 14
+ tilecoll FLOOR, WALL, FLOOR, FLOOR ; 15
+ tilecoll FLOOR, WALL, FLOOR, FLOOR ; 16
+ tilecoll WALL, WALL, WALL, WALL ; 17
+ tilecoll FLOOR, WALL, FLOOR, FLOOR ; 18
+ tilecoll WALL, FLOOR, FLOOR, FLOOR ; 19
+ tilecoll WALL, WALL, BOOKSHELF, BOOKSHELF ; 1a
+ tilecoll FLOOR, FLOOR, FLOOR, WALL ; 1b
+ tilecoll FLOOR, FLOOR, WALL, FLOOR ; 1c
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 1d
+ tilecoll FLOOR, FLOOR, FLOOR, LADDER ; 1e
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 1f
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 20
+ tilecoll FLOOR, FLOOR, FLOOR, WARP_CARPET_DOWN ; 21
+ tilecoll FLOOR, FLOOR, WARP_CARPET_DOWN, FLOOR ; 22
+ tilecoll WALL, WALL, RADIO, FLOOR ; 23
+ tilecoll FLOOR, WARP_CARPET_RIGHT, FLOOR, WARP_CARPET_RIGHT ; 24
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 25
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 26
+ tilecoll LADDER, FLOOR, FLOOR, FLOOR ; 27
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 28
+ tilecoll WALL, WALL, WALL, WALL ; 29
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 2a
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 2b
+ tilecoll FLOOR, FLOOR, HOP_DOWN, HOP_DOWN ; 2c
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 2d
+ tilecoll WALL, FLOOR, FLOOR, FLOOR ; 2e
+ tilecoll FLOOR, WALL, FLOOR, FLOOR ; 2f
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 30
+ tilecoll WALL, WALL, WALL, WALL ; 31
+ tilecoll WALL, WALL, WALL, WALL ; 32
+ tilecoll WALL, WALL, WALL, FLOOR ; 33
+ tilecoll WALL, WALL, WALL, FLOOR ; 34
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 35
+ tilecoll WALL, FLOOR, FLOOR, FLOOR ; 36
+ tilecoll 04, WARP_CARPET_DOWN, 04, 63 ; 37
+ tilecoll 03, 04, 03, 03 ; 38
+ tilecoll 04, 03, 03, 03 ; 39
+ tilecoll 04, 03, 03, 03 ; 3a
+ tilecoll 03, 03, 03, 03 ; 3b
+ tilecoll 03, 03, 04, 04 ; 3c
+ tilecoll 04, 04, 04, 04 ; 3d
+ tilecoll 03, 03, 03, 03 ; 3e
+ tilecoll WARP_CARPET_DOWN, 04, 03, 03 ; 3f
diff --git a/data/tilesets/train_station_collision.asm b/data/tilesets/train_station_collision.asm
new file mode 100644
index 00000000..a6a4b1ac
--- /dev/null
+++ b/data/tilesets/train_station_collision.asm
@@ -0,0 +1,64 @@
+ tilecoll FF, FF, FF, FF ; 00
+ tilecoll UP_WALL, UP_WALL, FLOOR, FLOOR ; 01
+ tilecoll UP_WALL, FLOOR, UP_WALL, FLOOR ; 02
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 03
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 04
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 05
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 06
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 07
+ tilecoll WALL, FLOOR, WALL, WALL ; 08
+ tilecoll FLOOR, FLOOR, WARP_CARPET_DOWN, WARP_CARPET_DOWN ; 09
+ tilecoll WALL, WALL, WALL, WALL ; 0a
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 0b
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 0c
+ tilecoll WALL, WALL, WALL, WALL ; 0d
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 0e
+ tilecoll WALL, WALL, WALL, WALL ; 0f
+ tilecoll WALL, WALL, WALL, WALL ; 10
+ tilecoll WALL, WALL, DOOR, WALL ; 11
+ tilecoll WALL, WALL, WALL, DOOR ; 12
+ tilecoll WALL, WALL, WALL, WALL ; 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 FLOOR, FLOOR, FLOOR, FLOOR ; 18
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 19
+ tilecoll WALL, WALL, WALL, WALL ; 1a
+ tilecoll WALL, WALL, WALL, WALL ; 1b
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 1c
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 1d
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 1e
+ tilecoll FLOOR, FLOOR, WARP_CARPET_DOWN, WARP_CARPET_DOWN ; 1f
+ tilecoll WALL, WALL, WALL, WALL ; 20
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 21
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 22
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 23
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 24
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 25
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 26
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 27
+ tilecoll WALL, WALL, WALL, FLOOR ; 28
+ tilecoll WALL, WALL, FLOOR, WALL ; 29
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 2a
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 2b
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 2c
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 2d
+ tilecoll WALL, WALL, WALL, WALL ; 2e
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 2f
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 30
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 31
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 32
+ tilecoll WALL, FLOOR, FLOOR, FLOOR ; 33
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 34
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 35
+ tilecoll WALL, WALL, WALL, FLOOR ; 36
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 37
+ tilecoll WALL, WALL, FLOOR, WALL ; 38
+ tilecoll WALL, FLOOR, WALL, WALL ; 39
+ tilecoll WALL, WALL, WALL, WALL ; 3a
+ tilecoll FLOOR, 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
diff --git a/data/tilesets/underground_collision.asm b/data/tilesets/underground_collision.asm
new file mode 100644
index 00000000..e4cee749
--- /dev/null
+++ b/data/tilesets/underground_collision.asm
@@ -0,0 +1,64 @@
+ tilecoll WALL, WALL, WALL, WALL ; 00
+ tilecoll WALL, WALL, WALL, WALL ; 01
+ tilecoll FLOOR, LADDER, FLOOR, FLOOR ; 02
+ tilecoll FLOOR, LADDER, FLOOR, FLOOR ; 03
+ tilecoll WALL, WALL, WALL, FLOOR ; 04
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 05
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 06
+ tilecoll FLOOR, FLOOR, PIT, PIT ; 07
+ tilecoll WALL, WALL, WALL, FLOOR ; 08
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 09
+ tilecoll WALL, WALL, FLOOR, WALL ; 0a
+ tilecoll WALL, WALL, WALL, WALL ; 0b
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 0c
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 0d
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 0e
+ tilecoll FLOOR, FLOOR, FLOOR, WARP_PANEL ; 0f
+ tilecoll WALL, FLOOR, WALL, WALL ; 10
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 11
+ tilecoll FLOOR, WALL, WALL, WALL ; 12
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 13
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 14
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 15
+ tilecoll WALL, FLOOR, WALL, WALL ; 16
+ tilecoll FLOOR, WALL, WALL, WALL ; 17
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 18
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 19
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 1a
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 1b
+ tilecoll FLOOR, WALL, FLOOR, FLOOR ; 1c
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 1d
+ tilecoll WALL, FLOOR, FLOOR, FLOOR ; 1e
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 1f
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 20
+ tilecoll FLOOR, FLOOR, FLOOR, WALL ; 21
+ tilecoll FLOOR, FLOOR, WALL, FLOOR ; 22
+ tilecoll FLOOR, FLOOR, WALL, FLOOR ; 23
+ tilecoll FLOOR, FLOOR, WARP_CARPET_DOWN, WARP_CARPET_DOWN ; 24
+ tilecoll WALL, WARP_CARPET_UP, FLOOR, FLOOR ; 25
+ tilecoll WARP_CARPET_UP, WALL, FLOOR, FLOOR ; 26
+ tilecoll FLOOR, WARP_CARPET_RIGHT, FLOOR, WARP_CARPET_RIGHT ; 27
+ tilecoll WARP_CARPET_LEFT, FLOOR, WARP_CARPET_LEFT, FLOOR ; 28
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 29
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 2a
+ tilecoll WALL, WALL, WALL, WALL ; 2b
+ tilecoll WALL, WALL, WALL, WALL ; 2c
+ tilecoll WALL, WALL, WALL, WALL ; 2d
+ tilecoll WARP_CARPET_DOWN, WARP_CARPET_DOWN, WALL, WALL ; 2e
+ tilecoll WALL, WALL, 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, FLOOR, WALL, FLOOR ; 36
+ tilecoll FLOOR, WALL, FLOOR, 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, BOOKSHELF, BOOKSHELF ; 3d
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 3e
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 3f
diff --git a/gfx/tilesets.asm b/gfx/tilesets.asm
new file mode 100644
index 00000000..201f2a51
--- /dev/null
+++ b/gfx/tilesets.asm
@@ -0,0 +1,233 @@
+INCLUDE "constants.asm"
+
+tilecoll: MACRO
+; used in data/tilesets/*_collision.asm
+ db COLL_\1, COLL_\2, COLL_\3, COLL_\4
+ENDM
+
+
+SECTION "Tileset Data 1", ROMX
+
+TilesetKantoMeta::
+INCBIN "data/tilesets/kanto_metatiles.bin"
+
+TilesetKantoColl::
+INCLUDE "data/tilesets/kanto_collision.asm"
+
+Tileset0GFX::
+TilesetJohtoGFX::
+INCBIN "gfx/tilesets/johto.2bpp.lz"
+
+Tileset0Meta::
+TilesetJohtoMeta::
+INCBIN "data/tilesets/johto_metatiles.bin"
+
+Tileset0Coll::
+TilesetJohtoColl::
+INCLUDE "data/tilesets/johto_collision.asm"
+
+TilesetJohtoModernGFX::
+INCBIN "gfx/tilesets/johto_modern.2bpp.lz"
+
+TilesetJohtoModernMeta::
+INCBIN "data/tilesets/johto_modern_metatiles.bin"
+
+TilesetJohtoModernColl::
+ dr $1a80c, $1b40c
+
+TilesetTraditionalHouseGFX::
+INCBIN "gfx/tilesets/traditional_house.2bpp.lz"
+
+TilesetTraditionalHouseMeta::
+INCBIN "data/tilesets/traditional_house_metatiles.bin"
+
+TilesetTraditionalHouseColl::
+INCLUDE "data/tilesets/traditional_house_collision.asm"
+
+
+SECTION "Tileset Data 2", ROMX
+
+TilesetGateGFX::
+INCBIN "gfx/tilesets/gate.2bpp.lz"
+
+TilesetGateMeta::
+INCBIN "data/tilesets/gate_metatiles.bin"
+
+TilesetGateColl::
+INCLUDE "data/tilesets/gate_collision.asm"
+
+TilesetPokecenterGFX::
+INCBIN "gfx/tilesets/pokecenter.2bpp.lz"
+
+TilesetPokecenterMeta::
+INCBIN "data/tilesets/pokecenter_metatiles.bin"
+
+TilesetPokecenterColl::
+INCLUDE "data/tilesets/pokecenter_collision.asm"
+
+TilesetPortGFX::
+INCBIN "gfx/tilesets/port.2bpp.lz"
+
+TilesetPortMeta::
+INCBIN "data/tilesets/port_metatiles.bin"
+
+TilesetPortColl::
+INCLUDE "data/tilesets/port_collision.asm"
+
+TilesetPlayersHouseGFX::
+INCBIN "gfx/tilesets/players_house.2bpp.lz"
+
+TilesetPlayersHouseMeta::
+INCBIN "data/tilesets/players_house_metatiles.bin"
+
+TilesetPlayersHouseColl::
+INCLUDE "data/tilesets/players_house_collision.asm"
+
+TilesetMansionGFX::
+INCBIN "gfx/tilesets/mansion.2bpp.lz"
+
+TilesetMansionMeta::
+INCBIN "data/tilesets/mansion_metatiles.bin"
+
+TilesetMansionColl::
+ dr $1eebc, $1efbc
+
+TilesetCaveGFX::
+INCBIN "gfx/tilesets/cave.2bpp.lz"
+
+TilesetCaveMeta::
+TilesetDarkCaveMeta::
+INCBIN "data/tilesets/cave_metatiles.bin"
+
+TilesetCaveColl::
+TilesetDarkCaveColl::
+INCLUDE "data/tilesets/cave_collision.asm"
+
+
+SECTION "Tileset Data 3", ROMX
+
+TilesetTowerGFX::
+INCBIN "gfx/tilesets/tower.2bpp.lz"
+
+TilesetTowerMeta::
+INCBIN "data/tilesets/tower_metatiles.bin"
+
+TilesetTowerColl::
+INCLUDE "data/tilesets/tower_collision.asm"
+
+TilesetLabGFX::
+INCBIN "gfx/tilesets/lab.2bpp.lz"
+
+TilesetLabMeta::
+INCBIN "data/tilesets/lab_metatiles.bin"
+
+TilesetLabColl::
+ dr $21281, $21381
+
+TilesetFacilityGFX::
+INCBIN "gfx/tilesets/facility.2bpp.lz"
+
+TilesetFacilityMeta::
+INCBIN "data/tilesets/facility_metatiles.bin"
+
+TilesetFacilityColl::
+INCLUDE "data/tilesets/facility_collision.asm"
+
+TilesetMartGFX::
+INCBIN "gfx/tilesets/mart.2bpp.lz"
+
+TilesetMartMeta::
+INCBIN "data/tilesets/mart_metatiles.bin"
+
+TilesetMartColl::
+ dr $22451, $22551
+
+TilesetGameCornerGFX::
+INCBIN "gfx/tilesets/game_corner.2bpp.lz"
+
+TilesetGameCornerMeta::
+INCBIN "data/tilesets/game_corner_metatiles.bin"
+
+TilesetGameCornerColl::
+INCLUDE "data/tilesets/game_corner_collision.asm"
+
+TilesetTrainStationGFX::
+INCBIN "gfx/tilesets/train_station.2bpp.lz"
+
+TilesetTrainStationMeta::
+INCBIN "data/tilesets/train_station_metatiles.bin"
+
+TilesetTrainStationColl::
+INCLUDE "data/tilesets/train_station_collision.asm"
+
+TilesetForestMeta::
+INCBIN "data/tilesets/forest_metatiles.bin"
+
+
+SECTION "Tileset Data 4", ROMX
+
+TilesetEliteFourRoomGFX::
+INCBIN "gfx/tilesets/elite_four_room.2bpp.lz"
+
+TilesetEliteFourRoomMeta::
+INCBIN "data/tilesets/elite_four_room_metatiles.bin"
+
+TilesetEliteFourRoomColl::
+INCLUDE "data/tilesets/elite_four_room_collision.asm"
+
+TilesetParkGFX::
+INCBIN "gfx/tilesets/park.2bpp.lz"
+
+TilesetParkMeta::
+INCBIN "data/tilesets/park_metatiles.bin"
+
+TilesetParkColl::
+INCLUDE "data/tilesets/park_collision.asm"
+
+TilesetRuinsOfAlphGFX::
+INCBIN "gfx/tilesets/ruins_of_alph.2bpp.lz"
+
+TilesetRuinsOfAlphMeta::
+INCBIN "data/tilesets/ruins_of_alph_metatiles.bin"
+
+TilesetRuinsOfAlphColl::
+ dr $31a70, $31b70
+
+TilesetRadioTowerGFX::
+INCBIN "gfx/tilesets/radio_tower.2bpp.lz"
+
+TilesetRadioTowerMeta::
+INCBIN "data/tilesets/radio_tower_metatiles.bin"
+
+TilesetRadioTowerColl::
+ dr $323c0, $324c0
+
+TilesetUndergroundGFX::
+INCBIN "gfx/tilesets/underground.2bpp.lz"
+
+TilesetUndergroundMeta::
+INCBIN "data/tilesets/underground_metatiles.bin"
+
+TilesetUndergroundColl::
+INCLUDE "data/tilesets/underground_collision.asm"
+
+TilesetIcePathGFX::
+INCBIN "gfx/tilesets/ice_path.2bpp.lz"
+
+TilesetIcePathMeta::
+INCBIN "data/tilesets/ice_path_metatiles.bin"
+
+TilesetIcePathColl::
+INCLUDE "data/tilesets/ice_path_collision.asm"
+
+TilesetDarkCaveGFX::
+INCBIN "gfx/tilesets/dark_cave.2bpp.lz"
+
+TilesetForestGFX::
+INCBIN "gfx/tilesets/forest.2bpp.lz"
+
+
+SECTION "Tileset Data 5", ROMX
+
+TilesetKantoGFX::
+INCBIN "gfx/tilesets/kanto.2bpp.lz"
diff --git a/layout.link b/layout.link
index 1512a858..7ac892c5 100644
--- a/layout.link
+++ b/layout.link
@@ -40,12 +40,15 @@ ROMX $04
ROMX $05
"bank5"
ROMX $06
- "bank6"
+ "Tileset Data 1"
ROMX $07
- "bank7"
+ "Roofs"
+ "Tileset Data 2"
"Extra Songs 1"
ROMX $08
- "bank8"
+ "Clock Reset"
+ "Tileset Data 3"
+ "Catch Tutorial"
"Egg Moves"
ROMX $09
"bank9"
@@ -54,7 +57,7 @@ ROMX $0a
ROMX $0b
"bankB"
ROMX $0c
- "bankC"
+ "Tileset Data 4"
ROMX $0d
"Effect Commands"
ROMX $0e
@@ -152,7 +155,7 @@ ROMX $3d
ROMX $3e
"bank3e"
ROMX $3f
- "bank3f"
+ "bank3F"
ROMX $40
"Standard Scripts"
ROMX $41
@@ -243,6 +246,8 @@ ROMX $6e
"Item Descriptions"
ROMX $70
"bank70"
+ "Tileset Data 5"
+ "bank70_2"
ROMX $7f
org $7df8
"Stadium Data"
diff --git a/main.asm b/main.asm
index c9830c8d..2c55a3ba 100644
--- a/main.asm
+++ b/main.asm
@@ -100,134 +100,21 @@ INCLUDE "engine/link/mystery_gift_gfx.asm"
INCLUDE "engine/pokemon/breeding.asm"
-SECTION "bank6", ROMX
-
-TilesetKantoMeta::
-INCBIN "data/tilesets/kanto_metatiles.bin"
-TilesetKantoColl::
- dr $18800, $18a00
-Tileset0GFX::
-TilesetJohtoGFX::
-INCBIN "gfx/tilesets/johto.2bpp.lz"
-
-Tileset0Meta::
-TilesetJohtoMeta::
-INCBIN "data/tilesets/johto_metatiles.bin"
-Tileset0Coll::
-TilesetJohtoColl::
- dr $19806, $19a06
-TilesetJohtoModernGFX::
-INCBIN "gfx/tilesets/johto_modern.2bpp.lz"
-
-TilesetJohtoModernMeta::
-INCBIN "data/tilesets/johto_modern_metatiles.bin"
-TilesetJohtoModernColl::
- dr $1a80c, $1b40c
-
-TilesetTraditionalHouseGFX::
-INCBIN "gfx/tilesets/traditional_house.2bpp.lz"
-TilesetTraditionalHouseMeta::
-INCBIN "data/tilesets/traditional_house_metatiles.bin"
-TilesetTraditionalHouseColl::
- dr $1bcbc, $1bdbc
-
-
-SECTION "bank7", ROMX
+SECTION "Roofs", ROMX
LoadMapGroupRoof::
dr $1c000, $1c30c
-TilesetGateGFX::
-INCBIN "gfx/tilesets/gate.2bpp.lz"
-TilesetGateMeta::
-INCBIN "data/tilesets/gate_metatiles.bin"
-TilesetGateColl::
- dr $1cb0c, $1cc0c
-TilesetPokecenterGFX::
-INCBIN "gfx/tilesets/pokecenter.2bpp.lz"
-
-TilesetPokecenterMeta::
-INCBIN "data/tilesets/pokecenter_metatiles.bin"
-TilesetPokecenterColl::
- dr $1d43c, $1d53c
-TilesetPortGFX::
-INCBIN "gfx/tilesets/port.2bpp.lz"
-TilesetPortMeta::
-INCBIN "data/tilesets/port_metatiles.bin"
-TilesetPortColl::
- dr $1dd4c, $1de4c
-TilesetPlayersHouseGFX::
-INCBIN "gfx/tilesets/players_house.2bpp.lz"
-
-TilesetPlayersHouseMeta::
-INCBIN "data/tilesets/players_house_metatiles.bin"
-TilesetPlayersHouseColl::
- dr $1e62c, $1e72c
-TilesetMansionGFX::
-INCBIN "gfx/tilesets/mansion.2bpp.lz"
-TilesetMansionMeta::
-INCBIN "data/tilesets/mansion_metatiles.bin"
-TilesetMansionColl::
- dr $1eebc, $1efbc
-TilesetCaveGFX::
-INCBIN "gfx/tilesets/cave.2bpp.lz"
-
-TilesetCaveMeta::
-TilesetDarkCaveMeta::
-INCBIN "data/tilesets/cave_metatiles.bin"
-TilesetCaveColl::
-TilesetDarkCaveColl::
- dr $1f74c, $1f84c
-
-
-SECTION "bank8", ROMX
+
+SECTION "Clock Reset", ROMX
RestartClock_GetWraparoundTime::
dr $20000, $20021
RestartClock::
dr $20021, $20181
-TilesetTowerGFX::
-INCBIN "gfx/tilesets/tower.2bpp.lz"
-TilesetTowerMeta::
-INCBIN "data/tilesets/tower_metatiles.bin"
-TilesetTowerColl::
- dr $209b1, $20ab1
-TilesetLabGFX::
-INCBIN "gfx/tilesets/lab.2bpp.lz"
-TilesetLabMeta::
-INCBIN "data/tilesets/lab_metatiles.bin"
-
-TilesetLabColl::
- dr $21281, $21381
-TilesetFacilityGFX::
-INCBIN "gfx/tilesets/facility.2bpp.lz"
-TilesetFacilityMeta::
-INCBIN "data/tilesets/facility_metatiles.bin"
-TilesetFacilityColl::
- dr $21ba1, $21ca1
-TilesetMartGFX::
-INCBIN "gfx/tilesets/mart.2bpp.lz"
-
-TilesetMartMeta::
-INCBIN "data/tilesets/mart_metatiles.bin"
-TilesetMartColl::
- dr $22451, $22551
-TilesetGameCornerGFX::
-INCBIN "gfx/tilesets/game_corner.2bpp.lz"
-TilesetGameCornerMeta::
-INCBIN "data/tilesets/game_corner_metatiles.bin"
-TilesetGameCornerColl::
- dr $22d51, $22e51
-TilesetTrainStationGFX::
-INCBIN "gfx/tilesets/train_station.2bpp.lz"
-
-TilesetTrainStationMeta::
-INCBIN "data/tilesets/train_station_metatiles.bin"
-TilesetTrainStationColl::
- dr $235f1, $236f1
-TilesetForestMeta::
-INCBIN "data/tilesets/forest_metatiles.bin"
+
+SECTION "Catch Tutorial", ROMX
CatchTutorial::
dr $23971, $239fe
@@ -274,53 +161,6 @@ INCLUDE "engine/pokemon/print_move_description.asm"
INCLUDE "engine/events/pokerus/pokerus.asm"
-SECTION "bankC", ROMX
-
-TilesetEliteFourRoomGFX::
-INCBIN "gfx/tilesets/elite_four_room.2bpp.lz"
-TilesetEliteFourRoomMeta::
-INCBIN "data/tilesets/elite_four_room_metatiles.bin"
-TilesetEliteFourRoomColl::
- dr $308e0, $309e0
-TilesetParkGFX::
-INCBIN "gfx/tilesets/park.2bpp.lz"
-TilesetParkMeta::
-INCBIN "data/tilesets/park_metatiles.bin"
-
-TilesetParkColl::
- dr $31240, $31340
-TilesetRuinsOfAlphGFX::
-INCBIN "gfx/tilesets/ruins_of_alph.2bpp.lz"
-TilesetRuinsOfAlphMeta::
-INCBIN "data/tilesets/ruins_of_alph_metatiles.bin"
-TilesetRuinsOfAlphColl::
- dr $31a70, $31b70
-TilesetRadioTowerGFX::
-INCBIN "gfx/tilesets/radio_tower.2bpp.lz"
-TilesetRadioTowerMeta::
-INCBIN "data/tilesets/radio_tower_metatiles.bin"
-
-TilesetRadioTowerColl::
- dr $323c0, $324c0
-TilesetUndergroundGFX::
-INCBIN "gfx/tilesets/underground.2bpp.lz"
-TilesetUndergroundMeta::
-INCBIN "data/tilesets/underground_metatiles.bin"
-TilesetUndergroundColl::
- dr $32c90, $32d90
-TilesetIcePathGFX::
-INCBIN "gfx/tilesets/ice_path.2bpp.lz"
-
-TilesetIcePathMeta::
-INCBIN "data/tilesets/ice_path_metatiles.bin"
-TilesetIcePathColl::
- dr $335d0, $336d0
-TilesetDarkCaveGFX::
-INCBIN "gfx/tilesets/dark_cave.2bpp.lz"
-TilesetForestGFX::
-INCBIN "gfx/tilesets/forest.2bpp.lz"
-
-
SECTION "Effect Commands", ROMX
INCLUDE "engine/battle/effect_commands.asm"
@@ -827,7 +667,7 @@ DoBadgeTypeBoosts::
dr $fbf2b, $fbf93
-SECTION "bank3f", ROMX
+SECTION "bank3F", ROMX
INCLUDE "engine/tilesets/tileset_anims.asm"
INCLUDE "engine/events/npc_trade.asm"
@@ -998,8 +838,8 @@ SECTION "bank70", ROMX
INCLUDE "engine/printer/print_party.asm"
-TilesetKantoGFX:
-INCBIN "gfx/tilesets/kanto.2bpp.lz"
+
+SECTION "bank70_2", ROMX
INCLUDE "engine/rtc/print_hours_mins.asm"
INCLUDE "engine/pokedex/pokedex_3.asm"