show proper error on failed login (#751)

* show proper error on failed login

* more
This commit is contained in:
Logan McNaughton 2026-04-15 16:02:34 +02:00 committed by GitHub
parent 40e250386e
commit 7100750e2d
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 18 additions and 4 deletions

View File

@ -313,15 +313,25 @@ pub fn is_user_logged_in() -> bool {
}
pub fn get_username() -> &'static str {
unsafe {
std::ffi::CStr::from_ptr(ra_get_username())
let c_username = unsafe { ra_get_username() };
if c_username.is_null() {
"unknown"
} else {
unsafe { std::ffi::CStr::from_ptr(c_username) }
.to_str()
.unwrap()
}
}
pub fn get_token() -> &'static str {
unsafe { std::ffi::CStr::from_ptr(ra_get_token()).to_str().unwrap() }
let c_token = unsafe { ra_get_token() };
if c_token.is_null() {
"unknown"
} else {
unsafe { std::ffi::CStr::from_ptr(c_token) }
.to_str()
.unwrap()
}
}
pub fn state_size() -> usize {

View File

@ -32,6 +32,7 @@ pub struct GameSettings {
}
pub struct RASettings {
pub enabled: bool,
pub hardcore: bool,
pub challenge: bool,
pub leaderboard: bool,
@ -360,7 +361,7 @@ pub fn run_rom(
"--cheats",
cheats_path.to_str().unwrap(),
]);
} else if retroachievements::is_user_logged_in() {
} else if ra_settings.enabled {
command.args([
"--ra-username",
retroachievements::get_username(),
@ -445,6 +446,7 @@ fn open_rom(app: &AppWindow) {
let overclock = app.get_overclock_n64_cpu();
let disable_expansion_pak = app.get_disable_expansion_pak();
let ra_enabled = app.get_ra_enabled();
let ra_hardcore = app.get_ra_hardcore();
let ra_challenge = app.get_ra_challenge();
let ra_leaderboard = app.get_ra_leaderboard();
@ -479,6 +481,7 @@ fn open_rom(app: &AppWindow) {
},
None,
RASettings {
enabled: ra_enabled,
hardcore: ra_hardcore,
challenge: ra_challenge,
leaderboard: ra_leaderboard,

View File

@ -1108,6 +1108,7 @@ fn setup_wait_window(
player_number: player_number as u8,
}),
RASettings {
enabled: false,
hardcore: false,
challenge: false,
leaderboard: false,