Fix up the display a little

Cleanup crew
This commit is contained in:
2025-03-15 23:43:02 +01:00
parent 22ec31c2a7
commit 3c1e949b0d
2 changed files with 190 additions and 195 deletions

View File

@@ -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,