From b107435a3fbdd7b34baf23c87e3c3bc6a9a6e6ac Mon Sep 17 00:00:00 2001 From: Liam Date: Tue, 20 Feb 2024 18:40:04 -0500 Subject: ns: fix alignment of uid type --- src/core/hle/service/ns/application_manager_interface.cpp | 6 +++--- src/core/hle/service/ns/application_manager_interface.h | 2 +- src/core/hle/service/ns/ns_types.h | 5 +++++ src/core/hle/service/ns/query_service.cpp | 5 ++--- src/core/hle/service/ns/query_service.h | 4 ++-- 5 files changed, 13 insertions(+), 9 deletions(-) diff --git a/src/core/hle/service/ns/application_manager_interface.cpp b/src/core/hle/service/ns/application_manager_interface.cpp index 2e3a44c0d..7a91727f9 100644 --- a/src/core/hle/service/ns/application_manager_interface.cpp +++ b/src/core/hle/service/ns/application_manager_interface.cpp @@ -436,14 +436,14 @@ Result IApplicationManagerInterface::GetApplicationViewWithPromotionInfo( Result IApplicationManagerInterface::GetApplicationRightsOnClient( OutArray out_rights, Out out_count, - Common::UUID account_id, u32 flags, u64 application_id) { + u32 flags, u64 application_id, Uid account_id) { LOG_WARNING(Service_NS, "(STUBBED) called, flags={}, application_id={:016X}, account_id={}", - flags, application_id, account_id.FormattedString()); + flags, application_id, account_id.uuid.FormattedString()); if (!out_rights.empty()) { ApplicationRightsOnClient rights{}; rights.application_id = application_id; - rights.uid = account_id; + rights.uid = account_id.uuid; rights.flags = 0; rights.flags2 = 0; diff --git a/src/core/hle/service/ns/application_manager_interface.h b/src/core/hle/service/ns/application_manager_interface.h index 350ec37ce..f33d269b3 100644 --- a/src/core/hle/service/ns/application_manager_interface.h +++ b/src/core/hle/service/ns/application_manager_interface.h @@ -37,7 +37,7 @@ public: InArray application_ids); Result GetApplicationRightsOnClient( OutArray out_rights, Out out_count, - Common::UUID account_id, u32 flags, u64 application_id); + u32 flags, u64 application_id, Uid account_id); Result CheckSdCardMountStatus(); Result GetSdCardMountStatusChangedEvent(OutCopyHandle out_event); Result GetFreeSpaceSize(Out out_free_space_size, FileSys::StorageId storage_id); diff --git a/src/core/hle/service/ns/ns_types.h b/src/core/hle/service/ns/ns_types.h index 38421b0f4..2dd664c4e 100644 --- a/src/core/hle/service/ns/ns_types.h +++ b/src/core/hle/service/ns/ns_types.h @@ -108,4 +108,9 @@ struct ContentPath { }; static_assert(sizeof(ContentPath) == 0x10, "ContentPath has incorrect size."); +struct Uid { + alignas(8) Common::UUID uuid; +}; +static_assert(sizeof(Uid) == 0x10, "Uid has incorrect size."); + } // namespace Service::NS diff --git a/src/core/hle/service/ns/query_service.cpp b/src/core/hle/service/ns/query_service.cpp index 946b7fa23..138400541 100644 --- a/src/core/hle/service/ns/query_service.cpp +++ b/src/core/hle/service/ns/query_service.cpp @@ -41,8 +41,7 @@ IQueryService::IQueryService(Core::System& system_) : ServiceFramework{system_, IQueryService::~IQueryService() = default; Result IQueryService::QueryPlayStatisticsByApplicationIdAndUserAccountId( - Out out_play_statistics, bool unknown, Common::UUID account_id, - u64 application_id) { + Out out_play_statistics, bool unknown, u64 application_id, Uid account_id) { // TODO(German77): Read statistics of the game *out_play_statistics = { .application_id = application_id, @@ -50,7 +49,7 @@ Result IQueryService::QueryPlayStatisticsByApplicationIdAndUserAccountId( }; LOG_WARNING(Service_NS, "(STUBBED) called. unknown={}. application_id={:016X}, account_id={}", - unknown, application_id, account_id.FormattedString()); + unknown, application_id, account_id.uuid.FormattedString()); R_SUCCEED(); } diff --git a/src/core/hle/service/ns/query_service.h b/src/core/hle/service/ns/query_service.h index 6cdbfa277..c4c82b752 100644 --- a/src/core/hle/service/ns/query_service.h +++ b/src/core/hle/service/ns/query_service.h @@ -5,6 +5,7 @@ #include "common/uuid.h" #include "core/hle/service/cmif_types.h" +#include "core/hle/service/ns/ns_types.h" #include "core/hle/service/service.h" namespace Service::NS { @@ -29,8 +30,7 @@ public: private: Result QueryPlayStatisticsByApplicationIdAndUserAccountId( - Out out_play_statistics, bool unknown, Common::UUID account_id, - u64 application_id); + Out out_play_statistics, bool unknown, u64 application_id, Uid account_id); }; } // namespace Service::NS -- cgit v1.2.3