From a662dffc7ce448ee43a98534ef80442c06d62eeb Mon Sep 17 00:00:00 2001 From: PhatPhuckDave Date: Mon, 14 Jul 2025 23:33:46 +0200 Subject: [PATCH] Update dependencies in pubspec.lock and add new mod 'Odyssey' to mod list --- lib/components/html_tooltip.dart | 1 - lib/format_converter.dart | 2 +- lib/mod.dart | 1 - lib/mod_list.dart | 41 +++++++++++-------- pubspec.lock | 68 ++++++++++++++++++-------------- 5 files changed, 63 insertions(+), 50 deletions(-) diff --git a/lib/components/html_tooltip.dart b/lib/components/html_tooltip.dart index 65f159c..60fdda3 100644 --- a/lib/components/html_tooltip.dart +++ b/lib/components/html_tooltip.dart @@ -2,7 +2,6 @@ import 'package:flutter/material.dart'; import 'package:flutter_html/flutter_html.dart'; import 'package:url_launcher/url_launcher.dart'; import '../format_converter.dart'; -import 'dart:math' as math; class HtmlTooltip extends StatefulWidget { final Widget child; diff --git a/lib/format_converter.dart b/lib/format_converter.dart index b33523c..b58cd4b 100644 --- a/lib/format_converter.dart +++ b/lib/format_converter.dart @@ -44,7 +44,7 @@ class FormatConverter { 'td', ]; for (final tag in tagTypes) { - final openCount = '[${tag}'.allMatches(result).length; + final openCount = '[$tag'.allMatches(result).length; final closeCount = '[/$tag]'.allMatches(result).length; if (openCount > closeCount) { result = result + '[/$tag]' * (openCount - closeCount); diff --git a/lib/mod.dart b/lib/mod.dart index 71bd8e4..29b4737 100644 --- a/lib/mod.dart +++ b/lib/mod.dart @@ -1,6 +1,5 @@ import 'dart:io'; -import 'package:rimworld_modman/logger.dart'; import 'package:xml/xml.dart'; XmlElement findCaseInsensitive(XmlElement element, String name) { diff --git a/lib/mod_list.dart b/lib/mod_list.dart index 8cff3eb..4faa9ae 100644 --- a/lib/mod_list.dart +++ b/lib/mod_list.dart @@ -703,11 +703,11 @@ class ModList { loadOrder ??= LoadOrder(); final toEnable = []; final logger = Logger.instance; - + // First, identify all base game and expansion mods final baseGameIds = {}; final expansionIds = {}; - + for (final entry in mods.entries) { if (entry.value.isBaseGame) { baseGameIds.add(entry.key); @@ -715,46 +715,53 @@ class ModList { expansionIds.add(entry.key); } } - + logger.info("Base game mods: ${baseGameIds.join(', ')}"); logger.info("Expansion mods: ${expansionIds.join(', ')}"); - + // Load dependencies for all active mods for (final modid in activeMods.keys) { loadDependencies(modid, loadOrder, toEnable); } - + // Enable all required dependencies for (final modid in toEnable) { setEnabled(modid, true); } - + // Generate the load order final newLoadOrder = generateLoadOrder(loadOrder); - + // Filter out any error messages related to incompatibilities between base game and expansions if (newLoadOrder.hasErrors) { final filteredErrors = []; - + for (final error in newLoadOrder.errors) { // Check if the error is about incompatibility if (error.contains('Incompatibility detected:')) { // Extract the mod IDs from the error message final parts = error.split(' is incompatible with '); if (parts.length == 2) { - final firstModId = parts[0].replaceAll('Incompatibility detected: ', ''); + final firstModId = parts[0].replaceAll( + 'Incompatibility detected: ', + '', + ); final secondModId = parts[1]; - + // Check if either mod is a base game or expansion - final isBaseGameOrExpansion = - baseGameIds.contains(firstModId) || baseGameIds.contains(secondModId) || - expansionIds.contains(firstModId) || expansionIds.contains(secondModId); - + final isBaseGameOrExpansion = + baseGameIds.contains(firstModId) || + baseGameIds.contains(secondModId) || + expansionIds.contains(firstModId) || + expansionIds.contains(secondModId); + // Only keep the error if it's not between base game/expansions if (!isBaseGameOrExpansion) { filteredErrors.add(error); } else { - logger.info("Ignoring incompatibility between base game or expansion mods: $error"); + logger.info( + "Ignoring incompatibility between base game or expansion mods: $error", + ); } } else { // If we can't parse the error, keep it @@ -765,12 +772,12 @@ class ModList { filteredErrors.add(error); } } - + // Replace the errors with the filtered list newLoadOrder.errors.clear(); newLoadOrder.errors.addAll(filteredErrors); } - + return newLoadOrder; } diff --git a/pubspec.lock b/pubspec.lock index b762151..e1e7387 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -5,18 +5,18 @@ packages: dependency: transitive description: name: _fe_analyzer_shared - sha256: dc27559385e905ad30838356c5f5d574014ba39872d732111cd07ac0beff4c57 + sha256: da0d9209ca76bde579f2da330aeb9df62b6319c834fa7baae052021b0462401f url: "https://pub.dev" source: hosted - version: "80.0.0" + version: "85.0.0" analyzer: dependency: transitive description: name: analyzer - sha256: "192d1c5b944e7e53b24b5586db760db934b177d4147c42fbca8c8c5f1eb8d11e" + sha256: abf63d42450c7ad6d8188887d16eeba2f1ff92ea8d8dc673213e99fb3c02b194 url: "https://pub.dev" source: hosted - version: "7.3.0" + version: "7.5.7" args: dependency: transitive description: @@ -29,10 +29,10 @@ packages: dependency: transitive description: name: async - sha256: d2872f9c19731c2e5f10444b14686eb7cc85c76274bd6c16e1816bff9a3bab63 + sha256: "758e6d74e971c3e5aceb4110bfd6698efc7f501675bcfe0c775459a8140750eb" url: "https://pub.dev" source: hosted - version: "2.12.0" + version: "2.13.0" boolean_selector: dependency: transitive description: @@ -49,6 +49,14 @@ packages: url: "https://pub.dev" source: hosted version: "1.4.0" + cli_config: + dependency: transitive + description: + name: cli_config + sha256: ac20a183a07002b700f0c25e61b7ee46b23c309d76ab7b7640a028f18e4d99ec + url: "https://pub.dev" + source: hosted + version: "0.2.0" clock: dependency: transitive description: @@ -77,10 +85,10 @@ packages: dependency: transitive description: name: coverage - sha256: e3493833ea012784c740e341952298f1cc77f1f01b1bbc3eb4eecf6984fb7f43 + sha256: "5da775aa218eaf2151c721b16c01c7676fbfdd99cebba2bf64e8b807a28ff94d" url: "https://pub.dev" source: hosted - version: "1.11.1" + version: "1.15.0" crypto: dependency: transitive description: @@ -109,10 +117,10 @@ packages: dependency: transitive description: name: fake_async - sha256: "6a95e56b2449df2273fd8c45a662d6947ce1ebb7aafe80e550a3f68297f3cacc" + sha256: "5368f224a74523e8d2e7399ea1638b37aecfca824a3cc4dfdf77bf1fa905ac44" url: "https://pub.dev" source: hosted - version: "1.3.2" + version: "1.3.3" file: dependency: transitive description: @@ -180,10 +188,10 @@ packages: dependency: transitive description: name: html - sha256: "1fc58edeaec4307368c60d59b7e15b9d658b57d7f3125098b6294153c75337ec" + sha256: "6d1264f2dffa1b1101c25a91dff0dc2daee4c18e87cd8538729773c073dbf602" url: "https://pub.dev" source: hosted - version: "0.15.5" + version: "0.15.6" http_multi_server: dependency: transitive description: @@ -228,10 +236,10 @@ packages: dependency: transitive description: name: leak_tracker - sha256: c35baad643ba394b40aac41080300150a4f08fd0fd6a10378f8f7c6bc161acec + sha256: "6bb818ecbdffe216e81182c2f0714a2e62b593f4a4f13098713ff1685dfb6ab0" url: "https://pub.dev" source: hosted - version: "10.0.8" + version: "10.0.9" leak_tracker_flutter_testing: dependency: transitive description: @@ -497,26 +505,26 @@ packages: dependency: "direct main" description: name: url_launcher - sha256: "9d06212b1362abc2f0f0d78e6f09f726608c74e3b9462e8368bb03314aa8d603" + sha256: f6a7e5c4835bb4e3026a04793a4199ca2d14c739ec378fdfe23fc8075d0439f8 url: "https://pub.dev" source: hosted - version: "6.3.1" + version: "6.3.2" url_launcher_android: dependency: transitive description: name: url_launcher_android - sha256: "1d0eae19bd7606ef60fe69ef3b312a437a16549476c42321d5dc1506c9ca3bf4" + sha256: "8582d7f6fe14d2652b4c45c9b6c14c0b678c2af2d083a11b604caeba51930d79" url: "https://pub.dev" source: hosted - version: "6.3.15" + version: "6.3.16" url_launcher_ios: dependency: transitive description: name: url_launcher_ios - sha256: "16a513b6c12bb419304e72ea0ae2ab4fed569920d1c7cb850263fe3acc824626" + sha256: "7f2022359d4c099eea7df3fdf739f7d3d3b9faf3166fb1dd390775176e0b76cb" url: "https://pub.dev" source: hosted - version: "6.3.2" + version: "6.3.3" url_launcher_linux: dependency: transitive description: @@ -545,10 +553,10 @@ packages: dependency: transitive description: name: url_launcher_web - sha256: "3ba963161bd0fe395917ba881d320b9c4f6dd3c4a233da62ab18a5025c85f1e9" + sha256: "4bd2b7b4dc4d4d0b94e5babfffbca8eac1a126c7f3d6ecbc1a11013faa3abba2" url: "https://pub.dev" source: hosted - version: "2.4.0" + version: "2.4.1" url_launcher_windows: dependency: transitive description: @@ -569,18 +577,18 @@ packages: dependency: transitive description: name: vm_service - sha256: "0968250880a6c5fe7edc067ed0a13d4bae1577fe2771dcf3010d52c4a9d3ca14" + sha256: ddfa8d30d89985b96407efce8acbdd124701f96741f2d981ca860662f1c0dc02 url: "https://pub.dev" source: hosted - version: "14.3.1" + version: "15.0.0" watcher: dependency: transitive description: name: watcher - sha256: "69da27e49efa56a15f8afe8f4438c4ec02eff0a117df1b22ea4aad194fe1c104" + sha256: "0b7fd4a0bbc4b92641dbf20adfd7e3fd1398fe17102d94b674234563e110088a" url: "https://pub.dev" source: hosted - version: "1.1.1" + version: "1.1.2" web: dependency: transitive description: @@ -593,18 +601,18 @@ packages: dependency: transitive description: name: web_socket - sha256: "3c12d96c0c9a4eec095246debcea7b86c0324f22df69893d538fcc6f1b8cce83" + sha256: "34d64019aa8e36bf9842ac014bb5d2f5586ca73df5e4d9bf5c936975cae6982c" url: "https://pub.dev" source: hosted - version: "0.1.6" + version: "1.0.1" web_socket_channel: dependency: transitive description: name: web_socket_channel - sha256: "0b8e2457400d8a859b7b2030786835a28a8e80836ef64402abef392ff4f1d0e5" + sha256: d645757fb0f4773d602444000a8131ff5d48c9e47adfe9772652dd1a4f2d45c8 url: "https://pub.dev" source: hosted - version: "3.0.2" + version: "3.0.3" webkit_inspection_protocol: dependency: transitive description: