From f1f8eb6a2cc2d61dc8a2fa02051bd5ab2c400338 Mon Sep 17 00:00:00 2001 From: Observer KRypt0n_ Date: Thu, 2 Mar 2023 14:57:43 +0200 Subject: [PATCH] 0.1.1 - added `PartialEq`, `Eq` and `Copy` derives to lots of `config` mod's structs; `Ordinalize` to a few of previous ones --- Cargo.toml | 2 +- src/config/game/dxvk.rs | 2 +- .../game/enhancements/fps_unlocker/config/mod.rs | 2 +- src/config/game/enhancements/fps_unlocker/mod.rs | 2 +- src/config/game/enhancements/fsr.rs | 2 +- src/config/game/enhancements/gamescope/framerate.rs | 2 +- src/config/game/enhancements/gamescope/mod.rs | 2 +- src/config/game/enhancements/gamescope/size.rs | 2 +- src/config/game/enhancements/gamescope/window_type.rs | 4 +++- src/config/game/enhancements/hud.rs | 2 +- src/config/game/enhancements/mod.rs | 2 +- src/config/game/mod.rs | 2 +- src/config/game/wine/mod.rs | 2 +- src/config/game/wine/virtual_desktop.rs | 2 +- src/config/game/wine/wine_sync.rs | 2 +- src/config/launcher/mod.rs | 10 +++++++--- src/config/launcher/repairer.rs | 2 +- src/config/mod.rs | 2 +- src/config/patch.rs | 2 +- src/fps_unlocker/config_schema.rs | 4 ++-- src/lib.rs | 2 ++ 21 files changed, 31 insertions(+), 23 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 5ecfe67..dc2a731 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "anime-launcher-sdk" -version = "0.1.0" +version = "0.1.1" authors = ["Nikita Podvirnyy "] license = "GPL-3.0" readme = "README.md" diff --git a/src/config/game/dxvk.rs b/src/config/game/dxvk.rs index 256d7be..c61de1a 100644 --- a/src/config/game/dxvk.rs +++ b/src/config/game/dxvk.rs @@ -5,7 +5,7 @@ use serde_json::Value as JsonValue; use crate::consts::launcher_dir; -#[derive(Debug, Clone, Serialize, Deserialize)] +#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)] pub struct Dxvk { pub builds: PathBuf } diff --git a/src/config/game/enhancements/fps_unlocker/config/mod.rs b/src/config/game/enhancements/fps_unlocker/config/mod.rs index ab0d7ff..795eafd 100644 --- a/src/config/game/enhancements/fps_unlocker/config/mod.rs +++ b/src/config/game/enhancements/fps_unlocker/config/mod.rs @@ -11,7 +11,7 @@ pub mod prelude { use prelude::*; -#[derive(Debug, Clone, Serialize, Deserialize)] +#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)] pub struct Config { pub fps: u64, pub power_saving: bool, diff --git a/src/config/game/enhancements/fps_unlocker/mod.rs b/src/config/game/enhancements/fps_unlocker/mod.rs index abd4b88..c0a6c7f 100644 --- a/src/config/game/enhancements/fps_unlocker/mod.rs +++ b/src/config/game/enhancements/fps_unlocker/mod.rs @@ -15,7 +15,7 @@ pub mod prelude { use prelude::*; -#[derive(Debug, Clone, Serialize, Deserialize)] +#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)] pub struct FpsUnlocker { pub path: PathBuf, pub enabled: bool, diff --git a/src/config/game/enhancements/fsr.rs b/src/config/game/enhancements/fsr.rs index 5b6794f..02601e2 100644 --- a/src/config/game/enhancements/fsr.rs +++ b/src/config/game/enhancements/fsr.rs @@ -3,7 +3,7 @@ use std::collections::HashMap; use serde::{Serialize, Deserialize}; use serde_json::Value as JsonValue; -#[derive(Debug, Clone, Copy, Serialize, Deserialize)] +#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)] pub struct Fsr { pub strength: u64, pub enabled: bool diff --git a/src/config/game/enhancements/gamescope/framerate.rs b/src/config/game/enhancements/gamescope/framerate.rs index 35b7061..79c9445 100644 --- a/src/config/game/enhancements/gamescope/framerate.rs +++ b/src/config/game/enhancements/gamescope/framerate.rs @@ -1,7 +1,7 @@ use serde::{Serialize, Deserialize}; use serde_json::Value as JsonValue; -#[derive(Debug, Clone, Copy, Serialize, Deserialize, Default)] +#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize, Default)] pub struct Framerate { pub focused: u64, pub unfocused: u64 diff --git a/src/config/game/enhancements/gamescope/mod.rs b/src/config/game/enhancements/gamescope/mod.rs index 0e5783d..d240edc 100644 --- a/src/config/game/enhancements/gamescope/mod.rs +++ b/src/config/game/enhancements/gamescope/mod.rs @@ -14,7 +14,7 @@ pub mod prelude { use prelude::*; -#[derive(Debug, Clone, Copy, Serialize, Deserialize)] +#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)] pub struct Gamescope { pub enabled: bool, pub game: Size, diff --git a/src/config/game/enhancements/gamescope/size.rs b/src/config/game/enhancements/gamescope/size.rs index fc63de0..b5d8700 100644 --- a/src/config/game/enhancements/gamescope/size.rs +++ b/src/config/game/enhancements/gamescope/size.rs @@ -1,7 +1,7 @@ use serde::{Serialize, Deserialize}; use serde_json::Value as JsonValue; -#[derive(Debug, Clone, Copy, Serialize, Deserialize, Default)] +#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize, Default)] pub struct Size { pub width: u64, pub height: u64 diff --git a/src/config/game/enhancements/gamescope/window_type.rs b/src/config/game/enhancements/gamescope/window_type.rs index 3889808..cbc4388 100644 --- a/src/config/game/enhancements/gamescope/window_type.rs +++ b/src/config/game/enhancements/gamescope/window_type.rs @@ -1,7 +1,9 @@ use serde::{Serialize, Deserialize}; use serde_json::Value as JsonValue; -#[derive(Debug, Clone, Copy, Serialize, Deserialize)] +use enum_ordinalize::Ordinalize; + +#[derive(Ordinalize, Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)] pub enum WindowType { Borderless, Fullscreen diff --git a/src/config/game/enhancements/hud.rs b/src/config/game/enhancements/hud.rs index 4ac14a7..cdeb4ee 100644 --- a/src/config/game/enhancements/hud.rs +++ b/src/config/game/enhancements/hud.rs @@ -7,7 +7,7 @@ use std::collections::HashMap; use crate::config::Config; -#[derive(Ordinalize, Debug, Clone, Copy, Serialize, Deserialize)] +#[derive(Ordinalize, Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)] pub enum HUD { None, DXVK, diff --git a/src/config/game/enhancements/mod.rs b/src/config/game/enhancements/mod.rs index 1f85c97..193fee1 100644 --- a/src/config/game/enhancements/mod.rs +++ b/src/config/game/enhancements/mod.rs @@ -18,7 +18,7 @@ pub mod prelude { use prelude::*; -#[derive(Debug, Clone, Serialize, Deserialize, Default)] +#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize, Default)] pub struct Enhancements { pub fsr: Fsr, pub gamemode: bool, diff --git a/src/config/game/mod.rs b/src/config/game/mod.rs index 8ae3cfc..7bc110d 100644 --- a/src/config/game/mod.rs +++ b/src/config/game/mod.rs @@ -20,7 +20,7 @@ pub mod prelude { use prelude::*; -#[derive(Debug, Clone, Serialize, Deserialize)] +#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)] pub struct Game { pub path: PathBuf, pub voices: Vec, diff --git a/src/config/game/wine/mod.rs b/src/config/game/wine/mod.rs index 6b3a36e..911a7e6 100644 --- a/src/config/game/wine/mod.rs +++ b/src/config/game/wine/mod.rs @@ -18,7 +18,7 @@ pub mod prelude { use prelude::*; -#[derive(Debug, Clone, Serialize, Deserialize)] +#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)] pub struct Wine { pub prefix: PathBuf, pub builds: PathBuf, diff --git a/src/config/game/wine/virtual_desktop.rs b/src/config/game/wine/virtual_desktop.rs index fd334f1..ed84686 100644 --- a/src/config/game/wine/virtual_desktop.rs +++ b/src/config/game/wine/virtual_desktop.rs @@ -3,7 +3,7 @@ use serde_json::Value as JsonValue; use crate::config::prelude::*; -#[derive(Debug, Clone, Copy, Serialize, Deserialize)] +#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)] pub struct VirtualDesktop { pub enabled: bool, pub width: u64, diff --git a/src/config/game/wine/wine_sync.rs b/src/config/game/wine/wine_sync.rs index d720c16..b4664fc 100644 --- a/src/config/game/wine/wine_sync.rs +++ b/src/config/game/wine/wine_sync.rs @@ -5,7 +5,7 @@ use serde_json::Value as JsonValue; use enum_ordinalize::Ordinalize; -#[derive(Ordinalize, Debug, Clone, Copy, Serialize, Deserialize)] +#[derive(Ordinalize, Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)] pub enum WineSync { None, ESync, diff --git a/src/config/launcher/mod.rs b/src/config/launcher/mod.rs index d3d98c6..9d114d0 100644 --- a/src/config/launcher/mod.rs +++ b/src/config/launcher/mod.rs @@ -3,6 +3,8 @@ use std::path::PathBuf; use serde::{Serialize, Deserialize}; use serde_json::Value as JsonValue; +use enum_ordinalize::Ordinalize; + use anime_game_core::genshin::consts::GameEdition as CoreGameEdition; use crate::consts::launcher_dir; @@ -16,7 +18,7 @@ pub mod prelude { use prelude::*; -#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)] +#[derive(Ordinalize, Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)] pub enum GameEdition { Global, China @@ -57,7 +59,9 @@ impl From for GameEdition { } } -#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)] +// TODO: I can e.g. use `.classic` file to mark launcher style + +#[derive(Ordinalize, Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)] pub enum LauncherStyle { Modern, Classic @@ -69,7 +73,7 @@ impl Default for LauncherStyle { } } -#[derive(Debug, Clone, Serialize, Deserialize)] +#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)] pub struct Launcher { pub language: String, pub temp: Option, diff --git a/src/config/launcher/repairer.rs b/src/config/launcher/repairer.rs index 1c6d2fb..3f9a13b 100644 --- a/src/config/launcher/repairer.rs +++ b/src/config/launcher/repairer.rs @@ -1,7 +1,7 @@ use serde::{Serialize, Deserialize}; use serde_json::Value as JsonValue; -#[derive(Debug, Clone, Serialize, Deserialize)] +#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)] pub struct Repairer { pub threads: u64, pub fast: bool diff --git a/src/config/mod.rs b/src/config/mod.rs index a287312..7de9456 100644 --- a/src/config/mod.rs +++ b/src/config/mod.rs @@ -152,7 +152,7 @@ pub fn flush() -> anyhow::Result<()> { } } -#[derive(Debug, Clone, Serialize, Deserialize, Default)] +#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize, Default)] pub struct Config { pub launcher: Launcher, pub game: Game, diff --git a/src/config/patch.rs b/src/config/patch.rs index ec63ba1..91bb9bc 100644 --- a/src/config/patch.rs +++ b/src/config/patch.rs @@ -5,7 +5,7 @@ use serde_json::Value as JsonValue; use crate::consts::launcher_dir; -#[derive(Debug, Clone, Serialize, Deserialize)] +#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)] pub struct Patch { pub path: PathBuf, pub servers: Vec, diff --git a/src/fps_unlocker/config_schema.rs b/src/fps_unlocker/config_schema.rs index 9b99fa7..3ed7f37 100644 --- a/src/fps_unlocker/config_schema.rs +++ b/src/fps_unlocker/config_schema.rs @@ -1,9 +1,9 @@ -use serde::Serialize; +use serde::{Serialize, Deserialize}; use crate::config::prelude::*; use super::FpsUnlockerConfig; -#[derive(Debug, Clone, Serialize)] +#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)] #[allow(non_snake_case)] pub struct ConfigSchema { pub DllList: Vec, diff --git a/src/lib.rs b/src/lib.rs index a11246f..c0a080d 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -20,6 +20,8 @@ pub mod game; #[cfg(feature = "fps-unlocker")] pub mod fps_unlocker; +pub const VERSION: &str = env!("CARGO_PKG_VERSION"); + /// Check if specified binary is available /// /// ```