diff --git a/PCK-Studio/Forms/Editor/COLEditor.Designer.cs b/PCK-Studio/Forms/Editor/COLEditor.Designer.cs index c5b4c1b6..c9d0ffcc 100644 --- a/PCK-Studio/Forms/Editor/COLEditor.Designer.cs +++ b/PCK-Studio/Forms/Editor/COLEditor.Designer.cs @@ -51,7 +51,21 @@ namespace PckStudio.Forms.Editor this.menuStrip = new System.Windows.Forms.MenuStrip(); this.fileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.saveToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); - this.targetUpdateToolToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.waterTab = new System.Windows.Forms.TabPage(); + this.waterTreeView = new System.Windows.Forms.TreeView(); + this.ColorContextMenu = new MetroFramework.Controls.MetroContextMenu(this.components); + this.copyColorToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.pasteColorToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.restoreOriginalColorToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.underwaterTreeView = new System.Windows.Forms.TreeView(); + this.fogTreeView = new System.Windows.Forms.TreeView(); + this.colorsTab = new System.Windows.Forms.TabPage(); + this.colorTreeView = new System.Windows.Forms.TreeView(); + this.tabControl = new MetroFramework.Controls.MetroTabControl(); + this.underwaterTab = new System.Windows.Forms.TabPage(); + this.fogTab = new System.Windows.Forms.TabPage(); + this.toolsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.targetUpdateToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.TU12ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.TU13ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.TU14ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); @@ -65,19 +79,7 @@ namespace PckStudio.Forms.Editor this.TU54ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.TU69ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this._1_9_1ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.waterTab = new System.Windows.Forms.TabPage(); - this.waterTreeView = new System.Windows.Forms.TreeView(); - this.ColorContextMenu = new MetroFramework.Controls.MetroContextMenu(this.components); - this.restoreOriginalColorToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.copyColorToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.pasteColorToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.underwaterTreeView = new System.Windows.Forms.TreeView(); - this.fogTreeView = new System.Windows.Forms.TreeView(); - this.colorsTab = new System.Windows.Forms.TabPage(); - this.colorTreeView = new System.Windows.Forms.TreeView(); - this.tabControl = new MetroFramework.Controls.MetroTabControl(); - this.underwaterTab = new System.Windows.Forms.TabPage(); - this.fogTab = new System.Windows.Forms.TabPage(); + this.stripPS4BiomesToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.metroPanel1.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.blueUpDown)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.greenUpDown)).BeginInit(); @@ -239,6 +241,7 @@ namespace PckStudio.Forms.Editor // // colorTextbox // + this.colorTextbox.CharacterCasing = System.Windows.Forms.CharacterCasing.Upper; // // // @@ -254,7 +257,7 @@ namespace PckStudio.Forms.Editor this.colorTextbox.CustomButton.Visible = ((bool)(resources.GetObject("resource.Visible1"))); this.colorTextbox.Lines = new string[0]; resources.ApplyResources(this.colorTextbox, "colorTextbox"); - this.colorTextbox.MaxLength = 32767; + this.colorTextbox.MaxLength = 6; this.colorTextbox.Name = "colorTextbox"; this.colorTextbox.PasswordChar = '\0'; this.colorTextbox.ScrollBars = System.Windows.Forms.ScrollBars.None; @@ -267,6 +270,7 @@ namespace PckStudio.Forms.Editor this.colorTextbox.WaterMarkColor = System.Drawing.Color.FromArgb(((int)(((byte)(109)))), ((int)(((byte)(109)))), ((int)(((byte)(109))))); this.colorTextbox.WaterMarkFont = new System.Drawing.Font("Segoe UI", 12F, System.Drawing.FontStyle.Italic, System.Drawing.GraphicsUnit.Pixel); this.colorTextbox.TextChanged += new System.EventHandler(this.colorBox_TextChanged); + this.colorTextbox.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.colorTextbox_KeyPress); // // metroLabel1 // @@ -287,7 +291,7 @@ namespace PckStudio.Forms.Editor this.menuStrip.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64))))); this.menuStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.fileToolStripMenuItem, - this.targetUpdateToolToolStripMenuItem}); + this.toolsToolStripMenuItem}); this.menuStrip.Name = "menuStrip"; // // fileToolStripMenuItem @@ -304,9 +308,126 @@ namespace PckStudio.Forms.Editor this.saveToolStripMenuItem1.Name = "saveToolStripMenuItem1"; this.saveToolStripMenuItem1.Click += new System.EventHandler(this.saveToolStripMenuItem1_Click); // - // targetUpdateToolToolStripMenuItem + // waterTab // - this.targetUpdateToolToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.waterTab.BackColor = System.Drawing.SystemColors.WindowFrame; + this.waterTab.Controls.Add(this.waterTreeView); + resources.ApplyResources(this.waterTab, "waterTab"); + this.waterTab.Name = "waterTab"; + // + // waterTreeView + // + this.waterTreeView.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64))))); + this.waterTreeView.ContextMenuStrip = this.ColorContextMenu; + resources.ApplyResources(this.waterTreeView, "waterTreeView"); + this.waterTreeView.ForeColor = System.Drawing.Color.White; + this.waterTreeView.Name = "waterTreeView"; + this.waterTreeView.AfterSelect += new System.Windows.Forms.TreeViewEventHandler(this.treeView2_AfterSelect); + this.waterTreeView.KeyDown += new System.Windows.Forms.KeyEventHandler(this.treeView2_KeyDown); + // + // ColorContextMenu + // + this.ColorContextMenu.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.copyColorToolStripMenuItem, + this.pasteColorToolStripMenuItem, + this.restoreOriginalColorToolStripMenuItem}); + this.ColorContextMenu.Name = "ColorContextMenu"; + resources.ApplyResources(this.ColorContextMenu, "ColorContextMenu"); + // + // copyColorToolStripMenuItem + // + this.copyColorToolStripMenuItem.Name = "copyColorToolStripMenuItem"; + resources.ApplyResources(this.copyColorToolStripMenuItem, "copyColorToolStripMenuItem"); + this.copyColorToolStripMenuItem.Click += new System.EventHandler(this.copyColorToolStripMenuItem_Click); + // + // pasteColorToolStripMenuItem + // + this.pasteColorToolStripMenuItem.Name = "pasteColorToolStripMenuItem"; + resources.ApplyResources(this.pasteColorToolStripMenuItem, "pasteColorToolStripMenuItem"); + this.pasteColorToolStripMenuItem.Click += new System.EventHandler(this.pasteColorToolStripMenuItem_Click); + // + // restoreOriginalColorToolStripMenuItem + // + this.restoreOriginalColorToolStripMenuItem.Name = "restoreOriginalColorToolStripMenuItem"; + resources.ApplyResources(this.restoreOriginalColorToolStripMenuItem, "restoreOriginalColorToolStripMenuItem"); + this.restoreOriginalColorToolStripMenuItem.Click += new System.EventHandler(this.restoreOriginalColorToolStripMenuItem_Click); + // + // underwaterTreeView + // + this.underwaterTreeView.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64))))); + this.underwaterTreeView.ContextMenuStrip = this.ColorContextMenu; + this.underwaterTreeView.ForeColor = System.Drawing.Color.White; + resources.ApplyResources(this.underwaterTreeView, "underwaterTreeView"); + this.underwaterTreeView.Name = "underwaterTreeView"; + this.underwaterTreeView.AfterSelect += new System.Windows.Forms.TreeViewEventHandler(this.treeView3_AfterSelect); + this.underwaterTreeView.KeyDown += new System.Windows.Forms.KeyEventHandler(this.treeView3_KeyDown); + // + // fogTreeView + // + this.fogTreeView.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64))))); + this.fogTreeView.ContextMenuStrip = this.ColorContextMenu; + this.fogTreeView.ForeColor = System.Drawing.Color.White; + resources.ApplyResources(this.fogTreeView, "fogTreeView"); + this.fogTreeView.Name = "fogTreeView"; + this.fogTreeView.AfterSelect += new System.Windows.Forms.TreeViewEventHandler(this.treeView4_AfterSelect); + this.fogTreeView.KeyDown += new System.Windows.Forms.KeyEventHandler(this.treeView4_KeyDown); + // + // colorsTab + // + this.colorsTab.BackColor = System.Drawing.SystemColors.WindowFrame; + this.colorsTab.Controls.Add(this.colorTreeView); + resources.ApplyResources(this.colorsTab, "colorsTab"); + this.colorsTab.Name = "colorsTab"; + // + // colorTreeView + // + this.colorTreeView.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64))))); + this.colorTreeView.ContextMenuStrip = this.ColorContextMenu; + resources.ApplyResources(this.colorTreeView, "colorTreeView"); + this.colorTreeView.ForeColor = System.Drawing.Color.White; + this.colorTreeView.Name = "colorTreeView"; + this.colorTreeView.AfterSelect += new System.Windows.Forms.TreeViewEventHandler(this.treeView1_AfterSelect); + this.colorTreeView.KeyDown += new System.Windows.Forms.KeyEventHandler(this.treeView1_KeyDown); + // + // tabControl + // + resources.ApplyResources(this.tabControl, "tabControl"); + this.tabControl.Controls.Add(this.colorsTab); + this.tabControl.Controls.Add(this.waterTab); + this.tabControl.Controls.Add(this.underwaterTab); + this.tabControl.Controls.Add(this.fogTab); + this.tabControl.Name = "tabControl"; + this.tabControl.SelectedIndex = 0; + this.tabControl.Style = MetroFramework.MetroColorStyle.White; + this.tabControl.Theme = MetroFramework.MetroThemeStyle.Dark; + this.tabControl.UseSelectable = true; + // + // underwaterTab + // + this.underwaterTab.BackColor = System.Drawing.SystemColors.WindowFrame; + this.underwaterTab.Controls.Add(this.underwaterTreeView); + resources.ApplyResources(this.underwaterTab, "underwaterTab"); + this.underwaterTab.Name = "underwaterTab"; + // + // fogTab + // + this.fogTab.BackColor = System.Drawing.SystemColors.WindowFrame; + this.fogTab.Controls.Add(this.fogTreeView); + resources.ApplyResources(this.fogTab, "fogTab"); + this.fogTab.Name = "fogTab"; + // + // toolsToolStripMenuItem + // + this.toolsToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.stripPS4BiomesToolStripMenuItem, + this.targetUpdateToolStripMenuItem}); + this.toolsToolStripMenuItem.ForeColor = System.Drawing.Color.White; + this.toolsToolStripMenuItem.Name = "toolsToolStripMenuItem"; + resources.ApplyResources(this.toolsToolStripMenuItem, "toolsToolStripMenuItem"); + // + // targetUpdateToolStripMenuItem + // + this.targetUpdateToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.TU12ToolStripMenuItem, this.TU13ToolStripMenuItem, this.TU14ToolStripMenuItem, @@ -320,9 +441,8 @@ namespace PckStudio.Forms.Editor this.TU54ToolStripMenuItem, this.TU69ToolStripMenuItem, this._1_9_1ToolStripMenuItem}); - this.targetUpdateToolToolStripMenuItem.ForeColor = System.Drawing.Color.White; - this.targetUpdateToolToolStripMenuItem.Name = "targetUpdateToolToolStripMenuItem"; - resources.ApplyResources(this.targetUpdateToolToolStripMenuItem, "targetUpdateToolToolStripMenuItem"); + this.targetUpdateToolStripMenuItem.Name = "targetUpdateToolStripMenuItem"; + resources.ApplyResources(this.targetUpdateToolStripMenuItem, "targetUpdateToolStripMenuItem"); // // TU12ToolStripMenuItem // @@ -389,105 +509,11 @@ namespace PckStudio.Forms.Editor this._1_9_1ToolStripMenuItem.Name = "_1_9_1ToolStripMenuItem"; resources.ApplyResources(this._1_9_1ToolStripMenuItem, "_1_9_1ToolStripMenuItem"); // - // waterTab + // stripPS4BiomesToolStripMenuItem // - this.waterTab.BackColor = System.Drawing.SystemColors.WindowFrame; - this.waterTab.Controls.Add(this.waterTreeView); - resources.ApplyResources(this.waterTab, "waterTab"); - this.waterTab.Name = "waterTab"; - // - // waterTreeView - // - this.waterTreeView.ContextMenuStrip = this.ColorContextMenu; - resources.ApplyResources(this.waterTreeView, "waterTreeView"); - this.waterTreeView.Name = "waterTreeView"; - this.waterTreeView.AfterSelect += new System.Windows.Forms.TreeViewEventHandler(this.treeView2_AfterSelect); - this.waterTreeView.KeyDown += new System.Windows.Forms.KeyEventHandler(this.treeView2_KeyDown); - // - // ColorContextMenu - // - this.ColorContextMenu.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.restoreOriginalColorToolStripMenuItem, - this.copyColorToolStripMenuItem, - this.pasteColorToolStripMenuItem}); - this.ColorContextMenu.Name = "ColorContextMenu"; - resources.ApplyResources(this.ColorContextMenu, "ColorContextMenu"); - // - // restoreOriginalColorToolStripMenuItem - // - this.restoreOriginalColorToolStripMenuItem.Name = "restoreOriginalColorToolStripMenuItem"; - resources.ApplyResources(this.restoreOriginalColorToolStripMenuItem, "restoreOriginalColorToolStripMenuItem"); - this.restoreOriginalColorToolStripMenuItem.Click += new System.EventHandler(this.restoreOriginalColorToolStripMenuItem_Click); - // - // copyColorToolStripMenuItem - // - this.copyColorToolStripMenuItem.Name = "copyColorToolStripMenuItem"; - resources.ApplyResources(this.copyColorToolStripMenuItem, "copyColorToolStripMenuItem"); - this.copyColorToolStripMenuItem.Click += new System.EventHandler(this.copyColorToolStripMenuItem_Click); - // - // pasteColorToolStripMenuItem - // - this.pasteColorToolStripMenuItem.Name = "pasteColorToolStripMenuItem"; - resources.ApplyResources(this.pasteColorToolStripMenuItem, "pasteColorToolStripMenuItem"); - this.pasteColorToolStripMenuItem.Click += new System.EventHandler(this.pasteColorToolStripMenuItem_Click); - // - // underwaterTreeView - // - this.underwaterTreeView.ContextMenuStrip = this.ColorContextMenu; - resources.ApplyResources(this.underwaterTreeView, "underwaterTreeView"); - this.underwaterTreeView.Name = "underwaterTreeView"; - this.underwaterTreeView.AfterSelect += new System.Windows.Forms.TreeViewEventHandler(this.treeView3_AfterSelect); - this.underwaterTreeView.KeyDown += new System.Windows.Forms.KeyEventHandler(this.treeView3_KeyDown); - // - // fogTreeView - // - this.fogTreeView.ContextMenuStrip = this.ColorContextMenu; - resources.ApplyResources(this.fogTreeView, "fogTreeView"); - this.fogTreeView.Name = "fogTreeView"; - this.fogTreeView.AfterSelect += new System.Windows.Forms.TreeViewEventHandler(this.treeView4_AfterSelect); - this.fogTreeView.KeyDown += new System.Windows.Forms.KeyEventHandler(this.treeView4_KeyDown); - // - // colorsTab - // - this.colorsTab.BackColor = System.Drawing.SystemColors.WindowFrame; - this.colorsTab.Controls.Add(this.colorTreeView); - resources.ApplyResources(this.colorsTab, "colorsTab"); - this.colorsTab.Name = "colorsTab"; - // - // colorTreeView - // - this.colorTreeView.ContextMenuStrip = this.ColorContextMenu; - resources.ApplyResources(this.colorTreeView, "colorTreeView"); - this.colorTreeView.Name = "colorTreeView"; - this.colorTreeView.AfterSelect += new System.Windows.Forms.TreeViewEventHandler(this.treeView1_AfterSelect); - this.colorTreeView.KeyDown += new System.Windows.Forms.KeyEventHandler(this.treeView1_KeyDown); - // - // tabControl - // - resources.ApplyResources(this.tabControl, "tabControl"); - this.tabControl.Controls.Add(this.colorsTab); - this.tabControl.Controls.Add(this.waterTab); - this.tabControl.Controls.Add(this.underwaterTab); - this.tabControl.Controls.Add(this.fogTab); - this.tabControl.Name = "tabControl"; - this.tabControl.SelectedIndex = 0; - this.tabControl.Style = MetroFramework.MetroColorStyle.White; - this.tabControl.Theme = MetroFramework.MetroThemeStyle.Dark; - this.tabControl.UseSelectable = true; - // - // underwaterTab - // - this.underwaterTab.BackColor = System.Drawing.SystemColors.WindowFrame; - this.underwaterTab.Controls.Add(this.underwaterTreeView); - resources.ApplyResources(this.underwaterTab, "underwaterTab"); - this.underwaterTab.Name = "underwaterTab"; - // - // fogTab - // - this.fogTab.BackColor = System.Drawing.SystemColors.WindowFrame; - this.fogTab.Controls.Add(this.fogTreeView); - resources.ApplyResources(this.fogTab, "fogTab"); - this.fogTab.Name = "fogTab"; + this.stripPS4BiomesToolStripMenuItem.Name = "stripPS4BiomesToolStripMenuItem"; + resources.ApplyResources(this.stripPS4BiomesToolStripMenuItem, "stripPS4BiomesToolStripMenuItem"); + this.stripPS4BiomesToolStripMenuItem.Click += new System.EventHandler(this.stripPS4BiomesToolStripMenuItem_Click); // // COLEditor // @@ -551,21 +577,23 @@ namespace PckStudio.Forms.Editor private ToolStripMenuItem restoreOriginalColorToolStripMenuItem; private MetroFramework.Controls.MetroTextBox metroTextBox1; private MetroFramework.Controls.MetroLabel metroLabel2; - private ToolStripMenuItem targetUpdateToolToolStripMenuItem; - private ToolStripMenuItem TU12ToolStripMenuItem; - private ToolStripMenuItem TU13ToolStripMenuItem; - private ToolStripMenuItem TU14ToolStripMenuItem; - private ToolStripMenuItem TU19ToolStripMenuItem; - private ToolStripMenuItem TU31ToolStripMenuItem; - private ToolStripMenuItem TU32ToolStripMenuItem; - private ToolStripMenuItem TU43ToolStripMenuItem; - private ToolStripMenuItem TU46ToolStripMenuItem; - private ToolStripMenuItem TU51ToolStripMenuItem; - private ToolStripMenuItem TU53ToolStripMenuItem; - private ToolStripMenuItem TU54ToolStripMenuItem; - private ToolStripMenuItem TU69ToolStripMenuItem; - private ToolStripMenuItem _1_9_1ToolStripMenuItem; - private ToolStripMenuItem copyColorToolStripMenuItem; - private ToolStripMenuItem pasteColorToolStripMenuItem; - } + private ToolStripMenuItem copyColorToolStripMenuItem; + private ToolStripMenuItem pasteColorToolStripMenuItem; + private ToolStripMenuItem toolsToolStripMenuItem; + private ToolStripMenuItem targetUpdateToolStripMenuItem; + private ToolStripMenuItem TU12ToolStripMenuItem; + private ToolStripMenuItem TU13ToolStripMenuItem; + private ToolStripMenuItem TU14ToolStripMenuItem; + private ToolStripMenuItem TU19ToolStripMenuItem; + private ToolStripMenuItem TU31ToolStripMenuItem; + private ToolStripMenuItem TU32ToolStripMenuItem; + private ToolStripMenuItem TU43ToolStripMenuItem; + private ToolStripMenuItem TU46ToolStripMenuItem; + private ToolStripMenuItem TU51ToolStripMenuItem; + private ToolStripMenuItem TU53ToolStripMenuItem; + private ToolStripMenuItem TU54ToolStripMenuItem; + private ToolStripMenuItem TU69ToolStripMenuItem; + private ToolStripMenuItem _1_9_1ToolStripMenuItem; + private ToolStripMenuItem stripPS4BiomesToolStripMenuItem; + } } \ No newline at end of file diff --git a/PCK-Studio/Forms/Editor/COLEditor.cs b/PCK-Studio/Forms/Editor/COLEditor.cs index 6ae722aa..78a222c3 100644 --- a/PCK-Studio/Forms/Editor/COLEditor.cs +++ b/PCK-Studio/Forms/Editor/COLEditor.cs @@ -17,7 +17,7 @@ namespace PckStudio.Forms.Editor { ColorContainer default_colourfile; ColorContainer colourfile; - ColorContainer.Color clipboard_color; + string clipboard_color = "#FFFFFF"; private readonly PckFileData _file; @@ -55,6 +55,9 @@ namespace PckStudio.Forms.Editor _1_9_1ToolStripMenuItem.Click += (sender, e) => SetUpDefaultFile(sender, e, 12); SetUpDefaultFile(null, EventArgs.Empty, 11, false); + + colorTreeView.Select(); + colorTreeView.SelectedNode = colorTreeView.Nodes[0]; } private void SetUpDefaultFile(object sender, EventArgs e, int ID, bool targetVersion = true) @@ -87,6 +90,14 @@ namespace PckStudio.Forms.Editor SetUpTable(targetVersion); } + void AddEntry(TreeView treeView, List cache, string name, object tag) + { + TreeNode tn = new TreeNode(name); + tn.Tag = tag; + treeView.Nodes.Add(tn); + cache.Add(tn); + } + void SetUpTable(bool targetVersion) { colorTreeView.Nodes.Clear(); @@ -98,35 +109,57 @@ namespace PckStudio.Forms.Editor List CurrentEntries = new List(); - foreach (var obj in temp.Colors) + colorCache.Clear(); + fogCache.Clear(); + underwaterCache.Clear(); + waterCache.Clear(); + + // fixes the duplicate entry bug + if (targetVersion) + { + foreach(var col in colourfile.Colors) + { + if (default_colourfile.Colors.Find(c => c.Name == col.Name) == null) continue; + CurrentEntries.Add(col.Name); + AddEntry(colorTreeView, colorCache, col.Name, col); + } + } + + foreach (var col in temp.Colors) { - var entry = colourfile.Colors.Find(color => color.Name == obj.Name); - TreeNode tn = new TreeNode(obj.Name); - tn.Tag = entry != null ? entry : obj; - if (CurrentEntries.Contains(obj.Name)) continue; - CurrentEntries.Add(obj.Name); - colorTreeView.Nodes.Add(tn); - colorCache.Add(tn); + var entry = colourfile.Colors.Find(color => color.Name == col.Name); + if (CurrentEntries.Contains(col.Name)) continue; + var color = entry ?? col; + AddEntry(colorTreeView, colorCache, color.Name, color); } CurrentEntries.Clear(); - foreach (var obj in temp.WaterColors) + + // fixes the duplicate entry bug + if (targetVersion) { - var entry = colourfile.WaterColors.Find(color => color.Name == obj.Name); - TreeNode tn = new TreeNode(obj.Name); - tn.Tag = entry != null ? entry : obj; - if (CurrentEntries.Contains(obj.Name)) continue; - CurrentEntries.Add(obj.Name); - waterTreeView.Nodes.Add(tn); - waterCache.Add(tn); - TreeNode tnB = new TreeNode(obj.Name); - tnB.Tag = entry != null ? entry : obj; - underwaterTreeView.Nodes.Add(tnB); - underwaterCache.Add(tnB); - TreeNode tnC = new TreeNode(obj.Name); - tnC.Tag = entry != null ? entry : obj; - fogTreeView.Nodes.Add(tnC); - fogCache.Add(tnC); + foreach (var col in colourfile.WaterColors) + { + if (default_colourfile.WaterColors.Find(c => c.Name == col.Name) == null) continue; + var entry = colourfile.WaterColors.Find(color => color.Name == col.Name); + var color = entry ?? col; + AddEntry(waterTreeView, waterCache, color.Name, color); + AddEntry(underwaterTreeView, underwaterCache, color.Name, color); + AddEntry(fogTreeView, fogCache, color.Name, color); + } } + + foreach (var col in temp.WaterColors) + { + var entry = colourfile.WaterColors.Find(color => color.Name == col.Name); + if (CurrentEntries.Contains(col.Name)) continue; + var color = entry ?? col; + AddEntry(waterTreeView, waterCache, color.Name, color); + AddEntry(underwaterTreeView, underwaterCache, color.Name, color); + AddEntry(fogTreeView, fogCache, color.Name, color); + } + + // force the filter function to run to carry filter over and fix treeview size + metroTextBox1_TextChanged(null, null); } void SetUpValueChanged(bool add) @@ -151,6 +184,11 @@ namespace PckStudio.Forms.Editor { if (colorTreeView.SelectedNode.Tag == null) return; + + waterTreeView.SelectedNode = null; + underwaterTreeView.SelectedNode = null; + fogTreeView.SelectedNode = null; + var colorEntry = (ColorContainer.Color)colorTreeView.SelectedNode.Tag; var color = colorEntry.ColorPallette.ToArgb(); SetUpValueChanged(false); @@ -160,6 +198,7 @@ namespace PckStudio.Forms.Editor greenUpDown.Value = color >> 8 & 0xff; blueUpDown.Value = color & 0xff; pictureBox1.BackColor = Color.FromArgb(0xff << 24 | color); + colorTextbox.Text = ColorTranslator.ToHtml(colorEntry.ColorPallette).TrimStart('#'); SetUpValueChanged(true); } @@ -167,6 +206,11 @@ namespace PckStudio.Forms.Editor { if (waterTreeView.SelectedNode.Tag == null) return; + + colorTreeView.SelectedNode = null; + underwaterTreeView.SelectedNode = null; + fogTreeView.SelectedNode = null; + var colorEntry = (ColorContainer.WaterColor)waterTreeView.SelectedNode.Tag; int color = colorEntry.SurfaceColor.ToArgb(); SetUpValueChanged(false); @@ -178,6 +222,7 @@ namespace PckStudio.Forms.Editor greenUpDown.Value = color >> 8 & 0xff; blueUpDown.Value = color & 0xff; pictureBox1.BackColor = colorEntry.SurfaceColor; + colorTextbox.Text = ColorTranslator.ToHtml(colorEntry.SurfaceColor).TrimStart('#'); SetUpValueChanged(true); } @@ -185,6 +230,11 @@ namespace PckStudio.Forms.Editor { if (underwaterTreeView.SelectedNode.Tag == null) return; + + colorTreeView.SelectedNode = null; + waterTreeView.SelectedNode = null; + fogTreeView.SelectedNode = null; + var colorEntry = (ColorContainer.WaterColor)underwaterTreeView.SelectedNode.Tag; int color = colorEntry.UnderwaterColor.ToArgb(); SetUpValueChanged(false); @@ -194,6 +244,7 @@ namespace PckStudio.Forms.Editor greenUpDown.Value = color >> 8 & 0xff; blueUpDown.Value = color & 0xff; pictureBox1.BackColor = Color.FromArgb(255, Color.FromArgb(0xff << 24 | color)); + colorTextbox.Text = ColorTranslator.ToHtml(colorEntry.UnderwaterColor).TrimStart('#'); SetUpValueChanged(true); } @@ -201,6 +252,11 @@ namespace PckStudio.Forms.Editor { if (fogTreeView.SelectedNode.Tag == null) return; + + colorTreeView.SelectedNode = null; + waterTreeView.SelectedNode = null; + underwaterTreeView.SelectedNode = null; + var colorEntry = (ColorContainer.WaterColor)fogTreeView.SelectedNode.Tag; int color = colorEntry.FogColor.ToArgb(); SetUpValueChanged(false); @@ -210,38 +266,12 @@ namespace PckStudio.Forms.Editor greenUpDown.Value = color >> 8 & 0xff; blueUpDown.Value = color & 0xff; pictureBox1.BackColor = Color.FromArgb(255, Color.FromArgb(0xff << 24 | color)); + colorTextbox.Text = ColorTranslator.ToHtml(colorEntry.FogColor).TrimStart('#'); SetUpValueChanged(true); } private void saveToolStripMenuItem1_Click(object sender, EventArgs e) { - List PS4Biomes = new List - { - "bamboo_jungle", - "bamboo_jungle_hills", - "mesa_mutated", - "mega_spruce_taiga_mutated", - "mega_taiga_mutated" - }; - - if (colourfile.WaterColors.Find(e => PS4Biomes.Contains(e.Name)) != null) - { - var result = MessageBox.Show(this, "Biomes exclusive to PS4 Edition v1.91 were found in the water section of this colour table. This will crash all other editions of the game and PS4 Edition v1.90 and below. Would you like to remove them?", "Potentially unsupported biomes found", MessageBoxButtons.YesNoCancel); - switch (result) - { - case DialogResult.Yes: - foreach (var col in colourfile.WaterColors.ToList()) - { - if(PS4Biomes.Contains(col.Name)) colourfile.WaterColors.Remove(col); - } - break; - case DialogResult.No: - break; - default: - return; - } - } - _file.SetData(new COLFileWriter(colourfile)); DialogResult = DialogResult.OK; @@ -315,49 +345,43 @@ namespace PckStudio.Forms.Editor } } + public bool IsValidHexString(string value) + { + return System.Text.RegularExpressions.Regex.IsMatch(value, @"\A\b[0-9a-fA-F]+\b\Z") && value.Length == 6; + } + private void colorBox_TextChanged(object sender, EventArgs e) { - //TreeView tv = (TreeView)tabControl.SelectedTab.Controls[0]; - //if (tv.SelectedNode == null || tv.SelectedNode.Tag == null) - // return; - //bool hasAlpha = tabControl.SelectedTab == waterTab; - //alphaUpDown.Enabled = hasAlpha; - //redUpDown.Value = StringToByteArrayFastest(colorTextbox.Text)[!hasAlpha ? 0 : 1]; - //greenUpDown.Value = StringToByteArrayFastest(colorTextbox.Text)[!hasAlpha ? 1 : 2]; - //blueUpDown.Value = StringToByteArrayFastest(colorTextbox.Text)[!hasAlpha ? 2 : 3]; - //int color = 0; /*colorEntry.color*/; - // int argb = (int)((0xff000000u) | (color >> 24)); - //colorTextbox.MaxLength = hasAlpha ? 8 : 6; - //alphaLabel.Visible = false; - //alphaUpDown.Visible = false; - //if (hasAlpha) - //{ - // alphaLabel.Visible = true; - // alphaUpDown.Visible = true; - // alphaUpDown.Value = StringToByteArrayFastest(colorTextbox.Text)[0]; - // argb = color >> 24 | color << 8; - //} - //pictureBox1.BackColor = Color.FromArgb(argb); + if(IsValidHexString(colorTextbox.Text)) + { + Color color = ColorTranslator.FromHtml("#" + colorTextbox.Text); + + redUpDown.Value = color.R; + greenUpDown.Value = color.G; + blueUpDown.Value = color.B; + } } private void color_ValueChanged(object sender, EventArgs e) { - Color fixed_color = new Color(); + Color color = Color.FromArgb(tabControl.SelectedTab == waterTab ? (int)alphaUpDown.Value : 255, (int)redUpDown.Value, (int)greenUpDown.Value, (int)blueUpDown.Value); + if (tabControl.SelectedTab == colorsTab) - { + { var colorEntry = (ColorContainer.Color)colorTreeView.SelectedNode.Tag; - colorEntry.ColorPallette = fixed_color = Color.FromArgb(255, (int)redUpDown.Value, (int)greenUpDown.Value, (int)blueUpDown.Value); + colorEntry.ColorPallette = color; } - else if (tabControl.SelectedTab != null && waterTreeView.SelectedNode != null) // just in case - { - var colorEntry = (ColorContainer.WaterColor)waterTreeView.SelectedNode.Tag; - fixed_color = Color.FromArgb(tabControl.SelectedTab == waterTab ? (int)alphaUpDown.Value : 255, (int)redUpDown.Value, (int)greenUpDown.Value, (int)blueUpDown.Value); - if (tabControl.SelectedTab == waterTab) colorEntry.SurfaceColor = fixed_color; - else if (tabControl.SelectedTab == underwaterTab) colorEntry.UnderwaterColor = fixed_color; - else colorEntry.FogColor = fixed_color; + else + { + var waterColorEntry = (tabControl.SelectedTab.Controls[0] as TreeView).SelectedNode.Tag as ColorContainer.WaterColor; + + if (tabControl.SelectedTab == waterTab) waterColorEntry.SurfaceColor = color; + else if (tabControl.SelectedTab == underwaterTab) waterColorEntry.UnderwaterColor = color; + else waterColorEntry.FogColor = color; } - pictureBox1.BackColor = fixed_color; + pictureBox1.BackColor = color; + colorTextbox.Text = ColorTranslator.ToHtml(color).TrimStart('#'); } private void setColorBtn_Click(object sender, EventArgs e) @@ -412,56 +436,48 @@ namespace PckStudio.Forms.Editor private void alpha_ValueChanged(object sender, EventArgs e) { - if (tabControl.SelectedTab == waterTab && waterTreeView.SelectedNode != null && - waterTreeView.SelectedNode.Tag != null && waterTreeView.SelectedNode.Tag is ColorContainer.WaterColor) - { - var colorEntry = (ColorContainer.WaterColor)waterTreeView.SelectedNode.Tag; - pictureBox1.BackColor = colorEntry.SurfaceColor = Color.FromArgb((int)alphaUpDown.Value, colorEntry.SurfaceColor); - } + var colorEntry = (ColorContainer.WaterColor)waterTreeView.SelectedNode.Tag; + pictureBox1.BackColor = colorEntry.SurfaceColor = Color.FromArgb((int)alphaUpDown.Value, colorEntry.SurfaceColor); } private void restoreOriginalColorToolStripMenuItem_Click(object sender, EventArgs e) { - SetUpValueChanged(false); - if (tabControl.SelectedTab == colorsTab && colorTreeView.SelectedNode != null && - colorTreeView.SelectedNode.Tag != null && colorTreeView.SelectedNode.Tag is ColorContainer.Color colorInfoD) - { - var entry = default_colourfile.Colors.Find(color => color.Name == colorTreeView.SelectedNode.Text); - colorInfoD.ColorPallette = entry.ColorPallette; - UpdateDisplayColor(entry.ColorPallette); - } - else if (tabControl.SelectedTab == waterTab && waterTreeView.SelectedNode != null && - waterTreeView.SelectedNode.Tag != null && waterTreeView.SelectedNode.Tag is ColorContainer.WaterColor colorInfo) - { - var entry = default_colourfile.WaterColors.Find(color => color.Name == waterTreeView.SelectedNode.Text); - colorInfo.SurfaceColor = entry.SurfaceColor; - UpdateDisplayColor(entry.SurfaceColor); - } - else if (tabControl.SelectedTab == underwaterTab && underwaterTreeView.SelectedNode != null && - underwaterTreeView.SelectedNode.Tag != null && underwaterTreeView.SelectedNode.Tag is ColorContainer.WaterColor colorInfoB) - { - var entry = default_colourfile.WaterColors.Find(color => color.Name == underwaterTreeView.SelectedNode.Text); - colorInfoB.UnderwaterColor = entry.UnderwaterColor; - UpdateDisplayColor(entry.UnderwaterColor); - } - else if (tabControl.SelectedTab == fogTab && fogTreeView.SelectedNode != null && - fogTreeView.SelectedNode.Tag != null && fogTreeView.SelectedNode.Tag is ColorContainer.WaterColor colorInfoC) - { - var entry = default_colourfile.WaterColors.Find(color => color.Name == fogTreeView.SelectedNode.Text); - colorInfoC.FogColor = entry.FogColor; - UpdateDisplayColor(entry.FogColor); - } - SetUpValueChanged(true); - } + if(tabControl.SelectedTab is var tab && tab != null) + { + TreeNode node = (tabControl.SelectedTab.Controls[0] as TreeView).SelectedNode; - private void UpdateDisplayColor(Color color) - { - alphaUpDown.Value = color.A; - redUpDown.Value = color.R; - greenUpDown.Value = color.G; - blueUpDown.Value = color.B; - pictureBox1.BackColor = Color.FromArgb(tabControl.SelectedTab == colorsTab ? 0xFF : color.A, color); - } + Color color = Color.Empty; + + if (tab == colorsTab) + { + color = default_colourfile.Colors.Find(color => color.Name == node.Text).ColorPallette; + + if (color.IsEmpty) return; + + colorTextbox.Text = ColorTranslator.ToHtml(color).TrimStart('#'); + } + else + { + var WaterEntry = default_colourfile.WaterColors.Find(color => color.Name == node.Text); + + if (WaterEntry == null) return; + + color = + tab == waterTab ? WaterEntry.SurfaceColor : + tab == underwaterTab ? WaterEntry.UnderwaterColor : WaterEntry.FogColor; + + if (tab == waterTab) + { + alphaUpDown.Value = color.A; + } + + redUpDown.Value = color.R; + greenUpDown.Value = color.G; + blueUpDown.Value = color.B; + } + pictureBox1.BackColor = Color.FromArgb(tab == colorsTab ? 0xFF : color.A, color); + } + } private void metroTextBox1_TextChanged(object sender, EventArgs e) { @@ -536,66 +552,12 @@ namespace PckStudio.Forms.Editor private void copyColorToolStripMenuItem_Click(object sender, EventArgs e) { - var colorToCopy = new ColorContainer.Color() - { - Name = "", - ColorPallette = new Color() - }; - if (tabControl.SelectedTab == colorsTab && colorTreeView.SelectedNode.Tag is ColorContainer.Color colorInfoD) - { - colorToCopy = colorInfoD; - } - else if (tabControl.SelectedTab == waterTab && waterTreeView.SelectedNode.Tag is ColorContainer.WaterColor colorInfo) - { - colorToCopy.ColorPallette = colorInfo.SurfaceColor; - } - else if (tabControl.SelectedTab == underwaterTab && underwaterTreeView.SelectedNode.Tag is ColorContainer.WaterColor colorInfoB) - { - colorToCopy.ColorPallette = colorInfoB.UnderwaterColor; - } - else if (tabControl.SelectedTab == fogTab && fogTreeView.SelectedNode.Tag is ColorContainer.WaterColor colorInfoC) - { - colorToCopy.ColorPallette = colorInfoC.FogColor; - } - clipboard_color = colorToCopy; + clipboard_color = colorTextbox.Text; } private void pasteColorToolStripMenuItem_Click(object sender, EventArgs e) { - if (clipboard_color == null) return; - SetUpValueChanged(false); - Color fixed_color = Color.FromArgb(255, Color.FromArgb(0xff, clipboard_color.ColorPallette)); - - if (tabControl.SelectedTab == waterTab && waterTreeView.SelectedNode != null && - waterTreeView.SelectedNode.Tag != null && waterTreeView.SelectedNode.Tag is ColorContainer.WaterColor) - { - var colorEntry = ((ColorContainer.WaterColor)waterTreeView.SelectedNode.Tag); - colorEntry.SurfaceColor = fixed_color; - } - else if (tabControl.SelectedTab == underwaterTab && underwaterTreeView.SelectedNode != null && - underwaterTreeView.SelectedNode.Tag != null && underwaterTreeView.SelectedNode.Tag is ColorContainer.WaterColor) - { - var colorEntry = ((ColorContainer.WaterColor)underwaterTreeView.SelectedNode.Tag); - colorEntry.UnderwaterColor = fixed_color; - } - else if (tabControl.SelectedTab == fogTab && fogTreeView.SelectedNode != null && - fogTreeView.SelectedNode.Tag != null && fogTreeView.SelectedNode.Tag is ColorContainer.WaterColor) - { - var colorEntry = ((ColorContainer.WaterColor)fogTreeView.SelectedNode.Tag); - colorEntry.FogColor = fixed_color; - } - else if (tabControl.SelectedTab == colorsTab && colorTreeView.SelectedNode != null && - colorTreeView.SelectedNode.Tag != null && colorTreeView.SelectedNode.Tag is ColorContainer.Color) - { - var colorEntry = ((ColorContainer.Color)colorTreeView.SelectedNode.Tag); - colorEntry.ColorPallette = fixed_color; - } - - redUpDown.Value = clipboard_color.ColorPallette.R; - greenUpDown.Value = clipboard_color.ColorPallette.G; - blueUpDown.Value = clipboard_color.ColorPallette.B; - pictureBox1.BackColor = fixed_color; - SetUpValueChanged(true); + colorTextbox.Text = clipboard_color; } private void COLEditor_FormClosing(object sender, FormClosingEventArgs e) @@ -605,5 +567,34 @@ namespace PckStudio.Forms.Editor saveToolStripMenuItem1_Click(sender, EventArgs.Empty); } } + + private void colorTextbox_KeyPress(object sender, KeyPressEventArgs e) + { + string hexCheck = "0123456789abcdefABCDEF\b"; + + e.Handled = !hexCheck.Contains(e.KeyChar); + } + + private void stripPS4BiomesToolStripMenuItem_Click(object sender, EventArgs e) + { + if(colourfile.WaterColors.Count > 0) + { + List PS4Biomes = new List + { + "bamboo_jungle", + "bamboo_jungle_hills", + "mesa_mutated", + "mega_spruce_taiga_mutated", + "mega_taiga_mutated" + }; + + foreach (var col in colourfile.WaterColors.ToList()) + { + if (PS4Biomes.Contains(col.Name)) colourfile.WaterColors.Remove(col); + } + + SetUpTable(false); + } + } } } diff --git a/PCK-Studio/Forms/Editor/COLEditor.resx b/PCK-Studio/Forms/Editor/COLEditor.resx index 9a20d780..b2003d3c 100644 --- a/PCK-Studio/Forms/Editor/COLEditor.resx +++ b/PCK-Studio/Forms/Editor/COLEditor.resx @@ -117,18 +117,210 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + metroTextBox1 + + + MetroFramework.Controls.MetroTextBox, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a + + + metroPanel1 + + + 2 + + + metroLabel2 + + + MetroFramework.Controls.MetroLabel, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a + + + metroPanel1 + + + 3 + + + setColorBtn + + + MetroFramework.Controls.MetroButton, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a + + + metroPanel1 + + + 4 + + + blueUpDown + + + System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + metroPanel1 + + + 5 + + + greenUpDown + + + System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + metroPanel1 + + + 6 + + + redUpDown + + + System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + metroPanel1 + + + 7 + + + alphaUpDown + + + System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + metroPanel1 + + + 8 + + + alphaLabel + + + MetroFramework.Controls.MetroLabel, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a + + + metroPanel1 + + + 9 + + + blueLabel + + + MetroFramework.Controls.MetroLabel, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a + + + metroPanel1 + + + 10 + + + greenLabel + + + MetroFramework.Controls.MetroLabel, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a + + + metroPanel1 + + + 11 + + + redLabel + + + MetroFramework.Controls.MetroLabel, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a + + + metroPanel1 + + + 12 + + + colorTextbox + + + MetroFramework.Controls.MetroTextBox, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a + + + metroPanel1 + + + 13 + + + metroLabel1 + + + MetroFramework.Controls.MetroLabel, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a + + + metroPanel1 + + + 14 + + + pictureBox1 + + + System.Windows.Forms.PictureBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + metroPanel1 + + + 15 + + + Fill + + + + 20, 60 + + + 612, 523 + + + + 0 + + + metroPanel1 + + + MetroFramework.Controls.MetroPanel, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a + + + $this + + + 3 + - 113, 1 21, 21 - 0 @@ -298,16 +490,16 @@ True - 367, 320 + 342, 320 - 21, 19 + 46, 19 16 - A: + Alpha: False @@ -328,16 +520,16 @@ True - 368, 395 + 351, 397 - 20, 19 + 37, 19 12 - B: + Blue: blueLabel @@ -355,16 +547,16 @@ True - 367, 371 + 341, 371 - 21, 19 + 47, 19 10 - G: + Green: greenLabel @@ -382,16 +574,16 @@ True - 368, 345 + 353, 345 - 20, 19 + 35, 19 8 - R: + Red: redLabel @@ -448,16 +640,16 @@ True - 342, 423 + 354, 423 - 46, 19 + 34, 19 3 - Color: + Hex: metroLabel1 @@ -492,142 +684,12 @@ 15 - - Fill - - - 20, 60 - - - 612, 523 - - - 0 - - - metroPanel1 - - - MetroFramework.Controls.MetroPanel, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a - - - $this - - - 3 - 17, 17 False - - - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO - vAAADrwBlbxySQAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4yMfEgaZUAAADfSURBVDhPYxg8 - QLt++3yTGbf/Fm599P/Nh49wfPXxq/+rTt37f+Dak/8gOSBgAGEMANIMxGBFyAasPf/0v8GE8//z1t8C - y4HU4DIALIluwLpLL+HiMANAGKoNAWASCavv/n/57gPcgOvP3oENOXj7NViOoAFGU6791+k4ghWD5Aga - QCyGakMAkODcU89R/I8Ng9TgNADk14dPn/8/c+kqVgySgwUqVBsCwAx49urN/zsPHmPFIDmaGvAXJInN - 38gYasBfqDYE0K7dOn/Wvut/sfkdGYPUgJI9VNuAAwYGAGn6yvdevWgPAAAAAElFTkSuQmCC - - - - 98, 22 - - - Save - - - 37, 20 - - - File - - - 414, 22 - - - TU12 (360) - - - 414, 22 - - - TU13/1.00 (360/PS3) - - - 414, 22 - - - TU14/1.04 (360/PS3) - - - 414, 22 - - - TU19/1.12/CU7 (360/PS3-4-Vita/XONE) - - - 414, 22 - - - TU31/1.22/CU19 (360/PS3-4-Vita/XONE) - - - 414, 22 - - - TU32/1.24/CU20/P3 (360/PS3-4-Vita/XONE/WIIU) - - - 414, 22 - - - TU43/1.35/CU32/P12 (360/PS3-4-Vita/XONE/WIIU) - - - 414, 22 - - - TU46/1.38/CU36/P15 (360/PS3-4-Vita/XONE/WIIU) - - - 414, 22 - - - TU51/1.44/CU41/P20 (360/PS3-4-Vita/XONE/WIIU) - - - 414, 22 - - - TU53/1.49/CU43/P23/1.0.3 (360/PS3-4-Vita/XONE/WIIU/SWITCH) - - - 414, 22 - - - TU54/1.52/CU44/P24/1.0.4 (360/PS3-4-Vita/XONE/WIIU/SWITCH) - - - 414, 22 - - - TU69/1.76/P38 (360/PS3-4-Vita/WIIU) - - - 414, 22 - - - 1.91 (PS4) - - - 117, 20 - - - Target Update Tool - 20, 60 @@ -652,29 +714,33 @@ 1 + + 37, 20 + + + File + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO + vAAADrwBlbxySQAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4yMfEgaZUAAADdSURBVDhPzZJB + CoJQEIa9jy0iPFAnCDpAtG3ZooUE4b6oVtIuClpJIAgqZEVlKpqEHUAm5pGPmhTbRA18G//5P5iHgvA3 + I7ZniiQ7aVM9QZzcOKYbwVDbw8I6A2YAICBvg2VJdtjSs2Cse1Dt6tCYbliGO0UCFlLBxAj590yA0D4X + 1Ec7CK8JF9j+lUmWzoVlpYJaz4JKZ5ULZqWCT6F9Jhhowcv9eeBOoQBvPXoBrA0zF8yyR6V9LvCjGLYH + NxfMvipIMaQ3Ux6ClPYFsaUq/bmd0rspuIO/Pe3/bu5p+sr3gTvFEQAAAABJRU5ErkJggg== + + + + 180, 22 + + + Save + 125, 17 - - 186, 22 - - - Restore original color - - - 186, 22 - - - Copy Color - - - 186, 22 - - - Paste Color - - 187, 70 + 146, 70 ColorContextMenu @@ -733,6 +799,24 @@ 1 + + 134, 22 + + + Copy Color + + + 134, 22 + + + Paste Color + + + 145, 22 + + + Restore Color + 0, 0 @@ -895,6 +979,102 @@ 2 + + 47, 20 + + + Tools + + + 180, 22 + + + Target Update + + + 416, 22 + + + TU12 (360) + + + 416, 22 + + + TU13/1.00 (360/PS3) + + + 416, 22 + + + TU14/1.04 (360/PS3) + + + 416, 22 + + + TU19/1.12/CU7 (360/PS3-4-Vita/XONE) + + + 416, 22 + + + TU31/1.22/CU19 (360/PS3-4-Vita/XONE) + + + 416, 22 + + + TU32/1.24/CU20/P3 (360/PS3-4-Vita/XONE/WIIU) + + + 416, 22 + + + TU43/1.35/CU32/P12 (360/PS3-4-Vita/XONE/WIIU) + + + 416, 22 + + + TU46/1.38/CU36/P15 (360/PS3-4-Vita/XONE/WIIU) + + + 416, 22 + + + TU51/1.44/CU41/P20 (360/PS3-4-Vita/XONE/WIIU) + + + 416, 22 + + + TU53/1.49/CU43/P23/1.0.3 (360/PS3-4-Vita/XONE/WIIU/SWITCH) + + + 416, 22 + + + TU54/1.52/CU44/P24/1.0.4 (360/PS3-4-Vita/XONE/WIIU/SWITCH) + + + 416, 22 + + + TU69/1.76/P38 (360/PS3-4-Vita/WIIU) + + + 416, 22 + + + 1.91 (PS4) + + + 213, 22 + + + Remove PS4 Biome Colors + True @@ -3431,10 +3611,34 @@ System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - targetUpdateToolToolStripMenuItem + + copyColorToolStripMenuItem - + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + pasteColorToolStripMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + restoreOriginalColorToolStripMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + toolsToolStripMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + targetUpdateToolStripMenuItem + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 @@ -3515,22 +3719,10 @@ System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - restoreOriginalColorToolStripMenuItem + + stripPS4BiomesToolStripMenuItem - - System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - copyColorToolStripMenuItem - - - System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - pasteColorToolStripMenuItem - - + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089