player: updated exit handling to allow for map cursor movement
authorLukas Krickl <lukas@krickl.dev>
Thu, 21 Aug 2025 09:52:41 +0000 (11:52 +0200)
committerLukas Krickl <lukas@krickl.dev>
Thu, 21 Aug 2025 09:52:41 +0000 (11:52 +0200)
maps/map_bc.s
maps/map_be.s
maps/map_bw.s
maps/map_ce.s
maps/map_cw.s
maps/map_tc.s
maps/map_te.s
maps/map_tw.s
src/player.s

index 0d9c1cdcfceebb49aef18357525d7d6d5c6b9651..1a6e0909407b7753cdff338282a405d5587f3685 100644 (file)
@@ -12,37 +12,31 @@ dw bank9000
 
 map_bc_bg:
 
-.db 0x1, 0x4a, 0x1, 0x4a, 0xc, 0x0, 0x2, 0x4a
-.db 0x1, 0x4a, 0x6, 0x6e, 0x2, 0x0, 0x6, 0x6e
-.db 0x1, 0x4a, 0x1, 0x0, 0x6, 0x6e, 0x2, 0x0
-.db 0x6, 0x6e, 0x1, 0x0, 0x1, 0x0, 0x6, 0x6e
-.db 0x2, 0x0, 0x6, 0x6e, 0x1, 0x0, 0x1, 0x0
-.db 0x6, 0x6e, 0x2, 0x0, 0x6, 0x6e, 0x1, 0x0
-.db 0x1, 0x0, 0x6, 0x6e, 0x2, 0x0, 0x6, 0x6e
-.db 0x1, 0x0, 0x1, 0x0, 0x6, 0x6e, 0x2, 0x0
-.db 0x6, 0x6e, 0x1, 0x0, 0x1, 0x0, 0xf, 0x0
-.db 0x1, 0x0, 0xf, 0x0, 0x1, 0x0, 0x6, 0x6e
-.db 0x2, 0x0, 0x6, 0x6e, 0x1, 0x0, 0x1, 0x0
-.db 0x6, 0x6e, 0x2, 0x0, 0x6, 0x6e, 0x1, 0x0
-.db 0x1, 0x0, 0x6, 0x6e, 0x2, 0x0, 0x6, 0x6e
-.db 0x1, 0x0, 0x1, 0x0, 0x6, 0x6e, 0x2, 0x0
-.db 0x6, 0x6e, 0x1, 0x0, 0x1, 0x0, 0x6, 0x6e
-.db 0x2, 0x0, 0x6, 0x6e, 0x1, 0x0, 0x1, 0x0
-.db 0x6, 0x6e, 0x2, 0x0, 0x6, 0x6e, 0x1, 0x0
-.db 0x1, 0x44, 0xe, 0x44, 0x1, 0x44
+.db 0x1, 0x2, 0xe, 0x4, 0x1, 0x6, 0x1, 0x22
+.db 0xe, 0x0, 0x1, 0x26, 0x1, 0x22, 0xe, 0x0
+.db 0x1, 0x26, 0x1, 0x22, 0xe, 0x0, 0x1, 0x26
+.db 0x1, 0x22, 0xe, 0x0, 0x1, 0x26, 0x1, 0x22
+.db 0xe, 0x0, 0x1, 0x26, 0x1, 0x22, 0xe, 0x0
+.db 0x1, 0x26, 0x1, 0x22, 0xe, 0x0, 0x1, 0x26
+.db 0x1, 0x22, 0xe, 0x0, 0x1, 0x26, 0x1, 0x22
+.db 0xe, 0x0, 0x1, 0x26, 0x1, 0x22, 0xe, 0x0
+.db 0x1, 0x26, 0x1, 0x22, 0xe, 0x0, 0x1, 0x26
+.db 0x1, 0x22, 0xe, 0x0, 0x1, 0x26, 0x1, 0x22
+.db 0xe, 0x0, 0x1, 0x26, 0x1, 0x22, 0xe, 0x0
+.db 0x1, 0x26, 0x1, 0x42, 0xe, 0x44, 0x1, 0x46
 .db 0x00 ; termiante data
 map_bc_tile_flags:
 
-.db 0x2, 0x33, 0xc, 0x32, 0x2, 0x33, 0x1, 0x13
-.db 0xe, 0x0, 0x1, 0x23, 0x1, 0x12, 0xe, 0x0
-.db 0x1, 0x22, 0x1, 0x12, 0xe, 0x0, 0x1, 0x22
-.db 0x1, 0x12, 0xe, 0x0, 0x1, 0x22, 0x1, 0x12
-.db 0xe, 0x0, 0x1, 0x22, 0x1, 0x12, 0xe, 0x0
-.db 0x1, 0x22, 0x1, 0x12, 0xe, 0x0, 0x1, 0x22
-.db 0x1, 0x12, 0xe, 0x0, 0x1, 0x22, 0x1, 0x12
-.db 0xe, 0x0, 0x1, 0x22, 0x1, 0x12, 0xe, 0x0
-.db 0x1, 0x22, 0x1, 0x12, 0xe, 0x0, 0x1, 0x22
-.db 0x1, 0x12, 0xe, 0x0, 0x1, 0x22, 0x1, 0x12
-.db 0xe, 0x0, 0x1, 0x22, 0x1, 0x12, 0xe, 0x0
-.db 0x1, 0x22, 0x1, 0x13, 0xe, 0x3, 0x1, 0x23
+.db 0x10, 0x33, 0x1, 0x13, 0xe, 0x0, 0x1, 0x23
+.db 0x1, 0x13, 0xe, 0x0, 0x1, 0x23, 0x1, 0x13
+.db 0xe, 0x0, 0x1, 0x23, 0x1, 0x13, 0xe, 0x0
+.db 0x1, 0x23, 0x1, 0x13, 0xe, 0x0, 0x1, 0x23
+.db 0x1, 0x13, 0xe, 0x0, 0x1, 0x23, 0x1, 0x13
+.db 0xe, 0x0, 0x1, 0x23, 0x1, 0x13, 0xe, 0x0
+.db 0x1, 0x23, 0x1, 0x13, 0xe, 0x0, 0x1, 0x23
+.db 0x1, 0x13, 0xe, 0x0, 0x1, 0x23, 0x1, 0x13
+.db 0xe, 0x0, 0x1, 0x23, 0x1, 0x13, 0xe, 0x0
+.db 0x1, 0x23, 0x1, 0x13, 0xe, 0x0, 0x1, 0x23
+.db 0x1, 0x13, 0xe, 0x0, 0x1, 0x23, 0x1, 0x13
+.db 0xe, 0x3, 0x1, 0x23
 .db 0x00 ; termiante data
