diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..869df07 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +/target +Cargo.lock \ No newline at end of file diff --git a/Cargo.toml b/Cargo.toml new file mode 100644 index 0000000..c3dfaf0 --- /dev/null +++ b/Cargo.toml @@ -0,0 +1,16 @@ +[package] +name = "kettle" +authors = ["spuds"] +repository = "https://github.com/bananaturtlesandwich/stove" +description = "a kismet hooker for cooked unreal engine blueprints" +readme = "README.md" +version = "1.0.0" +edition = "2021" + +[dependencies] +unreal_asset = { git = "https://github.com/astrotechies/unrealmodding", rev = "84e60cc" } +clap = { version = "4.5", features = ["derive"] } +rfd = "0.14" + +[profile.dev.package."*"] +opt-level = 3 diff --git a/src/main.rs b/src/main.rs new file mode 100644 index 0000000..7292f23 --- /dev/null +++ b/src/main.rs @@ -0,0 +1,26 @@ +use clap::Parser; + +#[derive(Parser)] +#[command(about, long_about = None)] +struct Cli { + #[arg(short, long, value_name = "source")] + src: std::path::PathBuf, + #[arg(short, long, value_name = "destination")] + dest: std::path::PathBuf, +} + +fn main() { + let Cli { src, dest } = Cli::try_parse().unwrap_or_else(|err| { + match rfd::FileDialog::new() + .set_title("select the source asset") + .pick_file() + .zip( + rfd::FileDialog::new() + .set_title("select the destination asset") + .pick_file(), + ) { + Some((src, dest)) => Cli { src, dest }, + None => err.exit(), + } + }); +}