mirror of
https://github.com/an-anime-team/sleepy-launcher.git
synced 2024-11-25 22:30:22 +03:00
Added --just-run-game
flag
to run game even when predownloading is available
This commit is contained in:
parent
e375af1c95
commit
cae4bd5fc5
1 changed files with 25 additions and 5 deletions
30
src/main.rs
30
src/main.rs
|
@ -43,10 +43,24 @@ fn main() {
|
||||||
None
|
None
|
||||||
);
|
);
|
||||||
|
|
||||||
let run_game = std::rc::Rc::new(std::cell::Cell::new(false));
|
application.add_main_option(
|
||||||
|
"just-run-game",
|
||||||
|
glib::Char::from(0),
|
||||||
|
glib::OptionFlags::empty(),
|
||||||
|
glib::OptionArg::None,
|
||||||
|
"Run the game whenever it possible, ignoring updates predownloads",
|
||||||
|
None
|
||||||
|
);
|
||||||
|
|
||||||
application.connect_handle_local_options(clone!(@strong run_game => move |_, arg| {
|
let run_game = std::rc::Rc::new(std::cell::Cell::new(false));
|
||||||
if arg.contains("run-game") {
|
let just_run_game = std::rc::Rc::new(std::cell::Cell::new(false));
|
||||||
|
|
||||||
|
application.connect_handle_local_options(clone!(@strong run_game, @strong just_run_game => move |_, arg| {
|
||||||
|
if arg.contains("just-run-game") {
|
||||||
|
just_run_game.set(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
else if arg.contains("run-game") {
|
||||||
run_game.set(true);
|
run_game.set(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -102,19 +116,25 @@ fn main() {
|
||||||
// Load initial launcher state
|
// Load initial launcher state
|
||||||
let awaiter = main.update_state();
|
let awaiter = main.update_state();
|
||||||
|
|
||||||
if !run_game.get() {
|
if !run_game.get() && !just_run_game.get() {
|
||||||
main.show();
|
main.show();
|
||||||
}
|
}
|
||||||
|
|
||||||
else {
|
else {
|
||||||
use lib::launcher::states::LauncherState;
|
use lib::launcher::states::LauncherState;
|
||||||
|
|
||||||
|
let just_run_game = just_run_game.get();
|
||||||
|
|
||||||
awaiter.then(move |state| {
|
awaiter.then(move |state| {
|
||||||
let mut state = state.as_ref().expect("Failed to load launcher state");
|
let mut state = state.as_ref().expect("Failed to load launcher state");
|
||||||
|
|
||||||
#[allow(clippy::or_fun_call)]
|
#[allow(clippy::or_fun_call)]
|
||||||
if let LauncherState::PredownloadAvailable { game, voices } = state {
|
if let LauncherState::PredownloadAvailable { game, voices } = state {
|
||||||
if let Ok(config) = lib::config::get() {
|
if just_run_game {
|
||||||
|
state = &LauncherState::Launch;
|
||||||
|
}
|
||||||
|
|
||||||
|
else if let Ok(config) = lib::config::get() {
|
||||||
let mut predownloaded = true;
|
let mut predownloaded = true;
|
||||||
|
|
||||||
let temp = config.launcher.temp.unwrap_or("/tmp".into());
|
let temp = config.launcher.temp.unwrap_or("/tmp".into());
|
||||||
|
|
Loading…
Reference in a new issue