index 151bc9a8719a805390f87dbb22b135eb3688bdf4..b0e087f32ff3d7d5bbc3705e09b73d47a120bd58 100644 (file)
@@ -12,38 +12,31 @@ dw bank9000
 
 map_be_bg:
 
-.db 0x1, 0x4a, 0x1, 0x4a, 0xd, 0x0, 0x1, 0x26
-.db 0x1, 0x4a, 0x6, 0x6e, 0x2, 0x0, 0x6, 0x6e
-.db 0x1, 0x26, 0x1, 0x0, 0x6, 0x6e, 0x2, 0x0
-.db 0x6, 0x6e, 0x1, 0x26, 0x1, 0x0, 0x6, 0x6e
-.db 0x2, 0x0, 0x6, 0x6e, 0x1, 0x26, 0x1, 0x0
-.db 0x6, 0x6e, 0x2, 0x0, 0x6, 0x6e, 0x1, 0x26
-.db 0x1, 0x0, 0x6, 0x6e, 0x2, 0x0, 0x6, 0x6e
-.db 0x1, 0x26, 0x1, 0x0, 0x6, 0x6e, 0x2, 0x0
-.db 0x6, 0x6e, 0x1, 0x26, 0x1, 0x0, 0xe, 0x0
-.db 0x1, 0x26, 0x1, 0x0, 0xe, 0x0, 0x1, 0x26
-.db 0x1, 0x0, 0x6, 0x6e, 0x2, 0x0, 0x6, 0x6e
-.db 0x1, 0x26, 0x1, 0x0, 0x6, 0x6e, 0x2, 0x0
-.db 0x6, 0x6e, 0x1, 0x26, 0x1, 0x0, 0x6, 0x6e
-.db 0x2, 0x0, 0x6, 0x6e, 0x1, 0x26, 0x1, 0x0
-.db 0x6, 0x6e, 0x2, 0x0, 0x6, 0x6e, 0x1, 0x26
-.db 0x1, 0x0, 0x6, 0x6e, 0x2, 0x0, 0x6, 0x6e
-.db 0x1, 0x26, 0x1, 0x0, 0x6, 0x6e, 0x2, 0x0
-.db 0x6, 0x6e, 0x1, 0x26, 0x1, 0x44, 0xe, 0x44
-.db 0x1, 0x46
+.db 0x1, 0x2, 0xe, 0x4, 0x1, 0x6, 0x1, 0x22
+.db 0xe, 0x0, 0x1, 0x26, 0x1, 0x22, 0xe, 0x0
+.db 0x1, 0x26, 0x1, 0x22, 0xe, 0x0, 0x1, 0x26
+.db 0x1, 0x22, 0xe, 0x0, 0x1, 0x26, 0x1, 0x22
+.db 0xe, 0x0, 0x1, 0x26, 0x1, 0x22, 0xe, 0x0
+.db 0x1, 0x26, 0x1, 0x22, 0xe, 0x0, 0x1, 0x26
+.db 0x1, 0x22, 0xe, 0x0, 0x1, 0x26, 0x1, 0x22
+.db 0xe, 0x0, 0x1, 0x26, 0x1, 0x22, 0xe, 0x0
+.db 0x1, 0x26, 0x1, 0x22, 0xe, 0x0, 0x1, 0x26
+.db 0x1, 0x22, 0xe, 0x0, 0x1, 0x26, 0x1, 0x22
+.db 0xe, 0x0, 0x1, 0x26, 0x1, 0x22, 0xe, 0x0
+.db 0x1, 0x26, 0x1, 0x42, 0xe, 0x44, 0x1, 0x46
 .db 0x00 ; termiante data
 map_be_tile_flags:
 
-.db 0x2, 0x33, 0xd, 0x32, 0x1, 0x33, 0x1, 0x13
-.db 0xe, 0x0, 0x1, 0x23, 0x1, 0x12, 0xe, 0x0
-.db 0x1, 0x23, 0x1, 0x12, 0xe, 0x0, 0x1, 0x23
-.db 0x1, 0x12, 0xe, 0x0, 0x1, 0x23, 0x1, 0x12
-.db 0xe, 0x0, 0x1, 0x23, 0x1, 0x12, 0xe, 0x0
-.db 0x1, 0x23, 0x1, 0x12, 0xe, 0x0, 0x1, 0x23
-.db 0x1, 0x12, 0xe, 0x0, 0x1, 0x23, 0x1, 0x12
-.db 0xe, 0x0, 0x1, 0x23, 0x1, 0x12, 0xe, 0x0
-.db 0x1, 0x23, 0x1, 0x12, 0xe, 0x0, 0x1, 0x23
-.db 0x1, 0x12, 0xe, 0x0, 0x1, 0x23, 0x1, 0x12
-.db 0xe, 0x0, 0x1, 0x23, 0x1, 0x12, 0xe, 0x0
-.db 0x1, 0x23, 0x1, 0x13, 0xe, 0x3, 0x1, 0x23
+.db 0x10, 0x33, 0x1, 0x13, 0xe, 0x0, 0x1, 0x23
+.db 0x1, 0x13, 0xe, 0x0, 0x1, 0x23, 0x1, 0x13
+.db 0xe, 0x0, 0x1, 0x23, 0x1, 0x13, 0xe, 0x0
+.db 0x1, 0x23, 0x1, 0x13, 0xe, 0x0, 0x1, 0x23
+.db 0x1, 0x13, 0xe, 0x0, 0x1, 0x23, 0x1, 0x13
+.db 0xe, 0x0, 0x1, 0x23, 0x1, 0x13, 0xe, 0x0
+.db 0x1, 0x23, 0x1, 0x13, 0xe, 0x0, 0x1, 0x23
+.db 0x1, 0x13, 0xe, 0x0, 0x1, 0x23, 0x1, 0x13
+.db 0xe, 0x0, 0x1, 0x23, 0x1, 0x13, 0xe, 0x0
+.db 0x1, 0x23, 0x1, 0x13, 0xe, 0x0, 0x1, 0x23
+.db 0x1, 0x13, 0xe, 0x0, 0x1, 0x23, 0x1, 0x13
+.db 0xe, 0x3, 0x1, 0x23
 .db 0x00 ; termiante data
index 11ffaa1f4b9f15eb615b17d3d20372365b579c3f..b964db0976b875c7c7cb25a792c2ad42efaac2b0 100644 (file)
@@ -12,37 +12,31 @@ dw bank9000
 
 map_bw_bg:
 
