diff --git a/ARKBreedingStats/ARKBreedingStats.csproj b/ARKBreedingStats/ARKBreedingStats.csproj index 16157fb2..8f0a2c67 100644 --- a/ARKBreedingStats/ARKBreedingStats.csproj +++ b/ARKBreedingStats/ARKBreedingStats.csproj @@ -826,7 +826,7 @@ PreserveNewest - + ARKOverlay.cs diff --git a/ARKBreedingStats/FileService.cs b/ARKBreedingStats/FileService.cs index 638a9485..508ea7a2 100644 --- a/ARKBreedingStats/FileService.cs +++ b/ARKBreedingStats/FileService.cs @@ -25,6 +25,7 @@ public static class FileService public const string DataFolderName = "data"; public const string OcrReplacingsFile = "ocrReplacings.txt"; public const string EqualColorIdsFile = "equalColorIds.json"; + public const string HideVariantsInSpeciesNameFile = "hideVariantsInSpeciesName.txt"; /// /// Where the colored species images are cached. diff --git a/ARKBreedingStats/Form1.Designer.cs b/ARKBreedingStats/Form1.Designer.cs index bc660e25..53c94b9b 100644 --- a/ARKBreedingStats/Form1.Designer.cs +++ b/ARKBreedingStats/Form1.Designer.cs @@ -408,6 +408,7 @@ private void InitializeComponent() this.columnHeaderCurrentLevel = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); this.columnHeaderMaxPossibleLevel = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); this.columnHeaderTraits = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); + this.editVariantTagsToHideToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.groupBox1.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.numericUpDownImprintingBonusTester)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.NumericUpDownTestingTE)).BeginInit(); @@ -1311,6 +1312,7 @@ private void InitializeComponent() this.toolStripSeparator23, this.openJsonDataFolderToolStripMenuItem, this.speciesSortingToolStripMenuItem, + this.editVariantTagsToHideToolStripMenuItem, this.appSettingsToolStripMenuItem}); this.settingsToolStripMenuItem.Name = "settingsToolStripMenuItem"; this.settingsToolStripMenuItem.Size = new System.Drawing.Size(61, 20); @@ -3995,6 +3997,15 @@ private void InitializeComponent() this.columnHeaderTraits.Text = "Traits"; this.columnHeaderTraits.Width = 60; // + // editVariantTagsToHideToolStripMenuItem + // + this.editVariantTagsToHideToolStripMenuItem.Name = "editVariantTagsToHideToolStripMenuItem"; + this.editVariantTagsToHideToolStripMenuItem.Size = new System.Drawing.Size(226, 22); + this.editVariantTagsToHideToolStripMenuItem.Text = "Edit variant tags to hide"; + this.editVariantTagsToHideToolStripMenuItem.ToolTipText = "Add all variant tags that should be hidden in species names in this file, one var" + + "iant per line."; + this.editVariantTagsToHideToolStripMenuItem.Click += new System.EventHandler(this.editVariantTagsToHideToolStripMenuItem_Click); + // // Form1 // this.AcceptButton = this.btExtractLevels; @@ -4479,5 +4490,6 @@ private void InitializeComponent() private System.Windows.Forms.ColumnHeader columnHeaderCurrentLevel; private System.Windows.Forms.ColumnHeader columnHeaderMaxPossibleLevel; private System.Windows.Forms.ColumnHeader columnHeaderTraits; + private System.Windows.Forms.ToolStripMenuItem editVariantTagsToHideToolStripMenuItem; } } diff --git a/ARKBreedingStats/Form1.cs b/ARKBreedingStats/Form1.cs index f039fd3a..6f94ee2a 100644 --- a/ARKBreedingStats/Form1.cs +++ b/ARKBreedingStats/Form1.cs @@ -4025,5 +4025,16 @@ private void showStatsOptionsFileInExplorerToolStripMenuItem_Click(object sender { FileService.OpenFolderInExplorer(StatsOptionsLevelColors.SettingsFilePath); } + + private void editVariantTagsToHideToolStripMenuItem_Click(object sender, EventArgs e) + { + var filePath = FileService.GetJsonPath(FileService.HideVariantsInSpeciesNameFile); + + if (!File.Exists(filePath)) + File.WriteAllText(filePath, string.Empty); + if (File.Exists(filePath)) + Process.Start(filePath); + else MessageBoxes.ShowMessageBox($"Couldn't create file {filePath} automatically. Maybe you can create that file manually."); + } } } diff --git a/ARKBreedingStats/species/Species.cs b/ARKBreedingStats/species/Species.cs index 071fb8a9..2cf0ed6a 100644 --- a/ARKBreedingStats/species/Species.cs +++ b/ARKBreedingStats/species/Species.cs @@ -6,6 +6,7 @@ using System.Text.RegularExpressions; using ARKBreedingStats.Library; using ARKBreedingStats.mods; +using System.IO; namespace ARKBreedingStats.species { @@ -170,6 +171,8 @@ public double[] StatImprintMultipliersRaw [OnDeserialized] private void Initialize(StreamingContext _) => Initialize(); + private static string[] _ignoreVariantInName; + public void Initialize() { // TODO: Base species are maybe not used in game and may only lead to confusion (e.g. Giganotosaurus). @@ -284,8 +287,10 @@ public void InitializeNames() string variantInfoForName = null; if (variants != null && variants.Any()) { + var ignoreVariants = _getIgnoreVariantInName(); VariantInfo = string.Join(", ", variants); - variantInfoForName = string.Join(", ", string.IsNullOrEmpty(name) ? variants : variants.Where(v => !name.Contains(v))); + var gaun = variants.Any(v => ignoreVariants.Contains(v)); + variantInfoForName = string.Join(", ", string.IsNullOrEmpty(name) ? variants : variants.Where(v => !name.Contains(v) && !ignoreVariants.Contains(v))); } DescriptiveName = name + (string.IsNullOrEmpty(variantInfoForName) ? string.Empty : " (" + variantInfoForName + ")"); @@ -532,5 +537,16 @@ public string Name(Sex creatureSex) return name; } } + + private static string[] _getIgnoreVariantInName() + { + if (_ignoreVariantInName != null) return _ignoreVariantInName; + + var filePath = FileService.GetJsonPath(FileService.HideVariantsInSpeciesNameFile); + _ignoreVariantInName = !File.Exists(filePath) ? Array.Empty() : File.ReadAllLines(filePath).Where(l => !string.IsNullOrEmpty(l)).ToArray(); + return _ignoreVariantInName; + } + + public static void ClearIgnoreVariantsInName() => _ignoreVariantInName = null; } } diff --git a/ARKBreedingStats/values/Values.cs b/ARKBreedingStats/values/Values.cs index 999d7aff..80434525 100644 --- a/ARKBreedingStats/values/Values.cs +++ b/ARKBreedingStats/values/Values.cs @@ -177,6 +177,7 @@ private void InitializeSpeciesAndColors(bool undefinedColorAsa = false) InitializeArkColors(undefinedColorAsa); _speciesAndColorsInitialized = true; + Species.ClearIgnoreVariantsInName(); } ///