@@ -1394,16 +1394,7 @@ void Achievements::HandleSubsetCompleteEvent(const rc_client_event_t* event)
13941394 if (g_settings.achievements_notifications && event->subset ->badge_name [0 ] != ' \0 ' )
13951395 {
13961396 // Need to grab the icon for the subset.
1397- std::string badge_path = GetLocalImagePath (event->subset ->badge_name , RC_IMAGE_TYPE_GAME);
1398- if (!FileSystem::FileExists (badge_path.c_str ()))
1399- {
1400- std::string url;
1401- if (IsUsingRAIntegration () || !event->subset ->badge_url )
1402- url = GetImageURL (event->subset ->badge_name , RC_IMAGE_TYPE_GAME);
1403- else
1404- url = event->subset ->badge_url ;
1405- DownloadImage (std::move (url), badge_path);
1406- }
1397+ std::string badge_path = GetSubsetBadgePath (event->subset );
14071398
14081399 std::string message = fmt::format (
14091400 TRANSLATE_FS (" Achievements" , " Subset complete.\n {0}, {1}." ),
@@ -1873,6 +1864,22 @@ std::string Achievements::GetLeaderboardUserBadgePath(const rc_client_leaderboar
18731864 return path;
18741865}
18751866
1867+ std::string Achievements::GetSubsetBadgePath (const rc_client_subset_t * subset)
1868+ {
1869+ std::string badge_path = GetLocalImagePath (subset->badge_name , RC_IMAGE_TYPE_GAME);
1870+ if (!FileSystem::FileExists (badge_path.c_str ()))
1871+ {
1872+ std::string url;
1873+ if (IsUsingRAIntegration () || !subset->badge_url )
1874+ url = GetImageURL (subset->badge_name , RC_IMAGE_TYPE_GAME);
1875+ else
1876+ url = subset->badge_url ;
1877+ DownloadImage (std::move (url), badge_path);
1878+ }
1879+
1880+ return badge_path;
1881+ }
1882+
18761883bool Achievements::IsLoggedIn ()
18771884{
18781885 return (rc_client_get_user_info (s_state.client ) != nullptr );
0 commit comments