aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.Core/OsHle/Services/Set/ISettingsServer.cs
diff options
context:
space:
mode:
authorAc_K <Acoustik666@gmail.com>2018-04-21 23:04:43 +0000
committergdkchan <gab.dark.100@gmail.com>2018-04-21 20:04:43 -0300
commit4906acdde96c09b4e12a3801a4bacd5233a2f8e6 (patch)
treef1ecba22f4c44c2b50b86904fe4f784e5e520cf1 /Ryujinx.Core/OsHle/Services/Set/ISettingsServer.cs
parent434e40b8a07a2a350d72581e41e313213ee25663 (diff)
Some implementations (#99)
* Some implementations - ICommonStateGetter * GetBootMode - ISelfController * SetHandlesRequestToDisplay - IServiceGetterInterface - ISystemUpdateInterface - IVulnerabilityManagerInterface - IPrepoService - ISettingsServer * GetLanguageCode - ISystemSettingsServer * GetFirmwareVersion2 - IHOSBinderDriver * TransactParcelAuto * Fix Implementations * Fix Implementations 2
Diffstat (limited to 'Ryujinx.Core/OsHle/Services/Set/ISettingsServer.cs')
-rw-r--r--Ryujinx.Core/OsHle/Services/Set/ISettingsServer.cs28
1 files changed, 28 insertions, 0 deletions
diff --git a/Ryujinx.Core/OsHle/Services/Set/ISettingsServer.cs b/Ryujinx.Core/OsHle/Services/Set/ISettingsServer.cs
index 9d5b4888..ea0303f0 100644
--- a/Ryujinx.Core/OsHle/Services/Set/ISettingsServer.cs
+++ b/Ryujinx.Core/OsHle/Services/Set/ISettingsServer.cs
@@ -1,5 +1,7 @@
using Ryujinx.Core.OsHle.Ipc;
+using System;
using System.Collections.Generic;
+using System.IO;
namespace Ryujinx.Core.OsHle.Services.Set
{
@@ -34,11 +36,37 @@ namespace Ryujinx.Core.OsHle.Services.Set
{
m_Commands = new Dictionary<int, ServiceProcessRequest>()
{
+ { 0, GetLanguageCode },
{ 1, GetAvailableLanguageCodes },
{ 3, GetAvailableLanguageCodeCount }
};
}
+ public static long GetLanguageCode(ServiceCtx Context)
+ {
+ Context.ResponseData.Write(LanguageCodetoLongBE(LanguageCodes[1]));
+
+ return 0;
+ }
+
+ private static long LanguageCodetoLongBE(string LanguageCode)
+ {
+ using (MemoryStream MS = new MemoryStream())
+ {
+ foreach (char Chr in LanguageCode)
+ {
+ MS.WriteByte((byte)Chr);
+ }
+
+ for (int Offs = 0; Offs < (8 - LanguageCode.Length); Offs++)
+ {
+ MS.WriteByte(0);
+ }
+
+ return BitConverter.ToInt64(MS.ToArray(), 0);
+ }
+ }
+
public static long GetAvailableLanguageCodes(ServiceCtx Context)
{
long Position = Context.Request.RecvListBuff[0].Position;