mirror of
				https://git.suyu.dev/suyu/suyu
				synced 2025-11-04 00:49:02 -06:00 
			
		
		
		
	Merge pull request #13095 from liamwhite/ns-oops
ns: fix alignment of uid type
This commit is contained in:
		@@ -436,14 +436,14 @@ Result IApplicationManagerInterface::GetApplicationViewWithPromotionInfo(
 | 
			
		||||
 | 
			
		||||
Result IApplicationManagerInterface::GetApplicationRightsOnClient(
 | 
			
		||||
    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={}",
 | 
			
		||||
                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;
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -37,7 +37,7 @@ public:
 | 
			
		||||
        InArray<u64, BufferAttr_HipcMapAlias> application_ids);
 | 
			
		||||
    Result GetApplicationRightsOnClient(
 | 
			
		||||
        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 GetSdCardMountStatusChangedEvent(OutCopyHandle<Kernel::KReadableEvent> out_event);
 | 
			
		||||
    Result GetFreeSpaceSize(Out<s64> out_free_space_size, FileSys::StorageId storage_id);
 | 
			
		||||
 
 | 
			
		||||
@@ -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
 | 
			
		||||
 
 | 
			
		||||
@@ -41,8 +41,7 @@ IQueryService::IQueryService(Core::System& system_) : ServiceFramework{system_,
 | 
			
		||||
IQueryService::~IQueryService() = default;
 | 
			
		||||
 | 
			
		||||
Result IQueryService::QueryPlayStatisticsByApplicationIdAndUserAccountId(
 | 
			
		||||
    Out<PlayStatistics> out_play_statistics, bool unknown, Common::UUID account_id,
 | 
			
		||||
    u64 application_id) {
 | 
			
		||||
    Out<PlayStatistics> 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();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -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<PlayStatistics> out_play_statistics, bool unknown, Common::UUID account_id,
 | 
			
		||||
        u64 application_id);
 | 
			
		||||
        Out<PlayStatistics> out_play_statistics, bool unknown, u64 application_id, Uid account_id);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
} // namespace Service::NS
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user