aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.HLE/HOS/ModLoader.cs
diff options
context:
space:
mode:
authorAc_K <Acoustik666@gmail.com>2023-03-31 21:16:46 +0200
committerGitHub <noreply@github.com>2023-03-31 21:16:46 +0200
commit4c2d9ff3ff9d7afb1fd0bd764bee5931fa5f053c (patch)
tree1245f5ec356551bd20a9594d114d06a53c41d036 /Ryujinx.HLE/HOS/ModLoader.cs
parent8198b99935f562ffb2fb9a75175a8df24d235152 (diff)
HLE: Refactoring of ApplicationLoader (#4480)1.1.689
* HLE: Refactoring of ApplicationLoader * Fix SDL2 Headless * Addresses gdkchan feedback * Fixes LoadUnpackedNca RomFS loading * remove useless casting * Cleanup and fixe empty application name * Remove ProcessInfo * Fixes typo * ActiveProcess to ActiveApplication * Update check * Clean using. * Use the correct filepath when loading Homebrew.npdm * Fix NRE in ProcessResult if MetaLoader is null * Add more checks for valid processId & return success * Add missing logging statement for npdm error * Return result for LoadKip() * Move error logging out of PFS load extension method This avoids logging "Could not find Main NCA" followed by "Loading main..." when trying to start hbl. * Fix GUIs not checking load results * Fix style and formatting issues * Fix formatting and wording * gtk: Refactor LoadApplication() --------- Co-authored-by: TSR Berry <20988865+TSRBerry@users.noreply.github.com>
Diffstat (limited to 'Ryujinx.HLE/HOS/ModLoader.cs')
-rw-r--r--Ryujinx.HLE/HOS/ModLoader.cs9
1 files changed, 5 insertions, 4 deletions
diff --git a/Ryujinx.HLE/HOS/ModLoader.cs b/Ryujinx.HLE/HOS/ModLoader.cs
index a6dc90135..165125414 100644
--- a/Ryujinx.HLE/HOS/ModLoader.cs
+++ b/Ryujinx.HLE/HOS/ModLoader.cs
@@ -10,6 +10,7 @@ using Ryujinx.Common.Logging;
10using Ryujinx.HLE.HOS.Kernel.Process; 10using Ryujinx.HLE.HOS.Kernel.Process;
11using Ryujinx.HLE.Loaders.Executables; 11using Ryujinx.HLE.Loaders.Executables;
12using Ryujinx.HLE.Loaders.Mods; 12using Ryujinx.HLE.Loaders.Mods;
13using Ryujinx.HLE.Loaders.Processes;
13using System; 14using System;
14using System.Collections.Generic; 15using System.Collections.Generic;
15using System.Collections.Specialized; 16using System.Collections.Specialized;
@@ -547,7 +548,7 @@ namespace Ryujinx.HLE.HOS
547 return modLoadResult; 548 return modLoadResult;
548 } 549 }
549 550
550 if (nsos.Length != ApplicationLoader.ExeFsPrefixes.Length) 551 if (nsos.Length != ProcessConst.ExeFsPrefixes.Length)
551 { 552 {
552 throw new ArgumentOutOfRangeException("NSO Count is incorrect"); 553 throw new ArgumentOutOfRangeException("NSO Count is incorrect");
553 } 554 }
@@ -556,9 +557,9 @@ namespace Ryujinx.HLE.HOS
556 557
557 foreach (var mod in exeMods) 558 foreach (var mod in exeMods)
558 { 559 {
559 for (int i = 0; i < ApplicationLoader.ExeFsPrefixes.Length; ++i) 560 for (int i = 0; i < ProcessConst.ExeFsPrefixes.Length; ++i)
560 { 561 {
561 var nsoName = ApplicationLoader.ExeFsPrefixes[i]; 562 var nsoName = ProcessConst.ExeFsPrefixes[i];
562 563
563 FileInfo nsoFile = new FileInfo(Path.Combine(mod.Path.FullName, nsoName)); 564 FileInfo nsoFile = new FileInfo(Path.Combine(mod.Path.FullName, nsoName));
564 if (nsoFile.Exists) 565 if (nsoFile.Exists)
@@ -596,7 +597,7 @@ namespace Ryujinx.HLE.HOS
596 } 597 }
597 } 598 }
598 599
599 for (int i = ApplicationLoader.ExeFsPrefixes.Length - 1; i >= 0; --i) 600 for (int i = ProcessConst.ExeFsPrefixes.Length - 1; i >= 0; --i)
600 { 601 {
601 if (modLoadResult.Stubs[1 << i] && !modLoadResult.Replaces[1 << i]) // Prioritizes replacements over stubs 602 if (modLoadResult.Stubs[1 << i] && !modLoadResult.Replaces[1 << i]) // Prioritizes replacements over stubs
602 { 603 {