diff --git a/src/xenia/kernel/xam/xam_info.cc b/src/xenia/kernel/xam/xam_info.cc index dfc0229c2..6e3100a8b 100644 --- a/src/xenia/kernel/xam/xam_info.cc +++ b/src/xenia/kernel/xam/xam_info.cc @@ -747,6 +747,13 @@ void XamGetActiveDashAppInfo_entry(pointer_t dash_app) { } DECLARE_XAM_EXPORT1(XamGetActiveDashAppInfo, kNone, kImplemented); +void XampWebInstrumentationSetProfileCounts_entry(dword_t live_profiles, + dword_t local_profiles, + dword_t adult_profiles, + dword_t child_profiles) {} +DECLARE_XAM_EXPORT1(XampWebInstrumentationSetProfileCounts, kUserProfiles, + kStub); + } // namespace xam } // namespace kernel } // namespace xe diff --git a/src/xenia/kernel/xam/xam_user.cc b/src/xenia/kernel/xam/xam_user.cc index 19d68ab05..ccb3c6318 100644 --- a/src/xenia/kernel/xam/xam_user.cc +++ b/src/xenia/kernel/xam/xam_user.cc @@ -560,7 +560,7 @@ dword_result_t XamUserCreateAchievementEnumerator_entry( requester_xuid = xuid; } - uint32_t title_id_ = + const uint32_t title_id_ = title_id ? static_cast(title_id) : kernel_state()->title_id(); const auto user_title_achievements = @@ -569,10 +569,15 @@ dword_result_t XamUserCreateAchievementEnumerator_entry( if (!user_title_achievements.empty()) { for (const auto& entry : user_title_achievements) { + auto unlock_time = X_FILETIME(); + if (entry.IsUnlocked() && entry.unlock_time.is_valid()) { + unlock_time = entry.unlock_time; + } + auto item = AchievementDetails( entry.achievement_id, entry.achievement_name.c_str(), entry.unlocked_description.c_str(), entry.locked_description.c_str(), - entry.image_id, entry.gamerscore, entry.unlock_time, entry.flags); + entry.image_id, entry.gamerscore, unlock_time, entry.flags); e->AppendItem(item); } diff --git a/src/xenia/kernel/xboxkrnl/xboxkrnl_strings.cc b/src/xenia/kernel/xboxkrnl/xboxkrnl_strings.cc index 6da1b5380..7eeffbc7b 100644 --- a/src/xenia/kernel/xboxkrnl/xboxkrnl_strings.cc +++ b/src/xenia/kernel/xboxkrnl/xboxkrnl_strings.cc @@ -412,7 +412,7 @@ int32_t format_core(PPCContext* ppc_context, FormatData& data, ArgList& args, start[0] = '\0'; while (precision-- > 0 || value != 0) { - auto digit = (int32_t)(value % radix); + const auto digit = static_cast(value) % radix; value /= radix; assert_true(digit < strlen(digits)); *--start = digits[digit];