Fix up the display a little
Cleanup crew
This commit is contained in:
@@ -27,7 +27,7 @@ class Mod {
|
||||
final List<String> versions; // ModMetaData.supportedVersions
|
||||
final String description; // ModMetaData.description
|
||||
final List<String> hardDependencies; // ModMetaData.modDependencies
|
||||
final List<String> softDependencies; // ModMetaData.loadAfter
|
||||
final List<String> loadAfter; // ModMetaData.loadAfter
|
||||
final List<String> loadBefore; // ModMetaData.loadBefore
|
||||
final List<String> incompatabilities; // ModMetaData.incompatibleWith
|
||||
final bool enabled; // ConfigFile.mods.firstWhere((mod) => mod.id == id).enabled
|
||||
@@ -42,7 +42,7 @@ class Mod {
|
||||
required this.versions,
|
||||
required this.description,
|
||||
required this.hardDependencies,
|
||||
required this.softDependencies,
|
||||
required this.loadAfter,
|
||||
required this.loadBefore,
|
||||
required this.incompatabilities,
|
||||
required this.enabled,
|
||||
@@ -127,9 +127,9 @@ class Mod {
|
||||
// Silent error for optional element
|
||||
}
|
||||
|
||||
List<String> softDependencies = [];
|
||||
List<String> loadAfter = [];
|
||||
try {
|
||||
softDependencies =
|
||||
loadAfter =
|
||||
metadata
|
||||
.findElements('loadAfter')
|
||||
.first
|
||||
@@ -188,8 +188,8 @@ class Mod {
|
||||
bool isExpansion = !isBaseGame && id.startsWith('ludeon.rimworld.');
|
||||
|
||||
// If this is an expansion, ensure it depends on the base game
|
||||
if (isExpansion && !softDependencies.contains('ludeon.rimworld')) {
|
||||
softDependencies.add('ludeon.rimworld');
|
||||
if (isExpansion && !loadAfter.contains('ludeon.rimworld')) {
|
||||
loadAfter.add('ludeon.rimworld');
|
||||
}
|
||||
|
||||
final fileCountTime =
|
||||
@@ -208,7 +208,7 @@ class Mod {
|
||||
versions: versions,
|
||||
description: description,
|
||||
hardDependencies: hardDependencies,
|
||||
softDependencies: softDependencies,
|
||||
loadAfter: loadAfter,
|
||||
loadBefore: loadBefore,
|
||||
incompatabilities: incompatabilities,
|
||||
enabled: false,
|
||||
@@ -267,7 +267,7 @@ class ModList {
|
||||
description: isBaseGame ? "RimWorld base game" :
|
||||
isExpansion ? "RimWorld expansion" : "",
|
||||
hardDependencies: [],
|
||||
softDependencies: isExpansion ? ['ludeon.rimworld'] : [],
|
||||
loadAfter: isExpansion ? ['ludeon.rimworld'] : [],
|
||||
loadBefore: [],
|
||||
incompatabilities: [],
|
||||
enabled: true,
|
||||
@@ -319,7 +319,7 @@ class ModList {
|
||||
versions: mod.versions,
|
||||
description: mod.description,
|
||||
hardDependencies: mod.hardDependencies,
|
||||
softDependencies: mod.softDependencies,
|
||||
loadAfter: mod.loadAfter,
|
||||
loadBefore: mod.loadBefore,
|
||||
incompatabilities: mod.incompatabilities,
|
||||
enabled: activeModIds.contains(mod.id), // Set enabled based on config
|
||||
@@ -336,7 +336,7 @@ class ModList {
|
||||
versions: mod.versions,
|
||||
description: mod.description,
|
||||
hardDependencies: mod.hardDependencies,
|
||||
softDependencies: mod.softDependencies,
|
||||
loadAfter: mod.loadAfter,
|
||||
loadBefore: mod.loadBefore,
|
||||
incompatabilities: mod.incompatabilities,
|
||||
enabled: activeModIds.contains(mod.id), // Set enabled based on config
|
||||
@@ -427,7 +427,7 @@ class ModList {
|
||||
|
||||
// Add soft dependencies (loadAfter)
|
||||
for (final mod in mods.values) {
|
||||
for (final dependency in mod.softDependencies) {
|
||||
for (final dependency in mod.loadAfter) {
|
||||
// Only add if the dependency exists in our loaded mods
|
||||
if (mods.containsKey(dependency)) {
|
||||
graph[mod.id]!.add(dependency);
|
||||
@@ -738,7 +738,7 @@ class ConfigFile {
|
||||
description: isBaseGame ? "RimWorld base game" :
|
||||
isExpansion ? "RimWorld expansion" : "",
|
||||
hardDependencies: [],
|
||||
softDependencies: isExpansion ? ['ludeon.rimworld'] : [],
|
||||
loadAfter: isExpansion ? ['ludeon.rimworld'] : [],
|
||||
loadBefore: [],
|
||||
incompatabilities: [],
|
||||
enabled: true,
|
||||
|
Reference in New Issue
Block a user