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(
 | 
					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;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -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);
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -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
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -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();
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -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
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user