This commit is contained in:
mxve 2023-09-10 16:58:42 +02:00
parent 140f4c335f
commit ad7e78ec47
2 changed files with 29 additions and 0 deletions

22
src/config.rs Normal file
View File

@ -0,0 +1,22 @@
use crate::structs::Config;
use std::{fs, path::PathBuf};
const DEFAULT: Config = Config {
update_only: false,
skip_self_update: false,
bonus_content: false,
};
pub fn load(config_path: PathBuf) -> Config {
if config_path.exists() {
let cfg = fs::read_to_string(&config_path).unwrap();
let cfg: Config = serde_json::from_str(&cfg).unwrap_or(DEFAULT);
return cfg;
}
DEFAULT
}
pub fn save(config_path: PathBuf, config: Config) {
fs::write(config_path, serde_json::to_string(&config).unwrap()).unwrap();
}

View File

@ -12,3 +12,10 @@ pub struct Game<'a> {
pub references: Vec<&'a str>,
pub app_id: u32,
}
#[derive(serde::Deserialize, serde::Serialize)]
pub struct Config {
pub update_only: bool,
pub skip_self_update: bool,
pub bonus_content: bool,
}