diff options
| author | 2025-02-18 18:09:22 -0600 | |
|---|---|---|
| committer | 2025-02-18 18:09:22 -0600 | |
| commit | 9eb57f818d9f3efce11d54e1b117ff3daca59341 (patch) | |
| tree | 3f535ad93da5cfdb37c18cf7c8292935dfa3d53e /ozone-cli | |
| parent | launch the game with an account (diff) | |
add demo flag
Diffstat (limited to 'ozone-cli')
| -rw-r--r-- | ozone-cli/src/cli.rs | 8 | ||||
| -rw-r--r-- | ozone-cli/src/main.rs | 8 |
2 files changed, 11 insertions, 5 deletions
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<ExitCode, Box<dyn Error>> { } } } - 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<ExitCode, Box<dyn Error>> { 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<ExitCode, Box<dyn Error>> { 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<ExitCode, Box<dyn Error>> { 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 })?; |
