| @@ -33,7 +33,7 @@ std::string FormatTitleVersion(u32 version, TitleVersionFormat format) { | ||||
|     return fmt::format("v{}.{}.{}", bytes[3], bytes[2], bytes[1]); | ||||
| } | ||||
|  | ||||
| constexpr std::array<const char*, 2> PATCH_TYPE_NAMES{ | ||||
| constexpr std::array<const char*, 3> PATCH_TYPE_NAMES{ | ||||
|     "Update", | ||||
|     "LayeredFS", | ||||
|     "DLC", | ||||
| @@ -141,7 +141,7 @@ std::map<PatchType, std::string> PatchManager::GetPatchVersionNames() const { | ||||
|     std::map<PatchType, std::string> out; | ||||
|     const auto installed = Service::FileSystem::GetUnionContents(); | ||||
|  | ||||
|     // Update | ||||
|     // Game Updates | ||||
|     const auto update_tid = GetUpdateTitleID(title_id); | ||||
|     PatchManager update{update_tid}; | ||||
|     auto [nacp, discard_icon_file] = update.GetControlMetadata(); | ||||
| @@ -160,6 +160,7 @@ std::map<PatchType, std::string> PatchManager::GetPatchVersionNames() const { | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     // LayeredFS | ||||
|     const auto lfs_dir = Service::FileSystem::GetModificationLoadRoot(title_id); | ||||
|     if (lfs_dir != nullptr && lfs_dir->GetSize() > 0) | ||||
|         out.insert_or_assign(PatchType::LayeredFS, ""); | ||||
|   | ||||
| @@ -30,7 +30,7 @@ AOC_U::AOC_U() : ServiceFramework("aoc:u") { | ||||
|         {2, &AOC_U::CountAddOnContent, "CountAddOnContent"}, | ||||
|         {3, &AOC_U::ListAddOnContent, "ListAddOnContent"}, | ||||
|         {4, nullptr, "GetAddOnContentBaseIdByApplicationId"}, | ||||
|         {5, nullptr, "GetAddOnContentBaseId"}, | ||||
|         {5, &AOC_U::GetAddOnContentBaseId, "GetAddOnContentBaseId"}, | ||||
|         {6, nullptr, "PrepareAddOnContentByApplicationId"}, | ||||
|         {7, &AOC_U::PrepareAddOnContent, "PrepareAddOnContent"}, | ||||
|         {8, nullptr, "GetAddOnContentListChangedEvent"}, | ||||
| @@ -95,10 +95,11 @@ void AOC_U::ListAddOnContent(Kernel::HLERequestContext& ctx) { | ||||
|     rb.Push(RESULT_SUCCESS); | ||||
| } | ||||
|  | ||||
| void AOC_U::GetAddOnContentBaseId(Kernel::HLERequestContext& ctx) { | ||||
|     IPC::ResponseBuilder rb{ctx, 4}; | ||||
|     rb.Push(RESULT_SUCCESS); | ||||
|     rb.Push<u64>(0); | ||||
|     LOG_WARNING(Service_AOC, "(STUBBED) called"); | ||||
|     rb.Push(Core::System::GetInstance().CurrentProcess()->program_id | DLC_BASE_TO_AOC_ID_MASK); | ||||
| } | ||||
|  | ||||
| void AOC_U::PrepareAddOnContent(Kernel::HLERequestContext& ctx) { | ||||
|     IPC::RequestParser rp{ctx}; | ||||
|   | ||||
| @@ -16,6 +16,7 @@ public: | ||||
| private: | ||||
|     void CountAddOnContent(Kernel::HLERequestContext& ctx); | ||||
|     void ListAddOnContent(Kernel::HLERequestContext& ctx); | ||||
|     void GetAddOnContentBaseId(Kernel::HLERequestContext& ctx); | ||||
|     void PrepareAddOnContent(Kernel::HLERequestContext& ctx); | ||||
|  | ||||
|     std::vector<u64> add_on_content; | ||||
|   | ||||
		Reference in New Issue
	
	Block a user