Просмотр исходного кода

Add the ability to set or not docked mode via config file (#227)

* Add a toggleable DockedMode bool
greggameplayer 7 лет назад
Родитель
Сommit
1fd4311e12

+ 6 - 3
Ryujinx.HLE/OsHle/Services/Am/ICommonStateGetter.cs

@@ -3,6 +3,7 @@ using Ryujinx.HLE.OsHle.Handles;
 using Ryujinx.HLE.OsHle.Ipc;
 using System.Collections.Generic;
 
+using static Ryujinx.HLE.OsHle.SystemStateMgr;
 using static Ryujinx.HLE.OsHle.ErrorCode;
 
 namespace Ryujinx.HLE.OsHle.Services.Am
@@ -57,14 +58,16 @@ namespace Ryujinx.HLE.OsHle.Services.Am
 
         public long GetOperationMode(ServiceCtx Context)
         {
-            Context.ResponseData.Write((byte)OperationMode.Handheld);
+            OperationMode Mode = DockedMode?OperationMode.Docked:  OperationMode.Handheld;
+            Context.ResponseData.Write((byte)Mode);
 
             return 0;
         }
 
         public long GetPerformanceMode(ServiceCtx Context)
         {
-            Context.ResponseData.Write((byte)Apm.PerformanceMode.Handheld);
+            Apm.PerformanceMode Mode = DockedMode?Apm.PerformanceMode.Docked:  Apm.PerformanceMode.Handheld;
+            Context.ResponseData.Write((byte)Mode);
 
             return 0;
         }
@@ -104,4 +107,4 @@ namespace Ryujinx.HLE.OsHle.Services.Am
             return 0;
         }
     }
-}
+}

+ 3 - 1
Ryujinx.HLE/OsHle/SystemStateMgr.cs

@@ -36,6 +36,8 @@ namespace Ryujinx.HLE.OsHle
         internal long DesiredLanguageCode { get; private set; }
 
         internal string ActiveAudioOutput { get; private set; }
+        
+        public bool DockedMode { get; set; }
 
         public SystemStateMgr()
         {
@@ -82,4 +84,4 @@ namespace Ryujinx.HLE.OsHle
             return Code;
         }
     }
-}
+}

+ 4 - 0
Ryujinx/Config.cs

@@ -7,6 +7,8 @@ using System.IO;
 using System.Linq;
 using System.Reflection;
 
+using static Ryujinx.HLE.OsHle.SystemStateMgr;
+
 namespace Ryujinx
 {
     public static class Config
@@ -31,6 +33,8 @@ namespace Ryujinx
             Log.SetEnable(LogLevel.Info,    Convert.ToBoolean(Parser.Value("Logging_Enable_Info")));
             Log.SetEnable(LogLevel.Warning, Convert.ToBoolean(Parser.Value("Logging_Enable_Warn")));
             Log.SetEnable(LogLevel.Error,   Convert.ToBoolean(Parser.Value("Logging_Enable_Error")));
+            
+            DockedMode = Convert.ToBoolean(Parser.Value("Docked_Mode"));
 
             string[] FilteredLogClasses = Parser.Value("Logging_Filtered_Classes").Split(',', StringSplitOptions.RemoveEmptyEntries);
 

+ 4 - 1
Ryujinx/Ryujinx.conf

@@ -22,6 +22,9 @@ Logging_Enable_Error = true
 #Filtered log classes, seperated by ", ", eg. `Logging_Filtered_Classes = Loader, ServiceFS`
 Logging_Filtered_Classes =
 
+#Enable or Disable Docked Mode
+Docked_Mode = false
+
 #Controller Device Index
 GamePad_Index = 0
 
@@ -82,4 +85,4 @@ Controls_Right_JoyConController_Button_R = RShoulder
 Controls_Right_JoyConController_Button_ZR = RTrigger
 
 Controls_Left_JoyConController_Stick = LJoystick
-Controls_Right_JoyConController_Stick = RJoystick
+Controls_Right_JoyConController_Stick = RJoystick