From 9eb57f818d9f3efce11d54e1b117ff3daca59341 Mon Sep 17 00:00:00 2001 From: bigfoot547 Date: Tue, 18 Feb 2025 18:09:22 -0600 Subject: add demo flag --- ozone-cli/src/cli.rs | 8 +++++++- ozone-cli/src/main.rs | 8 ++++---- 2 files changed, 11 insertions(+), 5 deletions(-) (limited to 'ozone-cli') diff --git a/ozone-cli/src/cli.rs b/ozone-cli/src/cli.rs index 8ed2f33..f94a912 100644 --- a/ozone-cli/src/cli.rs +++ b/ozone-cli/src/cli.rs @@ -211,6 +211,12 @@ pub struct AccountArgs { pub command: AccountCommand } +#[derive(Args, Debug)] +pub struct LaunchArgs { + #[arg(long)] + pub demo: bool +} + #[derive(Subcommand, Debug)] pub enum RootCommand { /// Manages instances. @@ -224,7 +230,7 @@ pub enum RootCommand { Account(AccountArgs), /// Launches the selected instance with the selected account. - Launch + Launch(LaunchArgs) } #[derive(Parser, Debug)] diff --git a/ozone-cli/src/main.rs b/ozone-cli/src/main.rs index 03f249a..f346d8d 100644 --- a/ozone-cli/src/main.rs +++ b/ozone-cli/src/main.rs @@ -418,7 +418,7 @@ async fn main_inner(cli: Cli) -> Result> { } } } - RootCommand::Launch => { + RootCommand::Launch(args) => { let Some(selection) = settings.selected_instance else { eprintln!("No instance selected."); return Ok(ExitCode::FAILURE); @@ -435,7 +435,7 @@ async fn main_inner(cli: Cli) -> Result> { eprintln!("No account selected."); return Ok(ExitCode::FAILURE); }; - + if let Account::MSA(msa_acct) = account { let client = MsaAccount::create_client(); @@ -456,7 +456,7 @@ async fn main_inner(cli: Cli) -> Result> { accounts.save(&accounts_path).await?; } - + let Some((_, account)) = accounts.get_selected_account() else { eprintln!("No account selected."); return Ok(ExitCode::FAILURE); @@ -465,7 +465,7 @@ async fn main_inner(cli: Cli) -> Result> { println!("Preparing the game files..."); let launcher = Launcher::new(&home, !cli.offline).await?; - let launch = launcher.prepare_launch(inst, Settings::get_instance_path(selection), settings.client_id, account, false).await.map_err(|e| { + let launch = launcher.prepare_launch(inst, Settings::get_instance_path(selection), settings.client_id, account, args.demo).await.map_err(|e| { error!("error launching: {e}"); e })?; -- cgit v1.2.3-70-g09d2