diff --git a/UoFiddler.Controls/UserControls/HuesControl.Designer.cs b/UoFiddler.Controls/UserControls/HuesControl.Designer.cs index 34cd24f0..785fddb3 100644 --- a/UoFiddler.Controls/UserControls/HuesControl.Designer.cs +++ b/UoFiddler.Controls/UserControls/HuesControl.Designer.cs @@ -58,6 +58,8 @@ private void InitializeComponent() HueNameToolStripLabel = new System.Windows.Forms.ToolStripLabel(); HueNameToolStripTextBox = new System.Windows.Forms.ToolStripTextBox(); SearchNameToolStripButton = new System.Windows.Forms.ToolStripButton(); + ToolStripSeparator = new System.Windows.Forms.ToolStripSeparator(); + IndexOffsetButton = new System.Windows.Forms.ToolStripButton(); contextMenuStrip1.SuspendLayout(); toolStripContainer.ContentPanel.SuspendLayout(); toolStripContainer.TopToolStripPanel.SuspendLayout(); @@ -170,8 +172,9 @@ private void InitializeComponent() // // HuesTopMenuToolStrip // + HuesTopMenuToolStrip.Dock = System.Windows.Forms.DockStyle.None; HuesTopMenuToolStrip.GripStyle = System.Windows.Forms.ToolStripGripStyle.Hidden; - HuesTopMenuToolStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { HueIndexToolStripLabel, HueIndexToolStripTextBox, HueNameToolStripLabel, HueNameToolStripTextBox, SearchNameToolStripButton }); + HuesTopMenuToolStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { HueIndexToolStripLabel, HueIndexToolStripTextBox, HueNameToolStripLabel, HueNameToolStripTextBox, SearchNameToolStripButton, ToolStripSeparator, IndexOffsetButton }); HuesTopMenuToolStrip.Location = new System.Drawing.Point(0, 0); HuesTopMenuToolStrip.Name = "HuesTopMenuToolStrip"; HuesTopMenuToolStrip.Padding = new System.Windows.Forms.Padding(0, 4, 0, 4); @@ -214,6 +217,24 @@ private void InitializeComponent() SearchNameToolStripButton.Text = "Find next"; SearchNameToolStripButton.Click += SearchNameToolStripButton_Click; // + // ToolStripSeparator + // + ToolStripSeparator.Name = "ToolStripSeparator"; + ToolStripSeparator.Size = new System.Drawing.Size(6, 23); + // + // IndexOffsetButton + // + IndexOffsetButton.Checked = true; + IndexOffsetButton.CheckOnClick = true; + IndexOffsetButton.CheckState = System.Windows.Forms.CheckState.Checked; + IndexOffsetButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text; + IndexOffsetButton.ImageTransparentColor = System.Drawing.Color.Magenta; + IndexOffsetButton.Name = "IndexOffsetButton"; + IndexOffsetButton.Size = new System.Drawing.Size(133, 20); + IndexOffsetButton.Text = "Show ingame numbers"; + IndexOffsetButton.ToolTipText = "Show the index as it is seen ingame or as it is in the file"; + IndexOffsetButton.CheckedChanged += IndexOffsetButton_CheckedChanged; + // // HuesControl // AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F); @@ -257,5 +278,7 @@ private void InitializeComponent() private System.Windows.Forms.ToolStripButton SearchNameToolStripButton; private System.Windows.Forms.ToolStripSeparator toolStripSeparator1; private System.Windows.Forms.ToolStripMenuItem exportAllHueNamesListToolStripMenuItem; + private System.Windows.Forms.ToolStripSeparator ToolStripSeparator; + private System.Windows.Forms.ToolStripButton IndexOffsetButton; } } diff --git a/UoFiddler.Controls/UserControls/HuesControl.cs b/UoFiddler.Controls/UserControls/HuesControl.cs index 416cfb11..eb3b4c5a 100644 --- a/UoFiddler.Controls/UserControls/HuesControl.cs +++ b/UoFiddler.Controls/UserControls/HuesControl.cs @@ -158,8 +158,11 @@ private void OnPaint(object sender, PaintEventArgs e) float size = (float)(pictureBox.Width - 200) / 32; Hue hue = Hues.List[index]; Rectangle stringRect = new Rectangle(3, y * _itemHeight, pictureBox.Width, _itemHeight); + + int hueDisplayIndex = hue.Index + (IndexOffsetButton.Checked ? 1 : 0); + e.Graphics.DrawString( - $"{hue.Index,-5} {$"(0x{hue.Index:X})",-7} {hue.Name}", Font, Brushes.Black, stringRect); + $"{hueDisplayIndex,-5} {$"(0x{hueDisplayIndex:X})",-7} {hue.Name}", Font, Brushes.Black, stringRect); for (int i = 0; i < hue.Colors.Length; ++i) { @@ -314,6 +317,11 @@ private void HueIndexToolStripTextBox_KeyUp(object sender, KeyEventArgs e) return; } + if (IndexOffsetButton.Checked) + { + indexValue--; + } + if (indexValue < 0) { indexValue = 0; @@ -390,5 +398,10 @@ private void ExportAllHueNamesListToolStripMenuItem_Click(object sender, EventAr MessageBox.Show($"Hue names list saved to {fileName}", "Saved", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1); } + + private void IndexOffsetButton_CheckedChanged(object sender, EventArgs e) + { + pictureBox.Invalidate(); + } } } diff --git a/UoFiddler.Controls/UserControls/HuesControl.resx b/UoFiddler.Controls/UserControls/HuesControl.resx index 42ff89ca..1d04658f 100644 --- a/UoFiddler.Controls/UserControls/HuesControl.resx +++ b/UoFiddler.Controls/UserControls/HuesControl.resx @@ -1,7 +1,7 @@