-.db 0x1, 0x22, 0xd, 0x0, 0x2, 0x4a, 0x1, 0x22
-.db 0x6, 0x6e, 0x2, 0x0, 0x6, 0x6e, 0x1, 0x4a
-.db 0x1, 0x22, 0x6, 0x6e, 0x2, 0x0, 0x6, 0x6e
-.db 0x1, 0x0, 0x1, 0x22, 0x6, 0x6e, 0x2, 0x0
-.db 0x6, 0x6e, 0x1, 0x0, 0x1, 0x22, 0x6, 0x6e
-.db 0x2, 0x0, 0x6, 0x6e, 0x1, 0x0, 0x1, 0x22
-.db 0x6, 0x6e, 0x2, 0x0, 0x6, 0x6e, 0x1, 0x0
-.db 0x1, 0x22, 0x6, 0x6e, 0x2, 0x0, 0x6, 0x6e
-.db 0x1, 0x0, 0x1, 0x22, 0xf, 0x0, 0x1, 0x22
-.db 0xf, 0x0, 0x1, 0x22, 0x6, 0x6e, 0x2, 0x0
-.db 0x6, 0x6e, 0x1, 0x0, 0x1, 0x22, 0x6, 0x6e
-.db 0x2, 0x0, 0x6, 0x6e, 0x1, 0x0, 0x1, 0x22
-.db 0x6, 0x6e, 0x2, 0x0, 0x6, 0x6e, 0x1, 0x0
-.db 0x1, 0x22, 0x6, 0x6e, 0x2, 0x0, 0x6, 0x6e
-.db 0x1, 0x0, 0x1, 0x22, 0x6, 0x6e, 0x2, 0x0
-.db 0x6, 0x6e, 0x1, 0x0, 0x1, 0x22, 0x6, 0x6e
-.db 0x2, 0x0, 0x6, 0x6e, 0x1, 0x0, 0x1, 0x42
-.db 0xe, 0x44, 0x1, 0x44
+.db 0x1, 0x2, 0xe, 0x4, 0x1, 0x6, 0x1, 0x22
+.db 0xe, 0x0, 0x1, 0x26, 0x1, 0x22, 0xe, 0x0
+.db 0x1, 0x26, 0x1, 0x22, 0xe, 0x0, 0x1, 0x26
+.db 0x1, 0x22, 0xe, 0x0, 0x1, 0x26, 0x1, 0x22
+.db 0xe, 0x0, 0x1, 0x26, 0x1, 0x22, 0xe, 0x0
+.db 0x1, 0x26, 0x1, 0x22, 0xe, 0x0, 0x1, 0x26
+.db 0x1, 0x22, 0xe, 0x0, 0x1, 0x26, 0x1, 0x22
+.db 0xe, 0x0, 0x1, 0x26, 0x1, 0x22, 0xe, 0x0
+.db 0x1, 0x26, 0x1, 0x22, 0xe, 0x0, 0x1, 0x26
+.db 0x1, 0x22, 0xe, 0x0, 0x1, 0x26, 0x1, 0x22
+.db 0xe, 0x0, 0x1, 0x26, 0x1, 0x22, 0xe, 0x0
+.db 0x1, 0x26, 0x1, 0x42, 0xe, 0x44, 0x1, 0x46
 .db 0x00 ; termiante data
 map_bw_tile_flags:
 
-.db 0x1, 0x33, 0xd, 0x32, 0x2, 0x33, 0x1, 0x13
+.db 0x10, 0x33, 0x1, 0x13, 0xe, 0x0, 0x1, 0x23
+.db 0x1, 0x13, 0xe, 0x0, 0x1, 0x23, 0x1, 0x13
 .db 0xe, 0x0, 0x1, 0x23, 0x1, 0x13, 0xe, 0x0
-.db 0x1, 0x22, 0x1, 0x13, 0xe, 0x0, 0x1, 0x22
-.db 0x1, 0x13, 0xe, 0x0, 0x1, 0x22, 0x1, 0x13
-.db 0xe, 0x0, 0x1, 0x22, 0x1, 0x13, 0xe, 0x0
-.db 0x1, 0x22, 0x1, 0x13, 0xe, 0x0, 0x1, 0x22
-.db 0x1, 0x13, 0xe, 0x0, 0x1, 0x22, 0x1, 0x13
-.db 0xe, 0x0, 0x1, 0x22, 0x1, 0x13, 0xe, 0x0
-.db 0x1, 0x22, 0x1, 0x13, 0xe, 0x0, 0x1, 0x22
-.db 0x1, 0x13, 0xe, 0x0, 0x1, 0x22, 0x1, 0x13
-.db 0xe, 0x0, 0x1, 0x22, 0x1, 0x13, 0xe, 0x0
-.db 0x1, 0x22, 0x1, 0x13, 0xe, 0x3, 0x1, 0x23
+.db 0x1, 0x23, 0x1, 0x13, 0xe, 0x0, 0x1, 0x23
+.db 0x1, 0x13, 0xe, 0x0, 0x1, 0x23, 0x1, 0x13
+.db 0xe, 0x0, 0x1, 0x23, 0x1, 0x13, 0xe, 0x0
+.db 0x1, 0x23, 0x1, 0x13, 0xe, 0x0, 0x1, 0x23
+.db 0x1, 0x13, 0xe, 0x0, 0x1, 0x23, 0x1, 0x13
+.db 0xe, 0x0, 0x1, 0x23, 0x1, 0x13, 0xe, 0x0
+.db 0x1, 0x23, 0x1, 0x13, 0xe, 0x0, 0x1, 0x23
+.db 0x1, 0x13, 0xe, 0x0, 0x1, 0x23, 0x1, 0x13
+.db 0xe, 0x3, 0x1, 0x23
 .db 0x00 ; termiante data
index cc6951549b54d3a11a2147304201297ac426a1d7..f01e7c16c4e8ffedda0cf1c6afb16ac76103271d 100644 (file)
@@ -12,39 +12,31 @@ dw bank9000
 
 map_ce_bg:
 
