diff --git a/PCK-Studio/Forms/Editor/COLEditor.Designer.cs b/PCK-Studio/Forms/Editor/COLEditor.Designer.cs
index 8c972a95..85fd1f15 100644
--- a/PCK-Studio/Forms/Editor/COLEditor.Designer.cs
+++ b/PCK-Studio/Forms/Editor/COLEditor.Designer.cs
@@ -69,6 +69,8 @@ namespace PckStudio.Forms.Editor
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();
@@ -405,7 +407,9 @@ namespace PckStudio.Forms.Editor
// ColorContextMenu
//
this.ColorContextMenu.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
- this.restoreOriginalColorToolStripMenuItem});
+ this.restoreOriginalColorToolStripMenuItem,
+ this.copyColorToolStripMenuItem,
+ this.pasteColorToolStripMenuItem});
this.ColorContextMenu.Name = "ColorContextMenu";
resources.ApplyResources(this.ColorContextMenu, "ColorContextMenu");
//
@@ -415,6 +419,18 @@ namespace PckStudio.Forms.Editor
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;
@@ -454,7 +470,7 @@ namespace PckStudio.Forms.Editor
this.tabControl.Controls.Add(this.underwaterTab);
this.tabControl.Controls.Add(this.fogTab);
this.tabControl.Name = "tabControl";
- this.tabControl.SelectedIndex = 3;
+ this.tabControl.SelectedIndex = 0;
this.tabControl.Style = MetroFramework.MetroColorStyle.White;
this.tabControl.Theme = MetroFramework.MetroThemeStyle.Dark;
this.tabControl.UseSelectable = true;
@@ -548,5 +564,7 @@ namespace PckStudio.Forms.Editor
private ToolStripMenuItem TU54ToolStripMenuItem;
private ToolStripMenuItem TU69ToolStripMenuItem;
private ToolStripMenuItem _1_9_1ToolStripMenuItem;
+ private ToolStripMenuItem copyColorToolStripMenuItem;
+ private ToolStripMenuItem pasteColorToolStripMenuItem;
}
}
\ No newline at end of file
diff --git a/PCK-Studio/Forms/Editor/COLEditor.cs b/PCK-Studio/Forms/Editor/COLEditor.cs
index 652a92c8..acda7d83 100644
--- a/PCK-Studio/Forms/Editor/COLEditor.cs
+++ b/PCK-Studio/Forms/Editor/COLEditor.cs
@@ -14,6 +14,7 @@ namespace PckStudio.Forms.Editor
{
COLFile default_colourfile = COLFileReader.Read(new MemoryStream(Properties.Resources.tu69colours));
COLFile colourfile;
+ COLFile.ColorEntry clipboard_color;
private readonly PCKFile.FileData _file;
@@ -258,7 +259,7 @@ namespace PckStudio.Forms.Editor
public void treeView1_KeyDown(object sender, KeyEventArgs e)
{
var node = colorTreeView.SelectedNode;
- if (e.KeyCode == Keys.Delete && node.Tag is COLFile.ColorEntry colorInfo)
+ if (e.KeyCode == Keys.Delete && node.Tag is COLFile.ColorEntry)
{
restoreOriginalColorToolStripMenuItem_Click(sender, e);
}
@@ -267,7 +268,7 @@ namespace PckStudio.Forms.Editor
private void treeView2_KeyDown(object sender, KeyEventArgs e)
{
var node = waterTreeView.SelectedNode;
- if (e.KeyCode == Keys.Delete && node.Tag is COLFile.ExtendedColorEntry colorInfo)
+ if (e.KeyCode == Keys.Delete && node.Tag is COLFile.ExtendedColorEntry)
{
restoreOriginalColorToolStripMenuItem_Click(sender, e);
}
@@ -276,7 +277,7 @@ namespace PckStudio.Forms.Editor
private void treeView3_KeyDown(object sender, KeyEventArgs e)
{
var node = underwaterTreeView.SelectedNode;
- if (e.KeyCode == Keys.Delete && node.Tag is COLFile.ExtendedColorEntry colorInfo)
+ if (e.KeyCode == Keys.Delete && node.Tag is COLFile.ExtendedColorEntry)
{
restoreOriginalColorToolStripMenuItem_Click(sender, e);
}
@@ -285,7 +286,7 @@ namespace PckStudio.Forms.Editor
private void treeView4_KeyDown(object sender, KeyEventArgs e)
{
var node = fogTreeView.SelectedNode;
- if (e.KeyCode == Keys.Delete && node.Tag is COLFile.ExtendedColorEntry colorInfo)
+ if (e.KeyCode == Keys.Delete && node.Tag is COLFile.ExtendedColorEntry)
{
restoreOriginalColorToolStripMenuItem_Click(sender, e);
}
@@ -325,7 +326,7 @@ namespace PckStudio.Forms.Editor
fixed_color = Color.FromArgb(255, (int)redUpDown.Value, (int)greenUpDown.Value, (int)blueUpDown.Value);
colorEntry.color = (uint)(((255 << 24) | (fixed_color.R << 16) | (fixed_color.G << 8) | fixed_color.B) & 0xffffffffL);
}
- else if (tabControl.SelectedTab != null) // just in case
+ else if (tabControl.SelectedTab != null && waterTreeView.SelectedNode != null) // just in case
{
var colorEntry = (COLFile.ExtendedColorEntry)waterTreeView.SelectedNode.Tag;
fixed_color = Color.FromArgb(tabControl.SelectedTab == waterTab ? (int)alphaUpDown.Value : 255, (int)redUpDown.Value, (int)greenUpDown.Value, (int)blueUpDown.Value);
@@ -522,5 +523,65 @@ namespace PckStudio.Forms.Editor
underwaterTreeView.EndUpdate();
fogTreeView.EndUpdate();
}
+
+ private void copyColorToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ SetUpValueChanged(false);
+ COLFile.ColorEntry colorToCopy = new COLFile.ColorEntry("", 0);
+ if (tabControl.SelectedTab == colorsTab && colorTreeView.SelectedNode.Tag is COLFile.ColorEntry colorInfoD)
+ {
+ colorToCopy = colorInfoD;
+ }
+ else if (tabControl.SelectedTab == waterTab && waterTreeView.SelectedNode.Tag is COLFile.ExtendedColorEntry colorInfo)
+ {
+ colorToCopy = colorInfo;
+ }
+ else if (tabControl.SelectedTab == underwaterTab && underwaterTreeView.SelectedNode.Tag is COLFile.ExtendedColorEntry colorInfoB)
+ {
+ colorToCopy = colorInfoB;
+ }
+ else if (tabControl.SelectedTab == fogTab && fogTreeView.SelectedNode.Tag is COLFile.ExtendedColorEntry colorInfoC)
+ {
+ colorToCopy = colorInfoC;
+ }
+ clipboard_color = colorToCopy;
+ SetUpValueChanged(true);
+ }
+
+ private void pasteColorToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ if (clipboard_color == null) return;
+ Color fixed_color = Color.FromArgb(255, Color.FromArgb(0xff << 24 | (int)clipboard_color.color));
+
+ if (tabControl.SelectedTab == waterTab && waterTreeView.SelectedNode != null &&
+ waterTreeView.SelectedNode.Tag != null && waterTreeView.SelectedNode.Tag is COLFile.ExtendedColorEntry)
+ {
+ var colorEntry = ((COLFile.ExtendedColorEntry)waterTreeView.SelectedNode.Tag);
+ colorEntry.color = (uint)fixed_color.ToArgb();
+ pictureBox1.BackColor = fixed_color;
+ }
+ else if (tabControl.SelectedTab == underwaterTab && underwaterTreeView.SelectedNode != null &&
+ underwaterTreeView.SelectedNode.Tag != null && underwaterTreeView.SelectedNode.Tag is COLFile.ExtendedColorEntry)
+ {
+ var colorEntry = ((COLFile.ExtendedColorEntry)underwaterTreeView.SelectedNode.Tag);
+ colorEntry.color_b = (uint)fixed_color.ToArgb();
+ }
+ else if (tabControl.SelectedTab == fogTab && fogTreeView.SelectedNode != null &&
+ fogTreeView.SelectedNode.Tag != null && fogTreeView.SelectedNode.Tag is COLFile.ExtendedColorEntry)
+ {
+ var colorEntry = ((COLFile.ExtendedColorEntry)fogTreeView.SelectedNode.Tag);
+ colorEntry.color_c = (uint)fixed_color.ToArgb();
+ }
+ else if (tabControl.SelectedTab == colorsTab && colorTreeView.SelectedNode != null &&
+ colorTreeView.SelectedNode.Tag != null && colorTreeView.SelectedNode.Tag is COLFile.ColorEntry)
+ {
+ var colorEntry = ((COLFile.ColorEntry)colorTreeView.SelectedNode.Tag);
+ colorEntry.color = (uint)fixed_color.ToArgb() & 0xffffff;
+ }
+
+ redUpDown.Value = clipboard_color.color >> 16 & 0xff;
+ greenUpDown.Value = clipboard_color.color >> 8 & 0xff;
+ blueUpDown.Value = clipboard_color.color & 0xff;
+ }
}
}
diff --git a/PCK-Studio/Forms/Editor/COLEditor.resx b/PCK-Studio/Forms/Editor/COLEditor.resx
index bb3fd405..9c9b77a0 100644
--- a/PCK-Studio/Forms/Editor/COLEditor.resx
+++ b/PCK-Studio/Forms/Editor/COLEditor.resx
@@ -117,210 +117,18 @@
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
@@ -684,42 +492,36 @@
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
-
- 20, 60
-
-
- 612, 24
-
-
- 3
-
-
- menuStrip1
-
-
- menuStrip
-
-
- System.Windows.Forms.MenuStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- $this
-
-
- 1
-
-
- 37, 20
-
-
- File
-
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
@@ -731,16 +533,16 @@
- 98, 22
+ 180, 22
Save
-
- 117, 20
+
+ 37, 20
-
- Target Update Tool
+
+ File
414, 22
@@ -820,6 +622,81 @@
1.91 (PS4)
+
+ 117, 20
+
+
+ Target Update Tool
+
+
+ 20, 60
+
+
+ 612, 24
+
+
+ 3
+
+
+ menuStrip1
+
+
+ menuStrip
+
+
+ System.Windows.Forms.MenuStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ $this
+
+
+ 1
+
+
+ 125, 17
+
+
+ 186, 22
+
+
+ Restore original color
+
+
+ 186, 22
+
+
+ Copy Color
+
+
+ 186, 22
+
+
+ Paste Color
+
+
+ 187, 92
+
+
+ ColorContextMenu
+
+
+ MetroFramework.Controls.MetroContextMenu, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a
+
+
+ Fill
+
+
+ 0, 0
+
+
+ No
+
+
+ 320, 424
+
+
+ 0
+
waterTreeView
@@ -856,51 +733,6 @@
1
-
- 125, 17
-
-
- 187, 26
-
-
- ColorContextMenu
-
-
- MetroFramework.Controls.MetroContextMenu, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a
-
-
- Fill
-
-
- 0, 0
-
-
- No
-
-
- 320, 424
-
-
- 0
-
-
- waterTreeView
-
-
- System.Windows.Forms.TreeView, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- waterTab
-
-
- 0
-
-
- 186, 22
-
-
- Restore original color
-
0, 0
@@ -943,6 +775,18 @@
0
+
+ Fill
+
+
+ 0, 0
+
+
+ 320, 424
+
+
+ 0
+
colorTreeView
@@ -979,30 +823,6 @@
0
-
- Fill
-
-
- 0, 0
-
-
- 320, 424
-
-
- 0
-
-
- colorTreeView
-
-
- System.Windows.Forms.TreeView, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- colorsTab
-
-
- 0
-
Top, Bottom, Left
@@ -3701,6 +3521,18 @@
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
+
COLEditor