From c610e889d62cb96d0d6e0d76e9dc3ec29695fc82 Mon Sep 17 00:00:00 2001
From: Per Lindgren <per.lindgren@ltu.se>
Date: Mon, 16 Aug 2021 21:58:20 +0200
Subject: [PATCH] changes

---
 Cargo.lock            |  96 +++++++++++++++----------
 Cargo.toml            |   9 ++-
 assets/Dungeon.piskel |   2 +-
 assets/Dungeon.png    | Bin 1944 -> 6303 bytes
 assets/Dungeon.tmx    |  98 +++++++++++++++-----------
 src/main.rs           | 158 +++++++++++++++++-------------------------
 6 files changed, 185 insertions(+), 178 deletions(-)

diff --git a/Cargo.lock b/Cargo.lock
index 8cf8a85..fea9995 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -113,9 +113,9 @@ dependencies = [
 
 [[package]]
 name = "anyhow"
-version = "1.0.42"
+version = "1.0.43"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "595d3cfa7a60d4555cb5067b99f07142a08ea778de5cf993f7b75c7d8fabc486"
+checksum = "28ae2b3dec75a406790005a200b1bd89785afc02517a00ca99ecfe093ee9e6cf"
 
 [[package]]
 name = "approx"
@@ -384,7 +384,6 @@ dependencies = [
 [[package]]
 name = "bevy_ecs_tilemap"
 version = "0.4.1"
-source = "git+https://github.com/perlindgren/bevy_ecs_tilemap?branch=rotate#36b6c80c60010b281c526c244abdacf8ee24b116"
 dependencies = [
  "anyhow",
  "bevy",
@@ -1118,14 +1117,14 @@ dependencies = [
 
 [[package]]
 name = "cpal"
-version = "0.13.3"
+version = "0.13.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8351ddf2aaa3c583fa388029f8b3d26f3c7035a20911fdd5f2e2ed7ab57dad25"
+checksum = "98f45f0a21f617cd2c788889ef710b63f075c949259593ea09c826f1e47a2418"
 dependencies = [
  "alsa",
- "core-foundation-sys 0.6.2",
+ "core-foundation-sys 0.8.2",
  "coreaudio-rs",
- "jni",
+ "jni 0.19.0",
  "js-sys",
  "lazy_static",
  "libc",
@@ -1313,9 +1312,9 @@ dependencies = [
 
 [[package]]
 name = "filetime"
-version = "0.2.14"
+version = "0.2.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1d34cfa13a63ae058bfa601fe9e313bbdb3746427c1459185464ce0fcf62e1e8"
+checksum = "975ccf83d8d9d0d84682850a38c8169027be83368805971cc4f238c2b245bc98"
 dependencies = [
  "cfg-if 1.0.0",
  "libc",
@@ -1741,9 +1740,9 @@ dependencies = [
 
 [[package]]
 name = "guillotiere"
-version = "0.6.1"
+version = "0.6.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9253eedea82720b2bc91fe831c9ce3a31299955ed5eb19b9ed600a625b686212"
+checksum = "b62d5865c036cb1393e23c50693df631d3f5d7bcca4c04fe4cc0fd592e74a782"
 dependencies = [
  "euclid",
  "svg_fmt",
@@ -1919,6 +1918,20 @@ dependencies = [
  "walkdir",
 ]
 
+[[package]]
+name = "jni"
+version = "0.19.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c6df18c2e3db7e453d3c6ac5b3e9d5182664d28788126d39b91f2d1e22b017ec"
+dependencies = [
+ "cesu8",
+ "combine",
+ "jni-sys",
+ "log",
+ "thiserror",
+ "walkdir",
+]
+
 [[package]]
 name = "jni-sys"
 version = "0.3.0"
@@ -1927,9 +1940,9 @@ checksum = "8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130"
 
 [[package]]
 name = "jobserver"
-version = "0.1.22"
+version = "0.1.23"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "972f5ae5d1cb9c6ae417789196c803205313edde988685da5e3aae0827b9e7fd"
+checksum = "f5ca711fd837261e14ec9e674f092cbb931d3fa1482b017ae59328ddc6f3212b"
 dependencies = [
  "libc",
 ]
@@ -1977,9 +1990,9 @@ checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55"
 
 [[package]]
 name = "libc"
-version = "0.2.98"
+version = "0.2.99"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "320cfe77175da3a483efed4bc0adc1968ca050b098ce4f2f1c13a56626128790"
+checksum = "a7f823d141fe0a24df1e23b4af4e3c7ba9e5966ec514ea068c93024aa7deb765"
 
 [[package]]
 name = "libflate"
@@ -2101,6 +2114,15 @@ version = "2.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "b16bd47d9e329435e309c58469fe0791c2d0d1ba96ec0954152a5ae2b04387dc"
 
+[[package]]
+name = "memoffset"
+version = "0.6.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "59accc507f1338036a0477ef61afdae33cde60840f4dfe481319ce3ad116ddf9"
+dependencies = [
+ "autocfg",
+]
+
 [[package]]
 name = "metal"
 version = "0.21.0"
@@ -2255,7 +2277,7 @@ checksum = "8794322172319b972f528bf90c6b467be0079f1fa82780ffb431088e741a73ab"
 dependencies = [
  "jni-sys",
  "ndk-sys",
- "num_enum 0.5.2",
+ "num_enum 0.5.3",
  "thiserror",
 ]
 
@@ -2320,14 +2342,15 @@ dependencies = [
 
 [[package]]
 name = "nix"
-version = "0.20.0"
+version = "0.20.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fa9b4819da1bc61c0ea48b63b7bc8604064dd43013e7cc325df098d49cd7c18a"
+checksum = "df8e5e343312e7fbeb2a52139114e9e702991ef9c2aea6817ff2440b35647d56"
 dependencies = [
  "bitflags",
  "cc",
  "cfg-if 1.0.0",
  "libc",
+ "memoffset",
 ]
 
 [[package]]
@@ -2488,12 +2511,12 @@ dependencies = [
 
 [[package]]
 name = "num_enum"
-version = "0.5.2"
+version = "0.5.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e5adf0198d427ee515335639f275e806ca01acf9f07d7cf14bb36a10532a6169"
+checksum = "ee2c8fd66061a707503d515639b8af10fd3807a5b5ee6959f7ff1bd303634bd5"
 dependencies = [
  "derivative",
- "num_enum_derive 0.5.2",
+ "num_enum_derive 0.5.3",
 ]
 
 [[package]]
@@ -2510,9 +2533,9 @@ dependencies = [
 
 [[package]]
 name = "num_enum_derive"
-version = "0.5.2"
+version = "0.5.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b1def5a3f69d4707d8a040b12785b98029a39e8c610ae685c7f6265669767482"
+checksum = "474fd1d096da3ad17084694eebed40ba09c4a36c5255cd772bd8b98859cc562e"
 dependencies = [
  "proc-macro-crate 1.0.0",
  "proc-macro2",
@@ -2545,7 +2568,7 @@ version = "0.4.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "dfa187b38ae20374617b7ad418034ed3dc90ac980181d211518bd03537ae8f8d"
 dependencies = [
- "jni",
+ "jni 0.18.0",
  "ndk 0.3.0",
  "ndk-glue 0.3.0",
  "num-derive",
@@ -2760,9 +2783,9 @@ checksum = "831eb2fcb5b72b09c72a3f2d24c09a28d79886512827cd4674d9bac10557f16a"
 
 [[package]]
 name = "redox_syscall"
-version = "0.2.9"
+version = "0.2.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5ab49abadf3f9e1c4bc499e8845e152ad87d2ad2d30371841171169e9d75feee"
+checksum = "8383f39639269cde97d255a32bdb68c047337295414940c68bdd30c2e13203ff"
 dependencies = [
  "bitflags",
 ]
@@ -2947,9 +2970,9 @@ dependencies = [
 
 [[package]]
 name = "sharded-slab"
-version = "0.1.1"
+version = "0.1.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "79c719719ee05df97490f80a45acfc99e5a30ce98a1e4fb67aee422745ae14e3"
+checksum = "740223c51853f3145fe7c90360d2d4232f2b62e3449489c207eccde818979982"
 dependencies = [
  "lazy_static",
 ]
@@ -2962,9 +2985,9 @@ checksum = "7fdf1b9db47230893d76faad238fd6097fd6d6a9245cd7a4d90dbd639536bbd2"
 
 [[package]]
 name = "slab"
-version = "0.4.3"
+version = "0.4.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f173ac3d1a7e3b28003f40de0b5ce7fe2710f9b9dc3fc38664cebee46b3b6527"
+checksum = "c307a32c1c5c437f38c7fd45d753050587732ba8628319fbdf12a7e289ccc590"
 
 [[package]]
 name = "slice-deque"
@@ -3020,9 +3043,9 @@ dependencies = [
 
 [[package]]
 name = "spirv-std-macros"
-version = "0.4.0-alpha.10"
+version = "0.4.0-alpha.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8b9b334f272ad19ae3e071b0d9d3ca275843c77b39f85e29d3908fa2fb6a7cb8"
+checksum = "207e8515dfbb48bff03f64bf5f8388d4e0f2f526ee769cc6556df98477098ca5"
 dependencies = [
  "heck",
  "proc-macro2",
@@ -3033,9 +3056,9 @@ dependencies = [
 
 [[package]]
 name = "spirv-types"
-version = "0.4.0-alpha.10"
+version = "0.4.0-alpha.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1cfb357212185d2175e5f92c35902f0dc7590cd05121239b22251d360ef01c53"
+checksum = "71cc4b8f7ec707459fdeddb4f137109947045592f5b0c139f7bf1360058bac6b"
 
 [[package]]
 name = "spirv_cross"
@@ -3209,9 +3232,8 @@ checksum = "7572415bd688d401c52f6e36f4c8e805b9ae1622619303b9fa835d531db0acae"
 
 [[package]]
 name = "tiled"
-version = "0.9.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8c9b76189425fed476c9cb0e2a97adb0c6c9d370bf69a57cb951814e77a5fe63"
+version = "0.9.6"
+source = "git+https://github.com/perlindgren/rs-tiled?branch=parallax#8e62df52ead53976c1587ce2cb50043176f16cb0"
 dependencies = [
  "base64 0.10.1",
  "libflate",
diff --git a/Cargo.toml b/Cargo.toml
index cea0fe1..353b620 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -7,9 +7,14 @@ edition = "2018"
 
 [dependencies]
 bevy = { version = "0.5.0", features = ["dynamic"] }
-bevy_ecs_tilemap = { git = "https://github.com/perlindgren/bevy_ecs_tilemap", branch = "rotate", version = "0.4.1", features = ["tiled_map"]} 
+# bevy_ecs_tilemap = { git = "https://github.com/perlindgren/bevy_ecs_tilemap", branch = "rotate", version = "0.4.1", features = ["tiled_map"]} 
+# bevy_ecs_tilemap = { git = "https://github.com/perlindgren/bevy_ecs_tilemap", branch = "tiled_animation", version = "0.4.0", features = ["tiled_map"]} 
+# bevy_ecs_tilemap = { git = "https://github.com/perlindgren/bevy_ecs_tilemap", branch = "animation_and_rotation", version = "0.4.1", features = ["tiled_map"]} 
+bevy_ecs_tilemap = { path = "../bevydev/bevy_ecs_tilemap", features = [
+    "tiled_map",
+] }
 rand = "0.8.4"
 env_logger = "0.9"
 log = "0.4"
 
-# bevy = { version = "0.5.0" }
\ No newline at end of file
+# bevy = { version = "0.5.0" }
diff --git a/assets/Dungeon.piskel b/assets/Dungeon.piskel
index ecbf4ce..e951ef3 100644
--- a/assets/Dungeon.piskel
+++ b/assets/Dungeon.piskel
@@ -1 +1 @@
-{"modelVersion":2,"piskel":{"name":"Dungeon","description":"","fps":12,"height":160,"width":160,"layers":["{\"name\":\"Layer 1\",\"opacity\":1,\"frameCount\":1,\"chunks\":[{\"layout\":[[0]],\"base64PNG\":\"data:image/png;base64,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\"}]}"]}}
\ No newline at end of file
+{"modelVersion":2,"piskel":{"name":"Dungeon","description":"","fps":12,"height":160,"width":160,"layers":["{\"name\":\"Layer 1\",\"opacity\":1,\"frameCount\":1,\"chunks\":[{\"layout\":[[0]],\"base64PNG\":\"data:image/png;base64,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\"}]}"]}}
\ No newline at end of file
diff --git a/assets/Dungeon.png b/assets/Dungeon.png
index abfba06928a05b0d6e661f14df9cb441f55c3b9c..24b0fce1ff8f2ea5e58125d6e123bb7fe169173a 100644
GIT binary patch
literal 6303
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

literal 1944
zcmeAS@N?(olHy`uVBq!ia0y~yU|0ac9Bd2>4Bh9`br~4g<2+p)Ln`9l&hb4h<0{gc
zuEH(Kqq4~9gquqYt6+W0kI8=pA00{+FjriV)WRYpt~fEPsNL(LeCSo%%gg)E=cv8^
zeeL+p?>0N{h6Z1Le)(m|uWz&E?=Sm4ef|6;+aG@YIJf=q`JdJIp53&spYyNo+jGlb
z?)Nj|`-&xh+_iu9%f9~Ovy$(V`P-)LTox04Z@<j!`Tdg{i<|V#e|}xfzT8^gc5bi2
z*2;hH^_^$8&#(P2r(yb6*ydx`zhvQO3eOCleLh~_^mvKP(n_{-@%3LbR@A+m+LK$U
z%JKgG@1!lK??f=>GssN+b~4_6{=2##v0GbA_!z>LdvAKUl*uhLlT{&f!-@qfH*NjK
z->_I~+c$Ox&vmO@_p&FHt}o~P%r)cibiIeBS53b5dw&S}>YZC`vAByVVRd%Y+jj2)
z|F7POEDfpu!x(~D=dPZoT4PvV#qOZHAnK}4*a6EKi<(p$vb5s#^x}{BFiJe=Wt0$L
zN?83g>aBkF1jB|TQybQBzJ%9G%UB9>`h*Sy@plX8&ZxSg6Lw&wBlCh9(K|t`*$h29
znOzv(Y>e1_UZuhNd!c2+#_!j;9~4;DeoQk7HuR5bQ1Sh_S4lKLdYx41<mnF#89rBU
zjAJ-$m?WM4N@z|K$B#?<nH|Contpq=edb<vou}s+BZRZ!&L#<NWO;Don)feRhHEJ?
z`_HCIr+H>^#yd=S$Cz#RRl|J7X)Y_X|2OW%_b@kj_sKqf?<;C>zy37in^?x>bsIZY
z?yTo|@#)GY-eR5$%R=Va@BRPt_KKwB=_fWNM>YoC|Flo%*OTd|cA6ZOsGPki|4+<6
zIR<{dgh}%i-f${6e*UpNp1q^`7rRaN@9$@P<$HNz&V5$3)P2tATxa!v`uDk3{1R_Z
zRc7h!4gTI9V$a)gZN&>aeu>$KR2xj6GZr7rX7G8;@KEaa_xHOi<TmX2C~vJdRX*V?
z|LkK*%Imv+-jD8!b6xf6ucz6f@9Y_Cn?j#6em+?ou>63QxTWnQ#trJ(yJ~mYbKkR8
z`NsIYEMfM~@VV?h@iMc1@svwfUS7=bV5@P>?2qEw4=ycixqU)rerxps+s*sW-dTN)
zIZt_Eok(Bu)#tA?bj7t71Sv4Acyi1vYS($@JmcEi8gtllPG1*{GM~$ShI!Xhrj$3U
z8Fifc8m@0T_Uy93Y3ID_NpCoLWjyZc?dMYFo&I3&wxB3sgEEC_{g0wHuecglBseL2
z-_FIqG^aAGU=3M4>n`J*Uu!DgEVkuavhCLD`*q*FKfL#^kE)#)V1HI)&Zz@GPqW*X
z$f|{UW->*%a$DUpE)ZontuMUw^s4ua4PSQ#<y10$nD)CWT8)We`<Z8Nk4rK19Df*B
zY^`SRxc8|ILq&DQwmBb}63z>+i)vv=@ZR>%KDRxzfb07$hPc(If*AXGUk5Nwmpd$`
zs5Ot5#etb2+bN($|0UZ2sqZDXL-G$ZELhj+9u~&>V5^uwv`Qb>4p*`7(#e7cK5@S&
z=AWdqzprv_tNT1XhCBT8bko)`8O*CQ*j^uA_e=0Y>j~ZO{}>9mUz;9V!L~tkfy{x5
zXFl(fEuICrvR+|W8SX0Du=jxqNA<(ie{Ccgs@GnBVa}cK_TPh90a@pmpFRFubHMcG
zwb#2N7}x90{M>N;+=g#IRx>^kT9Lb9mlZ=u`H2{LhFQ{U<m4DuS*NVyXE@6n#?Q}i
zRo3V_d&4uf)$QyJulQ!ZW_BoUzIvG1p|t(XSH=Z9559WHxL}v_vtJAs?j(Huzz}d(
zvAC8YBX2`h1;dJW6L#9oTbqvHFqoJ}*xJy{u2JLhM8wbwod1k-*@f?JUa(~v0|Ntt
Nr>mdKI;Vst1_0!Dd}#mx

diff --git a/assets/Dungeon.tmx b/assets/Dungeon.tmx
index 358f8b0..b458c47 100644
--- a/assets/Dungeon.tmx
+++ b/assets/Dungeon.tmx
@@ -3,7 +3,21 @@
  <tileset firstgid="1" name="Dungeon" tilewidth="16" tileheight="16" tilecount="100" columns="10">
   <image source="Dungeon.png" trans="000000" width="160" height="160"/>
  </tileset>
- <layer id="4" name="bg" width="92" height="24">
+ <tileset firstgid="101" name="Obstacles" tilewidth="16" tileheight="16" tilecount="100" columns="10">
+  <image source="Obstacles.png" trans="000000" width="160" height="160"/>
+ </tileset>
+ <tileset firstgid="201" name="Fire" tilewidth="16" tileheight="16" tilecount="4" columns="2">
+  <image source="Fire.png" trans="000000" width="32" height="32"/>
+  <tile id="0">
+   <animation>
+    <frame tileid="0" duration="1000"/>
+    <frame tileid="1" duration="1000"/>
+    <frame tileid="2" duration="1000"/>
+    <frame tileid="3" duration="1000"/>
+   </animation>
+  </tile>
+ </tileset>
+ <layer id="4" name="bg" width="92" height="24" visible="0">
   <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,
@@ -37,16 +51,16 @@
 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,2,2,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,53,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,53,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,53,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,52,0,0,0,0,0,0,0,53,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,52,0,0,0,0,0,0,0,53,201,0,0,71,72,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,52,0,0,0,0,0,0,0,0,0,0,0,81,82,81,82,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,52,0,61,62,0,0,0,0,0,0,0,0,71,72,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,52,0,103,103,0,0,103,102,0,0,0,0,81,82,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,52,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
@@ -65,18 +79,18 @@
 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-1073741836,1073741836,1073741836,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+22,26,22,22,1610612762,22,32,32,32,32,32,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+22,22,22,25,22,33,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+35,35,22,22,33,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+32,32,32,33,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
 0,0,0,0,0,0,0,0,0,0,0,0,1,1,3,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,11,3,0,0,1,2,1,1,0,0,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,11,31,31,31,0,0,1,1,3,1,0,0,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,1610612748,31,31,31,3,3,3,3,3,3,3,3,3,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,11,31,22,22,31,31,31,31,3,3,2,3,3,1,3,1,3,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-11,12,12,12,21,31,31,22,22,22,22,3,3,3,1,3,3,3,3,1,3,2,2,3,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-1610612748,21,22,31,22,21,22,31,22,31,31,1,1,3,3,3,3,3,3,3,1,3,3,3,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,11,13,0,0,1,2,1,1,0,0,73,74,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,11,12,22,23,0,0,1,1,3,1,0,0,83,84,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,101,1610612748,3221225494,1610612758,22,11,12,13,3,3,3,3,3,3,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,11,12,25,22,22,22,21,35,23,3,2,3,3,1,3,1,3,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+11,12,12,12,25,22,22,2,2,22,31,32,33,3,1,3,3,3,3,1,3,2,2,3,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+31,32,32,32,32,32,32,2,2,32,32,32,32,3,3,3,3,3,3,3,1,3,3,3,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,32 +101,32 @@
 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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="2" name="fg" width="92" height="24" visible="0">
+ <layer id="2" name="fg" width="92" height="24">
   <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,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,2,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,2,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,2,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,2,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,2,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,2,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,2,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,2,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+0,0,0,0,0,41,0,0,0,0,0,0,0,0,0,0,42,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,41,0,0,0,0,0,0,0,0,0,0,41,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,41,0,0,0,0,0,0,0,0,0,0,41,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,42,43,44,42,43,44,42,0,0,0,0,0,0,0,41,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,41,0,0,0,0,0,41,0,0,0,0,0,0,0,41,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,41,0,0,0,0,0,41,0,0,0,0,0,0,0,41,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,41,0,0,0,0,0,41,0,0,0,0,0,0,0,41,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,41,0,0,0,0,0,41,0,0,0,0,0,0,0,41,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,41,0,0,0,0,0,41,0,0,0,0,0,0,0,41,0,42,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,41,0,0,0,0,0,41,0,0,0,0,0,0,0,41,0,41,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,41,0,0,0,0,0,41,0,0,0,0,0,0,0,41,0,41,0,42,0,42,0,42,0,42,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+3,0,41,0,0,0,0,0,41,0,0,0,0,0,0,0,41,0,41,0,41,0,41,0,41,0,41,0,41,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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/src/main.rs b/src/main.rs
index 3eec8a7..95251e2 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -30,12 +30,11 @@ fn main() {
         .add_startup_system(setup.system())
         .add_system_set(
             SystemSet::new()
-                .with_run_criteria(FixedTimestep::step(1.0 / 60.0))
+                //.with_run_criteria(FixedTimestep::step(1.0 / 60.0))
                 .with_system(player_movement.system())
-                .with_system(camera.system())
-                .with_system(parallax.system()),
+                .with_system(camera.system()), // .with_system(parallax.system()),
         )
-        .add_system(set_texture_filters_to_nearest.system())
+        //.add_system(set_texture_filters_to_nearest.system())
         .run();
 }
 
@@ -56,6 +55,7 @@ fn set_texture_filters_to_nearest(
     }
 }
 
+const MAP_SCALE: f32 = 4.0;
 fn setup(
     mut commands: Commands,
     asset_server: Res<AssetServer>,
@@ -68,7 +68,7 @@ fn setup(
     let bottom = -window.height() / 2.0;
 
     // load the tile map
-    let handle: Handle<TiledMap> = asset_server.load("Dungeon.tmx");
+    let handle: Handle<TiledMap> = asset_server.load("Overworld.tmx");
     let map_entity = commands.spawn().id();
     commands.entity(map_entity).insert_bundle(TiledMapBundle {
         tiled_map: handle,
@@ -76,7 +76,7 @@ fn setup(
 
         transform: Transform {
             translation: Vec3::new(0., bottom, 1.0),
-            scale: Vec3::new(4.0, 4.0, 1.0),
+            scale: Vec3::new(MAP_SCALE, MAP_SCALE, 1.0),
             ..Default::default()
         },
 
@@ -98,9 +98,20 @@ fn setup(
             ..Default::default()
         })
         .insert(Player {
-            y: bottom / 2.,
+            player_y: bottom / 2.,
             ..Player::default()
         });
+    // commands.spawn_bundle(TextBundle {
+    //     text: Text::with_section(
+    //         "Game Over",
+    //         TextStyle::default(),
+    //         TextAlignment {
+    //             vertical: VerticalAlign::Center,
+    //             horizontal: HorizontalAlign::Center,
+    //         },
+    //     ),
+    //     ..Default::default()
+    // });
 }
 
 #[derive(Copy, Clone)]
@@ -110,19 +121,21 @@ enum Direction {
     Idle,
 }
 pub struct Player {
-    direction: Direction,
-    jump: bool,
-    index: u32,
-    y: f32,
+    player_direction: Direction,
+    player_jump: bool,
+    player_index: u32,
+    player_y: f32,
+    player_x: f32,
 }
 
 impl Default for Player {
     fn default() -> Self {
         Player {
-            direction: Direction::Idle,
-            jump: false,
-            index: 3,
-            y: 0.,
+            player_direction: Direction::Idle,
+            player_jump: false,
+            player_index: 3,
+            player_y: 0.,
+            player_x: 0.,
         }
     }
 }
@@ -133,9 +146,9 @@ fn player_movement(
     keyboard_input: Res<Input<KeyCode>>,
 ) {
     if let Ok((mut player, mut transform, mut sprite)) = query.single_mut() {
-        let (index, state, dir) = if player.jump {
+        let (index, state, dir) = if player.player_jump {
             // already in jump
-            let mut index = player.index + 1;
+            let mut index = player.player_index + 1;
             match index {
                 4 => {
                     sprite.index = 7;
@@ -150,141 +163,94 @@ fn player_movement(
             };
             if index == 64 {
                 index = 0;
-                player.jump = false
+                player.player_jump = false
             };
 
             if index > 8 && index < (60) {
                 transform.translation.y =
-                    player.y + (((index - 8) as f32) * PI / (60.0 - 8.0)).sin() * 200.0;
+                    player.player_y + (((index - 8) as f32) * PI / (60.0 - 8.0)).sin() * 200.0;
             } else {
-                transform.translation.y = player.y
+                transform.translation.y = player.player_y
             }
 
-            (index, player.direction, 0.)
+            (index, player.player_direction, 0.)
         } else if keyboard_input.pressed(KeyCode::Space) {
             // start jump
-            player.jump = true;
+            player.player_jump = true;
             sprite.index = 3;
             let index = 0;
-            (index, player.direction, 0.)
+            (index, player.player_direction, 0.)
         } else if keyboard_input.pressed(KeyCode::Right) {
             sprite.flip_x = false;
-            match player.direction {
+            match player.player_direction {
                 // already walking
                 Direction::Right => {
-                    let index = (player.index + 1) % 32;
+                    let index = (player.player_index + 1) % 32;
                     sprite.index = (4 * 9) + index / 4;
-                    (index, Direction::Right, 2.)
+                    (index, Direction::Right, 1.)
                 }
                 // starting walking
                 _ => {
                     let index = 3 * 4;
                     sprite.index = (4 * 9) + index / 4;
-                    (index, Direction::Right, 2.)
+                    (index, Direction::Right, 1.)
                 }
             }
         } else if keyboard_input.pressed(KeyCode::Left) {
             sprite.flip_x = true;
-            match player.direction {
+            match player.player_direction {
                 // already walking
                 Direction::Left => {
-                    let index = (player.index + 1) % 32;
+                    let index = (player.player_index + 1) % 32;
                     sprite.index = (4 * 9) + index / 4;
-                    (index, Direction::Left, -2.)
+                    (index, Direction::Left, -1.)
                 }
                 // starting walking
                 _ => {
                     let index = 3 * 4;
                     sprite.index = (4 * 9) + index / 4;
-                    (index, Direction::Left, -2.)
+                    (index, Direction::Left, -1.)
                 }
             }
         } else {
-            match player.direction {
+            match player.player_direction {
                 // already idle
                 Direction::Idle => {
-                    let index = (player.index + 1) % 256;
+                    let index = (player.player_index + 1) % 256;
                     sprite.index = if index > 224 { 0 } else { 9 * 1 + 6 };
                     (index, Direction::Idle, 0.)
                 }
                 // start idle
                 _ => {
-                    player.index = 0;
+                    player.player_index = 0;
                     sprite.index = 0;
                     (0, Direction::Idle, 0.)
                 }
             }
         };
 
-        player.direction = state;
-        player.index = index;
-        transform.translation.x += dir;
+        player.player_direction = state;
+        player.player_index = index;
+        player.player_x += dir * 4.0; // 4.0 seems to be good nominal speed
+        transform.translation.x = player.player_x;
     }
 }
 
-// A simple camera system for moving and zooming the camera.
 pub fn camera(
-    time: Res<Time>,
-    keyboard_input: Res<Input<KeyCode>>,
-    mut query: Query<&mut Transform, With<Camera>>,
+    player_query: Query<&Player>,
+    mut layer_query: Query<(&mut Transform, &Layer)>,
+    mut camera_query: Query<&mut Transform, (With<Camera>, Without<Layer>)>,
 ) {
-    // println!("camera");
-    for mut transform in query.iter_mut() {
-        // print!("-");
-        let mut direction = Vec3::ZERO;
-        let scale = transform.scale.x;
-
-        if keyboard_input.pressed(KeyCode::A) {
-            direction -= Vec3::new(1.0, 0.0, 0.0);
-        }
-
-        if keyboard_input.pressed(KeyCode::D) {
-            direction += Vec3::new(1.0, 0.0, 0.0);
-        }
+    // parallaxing
+    let player = player_query.single().unwrap();
+    let mut camera_transform = camera_query.single_mut().unwrap();
 
-        if keyboard_input.pressed(KeyCode::W) {
-            direction += Vec3::new(0.0, 1.0, 0.0);
-        }
-
-        if keyboard_input.pressed(KeyCode::S) {
-            direction -= Vec3::new(0.0, 1.0, 0.0);
-        }
+    // for now, move the camera to the
+    camera_transform.translation.x = player.player_x;
+    camera_transform.translation.y = player.player_y;
 
-        if keyboard_input.pressed(KeyCode::Z) {
-            let scale = scale + 0.1;
-            transform.scale = Vec3::splat(scale);
-        }
-
-        if keyboard_input.pressed(KeyCode::X) {
-            let scale = scale - 0.1;
-            transform.scale = Vec3::splat(scale);
-        }
-
-        if transform.scale.x < 1.0 {
-            transform.scale = Vec3::splat(1.0)
-        }
-
-        transform.translation += time.delta_seconds() * direction * 500.;
-    }
-}
-
-enum Layers {
-    Cloud,
-}
-
-// parallaxing
-pub fn parallax(
-    mut layer_query: Query<(&mut Transform, &Layer)>,
-    camera_query: Query<&Transform, (With<Camera>, Without<Layer>)>,
-) {
-    let camera_x = camera_query.single().unwrap().translation.x;
     for (mut transform, layer) in layer_query.iter_mut() {
-        match layer.settings.layer_id {
-            0 => transform.translation.x = camera_x / 8.0,
-            1 => {}
-            2 => {}
-            3 => transform.translation.x = -camera_x / 4.0,
-            _ => panic!("illegal layer id"),
-        }
+        // (1. - parallax) gives the per layer translation.
+        transform.translation.x = player.player_x * (1. - layer.settings.parallax_x) / MAP_SCALE;
     }
 }
-- 
GitLab