From 28c9d43f01facfa34881c66b2e89a3d1d66f605b Mon Sep 17 00:00:00 2001 From: Vomitblood Date: Mon, 25 Mar 2024 14:00:17 +0800 Subject: [PATCH] switched from include_dir to rust-embed --- Cargo.lock | 134 +++++++++++++++++++++++++++++++ Cargo.toml | 1 + README.md | 15 ++++ img/screenshot_250324_132129.png | Bin 0 -> 39784 bytes img/screenshot_250324_132205.png | Bin 0 -> 36904 bytes src/main.rs | 8 +- 6 files changed, 155 insertions(+), 3 deletions(-) create mode 100644 img/screenshot_250324_132129.png create mode 100644 img/screenshot_250324_132205.png diff --git a/Cargo.lock b/Cargo.lock index 7d57830..2701ca5 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -34,6 +34,15 @@ version = "1.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" +[[package]] +name = "block-buffer" +version = "0.10.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" +dependencies = [ + "generic-array", +] + [[package]] name = "cfg-if" version = "1.0.0" @@ -55,6 +64,45 @@ dependencies = [ "vec_map", ] +[[package]] +name = "cpufeatures" +version = "0.2.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504" +dependencies = [ + "libc", +] + +[[package]] +name = "crypto-common" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" +dependencies = [ + "generic-array", + "typenum", +] + +[[package]] +name = "digest" +version = "0.10.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" +dependencies = [ + "block-buffer", + "crypto-common", +] + +[[package]] +name = "generic-array" +version = "0.14.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" +dependencies = [ + "typenum", + "version_check", +] + [[package]] name = "getrandom" version = "0.2.12" @@ -131,6 +179,7 @@ dependencies = [ "include_dir", "once_cell", "rand", + "rust-embed", "serde", "serde_json", ] @@ -195,12 +244,55 @@ dependencies = [ "getrandom", ] +[[package]] +name = "rust-embed" +version = "8.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fb78f46d0066053d16d4ca7b898e9343bc3530f71c61d5ad84cd404ada068745" +dependencies = [ + "rust-embed-impl", + "rust-embed-utils", + "walkdir", +] + +[[package]] +name = "rust-embed-impl" +version = "8.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b91ac2a3c6c0520a3fb3dd89321177c3c692937c4eb21893378219da10c44fc8" +dependencies = [ + "proc-macro2", + "quote", + "rust-embed-utils", + "syn 2.0.55", + "walkdir", +] + +[[package]] +name = "rust-embed-utils" +version = "8.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "86f69089032567ffff4eada41c573fc43ff466c7db7c5688b2e7969584345581" +dependencies = [ + "sha2", + "walkdir", +] + [[package]] name = "ryu" version = "1.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e86697c916019a8588c99b5fac3cead74ec0b4b819707a682fd4d23fa0ce1ba1" +[[package]] +name = "same-file" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" +dependencies = [ + "winapi-util", +] + [[package]] name = "serde" version = "1.0.197" @@ -232,6 +324,17 @@ dependencies = [ "serde", ] +[[package]] +name = "sha2" +version = "0.10.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" +dependencies = [ + "cfg-if", + "cpufeatures", + "digest", +] + [[package]] name = "strsim" version = "0.8.0" @@ -269,6 +372,12 @@ dependencies = [ "unicode-width", ] +[[package]] +name = "typenum" +version = "1.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" + [[package]] name = "unicode-ident" version = "1.0.12" @@ -287,6 +396,22 @@ version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191" +[[package]] +name = "version_check" +version = "0.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" + +[[package]] +name = "walkdir" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" +dependencies = [ + "same-file", + "winapi-util", +] + [[package]] name = "wasi" version = "0.11.0+wasi-snapshot-preview1" @@ -309,6 +434,15 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" +[[package]] +name = "winapi-util" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f29e6f9198ba0d26b4c9f07dbe6f9ed633e1f3d5b8b414090084349e46a52596" +dependencies = [ + "winapi", +] + [[package]] name = "winapi-x86_64-pc-windows-gnu" version = "0.4.0" diff --git a/Cargo.toml b/Cargo.toml index 3d6042d..7efcde5 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -13,3 +13,4 @@ serde_json = "1.0" once_cell = "1.8.0" clap = { version = "2" } include_dir = "0.6.0" +rust-embed = "8.3.0" diff --git a/README.md b/README.md index 9809a10..9ff8847 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,18 @@ # PokeRust A simple colorscript written in Rust. + +Inspired by [phoneybadger's pokemon-coloscripts](https://gitlab.com/phoneybadger/pokemon-colorscripts) + +*For educational purposes* + +## Performance + +This is written in Rust, while the original is written in Python. +This implementation is up to 8 times faster than the original. + +This is the Python implementation: +![python implementation](img/screenshot_250324_132129.png) + +This is the Rust implementation: +![rust implementation](img/screenshot_250324_132205.png) diff --git a/img/screenshot_250324_132129.png b/img/screenshot_250324_132129.png new file mode 100644 index 0000000000000000000000000000000000000000..6d7ccba38540a05e87d9ce068c47abffa282e2a8 GIT binary patch literal 39784 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 E0^*^IAOHXW literal 0 HcmV?d00001 diff --git a/src/main.rs b/src/main.rs index d804926..ffbf6cf 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,7 +1,9 @@ use rand::Rng; // set global constants -const COLORSCRIPTS_DIR: include_dir::Dir = include_dir::include_dir!("./colorscripts"); +#[derive(rust_embed::RustEmbed)] +#[folder = "colorscripts/"] +pub struct ColorScriptsDir; const POKEMON_JSON: &str = std::include_str!("../pokemon.json"); @@ -25,8 +27,8 @@ const GENERATIONS: [(&str, (u32, u32)); 8] = [ ]; fn print_file(filepath: &str) -> std::io::Result<()> { - if let Some(file) = COLORSCRIPTS_DIR.get_file(filepath) { - let content = std::str::from_utf8(file.contents()).unwrap(); + if let Some(file) = ColorScriptsDir::get(filepath) { + let content = std::str::from_utf8(file.data.as_ref()).unwrap(); println!("{}", content); Ok(()) } else {