summaryrefslogtreecommitdiff
path: root/examples
diff options
context:
space:
mode:
authorDavid Thompson <dthompson2@worcester.edu>2021-04-09 22:37:49 -0400
committerDavid Thompson <dthompson2@worcester.edu>2021-04-09 22:45:33 -0400
commite05aa45f672eb49312449d359a9e345223741b19 (patch)
tree1a00e89b1116546c2fb93e294870f9005fea46dc /examples
parent5c919ae2dfaee36d689b2c2bedee1d2745bd2d6d (diff)
graphics: Rewrite tile map module.
Diffstat (limited to 'examples')
-rw-r--r--examples/images/serene-village.pngbin0 -> 122591 bytes
-rw-r--r--examples/images/tiles.pngbin100846 -> 0 bytes
-rw-r--r--examples/maps/example.tmx348
-rw-r--r--examples/maps/serene-village.tsx84
-rw-r--r--examples/tile-map.scm (renamed from examples/tiled.scm)59
5 files changed, 386 insertions, 105 deletions
diff --git a/examples/images/serene-village.png b/examples/images/serene-village.png
new file mode 100644
index 0000000..d94cb31
--- /dev/null
+++ b/examples/images/serene-village.png
Binary files differ
diff --git a/examples/images/tiles.png b/examples/images/tiles.png
deleted file mode 100644
index d8a3dfd..0000000
--- a/examples/images/tiles.png
+++ /dev/null
Binary files differ
diff --git a/examples/maps/example.tmx b/examples/maps/example.tmx
index 6c8bc3d..4a3a77a 100644
--- a/examples/maps/example.tmx
+++ b/examples/maps/example.tmx
@@ -1,96 +1,274 @@
<?xml version="1.0" encoding="UTF-8"?>
-<map version="1.0" tiledversion="1.1.0" orientation="orthogonal" renderorder="right-up" width="20" height="15" tilewidth="16" tileheight="16" infinite="0" nextobjectid="1">
- <tileset firstgid="1" name="tiles" tilewidth="16" tileheight="16" tilecount="1440" columns="40">
- <image source="../images/tiles.png" width="640" height="576"/>
- <terraintypes>
- <terrain name="grass" tile="0"/>
- <terrain name="dark-grass" tile="1"/>
- <terrain name="tree" tile="1"/>
- <terrain name="nothing" tile="1"/>
- </terraintypes>
- <tile id="0" terrain="0,0,0,0"/>
- <tile id="360" terrain="0,0,0,1"/>
- <tile id="361" terrain="0,0,1,0"/>
- <tile id="400" terrain="0,1,0,0"/>
- <tile id="401" terrain="1,0,0,0"/>
- <tile id="642" terrain="2,2,2,2"/>
- <tile id="643" terrain="3,2,2,2"/>
- <tile id="644" terrain="2,3,2,2"/>
- <tile id="645" terrain="3,3,3,2"/>
- <tile id="646" terrain="3,3,2,3"/>
- <tile id="648" terrain="3,3,3,3"/>
- <tile id="685" terrain="3,2,3,3"/>
- <tile id="686" terrain="2,3,3,3"/>
- <tile id="725" terrain="3,3,2,2"/>
- <tile id="1174" terrain="0,0,0,1"/>
- <tile id="1175" terrain="0,0,1,1"/>
- <tile id="1176" terrain="0,0,1,0"/>
- <tile id="1214" terrain="0,1,0,1"/>
- <tile id="1215" terrain="1,1,1,1"/>
- <tile id="1216" terrain="1,0,1,0"/>
- <tile id="1254" terrain="0,1,0,0"/>
- <tile id="1255" terrain="1,1,0,0"/>
- <tile id="1256" terrain="1,0,0,0"/>
- <tile id="1294" terrain="1,1,1,0"/>
- <tile id="1295" terrain="1,1,0,1"/>
- <tile id="1334" terrain="1,0,1,1"/>
- <tile id="1335" terrain="0,1,1,1"/>
- </tileset>
- <layer name="background" width="20" height="15">
+<map version="1.5" tiledversion="1.5.0" orientation="orthogonal" renderorder="right-down" width="50" height="50" tilewidth="32" tileheight="32" infinite="0" nextlayerid="6" nextobjectid="1">
+ <tileset firstgid="1" source="serene-village.tsx"/>
+ <layer id="1" name="Water" width="50" height="50">
<data encoding="csv">
-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1175,1176,1176,1177,1,
-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1215,1216,1216,1217,1,
-1,1,1,1,1,1175,1176,1177,1,1,1,1,1,1,1,1215,1216,1216,1217,1,
-1,1,1,1175,1176,1336,1216,1335,1177,1,1,1,1,1,1,1255,1296,1216,1217,1,
-1,1,1,1215,1216,1216,1216,1216,1335,1177,1,1,1,1,1,1,1215,1216,1217,1,
-1,1,1,1215,1216,1216,1216,1216,1216,1335,1176,1176,1176,1176,1177,1,1255,1256,1257,1,
-1,1,1,1215,1216,1216,1216,1295,1296,1216,1216,1216,1216,1216,1217,1,1,1,1,1,
-1,1,1,1255,1296,1216,1216,1217,1255,1256,1296,1216,1295,1256,1257,1,1,1,1,1,
-1,1,1,1,1255,1256,1256,1257,1,367,1255,1256,1257,365,1,1,1,1,1,1,
-446,446,446,446,446,446,446,446,446,447,212,253,253,445,446,446,446,446,446,446,
-486,486,486,486,486,486,486,486,486,527,252,213,213,525,486,486,486,486,486,526,
-566,566,566,566,566,566,566,566,566,567,252,253,253,565,566,566,566,566,566,566,
-1,1,1,1,1,1,1,1,1,1,1175,1176,1177,1,1,1,1,1,1,1,
-1,1,1,1,1,1,1,1,1,1,1215,1216,1335,1177,1,1,1,1,1,1
+210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,
+210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,
+210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,
+210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,
+210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,
+210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,
+210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,
+210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,
+210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,
+210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,
+210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,
+210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,
+210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,0,0,0,0,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,
+210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,0,0,0,0,0,0,0,0,0,0,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,
+210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,0,0,0,0,0,0,0,0,0,0,0,0,0,0,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,
+210,210,210,210,210,210,210,210,210,210,210,210,210,210,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,210,210,0,0,0,0,0,210,210,210,210,210,210,210,210,210,
+210,210,210,210,210,210,210,210,210,210,210,210,210,210,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,210,210,210,210,210,210,210,210,
+210,210,210,210,210,210,210,210,210,210,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,210,210,210,210,210,210,210,
+210,210,210,210,210,210,210,210,210,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,210,210,210,210,210,210,210,
+210,210,210,210,210,210,210,210,210,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,210,210,210,210,210,210,210,
+210,210,210,210,210,210,210,210,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,210,210,210,210,210,210,
+210,210,210,210,210,210,210,210,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,210,210,210,210,210,210,
+210,210,210,210,210,210,210,210,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,210,210,210,210,210,210,
+210,210,210,210,210,210,210,210,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,210,210,210,210,210,210,210,
+210,210,210,210,210,210,210,210,210,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,210,210,210,210,210,210,210,210,
+210,210,210,210,210,210,210,210,210,210,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,210,210,210,210,210,210,210,210,210,
+210,210,210,210,210,210,210,210,210,210,210,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,210,210,210,210,210,210,210,210,210,210,210,
+210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,210,210,210,210,210,210,210,210,210,210,210,210,210,
+210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,
+210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,
+210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,
+210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,
+210,210,210,210,210,210,210,210,210,0,0,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,0,0,0,0,0,0,0,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,
+210,210,210,210,210,0,0,0,0,0,0,210,210,210,210,210,210,210,210,210,210,210,210,210,0,0,0,0,0,0,0,0,0,0,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,
+210,210,210,210,210,0,0,0,0,0,0,0,210,210,210,210,210,210,210,210,210,210,210,0,0,0,0,0,0,0,0,0,0,0,0,0,210,210,210,210,210,210,210,210,210,210,210,210,210,210,
+210,210,210,210,0,0,0,0,0,0,0,0,0,210,210,210,210,210,210,210,210,210,210,0,0,0,0,0,0,0,0,0,0,0,0,0,210,210,210,210,210,210,210,210,210,210,210,210,210,210,
+210,210,210,0,0,0,0,0,0,0,0,0,0,0,210,210,210,210,210,210,210,210,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,210,210,210,210,210,210,210,210,210,210,210,210,210,
+210,210,210,0,0,0,0,0,0,0,0,0,0,0,210,210,210,210,210,210,210,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,210,210,210,210,210,210,210,210,210,210,210,210,210,
+210,210,210,0,0,0,0,0,0,0,0,0,0,0,0,210,210,210,210,210,210,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,210,210,210,210,210,210,210,210,210,210,210,210,210,
+210,210,210,0,0,0,0,0,0,0,0,0,0,0,0,210,210,210,210,210,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,210,210,210,210,210,210,210,210,210,210,210,210,210,
+210,210,210,0,0,0,0,0,0,0,0,0,0,0,0,0,210,210,210,210,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,210,210,210,210,210,210,210,210,210,210,210,210,210,
+210,210,0,0,0,0,0,0,0,0,0,0,0,0,0,0,210,210,210,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,210,210,210,210,210,210,210,210,210,210,210,210,210,
+210,210,0,0,0,0,0,0,0,0,0,0,0,0,0,0,210,210,210,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,210,210,210,210,210,210,210,210,210,210,210,210,210,
+210,210,0,0,0,0,0,0,0,0,0,0,0,0,0,0,210,210,210,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,210,210,210,210,210,210,210,210,210,210,210,210,210,210,
+210,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,210,210,210,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,210,210,210,210,210,210,210,210,210,210,210,210,210,210,
+210,0,0,0,0,0,0,0,0,0,0,0,0,0,0,210,210,210,210,210,210,210,210,210,210,0,0,0,0,0,0,0,0,0,0,0,210,210,210,210,210,210,210,210,210,210,210,210,210,210,
+210,210,210,0,0,0,0,0,0,0,0,0,0,0,210,210,210,210,210,210,210,210,210,210,210,210,0,0,0,0,0,0,0,0,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,
+210,210,210,210,210,210,210,0,0,0,0,0,0,0,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,
+210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,
+210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210
</data>
</layer>
- <layer name="overlay" width="20" height="15">
+ <layer id="2" name="Land" width="50" height="50">
<data encoding="csv">
-685,685,685,685,685,685,685,685,685,685,685,685,685,685,685,685,685,685,685,685,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,646,647,0,0,0,0,
-0,646,647,483,0,0,484,321,0,7,8,9,10,11,686,687,0,0,0,0,
-0,686,687,0,444,0,827,0,321,47,48,49,50,51,0,0,0,0,0,0,
-0,321,0,484,0,828,867,829,0,87,88,89,90,91,0,0,0,0,0,0,
-0,0,483,0,0,868,0,869,0,127,128,129,130,131,646,647,0,0,0,0,
-0,483,483,321,0,0,0,0,0,167,168,169,170,171,686,687,0,0,646,647,
-0,0,444,0,0,0,0,0,73,0,0,0,0,0,483,0,484,0,686,687,
-646,647,321,0,0,0,0,0,113,0,0,0,0,0,73,444,483,0,0,0,
-686,687,483,0,484,321,484,0,444,0,528,0,0,0,113,483,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,116,0,0,0,0,0,0,
-606,606,606,606,606,606,606,606,606,322,608,0,0,605,606,606,606,606,606,606,
-0,0,0,0,0,0,0,0,483,484,0,0,0,0,0,0,0,0,0,0
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,81,84,84,83,85,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,84,82,81,84,21,5,47,4,24,22,85,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,83,81,21,100,101,101,103,47,43,101,4,62,103,22,85,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,80,84,84,84,21,62,4,101,102,43,100,6,62,102,46,62,103,4,5,22,82,85,80,83,82,83,82,84,85,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,99,62,5,24,101,62,24,102,103,4,103,62,62,102,24,5,43,62,6,6,4,22,21,6,4,100,102,103,22,85,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,80,82,84,81,21,24,100,46,62,101,4,46,6,43,46,100,24,102,46,101,6,102,46,103,62,43,62,103,103,102,24,6,47,22,85,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,80,21,6,102,6,24,46,6,102,43,103,6,6,5,24,6,43,103,62,62,47,43,103,46,47,103,5,62,24,100,5,24,5,103,46,104,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,99,24,46,47,4,6,102,102,43,43,103,24,5,103,46,46,4,62,5,62,102,101,101,5,43,102,101,46,47,46,4,101,43,102,100,104,0,0,0,0,0,0,
+0,0,0,0,0,0,0,80,21,5,24,47,5,100,101,102,5,103,6,24,44,65,65,42,46,5,24,46,5,24,5,6,24,100,62,46,62,6,101,46,47,100,100,22,85,0,0,0,0,0,
+0,0,0,0,0,0,0,99,103,101,102,47,46,46,102,100,100,46,43,43,48,49,49,64,65,65,66,66,65,66,66,42,100,5,6,102,6,4,100,24,101,102,62,100,104,0,0,0,0,0,
+0,0,0,0,0,0,0,99,101,6,47,6,102,100,43,47,62,43,100,43,48,49,49,49,49,49,49,49,49,49,49,64,42,100,101,43,5,4,46,5,24,4,46,46,104,0,0,0,0,0,
+0,0,0,0,0,0,0,99,103,47,47,103,103,103,24,43,62,44,66,66,67,49,49,49,49,49,49,49,49,49,49,49,64,66,42,46,43,5,102,101,4,46,5,46,104,0,0,0,0,0,
+0,0,0,0,0,0,0,99,47,47,4,100,46,5,43,5,101,25,28,27,27,28,27,28,28,27,28,28,29,49,49,49,49,49,45,100,102,4,24,46,62,5,24,41,123,0,0,0,0,0,
+0,0,0,0,0,0,0,118,40,47,5,101,101,24,6,101,4,103,62,24,47,102,4,4,6,5,5,46,48,26,27,28,27,27,23,6,5,6,46,24,24,5,41,123,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,118,40,5,102,102,4,47,102,46,5,47,5,62,103,62,100,4,100,46,47,48,45,100,43,102,5,43,102,62,46,6,62,4,41,123,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,118,40,100,24,4,43,24,100,43,102,102,100,101,46,4,100,4,5,62,25,23,5,102,47,101,4,6,102,47,5,41,120,123,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,118,119,119,120,119,122,121,120,40,24,102,24,47,4,46,24,62,62,5,43,5,101,101,102,4,101,43,41,119,123,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,118,119,121,121,120,120,121,119,122,121,121,122,121,121,119,40,101,41,121,123,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,118,122,123,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,80,82,81,85,0,0,0,0,0,0,0,0,0,0,0,0,0,80,83,81,84,84,81,83,82,85,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,80,84,81,81,21,47,4,104,0,0,0,0,0,0,0,0,0,0,0,80,84,21,46,100,46,6,6,4,62,22,85,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,99,101,46,43,24,6,100,22,85,0,0,0,0,0,0,0,0,0,80,21,24,44,66,66,65,42,47,6,5,43,22,82,85,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,80,21,47,102,62,47,102,24,102,22,85,0,0,0,0,0,0,0,0,99,46,4,48,49,49,49,61,103,100,24,43,102,62,104,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,80,21,102,47,5,62,47,102,6,6,47,22,85,0,0,0,0,0,0,80,21,103,43,63,49,26,27,23,43,101,46,100,62,47,22,85,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,99,101,101,62,43,103,62,103,47,62,43,4,104,0,0,0,0,0,80,21,5,4,4,63,49,61,100,100,6,4,4,5,101,4,101,104,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,99,5,102,100,4,5,6,43,43,24,43,4,22,85,0,0,0,0,99,5,100,100,100,63,49,45,102,101,24,5,102,62,62,100,24,104,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,99,100,62,43,100,24,6,102,100,46,24,6,5,104,0,0,0,80,21,46,46,5,62,63,49,61,103,102,47,46,101,5,24,103,47,104,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,99,100,24,43,103,5,47,62,43,46,100,43,47,22,85,0,0,99,100,100,47,62,103,63,49,61,46,5,24,46,5,102,102,101,46,104,0,0,0,0,0,0,0,0,0,0,0,0,
+0,80,21,103,103,44,65,66,65,42,47,24,102,5,6,46,104,0,80,21,5,102,43,6,103,63,49,45,4,5,46,43,100,47,62,5,24,104,0,0,0,0,0,0,0,0,0,0,0,0,
+0,99,101,24,44,67,49,49,49,64,66,65,66,65,65,42,104,0,99,44,66,65,66,65,66,67,49,45,24,4,24,4,46,103,102,101,46,104,0,0,0,0,0,0,0,0,0,0,0,0,
+0,99,46,101,63,49,49,49,49,49,49,49,49,49,49,45,104,0,99,63,49,49,49,49,49,49,49,45,46,100,103,101,62,6,101,102,101,104,0,0,0,0,0,0,0,0,0,0,0,0,
+80,21,46,4,48,49,49,49,49,49,26,28,28,28,28,23,104,0,99,25,28,28,28,28,27,28,27,23,100,62,6,103,6,24,24,24,41,123,0,0,0,0,0,0,0,0,0,0,0,0,
+99,100,102,24,25,29,49,49,49,49,45,62,43,103,62,100,104,0,99,4,101,103,100,5,101,43,46,43,100,4,43,103,43,103,103,5,104,0,0,0,0,0,0,0,0,0,0,0,0,0,
+99,43,5,46,103,25,28,28,28,28,23,102,102,43,46,41,123,0,118,121,120,122,119,121,40,6,100,101,24,24,46,4,24,46,24,103,104,0,0,0,0,0,0,0,0,0,0,0,0,0,
+118,121,40,4,101,5,46,4,100,103,24,47,4,6,41,123,0,0,0,0,0,0,0,0,118,40,101,62,100,102,47,24,46,46,41,119,123,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,118,122,122,120,40,100,6,47,62,100,46,47,104,0,0,0,0,0,0,0,0,0,0,118,120,122,122,122,122,121,120,120,123,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,118,121,119,119,122,122,120,122,123,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
</data>
</layer>
- <layer name="overoverlay" width="20" height="15">
+ <layer id="5" name="Decoration Under" width="50" height="50">
<data encoding="csv">
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,450,451,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,490,491,0,0,0,0,0,45,46,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,85,86,0,0,0,0
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,290,291,0,0,0,291,290,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,309,0,0,0,0,0,309,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,309,0,0,0,0,0,309,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,328,329,312,0,329,329,328,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,290,291,0,0,0,291,290,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,309,0,0,0,0,0,311,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,290,291,0,0,0,291,291,292,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,309,0,0,0,0,0,311,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,309,0,0,0,0,0,0,311,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,328,329,0,0,329,329,330,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,309,0,0,0,0,0,0,311,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,328,329,329,0,329,329,329,330,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+</data>
+ </layer>
+ <layer id="3" name="Buildings" width="50" height="50">
+ <data encoding="csv">
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,410,411,412,413,414,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,429,430,431,432,433,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,552,553,554,0,0,0,0,0,0,448,449,450,451,452,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,571,572,573,0,0,0,0,0,0,467,468,469,470,471,0,0,0,0,0,710,711,712,713,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,590,591,592,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,729,730,731,732,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,609,610,611,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,748,749,750,751,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,767,768,769,770,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,68,69,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,87,88,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,127,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,127,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,106,107,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,125,126,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,628,629,630,631,632,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,647,648,649,650,651,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,785,786,787,788,789,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,666,667,668,669,670,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,804,805,806,807,808,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,685,686,687,688,689,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,823,824,825,826,827,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,842,843,844,845,846,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,70,71,72,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,89,90,91,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,108,109,110,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+</data>
+ </layer>
+ <layer id="4" name="Decoration Over" width="50" height="50">
+ <data encoding="csv">
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,269,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,269,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,368,369,0,368,369,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,233,0,0,0,234,0,0,0,234,0,0,0,0,0,0,0,97,0,0,0,0,0,0,236,0,0,0,0,236,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,234,348,0,348,234,0,0,0,0,0,0,0,0,0,0,0,0,0,0,236,0,0,0,0,236,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,270,0,0,0,0,97,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,236,350,0,366,367,236,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,233,96,289,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,97,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,115,116,117,233,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,115,117,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,250,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,232,0,0,0,0,0,0,250,0,0,0,646,719,646,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,665,0,665,0,0,0,0,0,0,0,269,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,274,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,352,353,354,355,356,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,371,372,373,374,375,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,390,391,392,393,394,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,236,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,368,369,0,368,369,0,0,0,0,0,0,0,0,0,0,0,0,269,0,0,0,0,236,0,0,0,0,0,0,347,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,331,97,0,0,0,0,0,0,0,0,0,0,0,0,0,0,305,306,0,0,0,236,0,366,367,0,366,367,347,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,275,0,0,0,0,0,0,0,382,324,325,0,0,0,236,0,0,0,97,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,97,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,115,115,97,97,117,0,269,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,250,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,269,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,250,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,250,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
</data>
</layer>
</map>
diff --git a/examples/maps/serene-village.tsx b/examples/maps/serene-village.tsx
new file mode 100644
index 0000000..aec16da
--- /dev/null
+++ b/examples/maps/serene-village.tsx
@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<tileset version="1.5" tiledversion="1.5.0" name="Serene Village" tilewidth="32" tileheight="32" tilecount="855" columns="19">
+ <image source="../images/serene-village.png" width="608" height="1440"/>
+ <tile id="209">
+ <animation>
+ <frame tileid="209" duration="100"/>
+ <frame tileid="210" duration="100"/>
+ <frame tileid="211" duration="100"/>
+ <frame tileid="212" duration="100"/>
+ <frame tileid="213" duration="100"/>
+ <frame tileid="214" duration="100"/>
+ <frame tileid="215" duration="100"/>
+ <frame tileid="216" duration="100"/>
+ <frame tileid="217" duration="100"/>
+ <frame tileid="218" duration="100"/>
+ <frame tileid="219" duration="100"/>
+ <frame tileid="220" duration="100"/>
+ <frame tileid="221" duration="100"/>
+ <frame tileid="222" duration="100"/>
+ </animation>
+ </tile>
+ <tile id="718">
+ <animation>
+ <frame tileid="718" duration="100"/>
+ <frame tileid="719" duration="100"/>
+ <frame tileid="720" duration="100"/>
+ <frame tileid="721" duration="100"/>
+ </animation>
+ </tile>
+ <wangsets>
+ <wangset name="Unnamed Set" type="corner" tile="-1">
+ <wangcolor name="Grass" color="#ff0000" tile="-1" probability="1"/>
+ <wangcolor name="Water" color="#00ff00" tile="-1" probability="1"/>
+ <wangcolor name="Dirt" color="#0000ff" tile="-1" probability="1"/>
+ <wangtile tileid="3" wangid="0,1,0,1,0,1,0,1"/>
+ <wangtile tileid="4" wangid="0,1,0,1,0,1,0,1"/>
+ <wangtile tileid="5" wangid="0,1,0,1,0,1,0,1"/>
+ <wangtile tileid="20" wangid="0,1,0,1,0,1,0,0"/>
+ <wangtile tileid="21" wangid="0,0,0,1,0,1,0,1"/>
+ <wangtile tileid="22" wangid="0,1,0,1,0,1,0,3"/>
+ <wangtile tileid="23" wangid="0,1,0,1,0,1,0,1"/>
+ <wangtile tileid="24" wangid="0,3,0,1,0,1,0,1"/>
+ <wangtile tileid="25" wangid="0,3,0,1,0,3,0,3"/>
+ <wangtile tileid="26" wangid="0,3,0,1,0,1,0,3"/>
+ <wangtile tileid="27" wangid="0,3,0,1,0,1,0,3"/>
+ <wangtile tileid="28" wangid="0,3,0,3,0,1,0,3"/>
+ <wangtile tileid="39" wangid="0,1,0,1,0,0,0,1"/>
+ <wangtile tileid="40" wangid="0,1,0,0,0,1,0,1"/>
+ <wangtile tileid="41" wangid="0,1,0,1,0,3,0,1"/>
+ <wangtile tileid="42" wangid="0,1,0,1,0,1,0,1"/>
+ <wangtile tileid="43" wangid="0,1,0,3,0,1,0,1"/>
+ <wangtile tileid="44" wangid="0,1,0,1,0,3,0,3"/>
+ <wangtile tileid="45" wangid="0,1,0,1,0,1,0,1"/>
+ <wangtile tileid="46" wangid="0,1,0,1,0,1,0,1"/>
+ <wangtile tileid="47" wangid="0,3,0,3,0,1,0,1"/>
+ <wangtile tileid="48" wangid="0,3,0,3,0,3,0,3"/>
+ <wangtile tileid="60" wangid="0,1,0,1,0,3,0,3"/>
+ <wangtile tileid="61" wangid="0,1,0,1,0,1,0,1"/>
+ <wangtile tileid="62" wangid="0,3,0,3,0,1,0,1"/>
+ <wangtile tileid="63" wangid="0,1,0,3,0,3,0,3"/>
+ <wangtile tileid="64" wangid="0,1,0,3,0,3,0,1"/>
+ <wangtile tileid="65" wangid="0,1,0,3,0,3,0,1"/>
+ <wangtile tileid="66" wangid="0,3,0,3,0,3,0,1"/>
+ <wangtile tileid="79" wangid="0,0,0,1,0,0,0,0"/>
+ <wangtile tileid="80" wangid="0,0,0,1,0,1,0,0"/>
+ <wangtile tileid="81" wangid="0,0,0,1,0,1,0,0"/>
+ <wangtile tileid="82" wangid="0,0,0,1,0,1,0,0"/>
+ <wangtile tileid="83" wangid="0,0,0,1,0,1,0,0"/>
+ <wangtile tileid="84" wangid="0,0,0,0,0,1,0,0"/>
+ <wangtile tileid="98" wangid="0,1,0,1,0,0,0,0"/>
+ <wangtile tileid="99" wangid="0,1,0,1,0,1,0,1"/>
+ <wangtile tileid="100" wangid="0,1,0,1,0,1,0,1"/>
+ <wangtile tileid="101" wangid="0,1,0,1,0,1,0,1"/>
+ <wangtile tileid="102" wangid="0,1,0,1,0,1,0,1"/>
+ <wangtile tileid="103" wangid="0,0,0,0,0,1,0,1"/>
+ <wangtile tileid="117" wangid="0,1,0,0,0,0,0,0"/>
+ <wangtile tileid="118" wangid="0,1,0,0,0,0,0,1"/>
+ <wangtile tileid="119" wangid="0,1,0,0,0,0,0,1"/>
+ <wangtile tileid="120" wangid="0,1,0,0,0,0,0,1"/>
+ <wangtile tileid="121" wangid="0,1,0,0,0,0,0,1"/>
+ <wangtile tileid="122" wangid="0,0,0,0,0,0,0,1"/>
+ </wangset>
+ </wangsets>
+</tileset>
diff --git a/examples/tiled.scm b/examples/tile-map.scm
index c528f74..52d6b94 100644
--- a/examples/tiled.scm
+++ b/examples/tile-map.scm
@@ -3,11 +3,13 @@
(chickadee math rect)
(chickadee graphics color)
(chickadee graphics font)
- (chickadee graphics tiled)
+ (chickadee graphics tile-map)
(ice-9 format)
(ice-9 match)
(srfi srfi-11))
+(define window-width 960)
+(define window-height 540)
(define map #f)
(define prev-camera (vec2 0.0 0.0))
(define camera (vec2 0.0 0.0))
@@ -20,12 +22,12 @@
(define start-time 0.0)
(define avg-frame-time 16)
(define stats-text (stats-message))
-(define stats-text-pos (vec2 4.0 464.0))
+(define stats-text-pos (vec2 4.0 (- window-height 16.0)))
(define last-update start-time)
(define scroll-speed 6.0)
(define (load)
- (set! map (load-tile-map "maps/example.tmx")))
+ (set! map (load-tile-map "maps/example3.tmx")))
(define (draw alpha)
;; Linearly interpolate between the current camera position and the
@@ -34,11 +36,13 @@
;; loop does not render in lock-step with updates.
(let ((beta (- 1.0 alpha)))
(set-vec2-x! render-camera
- (+ (* (vec2-x camera) alpha)
- (* (vec2-x prev-camera) beta)))
+ (round
+ (+ (* (vec2-x camera) alpha)
+ (* (vec2-x prev-camera) beta))))
(set-vec2-y! render-camera
- (+ (* (vec2-y camera) alpha)
- (* (vec2-y prev-camera) beta))))
+ (round
+ (+ (* (vec2-y camera) alpha)
+ (* (vec2-y prev-camera) beta)))))
(draw-tile-map map #:camera render-camera)
(draw-text text text-position #:color black)
(draw-text stats-text stats-text-pos #:color black)
@@ -47,20 +51,36 @@
(+ (* (- current-time start-time) 0.1)
(* avg-frame-time 0.9)))
(set! start-time current-time)
- (when (>= (- current-time last-update) 1000)
+ (when (>= (- current-time last-update) 1.0)
(set! stats-text (stats-message))
(set! last-update current-time))))
+(define (refresh-tile-coords x y)
+ (call-with-values (lambda ()
+ (point->tile map
+ (+ x (vec2-x camera))
+ (+ y (vec2-y camera))))
+ (lambda (tx ty)
+ (set! text (format #f "~d, ~d" tx ty)))))
+
(define (update dt)
(vec2-copy! camera prev-camera)
- (set-vec2-x! camera
- (+ (vec2-x camera)
- (if (key-pressed? 'right) scroll-speed 0.0)
- (if (key-pressed? 'left) (- scroll-speed) 0.0)))
- (set-vec2-y! camera
- (+ (vec2-y camera)
- (if (key-pressed? 'up) scroll-speed 0.0)
- (if (key-pressed? 'down) (- scroll-speed) 0.0))))
+ (set-vec2! camera
+ (min (max (+ (vec2-x camera)
+ (if (key-pressed? 'right) scroll-speed 0.0)
+ (if (key-pressed? 'left) (- scroll-speed) 0.0))
+ 0.0)
+ (- (* (tile-map-width map) (tile-map-tile-width map))
+ window-width))
+ (min (max (+ (vec2-y camera)
+ (if (key-pressed? 'up) scroll-speed 0.0)
+ (if (key-pressed? 'down) (- scroll-speed) 0.0))
+ 0.0)
+ (- (* (tile-map-height map) (tile-map-tile-height map))
+ window-height)))
+ (when (or (key-pressed? 'left) (key-pressed? 'right)
+ (key-pressed? 'down) (key-pressed? 'up))
+ (refresh-tile-coords (mouse-x) (mouse-y))))
(define (key-press key modifiers repeat?)
(match key
@@ -68,11 +88,10 @@
(_ #t)))
(define (mouse-move x y x-rel y-rel buttons)
- (let-values (((tx ty) (point->tile map (- x (vec2-x camera)) (- y (vec2-y camera)))))
- (set! text (format #f "~d, ~d" tx ty))))
+ (refresh-tile-coords x y))
-(run-game #:window-width 640
- #:window-height 480
+(run-game #:window-width window-width
+ #:window-height window-height
#:window-title "tile map demo"
#:load load
#:draw draw