Compare commits
4 Commits
v0.4.1-pre
...
v0.4.1
Author | SHA1 | Date | |
---|---|---|---|
9598ec3dfe | |||
37266207e7 | |||
e041df80c5 | |||
b157bcb2c2 |
5
.github/workflows/release.yml
vendored
5
.github/workflows/release.yml
vendored
@ -11,8 +11,9 @@ jobs:
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: taiki-e/create-gh-release-action@v1
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
with:
|
||||
draft: true
|
||||
token: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
upload-assets:
|
||||
strategy:
|
||||
|
2
Cargo.lock
generated
2
Cargo.lock
generated
@ -13,7 +13,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "alterware-launcher"
|
||||
version = "0.4.0"
|
||||
version = "0.4.1"
|
||||
dependencies = [
|
||||
"http_req",
|
||||
"mslnk",
|
||||
|
@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "alterware-launcher"
|
||||
version = "0.4.0"
|
||||
version = "0.4.1"
|
||||
edition = "2021"
|
||||
build = "res/build.rs"
|
||||
|
||||
|
29
src/main.rs
29
src/main.rs
@ -2,7 +2,6 @@ mod http;
|
||||
#[cfg(windows)]
|
||||
use mslnk::ShellLink;
|
||||
use semver::Version;
|
||||
use std::time::{SystemTime, UNIX_EPOCH};
|
||||
use std::{fs, path::PathBuf};
|
||||
#[cfg(not(windows))]
|
||||
use std::{thread, time};
|
||||
@ -27,13 +26,6 @@ struct Game<'a> {
|
||||
const MASTER: &str = "https://master.alterware.dev";
|
||||
const REPO: &str = "mxve/alterware-launcher";
|
||||
|
||||
fn get_cache_buster() -> u64 {
|
||||
match SystemTime::now().duration_since(UNIX_EPOCH) {
|
||||
Ok(n) => n.as_secs(),
|
||||
Err(_) => 1,
|
||||
}
|
||||
}
|
||||
|
||||
fn get_file_sha1(path: &PathBuf) -> String {
|
||||
let mut sha1 = sha1_smol::Sha1::new();
|
||||
sha1.update(&fs::read(path).unwrap());
|
||||
@ -176,8 +168,12 @@ fn windows_launcher_install(games: &Vec<Game>) {
|
||||
let game = games.iter().find(|&g| g.app_id == input).unwrap();
|
||||
|
||||
let launcher_path = std::env::current_exe().unwrap();
|
||||
fs::copy(launcher_path, path.join("alterware-launcher.exe")).unwrap();
|
||||
let target_path = path.join("alterware-launcher.exe");
|
||||
|
||||
if launcher_path != target_path {
|
||||
fs::copy(launcher_path, target_path).unwrap();
|
||||
println!("Launcher copied to {}", path.display());
|
||||
}
|
||||
setup_client_links(game, path);
|
||||
|
||||
println!("Create Desktop shortcut? (Y/n)");
|
||||
@ -218,7 +214,7 @@ fn windows_launcher_install(games: &Vec<Game>) {
|
||||
|
||||
fn update(game: &Game) {
|
||||
let cdn_info: Vec<CdnFile> = serde_json::from_str(&http::get_body_string(
|
||||
format!("{}/files.json?{}", MASTER, get_cache_buster()).as_str(),
|
||||
format!("{}/files.json", MASTER).as_str(),
|
||||
))
|
||||
.unwrap();
|
||||
|
||||
@ -238,10 +234,7 @@ fn update(game: &Game) {
|
||||
sha1_local,
|
||||
sha1_remote
|
||||
);
|
||||
http::download_file(
|
||||
&format!("{}/{}?{}", MASTER, file.name, get_cache_buster()),
|
||||
&file_path,
|
||||
);
|
||||
http::download_file(&format!("{}/{}", MASTER, file.name), &file_path);
|
||||
}
|
||||
} else {
|
||||
println!("Downloading {}...", file_path.display());
|
||||
@ -250,10 +243,7 @@ fn update(game: &Game) {
|
||||
fs::create_dir_all(parent).unwrap();
|
||||
}
|
||||
}
|
||||
http::download_file(
|
||||
&format!("{}/{}?{}", MASTER, file.name, get_cache_buster()),
|
||||
&file_path,
|
||||
);
|
||||
http::download_file(&format!("{}/{}", MASTER, file.name), &file_path);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -278,8 +268,7 @@ fn main() {
|
||||
.map(|e| args.remove(e));
|
||||
}
|
||||
|
||||
let games_json =
|
||||
http::get_body_string(format!("{}/games.json?{}", MASTER, get_cache_buster()).as_str());
|
||||
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;
|
||||
|
Reference in New Issue
Block a user