diff options
| author | bunnei <bunneidev@gmail.com> | 2018-12-10 21:52:19 -0500 | 
|---|---|---|
| committer | GitHub <noreply@github.com> | 2018-12-10 21:52:19 -0500 | 
| commit | 2c45c6d23431021efb1053abcb40064256aac338 (patch) | |
| tree | edd00a30fa32460e8158992d53768038e83141dc /src/core/hle/service | |
| parent | 9eb9b344c7566b529fb3a7ac0feca86213c00d81 (diff) | |
| parent | f6f65035785479934ddd443a9236ec142b7a0ed6 (diff) | |
Merge pull request #1819 from DarkLordZach/disable-addons
patch_manager: Add support for disabling patches
Diffstat (limited to 'src/core/hle/service')
| -rw-r--r-- | src/core/hle/service/aoc/aoc_u.cpp | 12 | 
1 files changed, 12 insertions, 0 deletions
diff --git a/src/core/hle/service/aoc/aoc_u.cpp b/src/core/hle/service/aoc/aoc_u.cpp index 0417fdb92..b506bc3dd 100644 --- a/src/core/hle/service/aoc/aoc_u.cpp +++ b/src/core/hle/service/aoc/aoc_u.cpp @@ -20,6 +20,7 @@  #include "core/hle/service/aoc/aoc_u.h"  #include "core/hle/service/filesystem/filesystem.h"  #include "core/loader/loader.h" +#include "core/settings.h"  namespace Service::AOC { @@ -76,6 +77,13 @@ void AOC_U::CountAddOnContent(Kernel::HLERequestContext& ctx) {      rb.Push(RESULT_SUCCESS);      const auto current = Core::System::GetInstance().CurrentProcess()->GetTitleID(); + +    const auto& disabled = Settings::values.disabled_addons[current]; +    if (std::find(disabled.begin(), disabled.end(), "DLC") != disabled.end()) { +        rb.Push<u32>(0); +        return; +    } +      rb.Push<u32>(static_cast<u32>(          std::count_if(add_on_content.begin(), add_on_content.end(),                        [current](u64 tid) { return CheckAOCTitleIDMatchesBase(tid, current); }))); @@ -96,6 +104,10 @@ void AOC_U::ListAddOnContent(Kernel::HLERequestContext& ctx) {              out.push_back(static_cast<u32>(add_on_content[i] & 0x7FF));      } +    const auto& disabled = Settings::values.disabled_addons[current]; +    if (std::find(disabled.begin(), disabled.end(), "DLC") != disabled.end()) +        out = {}; +      if (out.size() < offset) {          IPC::ResponseBuilder rb{ctx, 2};          // TODO(DarkLordZach): Find the correct error code.  | 
