[XAM/User] Added title_id == 0 check for few User functions
Games like to report title_id as 0 (it is expected behaviour). 0 in this case means currently opened title
This commit is contained in:
parent
f95838cf6d
commit
074fcd4bb7
|
@ -254,7 +254,7 @@ dword_result_t XamUserReadProfileSettings(
|
|||
|
||||
auto gpd = user_profile->GetDashboardGpd();
|
||||
if (title_id != kDashboardID) {
|
||||
gpd = user_profile->GetTitleGpd(title_id);
|
||||
gpd = user_profile->GetTitleGpd(!title_id ? kernel_state()->title_id() : title_id);
|
||||
}
|
||||
|
||||
// First call asks for size (fill buffer_size_ptr).
|
||||
|
@ -403,7 +403,8 @@ dword_result_t XamUserWriteProfileSettings(
|
|||
|
||||
auto gpd = user_profile->GetDashboardGpd();
|
||||
if (title_id != kDashboardID) {
|
||||
gpd = user_profile->GetTitleGpd(title_id);
|
||||
gpd = user_profile->GetTitleGpd(!title_id ? kernel_state()->title_id()
|
||||
: title_id);
|
||||
}
|
||||
|
||||
if (!gpd) {
|
||||
|
@ -605,7 +606,9 @@ dword_result_t XamUserCreateAchievementEnumerator(dword_t title_id,
|
|||
*handle_ptr = e->handle();
|
||||
|
||||
// Copy achievements into the enumerator if game GPD is loaded
|
||||
auto* game_gpd = user_profile->GetTitleGpd(title_id);
|
||||
auto* game_gpd = user_profile->GetTitleGpd(
|
||||
!title_id ? kernel_state()->title_id() : title_id);
|
||||
|
||||
if (!game_gpd) {
|
||||
XELOGE(
|
||||
"XamUserCreateAchievementEnumerator failed to find GPD for title %X!",
|
||||
|
|
Loading…
Reference in New Issue