set: Implement MakeLanguageCode
This commit is contained in:
parent
307eb98b1d
commit
1ce713df9e
2 changed files with 25 additions and 1 deletions
|
@ -2,6 +2,8 @@ using Ryujinx.HLE.HOS.Ipc;
|
||||||
using Ryujinx.HLE.HOS.SystemState;
|
using Ryujinx.HLE.HOS.SystemState;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
|
||||||
|
using static Ryujinx.HLE.HOS.ErrorCode;
|
||||||
|
|
||||||
namespace Ryujinx.HLE.HOS.Services.Set
|
namespace Ryujinx.HLE.HOS.Services.Set
|
||||||
{
|
{
|
||||||
class ISettingsServer : IpcService
|
class ISettingsServer : IpcService
|
||||||
|
@ -16,7 +18,7 @@ namespace Ryujinx.HLE.HOS.Services.Set
|
||||||
{
|
{
|
||||||
{ 0, GetLanguageCode },
|
{ 0, GetLanguageCode },
|
||||||
{ 1, GetAvailableLanguageCodes },
|
{ 1, GetAvailableLanguageCodes },
|
||||||
//{ 2, MakeLanguageCode }, // 4.0.0+
|
{ 2, MakeLanguageCode }, // 4.0.0+
|
||||||
{ 3, GetAvailableLanguageCodeCount },
|
{ 3, GetAvailableLanguageCodeCount },
|
||||||
//{ 4, GetRegionCode },
|
//{ 4, GetRegionCode },
|
||||||
{ 5, GetAvailableLanguageCodes2 },
|
{ 5, GetAvailableLanguageCodes2 },
|
||||||
|
@ -45,6 +47,21 @@ namespace Ryujinx.HLE.HOS.Services.Set
|
||||||
0xF);
|
0xF);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// MakeLanguageCode(nn::settings::Language language_index) -> nn::settings::LanguageCode
|
||||||
|
public static long MakeLanguageCode(ServiceCtx context)
|
||||||
|
{
|
||||||
|
int languageIndex = context.RequestData.ReadInt32();
|
||||||
|
|
||||||
|
if (languageIndex < 0 || languageIndex >= SystemStateMgr.LanguageCodes.Length)
|
||||||
|
{
|
||||||
|
return MakeError(ErrorModule.Settings, SettingsError.LanguageOutOfRange);
|
||||||
|
}
|
||||||
|
|
||||||
|
context.ResponseData.Write(SystemStateMgr.GetLanguageCode(languageIndex));
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
// GetAvailableLanguageCodeCount() -> u32
|
// GetAvailableLanguageCodeCount() -> u32
|
||||||
public static long GetAvailableLanguageCodeCount(ServiceCtx context)
|
public static long GetAvailableLanguageCodeCount(ServiceCtx context)
|
||||||
{
|
{
|
||||||
|
|
7
Ryujinx.HLE/HOS/Services/Set/SettingsError.cs
Normal file
7
Ryujinx.HLE/HOS/Services/Set/SettingsError.cs
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
namespace Ryujinx.HLE.HOS.Services.Set
|
||||||
|
{
|
||||||
|
static class SettingsError
|
||||||
|
{
|
||||||
|
public const int LanguageOutOfRange = 625;
|
||||||
|
}
|
||||||
|
}
|
Loading…
Add table
Add a link
Reference in a new issue