Skip to content

Commit 13bc113

Browse files
committed
Check mods status post patching
1 parent 47b668c commit 13bc113

File tree

5 files changed

+12
-4
lines changed

5 files changed

+12
-4
lines changed

QuestPatcher.Core/Modding/ConfigModProvider.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ public abstract class ConfigModProvider : JsonConverter<IMod>, IModProvider
1313
public abstract string FileExtension { get; }
1414
public abstract Task<IMod> LoadFromFile(string modPath);
1515
public abstract Task DeleteMod(IMod mod);
16-
public abstract Task LoadMods();
16+
public abstract Task LoadModsStatus();
1717
public abstract void ClearMods();
1818
public abstract Task LoadLegacyMods();
1919
}

QuestPatcher.Core/Modding/IModProvider.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ public interface IModProvider
2929
/// Loads the mods from the quest.
3030
/// </summary>
3131
/// <returns>Task completing when all mods are loaded</returns>
32-
Task LoadMods();
32+
Task LoadModsStatus();
3333

3434
/// <summary>
3535
/// Clears currently loaded mods

QuestPatcher.Core/Modding/ModManager.cs

+7-1
Original file line numberDiff line numberDiff line change
@@ -180,9 +180,15 @@ public async Task LoadModsForCurrentApp()
180180
await SaveMods();
181181
}
182182

183+
await UpdateModsStatus();
184+
}
185+
186+
public async Task UpdateModsStatus()
187+
{
188+
Log.Information("Checking if mods are installed");
183189
foreach (IModProvider provider in _modProviders.Values)
184190
{
185-
await provider.LoadMods();
191+
await provider.LoadModsStatus();
186192
}
187193
}
188194

QuestPatcher.Core/Modding/QModProvider.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -243,7 +243,7 @@ public override void Write(Utf8JsonWriter writer, IMod value, JsonSerializerOpti
243243
JsonSerializer.Serialize(writer, AssertQMod(value).Manifest, options);
244244
}
245245

246-
public override async Task LoadMods()
246+
public override async Task LoadModsStatus()
247247
{
248248
List<string> modFiles = await _debugBridge.ListDirectoryFiles(_modManager.ModsPath, true);
249249
List<string> libFiles = await _debugBridge.ListDirectoryFiles(_modManager.LibsPath, true);

QuestPatcher.Core/Patching/PatchingManager.cs

+2
Original file line numberDiff line numberDiff line change
@@ -649,6 +649,8 @@ public async Task PatchApp()
649649

650650
// Recreate the mod directories as they will not be present after the uninstall/backup restore
651651
await _modManager.CreateModDirectories();
652+
// When repatching, certain mods may have been deleted when the app was uninstalled, so we will check for this
653+
await _modManager.UpdateModsStatus();
652654

653655
await _installManager.NewApkInstalled(_patchedApkPath);
654656

0 commit comments

Comments
 (0)