diff --git a/Cargo.lock b/Cargo.lock index 8cf8a850c10a7bcddd9747145243d89293f52b3f..fea999535d25b434ffb9be2311046a3b4e5ff1bf 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 cea0fe14f1958c9ed2095496616045ff1f5350c1..353b6206bede694ec5357787259e6bd5c36b46be 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 ecbf4ce58b84b276aa1be8c3fca64539301f79f4..e951ef3e7a35b03e4d8aa3bdfaa0b8eac5dcdc72 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 Binary files a/assets/Dungeon.png and b/assets/Dungeon.png differ diff --git a/assets/Dungeon.tmx b/assets/Dungeon.tmx index 358f8b0166b1bd8add96d9280cb9fcd62ebea044..b458c4780f2271c0096c56fd3e83920fe03c177b 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 3eec8a73c9d052fa0cbaada2f39c470deaded2d0..95251e2f89b4ac4e850a8889954286fad1722e36 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; } }