diff options
author | gdkchan <gab.dark.100@gmail.com> | 2022-05-31 16:16:59 -0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-05-31 16:16:59 -0300 |
commit | 9827dc35e14cb704cb4adcb894e0efbac893080c (patch) | |
tree | 846c0b6b35a9065154e11b6d08be1a00099a3126 | |
parent | 448723d3b36cc41bcff0936586895c92ca30a73e (diff) |
Allow loading NSPs without a NCA inside (#3364)1.1.133
* Allow loading NSPs without a NCA inside
* Set isHomebrew as true
-rw-r--r-- | Ryujinx.HLE/HOS/ApplicationLoader.cs | 13 |
1 files changed, 3 insertions, 10 deletions
diff --git a/Ryujinx.HLE/HOS/ApplicationLoader.cs b/Ryujinx.HLE/HOS/ApplicationLoader.cs index 50ab9e1f..893a0c97 100644 --- a/Ryujinx.HLE/HOS/ApplicationLoader.cs +++ b/Ryujinx.HLE/HOS/ApplicationLoader.cs @@ -280,13 +280,6 @@ namespace Ryujinx.HLE.HOS return; } - if (mainNca == null) - { - Logger.Error?.Print(LogClass.Loader, "Unable to load NSP: Could not find Main NCA"); - - return; - } - if (mainNca != null) { _device.Configuration.ContentManager.ClearAocData(); @@ -298,7 +291,7 @@ namespace Ryujinx.HLE.HOS } // This is not a normal NSP, it's actually a ExeFS as a NSP - LoadExeFs(nsp); + LoadExeFs(nsp, null, isHomebrew: true); } public void LoadNca(string ncaFile) @@ -593,7 +586,7 @@ namespace Ryujinx.HLE.HOS } } - private void LoadExeFs(IFileSystem codeFs, MetaLoader metaData = null) + private void LoadExeFs(IFileSystem codeFs, MetaLoader metaData = null, bool isHomebrew = false) { if (_device.Configuration.VirtualFileSystem.ModLoader.ReplaceExefsPartition(TitleId, ref codeFs)) { @@ -661,7 +654,7 @@ namespace Ryujinx.HLE.HOS Ptc.Initialize(TitleIdText, DisplayVersion, usePtc, memoryManagerMode); // We allow it for nx-hbloader because it can be used to launch homebrew. - bool allowCodeMemoryForJit = TitleId == 0x010000000000100DUL; + bool allowCodeMemoryForJit = TitleId == 0x010000000000100DUL || isHomebrew; metaData.GetNpdm(out Npdm npdm).ThrowIfFailure(); ProgramInfo programInfo = new ProgramInfo(in npdm, allowCodeMemoryForJit); |