diff --git a/src/core/file_sys/system_archive/system_archive.cpp b/src/core/file_sys/system_archive/system_archive.cpp index b53eef877a..361dc6d528 100644 --- a/src/core/file_sys/system_archive/system_archive.cpp +++ b/src/core/file_sys/system_archive/system_archive.cpp @@ -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 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) { diff --git a/src/core/hle/service/am/service/all_system_applet_proxies_service.cpp b/src/core/hle/service/am/service/all_system_applet_proxies_service.cpp index 506dac4faf..bf85e7630f 100644 --- a/src/core/hle/service/am/service/all_system_applet_proxies_service.cpp +++ b/src/core/hle/service/am/service/all_system_applet_proxies_service.cpp @@ -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> 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(system, applet); +Result IAllSystemAppletProxiesService::Unknown460() { + LOG_DEBUG(Service_AM, "(STUBBED) called."); R_SUCCEED(); } + std::shared_ptr IAllSystemAppletProxiesService::GetAppletFromProcessId( ProcessId process_id) { return m_window_system.GetByAppletResourceUserId(process_id.pid); diff --git a/src/core/hle/service/am/service/all_system_applet_proxies_service.h b/src/core/hle/service/am/service/all_system_applet_proxies_service.h index 7906d6b0a3..0344da6cd5 100644 --- a/src/core/hle/service/am/service/all_system_applet_proxies_service.h +++ b/src/core/hle/service/am/service/all_system_applet_proxies_service.h @@ -41,7 +41,7 @@ private: InCopyHandle process_handle, InLargeData attribute); Result GetSystemProcessCommonFunctions(); - Result Unknown460(Out> out_common_functions); + Result Unknown460(); private: std::shared_ptr GetAppletFromProcessId(ProcessId pid);