Skip to content

Commit

Permalink
Merge pull request #12582 from LillyJadeKatrin/retroachievements-bugf…
Browse files Browse the repository at this point in the history
…ix-2

Improved achievements disabled messaging
  • Loading branch information
AdmiralCurtiss committed Feb 18, 2024
2 parents 7d6a5d3 + 394af40 commit 982ad93
Show file tree
Hide file tree
Showing 4 changed files with 10 additions and 5 deletions.
6 changes: 6 additions & 0 deletions Source/Core/Core/AchievementManager.cpp
Expand Up @@ -884,10 +884,14 @@ void AchievementManager::SetDisabled(bool disable)
INFO_LOG_FMT(ACHIEVEMENTS, "Achievement Manager has been disabled.");
OSD::AddMessage("Please close all games to re-enable achievements.", OSD::Duration::VERY_LONG,
OSD::Color::RED);
m_update_callback();
}

if (previously_disabled && !disable)
{
INFO_LOG_FMT(ACHIEVEMENTS, "Achievement Manager has been re-enabled.");
m_update_callback();
}
};

const AchievementManager::NamedIconMap& AchievementManager::GetChallengeIcons() const
Expand Down Expand Up @@ -926,6 +930,7 @@ void AchievementManager::Logout()
{
std::lock_guard lg{m_lock};
CloseGame();
SetDisabled(false);
m_player_badge.name.clear();
Config::SetBaseOrCurrent(Config::RA_API_TOKEN, "");
}
Expand All @@ -937,6 +942,7 @@ void AchievementManager::Logout()
void AchievementManager::Shutdown()
{
CloseGame();
SetDisabled(false);
m_is_runtime_initialized = false;
m_queue.Shutdown();
// DON'T log out - keep those credentials for next run.
Expand Down
3 changes: 2 additions & 1 deletion Source/Core/Core/ConfigManager.cpp
Expand Up @@ -170,7 +170,8 @@ void SConfig::SetRunningGameMetadata(const std::string& game_id, const std::stri
return;

#ifdef USE_RETRO_ACHIEVEMENTS
AchievementManager::GetInstance().SetDisabled(true);
if (game_id != "00000000")
AchievementManager::GetInstance().SetDisabled(true);
#endif // USE_RETRO_ACHIEVEMENTS

if (game_id == "00000000")
Expand Down
1 change: 1 addition & 0 deletions Source/Core/Core/Core.cpp
Expand Up @@ -291,6 +291,7 @@ void Stop() // - Hammertime!

#ifdef USE_RETRO_ACHIEVEMENTS
AchievementManager::GetInstance().CloseGame();
AchievementManager::GetInstance().SetDisabled(false);
#endif // USE_RETRO_ACHIEVEMENTS

s_is_stopping = true;
Expand Down
Expand Up @@ -150,10 +150,7 @@ void AchievementHeaderWidget::UpdateData()
m_game_progress_hard->setVisible(false);
m_game_progress_soft->setVisible(false);
m_rich_presence->setVisible(false);
if (instance.IsDisabled())
{
m_locked_warning->setVisible(true);
}
m_locked_warning->setVisible(instance.IsDisabled());
}
}

Expand Down

0 comments on commit 982ad93

Please sign in to comment.