Add "update" cli arg

This commit is contained in:
mxve 2023-06-12 02:54:55 +02:00
parent eb508f2b48
commit b15d0eb7d7
2 changed files with 14 additions and 2 deletions

View File

@ -6,4 +6,5 @@
---
- Passing iw4-sp, iw5-mod or iw6-mod as the first argument will skip automatic game detection
- Passing ```iw4-sp```, ```iw5-mod``` or ```iw6-mod``` as the first argument will skip automatic game detection
- Passing ```update``` will stop the launcher from launching the game

View File

@ -93,11 +93,19 @@ fn launch(file_path: &PathBuf) {
}
fn main() {
let args: Vec<String> = std::env::args().collect();
let mut args: Vec<String> = std::env::args().collect();
let games_json = http::get_body_string(format!("{}/games.json", MASTER).as_str());
let games: Vec<Game> = serde_json::from_str(&games_json).unwrap();
let mut update_only = false;
if args.contains(&String::from("update")) {
update_only = true;
args.iter()
.position(|r| r == "update")
.map(|e| args.remove(e));
}
let mut game: String = String::new();
if args.len() > 1 {
game = String::from(&args[1]);
@ -115,6 +123,9 @@ fn main() {
for g in games.iter() {
if g.client == game {
update(g);
if update_only {
return;
}
launch(&PathBuf::from(format!("{}.exe", g.client)));
return;
}