Merge Filtering into DatTools

This commit is contained in:
Matt Nadareski
2024-10-30 11:26:56 -04:00
parent 9e637021b1
commit 0e5572ff18
19 changed files with 19 additions and 82 deletions

View File

@@ -40,7 +40,6 @@
<ProjectReference Include="..\SabreTools.DatItems\SabreTools.DatItems.csproj" /> <ProjectReference Include="..\SabreTools.DatItems\SabreTools.DatItems.csproj" />
<ProjectReference Include="..\SabreTools.DatTools\SabreTools.DatTools.csproj" /> <ProjectReference Include="..\SabreTools.DatTools\SabreTools.DatTools.csproj" />
<ProjectReference Include="..\SabreTools.FileTypes\SabreTools.FileTypes.csproj" /> <ProjectReference Include="..\SabreTools.FileTypes\SabreTools.FileTypes.csproj" />
<ProjectReference Include="..\SabreTools.Filtering\SabreTools.Filtering.csproj" />
<ProjectReference Include="..\SabreTools.Help\SabreTools.Help.csproj" /> <ProjectReference Include="..\SabreTools.Help\SabreTools.Help.csproj" />
</ItemGroup> </ItemGroup>

View File

@@ -6,7 +6,7 @@ using SabreTools.DatFiles;
using SabreTools.DatItems; using SabreTools.DatItems;
using SabreTools.IO.Logging; using SabreTools.IO.Logging;
namespace SabreTools.Filtering namespace SabreTools.DatTools
{ {
/// <summary> /// <summary>
/// Represents the cleaning operations that need to be performed on a set of items, usually a DAT /// Represents the cleaning operations that need to be performed on a set of items, usually a DAT

View File

@@ -6,7 +6,6 @@ using System.Threading.Tasks;
#endif #endif
using SabreTools.DatFiles; using SabreTools.DatFiles;
using SabreTools.DatItems; using SabreTools.DatItems;
using SabreTools.Filtering;
using SabreTools.IO; using SabreTools.IO;
using SabreTools.IO.Logging; using SabreTools.IO.Logging;

View File

@@ -5,7 +5,7 @@ using SabreTools.DatFiles;
using SabreTools.DatItems; using SabreTools.DatItems;
using SabreTools.IO.Logging; using SabreTools.IO.Logging;
namespace SabreTools.Filtering namespace SabreTools.DatTools
{ {
public class ExtraIni public class ExtraIni
{ {

View File

@@ -4,9 +4,9 @@ using SabreTools.DatFiles;
using SabreTools.DatItems; using SabreTools.DatItems;
using SabreTools.IO.Logging; using SabreTools.IO.Logging;
namespace SabreTools.Filtering namespace SabreTools.DatTools
{ {
public class Splitter public class MergeSplit
{ {
#region Fields #region Fields

View File

@@ -3,7 +3,7 @@ using SabreTools.Core.Filter;
using SabreTools.DatFiles; using SabreTools.DatFiles;
using SabreTools.IO.Logging; using SabreTools.IO.Logging;
namespace SabreTools.Filtering namespace SabreTools.DatTools
{ {
/// <summary> /// <summary>
/// Represents the removal operations that need to be performed on a set of items, usually a DAT /// Represents the removal operations that need to be performed on a set of items, usually a DAT

View File

@@ -4,7 +4,7 @@ using SabreTools.Core.Tools;
using SabreTools.DatItems; using SabreTools.DatItems;
using SabreTools.DatItems.Formats; using SabreTools.DatItems.Formats;
namespace SabreTools.Filtering namespace SabreTools.DatTools
{ {
/// <summary> /// <summary>
/// Replace fields in DatItems /// Replace fields in DatItems

View File

@@ -33,12 +33,15 @@
<TargetFrameworks>net6.0;net7.0;net8.0</TargetFrameworks> <TargetFrameworks>net6.0;net7.0;net8.0</TargetFrameworks>
</PropertyGroup> </PropertyGroup>
<ItemGroup>
<InternalsVisibleTo Include="SabreTools.Test" />
</ItemGroup>
<ItemGroup> <ItemGroup>
<ProjectReference Include="..\SabreTools.Core\SabreTools.Core.csproj" /> <ProjectReference Include="..\SabreTools.Core\SabreTools.Core.csproj" />
<ProjectReference Include="..\SabreTools.DatFiles\SabreTools.DatFiles.csproj" /> <ProjectReference Include="..\SabreTools.DatFiles\SabreTools.DatFiles.csproj" />
<ProjectReference Include="..\SabreTools.DatItems\SabreTools.DatItems.csproj" /> <ProjectReference Include="..\SabreTools.DatItems\SabreTools.DatItems.csproj" />
<ProjectReference Include="..\SabreTools.FileTypes\SabreTools.FileTypes.csproj" /> <ProjectReference Include="..\SabreTools.FileTypes\SabreTools.FileTypes.csproj" />
<ProjectReference Include="..\SabreTools.Filtering\SabreTools.Filtering.csproj" />
<ProjectReference Include="..\SabreTools.Reports\SabreTools.Reports.csproj" /> <ProjectReference Include="..\SabreTools.Reports\SabreTools.Reports.csproj" />
</ItemGroup> </ItemGroup>

View File

@@ -7,7 +7,7 @@ using SabreTools.DatItems;
using SabreTools.DatItems.Formats; using SabreTools.DatItems.Formats;
using SabreTools.IO.Logging; using SabreTools.IO.Logging;
namespace SabreTools.Filtering namespace SabreTools.DatTools
{ {
/// <summary> /// <summary>
/// Set fields on DatItems /// Set fields on DatItems

View File

@@ -1,50 +0,0 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<!-- Assembly Properties -->
<TargetFrameworks>net20;net35;net40;net452;net462;net472;net48;netcoreapp3.1;net5.0;net6.0;net7.0;net8.0</TargetFrameworks>
<CheckEolTargetFramework>false</CheckEolTargetFramework>
<IncludeSourceRevisionInInformationalVersion>false</IncludeSourceRevisionInInformationalVersion>
<LangVersion>latest</LangVersion>
<Nullable>enable</Nullable>
<SuppressTfmSupportBuildWarnings>true</SuppressTfmSupportBuildWarnings>
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
<Version>1.1.2</Version>
<!-- Package Properties -->
<Authors>Matt Nadareski</Authors>
<Copyright>Copyright (c)2016-2024 Matt Nadareski</Copyright>
<PackageProjectUrl>https://github.com/SabreTools/</PackageProjectUrl>
<RepositoryUrl>https://github.com/SabreTools/SabreTools</RepositoryUrl>
<RepositoryType>git</RepositoryType>
</PropertyGroup>
<!-- Support All Frameworks -->
<PropertyGroup Condition="$(TargetFramework.StartsWith(`net2`)) OR $(TargetFramework.StartsWith(`net3`)) OR $(TargetFramework.StartsWith(`net4`))">
<RuntimeIdentifiers>win-x86;win-x64</RuntimeIdentifiers>
</PropertyGroup>
<PropertyGroup Condition="$(TargetFramework.StartsWith(`netcoreapp`)) OR $(TargetFramework.StartsWith(`net5`))">
<RuntimeIdentifiers>win-x86;win-x64;win-arm64;linux-x64;linux-arm64;osx-x64</RuntimeIdentifiers>
</PropertyGroup>
<PropertyGroup Condition="$(TargetFramework.StartsWith(`net6`)) OR $(TargetFramework.StartsWith(`net7`)) OR $(TargetFramework.StartsWith(`net8`))">
<RuntimeIdentifiers>win-x86;win-x64;win-arm64;linux-x64;linux-arm64;osx-x64;osx-arm64</RuntimeIdentifiers>
</PropertyGroup>
<PropertyGroup Condition="$(RuntimeIdentifier.StartsWith(`osx-arm`))">
<TargetFrameworks>net6.0;net7.0;net8.0</TargetFrameworks>
</PropertyGroup>
<ItemGroup>
<InternalsVisibleTo Include="SabreTools.Test" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\SabreTools.Core\SabreTools.Core.csproj" />
<ProjectReference Include="..\SabreTools.DatFiles\SabreTools.DatFiles.csproj" />
<ProjectReference Include="..\SabreTools.DatItems\SabreTools.DatItems.csproj" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="SabreTools.IO" Version="1.4.13" />
</ItemGroup>
</Project>

View File

@@ -1,7 +1,7 @@
using SabreTools.Core.Filter; using SabreTools.Core.Filter;
using SabreTools.DatItems; using SabreTools.DatItems;
using SabreTools.DatItems.Formats; using SabreTools.DatItems.Formats;
using SabreTools.Filtering; using SabreTools.DatTools;
using Xunit; using Xunit;
namespace SabreTools.Test.DatFiles namespace SabreTools.Test.DatFiles

View File

@@ -1,6 +1,6 @@
using SabreTools.DatItems; using SabreTools.DatItems;
using SabreTools.DatItems.Formats; using SabreTools.DatItems.Formats;
using SabreTools.Filtering; using SabreTools.DatTools;
using Xunit; using Xunit;
namespace SabreTools.Test.Filtering namespace SabreTools.Test.Filtering

View File

@@ -1,5 +1,5 @@
using System.Collections.Generic; using System.Collections.Generic;
using SabreTools.Filtering; using SabreTools.DatTools;
using Xunit; using Xunit;
namespace SabreTools.Test.Filtering namespace SabreTools.Test.Filtering

View File

@@ -1,7 +1,7 @@
using System.Collections.Generic; using System.Collections.Generic;
using SabreTools.DatItems; using SabreTools.DatItems;
using SabreTools.DatItems.Formats; using SabreTools.DatItems.Formats;
using SabreTools.Filtering; using SabreTools.DatTools;
using Xunit; using Xunit;
namespace SabreTools.Test.Filtering namespace SabreTools.Test.Filtering

View File

@@ -13,7 +13,6 @@
<ProjectReference Include="..\SabreTools.DatItems\SabreTools.DatItems.csproj" /> <ProjectReference Include="..\SabreTools.DatItems\SabreTools.DatItems.csproj" />
<ProjectReference Include="..\SabreTools.DatTools\SabreTools.DatTools.csproj" /> <ProjectReference Include="..\SabreTools.DatTools\SabreTools.DatTools.csproj" />
<ProjectReference Include="..\SabreTools.FileTypes\SabreTools.FileTypes.csproj" /> <ProjectReference Include="..\SabreTools.FileTypes\SabreTools.FileTypes.csproj" />
<ProjectReference Include="..\SabreTools.Filtering\SabreTools.Filtering.csproj" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>

View File

@@ -20,8 +20,6 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SabreTools.Core", "SabreToo
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SabreTools.Help", "SabreTools.Help\SabreTools.Help.csproj", "{55364167-844F-4B58-8280-F5327FA3D8E7}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SabreTools.Help", "SabreTools.Help\SabreTools.Help.csproj", "{55364167-844F-4B58-8280-F5327FA3D8E7}"
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SabreTools.Filtering", "SabreTools.Filtering\SabreTools.Filtering.csproj", "{35129634-0F13-416A-8D4D-35B71DFECFFD}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SabreTools.FileTypes", "SabreTools.FileTypes\SabreTools.FileTypes.csproj", "{0B36F39B-69CB-4E8A-B251-D063CB08B247}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SabreTools.FileTypes", "SabreTools.FileTypes\SabreTools.FileTypes.csproj", "{0B36F39B-69CB-4E8A-B251-D063CB08B247}"
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SabreTools.DatItems", "SabreTools.DatItems\SabreTools.DatItems.csproj", "{90ADE461-33B1-4E0D-925F-C99913665F0C}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SabreTools.DatItems", "SabreTools.DatItems\SabreTools.DatItems.csproj", "{90ADE461-33B1-4E0D-925F-C99913665F0C}"
@@ -80,14 +78,6 @@ Global
{55364167-844F-4B58-8280-F5327FA3D8E7}.Release|Any CPU.Build.0 = Release|Any CPU {55364167-844F-4B58-8280-F5327FA3D8E7}.Release|Any CPU.Build.0 = Release|Any CPU
{55364167-844F-4B58-8280-F5327FA3D8E7}.Release|x64.ActiveCfg = Release|Any CPU {55364167-844F-4B58-8280-F5327FA3D8E7}.Release|x64.ActiveCfg = Release|Any CPU
{55364167-844F-4B58-8280-F5327FA3D8E7}.Release|x64.Build.0 = Release|Any CPU {55364167-844F-4B58-8280-F5327FA3D8E7}.Release|x64.Build.0 = Release|Any CPU
{35129634-0F13-416A-8D4D-35B71DFECFFD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{35129634-0F13-416A-8D4D-35B71DFECFFD}.Debug|Any CPU.Build.0 = Debug|Any CPU
{35129634-0F13-416A-8D4D-35B71DFECFFD}.Debug|x64.ActiveCfg = Debug|Any CPU
{35129634-0F13-416A-8D4D-35B71DFECFFD}.Debug|x64.Build.0 = Debug|Any CPU
{35129634-0F13-416A-8D4D-35B71DFECFFD}.Release|Any CPU.ActiveCfg = Release|Any CPU
{35129634-0F13-416A-8D4D-35B71DFECFFD}.Release|Any CPU.Build.0 = Release|Any CPU
{35129634-0F13-416A-8D4D-35B71DFECFFD}.Release|x64.ActiveCfg = Release|Any CPU
{35129634-0F13-416A-8D4D-35B71DFECFFD}.Release|x64.Build.0 = Release|Any CPU
{0B36F39B-69CB-4E8A-B251-D063CB08B247}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {0B36F39B-69CB-4E8A-B251-D063CB08B247}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{0B36F39B-69CB-4E8A-B251-D063CB08B247}.Debug|Any CPU.Build.0 = Debug|Any CPU {0B36F39B-69CB-4E8A-B251-D063CB08B247}.Debug|Any CPU.Build.0 = Debug|Any CPU
{0B36F39B-69CB-4E8A-B251-D063CB08B247}.Debug|x64.ActiveCfg = Debug|Any CPU {0B36F39B-69CB-4E8A-B251-D063CB08B247}.Debug|x64.ActiveCfg = Debug|Any CPU

View File

@@ -5,7 +5,6 @@ using SabreTools.Core.Tools;
using SabreTools.DatFiles; using SabreTools.DatFiles;
using SabreTools.DatTools; using SabreTools.DatTools;
using SabreTools.FileTypes; using SabreTools.FileTypes;
using SabreTools.Filtering;
using SabreTools.Hashing; using SabreTools.Hashing;
using SabreTools.Help; using SabreTools.Help;
using SabreTools.IO.Logging; using SabreTools.IO.Logging;
@@ -1792,7 +1791,7 @@ Some special strings that can be used:
/// <summary> /// <summary>
/// Pre-configured Splitter /// Pre-configured Splitter
/// </summary> /// </summary>
protected Filtering.Splitter? Splitter { get; set; } protected MergeSplit? Splitter { get; set; }
#endregion #endregion
@@ -2252,9 +2251,9 @@ Some special strings that can be used:
/// <summary> /// <summary>
/// Get Splitter from feature list /// Get Splitter from feature list
/// </summary> /// </summary>
private static Filtering.Splitter GetSplitter(Dictionary<string, Feature?> features) private static MergeSplit GetSplitter(Dictionary<string, Feature?> features)
{ {
Filtering.Splitter splitter = new() MergeSplit splitter = new()
{ {
SplitType = GetSplitType(features), SplitType = GetSplitType(features),
}; };

View File

@@ -7,7 +7,6 @@ using SabreTools.Core.Filter;
using SabreTools.Core.Tools; using SabreTools.Core.Tools;
using SabreTools.DatFiles; using SabreTools.DatFiles;
using SabreTools.DatTools; using SabreTools.DatTools;
using SabreTools.Filtering;
using SabreTools.Hashing; using SabreTools.Hashing;
using SabreTools.Help; using SabreTools.Help;
using SabreTools.IO; using SabreTools.IO;
@@ -583,7 +582,7 @@ Reset the internal state: reset();";
MergingFlag mergingFlag = Arguments[0].AsEnumValue<MergingFlag>(); MergingFlag mergingFlag = Arguments[0].AsEnumValue<MergingFlag>();
// Apply the merging flag // Apply the merging flag
Filtering.Splitter splitter = new() { SplitType = mergingFlag }; MergeSplit splitter = new() { SplitType = mergingFlag };
splitter.ApplySplitting(batchState.DatFile, false, false); splitter.ApplySplitting(batchState.DatFile, false, false);
} }
} }

View File

@@ -38,7 +38,6 @@
<ItemGroup> <ItemGroup>
<ProjectReference Include="..\SabreTools.DatFiles\SabreTools.DatFiles.csproj" /> <ProjectReference Include="..\SabreTools.DatFiles\SabreTools.DatFiles.csproj" />
<ProjectReference Include="..\SabreTools.DatTools\SabreTools.DatTools.csproj" /> <ProjectReference Include="..\SabreTools.DatTools\SabreTools.DatTools.csproj" />
<ProjectReference Include="..\SabreTools.Filtering\SabreTools.Filtering.csproj" />
<ProjectReference Include="..\SabreTools.Help\SabreTools.Help.csproj" /> <ProjectReference Include="..\SabreTools.Help\SabreTools.Help.csproj" />
</ItemGroup> </ItemGroup>