map: the map converter can now add flags
authorLukas Krickl <lukas@krickl.dev>
Sat, 10 May 2025 18:38:12 +0000 (20:38 +0200)
committerLukas Krickl <lukas@krickl.dev>
Sat, 10 May 2025 18:38:12 +0000 (20:38 +0200)
The map loader loads flags from maps correctly

maps/default_map.s
src/defs.s
src/map.s
src/player.s
tools/tms2map.py

index d0f285f2ee799057e70ef77a624d4aa94534244e..b5580b45d843a6f56d7ef9cc9ff162097e00cb0b 100644 (file)
@@ -1,98 +1,98 @@
 default_map_bg:
 
-.db 0x65, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64
-.db 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64
-.db 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64
-.db 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64
-.db 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64
-.db 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64
-.db 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64
-.db 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64
-.db 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x65, 0x65
-.db 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64
-.db 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64
-.db 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64
-.db 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x65, 0x65
-.db 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64
-.db 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64
-.db 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64
-.db 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64
-.db 0x65, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64
-.db 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64
-.db 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64
-.db 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64
-.db 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64
-.db 0x64, 0x64, 0x77, 0x64, 0x64, 0x64, 0x64, 0x64
-.db 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64
-.db 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64
-.db 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x6a, 0x6b
-.db 0x6c, 0x6d, 0x77, 0x6e, 0x6f, 0x64, 0x64, 0x64
-.db 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64
-.db 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64
-.db 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x7a, 0x7b
-.db 0x7c, 0x7d, 0x77, 0x7e, 0x7f, 0x64, 0x64, 0x64
-.db 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64
-.db 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64
-.db 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x78, 0x78
-.db 0x78, 0x78, 0x79, 0x78, 0x78, 0x64, 0x64, 0x64
-.db 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64
-.db 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64
-.db 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64
-.db 0x64, 0x64, 0x77, 0x64, 0x64, 0x64, 0x64, 0x64
-.db 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64
-.db 0x64, 0x64, 0x64, 0x64, 0x64, 0x74, 0x74, 0x74
-.db 0x74, 0x74, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64
-.db 0x64, 0x64, 0x77, 0x64, 0x64, 0x64, 0x64, 0x64
-.db 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64
-.db 0x64, 0x64, 0x64, 0x64, 0x64, 0x74, 0x74, 0x74
-.db 0x74, 0x74, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64
-.db 0x64, 0x64, 0x77, 0x64, 0x64, 0x64, 0x64, 0x64
-.db 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64
-.db 0x64, 0x64, 0x64, 0x64, 0x64, 0x74, 0x74, 0x74
-.db 0x74, 0x74, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64
-.db 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64
-.db 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64
-.db 0x64, 0x64, 0x64, 0x64, 0x64, 0x74, 0x74, 0x74
-.db 0x74, 0x74, 0x74, 0x74, 0x74, 0x64, 0x64, 0x64
-.db 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64
-.db 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64
-.db 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64
-.db 0x64, 0x74, 0x74, 0x74, 0x74, 0x64, 0x64, 0x64
-.db 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64
-.db 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64
-.db 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64
-.db 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64
-.db 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64
-.db 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64
-.db 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64
-.db 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64
-.db 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64
-.db 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64
-.db 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64
-.db 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64
-.db 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64
-.db 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64
-.db 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64
-.db 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64
-.db 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64
-.db 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64
-.db 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64
-.db 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64
-.db 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64
-.db 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64
-.db 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64
-.db 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64
-.db 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64
-.db 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64
-.db 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64
-.db 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64
-.db 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64
-.db 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64
-.db 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64
-.db 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64
-.db 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64
-.db 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64
-.db 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64
-.db 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64
-.db 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64
-.db 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x65
+.db 0x65,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0
+.db 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0
+.db 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0
+.db 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0
+.db 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0
+.db 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0
+.db 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0
+.db 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0
+.db 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x65,0x0, 0x65,0x0
+.db 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0
+.db 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0
+.db 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0
+.db 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x65,0x0, 0x65,0x0
+.db 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0
+.db 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0
+.db 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0
+.db 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0
+.db 0x65,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0
+.db 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0
+.db 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0
+.db 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0
+.db 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0
+.db 0x64,0x0, 0x64,0x0, 0x77,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0
+.db 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0
+.db 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0
+.db 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x6a,0x1, 0x6b,0x0
+.db 0x6c,0x0, 0x6d,0x0, 0x77,0x0, 0x6e,0x0, 0x6f,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0
+.db 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0
+.db 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0
+.db 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x7a,0x0, 0x7b,0x0
+.db 0x7c,0x0, 0x7d,0x0, 0x77,0x0, 0x7e,0x0, 0x7f,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0
+.db 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0
+.db 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0
+.db 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x78,0x0, 0x78,0x0
+.db 0x78,0x0, 0x78,0x0, 0x79,0x0, 0x78,0x0, 0x78,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0
+.db 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0
+.db 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0
+.db 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0
+.db 0x64,0x0, 0x64,0x0, 0x77,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0
+.db 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0
+.db 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x74,0x0, 0x74,0x0, 0x74,0x0
+.db 0x74,0x0, 0x74,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0
+.db 0x64,0x0, 0x64,0x0, 0x77,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0
+.db 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0
+.db 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x74,0x0, 0x74,0x0, 0x74,0x0
+.db 0x74,0x0, 0x74,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0
+.db 0x64,0x0, 0x64,0x0, 0x77,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0
+.db 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0
+.db 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x74,0x0, 0x74,0x0, 0x74,0x0
+.db 0x74,0x0, 0x74,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0
+.db 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0
+.db 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0
+.db 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x74,0x0, 0x74,0x0, 0x74,0x0
+.db 0x74,0x0, 0x74,0x0, 0x74,0x0, 0x74,0x0, 0x74,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0
+.db 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0
+.db 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0
+.db 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0
+.db 0x64,0x0, 0x74,0x0, 0x74,0x0, 0x74,0x0, 0x74,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0
+.db 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0
+.db 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0
+.db 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0
+.db 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0
+.db 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0
+.db 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0
+.db 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0
+.db 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0
+.db 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0
+.db 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0
+.db 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0
+.db 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0
+.db 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0
+.db 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0
+.db 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0
+.db 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0
+.db 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0
+.db 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0
+.db 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0
+.db 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0
+.db 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0
+.db 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0
+.db 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0
+.db 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0
+.db 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0
+.db 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0
+.db 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0
+.db 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0
+.db 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0
+.db 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0
+.db 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0
+.db 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0
+.db 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0
+.db 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0
+.db 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0
+.db 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0
+.db 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0
+.db 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x65,0x0
index 86302e71152fe681d2c9abaed2915e656b5e4805..ffd08789ee0a073465e778614b207d452aad1618 100644 (file)
 #define CURSOR_MIN_Y 0 
 #define CURSOR_MAX_Y 0xB8
 
