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 System.Collections.Generic;
|
||||
|
||||
using static Ryujinx.HLE.HOS.ErrorCode;
|
||||
|
||||
namespace Ryujinx.HLE.HOS.Services.Set
|
||||
{
|
||||
class ISettingsServer : IpcService
|
||||
|
@ -16,7 +18,7 @@ namespace Ryujinx.HLE.HOS.Services.Set
|
|||
{
|
||||
{ 0, GetLanguageCode },
|
||||
{ 1, GetAvailableLanguageCodes },
|
||||
//{ 2, MakeLanguageCode }, // 4.0.0+
|
||||
{ 2, MakeLanguageCode }, // 4.0.0+
|
||||
{ 3, GetAvailableLanguageCodeCount },
|
||||
//{ 4, GetRegionCode },
|
||||
{ 5, GetAvailableLanguageCodes2 },
|
||||
|
@ -45,6 +47,21 @@ namespace Ryujinx.HLE.HOS.Services.Set
|
|||
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
|
||||
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
Reference in a new issue