From 7409d0bc2f3ee836b3c763a2dbb3c6895be76f15 Mon Sep 17 00:00:00 2001 From: Ottermandias Date: Sun, 5 Jun 2022 12:28:11 +0200 Subject: [PATCH] Fix breaking on empty mod paths and add Url field --- Penumbra/Collections/ModCollection.Inheritance.cs | 1 - Penumbra/Import/TexToolsImporter.ModPack.cs | 8 ++++---- Penumbra/Import/TexToolsStructs.cs | 12 +++++++----- 3 files changed, 11 insertions(+), 10 deletions(-) diff --git a/Penumbra/Collections/ModCollection.Inheritance.cs b/Penumbra/Collections/ModCollection.Inheritance.cs index 9b2706ca..ba621337 100644 --- a/Penumbra/Collections/ModCollection.Inheritance.cs +++ b/Penumbra/Collections/ModCollection.Inheritance.cs @@ -1,6 +1,5 @@ using System; using System.Collections.Generic; -using System.Diagnostics.CodeAnalysis; using System.Linq; using Dalamud.Logging; using OtterGui.Filesystem; diff --git a/Penumbra/Import/TexToolsImporter.ModPack.cs b/Penumbra/Import/TexToolsImporter.ModPack.cs index 0b461860..f15053cf 100644 --- a/Penumbra/Import/TexToolsImporter.ModPack.cs +++ b/Penumbra/Import/TexToolsImporter.ModPack.cs @@ -92,7 +92,7 @@ public partial class TexToolsImporter _currentModDirectory = Mod.CreateModFolder( _baseDirectory, _currentModName ); Mod.CreateMeta( _currentModDirectory, _currentModName, modList.Author, string.IsNullOrEmpty( modList.Description ) ? "Mod imported from TexTools mod pack" - : modList.Description, null, null ); + : modList.Description, modList.Version, modList.Url ); // Open the mod data file from the mod pack as a SqPackStream _streamDisposer = GetSqPackStreamStream( extractedModPack, "TTMPD.mpd" ); @@ -135,7 +135,7 @@ public partial class TexToolsImporter _currentModName = modList.Name; _currentModDirectory = Mod.CreateModFolder( _baseDirectory, _currentModName ); - Mod.CreateMeta( _currentModDirectory, _currentModName, modList.Author, modList.Description, modList.Version, null ); + Mod.CreateMeta( _currentModDirectory, _currentModName, modList.Author, modList.Description, modList.Version, modList.Url ); if( _currentNumOptions == 0 ) { @@ -226,10 +226,10 @@ public partial class TexToolsImporter State = ImporterState.ExtractingModFiles; _currentFileIdx = 0; - _currentNumFiles = mods.Count; + _currentNumFiles = mods.Count(m => m.FullPath.Length > 0); // Extract each SimpleMod into the new mod folder - foreach( var simpleMod in mods ) + foreach( var simpleMod in mods.Where(m => m.FullPath.Length > 0 ) ) { ExtractMod( outDirectory, simpleMod ); ++_currentFileIdx; diff --git a/Penumbra/Import/TexToolsStructs.cs b/Penumbra/Import/TexToolsStructs.cs index bb2ba8d9..51b73b90 100644 --- a/Penumbra/Import/TexToolsStructs.cs +++ b/Penumbra/Import/TexToolsStructs.cs @@ -58,6 +58,7 @@ internal class ExtendedModPack public string Author = DefaultTexToolsData.Author; public string Version = string.Empty; public string Description = DefaultTexToolsData.Description; + public string Url = string.Empty; public ModPackPage[] ModPackPages = Array.Empty< ModPackPage >(); public SimpleMod[] SimpleModsList = Array.Empty< SimpleMod >(); } @@ -65,10 +66,11 @@ internal class ExtendedModPack [Serializable] internal class SimpleModPack { - public string TtmpVersion = string.Empty; - public string Name = DefaultTexToolsData.Name; - public string Author = DefaultTexToolsData.Author; - public string Version = string.Empty; - public string Description = DefaultTexToolsData.Description; + public string TtmpVersion = string.Empty; + public string Name = DefaultTexToolsData.Name; + public string Author = DefaultTexToolsData.Author; + public string Version = string.Empty; + public string Description = DefaultTexToolsData.Description; + public string Url = string.Empty; public SimpleMod[] SimpleModsList = Array.Empty< SimpleMod >(); } \ No newline at end of file