diff options
| author | Ac_K <Acoustik666@gmail.com> | 2018-04-21 23:04:43 +0000 |
|---|---|---|
| committer | gdkchan <gab.dark.100@gmail.com> | 2018-04-21 20:04:43 -0300 |
| commit | 4906acdde96c09b4e12a3801a4bacd5233a2f8e6 (patch) | |
| tree | f1ecba22f4c44c2b50b86904fe4f784e5e520cf1 /Ryujinx.Core/OsHle/Services/Set/ISettingsServer.cs | |
| parent | 434e40b8a07a2a350d72581e41e313213ee25663 (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.cs | 28 |
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; |
