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

Implement ISystemDisplayService::GetDisplayMode & Add IManagerDisplayService::SetLayerVisibility stub (#118)

* Add ISystemDisplayService::GetDisplayMode & IManagerDisplayService::SetLayerVisibility

Also add some missing PrintStub calls

* Fix import ordering & Fix incorrect value for the third word in GetDisplayMode
Thomas Guillemard 8 лет назад
Родитель
Сommit
0979426e63

+ 12 - 2
Ryujinx.Core/OsHle/Services/Vi/IManagerDisplayService.cs

@@ -1,5 +1,6 @@
 using Ryujinx.Core.OsHle.Ipc;
 using Ryujinx.Core.OsHle.Ipc;
 using System.Collections.Generic;
 using System.Collections.Generic;
+using Ryujinx.Core.Logging;
 
 
 namespace Ryujinx.Core.OsHle.Services.Vi
 namespace Ryujinx.Core.OsHle.Services.Vi
 {
 {
@@ -15,24 +16,33 @@ namespace Ryujinx.Core.OsHle.Services.Vi
             {
             {
                 { 2010, CreateManagedLayer  },
                 { 2010, CreateManagedLayer  },
                 { 2011, DestroyManagedLayer },
                 { 2011, DestroyManagedLayer },
-                { 6000, AddToLayerStack     }
+                { 6000, AddToLayerStack     },
+                { 6002, SetLayerVisibility  }
             };
             };
         }
         }
 
 
         public static long CreateManagedLayer(ServiceCtx Context)
         public static long CreateManagedLayer(ServiceCtx Context)
         {
         {
+            Context.Ns.Log.PrintStub(LogClass.ServiceVi, "Stubbed.");
             Context.ResponseData.Write(0L); //LayerId
             Context.ResponseData.Write(0L); //LayerId
-
             return 0;
             return 0;
         }
         }
 
 
         public long DestroyManagedLayer(ServiceCtx Context)
         public long DestroyManagedLayer(ServiceCtx Context)
         {
         {
+            Context.Ns.Log.PrintStub(LogClass.ServiceVi, "Stubbed.");
             return 0;
             return 0;
         }
         }
 
 
         public static long AddToLayerStack(ServiceCtx Context)
         public static long AddToLayerStack(ServiceCtx Context)
         {
         {
+            Context.Ns.Log.PrintStub(LogClass.ServiceVi, "Stubbed.");
+            return 0;
+        }
+
+        public static long SetLayerVisibility(ServiceCtx Context)
+        {
+            Context.Ns.Log.PrintStub(LogClass.ServiceVi, "Stubbed.");
             return 0;
             return 0;
         }
         }
     }
     }

+ 14 - 1
Ryujinx.Core/OsHle/Services/Vi/ISystemDisplayService.cs

@@ -1,3 +1,4 @@
+using Ryujinx.Core.Logging;
 using Ryujinx.Core.OsHle.Ipc;
 using Ryujinx.Core.OsHle.Ipc;
 using System.Collections.Generic;
 using System.Collections.Generic;
 
 
@@ -14,17 +15,29 @@ namespace Ryujinx.Core.OsHle.Services.Vi
             m_Commands = new Dictionary<int, ServiceProcessRequest>()
             m_Commands = new Dictionary<int, ServiceProcessRequest>()
             {
             {
                 { 2205, SetLayerZ },
                 { 2205, SetLayerZ },
-                { 2207, SetLayerVisibility }
+                { 2207, SetLayerVisibility },
+                { 3200, GetDisplayMode }
             };
             };
         }
         }
 
 
         public static long SetLayerZ(ServiceCtx Context)
         public static long SetLayerZ(ServiceCtx Context)
         {
         {
+            Context.Ns.Log.PrintStub(LogClass.ServiceVi, "Stubbed.");
             return 0;
             return 0;
         }
         }
 
 
         public static long SetLayerVisibility(ServiceCtx Context)
         public static long SetLayerVisibility(ServiceCtx Context)
         {
         {
+            Context.Ns.Log.PrintStub(LogClass.ServiceVi, "Stubbed.");
+            return 0;
+        }
+
+        public static long GetDisplayMode(ServiceCtx Context)
+        {
+            Context.ResponseData.Write(1280);
+            Context.ResponseData.Write(720);
+            Context.ResponseData.Write(60.0f);
+            Context.ResponseData.Write(0);
             return 0;
             return 0;
         }
         }
     }
     }