-.db 0x1, 0x4a, 0x1, 0x4a, 0xd, 0x0, 0x1, 0x26
-.db 0x1, 0x4a, 0x6, 0x6e, 0x2, 0x0, 0x6, 0x6e
-.db 0x1, 0x26, 0x1, 0x0, 0x6, 0x6e, 0x2, 0x0
-.db 0x6, 0x6e, 0x1, 0x26, 0x1, 0x0, 0x6, 0x6e
-.db 0x2, 0x0, 0x6, 0x6e, 0x1, 0x26, 0x1, 0x0
-.db 0x6, 0x6e, 0x2, 0x0, 0x6, 0x6e, 0x1, 0x26
-.db 0x1, 0x0, 0x6, 0x6e, 0x2, 0x0, 0x6, 0x6e
-.db 0x1, 0x26, 0x1, 0x0, 0x6, 0x6e, 0x2, 0x0
-.db 0x6, 0x6e, 0x1, 0x26, 0x1, 0x0, 0xe, 0x0
-.db 0x1, 0x26, 0x1, 0x0, 0xe, 0x0, 0x1, 0x26
-.db 0x1, 0x0, 0x6, 0x6e, 0x2, 0x0, 0x6, 0x6e
-.db 0x1, 0x26, 0x1, 0x0, 0x6, 0x6e, 0x2, 0x0
-.db 0x6, 0x6e, 0x1, 0x26, 0x1, 0x0, 0x6, 0x6e
-.db 0x2, 0x0, 0x6, 0x6e, 0x1, 0x26, 0x1, 0x0
-.db 0x6, 0x6e, 0x2, 0x0, 0x6, 0x6e, 0x1, 0x26
-.db 0x1, 0x0, 0x6, 0x6e, 0x2, 0x0, 0x6, 0x6e
-.db 0x1, 0x26, 0x1, 0x4a, 0x6, 0x6e, 0x2, 0x0
-.db 0x6, 0x6e, 0x1, 0x26, 0x1, 0x4a, 0x1, 0x4a
-.db 0xd, 0x0, 0x1, 0x26
+.db 0x1, 0x2, 0xe, 0x4, 0x1, 0x6, 0x1, 0x22
+.db 0xe, 0x0, 0x1, 0x26, 0x1, 0x22, 0xe, 0x0
+.db 0x1, 0x26, 0x1, 0x22, 0xe, 0x0, 0x1, 0x26
+.db 0x1, 0x22, 0xe, 0x0, 0x1, 0x26, 0x1, 0x22
+.db 0xe, 0x0, 0x1, 0x26, 0x1, 0x22, 0xe, 0x0
+.db 0x1, 0x26, 0x1, 0x22, 0xe, 0x0, 0x1, 0x26
+.db 0x1, 0x22, 0xe, 0x0, 0x1, 0x26, 0x1, 0x22
+.db 0xe, 0x0, 0x1, 0x26, 0x1, 0x22, 0xe, 0x0
+.db 0x1, 0x26, 0x1, 0x22, 0xe, 0x0, 0x1, 0x26
+.db 0x1, 0x22, 0xe, 0x0, 0x1, 0x26, 0x1, 0x22
+.db 0xe, 0x0, 0x1, 0x26, 0x1, 0x22, 0xe, 0x0
+.db 0x1, 0x26, 0x1, 0x42, 0xe, 0x44, 0x1, 0x46
 .db 0x00 ; termiante data
 map_ce_tile_flags:
 
-.db 0x2, 0x33, 0xd, 0x32, 0x1, 0x33, 0x1, 0x13
-.db 0xe, 0x0, 0x1, 0x23, 0x1, 0x12, 0xe, 0x0
-.db 0x1, 0x23, 0x1, 0x12, 0xe, 0x0, 0x1, 0x23
-.db 0x1, 0x12, 0xe, 0x0, 0x1, 0x23, 0x1, 0x12
-.db 0xe, 0x0, 0x1, 0x23, 0x1, 0x12, 0xe, 0x0
-.db 0x1, 0x23, 0x1, 0x12, 0xe, 0x0, 0x1, 0x23
-.db 0x1, 0x12, 0xe, 0x0, 0x1, 0x23, 0x1, 0x12
-.db 0xe, 0x0, 0x1, 0x23, 0x1, 0x12, 0xe, 0x0
-.db 0x1, 0x23, 0x1, 0x12, 0xe, 0x0, 0x1, 0x23
-.db 0x1, 0x12, 0xe, 0x0, 0x1, 0x23, 0x1, 0x12
+.db 0x10, 0x33, 0x1, 0x13, 0xe, 0x0, 0x1, 0x23
+.db 0x1, 0x13, 0xe, 0x0, 0x1, 0x23, 0x1, 0x13
 .db 0xe, 0x0, 0x1, 0x23, 0x1, 0x13, 0xe, 0x0
-.db 0x1, 0x23, 0x1, 0x13, 0x1, 0x3, 0xd, 0x2
-.db 0x1, 0x23
+.db 0x1, 0x23, 0x1, 0x13, 0xe, 0x0, 0x1, 0x23
+.db 0x1, 0x13, 0xe, 0x0, 0x1, 0x23, 0x1, 0x13
+.db 0xe, 0x0, 0x1, 0x23, 0x1, 0x13, 0xe, 0x0
+.db 0x1, 0x23, 0x1, 0x13, 0xe, 0x0, 0x1, 0x23
+.db 0x1, 0x13, 0xe, 0x0, 0x1, 0x23, 0x1, 0x13
+.db 0xe, 0x0, 0x1, 0x23, 0x1, 0x13, 0xe, 0x0
+.db 0x1, 0x23, 0x1, 0x13, 0xe, 0x0, 0x1, 0x23
+.db 0x1, 0x13, 0xe, 0x0, 0x1, 0x23, 0x1, 0x13
+.db 0xe, 0x3, 0x1, 0x23
 .db 0x00 ; termiante data
index 54d29a61581cd8e7c343721d6354b6dcf11b5da8..e472038b28084a39b2f1ae0c284cd91671f4ef1f 100644 (file)
@@ -12,38 +12,31 @@ dw bank9000
 
 map_cw_bg:
 
