From afba6413105f53658c7d898bdb73c90e078ea127 Mon Sep 17 00:00:00 2001 From: Jaby Date: Sun, 22 Dec 2024 19:09:48 +0100 Subject: [PATCH] Move arguments to shared location --- src/Tools/psxfileconv/src/images/args.rs | 17 ++++++++++++++++- .../psxfileconv/src/images/reduced_tim/mod.rs | 18 ++---------------- 2 files changed, 18 insertions(+), 17 deletions(-) diff --git a/src/Tools/psxfileconv/src/images/args.rs b/src/Tools/psxfileconv/src/images/args.rs index 4cc296c3..07428dac 100644 --- a/src/Tools/psxfileconv/src/images/args.rs +++ b/src/Tools/psxfileconv/src/images/args.rs @@ -1,4 +1,19 @@ -use clap::ValueEnum; +use clap::{Args, ValueEnum}; + +#[derive(Args)] +pub struct Arguments { + #[clap(value_enum, value_parser)] + pub color_depth: ColorType, + + #[clap(value_enum, value_parser, default_value_t=ClutAlignment::None)] + pub clut_align: ClutAlignment, + + #[clap(long=SemiTransparent::NAME, default_value_t=false)] + pub semi_transparent: SemiTransparent::Type, + + #[clap(long=TransparentPalette::NAME, default_value_t=false)] + pub transparent_palette: TransparentPalette::Type +} #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, ValueEnum)] pub enum ColorType{ diff --git a/src/Tools/psxfileconv/src/images/reduced_tim/mod.rs b/src/Tools/psxfileconv/src/images/reduced_tim/mod.rs index 52cb441d..46a73b49 100644 --- a/src/Tools/psxfileconv/src/images/reduced_tim/mod.rs +++ b/src/Tools/psxfileconv/src/images/reduced_tim/mod.rs @@ -1,26 +1,12 @@ -use super::args::{ColorType, ClutAlignment, SemiTransparent, TransparentPalette}; +use super::args::{ColorType, ClutAlignment}; use super::color_clut::{IndexedImage, OutputType}; use super::color_full16::{RgbaImage, RgbImage}; use super::types::{Header, Color as PSXColor, PSXImageConverter}; -use clap::Args; use image::{DynamicImage, io::Reader as ImageReader}; use std::io::{Cursor, Write}; use tool_helper::{Error, Input}; -#[derive(Args)] -pub struct Arguments { - #[clap(value_enum, value_parser)] - color_depth: ColorType, - - #[clap(value_enum, value_parser, default_value_t=ClutAlignment::None)] - clut_align: ClutAlignment, - - #[clap(long=SemiTransparent::NAME, default_value_t=false)] - semi_transparent: SemiTransparent::Type, - - #[clap(long=TransparentPalette::NAME, default_value_t=false)] - transparent_palette: TransparentPalette::Type -} +pub type Arguments = super::args::Arguments; fn modify_palette(mut image: IndexedImage, clut_align: ClutAlignment, semi_transparent: bool, transparent_palette: bool) -> IndexedImage { if semi_transparent {