From ef427e4cb06bb0e78862372f0fe2f5fcd81d8579 Mon Sep 17 00:00:00 2001
From: Morph <39850852+Morph1984@users.noreply.github.com>
Date: Thu, 4 Nov 2021 16:48:47 -0400
Subject: [PATCH] service: aoc: Stub NotifyMountAddOnContent and
 NotifyMountAddOnContent

Used by Animal Crossing: New Horizons v2.0.0 DLC
---
 src/core/hle/service/aoc/aoc_u.cpp | 19 +++++++++++++++++++
 src/core/hle/service/aoc/aoc_u.h   |  2 ++
 2 files changed, 21 insertions(+)

diff --git a/src/core/hle/service/aoc/aoc_u.cpp b/src/core/hle/service/aoc/aoc_u.cpp
index 4c54066c67..84e6d4c1a0 100644
--- a/src/core/hle/service/aoc/aoc_u.cpp
+++ b/src/core/hle/service/aoc/aoc_u.cpp
@@ -124,9 +124,14 @@ AOC_U::AOC_U(Core::System& system_)
         {8, &AOC_U::GetAddOnContentListChangedEvent, "GetAddOnContentListChangedEvent"},
         {9, nullptr, "GetAddOnContentLostErrorCode"},
         {10, &AOC_U::GetAddOnContentListChangedEventWithProcessId, "GetAddOnContentListChangedEventWithProcessId"},
+        {11, &AOC_U::NotifyMountAddOnContent, "NotifyMountAddOnContent"},
+        {12, nullptr, "NotifyUnmountAddOnContent"},
+        {13, nullptr, "IsAddOnContentMountedForDebug"},
+        {50, &AOC_U::CheckAddOnContentMountStatus, "CheckAddOnContentMountStatus"},
         {100, &AOC_U::CreateEcPurchasedEventManager, "CreateEcPurchasedEventManager"},
         {101, &AOC_U::CreatePermanentEcPurchasedEventManager, "CreatePermanentEcPurchasedEventManager"},
         {110, nullptr, "CreateContentsServiceManager"},
+        {200, nullptr, "SetRequiredAddOnContentsOnContentsAvailabilityTransition"},
     };
     // clang-format on
 
@@ -272,6 +277,20 @@ void AOC_U::GetAddOnContentListChangedEventWithProcessId(Kernel::HLERequestConte
     rb.PushCopyObjects(aoc_change_event->GetReadableEvent());
 }
 
+void AOC_U::NotifyMountAddOnContent(Kernel::HLERequestContext& ctx) {
+    LOG_WARNING(Service_AOC, "(STUBBED) called");
+
+    IPC::ResponseBuilder rb{ctx, 2};
+    rb.Push(ResultSuccess);
+}
+
+void AOC_U::CheckAddOnContentMountStatus(Kernel::HLERequestContext& ctx) {
+    LOG_WARNING(Service_AOC, "(STUBBED) called");
+
+    IPC::ResponseBuilder rb{ctx, 2};
+    rb.Push(ResultSuccess);
+}
+
 void AOC_U::CreateEcPurchasedEventManager(Kernel::HLERequestContext& ctx) {
     LOG_WARNING(Service_AOC, "(STUBBED) called");
 
diff --git a/src/core/hle/service/aoc/aoc_u.h b/src/core/hle/service/aoc/aoc_u.h
index 31d645be88..88ac7b745d 100644
--- a/src/core/hle/service/aoc/aoc_u.h
+++ b/src/core/hle/service/aoc/aoc_u.h
@@ -29,6 +29,8 @@ private:
     void PrepareAddOnContent(Kernel::HLERequestContext& ctx);
     void GetAddOnContentListChangedEvent(Kernel::HLERequestContext& ctx);
     void GetAddOnContentListChangedEventWithProcessId(Kernel::HLERequestContext& ctx);
+    void NotifyMountAddOnContent(Kernel::HLERequestContext& ctx);
+    void CheckAddOnContentMountStatus(Kernel::HLERequestContext& ctx);
     void CreateEcPurchasedEventManager(Kernel::HLERequestContext& ctx);
     void CreatePermanentEcPurchasedEventManager(Kernel::HLERequestContext& ctx);