diff options
Diffstat (limited to 'ozone-cli/src')
| -rw-r--r-- | ozone-cli/src/main.rs | 20 |
1 files changed, 13 insertions, 7 deletions
diff --git a/ozone-cli/src/main.rs b/ozone-cli/src/main.rs index 81a44f9..03f249a 100644 --- a/ozone-cli/src/main.rs +++ b/ozone-cli/src/main.rs @@ -429,12 +429,13 @@ async fn main_inner(cli: Cli) -> Result<ExitCode, Box<dyn Error>> { let accounts_path = home.join(ACCOUNT_DB_PATH); let mut accounts = AccountStorage::load(&accounts_path).await?; - let Some(account) = accounts.get_selected_account_mut() else { - eprintln!("No account selected."); - return Ok(ExitCode::FAILURE); - }; if !cli.offline { + let Some(account) = accounts.get_selected_account_mut() else { + eprintln!("No account selected."); + return Ok(ExitCode::FAILURE); + }; + if let Account::MSA(msa_acct) = account { let client = MsaAccount::create_client(); @@ -451,15 +452,20 @@ async fn main_inner(cli: Cli) -> Result<ExitCode, Box<dyn Error>> { return Ok(ExitCode::FAILURE); } } - - accounts.save(&accounts_path).await?; } + + accounts.save(&accounts_path).await?; } + + let Some((_, account)) = accounts.get_selected_account() else { + eprintln!("No account selected."); + return Ok(ExitCode::FAILURE); + }; 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).await.map_err(|e| { + let launch = launcher.prepare_launch(inst, Settings::get_instance_path(selection), settings.client_id, account, false).await.map_err(|e| { error!("error launching: {e}"); e })?; |
