revert 460, system_archive

This commit is contained in:
Pavel Barabanov 2025-06-20 20:55:25 +03:00 committed by crueter
parent 9450fbf04e
commit d250421904
No known key found for this signature in database
GPG key ID: 425ACD2D4830EBC6
3 changed files with 15 additions and 23 deletions

View file

@ -13,7 +13,7 @@
namespace FileSys::SystemArchive {
constexpr u64 SYSTEM_ARCHIVE_BASE_TITLE_ID = 0x0100000000000800;
constexpr std::size_t SYSTEM_ARCHIVE_COUNT = 0x28;
constexpr std::size_t SYSTEM_ARCHIVE_COUNT = 0x30;
using SystemArchiveSupplier = VirtualDir (*)();
@ -64,6 +64,14 @@ constexpr std::array<SystemArchiveDescriptor, SYSTEM_ARCHIVE_COUNT> SYSTEM_ARCHI
{0x0100000000000825, "ApplicationBlackList", nullptr},
{0x0100000000000826, "RebootlessSystemUpdateVersion", nullptr},
{0x0100000000000827, "ContentActionTable", nullptr},
{0x0100000000000828, "FunctionBlackList", nullptr},
{0x0100000000000829, "PlatformConfigCalcio", nullptr},
{0x0100000000000830, "NgWordT", nullptr},
{0x0100000000000831, "PlatformConfigAula", nullptr},
{0x0100000000000832, "CradleFirmware", nullptr},
{0x0100000000000835, "ErrorMessageUtf8", nullptr},
{0x0100000000000859, "Unknown859", nullptr}, // 20.0.0+
{0x010000000000085C, "Unknown85C", nullptr}, // 20.0.0+
}};
VirtualFile SynthesizeSystemArchive(const u64 title_id) {

View file

@ -18,7 +18,7 @@ IAllSystemAppletProxiesService::IAllSystemAppletProxiesService(Core::System& sys
// clang-format off
static const FunctionInfo functions[] = {
{100, D<&IAllSystemAppletProxiesService::OpenSystemAppletProxy>, "OpenSystemAppletProxy"},
{110, D<&IAllSystemAppletProxiesService::Unknown110>, "Unknown110"},
{110, D<&IAllSystemAppletProxiesService::Unknown110>, "Unknown110"}, // 20.0.0+
{200, D<&IAllSystemAppletProxiesService::OpenLibraryAppletProxyOld>, "OpenLibraryAppletProxyOld"},
{201, D<&IAllSystemAppletProxiesService::OpenLibraryAppletProxy>, "OpenLibraryAppletProxy"},
{300, nullptr, "OpenOverlayAppletProxy"},
@ -26,7 +26,7 @@ IAllSystemAppletProxiesService::IAllSystemAppletProxiesService(Core::System& sys
{400, nullptr, "CreateSelfLibraryAppletCreatorForDevelop"},
{410, nullptr, "GetSystemAppletControllerForDebug"},
{450, D<&IAllSystemAppletProxiesService::GetSystemProcessCommonFunctions>, "GetSystemProcessCommonFunctions"}, // 19.0.0+
{460, D<&IAllSystemAppletProxiesService::Unknown460>, "Unknown460"},
{460, D<&IAllSystemAppletProxiesService::Unknown460>, "Unknown460"}, // 20.0.0+
{1000, nullptr, "GetDebugFunctions"},
};
// clang-format on
@ -120,28 +120,12 @@ Result IAllSystemAppletProxiesService::GetSystemProcessCommonFunctions() {
R_SUCCEED();
}
Result IAllSystemAppletProxiesService::Unknown460(
Out<SharedPointer<IAppletCommonFunctions>> out_common_functions) {
LOG_DEBUG(Service_AM, "called");
// Получаем текущий процесс
auto process = system.ApplicationProcess();
if (!process) {
LOG_ERROR(Service_AM, "No application process available");
R_THROW(ResultUnknown);
}
// Получаем applet через существующий метод
auto applet = GetAppletFromProcessId(ProcessId{process->GetProcessId()});
if (!applet) {
LOG_WARNING(Service_AM, "Applet not found for process");
R_THROW(ResultUnknown);
}
*out_common_functions = std::make_shared<IAppletCommonFunctions>(system, applet);
Result IAllSystemAppletProxiesService::Unknown460() {
LOG_DEBUG(Service_AM, "(STUBBED) called.");
R_SUCCEED();
}
std::shared_ptr<Applet> IAllSystemAppletProxiesService::GetAppletFromProcessId(
ProcessId process_id) {
return m_window_system.GetByAppletResourceUserId(process_id.pid);

View file

@ -41,7 +41,7 @@ private:
InCopyHandle<Kernel::KProcess> process_handle,
InLargeData<AppletAttribute, BufferAttr_HipcMapAlias> attribute);
Result GetSystemProcessCommonFunctions();
Result Unknown460(Out<SharedPointer<IAppletCommonFunctions>> out_common_functions);
Result Unknown460();
private:
std::shared_ptr<Applet> GetAppletFromProcessId(ProcessId pid);