2 Commits

Author SHA1 Message Date
757c1acf1b v0.2.3 2023-06-12 18:11:16 +02:00
b15d0eb7d7 Add "update" cli arg 2023-06-12 02:54:55 +02:00
3 changed files with 15 additions and 3 deletions

View File

@ -1,6 +1,6 @@
[package]
name = "alterware-launcher"
version = "0.2.2"
version = "0.2.3"
edition = "2021"
build = "res/build.rs"

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;
}