mirror of
https://git.eden-emu.dev/eden-emu/eden.git
synced 2026-11-01 03:50:37 +00:00
[hle/ns/am] Hijacks PlayerSelect Data to enable player selection and fix structs and returns on ns/am (#3374)
Makes games like Alien Hominid let you skip with only 1 user enabled :) Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3374 Reviewed-by: MaranBr <maranbr@eden-emu.dev> Reviewed-by: DraVee <dravee@eden-emu.dev> Co-authored-by: Maufeat <sahyno1996@gmail.com> Co-committed-by: Maufeat <sahyno1996@gmail.com>
This commit is contained in:
@@ -361,7 +361,7 @@ IApplicationManagerInterface::IApplicationManagerInterface(Core::System& system_
|
||||
{2517, nullptr, "CreateApplicationInstance"},
|
||||
{2518, nullptr, "UpdateQualificationForDebug"},
|
||||
{2519, nullptr, "IsQualificationTransitionSupported"},
|
||||
{2520, nullptr, "IsQualificationTransitionSupportedByProcessId"},
|
||||
{2520, D<&IApplicationManagerInterface::IsQualificationTransitionSupportedByProcessId>, "IsQualificationTransitionSupportedByProcessId"},
|
||||
{2521, nullptr, "GetRightsUserChangedEvent"},
|
||||
{2522, nullptr, "IsRomRedirectionAvailable"},
|
||||
{2523, nullptr, "GetProgramId"}, //17.0.0+
|
||||
@@ -769,6 +769,13 @@ Result IApplicationManagerInterface::ResumeAll() {
|
||||
R_SUCCEED();
|
||||
}
|
||||
|
||||
Result IApplicationManagerInterface::IsQualificationTransitionSupportedByProcessId(
|
||||
Out<bool> out_is_supported, u64 process_id) {
|
||||
LOG_WARNING(Service_NS, "(STUBBED) called, process_id={}", process_id);
|
||||
*out_is_supported = true;
|
||||
R_SUCCEED();
|
||||
}
|
||||
|
||||
Result IApplicationManagerInterface::GetStorageSize(Out<s64> out_total_space_size,
|
||||
Out<s64> out_free_space_size,
|
||||
FileSys::StorageId storage_id) {
|
||||
|
||||
@@ -53,6 +53,8 @@ public:
|
||||
Result GetFreeSpaceSize(Out<s64> out_free_space_size, FileSys::StorageId storage_id);
|
||||
Result GetGameCardUpdateDetectionEvent(OutCopyHandle<Kernel::KReadableEvent> out_event);
|
||||
Result ResumeAll();
|
||||
Result IsQualificationTransitionSupportedByProcessId(Out<bool> out_is_supported,
|
||||
u64 process_id);
|
||||
Result GetStorageSize(Out<s64> out_total_space_size, Out<s64> out_free_space_size,
|
||||
FileSys::StorageId storage_id);
|
||||
Result TouchApplication(u64 application_id);
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
|
||||
// SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
// SPDX-FileCopyrightText: Copyright 2024 yuzu Emulator Project
|
||||
@@ -68,9 +68,9 @@ Result IDynamicRightsInterface::VerifyActivatedRightsOwners(u64 rights_handle) {
|
||||
}
|
||||
|
||||
Result IDynamicRightsInterface::HasAccountRestrictedRightsInRunningApplications(
|
||||
Out<u32> out_status, u64 rights_handle) {
|
||||
LOG_WARNING(Service_NS, "(STUBBED) called, rights_handle={:#x}", rights_handle);
|
||||
*out_status = 0;
|
||||
Out<bool> out_is_restricted) {
|
||||
LOG_WARNING(Service_NS, "(STUBBED) called");
|
||||
*out_is_restricted = 0;
|
||||
R_SUCCEED();
|
||||
}
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
|
||||
// SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
// SPDX-FileCopyrightText: Copyright 2024 yuzu Emulator Project
|
||||
@@ -20,8 +20,7 @@ private:
|
||||
Result NotifyApplicationRightsCheckStart();
|
||||
Result GetRunningApplicationStatus(Out<u32> out_status, u64 rights_handle);
|
||||
Result VerifyActivatedRightsOwners(u64 rights_handle);
|
||||
Result HasAccountRestrictedRightsInRunningApplications(Out<u32> out_status,
|
||||
u64 rights_handle);
|
||||
Result HasAccountRestrictedRightsInRunningApplications(Out<bool> out_is_restricted);
|
||||
};
|
||||
|
||||
} // namespace Service::NS
|
||||
|
||||
Reference in New Issue
Block a user