+  ; cell flags
+.se 0 
+.de CF_COLLISION, 1
+
   ; cells struct
 .se 0
 .de c_tile, 1
index 6a93d03650893d4c93273d504a6bc2ecb8d78624..06bcc8a906d02552f1127e20cfc5f24565b8479d 100644 (file)
--- a/src/map.s
+++ b/src/map.s
@@ -33,14 +33,15 @@ tile_map_load:
    ; hl = c_tile  
 
 @loop:
+  ; tile
   ld a, [bc]
   inc bc ; bc++
-  ld [hl], a
-
-  push de
-  ld de, c_size
-  add hl, de ; next cell
-  pop de
+  ld [hl+], a
+  
+  ; flags
+  ld a, [bc]
+  inc bc ; bc++
+  ld [hl+], a
 
   ; de--
   dec de
index c790126044ddeae940d7c461be409f8c1eff1f95..9f95c1c5a030456e33a3dff77b99be94cf8c66ea 100644 (file)
@@ -214,3 +214,5 @@ cursor_get_tile:
   cursor_get_at_generic SCRN0, MAP_W, 1 
 
   ret
+
+
index 441f765b9d5ebaa700822dc7da3549af9d730bf9..61f5099952f755c95a242f07c7fc93afe7fae326 100755 (executable)
@@ -8,6 +8,12 @@ TILE_SIZE = 16
 ACTOR_OFFSET_X = 0
 ACTOR_OFFSET_Y = 0
 
+FLAGS = {
+            'f_collision': 0x01
+        }
+
+TILE_FLAGS = [0] * 256
+
 if len(sys.argv) < 3:
     print("Usage: tmx2map.py <source> <map name>")
     sys.exit(-1)
@@ -37,7 +43,25 @@ def print_data(data, name, layer):
             end = ''
         if i == len(split) - 1:
             end = '\n'
-        print(hex(val), end=end)
+        print(hex(val), end='')
+        print(",", end='')
+        print(hex(TILE_FLAGS[int(byte)-1]), end=end)
+
+    
+def get_flag(tile):
+    for child in tile:
+        if child.tag == 'properties':
+            for sub_child in child:
+                if sub_child.tag == 'property':
+                    for flag in FLAGS:
+                        if sub_child.attrib['name'] == flag:
+                            TILE_FLAGS[int(tile.attrib['id'])-1] = FLAGS[flag]
+
+# get all flags and write them to TILE_FLAGS
+def get_flags(tileset):
+    for child in tileset:
+        if child.tag == 'tile':
+            get_flag(child)
 
 
 def convert(src, name):
@@ -48,6 +72,8 @@ def convert(src, name):
         if child.tag == "layer":
             for data in child:
                 print_data(data.text, name, child.attrib['name'])
+        elif child.tag == "tileset":
+            get_flags(child)