- added `PartialEq`, `Eq` and `Copy` derives to lots
  of `config` mod's structs;
  `Ordinalize` to a few of previous ones
This commit is contained in:
Observer KRypt0n_ 2023-03-02 14:57:43 +02:00
parent e662699b99
commit f1f8eb6a2c
No known key found for this signature in database
GPG key ID: 844DA47BA25FE1E2
21 changed files with 31 additions and 23 deletions

View file

@ -1,6 +1,6 @@
[package] [package]
name = "anime-launcher-sdk" name = "anime-launcher-sdk"
version = "0.1.0" version = "0.1.1"
authors = ["Nikita Podvirnyy <suimin.tu.mu.ga.mi@gmail.com>"] authors = ["Nikita Podvirnyy <suimin.tu.mu.ga.mi@gmail.com>"]
license = "GPL-3.0" license = "GPL-3.0"
readme = "README.md" readme = "README.md"

View file

@ -5,7 +5,7 @@ use serde_json::Value as JsonValue;
use crate::consts::launcher_dir; use crate::consts::launcher_dir;
#[derive(Debug, Clone, Serialize, Deserialize)] #[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
pub struct Dxvk { pub struct Dxvk {
pub builds: PathBuf pub builds: PathBuf
} }

View file

@ -11,7 +11,7 @@ pub mod prelude {
use prelude::*; use prelude::*;
#[derive(Debug, Clone, Serialize, Deserialize)] #[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
pub struct Config { pub struct Config {
pub fps: u64, pub fps: u64,
pub power_saving: bool, pub power_saving: bool,

View file

@ -15,7 +15,7 @@ pub mod prelude {
use prelude::*; use prelude::*;
#[derive(Debug, Clone, Serialize, Deserialize)] #[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
pub struct FpsUnlocker { pub struct FpsUnlocker {
pub path: PathBuf, pub path: PathBuf,
pub enabled: bool, pub enabled: bool,

View file

@ -3,7 +3,7 @@ use std::collections::HashMap;
use serde::{Serialize, Deserialize}; use serde::{Serialize, Deserialize};
use serde_json::Value as JsonValue; use serde_json::Value as JsonValue;
#[derive(Debug, Clone, Copy, Serialize, Deserialize)] #[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
pub struct Fsr { pub struct Fsr {
pub strength: u64, pub strength: u64,
pub enabled: bool pub enabled: bool

View file

@ -1,7 +1,7 @@
use serde::{Serialize, Deserialize}; use serde::{Serialize, Deserialize};
use serde_json::Value as JsonValue; 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 struct Framerate {
pub focused: u64, pub focused: u64,
pub unfocused: u64 pub unfocused: u64

View file

@ -14,7 +14,7 @@ pub mod prelude {
use prelude::*; use prelude::*;
#[derive(Debug, Clone, Copy, Serialize, Deserialize)] #[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
pub struct Gamescope { pub struct Gamescope {
pub enabled: bool, pub enabled: bool,
pub game: Size, pub game: Size,

View file

@ -1,7 +1,7 @@
use serde::{Serialize, Deserialize}; use serde::{Serialize, Deserialize};
use serde_json::Value as JsonValue; 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 struct Size {
pub width: u64, pub width: u64,
pub height: u64 pub height: u64

View file

@ -1,7 +1,9 @@
use serde::{Serialize, Deserialize}; use serde::{Serialize, Deserialize};
use serde_json::Value as JsonValue; 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 { pub enum WindowType {
Borderless, Borderless,
Fullscreen Fullscreen

View file

@ -7,7 +7,7 @@ use std::collections::HashMap;
use crate::config::Config; use crate::config::Config;
#[derive(Ordinalize, Debug, Clone, Copy, Serialize, Deserialize)] #[derive(Ordinalize, Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
pub enum HUD { pub enum HUD {
None, None,
DXVK, DXVK,

View file

@ -18,7 +18,7 @@ pub mod prelude {
use prelude::*; use prelude::*;
#[derive(Debug, Clone, Serialize, Deserialize, Default)] #[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize, Default)]
pub struct Enhancements { pub struct Enhancements {
pub fsr: Fsr, pub fsr: Fsr,
pub gamemode: bool, pub gamemode: bool,

View file

@ -20,7 +20,7 @@ pub mod prelude {
use prelude::*; use prelude::*;
#[derive(Debug, Clone, Serialize, Deserialize)] #[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
pub struct Game { pub struct Game {
pub path: PathBuf, pub path: PathBuf,
pub voices: Vec<String>, pub voices: Vec<String>,

View file

@ -18,7 +18,7 @@ pub mod prelude {
use prelude::*; use prelude::*;
#[derive(Debug, Clone, Serialize, Deserialize)] #[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
pub struct Wine { pub struct Wine {
pub prefix: PathBuf, pub prefix: PathBuf,
pub builds: PathBuf, pub builds: PathBuf,

View file

@ -3,7 +3,7 @@ use serde_json::Value as JsonValue;
use crate::config::prelude::*; use crate::config::prelude::*;
#[derive(Debug, Clone, Copy, Serialize, Deserialize)] #[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
pub struct VirtualDesktop { pub struct VirtualDesktop {
pub enabled: bool, pub enabled: bool,
pub width: u64, pub width: u64,

View file

@ -5,7 +5,7 @@ use serde_json::Value as JsonValue;
use enum_ordinalize::Ordinalize; use enum_ordinalize::Ordinalize;
#[derive(Ordinalize, Debug, Clone, Copy, Serialize, Deserialize)] #[derive(Ordinalize, Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
pub enum WineSync { pub enum WineSync {
None, None,
ESync, ESync,

View file

@ -3,6 +3,8 @@ use std::path::PathBuf;
use serde::{Serialize, Deserialize}; use serde::{Serialize, Deserialize};
use serde_json::Value as JsonValue; use serde_json::Value as JsonValue;
use enum_ordinalize::Ordinalize;
use anime_game_core::genshin::consts::GameEdition as CoreGameEdition; use anime_game_core::genshin::consts::GameEdition as CoreGameEdition;
use crate::consts::launcher_dir; use crate::consts::launcher_dir;
@ -16,7 +18,7 @@ pub mod prelude {
use prelude::*; use prelude::*;
#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)] #[derive(Ordinalize, Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
pub enum GameEdition { pub enum GameEdition {
Global, Global,
China China
@ -57,7 +59,9 @@ impl From<CoreGameEdition> 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 { pub enum LauncherStyle {
Modern, Modern,
Classic 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 struct Launcher {
pub language: String, pub language: String,
pub temp: Option<PathBuf>, pub temp: Option<PathBuf>,

View file

@ -1,7 +1,7 @@
use serde::{Serialize, Deserialize}; use serde::{Serialize, Deserialize};
use serde_json::Value as JsonValue; use serde_json::Value as JsonValue;
#[derive(Debug, Clone, Serialize, Deserialize)] #[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
pub struct Repairer { pub struct Repairer {
pub threads: u64, pub threads: u64,
pub fast: bool pub fast: bool

View file

@ -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 struct Config {
pub launcher: Launcher, pub launcher: Launcher,
pub game: Game, pub game: Game,

View file

@ -5,7 +5,7 @@ use serde_json::Value as JsonValue;
use crate::consts::launcher_dir; use crate::consts::launcher_dir;
#[derive(Debug, Clone, Serialize, Deserialize)] #[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
pub struct Patch { pub struct Patch {
pub path: PathBuf, pub path: PathBuf,
pub servers: Vec<String>, pub servers: Vec<String>,

View file

@ -1,9 +1,9 @@
use serde::Serialize; use serde::{Serialize, Deserialize};
use crate::config::prelude::*; use crate::config::prelude::*;
use super::FpsUnlockerConfig; use super::FpsUnlockerConfig;
#[derive(Debug, Clone, Serialize)] #[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
#[allow(non_snake_case)] #[allow(non_snake_case)]
pub struct ConfigSchema { pub struct ConfigSchema {
pub DllList: Vec<String>, pub DllList: Vec<String>,

View file

@ -20,6 +20,8 @@ pub mod game;
#[cfg(feature = "fps-unlocker")] #[cfg(feature = "fps-unlocker")]
pub mod fps_unlocker; pub mod fps_unlocker;
pub const VERSION: &str = env!("CARGO_PKG_VERSION");
/// Check if specified binary is available /// Check if specified binary is available
/// ///
/// ``` /// ```