From ed155e6f4ecc5ab25b06a6bf9655b42aa4e829d5 Mon Sep 17 00:00:00 2001
From: Ac_K <Acoustik666@gmail.com>
Date: Tue, 17 Apr 2018 16:40:22 +0000
Subject: [PATCH] Update IHidServer.cs (#84)

* Update IHidServer.cs

Stubs:
- SetGyroscopeZeroDriftMode
- SetNpadHandheldActivationMode
- SendVibrationValue
- GetPlayerLedPattern

* Update IHidServer.cs

updated
---
 Ryujinx.Core/OsHle/Services/Hid/IHidServer.cs | 62 +++++++++++++++++--
 1 file changed, 57 insertions(+), 5 deletions(-)

diff --git a/Ryujinx.Core/OsHle/Services/Hid/IHidServer.cs b/Ryujinx.Core/OsHle/Services/Hid/IHidServer.cs
index 951cec0ef7..0b401e208a 100644
--- a/Ryujinx.Core/OsHle/Services/Hid/IHidServer.cs
+++ b/Ryujinx.Core/OsHle/Services/Hid/IHidServer.cs
@@ -20,17 +20,21 @@ namespace Ryujinx.Core.OsHle.Services.Hid
                 {  21, ActivateMouse                           },
                 {  31, ActivateKeyboard                        },
                 {  66, StartSixAxisSensor                      },
+                {  79, SetGyroscopeZeroDriftMode               },
                 { 100, SetSupportedNpadStyleSet                },
                 { 101, GetSupportedNpadStyleSet                },
                 { 102, SetSupportedNpadIdType                  },
                 { 103, ActivateNpad                            },
+                { 108, GetPlayerLedPattern                     },
                 { 120, SetNpadJoyHoldType                      },
                 { 121, GetNpadJoyHoldType                      },
                 { 122, SetNpadJoyAssignmentModeSingleByDefault },
                 { 123, SetNpadJoyAssignmentModeSingle          },
                 { 124, SetNpadJoyAssignmentModeDual            },
                 { 125, MergeSingleJoyAsDualJoy                 },
+                { 128, SetNpadHandheldActivationMode           },
                 { 200, GetVibrationDeviceInfo                  },
+                { 201, SendVibrationValue                      },
                 { 203, CreateActiveVibrationDeviceList         },
                 { 206, SendVibrationValues                     }
             };
@@ -88,6 +92,17 @@ namespace Ryujinx.Core.OsHle.Services.Hid
             return 0;
         }
 
+        public long SetGyroscopeZeroDriftMode(ServiceCtx Context)
+        {
+            int Handle = Context.RequestData.ReadInt32();
+            int Unknown = Context.RequestData.ReadInt32();
+            long AppletResourceUserId = Context.RequestData.ReadInt64();
+
+            Logging.Stub(LogClass.ServiceHid, "Stubbed");
+
+            return 0;
+        }
+
         public long GetSupportedNpadStyleSet(ServiceCtx Context)
         {
             Context.ResponseData.Write(0);
@@ -125,6 +140,17 @@ namespace Ryujinx.Core.OsHle.Services.Hid
             return 0;
         }
 
+        public long GetPlayerLedPattern(ServiceCtx Context)
+        {
+            long Unknown = Context.RequestData.ReadInt32();
+
+            Context.ResponseData.Write(0L);
+
+            Logging.Stub(LogClass.ServiceHid, "Stubbed");
+
+            return 0;
+        }
+
         public long SetNpadJoyHoldType(ServiceCtx Context)
         {
             long Unknown0 = Context.RequestData.ReadInt64();
@@ -147,7 +173,7 @@ namespace Ryujinx.Core.OsHle.Services.Hid
         public long SetNpadJoyAssignmentModeSingleByDefault(ServiceCtx Context)
         {
             HidControllerId HidControllerId = (HidControllerId)Context.RequestData.ReadInt32();
-            long AppletUserResourseId = Context.RequestData.ReadInt64();
+            long AppletUserResourceId = Context.RequestData.ReadInt64();
 
             Logging.Stub(LogClass.ServiceHid, "Stubbed");
 
@@ -157,7 +183,7 @@ namespace Ryujinx.Core.OsHle.Services.Hid
         public long SetNpadJoyAssignmentModeSingle(ServiceCtx Context)
         {
             HidControllerId HidControllerId = (HidControllerId)Context.RequestData.ReadInt32();
-            long AppletUserResourseId = Context.RequestData.ReadInt64();
+            long AppletUserResourceId = Context.RequestData.ReadInt64();
             long NpadJoyDeviceType = Context.RequestData.ReadInt64();
 
             Logging.Stub(LogClass.ServiceHid, "Stubbed");
@@ -168,7 +194,7 @@ namespace Ryujinx.Core.OsHle.Services.Hid
         public long SetNpadJoyAssignmentModeDual(ServiceCtx Context)
         {
             HidControllerId HidControllerId = (HidControllerId)Context.RequestData.ReadInt32();
-            long AppletUserResourseId = Context.RequestData.ReadInt64();
+            long AppletUserResourceId = Context.RequestData.ReadInt64();
 
             Logging.Stub(LogClass.ServiceHid, "Stubbed");
 
@@ -179,7 +205,17 @@ namespace Ryujinx.Core.OsHle.Services.Hid
         {
             long Unknown0 = Context.RequestData.ReadInt32();
             long Unknown8 = Context.RequestData.ReadInt32();
-            long AppletUserResourseId = Context.RequestData.ReadInt64();
+            long AppletUserResourceId = Context.RequestData.ReadInt64();
+
+            Logging.Stub(LogClass.ServiceHid, "Stubbed");
+
+            return 0;
+        }
+
+        public long SetNpadHandheldActivationMode(ServiceCtx Context)
+        {
+            long AppletUserResourceId = Context.RequestData.ReadInt64();
+            long Unknown = Context.RequestData.ReadInt64();
 
             Logging.Stub(LogClass.ServiceHid, "Stubbed");
 
@@ -197,6 +233,22 @@ namespace Ryujinx.Core.OsHle.Services.Hid
             return 0;
         }
 
+        public long SendVibrationValue(ServiceCtx Context)
+        {
+            int VibrationDeviceHandle = Context.RequestData.ReadInt32();
+
+            int VibrationValue1 = Context.RequestData.ReadInt32();
+            int VibrationValue2 = Context.RequestData.ReadInt32();
+            int VibrationValue3 = Context.RequestData.ReadInt32();
+            int VibrationValue4 = Context.RequestData.ReadInt32();
+
+            long AppletUserResourceId = Context.RequestData.ReadInt64();
+
+            Logging.Stub(LogClass.ServiceHid, "Stubbed");
+
+            return 0;
+        }
+
         public long CreateActiveVibrationDeviceList(ServiceCtx Context)
         {
             MakeObject(Context, new IActiveApplicationDeviceList());
@@ -211,4 +263,4 @@ namespace Ryujinx.Core.OsHle.Services.Hid
             return 0;
         }
     }
-}
\ No newline at end of file
+}