Save / Load levels
This commit is contained in:
		
							parent
							
								
									ae601720e3
								
							
						
					
					
						commit
						2ff29eb0c6
					
				
							
								
								
									
										222
									
								
								Cargo.lock
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										222
									
								
								Cargo.lock
									
									
									
										generated
									
									
									
								
							| @ -11,24 +11,44 @@ name = "atty" | ||||
| version = "0.2.11" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| dependencies = [ | ||||
|  "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", | ||||
|  "libc 0.2.51 (registry+https://github.com/rust-lang/crates.io-index)", | ||||
|  "termion 1.5.1 (registry+https://github.com/rust-lang/crates.io-index)", | ||||
|  "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", | ||||
| ] | ||||
| 
 | ||||
| [[package]] | ||||
| name = "autocfg" | ||||
| version = "0.1.2" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| 
 | ||||
| [[package]] | ||||
| name = "bincode" | ||||
| version = "1.1.2" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| dependencies = [ | ||||
|  "autocfg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", | ||||
|  "byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)", | ||||
|  "serde 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)", | ||||
| ] | ||||
| 
 | ||||
| [[package]] | ||||
| name = "bitflags" | ||||
| version = "1.0.4" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| 
 | ||||
| [[package]] | ||||
| name = "byteorder" | ||||
| version = "1.3.1" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| 
 | ||||
| [[package]] | ||||
| name = "cc" | ||||
| version = "1.0.25" | ||||
| version = "1.0.32" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| 
 | ||||
| [[package]] | ||||
| name = "cfg-if" | ||||
| version = "0.1.5" | ||||
| version = "0.1.7" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| 
 | ||||
