From 9b7f1adb4cb3841e323692b7a47cc744cdd0816a Mon Sep 17 00:00:00 2001 From: Jaby Date: Sat, 17 Sep 2022 17:12:53 +0200 Subject: [PATCH] Prepare for simple TIM conversion --- src/Tools/Tests/Test.mk | 2 +- src/Tools/jaby_engine_fconv/src/images/mod.rs | 1 + .../src/images/reduced_tim/mod.rs | 19 +++++++++++++ src/Tools/jaby_engine_fconv/src/lib.rs | 9 +------ src/Tools/jaby_engine_fconv/src/main.rs | 27 ++++++++++++++++++- 5 files changed, 48 insertions(+), 10 deletions(-) create mode 100644 src/Tools/jaby_engine_fconv/src/images/mod.rs create mode 100644 src/Tools/jaby_engine_fconv/src/images/reduced_tim/mod.rs diff --git a/src/Tools/Tests/Test.mk b/src/Tools/Tests/Test.mk index dcc2fca1..cf8d78c5 100644 --- a/src/Tools/Tests/Test.mk +++ b/src/Tools/Tests/Test.mk @@ -7,6 +7,6 @@ test_cpp_out: always test_jaby_engine_fconv: always @cargo build --manifest-path ../jaby_engine_fconv/Cargo.toml --release - @./../jaby_engine_fconv/target/release/jaby_engine_fconv + @./../jaby_engine_fconv/target/release/jaby_engine_fconv --help always: ; \ No newline at end of file diff --git a/src/Tools/jaby_engine_fconv/src/images/mod.rs b/src/Tools/jaby_engine_fconv/src/images/mod.rs new file mode 100644 index 00000000..956eef87 --- /dev/null +++ b/src/Tools/jaby_engine_fconv/src/images/mod.rs @@ -0,0 +1 @@ +pub mod reduced_tim; \ No newline at end of file diff --git a/src/Tools/jaby_engine_fconv/src/images/reduced_tim/mod.rs b/src/Tools/jaby_engine_fconv/src/images/reduced_tim/mod.rs new file mode 100644 index 00000000..eb147504 --- /dev/null +++ b/src/Tools/jaby_engine_fconv/src/images/reduced_tim/mod.rs @@ -0,0 +1,19 @@ +use clap::{Args, ValueEnum}; +use tool_helper::{Input, Output}; + +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, ValueEnum)] +pub enum ColorDepth { + Clut4, + Clut8, + Full16, +} + +#[derive(Args)] +pub struct Arguments { + #[clap(arg_enum, value_parser)] + color_depth: ColorDepth +} + +pub fn convert(_input: Input, _output: Output) { + println!("Bin ein Planschbecken!"); +} \ No newline at end of file diff --git a/src/Tools/jaby_engine_fconv/src/lib.rs b/src/Tools/jaby_engine_fconv/src/lib.rs index 1b4a90c9..2b040ab6 100644 --- a/src/Tools/jaby_engine_fconv/src/lib.rs +++ b/src/Tools/jaby_engine_fconv/src/lib.rs @@ -1,8 +1 @@ -#[cfg(test)] -mod tests { - #[test] - fn it_works() { - let result = 2 + 2; - assert_eq!(result, 4); - } -} +pub mod images; \ No newline at end of file diff --git a/src/Tools/jaby_engine_fconv/src/main.rs b/src/Tools/jaby_engine_fconv/src/main.rs index 2e2d9a71..77731d9a 100644 --- a/src/Tools/jaby_engine_fconv/src/main.rs +++ b/src/Tools/jaby_engine_fconv/src/main.rs @@ -1,3 +1,28 @@ +use jaby_engine_fconv::images::{*}; +use clap::{Parser, Subcommand}; +use std::path::PathBuf; + +#[derive(Parser)] +#[clap(about = "Converts files to various JabyEngine related file formats", long_about = None)] +struct CommandLine { + #[clap(short='o')] + output_file: Option, + + #[clap(value_parser)] + input_file: Option, + + #[clap(subcommand)] + sub_command: SubCommands, +} + +#[derive(Subcommand)] +enum SubCommands { + SimpleTIM(reduced_tim::Arguments) +} + fn main() { - println!("Blubb!"); + match CommandLine::try_parse() { + Ok(_cmd) => println!("Planschbecken"), + Err(error) => println!("{}", error.to_string()) + } } \ No newline at end of file