yuzu-emu
/
yuzu-mainline
Archived
1
0
Fork 0

Merge pull request #13095 from liamwhite/ns-oops

ns: fix alignment of uid type
This commit is contained in:
liamwhite 2024-02-20 21:19:35 -05:00 committed by GitHub
commit 7b5bdd076d
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
5 changed files with 13 additions and 9 deletions

View File

@ -436,14 +436,14 @@ Result IApplicationManagerInterface::GetApplicationViewWithPromotionInfo(
Result IApplicationManagerInterface::GetApplicationRightsOnClient( Result IApplicationManagerInterface::GetApplicationRightsOnClient(
OutArray<ApplicationRightsOnClient, BufferAttr_HipcMapAlias> out_rights, Out<u32> out_count, OutArray<ApplicationRightsOnClient, BufferAttr_HipcMapAlias> out_rights, Out<u32> 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={}", 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()) { if (!out_rights.empty()) {
ApplicationRightsOnClient rights{}; ApplicationRightsOnClient rights{};
rights.application_id = application_id; rights.application_id = application_id;
rights.uid = account_id; rights.uid = account_id.uuid;
rights.flags = 0; rights.flags = 0;
rights.flags2 = 0; rights.flags2 = 0;

View File

@ -37,7 +37,7 @@ public:
InArray<u64, BufferAttr_HipcMapAlias> application_ids); InArray<u64, BufferAttr_HipcMapAlias> application_ids);
Result GetApplicationRightsOnClient( Result GetApplicationRightsOnClient(
OutArray<ApplicationRightsOnClient, BufferAttr_HipcMapAlias> out_rights, Out<u32> out_count, OutArray<ApplicationRightsOnClient, BufferAttr_HipcMapAlias> out_rights, Out<u32> out_count,
Common::UUID account_id, u32 flags, u64 application_id); u32 flags, u64 application_id, Uid account_id);
Result CheckSdCardMountStatus(); Result CheckSdCardMountStatus();
Result GetSdCardMountStatusChangedEvent(OutCopyHandle<Kernel::KReadableEvent> out_event); Result GetSdCardMountStatusChangedEvent(OutCopyHandle<Kernel::KReadableEvent> out_event);
Result GetFreeSpaceSize(Out<s64> out_free_space_size, FileSys::StorageId storage_id); Result GetFreeSpaceSize(Out<s64> out_free_space_size, FileSys::StorageId storage_id);

View File

@ -108,4 +108,9 @@ struct ContentPath {
}; };
static_assert(sizeof(ContentPath) == 0x10, "ContentPath has incorrect size."); 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 } // namespace Service::NS

View File

@ -41,8 +41,7 @@ IQueryService::IQueryService(Core::System& system_) : ServiceFramework{system_,
IQueryService::~IQueryService() = default; IQueryService::~IQueryService() = default;
Result IQueryService::QueryPlayStatisticsByApplicationIdAndUserAccountId( Result IQueryService::QueryPlayStatisticsByApplicationIdAndUserAccountId(
Out<PlayStatistics> out_play_statistics, bool unknown, Common::UUID account_id, Out<PlayStatistics> out_play_statistics, bool unknown, u64 application_id, Uid account_id) {
u64 application_id) {
// TODO(German77): Read statistics of the game // TODO(German77): Read statistics of the game
*out_play_statistics = { *out_play_statistics = {
.application_id = application_id, .application_id = application_id,
@ -50,7 +49,7 @@ Result IQueryService::QueryPlayStatisticsByApplicationIdAndUserAccountId(
}; };
LOG_WARNING(Service_NS, "(STUBBED) called. unknown={}. application_id={:016X}, account_id={}", 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(); R_SUCCEED();
} }

View File

@ -5,6 +5,7 @@
#include "common/uuid.h" #include "common/uuid.h"
#include "core/hle/service/cmif_types.h" #include "core/hle/service/cmif_types.h"
#include "core/hle/service/ns/ns_types.h"
#include "core/hle/service/service.h" #include "core/hle/service/service.h"
namespace Service::NS { namespace Service::NS {
@ -29,8 +30,7 @@ public:
private: private:
Result QueryPlayStatisticsByApplicationIdAndUserAccountId( Result QueryPlayStatisticsByApplicationIdAndUserAccountId(
Out<PlayStatistics> out_play_statistics, bool unknown, Common::UUID account_id, Out<PlayStatistics> out_play_statistics, bool unknown, u64 application_id, Uid account_id);
u64 application_id);
}; };
} // namespace Service::NS } // namespace Service::NS