| [[package]] | ||||
| @ -47,10 +67,10 @@ dependencies = [ | ||||
| 
 | ||||
| [[package]] | ||||
| name = "cmake" | ||||
| version = "0.1.35" | ||||
| version = "0.1.37" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| dependencies = [ | ||||
|  "cc 1.0.25 (registry+https://github.com/rust-lang/crates.io-index)", | ||||
|  "cc 1.0.32 (registry+https://github.com/rust-lang/crates.io-index)", | ||||
| ] | ||||
| 
 | ||||
| [[package]] | ||||
| @ -91,13 +111,13 @@ dependencies = [ | ||||
| 
 | ||||
| [[package]] | ||||
| name = "curl-sys" | ||||
| version = "0.4.13" | ||||
| version = "0.4.17" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| dependencies = [ | ||||
|  "cc 1.0.25 (registry+https://github.com/rust-lang/crates.io-index)", | ||||
|  "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", | ||||
|  "libz-sys 1.0.23 (registry+https://github.com/rust-lang/crates.io-index)", | ||||
|  "openssl-sys 0.9.36 (registry+https://github.com/rust-lang/crates.io-index)", | ||||
|  "cc 1.0.32 (registry+https://github.com/rust-lang/crates.io-index)", | ||||
|  "libc 0.2.51 (registry+https://github.com/rust-lang/crates.io-index)", | ||||
|  "libz-sys 1.0.25 (registry+https://github.com/rust-lang/crates.io-index)", | ||||
|  "openssl-sys 0.9.43 (registry+https://github.com/rust-lang/crates.io-index)", | ||||
|  "pkg-config 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)", | ||||
|  "vcpkg 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)", | ||||
|  "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", | ||||
| @ -109,12 +129,12 @@ version = "0.7.5" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| dependencies = [ | ||||
|  "bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)", | ||||
|  "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", | ||||
|  "libgit2-sys 0.7.10 (registry+https://github.com/rust-lang/crates.io-index)", | ||||
|  "log 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)", | ||||
|  "libc 0.2.51 (registry+https://github.com/rust-lang/crates.io-index)", | ||||
|  "libgit2-sys 0.7.11 (registry+https://github.com/rust-lang/crates.io-index)", | ||||
|  "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", | ||||
|  "openssl-probe 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", | ||||
|  "openssl-sys 0.9.36 (registry+https://github.com/rust-lang/crates.io-index)", | ||||
|  "url 1.7.1 (registry+https://github.com/rust-lang/crates.io-index)", | ||||
|  "openssl-sys 0.9.43 (registry+https://github.com/rust-lang/crates.io-index)", | ||||
|  "url 1.7.2 (registry+https://github.com/rust-lang/crates.io-index)", | ||||
| ] | ||||
| 
 | ||||
| [[package]] | ||||
| @ -124,25 +144,25 @@ source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| dependencies = [ | ||||
|  "matches 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", | ||||
|  "unicode-bidi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", | ||||
|  "unicode-normalization 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", | ||||
|  "unicode-normalization 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", | ||||
| ] | ||||
| 
 | ||||
| [[package]] | ||||
| name = "libc" | ||||
| version = "0.2.43" | ||||
| version = "0.2.51" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| 
 | ||||
| [[package]] | ||||
| name = "libgit2-sys" | ||||
| version = "0.7.10" | ||||
| version = "0.7.11" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| dependencies = [ | ||||
|  "cc 1.0.25 (registry+https://github.com/rust-lang/crates.io-index)", | ||||
|  "curl-sys 0.4.13 (registry+https://github.com/rust-lang/crates.io-index)", | ||||
|  "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", | ||||
|  "cc 1.0.32 (registry+https://github.com/rust-lang/crates.io-index)", | ||||
|  "curl-sys 0.4.17 (registry+https://github.com/rust-lang/crates.io-index)", | ||||
|  "libc 0.2.51 (registry+https://github.com/rust-lang/crates.io-index)", | ||||
|  "libssh2-sys 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", | ||||
|  "libz-sys 1.0.23 (registry+https://github.com/rust-lang/crates.io-index)", | ||||
|  "openssl-sys 0.9.36 (registry+https://github.com/rust-lang/crates.io-index)", | ||||
|  "libz-sys 1.0.25 (registry+https://github.com/rust-lang/crates.io-index)", | ||||
|  "openssl-sys 0.9.43 (registry+https://github.com/rust-lang/crates.io-index)", | ||||
|  "pkg-config 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)", | ||||
| ] | ||||
| 
 | ||||
| @ -151,31 +171,31 @@ name = "libssh2-sys" | ||||
| version = "0.2.11" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| dependencies = [ | ||||
|  "cc 1.0.25 (registry+https://github.com/rust-lang/crates.io-index)", | ||||
|  "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", | ||||
|  "libz-sys 1.0.23 (registry+https://github.com/rust-lang/crates.io-index)", | ||||
|  "openssl-sys 0.9.36 (registry+https://github.com/rust-lang/crates.io-index)", | ||||
|  "cc 1.0.32 (registry+https://github.com/rust-lang/crates.io-index)", | ||||
|  "libc 0.2.51 (registry+https://github.com/rust-lang/crates.io-index)", | ||||
|  "libz-sys 1.0.25 (registry+https://github.com/rust-lang/crates.io-index)", | ||||
|  "openssl-sys 0.9.43 (registry+https://github.com/rust-lang/crates.io-index)", | ||||
|  "pkg-config 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)", | ||||
|  "vcpkg 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)", | ||||
| ] | ||||
| 
 | ||||
| [[package]] | ||||
| name = "libz-sys" | ||||
| version = "1.0.23" | ||||
| version = "1.0.25" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| dependencies = [ | ||||
|  "cc 1.0.25 (registry+https://github.com/rust-lang/crates.io-index)", | ||||
|  "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", | ||||
|  "cc 1.0.32 (registry+https://github.com/rust-lang/crates.io-index)", | ||||
|  "libc 0.2.51 (registry+https://github.com/rust-lang/crates.io-index)", | ||||
|  "pkg-config 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)", | ||||
|  "vcpkg 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)", | ||||
| ] | ||||
| 
 | ||||
| [[package]] | ||||
| name = "log" | ||||
| version = "0.4.5" | ||||
| version = "0.4.6" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| dependencies = [ | ||||
|  "cfg-if 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", | ||||
|  "cfg-if 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", | ||||
| ] | ||||
| 
 | ||||
| [[package]] | ||||
| @ -190,12 +210,13 @@ source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| 
 | ||||
| [[package]] | ||||
| name = "openssl-sys" | ||||
| version = "0.9.36" | ||||
| version = "0.9.43" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| dependencies = [ | ||||
|  "cc 1.0.25 (registry+https://github.com/rust-lang/crates.io-index)", | ||||
|  "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", | ||||
|  "cc 1.0.32 (registry+https://github.com/rust-lang/crates.io-index)", | ||||
|  "libc 0.2.51 (registry+https://github.com/rust-lang/crates.io-index)", | ||||
|  "pkg-config 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)", | ||||
|  "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", | ||||
|  "vcpkg 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)", | ||||
| ] | ||||
| 
 | ||||
| @ -209,9 +230,25 @@ name = "pkg-config" | ||||
| version = "0.3.14" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| 
 | ||||
| [[package]] | ||||
| name = "proc-macro2" | ||||
| version = "0.4.27" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| dependencies = [ | ||||
|  "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", | ||||
| ] | ||||
| 
 | ||||
| [[package]] | ||||
| name = "quote" | ||||
| version = "0.6.11" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| dependencies = [ | ||||
|  "proc-macro2 0.4.27 (registry+https://github.com/rust-lang/crates.io-index)", | ||||
| ] | ||||
| 
 | ||||
| [[package]] | ||||
| name = "redox_syscall" | ||||
| version = "0.1.40" | ||||
| version = "0.1.51" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| 
 | ||||
| [[package]] | ||||
| @ -219,19 +256,60 @@ name = "redox_termios" | ||||
| version = "0.1.1" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| dependencies = [ | ||||
|  "redox_syscall 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)", | ||||
|  "redox_syscall 0.1.51 (registry+https://github.com/rust-lang/crates.io-index)", | ||||
| ] | ||||
| 
 | ||||
| [[package]] | ||||
| name = "rustc_version" | ||||
| version = "0.2.3" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| dependencies = [ | ||||
|  "semver 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", | ||||
| ] | ||||
| 
 | ||||
| [[package]] | ||||
| name = "rusty" | ||||
| version = "0.1.0" | ||||
| dependencies = [ | ||||
|  "bincode 1.1.2 (registry+https://github.com/rust-lang/crates.io-index)", | ||||
|  "clap 2.32.0 (registry+https://github.com/rust-lang/crates.io-index)", | ||||
|  "cmake 0.1.35 (registry+https://github.com/rust-lang/crates.io-index)", | ||||
|  "cmake 0.1.37 (registry+https://github.com/rust-lang/crates.io-index)", | ||||
|  "git2 0.7.5 (registry+https://github.com/rust-lang/crates.io-index)", | ||||
|  "serde 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)", | ||||
|  "sfml 0.14.0 (registry+https://github.com/rust-lang/crates.io-index)", | ||||
| ] | ||||
| 
 | ||||
| [[package]] | ||||
| name = "semver" | ||||
| version = "0.9.0" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| dependencies = [ | ||||
|  "semver-parser 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", | ||||
| ] | ||||
| 
 | ||||
| [[package]] | ||||
| name = "semver-parser" | ||||
| version = "0.7.0" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| 
 | ||||
| [[package]] | ||||
| name = "serde" | ||||
| version = "1.0.89" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| dependencies = [ | ||||
|  "serde_derive 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)", | ||||
| ] | ||||
| 
 | ||||
| [[package]] | ||||
| name = "serde_derive" | ||||
| version = "1.0.89" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| dependencies = [ | ||||
|  "proc-macro2 0.4.27 (registry+https://github.com/rust-lang/crates.io-index)", | ||||
|  "quote 0.6.11 (registry+https://github.com/rust-lang/crates.io-index)", | ||||
|  "syn 0.15.29 (registry+https://github.com/rust-lang/crates.io-index)", | ||||
| ] | ||||
| 
 | ||||
| [[package]] | ||||
| name = "sfml" | ||||
| version = "0.14.0" | ||||
| @ -249,18 +327,33 @@ name = "sfml-build" | ||||
| version = "0.2.0" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| 
 | ||||
| [[package]] | ||||
| name = "smallvec" | ||||
| version = "0.6.9" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| 
 | ||||
| [[package]] | ||||
| name = "strsim" | ||||
| version = "0.7.0" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| 
 | ||||
| [[package]] | ||||
| name = "syn" | ||||
| version = "0.15.29" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| dependencies = [ | ||||
|  "proc-macro2 0.4.27 (registry+https://github.com/rust-lang/crates.io-index)", | ||||
|  "quote 0.6.11 (registry+https://github.com/rust-lang/crates.io-index)", | ||||
|  "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", | ||||
| ] | ||||
| 
 | ||||
| [[package]] | ||||
| name = "termion" | ||||
| version = "1.5.1" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| dependencies = [ | ||||
|  "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", | ||||
|  "redox_syscall 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)", | ||||
|  "libc 0.2.51 (registry+https://github.com/rust-lang/crates.io-index)", | ||||
|  "redox_syscall 0.1.51 (registry+https://github.com/rust-lang/crates.io-index)", | ||||
|  "redox_termios 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", | ||||
| ] | ||||
| 
 | ||||
| @ -282,17 +375,25 @@ dependencies = [ | ||||
| 
 | ||||
| [[package]] | ||||
| name = "unicode-normalization" | ||||
| version = "0.1.7" | ||||
| version = "0.1.8" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| dependencies = [ | ||||
|  "smallvec 0.6.9 (registry+https://github.com/rust-lang/crates.io-index)", | ||||
| ] | ||||
| 
 | ||||
| [[package]] | ||||
| name = "unicode-width" | ||||
| version = "0.1.5" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| 
 | ||||
| [[package]] | ||||
| name = "unicode-xid" | ||||
| version = "0.1.0" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| 
 | ||||
| [[package]] | ||||
| name = "url" | ||||
| version = "1.7.1" | ||||
| version = "1.7.2" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| dependencies = [ | ||||
|  "idna 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", | ||||
| @ -332,39 +433,52 @@ source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| [metadata] | ||||
| "checksum ansi_term 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ee49baf6cb617b853aa8d93bf420db2383fab46d314482ca2803b40d5fde979b" | ||||
| "checksum atty 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)" = "9a7d5b8723950951411ee34d271d99dddcc2035a16ab25310ea2c8cfd4369652" | ||||
| "checksum autocfg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "a6d640bee2da49f60a4068a7fae53acde8982514ab7bae8b8cea9e88cbcfd799" | ||||
| "checksum bincode 1.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "3efe0b4c8eaeed8600549c29f538a6a11bf422858d0ed435b1d70ec4ab101190" | ||||
| "checksum bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "228047a76f468627ca71776ecdebd732a3423081fcf5125585bcd7c49886ce12" | ||||
| "checksum cc 1.0.25 (registry+https://github.com/rust-lang/crates.io-index)" = "f159dfd43363c4d08055a07703eb7a3406b0dac4d0584d96965a3262db3c9d16" | ||||
| "checksum cfg-if 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "0c4e7bb64a8ebb0d856483e1e682ea3422f883c5f5615a90d51a2c82fe87fdd3" | ||||
| "checksum byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "a019b10a2a7cdeb292db131fc8113e57ea2a908f6e7894b0c3c671893b65dbeb" | ||||
| "checksum cc 1.0.32 (registry+https://github.com/rust-lang/crates.io-index)" = "ad0daef304fa0b4238f5f7ed7178774b43b06f6a9b6509f6642bef4ff1f7b9b2" | ||||
| "checksum cfg-if 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "11d43355396e872eefb45ce6342e4374ed7bc2b3a502d1b28e36d6e23c05d1f4" | ||||
| "checksum clap 2.32.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b957d88f4b6a63b9d70d5f454ac8011819c6efa7727858f458ab71c756ce2d3e" | ||||
| "checksum cmake 0.1.35 (registry+https://github.com/rust-lang/crates.io-index)" = "6ec65ee4f9c9d16f335091d23693457ed4928657ba4982289d7fafee03bc614a" | ||||
| "checksum cmake 0.1.37 (registry+https://github.com/rust-lang/crates.io-index)" = "c11b79fbf026d6ec02704f7248c6da99be02068bf57f624bb08af72ad29f2c06" | ||||
| "checksum csfml-audio-sys 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "c3f55bfdd00e6ded8b4bbf62acfe7e62a493584a7b0774642dac59d822061aa4" | ||||
| "checksum csfml-graphics-sys 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d508c34b7376ca0450422ee11642b5aba43bde59673c822bb436e9fc126d8487" | ||||
| "checksum csfml-system-sys 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "226869ac0651d7592d2fc0795f5e44101fbd7b22548d6cf6f0e0e74e54efa1fd" | ||||
| "checksum csfml-window-sys 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "86fd0d9840a9f92ae0960cef634c1b5781b15847dbb099a9ee6021bb5c1cb618" | ||||
| "checksum curl-sys 0.4.13 (registry+https://github.com/rust-lang/crates.io-index)" = "08459503c415173da1ce6b41036a37b8bfdd86af46d45abb9964d4c61fe670ef" | ||||
| "checksum curl-sys 0.4.17 (registry+https://github.com/rust-lang/crates.io-index)" = "7b8d8e51964f58c8053337fcef48e1c4608c7ee70c6f2e457674a97dda5a5828" | ||||
| "checksum git2 0.7.5 (registry+https://github.com/rust-lang/crates.io-index)" = "591f8be1674b421644b6c030969520bc3fa12114d2eb467471982ed3e9584e71" | ||||
| "checksum idna 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "38f09e0f0b1fb55fdee1f17470ad800da77af5186a1a76c026b679358b7e844e" | ||||
| "checksum libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)" = "76e3a3ef172f1a0b9a9ff0dd1491ae5e6c948b94479a3021819ba7d860c8645d" | ||||
| "checksum libgit2-sys 0.7.10 (registry+https://github.com/rust-lang/crates.io-index)" = "4916b5addc78ec36cc309acfcdf0b9f9d97ab7b84083118b248709c5b7029356" | ||||
| "checksum libc 0.2.51 (registry+https://github.com/rust-lang/crates.io-index)" = "bedcc7a809076656486ffe045abeeac163da1b558e963a31e29fbfbeba916917" | ||||
| "checksum libgit2-sys 0.7.11 (registry+https://github.com/rust-lang/crates.io-index)" = "48441cb35dc255da8ae72825689a95368bf510659ae1ad55dc4aa88cb1789bf1" | ||||
| "checksum libssh2-sys 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)" = "126a1f4078368b163bfdee65fbab072af08a1b374a5551b21e87ade27b1fbf9d" | ||||
| "checksum libz-sys 1.0.23 (registry+https://github.com/rust-lang/crates.io-index)" = "c7bdca442aa002a930e6eb2a71916cabe46d91ffec8df66db0abfb1bc83469ab" | ||||
| "checksum log 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)" = "d4fcce5fa49cc693c312001daf1d13411c4a5283796bac1084299ea3e567113f" | ||||
| "checksum libz-sys 1.0.25 (registry+https://github.com/rust-lang/crates.io-index)" = "2eb5e43362e38e2bca2fd5f5134c4d4564a23a5c28e9b95411652021a8675ebe" | ||||
| "checksum log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)" = "c84ec4b527950aa83a329754b01dbe3f58361d1c5efacd1f6d68c494d08a17c6" | ||||
| "checksum matches 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "7ffc5c5338469d4d3ea17d269fa8ea3512ad247247c30bd2df69e68309ed0a08" | ||||
| "checksum openssl-probe 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "77af24da69f9d9341038eba93a073b1fdaaa1b788221b00a69bce9e762cb32de" | ||||
| "checksum openssl-sys 0.9.36 (registry+https://github.com/rust-lang/crates.io-index)" = "409d77eeb492a1aebd6eb322b2ee72ff7c7496b4434d98b3bf8be038755de65e" | ||||
| "checksum openssl-sys 0.9.43 (registry+https://github.com/rust-lang/crates.io-index)" = "33c86834957dd5b915623e94f2f4ab2c70dd8f6b70679824155d5ae21dbd495d" | ||||
| "checksum percent-encoding 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "31010dd2e1ac33d5b46a5b413495239882813e0369f8ed8a5e266f173602f831" | ||||
| "checksum pkg-config 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)" = "676e8eb2b1b4c9043511a9b7bea0915320d7e502b0a079fb03f9635a5252b18c" | ||||
| "checksum redox_syscall 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)" = "c214e91d3ecf43e9a4e41e578973adeb14b474f2bee858742d127af75a0112b1" | ||||
| "checksum proc-macro2 0.4.27 (registry+https://github.com/rust-lang/crates.io-index)" = "4d317f9caece796be1980837fd5cb3dfec5613ebdb04ad0956deea83ce168915" | ||||
| "checksum quote 0.6.11 (registry+https://github.com/rust-lang/crates.io-index)" = "cdd8e04bd9c52e0342b406469d494fcb033be4bdbe5c606016defbb1681411e1" | ||||
| "checksum redox_syscall 0.1.51 (registry+https://github.com/rust-lang/crates.io-index)" = "423e376fffca3dfa06c9e9790a9ccd282fafb3cc6e6397d01dbf64f9bacc6b85" | ||||
| "checksum redox_termios 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "7e891cfe48e9100a70a3b6eb652fef28920c117d366339687bd5576160db0f76" | ||||
| "checksum rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a" | ||||
| "checksum semver 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403" | ||||
| "checksum semver-parser 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3" | ||||
| "checksum serde 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)" = "92514fb95f900c9b5126e32d020f5c6d40564c27a5ea6d1d7d9f157a96623560" | ||||
| "checksum serde_derive 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)" = "bb6eabf4b5914e88e24eea240bb7c9f9a2cbc1bbbe8d961d381975ec3c6b806c" | ||||
| "checksum sfml 0.14.0 (registry+https://github.com/rust-lang/crates.io-index)" = "47b06f9db4d3f8b936d232d92bfbd6335060ae51ddcf1be2e79361aeb5c8fef1" | ||||
| "checksum sfml-build 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ff35ae173aff95bc967d1b4f0e131a8aec384c317fd057738da4b0f71c8cf841" | ||||
| "checksum smallvec 0.6.9 (registry+https://github.com/rust-lang/crates.io-index)" = "c4488ae950c49d403731982257768f48fada354a5203fe81f9bb6f43ca9002be" | ||||
| "checksum strsim 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "bb4f380125926a99e52bc279241539c018323fab05ad6368b56f93d9369ff550" | ||||
| "checksum syn 0.15.29 (registry+https://github.com/rust-lang/crates.io-index)" = "1825685f977249735d510a242a6727b46efe914bb67e38d30c071b1b72b1d5c2" | ||||
| "checksum termion 1.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "689a3bdfaab439fd92bc87df5c4c78417d3cbe537487274e9b0b2dce76e92096" | ||||
| "checksum textwrap 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "307686869c93e71f94da64286f9a9524c0f308a9e1c87a583de8e9c9039ad3f6" | ||||
| "checksum unicode-bidi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "49f2bd0c6468a8230e1db229cff8029217cf623c767ea5d60bfbd42729ea54d5" | ||||
| "checksum unicode-normalization 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "6a0180bc61fc5a987082bfa111f4cc95c4caff7f9799f3e46df09163a937aa25" | ||||
| "checksum unicode-normalization 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "141339a08b982d942be2ca06ff8b076563cbe223d1befd5450716790d44e2426" | ||||
| "checksum unicode-width 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "882386231c45df4700b275c7ff55b6f3698780a650026380e72dabe76fa46526" | ||||
| "checksum url 1.7.1 (registry+https://github.com/rust-lang/crates.io-index)" = "2a321979c09843d272956e73700d12c4e7d3d92b2ee112b31548aef0d4efc5a6" | ||||
| "checksum unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc" | ||||
| "checksum url 1.7.2 (registry+https://github.com/rust-lang/crates.io-index)" = "dd4e7c0d531266369519a4aa4f399d748bd37043b00bde1e4ff1f60a120b355a" | ||||
| "checksum vcpkg 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)" = "def296d3eb3b12371b2c7d0e83bfe1403e4db2d7a0bba324a12b21c4ee13143d" | ||||
| "checksum vec_map 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "05c78687fb1a80548ae3250346c3db86a80a7cdd77bda190189f2d0a0987c81a" | ||||
| "checksum winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)" = "92c1eb33641e276cfa214a0522acad57be5c56b10cb348b3c5117db75f3ac4b0" | ||||
|  | ||||
| @ -7,6 +7,8 @@ edition = "2018" | ||||
| [dependencies] | ||||
| clap = "2.32.0" | ||||
| sfml = "0.14.0" | ||||
| serde = { version = "1.0.89", features = ["derive"] } | ||||
| bincode = "1.1.2" | ||||
| 
 | ||||
| [build-dependencies] | ||||
| git2 = "0.7.5" | ||||
|  | ||||
							
								
								
									
										
											BIN
										
									
								
								assets/levels/level1.lvl
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								assets/levels/level1.lvl
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| @ -1,14 +0,0 @@ | ||||
| 13 24 | ||||
| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | ||||
| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | ||||
| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 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 1 1 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 | ||||
| 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1 | ||||
| 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1 | ||||
| 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1 | ||||
							
								
								
									
										
											BIN
										
									
								
								assets/levels/level2.lvl
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								assets/levels/level2.lvl
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| @ -1,31 +0,0 @@ | ||||
| 30 100 | ||||
| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | ||||
| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | ||||
| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | ||||
| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | ||||
| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | ||||
| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | ||||
| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | ||||
| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | ||||
| 0 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 1 1 1 1 0 0 0 0 1 1 1 1 1 1 1 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 1 1 1 1 1 1 0 0 0 0 1 1 1 1 1 1 1 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | ||||
| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | ||||
| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | ||||
| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 1 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 0 0 0 0 0 1 1 1 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 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 0 0 0 0 0 1 1 1 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 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 1 1 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 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 1 1 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 1 1 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 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 1 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 1 1 1 1 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 1 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 1 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 1 1 1 1 1 1 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 1 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 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 0 0 0 0 0 0 0 0 0 0 0 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 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 1 1 1 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 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 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 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 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 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 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 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 1 1 1 1 1 1 | ||||
| @ -17,7 +17,7 @@ fn main() { | ||||
| 
 | ||||
|     let mut running = true; | ||||
| 
 | ||||
|     let mut map = Map::from_str(include_str!("../../assets/levels/level2.txt")).unwrap(); | ||||
|     let mut map = Map::load("./assets/levels/level2.lvl").unwrap(); | ||||
| 
 | ||||
|     loop { | ||||
|         let top_panel_size = Vector2::new(renderer.window().size().x as f32, 50.0); | ||||
| @ -42,10 +42,12 @@ fn main() { | ||||
|                         let x = ((x - left_panel_size.x as i32) / 16) as usize; | ||||
|                         let y = ((y - top_panel_size.y as i32) / 16) as usize; | ||||
| 
 | ||||
|                         if map.tile(y, x) == CollisionTile::empty() { | ||||
|                             map.set_tile(y, x, CollisionTile::full()); | ||||
|                         } else { | ||||
|                             map.set_tile(y, x, CollisionTile::empty()); | ||||
|                         if let Some(tile) = map.tile(y, x) { | ||||
|                             if tile == CollisionTile::empty() { | ||||
|                                 map.set_tile(y, x, CollisionTile::full()); | ||||
|                             } else { | ||||
|                                 map.set_tile(y, x, CollisionTile::empty()); | ||||
|                             } | ||||
|                         } | ||||
|                     } | ||||
|                 }, | ||||
|  | ||||
| @ -7,6 +7,7 @@ use sfml::window::{joystick, Event, Key}; | ||||
| use rusty::engine::character::Character; | ||||
| use rusty::engine::controls::Controls; | ||||
| use rusty::engine::renderer::Renderer; | ||||
| use rusty::engine::map::Map; | ||||
| use rusty::engine::scene::Scene; | ||||
| 
 | ||||
| fn parse_resolution(res: &str) -> Result<(u32, u32), String> { | ||||
| @ -32,20 +33,25 @@ fn parse_resolution(res: &str) -> Result<(u32, u32), String> { | ||||
| fn main() { | ||||
|     let matches = App::new("Rusty Maker") | ||||
|         .version(crate_version!()) | ||||
|         .arg( | ||||
|             Arg::with_name("resolution") | ||||
|                 .short("r") | ||||
|                 .long("resolution") | ||||
|                 .value_name("WIDTHxHEIGHT") | ||||
|                 .takes_value(true) | ||||
|                 .default_value("800x450") | ||||
|                 .validator(|x| parse_resolution(&x).map(|_| ())), | ||||
|         ).arg( | ||||
|             Arg::with_name("fullscreen") | ||||
|                 .short("f") | ||||
|                 .long("fullscreen") | ||||
|                 .takes_value(false), | ||||
|         ).get_matches(); | ||||
|         .arg(Arg::with_name("resolution") | ||||
|             .short("r") | ||||
|             .long("resolution") | ||||
|             .value_name("WIDTHxHEIGHT") | ||||
|             .takes_value(true) | ||||
|             .default_value("800x450") | ||||
|             .validator(|x| parse_resolution(&x).map(|_| ()))) | ||||
|         .arg(Arg::with_name("map") | ||||
|              .short("m") | ||||
|              .long("map") | ||||
|              .value_name("MAP") | ||||
|              .takes_value(true) | ||||
|              .default_value("assets/levels/level2.lvl") | ||||
|              .validator(|x| Map::load(x).map(|_| ()).map_err(|x| format!("{}", x)))) | ||||
|         .arg(Arg::with_name("fullscreen") | ||||
|             .short("f") | ||||
|             .long("fullscreen") | ||||
|             .takes_value(false)) | ||||
|         .get_matches(); | ||||
| 
 | ||||
|     let resolution = parse_resolution(matches.value_of("resolution").unwrap()).unwrap(); | ||||
|     let fullscreen = matches.is_present("fullscreen"); | ||||
| @ -62,7 +68,8 @@ fn main() { | ||||
|     let mut character = Character::with_controls(controls); | ||||
|     character.set_position((10.0, 0.0)); | ||||
| 
 | ||||
|     let mut scene = Scene::new(); | ||||
|     let map = Map::load(matches.value_of("map").unwrap()).unwrap(); | ||||
|     let mut scene = Scene::from_map(map); | ||||
|     scene.add(character); | ||||
| 
 | ||||
|     let mut renderer = Renderer::new(resolution.0, resolution.1, fullscreen); | ||||
|  | ||||
| @ -1,6 +1,15 @@ | ||||
| use std::path::Path; | ||||
| use std::fs::File; | ||||
| use std::io::{BufWriter, BufReader}; | ||||
| 
 | ||||
| use serde::{Serialize, Deserialize}; | ||||
| 
 | ||||
| use bincode::{serialize, deserialize, serialize_into, deserialize_from}; | ||||
| 
 | ||||
| use sfml::graphics::{FloatRect, IntRect}; | ||||
| use sfml::system::Vector2; | ||||
| 
 | ||||
| use crate::{Error, Result}; | ||||
| use crate::engine::math::{clamp, Matrix}; | ||||
| use crate::engine::renderer::Drawable; | ||||
| use crate::engine::texture::Texture; | ||||
| @ -37,7 +46,7 @@ impl CollisionAxis { | ||||
| } | ||||
| 
 | ||||
| /// This struct represents the different sides from which a collision can occur.
 | ||||
| #[derive(Debug, Copy, Clone, PartialEq, Eq)] | ||||
| #[derive(Debug, Copy, Clone, PartialEq, Eq, Serialize, Deserialize)] | ||||
| pub struct CollisionTile { | ||||
|     /// If the character comes from the top, it will collide if this bool is true.
 | ||||
|     pub from_top: bool, | ||||
| @ -75,7 +84,7 @@ impl CollisionTile { | ||||
| } | ||||
| 
 | ||||
| /// This struct represents a renderable tile linking to its part in the tileset texture.
 | ||||
| #[derive(Debug, Copy, Clone, PartialEq, Eq)] | ||||
| #[derive(Debug, Copy, Clone, PartialEq, Eq, Serialize, Deserialize)] | ||||
| pub enum GraphicTile { | ||||
|     /// There is nothing to draw.
 | ||||
|     Hidden, | ||||
| @ -273,6 +282,7 @@ impl Drawable for PositionedTile { | ||||
| } | ||||
| 
 | ||||
| /// The map represents the tiles contained in a level.
 | ||||
| #[derive(Serialize, Deserialize)] | ||||
| pub struct Map { | ||||
|     /// The entrace point of the character in the map.
 | ||||
|     entrance: (usize, usize), | ||||
| @ -294,8 +304,33 @@ impl Map { | ||||
|         Map::from_collision_tiles(tiles) | ||||
|     } | ||||
| 
 | ||||
|     /// Encodes the map into a binary format.
 | ||||
|     pub fn encode(&self) -> Result<Vec<u8>> { | ||||
|         serialize(&self).map_err(Error::Encoding) | ||||
|     } | ||||
| 
 | ||||
|     /// Decodes a map from bytes.
 | ||||
|     pub fn decode(content: &[u8]) -> Result<Map> { | ||||
|         deserialize(content).map_err(Error::Decoding) | ||||
|     } | ||||
| 
 | ||||
|     /// Saves the map to a file.
 | ||||
|     pub fn save<P: AsRef<Path>>(&self, path: P) -> Result<()> { | ||||
|         let file = File::create(path.as_ref()).map_err(Error::Save)?; | ||||
|         let mut writer = BufWriter::new(file); | ||||
|         serialize_into(&mut writer, &self).map_err(Error::Encoding)?; | ||||
|         Ok(()) | ||||
|     } | ||||
| 
 | ||||
|     /// Loads a map from a file.
 | ||||
|     pub fn load<P: AsRef<Path>>(path: P) -> Result<Map> { | ||||
|         let file = File::open(path.as_ref()).map_err(Error::Load)?; | ||||
|         let mut reader = BufReader::new(file); | ||||
|         Ok(deserialize_from(&mut reader).map_err(Error::Decoding)?) | ||||
|     } | ||||
| 
 | ||||
|     /// Creates a map from a txt file.
 | ||||
|     pub fn from_str(text: &str) -> Result<Map, ()> { | ||||
|     pub fn from_str(text: &str) -> Result<Map> { | ||||
|         let split = text.split('\n').collect::<Vec<_>>(); | ||||
| 
 | ||||
|         // First two usize are the size of the map
 | ||||
| @ -356,8 +391,8 @@ impl Map { | ||||
|     } | ||||
| 
 | ||||
|     /// Returns a tile of the map.
 | ||||
|     pub fn tile(&self, i: usize, j: usize) -> CollisionTile { | ||||
|         self.tiles[(i, j)].0 | ||||
|     pub fn tile(&self, i: usize, j: usize) -> Option<CollisionTile> { | ||||
|         self.tiles.get((i, j)).map(|x| x.0) | ||||
|     } | ||||
| 
 | ||||
|     /// Changes a tile of the map.
 | ||||
|  | ||||
| @ -1,7 +1,8 @@ | ||||
| use std::time::Duration; | ||||
| 
 | ||||
| use std::ops::{Index, IndexMut}; | ||||
| 
 | ||||
| use serde::{Serialize, Deserialize}; | ||||
| 
 | ||||
| /// Clamp a number between two boundaries.
 | ||||
| pub fn clamp(number: f32, min: f32, max: f32) -> f32 { | ||||
|     if number < min { | ||||
| @ -26,6 +27,7 @@ pub fn duration_as_f32(duration: &Duration) -> f32 { | ||||
| } | ||||
| 
 | ||||
| /// A generic matrix type, useful for levels.
 | ||||
| #[derive(Serialize, Deserialize)] | ||||
| pub struct Matrix<T> { | ||||
|     /// The number of rows of the matrix.
 | ||||
|     rows: usize, | ||||
|  | ||||
| @ -17,11 +17,11 @@ pub struct Scene { | ||||
| } | ||||
| 
 | ||||
| impl Scene { | ||||
|     /// Creates an empty scene.
 | ||||
|     pub fn new() -> Scene { | ||||
|     /// Creates a scene from a map level.
 | ||||
|     pub fn from_map(map: Map) -> Scene { | ||||
|         Scene { | ||||
|             characters: vec![], | ||||
|             map: Map::from_str(include_str!("../../../assets/levels/level2.txt")).unwrap(), | ||||
|             map, | ||||
|         } | ||||
|     } | ||||
| 
 | ||||
|  | ||||
							
								
								
									
										32
									
								
								src/lib.rs
									
									
									
									
									
								
							
							
						
						
									
										32
									
								
								src/lib.rs
									
									
									
									
									
								
							| @ -2,5 +2,37 @@ | ||||
| 
 | ||||
| //! This crates contains the (future) rusty game.
 | ||||
| 
 | ||||
| use std::{io, fmt, result}; | ||||
| 
 | ||||
| /// This module contains all the tools needed for the game.
 | ||||
| pub mod engine; | ||||
| 
 | ||||
| /// This is the error type of this library.
 | ||||
| #[derive(Debug)] | ||||
| pub enum Error { | ||||
|     /// An error occured while trying to save a file.
 | ||||
|     Save(io::Error), | ||||
| 
 | ||||
|     /// An error occured while trying to load a file.
 | ||||
|     Load(io::Error), | ||||
| 
 | ||||
|     /// An error occured while encoding a file.
 | ||||
|     Encoding(bincode::Error), | ||||
| 
 | ||||
|     /// An error occured while decoding a file.
 | ||||
|     Decoding(bincode::Error), | ||||
| } | ||||
| 
 | ||||
| impl fmt::Display for Error { | ||||
|     fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result { | ||||
|         match *self { | ||||
|             Error::Save(ref e) => write!(fmt, "couldn't save file: {}", e), | ||||
|             Error::Load(ref e) => write!(fmt, "couldn't load file: {}", e), | ||||
|             Error::Encoding(ref e) => write!(fmt, "couldn't encode file: {}", e), | ||||
|             Error::Decoding(ref e) => write!(fmt, "couldn't decode file: {}", e), | ||||
|         } | ||||
|     } | ||||
| } | ||||
| 
 | ||||
| /// This is the result type of this library.
 | ||||
| type Result<T> = result::Result<T, Error>; | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user