|
|
@@ -2,6 +2,7 @@
|
|
|
using LibHac.Ns;
|
|
|
using Ryujinx.Common.Logging;
|
|
|
using Ryujinx.Cpu;
|
|
|
+using Ryujinx.HLE.HOS.SystemState;
|
|
|
using Ryujinx.HLE.Loaders.Processes.Extensions;
|
|
|
using Ryujinx.Horizon.Common;
|
|
|
|
|
|
@@ -9,7 +10,7 @@ namespace Ryujinx.HLE.Loaders.Processes
|
|
|
{
|
|
|
public struct ProcessResult
|
|
|
{
|
|
|
- public static ProcessResult Failed => new(null, new ApplicationControlProperty(), false, false, null, 0, 0, 0);
|
|
|
+ public static ProcessResult Failed => new(null, new ApplicationControlProperty(), false, false, null, 0, 0, 0, TitleLanguage.AmericanEnglish);
|
|
|
|
|
|
private readonly byte _mainThreadPriority;
|
|
|
private readonly uint _mainThreadStackSize;
|
|
|
@@ -35,7 +36,8 @@ namespace Ryujinx.HLE.Loaders.Processes
|
|
|
IDiskCacheLoadState diskCacheLoadState,
|
|
|
ulong pid,
|
|
|
byte mainThreadPriority,
|
|
|
- uint mainThreadStackSize)
|
|
|
+ uint mainThreadStackSize,
|
|
|
+ TitleLanguage titleLanguage)
|
|
|
{
|
|
|
_mainThreadPriority = mainThreadPriority;
|
|
|
_mainThreadStackSize = mainThreadStackSize;
|
|
|
@@ -50,7 +52,17 @@ namespace Ryujinx.HLE.Loaders.Processes
|
|
|
{
|
|
|
ulong programId = metaLoader.GetProgramId();
|
|
|
|
|
|
- Name = metaLoader.GetProgramName();
|
|
|
+ if (ApplicationControlProperties.Title.ItemsRo.Length > 0)
|
|
|
+ {
|
|
|
+ var langIndex = ApplicationControlProperties.Title.ItemsRo.Length > (int)titleLanguage ? (int)titleLanguage : 0;
|
|
|
+
|
|
|
+ Name = ApplicationControlProperties.Title[langIndex].NameString.ToString();
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ Name = metaLoader.GetProgramName();
|
|
|
+ }
|
|
|
+
|
|
|
ProgramId = programId;
|
|
|
ProgramIdText = $"{programId:x16}";
|
|
|
Is64Bit = metaLoader.IsProgram64Bit();
|