Implement a little better "loadRequired"

This commit is contained in:
2025-03-18 22:17:14 +01:00
parent a37b67873e
commit a4ee202971

View File

@@ -240,18 +240,6 @@ class ModList {
}
}
//LoadOrder loadRequired([LoadOrder? loadOrder]) {
// loadOrder ??= LoadOrder();
// final toEnable = <String>[];
// for (final modid in activeMods.keys) {
// loadDependencies(modid, loadOrder, toEnable);
// }
// for (final modid in toEnable) {
// setEnabled(modid, true);
// }
// return generateLoadOrder(loadOrder);
//}
LoadOrder generateLoadOrder([LoadOrder? loadOrder]) {
loadOrder ??= LoadOrder();
final logger = Logger.instance;
@@ -574,6 +562,27 @@ class ModList {
}
return generateLoadOrder(loadOrder);
}
LoadOrder loadRequiredBaseGame([LoadOrder? loadOrder]) {
loadOrder ??= LoadOrder();
final baseGameMods =
mods.values.where((mod) => mod.isBaseGame || mod.isExpansion).toList();
// You would probably want to load these too if you had them
final specialMods =
mods.values
.where(
(mod) =>
mod.id.contains("harmony") ||
mod.id.contains("prepatcher") ||
mod.id.contains("betterlog"),
)
.toList();
enableMods(baseGameMods.map((mod) => mod.id).toList());
enableMods(specialMods.map((mod) => mod.id).toList());
return loadRequired(loadOrder);
}
}
String _expansionNameFromId(String id) {