瀏覽代碼

nifm: Only return that there's an internet connection when there's a BCATServer

This helps games that need internet for other purposes boot as the rest
of our internet infrastructure is incomplete.
Fernando Sahmkow 6 年之前
父節點
當前提交
3c95e49c42
共有 1 個文件被更改,包括 17 次插入3 次删除
  1. 17 3
      src/core/hle/service/nifm/nifm.cpp

+ 17 - 3
src/core/hle/service/nifm/nifm.cpp

@@ -9,6 +9,7 @@
 #include "core/hle/kernel/writable_event.h"
 #include "core/hle/kernel/writable_event.h"
 #include "core/hle/service/nifm/nifm.h"
 #include "core/hle/service/nifm/nifm.h"
 #include "core/hle/service/service.h"
 #include "core/hle/service/service.h"
+#include "core/settings.h"
 
 
 namespace Service::NIFM {
 namespace Service::NIFM {
 
 
@@ -86,7 +87,12 @@ private:
 
 
         IPC::ResponseBuilder rb{ctx, 3};
         IPC::ResponseBuilder rb{ctx, 3};
         rb.Push(RESULT_SUCCESS);
         rb.Push(RESULT_SUCCESS);
-        rb.PushEnum(RequestState::Connected);
+
+        if (Settings::values.bcat_backend == "none") {
+            rb.PushEnum(RequestState::NotSubmitted);
+        } else {
+            rb.PushEnum(RequestState::Connected);
+        }
     }
     }
 
 
     void GetResult(Kernel::HLERequestContext& ctx) {
     void GetResult(Kernel::HLERequestContext& ctx) {
@@ -194,14 +200,22 @@ private:
 
 
         IPC::ResponseBuilder rb{ctx, 3};
         IPC::ResponseBuilder rb{ctx, 3};
         rb.Push(RESULT_SUCCESS);
         rb.Push(RESULT_SUCCESS);
-        rb.Push<u8>(1);
+        if (Settings::values.bcat_backend == "none") {
+            rb.Push<u8>(0);
+        } else {
+            rb.Push<u8>(1);
+        }
     }
     }
     void IsAnyInternetRequestAccepted(Kernel::HLERequestContext& ctx) {
     void IsAnyInternetRequestAccepted(Kernel::HLERequestContext& ctx) {
         LOG_WARNING(Service_NIFM, "(STUBBED) called");
         LOG_WARNING(Service_NIFM, "(STUBBED) called");
 
 
         IPC::ResponseBuilder rb{ctx, 3};
         IPC::ResponseBuilder rb{ctx, 3};
         rb.Push(RESULT_SUCCESS);
         rb.Push(RESULT_SUCCESS);
-        rb.Push<u8>(1);
+        if (Settings::values.bcat_backend == "none") {
+            rb.Push<u8>(0);
+        } else {
+            rb.Push<u8>(1);
+        }
     }
     }
     Core::System& system;
     Core::System& system;
 };
 };