summaryrefslogtreecommitdiffstats
path: root/ozone-cli
diff options
context:
space:
mode:
authorLibravatar bigfoot547 <[email protected]>2025-02-18 18:09:22 -0600
committerLibravatar bigfoot547 <[email protected]>2025-02-18 18:09:22 -0600
commit9eb57f818d9f3efce11d54e1b117ff3daca59341 (patch)
tree3f535ad93da5cfdb37c18cf7c8292935dfa3d53e /ozone-cli
parentlaunch the game with an account (diff)
add demo flag
Diffstat (limited to 'ozone-cli')
-rw-r--r--ozone-cli/src/cli.rs8
-rw-r--r--ozone-cli/src/main.rs8
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
})?;