mods: Fix crash when loading via LoadCart (#1388)

This commit is contained in:
mageven 2020-07-15 05:10:17 +05:30 committed by GitHub
parent 2900dda633
commit 16dafe6316
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 8 additions and 2 deletions

View file

@ -69,6 +69,8 @@ namespace Ryujinx.HLE.HOS
Npdm metaData = ReadNpdm(codeFs); Npdm metaData = ReadNpdm(codeFs);
_fileSystem.ModLoader.CollectMods(TitleId, _fileSystem.GetBaseModsPath());
if (TitleId != 0) if (TitleId != 0)
{ {
EnsureSaveData(new TitleId(TitleId)); EnsureSaveData(new TitleId(TitleId));

View file

@ -451,8 +451,12 @@ namespace Ryujinx.HLE.HOS
internal bool ApplyNsoPatches(ulong titleId, params IExecutable[] programs) internal bool ApplyNsoPatches(ulong titleId, params IExecutable[] programs)
{ {
AppMods.TryGetValue(titleId, out ModCache mods); IEnumerable<Mod<DirectoryInfo>> nsoMods = Patches.NsoPatches;
var nsoMods = Patches.NsoPatches.Concat(mods.ExefsDirs);
if (AppMods.TryGetValue(titleId, out ModCache mods))
{
nsoMods = nsoMods.Concat(mods.ExefsDirs);
}
// NSO patches are created with offset 0 according to Atmosphere's patcher module // NSO patches are created with offset 0 according to Atmosphere's patcher module
// But `Program` doesn't contain the header which is 0x100 bytes. So, we adjust for that here // But `Program` doesn't contain the header which is 0x100 bytes. So, we adjust for that here