-.db 0x1, 0x22, 0xd, 0x0, 0x2, 0x4a, 0x1, 0x22
-.db 0x6, 0x6e, 0x2, 0x0, 0x6, 0x6e, 0x1, 0x4a
-.db 0x1, 0x22, 0x6, 0x6e, 0x2, 0x0, 0x6, 0x6e
-.db 0x1, 0x0, 0x1, 0x22, 0x6, 0x6e, 0x2, 0x0
-.db 0x6, 0x6e, 0x1, 0x0, 0x1, 0x22, 0x6, 0x6e
-.db 0x2, 0x0, 0x6, 0x6e, 0x1, 0x0, 0x1, 0x22
-.db 0x6, 0x6e, 0x2, 0x0, 0x6, 0x6e, 0x1, 0x0
-.db 0x1, 0x22, 0x6, 0x6e, 0x2, 0x0, 0x6, 0x6e
-.db 0x1, 0x0, 0x1, 0x22, 0xf, 0x0, 0x1, 0x22
-.db 0xf, 0x0, 0x1, 0x22, 0x6, 0x6e, 0x2, 0x0
-.db 0x6, 0x6e, 0x1, 0x0, 0x1, 0x22, 0x6, 0x6e
-.db 0x2, 0x0, 0x6, 0x6e, 0x1, 0x0, 0x1, 0x22
-.db 0x6, 0x6e, 0x2, 0x0, 0x6, 0x6e, 0x1, 0x0
-.db 0x1, 0x22, 0x6, 0x6e, 0x2, 0x0, 0x6, 0x6e
-.db 0x1, 0x0, 0x1, 0x22, 0x6, 0x6e, 0x2, 0x0
-.db 0x6, 0x6e, 0x1, 0x0, 0x1, 0x22, 0x6, 0x6e
-.db 0x2, 0x0, 0x6, 0x6e, 0x1, 0x4a, 0x1, 0x22
-.db 0xd, 0x0, 0x1, 0x4a, 0x1, 0x4a
+.db 0x1, 0x2, 0xe, 0x4, 0x1, 0x6, 0x1, 0x22
+.db 0xe, 0x0, 0x1, 0x26, 0x1, 0x22, 0xe, 0x0
+.db 0x1, 0x26, 0x1, 0x22, 0xe, 0x0, 0x1, 0x26
+.db 0x1, 0x22, 0xe, 0x0, 0x1, 0x26, 0x1, 0x22
+.db 0xe, 0x0, 0x1, 0x26, 0x1, 0x22, 0xe, 0x0
+.db 0x1, 0x26, 0x1, 0x22, 0xe, 0x0, 0x1, 0x26
+.db 0x1, 0x22, 0xe, 0x0, 0x1, 0x26, 0x1, 0x22
+.db 0xe, 0x0, 0x1, 0x26, 0x1, 0x22, 0xe, 0x0
+.db 0x1, 0x26, 0x1, 0x22, 0xe, 0x0, 0x1, 0x26
+.db 0x1, 0x22, 0xe, 0x0, 0x1, 0x26, 0x1, 0x22
+.db 0xe, 0x0, 0x1, 0x26, 0x1, 0x22, 0xe, 0x0
+.db 0x1, 0x26, 0x1, 0x42, 0xe, 0x44, 0x1, 0x46
 .db 0x00 ; termiante data
 map_cw_tile_flags:
 
-.db 0x1, 0x33, 0xd, 0x32, 0x2, 0x33, 0x1, 0x13
+.db 0x10, 0x33, 0x1, 0x13, 0xe, 0x0, 0x1, 0x23
+.db 0x1, 0x13, 0xe, 0x0, 0x1, 0x23, 0x1, 0x13
 .db 0xe, 0x0, 0x1, 0x23, 0x1, 0x13, 0xe, 0x0
-.db 0x1, 0x22, 0x1, 0x13, 0xe, 0x0, 0x1, 0x22
-.db 0x1, 0x13, 0xe, 0x0, 0x1, 0x22, 0x1, 0x13
-.db 0xe, 0x0, 0x1, 0x22, 0x1, 0x13, 0xe, 0x0
-.db 0x1, 0x22, 0x1, 0x13, 0xe, 0x0, 0x1, 0x22
-.db 0x1, 0x13, 0xe, 0x0, 0x1, 0x22, 0x1, 0x13
-.db 0xe, 0x0, 0x1, 0x22, 0x1, 0x13, 0xe, 0x0
-.db 0x1, 0x22, 0x1, 0x13, 0xe, 0x0, 0x1, 0x22
-.db 0x1, 0x13, 0xe, 0x0, 0x1, 0x22, 0x1, 0x13
-.db 0xe, 0x0, 0x1, 0x22, 0x1, 0x13, 0xe, 0x0
-.db 0x1, 0x23, 0x1, 0x13, 0xd, 0x2, 0x1, 0x3
-.db 0x1, 0x23
+.db 0x1, 0x23, 0x1, 0x13, 0xe, 0x0, 0x1, 0x23
+.db 0x1, 0x13, 0xe, 0x0, 0x1, 0x23, 0x1, 0x13
+.db 0xe, 0x0, 0x1, 0x23, 0x1, 0x13, 0xe, 0x0
+.db 0x1, 0x23, 0x1, 0x13, 0xe, 0x0, 0x1, 0x23
+.db 0x1, 0x13, 0xe, 0x0, 0x1, 0x23, 0x1, 0x13
+.db 0xe, 0x0, 0x1, 0x23, 0x1, 0x13, 0xe, 0x0
+.db 0x1, 0x23, 0x1, 0x13, 0xe, 0x0, 0x1, 0x23
+.db 0x1, 0x13, 0xe, 0x0, 0x1, 0x23, 0x1, 0x13
+.db 0xe, 0x3, 0x1, 0x23
 .db 0x00 ; termiante data
index 12fe21dc7dfed98cbd24a6c6ce699fa0b7ee3c18..ee0dc789365c3488a8a15673360faabb3a7c8eb3 100644 (file)
@@ -12,37 +12,31 @@ dw bank9000
 
 map_tc_bg:
 
-.db 0x1, 0x4, 0xf, 0x4, 0x1, 0x0, 0x6, 0x6e
-.db 0x2, 0x0, 0x6, 0x6e, 0x1, 0x0, 0x1, 0x0
-.db 0x6, 0x6e, 0x2, 0x0, 0x6, 0x6e, 0x1, 0x0
-.db 0x1, 0x0, 0x6, 0x6e, 0x2, 0x0, 0x6, 0x6e
-.db 0x1, 0x0, 0x1, 0x0, 0x6, 0x6e, 0x2, 0x0
-.db 0x6, 0x6e, 0x1, 0x0, 0x1, 0x0, 0x6, 0x6e
-.db 0x2, 0x0, 0x6, 0x6e, 0x1, 0x0, 0x1, 0x0
-.db 0x6, 0x6e, 0x2, 0x0, 0x6, 0x6e, 0x1, 0x0
-.db 0x1, 0x0, 0xf, 0x0, 0x1, 0x0, 0xf, 0x0
-.db 0x1, 0x0, 0x6, 0x6e, 0x2, 0x0, 0x6, 0x6e
-.db 0x1, 0x0, 0x1, 0x0, 0x6, 0x6e, 0x2, 0x0
-.db 0x6, 0x6e, 0x1, 0x0, 0x1, 0x0, 0x6, 0x6e
-.db 0x2, 0x0, 0x6, 0x6e, 0x1, 0x0, 0x1, 0x0
-.db 0x6, 0x6e, 0x2, 0x0, 0x6, 0x6e, 0x1, 0x0
-.db 0x1, 0x0, 0x6, 0x6e, 0x2, 0x0, 0x6, 0x6e
-.db 0x1, 0x0, 0x1, 0x4a, 0x6, 0x6e, 0x2, 0x0
-.db 0x6, 0x6e, 0x1, 0x4a, 0x1, 0x4a, 0x1, 0x4a
-.db 0xc, 0x0, 0x1, 0x4a, 0x1, 0x4a
+.db 0x1, 0x2, 0xe, 0x4, 0x1, 0x6, 0x1, 0x22
+.db 0xe, 0x0, 0x1, 0x26, 0x1, 0x22, 0xe, 0x0
+.db 0x1, 0x26, 0x1, 0x22, 0xe, 0x0, 0x1, 0x26
+.db 0x1, 0x22, 0xe, 0x0, 0x1, 0x26, 0x1, 0x22
+.db 0xe, 0x0, 0x1, 0x26, 0x1, 0x22, 0xe, 0x0
+.db 0x1, 0x26, 0x1, 0x22, 0xe, 0x0, 0x1, 0x26
+.db 0x1, 0x22, 0xe, 0x0, 0x1, 0x26, 0x1, 0x22
+.db 0xe, 0x0, 0x1, 0x26, 0x1, 0x22, 0xe, 0x0
+.db 0x1, 0x26, 0x1, 0x22, 0xe, 0x0, 0x1, 0x26
+.db 0x1, 0x22, 0xe, 0x0, 0x1, 0x26, 0x1, 0x22
+.db 0xe, 0x0, 0x1, 0x26, 0x1, 0x22, 0xe, 0x0
+.db 0x1, 0x26, 0x1, 0x42, 0xe, 0x44, 0x1, 0x46
 .db 0x00 ; termiante data
 map_tc_tile_flags:
 
-.db 0x10, 0x33, 0x1, 0x12, 0xe, 0x0, 0x1, 0x22
-.db 0x1, 0x12, 0xe, 0x0, 0x1, 0x22, 0x1, 0x12
-.db 0xe, 0x0, 0x1, 0x22, 0x1, 0x12, 0xe, 0x0
-.db 0x1, 0x22, 0x1, 0x12, 0xe, 0x0, 0x1, 0x22
-.db 0x1, 0x12, 0xe, 0x0, 0x1, 0x22, 0x1, 0x12
-.db 0xe, 0x0, 0x1, 0x22, 0x1, 0x12, 0xe, 0x0
-.db 0x1, 0x22, 0x1, 0x12, 0xe, 0x0, 0x1, 0x22
-.db 0x1, 0x12, 0xe, 0x0, 0x1, 0x22, 0x1, 0x12
-.db 0xe, 0x0, 0x1, 0x22, 0x1, 0x12, 0xe, 0x0
-.db 0x1, 0x22, 0x1, 0x12, 0xe, 0x0, 0x1, 0x22
+.db 0x10, 0x33, 0x1, 0x13, 0xe, 0x0, 0x1, 0x23
 .db 0x1, 0x13, 0xe, 0x0, 0x1, 0x23, 0x1, 0x13
-.db 0x1, 0x3, 0xc, 0x2, 0x1, 0x3, 0x1, 0x23
+.db 0xe, 0x0, 0x1, 0x23, 0x1, 0x13, 0xe, 0x0
+.db 0x1, 0x23, 0x1, 0x13, 0xe, 0x0, 0x1, 0x23
+.db 0x1, 0x13, 0xe, 0x0, 0x1, 0x23, 0x1, 0x13
+.db 0xe, 0x0, 0x1, 0x23, 0x1, 0x13, 0xe, 0x0
+.db 0x1, 0x23, 0x1, 0x13, 0xe, 0x0, 0x1, 0x23
+.db 0x1, 0x13, 0xe, 0x0, 0x1, 0x23, 0x1, 0x13
+.db 0xe, 0x0, 0x1, 0x23, 0x1, 0x13, 0xe, 0x0
+.db 0x1, 0x23, 0x1, 0x13, 0xe, 0x0, 0x1, 0x23
+.db 0x1, 0x13, 0xe, 0x0, 0x1, 0x23, 0x1, 0x13
+.db 0xe, 0x3, 0x1, 0x23
 .db 0x00 ; termiante data
index 38ae4ce428e2e9dd647c3efb7bd5e3677997ee9c..b97499342a8d2f0c46c4a247b4e675987a89d66a 100644 (file)
@@ -12,38 +12,31 @@ dw bank9000
 
 map_te_bg:
 
-.db 0x1, 0x4, 0xe, 0x4, 0x1, 0x6, 0x1, 0x0
-.db 0x6, 0x6e, 0x2, 0x0, 0x6, 0x6e, 0x1, 0x26
-.db 0x1, 0x0, 0x6, 0x6e, 0x2, 0x0, 0x6, 0x6e
-.db 0x1, 0x26, 0x1, 0x0, 0x6, 0x6e, 0x2, 0x0
-.db 0x6, 0x6e, 0x1, 0x26, 0x1, 0x0, 0x6, 0x6e
-.db 0x2, 0x0, 0x6, 0x6e, 0x1, 0x26, 0x1, 0x0
-.db 0x6, 0x6e, 0x2, 0x0, 0x6, 0x6e, 0x1, 0x26
-.db 0x1, 0x0, 0x6, 0x6e, 0x2, 0x0, 0x6, 0x6e
-.db 0x1, 0x26, 0x1, 0x0, 0xe, 0x0, 0x1, 0x26
-.db 0x1, 0x0, 0xe, 0x0, 0x1, 0x26, 0x1, 0x0
-.db 0x6, 0x6e, 0x2, 0x0, 0x6, 0x6e, 0x1, 0x26
-.db 0x1, 0x0, 0x6, 0x6e, 0x2, 0x0, 0x6, 0x6e
-.db 0x1, 0x26, 0x1, 0x0, 0x6, 0x6e, 0x2, 0x0
-.db 0x6, 0x6e, 0x1, 0x26, 0x1, 0x0, 0x6, 0x6e
-.db 0x2, 0x0, 0x6, 0x6e, 0x1, 0x26, 0x1, 0x0
-.db 0x6, 0x6e, 0x2, 0x0, 0x6, 0x6e, 0x1, 0x26
-.db 0x1, 0x4a, 0x6, 0x6e, 0x2, 0x0, 0x6, 0x6e
-.db 0x1, 0x26, 0x1, 0x4a, 0x1, 0x4a, 0xd, 0x0
-.db 0x1, 0x26
+.db 0x1, 0x2, 0xe, 0x4, 0x1, 0x6, 0x1, 0x22
+.db 0xe, 0x0, 0x1, 0x26, 0x1, 0x22, 0xe, 0x0
+.db 0x1, 0x26, 0x1, 0x22, 0xe, 0x0, 0x1, 0x26
+.db 0x1, 0x22, 0xe, 0x0, 0x1, 0x26, 0x1, 0x22
+.db 0xe, 0x0, 0x1, 0x26, 0x1, 0x22, 0xe, 0x0
+.db 0x1, 0x26, 0x1, 0x22, 0xe, 0x0, 0x1, 0x26
+.db 0x1, 0x22, 0xe, 0x0, 0x1, 0x26, 0x1, 0x22
+.db 0xe, 0x0, 0x1, 0x26, 0x1, 0x22, 0xe, 0x0
+.db 0x1, 0x26, 0x1, 0x22, 0xe, 0x0, 0x1, 0x26
+.db 0x1, 0x22, 0xe, 0x0, 0x1, 0x26, 0x1, 0x22
+.db 0xe, 0x0, 0x1, 0x26, 0x1, 0x22, 0xe, 0x0
+.db 0x1, 0x26, 0x1, 0x42, 0xe, 0x44, 0x1, 0x46
 .db 0x00 ; termiante data
 map_te_tile_flags:
 
