infra: Update to Ryujinx.LibHac 0.20.0.

This time it's pulled in via GitLab package registry.
This commit is contained in:
GreemDev
2025-05-26 21:02:36 -05:00
committed by KeatonTheBot
parent af3aa8f786
commit 3657e55c70
19 changed files with 126 additions and 90 deletions
@@ -97,7 +97,13 @@ namespace Ryujinx.HLE.Loaders.Processes.Extensions
if (string.IsNullOrWhiteSpace(programName))
{
programName = Array.Find(nacpData.Value.Title.ItemsRo.ToArray(), x => x.Name[0] != 0).NameString.ToString();
foreach (ApplicationControlProperty.ApplicationTitle appTitle in nacpData.Value.Title)
{
if (appTitle.Name[0] != 0)
continue;
programName = appTitle.NameString.ToString();
}
}
}
@@ -195,7 +195,13 @@ namespace Ryujinx.HLE.Loaders.Processes
if (string.IsNullOrWhiteSpace(programName))
{
programName = Array.Find(nacpData.Value.Title.ItemsRo.ToArray(), x => x.Name[0] != 0).NameString.ToString();
foreach (ApplicationControlProperty.ApplicationTitle nacpTitles in nacpData.Value.Title)
{
if (nacpTitles.Name[0] != 0)
continue;
programName = nacpTitles.NameString.ToString();
}
}
if (nacpData.Value.PresenceGroupId != 0)
@@ -22,6 +22,7 @@ using Ryujinx.HLE.Loaders.Processes.Extensions;
using Ryujinx.Horizon.Common;
using Ryujinx.Horizon.Sdk.Arp;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.InteropServices;
using ApplicationId = LibHac.Ncm.ApplicationId;
@@ -181,7 +182,7 @@ namespace Ryujinx.HLE.Loaders.Processes
KProcess process = new(context);
var processContextFactory = new ArmProcessContextFactory(
ArmProcessContextFactory processContextFactory = new(
context.Device.System.TickSource,
context.Device.Gpu,
string.Empty,
@@ -238,7 +239,7 @@ namespace Ryujinx.HLE.Loaders.Processes
{
context.Device.System.ServiceTable.WaitServicesReady();
LibHac.Result resultCode = metaLoader.GetNpdm(out var npdm);
LibHac.Result resultCode = metaLoader.GetNpdm(out LibHac.Loader.Npdm npdm);
if (resultCode.IsFailure())
{
@@ -247,18 +248,18 @@ namespace Ryujinx.HLE.Loaders.Processes
return ProcessResult.Failed;
}
ref readonly var meta = ref npdm.Meta;
ref readonly Meta meta = ref npdm.Meta;
ulong argsStart = 0;
uint argsSize = 0;
ulong codeStart = ((meta.Flags & 1) != 0 ? 0x8000000UL : 0x200000UL) + CodeStartOffset;
ulong codeSize = 0;
var buildIds = executables.Select(e => (e switch
IEnumerable<string> buildIds = executables.Select(e => (e switch
{
NsoExecutable nso => Convert.ToHexString(nso.BuildId.ItemsRo.ToArray()),
NsoExecutable nso => Convert.ToHexString(nso.BuildId),
NroExecutable nro => Convert.ToHexString(nro.Header.BuildId),
_ => "",
_ => string.Empty,
}).ToUpper());
NceCpuCodePatch[] nsoPatch = new NceCpuCodePatch[executables.Length];
@@ -382,7 +383,7 @@ namespace Ryujinx.HLE.Loaders.Processes
displayVersion = device.System.ContentManager.GetCurrentFirmwareVersion()?.VersionString ?? string.Empty;
}
var processContextFactory = new ArmProcessContextFactory(
ArmProcessContextFactory processContextFactory = new(
context.Device.System.TickSource,
context.Device.Gpu,
$"{programId:x16}",
@@ -59,7 +59,13 @@ namespace Ryujinx.HLE.Loaders.Processes
if (string.IsNullOrWhiteSpace(Name))
{
Name = Array.Find(ApplicationControlProperties.Title.ItemsRo.ToArray(), x => x.Name[0] != 0).NameString.ToString();
foreach (ApplicationControlProperty.ApplicationTitle appTitle in ApplicationControlProperties.Title)
{
if (appTitle.Name[0] != 0)
continue;
Name = appTitle.NameString.ToString();
}
}
DisplayVersion = ApplicationControlProperties.DisplayVersionString.ToString();