[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();
|
auto gpd = user_profile->GetDashboardGpd();
|
||||||
if (title_id != kDashboardID) {
|
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).
|
// First call asks for size (fill buffer_size_ptr).
|
||||||
|
@ -403,7 +403,8 @@ dword_result_t XamUserWriteProfileSettings(
|
||||||
|
|
||||||
auto gpd = user_profile->GetDashboardGpd();
|
auto gpd = user_profile->GetDashboardGpd();
|
||||||
if (title_id != kDashboardID) {
|
if (title_id != kDashboardID) {
|
||||||
gpd = user_profile->GetTitleGpd(title_id);
|
gpd = user_profile->GetTitleGpd(!title_id ? kernel_state()->title_id()
|
||||||
|
: title_id);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!gpd) {
|
if (!gpd) {
|
||||||
|
@ -605,7 +606,9 @@ dword_result_t XamUserCreateAchievementEnumerator(dword_t title_id,
|
||||||
*handle_ptr = e->handle();
|
*handle_ptr = e->handle();
|
||||||
|
|
||||||
// Copy achievements into the enumerator if game GPD is loaded
|
// 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) {
|
if (!game_gpd) {
|
||||||
XELOGE(
|
XELOGE(
|
||||||
"XamUserCreateAchievementEnumerator failed to find GPD for title %X!",
|
"XamUserCreateAchievementEnumerator failed to find GPD for title %X!",
|
||||||
|
|
Loading…
Reference in New Issue