-.db 0x10, 0x33, 0x1, 0x12, 0xe, 0x0, 0x1, 0x23
-.db 0x1, 0x12, 0xe, 0x0, 0x1, 0x23, 0x1, 0x12
-.db 0xe, 0x0, 0x1, 0x23, 0x1, 0x12, 0xe, 0x0
-.db 0x1, 0x23, 0x1, 0x12, 0xe, 0x0, 0x1, 0x23
-.db 0x1, 0x12, 0xe, 0x0, 0x1, 0x23, 0x1, 0x12
-.db 0xe, 0x0, 0x1, 0x23, 0x1, 0x12, 0xe, 0x0
-.db 0x1, 0x23, 0x1, 0x12, 0xe, 0x0, 0x1, 0x23
-.db 0x1, 0x12, 0xe, 0x0, 0x1, 0x23, 0x1, 0x12
-.db 0xe, 0x0, 0x1, 0x23, 0x1, 0x12, 0xe, 0x0
-.db 0x1, 0x23, 0x1, 0x12, 0xe, 0x0, 0x1, 0x23
+.db 0x10, 0x33, 0x1, 0x13, 0xe, 0x0, 0x1, 0x23
 .db 0x1, 0x13, 0xe, 0x0, 0x1, 0x23, 0x1, 0x13
-.db 0x1, 0x3, 0xd, 0x2, 0x1, 0x23
+.db 0xe, 0x0, 0x1, 0x23, 0x1, 0x13, 0xe, 0x0
+.db 0x1, 0x23, 0x1, 0x13, 0xe, 0x0, 0x1, 0x23
+.db 0x1, 0x13, 0xe, 0x0, 0x1, 0x23, 0x1, 0x13
+.db 0xe, 0x0, 0x1, 0x23, 0x1, 0x13, 0xe, 0x0
+.db 0x1, 0x23, 0x1, 0x13, 0xe, 0x0, 0x1, 0x23
+.db 0x1, 0x13, 0xe, 0x0, 0x1, 0x23, 0x1, 0x13
+.db 0xe, 0x0, 0x1, 0x23, 0x1, 0x13, 0xe, 0x0
+.db 0x1, 0x23, 0x1, 0x13, 0xe, 0x0, 0x1, 0x23
+.db 0x1, 0x13, 0xe, 0x0, 0x1, 0x23, 0x1, 0x13
+.db 0xe, 0x3, 0x1, 0x23
 .db 0x00 ; termiante data
index 00dd49ad6c2516eb409bf44bce846cddf30a9efc..c240514c1dde0978547b08105311085a13aa4208 100644 (file)
@@ -12,37 +12,31 @@ dw bank9000
 
 map_tw_bg:
 
-.db 0x1, 0x2, 0xf, 0x4, 0x1, 0x22, 0x6, 0x6e
-.db 0x2, 0x0, 0x6, 0x6e, 0x1, 0x0, 0x1, 0x22
-.db 0x6, 0x6e, 0x2, 0x0, 0x6, 0x6e, 0x1, 0x0
-.db 0x1, 0x22, 0x6, 0x6e, 0x2, 0x0, 0x6, 0x6e
-.db 0x1, 0x0, 0x1, 0x22, 0x6, 0x6e, 0x2, 0x0
-.db 0x6, 0x6e, 0x1, 0x0, 0x1, 0x22, 0x6, 0x6e
-.db 0x2, 0x0, 0x6, 0x6e, 0x1, 0x0, 0x1, 0x22
-.db 0x6, 0x6e, 0x2, 0x0, 0x6, 0x6e, 0x1, 0x0
-.db 0x1, 0x22, 0xf, 0x0, 0x1, 0x22, 0xf, 0x0
-.db 0x1, 0x22, 0x6, 0x6e, 0x2, 0x0, 0x6, 0x6e
-.db 0x1, 0x0, 0x1, 0x22, 0x6, 0x6e, 0x2, 0x0
-.db 0x6, 0x6e, 0x1, 0x0, 0x1, 0x22, 0x6, 0x6e
-.db 0x2, 0x0, 0x6, 0x6e, 0x1, 0x0, 0x1, 0x22
-.db 0x6, 0x6e, 0x2, 0x0, 0x6, 0x6e, 0x1, 0x0
-.db 0x1, 0x22, 0x6, 0x6e, 0x2, 0x0, 0x6, 0x6e
-.db 0x1, 0x0, 0x1, 0x22, 0x6, 0x6e, 0x2, 0x0
-.db 0x6, 0x6e, 0x1, 0x4a, 0x1, 0x22, 0xd, 0x0
-.db 0x1, 0x4a, 0x1, 0x4a
+.db 0x1, 0x2, 0xe, 0x4, 0x1, 0x6, 0x1, 0x22
+.db 0xe, 0x0, 0x1, 0x26, 0x1, 0x22, 0xe, 0x0
+.db 0x1, 0x26, 0x1, 0x22, 0xe, 0x0, 0x1, 0x26
+.db 0x1, 0x22, 0xe, 0x0, 0x1, 0x26, 0x1, 0x22
+.db 0xe, 0x0, 0x1, 0x26, 0x1, 0x22, 0xe, 0x0
+.db 0x1, 0x26, 0x1, 0x22, 0xe, 0x0, 0x1, 0x26
+.db 0x1, 0x22, 0xe, 0x0, 0x1, 0x26, 0x1, 0x22
+.db 0xe, 0x0, 0x1, 0x26, 0x1, 0x22, 0xe, 0x0
+.db 0x1, 0x26, 0x1, 0x22, 0xe, 0x0, 0x1, 0x26
+.db 0x1, 0x22, 0xe, 0x0, 0x1, 0x26, 0x1, 0x22
+.db 0xe, 0x0, 0x1, 0x26, 0x1, 0x22, 0xe, 0x0
+.db 0x1, 0x26, 0x1, 0x42, 0xe, 0x44, 0x1, 0x46
 .db 0x00 ; termiante data
 map_tw_tile_flags:
 
