From bb72836838602e7d8244d880bb5619dab0d39c5b Mon Sep 17 00:00:00 2001 From: Maufeat Date: Sat, 15 Nov 2025 17:54:05 +0100 Subject: [PATCH] more changes, show app tile name in qlaunch --- .../ns/application_manager_interface.cpp | 4 ++-- ...nly_application_control_data_interface.cpp | 24 +++---------------- ..._only_application_control_data_interface.h | 2 +- src/core/hle/service/prepo/prepo.cpp | 7 ++++-- 4 files changed, 11 insertions(+), 26 deletions(-) diff --git a/src/core/hle/service/ns/application_manager_interface.cpp b/src/core/hle/service/ns/application_manager_interface.cpp index c36af6ca49..e19a1cdd4e 100644 --- a/src/core/hle/service/ns/application_manager_interface.cpp +++ b/src/core/hle/service/ns/application_manager_interface.cpp @@ -548,8 +548,8 @@ Result IApplicationManagerInterface::GetApplicationTerminateResult(Out o } Result IApplicationManagerInterface::RequestDownloadApplicationControlDataInBackground( - u64 unk, u64 application_id) { - LOG_WARNING(Service_NS, "(STUBBED), app={:016X} unk={}", application_id, unk); + u64 control_source, u64 application_id) { + LOG_WARNING(Service_NS, "(STUBBED), control_source={} app={:016X}", control_source, application_id); R_SUCCEED(); } diff --git a/src/core/hle/service/ns/read_only_application_control_data_interface.cpp b/src/core/hle/service/ns/read_only_application_control_data_interface.cpp index 42d8fc3338..abc0ee8050 100644 --- a/src/core/hle/service/ns/read_only_application_control_data_interface.cpp +++ b/src/core/hle/service/ns/read_only_application_control_data_interface.cpp @@ -27,7 +27,8 @@ IReadOnlyApplicationControlDataInterface::IReadOnlyApplicationControlDataInterfa {2, D<&IReadOnlyApplicationControlDataInterface::ConvertApplicationLanguageToLanguageCode>, "ConvertApplicationLanguageToLanguageCode"}, {3, nullptr, "ConvertLanguageCodeToApplicationLanguage"}, {4, nullptr, "SelectApplicationDesiredLanguage"}, - {5, D<&IReadOnlyApplicationControlDataInterface::GetApplicationControlDataWithIconSize>, "GetApplicationControlDataWithIconSize"}, + {5, D<&IReadOnlyApplicationControlDataInterface::GetApplicationControlDataWithoutIcon>, "GetApplicationControlDataWithIconSize"}, + {19, D<&IReadOnlyApplicationControlDataInterface::GetApplicationControlDataWithoutIcon>, "GetApplicationControlDataWithIconSize"}, }; // clang-format on @@ -163,7 +164,7 @@ Result IReadOnlyApplicationControlDataInterface::GetApplicationControlData( R_SUCCEED(); } -Result IReadOnlyApplicationControlDataInterface::GetApplicationControlDataWithIconSize( +Result IReadOnlyApplicationControlDataInterface::GetApplicationControlDataWithoutIcon( OutBuffer out_buffer, Out out_total_size, ApplicationControlSource application_control_source, @@ -173,19 +174,11 @@ Result IReadOnlyApplicationControlDataInterface::GetApplicationControlDataWithIc constexpr size_t kExpectedBufferSize = 0x14000; constexpr size_t kNACPSize = sizeof(FileSys::RawNACP); - constexpr size_t kMaxIconSize = kExpectedBufferSize - kNACPSize; const FileSys::PatchManager pm{application_id, system.GetFileSystemController(), system.GetContentProvider()}; const auto control = pm.GetControlMetadata(); - const auto size = out_buffer.size(); - - if (size < kExpectedBufferSize) { - LOG_ERROR(Service_NS, "output buffer is too small! (actual={:016X}, required={:016X})", size, kExpectedBufferSize); - R_THROW(ResultUnknown); - } - // Copy NACP if (control.first != nullptr) { const auto bytes = control.first->GetRawBytes(); std::memcpy(out_buffer.data(), bytes.data(), bytes.size()); @@ -193,17 +186,6 @@ Result IReadOnlyApplicationControlDataInterface::GetApplicationControlDataWithIc std::memset(out_buffer.data(), 0, kNACPSize); } - // Copy icon, pad with zeros if needed - size_t icon_size = control.second ? control.second->GetSize() : 0; - if (icon_size > kMaxIconSize) { - icon_size = kMaxIconSize; // Truncate if too large - } - if (control.second != nullptr && icon_size > 0) { - control.second->Read(out_buffer.data() + kNACPSize, icon_size); - } else { - std::memset(out_buffer.data() + kNACPSize, 0, kMaxIconSize); - } - *out_total_size = kExpectedBufferSize; R_SUCCEED(); } diff --git a/src/core/hle/service/ns/read_only_application_control_data_interface.h b/src/core/hle/service/ns/read_only_application_control_data_interface.h index 365e1f7ee3..0a0848bc73 100644 --- a/src/core/hle/service/ns/read_only_application_control_data_interface.h +++ b/src/core/hle/service/ns/read_only_application_control_data_interface.h @@ -31,7 +31,7 @@ public: Out out_actual_size, ApplicationControlSource application_control_source, u64 application_id); - Result GetApplicationControlDataWithIconSize( + Result GetApplicationControlDataWithoutIcon( OutBuffer out_buffer, Out out_total_size, ApplicationControlSource application_control_source, diff --git a/src/core/hle/service/prepo/prepo.cpp b/src/core/hle/service/prepo/prepo.cpp index edf5366fa9..3f9fcbf5b3 100644 --- a/src/core/hle/service/prepo/prepo.cpp +++ b/src/core/hle/service/prepo/prepo.cpp @@ -133,6 +133,9 @@ private: const auto data1 = ctx.ReadBufferA(0); const auto data2 = ctx.ReadBufferX(0); + LOG_ERROR(Service_PREPO, "called, title_id={:016X}, data1_size={:016X}, data2_size={:016X}", + title_id, data1.size(), data2.size()); + LOG_ERROR(Service_PREPO, "called, title_id={:016X}, data1_size={:016X}, data2_size={:016X}", title_id, data1.size(), data2.size()); @@ -151,7 +154,7 @@ private: Common::UUID uuid{}; std::memcpy(uuid.uuid.data(), user_id.data(), sizeof(Common::UUID)); - LOG_ERROR(Service_PREPO, + LOG_DEBUG(Service_PREPO, "called, user_id={}, title_id={:016X}, data1_size={:016X}, data2_size={:016X}", uuid.FormattedString(), title_id, data1.size(), data2.size()); @@ -172,7 +175,7 @@ private: const auto data_x = ctx.ReadBufferX(0); const auto data_a = ctx.ReadBufferA(0); - LOG_ERROR(Service_PREPO, + LOG_DEBUG(Service_PREPO, "called, field0={}, title_id={:016X}, data_a_size={}, data_x_size={}", field0, title_id, data_a.size(), data_x.size());