-.db 0x10, 0x33, 0x1, 0x13, 0xe, 0x0, 0x1, 0x22
-.db 0x1, 0x13, 0xe, 0x0, 0x1, 0x22, 0x1, 0x13
-.db 0xe, 0x0, 0x1, 0x22, 0x1, 0x13, 0xe, 0x0
-.db 0x1, 0x22, 0x1, 0x13, 0xe, 0x0, 0x1, 0x22
-.db 0x1, 0x13, 0xe, 0x0, 0x1, 0x22, 0x1, 0x13
-.db 0xe, 0x0, 0x1, 0x22, 0x1, 0x13, 0xe, 0x0
-.db 0x1, 0x22, 0x1, 0x13, 0xe, 0x0, 0x1, 0x22
-.db 0x1, 0x13, 0xe, 0x0, 0x1, 0x22, 0x1, 0x13
-.db 0xe, 0x0, 0x1, 0x22, 0x1, 0x13, 0xe, 0x0
-.db 0x1, 0x22, 0x1, 0x13, 0xe, 0x0, 0x1, 0x22
+.db 0x10, 0x33, 0x1, 0x13, 0xe, 0x0, 0x1, 0x23
 .db 0x1, 0x13, 0xe, 0x0, 0x1, 0x23, 0x1, 0x13
-.db 0xd, 0x2, 0x1, 0x3, 0x1, 0x23
+.db 0xe, 0x0, 0x1, 0x23, 0x1, 0x13, 0xe, 0x0
+.db 0x1, 0x23, 0x1, 0x13, 0xe, 0x0, 0x1, 0x23
+.db 0x1, 0x13, 0xe, 0x0, 0x1, 0x23, 0x1, 0x13
+.db 0xe, 0x0, 0x1, 0x23, 0x1, 0x13, 0xe, 0x0
+.db 0x1, 0x23, 0x1, 0x13, 0xe, 0x0, 0x1, 0x23
+.db 0x1, 0x13, 0xe, 0x0, 0x1, 0x23, 0x1, 0x13
+.db 0xe, 0x0, 0x1, 0x23, 0x1, 0x13, 0xe, 0x0
+.db 0x1, 0x23, 0x1, 0x13, 0xe, 0x0, 0x1, 0x23
+.db 0x1, 0x13, 0xe, 0x0, 0x1, 0x23, 0x1, 0x13
+.db 0xe, 0x3, 0x1, 0x23
 .db 0x00 ; termiante data
index fcbd97f0367e531ed95c0092ef6242fbfea4cbbb..7679fb9088aa16f3b3c5dae4798ba7fc3c31eb25 100644 (file)
@@ -154,13 +154,33 @@ unit_check_exit_hit:
 
   ; now it's time to look up
   ; the exit's position
-  
-  
-@load_map:  
+       ; de = actor
+       ld hl, act_pos_y
+       add hl, de
+       ; hl = act_pos_y
+
+       ld a, [hl]
+       cp a, 0 ; top 
+       jp z, unit_exit_top
+
+       ld a, [hl+]
+       cp a, MAP_H-1
+       jp z, unit_exit_bottom
+
+       ld a, [hl] ; hl = x pos
+       cp a, 0
+       jp z, unit_exit_left
+
+       ld a, [hl]
+       cp a, MAP_W-1
+       jp z, unit_exit_right
+
+
+       ; performs the map load
+unit_map_load: 
   ; fade out
   call video_fade_out
        
-       ; TODO: adjust player map cursor
 
        ; generate new map
   call mapgen 
@@ -181,9 +201,110 @@ unit_check_exit_hit:
   ld a, [shadow_bpg] 
   call video_fade_in
 
-
   ret
+       
+       ; performs a top exit
+       ; adjusts player cursor
+       ; and units position
+       ;       checks if input is held, -> calls unit_load_map 
+       ; inputs:
+       ;               de: unit
+       ;       preserves:
+       ;               hl, de 
+unit_exit_top:
+       ld b, BTNUP
+       input_held
+       ret z
+
+       ld hl, act_pos_y
+       add hl, de
+       
+       ; move player down
+       ld a, MAP_H-1
+       ld [hl], a
+
+       ld a, [player_map_cursor]
+       ; cursor needs to go 1 row up
+       sub a, FLOOR_W
+       ld [player_map_cursor], a
+
+       call unit_map_load
+       ret
+       
+       ; performs bottom exit
+       ;       same as exit top
+       ; inputs:
+       ;               de; unit
+       ;       preserves:
+       ;               hl, de
+unit_exit_bottom:
+       ld b, BTNDOWN
+       input_held
+       ret z
 
+       ld hl, act_pos_y
+       add hl, de
+
+       ; move player up
+       ld a, 0
+       ld [hl], a
+
+       ld a, [player_map_cursor]
+       ; go down a row
+       add a, FLOOR_W
+       ld [player_map_cursor], a
+       
+       call unit_map_load
+       ret
+       
+       ; performs a right exit
+       ; same as exit top
+       ;       inputs:
+       ;               de: unit
+unit_exit_right:
+       ld b, BTNRIGHT
+       input_held
+       ret z
+       
+       ld hl, act_pos_x
+       add hl, de
+
+       ; move player left 
+       ld a, 0
+       ld [hl], a
+
+       ld a, [player_map_cursor]
+       ; go right one row
+       inc a
+       ld [player_map_cursor], a
+               
+       call unit_map_load              
+       ret
+       
+       ; performs a left exit
+       ; same as exit top
+       ;       inputs:
+       ;               de: unit
+unit_exit_left:
+       ld b, BTNLEFT
+       input_held
+       ret z
+       
+       ld hl, act_pos_x
+       add hl, de
+
+       ; move player right 
+       ld a, MAP_W-1 
+       ld [hl], a
+
+       ld a, [player_map_cursor]
+       ; go left one row
+       dec a
+       ld [player_map_cursor], a
+               
+       call unit_map_load              
+       ret
+       
        
        ; player attack state
        ;       inputs: