diff --git a/.github/workflows/build-and-release.yml b/.github/workflows/build-and-release.yml index 8b0e8149..d55656ff 100644 --- a/.github/workflows/build-and-release.yml +++ b/.github/workflows/build-and-release.yml @@ -37,7 +37,7 @@ jobs: - name: Install .NET Core uses: actions/setup-dotnet@v5.2.0 with: - dotnet-version: 8.0.x + dotnet-version: 10.0.x - name: Restore & build the application run: dotnet build $env:Solution_Name --configuration $env:Configuration diff --git a/.github/workflows/build-pr.yml b/.github/workflows/build-pr.yml index 705b6056..9a60cf55 100644 --- a/.github/workflows/build-pr.yml +++ b/.github/workflows/build-pr.yml @@ -34,7 +34,7 @@ jobs: - name: Install .NET Core uses: actions/setup-dotnet@v5.2.0 with: - dotnet-version: 8.0.x + dotnet-version: 10.0.x - name: Restore & build the application run: dotnet build $env:Solution_Name --configuration $env:Configuration diff --git a/README.md b/README.md index 486b11b9..657366d0 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,13 @@ We have dedicated channel on POL Discord: https://discord.gg/4JbC8hA ## Requirements -Starting from version 4.11.0: +Starting from version 4.20.0: + +- Requires .NET Desktop Runtime 10.0.x (or SDK) installed to run the application. +- You can download .NET 10.0 at: +- Minimum supported Windows version is Windows 10. + +Versions between version 4.11.0 and 4.19.4: - Requires .NET Desktop Runtime 8.0.x (or SDK) installed to run the application. - You can download .NET 8.0 at: @@ -24,7 +30,7 @@ Older versions, 4.9.28 and lower use .Net Framework 4.8 ## Building -You'll need Visual Studio 2022 v17.10 or newer, .NET 8.0 and .NET desktop development workload. +You'll need Visual Studio 2026 v18.0 or newer, .NET 10.0 SDK and .NET desktop development workload. ## Reporting bugs and issues diff --git a/Ultima/ASCIIFont.cs b/Ultima/ASCIIFont.cs index 0b75244e..6b46a83a 100644 --- a/Ultima/ASCIIFont.cs +++ b/Ultima/ASCIIFont.cs @@ -87,7 +87,7 @@ public static unsafe void Initialize() using (var reader = new FileStream(path, FileMode.Open, FileAccess.Read, FileShare.Read)) { var buffer = new byte[(int)reader.Length]; - reader.Read(buffer, 0, (int)reader.Length); + reader.ReadExactly(buffer, 0, (int)reader.Length); fixed (byte* bin = buffer) { byte* read = bin; diff --git a/Ultima/Art.cs b/Ultima/Art.cs index a75a67ff..322dd63f 100644 --- a/Ultima/Art.cs +++ b/Ultima/Art.cs @@ -255,7 +255,7 @@ public static bool IsValidStatic(int index) } stream.Seek(4, SeekOrigin.Current); - stream.Read(_validBuffer, 0, 4); + stream.ReadExactly(_validBuffer, 0, 4); short width = (short)(_validBuffer[0] | (_validBuffer[1] << 8)); short height = (short)(_validBuffer[2] | (_validBuffer[3] << 8)); @@ -346,7 +346,7 @@ public static byte[] GetRawLand(int index) } var buffer = new byte[length]; - stream.Read(buffer, 0, length); + stream.ReadExactly(buffer, 0, length); stream.Close(); return buffer; } @@ -418,7 +418,7 @@ public static byte[] GetRawStatic(int index) } var buffer = new byte[length]; - stream.Read(buffer, 0, length); + stream.ReadExactly(buffer, 0, length); stream.Close(); return buffer; } @@ -503,7 +503,7 @@ private static unsafe Bitmap LoadStatic(Stream stream, int length) _streamBuffer = new byte[length]; } - stream.Read(_streamBuffer, 0, length); + stream.ReadExactly(_streamBuffer, 0, length); stream.Close(); Bitmap bmp; @@ -578,7 +578,7 @@ private static unsafe Bitmap LoadLand(Stream stream, int length) _streamBuffer = new byte[length]; } - stream.Read(_streamBuffer, 0, length); + stream.ReadExactly(_streamBuffer, 0, length); stream.Close(); fixed (byte* binData = _streamBuffer) { diff --git a/Ultima/Client.cs b/Ultima/Client.cs index 6db63470..20678e6f 100644 --- a/Ultima/Client.cs +++ b/Ultima/Client.cs @@ -90,7 +90,7 @@ public static int Read(ProcessStream pc, int bytes) { var buffer = new byte[bytes]; - pc.Read(buffer, 0, bytes); + pc.ReadExactly(buffer, 0, bytes); switch (bytes) { diff --git a/Ultima/Gumps.cs b/Ultima/Gumps.cs index 0b338781..15f77bb3 100644 --- a/Ultima/Gumps.cs +++ b/Ultima/Gumps.cs @@ -157,7 +157,7 @@ public static byte[] GetRawGump(int index, out int width, out int height) _streamBuffer = new byte[entry.Length]; } - stream.Read(_streamBuffer, 0, entry.Length); + stream.ReadExactly(_streamBuffer, 0, entry.Length); var result = UopUtils.Decompress(_streamBuffer); if (result.success is false) @@ -272,7 +272,7 @@ public static unsafe Bitmap GetGump(int index, Hue hue, bool onlyHueGrayPixels, _colorTable = colorTable = new byte[128]; } - stream.Read(streamBuffer, 0, length); + stream.ReadExactly(streamBuffer, 0, length); fixed (ushort* psHueColors = hue.Colors) { @@ -445,7 +445,7 @@ public static unsafe Bitmap GetGump(int index, out bool patched) _streamBuffer = new byte[length]; } - stream.Read(_streamBuffer, 0, length); + stream.ReadExactly(_streamBuffer, 0, length); uint width = (uint)entry.Extra1; uint height = (uint)entry.Extra2; diff --git a/Ultima/Hues.cs b/Ultima/Hues.cs index 19183ba8..7c508503 100644 --- a/Ultima/Hues.cs +++ b/Ultima/Hues.cs @@ -47,7 +47,7 @@ public static void Initialize() GCHandle gc = GCHandle.Alloc(buffer, GCHandleType.Pinned); try { - fs.Read(buffer, 0, buffer.Length); + fs.ReadExactly(buffer, 0, buffer.Length); long currentPos = 0; for (int i = 0; i < blockCount; ++i) diff --git a/Ultima/RadarCol.cs b/Ultima/RadarCol.cs index 22d05235..42b3d827 100644 --- a/Ultima/RadarCol.cs +++ b/Ultima/RadarCol.cs @@ -44,7 +44,7 @@ public static void Initialize() Colors = new ushort[fs.Length / 2]; GCHandle gc = GCHandle.Alloc(Colors, GCHandleType.Pinned); var buffer = new byte[(int)fs.Length]; - fs.Read(buffer, 0, (int)fs.Length); + fs.ReadExactly(buffer, 0, (int)fs.Length); Marshal.Copy(buffer, 0, gc.AddrOfPinnedObject(), (int)fs.Length); gc.Free(); } diff --git a/Ultima/Sound.cs b/Ultima/Sound.cs index dde1ddbc..a5b51c3d 100644 --- a/Ultima/Sound.cs +++ b/Ultima/Sound.cs @@ -130,8 +130,8 @@ public static UoSound GetSound(int soundId, out bool translated) var stringBuffer = new byte[32]; var buffer = new byte[length]; - stream.Read(stringBuffer, 0, 32); - stream.Read(buffer, 0, length); + stream.ReadExactly(stringBuffer, 0, 32); + stream.ReadExactly(buffer, 0, length); stream.Close(); var resultBuffer = new byte[buffer.Length + (waveHeader.Length << 2)]; @@ -233,7 +233,7 @@ public static bool IsValidSound(int soundId, out string name, out bool translate } var stringBuffer = new byte[32]; - stream.Read(stringBuffer, 0, 32); + stream.ReadExactly(stringBuffer, 0, 32); stream.Close(); name = Encoding.ASCII.GetString(stringBuffer); // seems that the null terminator's not being properly recognized :/ if (name.IndexOf('\0') > 0) @@ -303,7 +303,7 @@ public static void Add(int id, string name, string file) { byte[] resultBuffer = new byte[wav.Length]; wav.Seek(0, SeekOrigin.Begin); - wav.Read(resultBuffer, 0, (int)wav.Length); + wav.ReadExactly(resultBuffer, 0, (int)wav.Length); resultBuffer = CheckAndFixWave(resultBuffer); @@ -376,7 +376,7 @@ public static void Save(string path) { m.Seek(headerLength, SeekOrigin.Begin); var resultBuffer = new byte[m.Length - headerLength]; - m.Read(resultBuffer, 0, (int)m.Length - headerLength); + m.ReadExactly(resultBuffer, 0, (int)m.Length - headerLength); binmul.Write(resultBuffer); } diff --git a/Ultima/Textures.cs b/Ultima/Textures.cs index 2bb5736d..5106dc3a 100644 --- a/Ultima/Textures.cs +++ b/Ultima/Textures.cs @@ -140,7 +140,7 @@ public static unsafe Bitmap GetTexture(int index, out bool patched) byte[] streamBuffer = new byte[max]; - stream.Read(streamBuffer, 0, max); + stream.ReadExactly(streamBuffer, 0, max); fixed (byte* data = streamBuffer) { diff --git a/Ultima/TileData.cs b/Ultima/TileData.cs index 044c016c..b9313962 100644 --- a/Ultima/TileData.cs +++ b/Ultima/TileData.cs @@ -1335,7 +1335,7 @@ public static unsafe void Initialize() long currentPos = 0; try { - fs.Read(buffer, 0, buffer.Length); + fs.ReadExactly(buffer, 0, buffer.Length); for (int i = 0; i < 0x4000; i += 32) { var ptrHeader = new IntPtr(gc.AddrOfPinnedObject() + currentPos); diff --git a/Ultima/TileMatrix.cs b/Ultima/TileMatrix.cs index b609b9a9..67bc0fec 100644 --- a/Ultima/TileMatrix.cs +++ b/Ultima/TileMatrix.cs @@ -241,7 +241,7 @@ private void InitStatics() GCHandle gc = GCHandle.Alloc(_staticIndex, GCHandleType.Pinned); var buffer = new byte[index.Length]; - index.Read(buffer, 0, (int)index.Length); + index.ReadExactly(buffer, 0, (int)index.Length); Marshal.Copy(buffer, 0, gc.AddrOfPinnedObject(), (int)Math.Min(index.Length, BlockHeight * BlockWidth * 12)); gc.Free(); for (var i = (int)Math.Min(index.Length, BlockHeight * BlockWidth); i < BlockHeight * BlockWidth; ++i) @@ -297,7 +297,7 @@ private unsafe HuedTile[][][] ReadStaticBlock(int x, int y) GCHandle gc = GCHandle.Alloc(_buffer, GCHandleType.Pinned); try { - _statics.Read(_buffer, 0, length); + _statics.ReadExactly(_buffer, 0, length); if (_lists == null) { @@ -496,7 +496,7 @@ private Tile[] ReadLandBlock(int x, int y) _buffer = new byte[192]; } - _map.Read(_buffer, 0, 192); + _map.ReadExactly(_buffer, 0, 192); Marshal.Copy(_buffer, 0, gc.AddrOfPinnedObject(), 192); } diff --git a/Ultima/TileMatrixPatch.cs b/Ultima/TileMatrixPatch.cs index a53bbb01..f66b3dd6 100644 --- a/Ultima/TileMatrixPatch.cs +++ b/Ultima/TileMatrixPatch.cs @@ -193,7 +193,7 @@ private int PatchLand(TileMatrix matrix, string dataPath, string indexPath) _buffer = new byte[192]; } - fsData.Read(_buffer, 0, 192); + fsData.ReadExactly(_buffer, 0, 192); Marshal.Copy(_buffer, 0, gc.AddrOfPinnedObject(), 192); } @@ -277,7 +277,7 @@ private int PatchStatics(TileMatrix matrix, string dataPath, string indexPath, s _buffer = new byte[length]; } - fsData.Read(_buffer, 0, length); + fsData.ReadExactly(_buffer, 0, length); Marshal.Copy(_buffer, 0, gc.AddrOfPinnedObject(), length); diff --git a/Ultima/Ultima.csproj b/Ultima/Ultima.csproj index 2805890f..43e70b79 100644 --- a/Ultima/Ultima.csproj +++ b/Ultima/Ultima.csproj @@ -1,6 +1,6 @@  - net8.0-windows + net10.0-windows true true false diff --git a/UoFiddler.Controls/Classes/Options.cs b/UoFiddler.Controls/Classes/Options.cs index 96d4e0d2..3403aec2 100644 --- a/UoFiddler.Controls/Classes/Options.cs +++ b/UoFiddler.Controls/Classes/Options.cs @@ -37,6 +37,11 @@ public static class Options /// public static bool PolSoundIdOffset { get; set; } + /// + /// Runtime flag set from AppSettings at startup. Not persisted in profiles. + /// + public static bool DarkMode { get; set; } + /// /// Defines the cmd to Send Client to Loc /// diff --git a/UoFiddler.Controls/Forms/AnimDataImportForm.cs b/UoFiddler.Controls/Forms/AnimDataImportForm.cs index 34faa018..3081a939 100644 --- a/UoFiddler.Controls/Forms/AnimDataImportForm.cs +++ b/UoFiddler.Controls/Forms/AnimDataImportForm.cs @@ -1,5 +1,6 @@ using System; using System.Collections.Generic; +using System.ComponentModel; using System.Windows.Forms; using UoFiddler.Controls.Classes; using static Ultima.Animdata; @@ -8,7 +9,9 @@ namespace UoFiddler.Controls.Forms { public partial class AnimDataImportForm : Form { + [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)] public Action OnAfterImport { get; set; } + public AnimDataImportForm() { InitializeComponent(); diff --git a/UoFiddler.Controls/Forms/FontTextForm.cs b/UoFiddler.Controls/Forms/FontTextForm.cs index de3b88aa..142505a2 100644 --- a/UoFiddler.Controls/Forms/FontTextForm.cs +++ b/UoFiddler.Controls/Forms/FontTextForm.cs @@ -29,7 +29,7 @@ public FontTextForm(int type, int font) TopMost = true; _type = type; _font = font; - pictureBox1.BackColor = Color.White; + pictureBox1.BackColor = Options.DarkMode ? Color.LightGray : Color.White; Text = _type == 1 ? $"Unicode Font: {font}" : $"ASCII Font: {font}"; diff --git a/UoFiddler.Controls/Forms/ItemDetailForm.cs b/UoFiddler.Controls/Forms/ItemDetailForm.cs index 4efed343..af3a1405 100644 --- a/UoFiddler.Controls/Forms/ItemDetailForm.cs +++ b/UoFiddler.Controls/Forms/ItemDetailForm.cs @@ -10,6 +10,7 @@ ***************************************************************************/ using System; +using System.ComponentModel; using System.Drawing; using System.Drawing.Imaging; using System.IO; @@ -44,6 +45,7 @@ public ItemDetailForm(int i) /// /// Sets Hue /// + [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)] public int Hue { get => _hue; diff --git a/UoFiddler.Controls/Forms/MultisHelpForm.cs b/UoFiddler.Controls/Forms/MultisHelpForm.cs index de0ae534..e41f2a2c 100644 --- a/UoFiddler.Controls/Forms/MultisHelpForm.cs +++ b/UoFiddler.Controls/Forms/MultisHelpForm.cs @@ -9,7 +9,9 @@ * ***************************************************************************/ +using System.Drawing; using System.Windows.Forms; +using UoFiddler.Controls.Classes; namespace UoFiddler.Controls.Forms { @@ -23,26 +25,35 @@ public MultisHelpForm() private void PopulateShortcuts() { - _listView.Groups.Add(new ListViewGroup("preview", "Preview")); - _listView.Groups.Add(new ListViewGroup("zoom", "Zoom (100% mode only)")); - _listView.Groups.Add(new ListViewGroup("pan", "Panning (100% mode only)")); + AddHeader("Preview"); + Add("Fit preview to window", "Toggle button on toolbar — scales to fit or shows at 100% with scrollbars"); - Add("Fit preview to window", "Toggle button on toolbar — scales to fit or shows at 100% with scrollbars", "preview"); + AddHeader("Zoom (100% mode only)"); + Add("Ctrl + Mouse Wheel", "Zoom In / Out"); + Add("Shift + = (Plus key)", "Zoom In"); + Add("- (Minus key)", "Zoom Out"); + Add("Numpad +", "Zoom In"); + Add("Numpad -", "Zoom Out"); + Add("Ctrl + 0", "Reset zoom to 100%"); - Add("Ctrl + Mouse Wheel", "Zoom In / Out", "zoom"); - Add("Shift + = (Plus key)", "Zoom In", "zoom"); - Add("- (Minus key)", "Zoom Out", "zoom"); - Add("Numpad +", "Zoom In", "zoom"); - Add("Numpad -", "Zoom Out", "zoom"); - Add("Ctrl + 0", "Reset zoom to 100%", "zoom"); + AddHeader("Panning (100% mode only)"); + Add("Left-click drag", "Pan the view"); + } - Add("Left-click drag", "Pan the view", "pan"); + private void AddHeader(string text) + { + var item = new ListViewItem(text) + { + Font = new Font(_listView.Font, FontStyle.Bold), + ForeColor = Options.DarkMode ? Color.OrangeRed : Color.MediumBlue, + }; + item.SubItems.Add(string.Empty); + _listView.Items.Add(item); } - private void Add(string key, string action, string groupKey) + private void Add(string key, string action) { - var group = _listView.Groups[groupKey]; - var item = new ListViewItem(key, group); + var item = new ListViewItem(key); item.SubItems.Add(action); _listView.Items.Add(item); } diff --git a/UoFiddler.Controls/Forms/TileDataHelpForm.cs b/UoFiddler.Controls/Forms/TileDataHelpForm.cs index 7683c4a6..90f7981e 100644 --- a/UoFiddler.Controls/Forms/TileDataHelpForm.cs +++ b/UoFiddler.Controls/Forms/TileDataHelpForm.cs @@ -9,8 +9,10 @@ * ***************************************************************************/ +using System.Drawing; using System.Text; using System.Windows.Forms; +using UoFiddler.Controls.Classes; namespace UoFiddler.Controls.Forms { @@ -24,10 +26,7 @@ public TileDataHelpForm() private void PopulateFields() { - _listView.Groups.Add(new ListViewGroup("items", "Items")); - _listView.Groups.Add(new ListViewGroup("land", "Land Tiles")); - _listView.Groups.Add(new ListViewGroup("flags", "Flags")); - + AddHeader("Items"); Add("Name", "This field is for the name of the item, which can be a maximum of 20 characters.", "items"); Add("Animation", "This field is for the animation ID associated with the item.", "items"); Add("Weight", "This field is for the weight of the item.", "items"); @@ -75,9 +74,11 @@ private void PopulateFields() Add("Height", "This field is for the height of the item.", "items"); Add("Unknown 3", "This field is for the third unknown value.", "items"); + AddHeader("Land Tiles"); Add("Name", "This field is for the name of the land tile, which can be a maximum of 20 characters.", "land"); Add("Texture ID", "This field is for the texture ID associated with the land tile.", "land"); + AddHeader("Flags"); Add("Background", "Not yet documented.", "flags"); Add("Weapon", "Not yet documented.", "flags"); Add("Transparent", "Not yet documented.", "flags"); @@ -143,13 +144,31 @@ private void PopulateFields() Add("Unused32", "Unused or unknown yet.", "flags"); if (_listView.Items.Count > 0) - _listView.Items[0].Selected = true; + { + foreach (ListViewItem li in _listView.Items) + { + if (li.Tag is string) + { + li.Selected = true; + break; + } + } + } + } + + private void AddHeader(string text) + { + var item = new ListViewItem(text) + { + Font = new Font(_listView.Font, FontStyle.Bold), + ForeColor = Options.DarkMode ? Color.OrangeRed : Color.MediumBlue, + }; + _listView.Items.Add(item); } private void Add(string field, string description, string groupKey) { - var group = _listView.Groups[groupKey]; - var item = new ListViewItem(field, group) { Tag = description }; + var item = new ListViewItem(field) { Tag = description }; _listView.Items.Add(item); } diff --git a/UoFiddler.Controls/UoFiddler.Controls.csproj b/UoFiddler.Controls/UoFiddler.Controls.csproj index 37fb0b06..4366ec6a 100644 --- a/UoFiddler.Controls/UoFiddler.Controls.csproj +++ b/UoFiddler.Controls/UoFiddler.Controls.csproj @@ -1,7 +1,7 @@  Controls - net8.0-windows + net10.0-windows true false Controls @@ -435,8 +435,6 @@ - - \ No newline at end of file diff --git a/UoFiddler.Controls/UserControls/AnimDataControl.Designer.cs b/UoFiddler.Controls/UserControls/AnimDataControl.Designer.cs index 0efcd3ee..ec292a15 100644 --- a/UoFiddler.Controls/UserControls/AnimDataControl.Designer.cs +++ b/UoFiddler.Controls/UserControls/AnimDataControl.Designer.cs @@ -87,7 +87,6 @@ private void InitializeComponent() splitContainer2.SuspendLayout(); groupBox1.SuspendLayout(); statusStrip1.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)MainPictureBox).BeginInit(); contextMenuStripMainPictureBox.SuspendLayout(); groupBox3.SuspendLayout(); groupBox4.SuspendLayout(); @@ -504,7 +503,6 @@ private void InitializeComponent() groupBox1.PerformLayout(); statusStrip1.ResumeLayout(false); statusStrip1.PerformLayout(); - ((System.ComponentModel.ISupportInitialize)MainPictureBox).EndInit(); contextMenuStripMainPictureBox.ResumeLayout(false); groupBox3.ResumeLayout(false); groupBox4.ResumeLayout(false); diff --git a/UoFiddler.Controls/UserControls/AnimDataControl.cs b/UoFiddler.Controls/UserControls/AnimDataControl.cs index 3ab18b61..a7d343ec 100644 --- a/UoFiddler.Controls/UserControls/AnimDataControl.cs +++ b/UoFiddler.Controls/UserControls/AnimDataControl.cs @@ -193,11 +193,11 @@ private void OnLoad(object sender, EventArgs e) if (!Art.IsValidStatic(id)) { - node.ForeColor = Color.Red; + node.ForeColor = Options.DarkMode ? Color.OrangeRed : Color.Red; } else if ((TileData.ItemTable[id].Flags & TileFlag.Animation) == 0) { - node.ForeColor = Color.Blue; + node.ForeColor = Options.DarkMode ? Color.CornflowerBlue : Color.Blue; } // TODO: find a better approach to this @@ -441,11 +441,13 @@ private void OnTextChanged(object sender, EventArgs e) if (canDone) { - textBoxAddFrame.ForeColor = !Art.IsValidStatic(index) ? Color.Red : Color.Black; + textBoxAddFrame.ForeColor = !Art.IsValidStatic(index) + ? (Options.DarkMode ? Color.OrangeRed : Color.Red) + : (Options.DarkMode ? Color.White : Color.Black); } else { - textBoxAddFrame.ForeColor = Color.Red; + textBoxAddFrame.ForeColor = Options.DarkMode ? Color.OrangeRed : Color.Red; } } @@ -585,11 +587,13 @@ private void OnTextChangeAdd(object sender, EventArgs e) { if (Utils.ConvertStringToInt(AddTextBox.Text, out int index, 0, Art.GetMaxItemId())) { - AddTextBox.ForeColor = Animdata.GetAnimData(index) != null ? Color.Red : Color.Black; + AddTextBox.ForeColor = Animdata.GetAnimData(index) != null + ? (Options.DarkMode ? Color.OrangeRed : Color.Red) + : (Options.DarkMode ? Color.White : Color.Black); } else { - AddTextBox.ForeColor = Color.Red; + AddTextBox.ForeColor = Options.DarkMode ? Color.OrangeRed : Color.Red; } } @@ -619,7 +623,7 @@ private void OnKeyDownAdd(object sender, KeyEventArgs e) if ((TileData.ItemTable[index].Flags & TileFlag.Animation) == 0) { - node.ForeColor = Color.Blue; + node.ForeColor = Options.DarkMode ? Color.CornflowerBlue : Color.Blue; } treeView1.Nodes.Add(node); diff --git a/UoFiddler.Controls/UserControls/AnimatedPictureBox.cs b/UoFiddler.Controls/UserControls/AnimatedPictureBox.cs index f668302f..5052408f 100644 --- a/UoFiddler.Controls/UserControls/AnimatedPictureBox.cs +++ b/UoFiddler.Controls/UserControls/AnimatedPictureBox.cs @@ -67,6 +67,7 @@ public AnimatedFrame CurrentFrame get => _frames?[_frameIndex]; } + [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)] public int FrameIndex { get => _frameIndex; @@ -84,6 +85,7 @@ public int FrameIndex } } + [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)] public bool ShowFrameBounds { get => _showFrameBounds; @@ -94,6 +96,7 @@ public bool ShowFrameBounds } } + [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)] public int FrameDelay { get => _timer.Interval; @@ -118,6 +121,7 @@ public int FrameDelay } } + [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)] public bool Animate { get => _animate; diff --git a/UoFiddler.Controls/UserControls/AnimationListControl.cs b/UoFiddler.Controls/UserControls/AnimationListControl.cs index 04f77848..1a3aef19 100644 --- a/UoFiddler.Controls/UserControls/AnimationListControl.cs +++ b/UoFiddler.Controls/UserControls/AnimationListControl.cs @@ -710,9 +710,9 @@ private void Frames_ListView_DrawItem(object sender, DrawListViewItemEventArgs e } e.Graphics.DrawImage(bmp, e.Bounds.X, e.Bounds.Y, width, height); - e.DrawText(TextFormatFlags.Bottom | TextFormatFlags.HorizontalCenter); + TextRenderer.DrawText(e.Graphics, e.Item.Text, listView1.Font, e.Bounds, Color.Black, TextFormatFlags.Bottom | TextFormatFlags.HorizontalCenter); - using (var pen = new Pen(Color.Gray)) + using (var pen = new Pen(Color.Black)) { e.Graphics.DrawRectangle(pen, e.Bounds.X, e.Bounds.Y, e.Bounds.Width, e.Bounds.Height); } diff --git a/UoFiddler.Controls/UserControls/ClilocControl.Designer.cs b/UoFiddler.Controls/UserControls/ClilocControl.Designer.cs index 821a231e..64132dbd 100644 --- a/UoFiddler.Controls/UserControls/ClilocControl.Designer.cs +++ b/UoFiddler.Controls/UserControls/ClilocControl.Designer.cs @@ -39,251 +39,230 @@ protected override void Dispose(bool disposing) /// private void InitializeComponent() { - this.components = new System.ComponentModel.Container(); - this.dataGridView1 = new System.Windows.Forms.DataGridView(); - this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components); - this.copyCliLocNumberToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.copyCliLocTextToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.toolStripSeparator3 = new System.Windows.Forms.ToolStripSeparator(); - this.addEntryToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.deleteEntryToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.toolStrip1 = new System.Windows.Forms.ToolStrip(); - this.LangComboBox = new System.Windows.Forms.ToolStripComboBox(); - this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator(); - this.GotoEntry = new System.Windows.Forms.ToolStripTextBox(); - this.GotoButton = new System.Windows.Forms.ToolStripButton(); - this.FindEntry = new System.Windows.Forms.ToolStripTextBox(); - this.FindButton = new System.Windows.Forms.ToolStripButton(); - this.RegexToolStripButton = new System.Windows.Forms.ToolStripButton(); - this.toolStripSeparator2 = new System.Windows.Forms.ToolStripSeparator(); - this.toolStripButton1 = new System.Windows.Forms.ToolStripButton(); - this.toolStripSeparator5 = new System.Windows.Forms.ToolStripSeparator(); - this.ClilocExportButton = new System.Windows.Forms.ToolStripButton(); - this.toolStripDropDownButton1 = new System.Windows.Forms.ToolStripDropDownButton(); - this.cSVToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.tileDataToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - ((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).BeginInit(); - this.contextMenuStrip1.SuspendLayout(); - this.toolStrip1.SuspendLayout(); - this.SuspendLayout(); + components = new System.ComponentModel.Container(); + dataGridView1 = new System.Windows.Forms.DataGridView(); + contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(components); + copyCliLocNumberToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + copyCliLocTextToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + toolStripSeparator3 = new System.Windows.Forms.ToolStripSeparator(); + addEntryToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + deleteEntryToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + toolStrip1 = new System.Windows.Forms.ToolStrip(); + LangComboBox = new System.Windows.Forms.ToolStripComboBox(); + toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator(); + GotoEntry = new System.Windows.Forms.ToolStripTextBox(); + GotoButton = new System.Windows.Forms.ToolStripButton(); + FindEntry = new System.Windows.Forms.ToolStripTextBox(); + FindButton = new System.Windows.Forms.ToolStripButton(); + RegexToolStripButton = new System.Windows.Forms.ToolStripButton(); + toolStripSeparator2 = new System.Windows.Forms.ToolStripSeparator(); + toolStripButton1 = new System.Windows.Forms.ToolStripButton(); + toolStripSeparator5 = new System.Windows.Forms.ToolStripSeparator(); + ClilocExportButton = new System.Windows.Forms.ToolStripButton(); + toolStripDropDownButton1 = new System.Windows.Forms.ToolStripDropDownButton(); + cSVToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + tileDataToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + ((System.ComponentModel.ISupportInitialize)dataGridView1).BeginInit(); + contextMenuStrip1.SuspendLayout(); + toolStrip1.SuspendLayout(); + SuspendLayout(); // // dataGridView1 // - this.dataGridView1.AllowUserToResizeRows = false; - this.dataGridView1.AutoSizeColumnsMode = System.Windows.Forms.DataGridViewAutoSizeColumnsMode.Fill; - this.dataGridView1.ContextMenuStrip = this.contextMenuStrip1; - this.dataGridView1.Dock = System.Windows.Forms.DockStyle.Fill; - this.dataGridView1.EditMode = System.Windows.Forms.DataGridViewEditMode.EditOnF2; - this.dataGridView1.Location = new System.Drawing.Point(0, 25); - this.dataGridView1.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); - this.dataGridView1.MultiSelect = false; - this.dataGridView1.Name = "dataGridView1"; - this.dataGridView1.RowHeadersBorderStyle = System.Windows.Forms.DataGridViewHeaderBorderStyle.Single; - this.dataGridView1.RowHeadersWidth = 30; - this.dataGridView1.Size = new System.Drawing.Size(902, 417); - this.dataGridView1.TabIndex = 1; - this.dataGridView1.CellContentDoubleClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.OnCell_dbClick); - this.dataGridView1.ColumnHeaderMouseClick += new System.Windows.Forms.DataGridViewCellMouseEventHandler(this.OnHeaderClicked); + dataGridView1.AllowUserToResizeRows = false; + dataGridView1.AutoSizeColumnsMode = System.Windows.Forms.DataGridViewAutoSizeColumnsMode.Fill; + dataGridView1.ContextMenuStrip = contextMenuStrip1; + dataGridView1.Dock = System.Windows.Forms.DockStyle.Fill; + dataGridView1.EditMode = System.Windows.Forms.DataGridViewEditMode.EditOnF2; + dataGridView1.Location = new System.Drawing.Point(0, 25); + dataGridView1.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); + dataGridView1.MultiSelect = false; + dataGridView1.Name = "dataGridView1"; + dataGridView1.RowHeadersBorderStyle = System.Windows.Forms.DataGridViewHeaderBorderStyle.Single; + dataGridView1.RowHeadersVisible = false; + dataGridView1.RowHeadersWidth = 30; + dataGridView1.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect; + dataGridView1.Size = new System.Drawing.Size(902, 417); + dataGridView1.TabIndex = 1; + dataGridView1.CellContentDoubleClick += OnCell_dbClick; + dataGridView1.ColumnHeaderMouseClick += OnHeaderClicked; // // contextMenuStrip1 // - this.contextMenuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.copyCliLocNumberToolStripMenuItem, - this.copyCliLocTextToolStripMenuItem, - this.toolStripSeparator3, - this.addEntryToolStripMenuItem, - this.deleteEntryToolStripMenuItem}); - this.contextMenuStrip1.Name = "contextMenuStrip1"; - this.contextMenuStrip1.Size = new System.Drawing.Size(186, 98); + contextMenuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { copyCliLocNumberToolStripMenuItem, copyCliLocTextToolStripMenuItem, toolStripSeparator3, addEntryToolStripMenuItem, deleteEntryToolStripMenuItem }); + contextMenuStrip1.Name = "contextMenuStrip1"; + contextMenuStrip1.Size = new System.Drawing.Size(186, 98); // // copyCliLocNumberToolStripMenuItem // - this.copyCliLocNumberToolStripMenuItem.Name = "copyCliLocNumberToolStripMenuItem"; - this.copyCliLocNumberToolStripMenuItem.Size = new System.Drawing.Size(185, 22); - this.copyCliLocNumberToolStripMenuItem.Text = "Copy CliLoc Number"; - this.copyCliLocNumberToolStripMenuItem.Click += new System.EventHandler(this.OnCLick_CopyClilocNumber); + copyCliLocNumberToolStripMenuItem.Name = "copyCliLocNumberToolStripMenuItem"; + copyCliLocNumberToolStripMenuItem.Size = new System.Drawing.Size(185, 22); + copyCliLocNumberToolStripMenuItem.Text = "Copy CliLoc Number"; + copyCliLocNumberToolStripMenuItem.Click += OnCLick_CopyClilocNumber; // // copyCliLocTextToolStripMenuItem // - this.copyCliLocTextToolStripMenuItem.Name = "copyCliLocTextToolStripMenuItem"; - this.copyCliLocTextToolStripMenuItem.Size = new System.Drawing.Size(185, 22); - this.copyCliLocTextToolStripMenuItem.Text = "Copy CliLoc Text"; - this.copyCliLocTextToolStripMenuItem.Click += new System.EventHandler(this.OnCLick_CopyClilocText); + copyCliLocTextToolStripMenuItem.Name = "copyCliLocTextToolStripMenuItem"; + copyCliLocTextToolStripMenuItem.Size = new System.Drawing.Size(185, 22); + copyCliLocTextToolStripMenuItem.Text = "Copy CliLoc Text"; + copyCliLocTextToolStripMenuItem.Click += OnCLick_CopyClilocText; // // toolStripSeparator3 // - this.toolStripSeparator3.Name = "toolStripSeparator3"; - this.toolStripSeparator3.Size = new System.Drawing.Size(182, 6); + toolStripSeparator3.Name = "toolStripSeparator3"; + toolStripSeparator3.Size = new System.Drawing.Size(182, 6); // // addEntryToolStripMenuItem // - this.addEntryToolStripMenuItem.Name = "addEntryToolStripMenuItem"; - this.addEntryToolStripMenuItem.Size = new System.Drawing.Size(185, 22); - this.addEntryToolStripMenuItem.Text = "Add Entry"; - this.addEntryToolStripMenuItem.Click += new System.EventHandler(this.OnClick_AddEntry); + addEntryToolStripMenuItem.Name = "addEntryToolStripMenuItem"; + addEntryToolStripMenuItem.Size = new System.Drawing.Size(185, 22); + addEntryToolStripMenuItem.Text = "Add Entry"; + addEntryToolStripMenuItem.Click += OnClick_AddEntry; // // deleteEntryToolStripMenuItem // - this.deleteEntryToolStripMenuItem.Name = "deleteEntryToolStripMenuItem"; - this.deleteEntryToolStripMenuItem.Size = new System.Drawing.Size(185, 22); - this.deleteEntryToolStripMenuItem.Text = "Delete Entry"; - this.deleteEntryToolStripMenuItem.Click += new System.EventHandler(this.OnClick_DeleteEntry); + deleteEntryToolStripMenuItem.Name = "deleteEntryToolStripMenuItem"; + deleteEntryToolStripMenuItem.Size = new System.Drawing.Size(185, 22); + deleteEntryToolStripMenuItem.Text = "Delete Entry"; + deleteEntryToolStripMenuItem.Click += OnClick_DeleteEntry; // // toolStrip1 // - this.toolStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.LangComboBox, - this.toolStripSeparator1, - this.GotoEntry, - this.GotoButton, - this.FindEntry, - this.FindButton, - this.RegexToolStripButton, - this.toolStripSeparator2, - this.toolStripButton1, - this.toolStripSeparator5, - this.ClilocExportButton, - this.toolStripDropDownButton1}); - this.toolStrip1.Location = new System.Drawing.Point(0, 0); - this.toolStrip1.Name = "toolStrip1"; - this.toolStrip1.RenderMode = System.Windows.Forms.ToolStripRenderMode.System; - this.toolStrip1.Size = new System.Drawing.Size(902, 25); - this.toolStrip1.TabIndex = 2; - this.toolStrip1.Text = "toolStrip1"; + toolStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { LangComboBox, toolStripSeparator1, GotoEntry, GotoButton, FindEntry, FindButton, RegexToolStripButton, toolStripSeparator2, toolStripButton1, toolStripSeparator5, ClilocExportButton, toolStripDropDownButton1 }); + toolStrip1.Location = new System.Drawing.Point(0, 0); + toolStrip1.Name = "toolStrip1"; + toolStrip1.RenderMode = System.Windows.Forms.ToolStripRenderMode.System; + toolStrip1.Size = new System.Drawing.Size(902, 25); + toolStrip1.TabIndex = 2; + toolStrip1.Text = "toolStrip1"; // // LangComboBox // - this.LangComboBox.Items.AddRange(new object[] { - "English", - "German", - "Custom 1", - "Custom 2"}); - this.LangComboBox.Name = "LangComboBox"; - this.LangComboBox.Size = new System.Drawing.Size(140, 25); - this.LangComboBox.SelectedIndexChanged += new System.EventHandler(this.OnLangChange); + LangComboBox.Items.AddRange(new object[] { "English", "German", "Custom 1", "Custom 2" }); + LangComboBox.Name = "LangComboBox"; + LangComboBox.Size = new System.Drawing.Size(140, 25); + LangComboBox.SelectedIndexChanged += OnLangChange; // // toolStripSeparator1 // - this.toolStripSeparator1.Name = "toolStripSeparator1"; - this.toolStripSeparator1.Size = new System.Drawing.Size(6, 25); + toolStripSeparator1.Name = "toolStripSeparator1"; + toolStripSeparator1.Size = new System.Drawing.Size(6, 25); // // GotoEntry // - this.GotoEntry.MaxLength = 10; - this.GotoEntry.Name = "GotoEntry"; - this.GotoEntry.Size = new System.Drawing.Size(116, 25); - this.GotoEntry.Text = "Enter Number"; - this.GotoEntry.Enter += new System.EventHandler(this.GotoEntry_Enter); - this.GotoEntry.KeyDown += new System.Windows.Forms.KeyEventHandler(this.GotoEntry_KeyDown); + GotoEntry.MaxLength = 10; + GotoEntry.Name = "GotoEntry"; + GotoEntry.Size = new System.Drawing.Size(116, 25); + GotoEntry.Text = "Enter Number"; + GotoEntry.Enter += GotoEntry_Enter; + GotoEntry.KeyDown += GotoEntry_KeyDown; // // GotoButton // - this.GotoButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text; - this.GotoButton.ImageTransparentColor = System.Drawing.Color.Magenta; - this.GotoButton.Name = "GotoButton"; - this.GotoButton.Size = new System.Drawing.Size(37, 22); - this.GotoButton.Text = "Goto"; - this.GotoButton.Click += new System.EventHandler(this.GotoNr); + GotoButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text; + GotoButton.ImageTransparentColor = System.Drawing.Color.Magenta; + GotoButton.Name = "GotoButton"; + GotoButton.Size = new System.Drawing.Size(37, 22); + GotoButton.Text = "Goto"; + GotoButton.Click += GotoNr; // // FindEntry // - this.FindEntry.AcceptsTab = true; - this.FindEntry.Name = "FindEntry"; - this.FindEntry.Size = new System.Drawing.Size(163, 25); - this.FindEntry.Text = "Enter Text"; - this.FindEntry.Enter += new System.EventHandler(this.FindEntry_Enter); - this.FindEntry.KeyDown += new System.Windows.Forms.KeyEventHandler(this.FindEntry_KeyDown); + FindEntry.AcceptsTab = true; + FindEntry.Name = "FindEntry"; + FindEntry.Size = new System.Drawing.Size(163, 25); + FindEntry.Text = "Enter Text"; + FindEntry.Enter += FindEntry_Enter; + FindEntry.KeyDown += FindEntry_KeyDown; // // FindButton // - this.FindButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text; - this.FindButton.ImageTransparentColor = System.Drawing.Color.Magenta; - this.FindButton.Name = "FindButton"; - this.FindButton.Size = new System.Drawing.Size(34, 22); - this.FindButton.Text = "Find"; - this.FindButton.Click += new System.EventHandler(this.FindEntryClick); + FindButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text; + FindButton.ImageTransparentColor = System.Drawing.Color.Magenta; + FindButton.Name = "FindButton"; + FindButton.Size = new System.Drawing.Size(34, 22); + FindButton.Text = "Find"; + FindButton.Click += FindEntryClick; // // RegexToolStripButton // - this.RegexToolStripButton.CheckOnClick = true; - this.RegexToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text; - this.RegexToolStripButton.ImageTransparentColor = System.Drawing.Color.Magenta; - this.RegexToolStripButton.Name = "RegexToolStripButton"; - this.RegexToolStripButton.Size = new System.Drawing.Size(129, 22); - this.RegexToolStripButton.Text = "Use regular expression"; + RegexToolStripButton.CheckOnClick = true; + RegexToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text; + RegexToolStripButton.ImageTransparentColor = System.Drawing.Color.Magenta; + RegexToolStripButton.Name = "RegexToolStripButton"; + RegexToolStripButton.Size = new System.Drawing.Size(129, 22); + RegexToolStripButton.Text = "Use regular expression"; // // toolStripSeparator2 // - this.toolStripSeparator2.Name = "toolStripSeparator2"; - this.toolStripSeparator2.Size = new System.Drawing.Size(6, 25); + toolStripSeparator2.Name = "toolStripSeparator2"; + toolStripSeparator2.Size = new System.Drawing.Size(6, 25); // // toolStripButton1 // - this.toolStripButton1.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text; - this.toolStripButton1.ImageTransparentColor = System.Drawing.Color.Magenta; - this.toolStripButton1.Name = "toolStripButton1"; - this.toolStripButton1.Size = new System.Drawing.Size(35, 22); - this.toolStripButton1.Text = "Save"; - this.toolStripButton1.Click += new System.EventHandler(this.OnClickSave); + toolStripButton1.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text; + toolStripButton1.ImageTransparentColor = System.Drawing.Color.Magenta; + toolStripButton1.Name = "toolStripButton1"; + toolStripButton1.Size = new System.Drawing.Size(35, 22); + toolStripButton1.Text = "Save"; + toolStripButton1.Click += OnClickSave; // // toolStripSeparator5 // - this.toolStripSeparator5.Name = "toolStripSeparator5"; - this.toolStripSeparator5.Size = new System.Drawing.Size(6, 25); + toolStripSeparator5.Name = "toolStripSeparator5"; + toolStripSeparator5.Size = new System.Drawing.Size(6, 25); // // ClilocExportButton // - this.ClilocExportButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text; - this.ClilocExportButton.ImageTransparentColor = System.Drawing.Color.Magenta; - this.ClilocExportButton.Name = "ClilocExportButton"; - this.ClilocExportButton.Size = new System.Drawing.Size(45, 22); - this.ClilocExportButton.Text = "Export"; - this.ClilocExportButton.Click += new System.EventHandler(this.OnClickExportCSV); + ClilocExportButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text; + ClilocExportButton.ImageTransparentColor = System.Drawing.Color.Magenta; + ClilocExportButton.Name = "ClilocExportButton"; + ClilocExportButton.Size = new System.Drawing.Size(45, 22); + ClilocExportButton.Text = "Export"; + ClilocExportButton.Click += OnClickExportCSV; // // toolStripDropDownButton1 // - this.toolStripDropDownButton1.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text; - this.toolStripDropDownButton1.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.cSVToolStripMenuItem, - this.tileDataToolStripMenuItem}); - this.toolStripDropDownButton1.ImageTransparentColor = System.Drawing.Color.Magenta; - this.toolStripDropDownButton1.Name = "toolStripDropDownButton1"; - this.toolStripDropDownButton1.Size = new System.Drawing.Size(56, 22); - this.toolStripDropDownButton1.Text = "Import"; + toolStripDropDownButton1.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text; + toolStripDropDownButton1.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { cSVToolStripMenuItem, tileDataToolStripMenuItem }); + toolStripDropDownButton1.ImageTransparentColor = System.Drawing.Color.Magenta; + toolStripDropDownButton1.Name = "toolStripDropDownButton1"; + toolStripDropDownButton1.Size = new System.Drawing.Size(56, 22); + toolStripDropDownButton1.Text = "Import"; // // cSVToolStripMenuItem // - this.cSVToolStripMenuItem.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text; - this.cSVToolStripMenuItem.Name = "cSVToolStripMenuItem"; - this.cSVToolStripMenuItem.Size = new System.Drawing.Size(116, 22); - this.cSVToolStripMenuItem.Text = "CSV"; - this.cSVToolStripMenuItem.Click += new System.EventHandler(this.OnClickImportCSV); + cSVToolStripMenuItem.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text; + cSVToolStripMenuItem.Name = "cSVToolStripMenuItem"; + cSVToolStripMenuItem.Size = new System.Drawing.Size(116, 22); + cSVToolStripMenuItem.Text = "CSV"; + cSVToolStripMenuItem.Click += OnClickImportCSV; // // tileDataToolStripMenuItem // - this.tileDataToolStripMenuItem.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text; - this.tileDataToolStripMenuItem.Name = "tileDataToolStripMenuItem"; - this.tileDataToolStripMenuItem.Size = new System.Drawing.Size(116, 22); - this.tileDataToolStripMenuItem.Text = "TileData"; - this.tileDataToolStripMenuItem.Click += new System.EventHandler(this.TileDataToolStripMenuItem_Click); + tileDataToolStripMenuItem.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text; + tileDataToolStripMenuItem.Name = "tileDataToolStripMenuItem"; + tileDataToolStripMenuItem.Size = new System.Drawing.Size(116, 22); + tileDataToolStripMenuItem.Text = "TileData"; + tileDataToolStripMenuItem.Click += TileDataToolStripMenuItem_Click; // // ClilocControl // - this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F); - this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.Controls.Add(this.dataGridView1); - this.Controls.Add(this.toolStrip1); - this.DoubleBuffered = true; - this.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); - this.Name = "ClilocControl"; - this.Size = new System.Drawing.Size(902, 442); - this.Load += new System.EventHandler(this.OnLoad); - ((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).EndInit(); - this.contextMenuStrip1.ResumeLayout(false); - this.toolStrip1.ResumeLayout(false); - this.toolStrip1.PerformLayout(); - this.ResumeLayout(false); - this.PerformLayout(); + AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F); + AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + Controls.Add(dataGridView1); + Controls.Add(toolStrip1); + DoubleBuffered = true; + Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); + Name = "ClilocControl"; + Size = new System.Drawing.Size(902, 442); + Load += OnLoad; + ((System.ComponentModel.ISupportInitialize)dataGridView1).EndInit(); + contextMenuStrip1.ResumeLayout(false); + toolStrip1.ResumeLayout(false); + toolStrip1.PerformLayout(); + ResumeLayout(false); + PerformLayout(); } diff --git a/UoFiddler.Controls/UserControls/ClilocControl.resx b/UoFiddler.Controls/UserControls/ClilocControl.resx index 04c91917..dc837b9a 100644 --- a/UoFiddler.Controls/UserControls/ClilocControl.resx +++ b/UoFiddler.Controls/UserControls/ClilocControl.resx @@ -1,4 +1,64 @@ + + diff --git a/UoFiddler.Controls/UserControls/DressControl.Designer.cs b/UoFiddler.Controls/UserControls/DressControl.Designer.cs index e4664332..ea9cd0a7 100644 --- a/UoFiddler.Controls/UserControls/DressControl.Designer.cs +++ b/UoFiddler.Controls/UserControls/DressControl.Designer.cs @@ -331,7 +331,7 @@ private void InitializeComponent() // // pictureBoxDress // - pictureBoxDress.BackColor = System.Drawing.SystemColors.Control; + pictureBoxDress.BackColor = System.Drawing.Color.Black; pictureBoxDress.Dock = System.Windows.Forms.DockStyle.Fill; pictureBoxDress.Location = new System.Drawing.Point(0, 0); pictureBoxDress.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); diff --git a/UoFiddler.Controls/UserControls/DressControl.cs b/UoFiddler.Controls/UserControls/DressControl.cs index 3ce885cb..57921d22 100644 --- a/UoFiddler.Controls/UserControls/DressControl.cs +++ b/UoFiddler.Controls/UserControls/DressControl.cs @@ -975,15 +975,15 @@ private void BuildDressList() if (Array.IndexOf(_drawOrder, TileData.ItemTable[i].Quality) == -1) { - node.ForeColor = Color.DarkRed; + node.ForeColor = Options.DarkMode ? Color.OrangeRed : Color.DarkRed; } else if (!hasAnimation) { - node.ForeColor = !hasGump ? Color.Red : Color.Orange; + node.ForeColor = !hasGump ? Options.DarkMode ? Color.OrangeRed : Color.Red : Color.Orange; } else if (!hasGump) { - node.ForeColor = Color.Blue; + node.ForeColor = Options.DarkMode ? Color.CornflowerBlue : Color.Blue; } treeViewItems.Nodes.Add(node); diff --git a/UoFiddler.Controls/UserControls/DressControl.resx b/UoFiddler.Controls/UserControls/DressControl.resx index 21ba4645..43150ee7 100644 --- a/UoFiddler.Controls/UserControls/DressControl.resx +++ b/UoFiddler.Controls/UserControls/DressControl.resx @@ -1,4 +1,64 @@ + + diff --git a/UoFiddler.Controls/UserControls/FontsControl.cs b/UoFiddler.Controls/UserControls/FontsControl.cs index 28b34867..dd74e10b 100644 --- a/UoFiddler.Controls/UserControls/FontsControl.cs +++ b/UoFiddler.Controls/UserControls/FontsControl.cs @@ -82,6 +82,8 @@ private void OnLoad(object sender, EventArgs e) return; } + FontsTileView.BackColor = Options.DarkMode ? Color.LightGray : Color.White; + Cursor.Current = Cursors.WaitCursor; Options.LoadedUltimaClass["ASCIIFont"] = true; Options.LoadedUltimaClass["UnicodeFont"] = true; @@ -298,7 +300,7 @@ private void OnClickSave(object sender, EventArgs e) private void OnClickSetOffsets(object sender, EventArgs e) { - if(treeView.SelectedNode == null) + if (treeView.SelectedNode == null) { return; } @@ -354,7 +356,7 @@ private void FontsTileView_DrawItem(object sender, TileView.TileViewControl.Draw c = (char)i; // draw what should be in tile - e.Graphics.DrawString(c.ToString(), DefaultFont, Brushes.Gray, e.Bounds.X + (e.Bounds.Width / 2), e.Bounds.Y + (e.Bounds.Height / 2)); + e.Graphics.DrawString(c.ToString(), DefaultFont, Brushes.DimGray, e.Bounds.X + (e.Bounds.Width / 2), e.Bounds.Y + (e.Bounds.Height / 2)); // draw using font from uo if character exists var bmp = UnicodeFonts.Fonts[(int)treeView.SelectedNode.Tag].Chars[i].GetImage(); @@ -387,7 +389,7 @@ private void FontsTileView_DrawItem(object sender, TileView.TileViewControl.Draw c = (char)(i + AsciiFontOffset); // draw what should be in tile - e.Graphics.DrawString(c.ToString(), DefaultFont, Brushes.Gray, e.Bounds.X + (e.Bounds.Width / 2), e.Bounds.Y + (e.Bounds.Height / 2)); + e.Graphics.DrawString(c.ToString(), DefaultFont, Brushes.DimGray, e.Bounds.X + (e.Bounds.Width / 2), e.Bounds.Y + (e.Bounds.Height / 2)); // draw using font from uo if character exists var font = (int)treeView.SelectedNode.Tag; @@ -464,6 +466,7 @@ public void UpdateTileView() FontsTileView.TileFocusColor = Options.TileFocusColor; FontsTileView.TileHighlightColor = Options.TileSelectionColor; + FontsTileView.Invalidate(); } } diff --git a/UoFiddler.Controls/UserControls/HuesControl.cs b/UoFiddler.Controls/UserControls/HuesControl.cs index c416a872..8cb2f968 100644 --- a/UoFiddler.Controls/UserControls/HuesControl.cs +++ b/UoFiddler.Controls/UserControls/HuesControl.cs @@ -162,7 +162,7 @@ private void OnPaint(object sender, PaintEventArgs e) int hueDisplayIndex = hue.Index + (IndexOffsetButton.Checked ? 1 : 0); e.Graphics.DrawString( - $"{hueDisplayIndex,-5} {$"(0x{hueDisplayIndex:X})",-7} {hue.Name}", Font, Brushes.Black, stringRect); + $"{hueDisplayIndex,-5} {$"(0x{hueDisplayIndex:X})",-7} {hue.Name}", Font, SystemBrushes.ControlText, stringRect); for (int i = 0; i < hue.Colors.Length; ++i) { diff --git a/UoFiddler.Controls/UserControls/ItemsControl.cs b/UoFiddler.Controls/UserControls/ItemsControl.cs index 7f0d636e..92b5c57a 100644 --- a/UoFiddler.Controls/UserControls/ItemsControl.cs +++ b/UoFiddler.Controls/UserControls/ItemsControl.cs @@ -45,6 +45,7 @@ public ItemsControl() private int _selectedGraphicId = -1; + [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)] public int SelectedGraphicId { get => _selectedGraphicId; diff --git a/UoFiddler.Controls/UserControls/LandTilesControl.cs b/UoFiddler.Controls/UserControls/LandTilesControl.cs index a170fdc9..0ac9f41b 100644 --- a/UoFiddler.Controls/UserControls/LandTilesControl.cs +++ b/UoFiddler.Controls/UserControls/LandTilesControl.cs @@ -11,6 +11,7 @@ using System; using System.Collections.Generic; +using System.ComponentModel; using System.Drawing; using System.Drawing.Imaging; using System.IO; @@ -46,6 +47,7 @@ public LandTilesControl() private readonly List _tileList = new List(); private bool _showFreeSlots; + [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)] public int SelectedGraphicId { get => _selectedGraphicId; diff --git a/UoFiddler.Controls/UserControls/LightControl.cs b/UoFiddler.Controls/UserControls/LightControl.cs index 71fddff6..86d11726 100644 --- a/UoFiddler.Controls/UserControls/LightControl.cs +++ b/UoFiddler.Controls/UserControls/LightControl.cs @@ -54,6 +54,8 @@ private void OnLoad(object sender, EventArgs e) return; } + pictureBoxPreview.BackColor = Options.DarkMode ? Color.LightGray : Color.White; + Cursor.Current = Cursors.WaitCursor; Options.LoadedUltimaClass["Light"] = true; diff --git a/UoFiddler.Controls/UserControls/MultisControl.cs b/UoFiddler.Controls/UserControls/MultisControl.cs index 7460ea5a..2fe3c345 100644 --- a/UoFiddler.Controls/UserControls/MultisControl.cs +++ b/UoFiddler.Controls/UserControls/MultisControl.cs @@ -124,6 +124,29 @@ private TreeNode BuildMulNode(int i, MultiComponentList multi) return node; } + private void ApplyDarkModeIfNeeded() + { + if (Options.DarkMode) + { + Color tabBg = Color.FromArgb(32, 32, 32); + TabPage[] tabPages = { tabPage5, tabPage6, tabPageMul, tabPageUop, tabPageUopPreview, tabPageUopComponents }; + foreach (var tp in tabPages) + { + tp.UseVisualStyleBackColor = false; + tp.BackColor = tabBg; + } + } + + ApplyPreviewBackgroundColor(); + ControlEvents.PreviewBackgroundColorChangeEvent += ApplyPreviewBackgroundColor; + } + + private void ApplyPreviewBackgroundColor() + { + MultiPictureBox.BackColor = Options.PreviewBackgroundColor; + UopPictureBox.BackColor = Options.PreviewBackgroundColor; + } + private void OnLoad(object sender, EventArgs e) { if (IsAncestorSiteInDesignMode || FormsDesignerHelper.IsInDesignMode()) @@ -131,6 +154,8 @@ private void OnLoad(object sender, EventArgs e) return; } + ApplyDarkModeIfNeeded(); + Cursor.Current = Cursors.WaitCursor; Options.LoadedUltimaClass["TileData"] = true; diff --git a/UoFiddler.Controls/UserControls/SkillsControl.Designer.cs b/UoFiddler.Controls/UserControls/SkillsControl.Designer.cs index b0ad8f75..947dca98 100644 --- a/UoFiddler.Controls/UserControls/SkillsControl.Designer.cs +++ b/UoFiddler.Controls/UserControls/SkillsControl.Designer.cs @@ -39,83 +39,92 @@ protected override void Dispose(bool disposing) /// private void InitializeComponent() { - this.components = new System.ComponentModel.Container(); - this.dataGridView1 = new System.Windows.Forms.DataGridView(); - this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components); - this.addToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.deleteToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator(); - this.saveToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - ((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).BeginInit(); - this.contextMenuStrip1.SuspendLayout(); - this.SuspendLayout(); + components = new System.ComponentModel.Container(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle(); + dataGridView1 = new System.Windows.Forms.DataGridView(); + contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(components); + addToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + deleteToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator(); + saveToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + ((System.ComponentModel.ISupportInitialize)dataGridView1).BeginInit(); + contextMenuStrip1.SuspendLayout(); + SuspendLayout(); // // dataGridView1 // - this.dataGridView1.AutoSizeColumnsMode = System.Windows.Forms.DataGridViewAutoSizeColumnsMode.Fill; - this.dataGridView1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; - this.dataGridView1.ContextMenuStrip = this.contextMenuStrip1; - this.dataGridView1.Dock = System.Windows.Forms.DockStyle.Fill; - this.dataGridView1.EditMode = System.Windows.Forms.DataGridViewEditMode.EditOnF2; - this.dataGridView1.Location = new System.Drawing.Point(0, 0); - this.dataGridView1.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); - this.dataGridView1.MultiSelect = false; - this.dataGridView1.Name = "dataGridView1"; - this.dataGridView1.RowHeadersBorderStyle = System.Windows.Forms.DataGridViewHeaderBorderStyle.None; - this.dataGridView1.RowHeadersVisible = false; - this.dataGridView1.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect; - this.dataGridView1.Size = new System.Drawing.Size(733, 386); - this.dataGridView1.TabIndex = 0; + dataGridView1.AutoSizeColumnsMode = System.Windows.Forms.DataGridViewAutoSizeColumnsMode.Fill; + dataGridView1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; + dataGridView1.ContextMenuStrip = contextMenuStrip1; + dataGridViewCellStyle1.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; + dataGridViewCellStyle1.BackColor = System.Drawing.SystemColors.Control; + dataGridViewCellStyle1.Font = new System.Drawing.Font("Segoe UI", 9F); + dataGridViewCellStyle1.ForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle1.SelectionBackColor = System.Drawing.SystemColors.Highlight; + dataGridViewCellStyle1.SelectionForeColor = System.Drawing.SystemColors.HighlightText; + dataGridViewCellStyle1.WrapMode = System.Windows.Forms.DataGridViewTriState.False; + dataGridView1.DefaultCellStyle = dataGridViewCellStyle1; + dataGridView1.Dock = System.Windows.Forms.DockStyle.Fill; + dataGridView1.EditMode = System.Windows.Forms.DataGridViewEditMode.EditOnF2; + dataGridView1.Location = new System.Drawing.Point(0, 0); + dataGridView1.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); + dataGridView1.MultiSelect = false; + dataGridView1.Name = "dataGridView1"; + dataGridView1.RowHeadersBorderStyle = System.Windows.Forms.DataGridViewHeaderBorderStyle.None; + dataGridView1.RowHeadersVisible = false; + dataGridView1.RowTemplate.DefaultCellStyle.BackColor = System.Drawing.SystemColors.Control; + dataGridView1.RowTemplate.DefaultCellStyle.ForeColor = System.Drawing.SystemColors.WindowText; + dataGridView1.RowTemplate.DefaultCellStyle.SelectionBackColor = System.Drawing.SystemColors.Highlight; + dataGridView1.RowTemplate.DefaultCellStyle.SelectionForeColor = System.Drawing.SystemColors.HighlightText; + dataGridView1.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect; + dataGridView1.Size = new System.Drawing.Size(733, 386); + dataGridView1.TabIndex = 0; // // contextMenuStrip1 // - this.contextMenuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.addToolStripMenuItem, - this.deleteToolStripMenuItem, - this.toolStripSeparator1, - this.saveToolStripMenuItem}); - this.contextMenuStrip1.Name = "contextMenuStrip1"; - this.contextMenuStrip1.Size = new System.Drawing.Size(108, 76); + contextMenuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { addToolStripMenuItem, deleteToolStripMenuItem, toolStripSeparator1, saveToolStripMenuItem }); + contextMenuStrip1.Name = "contextMenuStrip1"; + contextMenuStrip1.Size = new System.Drawing.Size(108, 76); // // addToolStripMenuItem // - this.addToolStripMenuItem.Name = "addToolStripMenuItem"; - this.addToolStripMenuItem.Size = new System.Drawing.Size(107, 22); - this.addToolStripMenuItem.Text = "Add"; - this.addToolStripMenuItem.Click += new System.EventHandler(this.OnClickAdd); + addToolStripMenuItem.Name = "addToolStripMenuItem"; + addToolStripMenuItem.Size = new System.Drawing.Size(107, 22); + addToolStripMenuItem.Text = "Add"; + addToolStripMenuItem.Click += OnClickAdd; // // deleteToolStripMenuItem // - this.deleteToolStripMenuItem.Name = "deleteToolStripMenuItem"; - this.deleteToolStripMenuItem.Size = new System.Drawing.Size(107, 22); - this.deleteToolStripMenuItem.Text = "Delete"; - this.deleteToolStripMenuItem.Click += new System.EventHandler(this.OnClickDelete); + deleteToolStripMenuItem.Name = "deleteToolStripMenuItem"; + deleteToolStripMenuItem.Size = new System.Drawing.Size(107, 22); + deleteToolStripMenuItem.Text = "Delete"; + deleteToolStripMenuItem.Click += OnClickDelete; // // toolStripSeparator1 // - this.toolStripSeparator1.Name = "toolStripSeparator1"; - this.toolStripSeparator1.Size = new System.Drawing.Size(104, 6); + toolStripSeparator1.Name = "toolStripSeparator1"; + toolStripSeparator1.Size = new System.Drawing.Size(104, 6); // // saveToolStripMenuItem // - this.saveToolStripMenuItem.Name = "saveToolStripMenuItem"; - this.saveToolStripMenuItem.Size = new System.Drawing.Size(107, 22); - this.saveToolStripMenuItem.Text = "Save"; - this.saveToolStripMenuItem.Click += new System.EventHandler(this.OnClickSave); + saveToolStripMenuItem.Name = "saveToolStripMenuItem"; + saveToolStripMenuItem.Size = new System.Drawing.Size(107, 22); + saveToolStripMenuItem.Text = "Save"; + saveToolStripMenuItem.Click += OnClickSave; // // SkillsControl // - this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F); - this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.Controls.Add(this.dataGridView1); - this.DoubleBuffered = true; - this.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); - this.Name = "SkillsControl"; - this.Size = new System.Drawing.Size(733, 386); - this.Load += new System.EventHandler(this.OnLoad); - ((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).EndInit(); - this.contextMenuStrip1.ResumeLayout(false); - this.ResumeLayout(false); + AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F); + AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + Controls.Add(dataGridView1); + DoubleBuffered = true; + Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); + Name = "SkillsControl"; + Size = new System.Drawing.Size(733, 386); + Load += OnLoad; + ((System.ComponentModel.ISupportInitialize)dataGridView1).EndInit(); + contextMenuStrip1.ResumeLayout(false); + ResumeLayout(false); } diff --git a/UoFiddler.Controls/UserControls/SkillsControl.resx b/UoFiddler.Controls/UserControls/SkillsControl.resx index 16e48413..75b37cab 100644 --- a/UoFiddler.Controls/UserControls/SkillsControl.resx +++ b/UoFiddler.Controls/UserControls/SkillsControl.resx @@ -1,4 +1,64 @@ + + diff --git a/UoFiddler.Controls/UserControls/TexturesControl.cs b/UoFiddler.Controls/UserControls/TexturesControl.cs index 160d603c..764195c4 100644 --- a/UoFiddler.Controls/UserControls/TexturesControl.cs +++ b/UoFiddler.Controls/UserControls/TexturesControl.cs @@ -11,6 +11,7 @@ using System; using System.Collections.Generic; +using System.ComponentModel; using System.Drawing; using System.Drawing.Imaging; using System.IO; @@ -39,6 +40,7 @@ public TexturesControl() private bool _loaded; private int _selectedTextureId = -1; + [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)] public int SelectedTextureId { get => _selectedTextureId; diff --git a/UoFiddler.Controls/UserControls/TileDataControl.cs b/UoFiddler.Controls/UserControls/TileDataControl.cs index 3966f744..37dd4331 100644 --- a/UoFiddler.Controls/UserControls/TileDataControl.cs +++ b/UoFiddler.Controls/UserControls/TileDataControl.cs @@ -665,7 +665,7 @@ private void OnTileDataChangeEvent(object sender, int index) if ((int)treeViewItem.SelectedNode.Tag == index) { - treeViewItem.SelectedNode.ForeColor = Color.Red; + treeViewItem.SelectedNode.ForeColor = (Options.DarkMode ? Color.OrangeRed : Color.Red); AfterSelectTreeViewItem(this, new TreeViewEventArgs(treeViewItem.SelectedNode)); } else @@ -679,7 +679,7 @@ private void OnTileDataChangeEvent(object sender, int index) continue; } - node.ForeColor = Color.Red; + node.ForeColor = (Options.DarkMode ? Color.OrangeRed : Color.Red); break; } } @@ -694,7 +694,7 @@ private void OnTileDataChangeEvent(object sender, int index) if ((int)treeViewLand.SelectedNode.Tag == index) { - treeViewLand.SelectedNode.ForeColor = Color.Red; + treeViewLand.SelectedNode.ForeColor = (Options.DarkMode ? Color.OrangeRed : Color.Red); AfterSelectTreeViewLand(this, new TreeViewEventArgs(treeViewLand.SelectedNode)); } else @@ -706,7 +706,7 @@ private void OnTileDataChangeEvent(object sender, int index) continue; } - node.ForeColor = Color.Red; + node.ForeColor = (Options.DarkMode ? Color.OrangeRed : Color.Red); break; } } @@ -899,7 +899,7 @@ private void OnClickSaveChanges(object sender, EventArgs e) } TileData.ItemTable[index] = item; - treeViewItem.SelectedNode.ForeColor = Color.Red; + treeViewItem.SelectedNode.ForeColor = (Options.DarkMode ? Color.OrangeRed : Color.Red); Options.ChangedUltimaClass["TileData"] = true; ControlEvents.FireTileDataChangeEvent(this, index + 0x4000); if (memorySaveWarningToolStripMenuItem.Checked) @@ -945,7 +945,7 @@ private void OnClickSaveChanges(object sender, EventArgs e) TileData.LandTable[index] = land; Options.ChangedUltimaClass["TileData"] = true; ControlEvents.FireTileDataChangeEvent(this, index); - treeViewLand.SelectedNode.ForeColor = Color.Red; + treeViewLand.SelectedNode.ForeColor = (Options.DarkMode ? Color.OrangeRed : Color.Red); if (memorySaveWarningToolStripMenuItem.Checked) { MessageBox.Show( @@ -987,7 +987,7 @@ private void OnTextChangedItemAnim(object sender, EventArgs e) ItemData item = TileData.ItemTable[index]; item.Animation = shortRes; TileData.ItemTable[index] = item; - treeViewItem.SelectedNode.ForeColor = Color.Red; + treeViewItem.SelectedNode.ForeColor = (Options.DarkMode ? Color.OrangeRed : Color.Red); Options.ChangedUltimaClass["TileData"] = true; ControlEvents.FireTileDataChangeEvent(this, index + 0x4000); } @@ -1025,7 +1025,7 @@ private void OnTextChangedItemName(object sender, EventArgs e) item.Name = name; TileData.ItemTable[index] = item; - treeViewItem.SelectedNode.ForeColor = Color.Red; + treeViewItem.SelectedNode.ForeColor = (Options.DarkMode ? Color.OrangeRed : Color.Red); Options.ChangedUltimaClass["TileData"] = true; ControlEvents.FireTileDataChangeEvent(this, index + 0x4000); } @@ -1078,7 +1078,7 @@ private void OnTextChangedItemWeight(object sender, EventArgs e) ItemData item = TileData.ItemTable[index]; item.Weight = byteRes; TileData.ItemTable[index] = item; - treeViewItem.SelectedNode.ForeColor = Color.Red; + treeViewItem.SelectedNode.ForeColor = (Options.DarkMode ? Color.OrangeRed : Color.Red); Options.ChangedUltimaClass["TileData"] = true; ControlEvents.FireTileDataChangeEvent(this, index + 0x4000); } @@ -1109,7 +1109,7 @@ private void OnTextChangedItemQuality(object sender, EventArgs e) ItemData item = TileData.ItemTable[index]; item.Quality = byteRes; TileData.ItemTable[index] = item; - treeViewItem.SelectedNode.ForeColor = Color.Red; + treeViewItem.SelectedNode.ForeColor = (Options.DarkMode ? Color.OrangeRed : Color.Red); Options.ChangedUltimaClass["TileData"] = true; ControlEvents.FireTileDataChangeEvent(this, index + 0x4000); } @@ -1140,7 +1140,7 @@ private void OnTextChangedItemQuantity(object sender, EventArgs e) ItemData item = TileData.ItemTable[index]; item.Quantity = byteRes; TileData.ItemTable[index] = item; - treeViewItem.SelectedNode.ForeColor = Color.Red; + treeViewItem.SelectedNode.ForeColor = (Options.DarkMode ? Color.OrangeRed : Color.Red); Options.ChangedUltimaClass["TileData"] = true; ControlEvents.FireTileDataChangeEvent(this, index + 0x4000); } @@ -1171,7 +1171,7 @@ private void OnTextChangedItemHue(object sender, EventArgs e) ItemData item = TileData.ItemTable[index]; item.Hue = byteRes; TileData.ItemTable[index] = item; - treeViewItem.SelectedNode.ForeColor = Color.Red; + treeViewItem.SelectedNode.ForeColor = (Options.DarkMode ? Color.OrangeRed : Color.Red); Options.ChangedUltimaClass["TileData"] = true; ControlEvents.FireTileDataChangeEvent(this, index + 0x4000); } @@ -1202,7 +1202,7 @@ private void OnTextChangedItemStackOff(object sender, EventArgs e) ItemData item = TileData.ItemTable[index]; item.StackingOffset = byteRes; TileData.ItemTable[index] = item; - treeViewItem.SelectedNode.ForeColor = Color.Red; + treeViewItem.SelectedNode.ForeColor = (Options.DarkMode ? Color.OrangeRed : Color.Red); Options.ChangedUltimaClass["TileData"] = true; ControlEvents.FireTileDataChangeEvent(this, index + 0x4000); } @@ -1233,7 +1233,7 @@ private void OnTextChangedItemValue(object sender, EventArgs e) ItemData item = TileData.ItemTable[index]; item.Value = byteRes; TileData.ItemTable[index] = item; - treeViewItem.SelectedNode.ForeColor = Color.Red; + treeViewItem.SelectedNode.ForeColor = (Options.DarkMode ? Color.OrangeRed : Color.Red); Options.ChangedUltimaClass["TileData"] = true; ControlEvents.FireTileDataChangeEvent(this, index + 0x4000); } @@ -1264,7 +1264,7 @@ private void OnTextChangedItemHeight(object sender, EventArgs e) ItemData item = TileData.ItemTable[index]; item.Height = byteRes; TileData.ItemTable[index] = item; - treeViewItem.SelectedNode.ForeColor = Color.Red; + treeViewItem.SelectedNode.ForeColor = (Options.DarkMode ? Color.OrangeRed : Color.Red); Options.ChangedUltimaClass["TileData"] = true; ControlEvents.FireTileDataChangeEvent(this, index + 0x4000); } @@ -1295,7 +1295,7 @@ private void OnTextChangedItemMiscData(object sender, EventArgs e) ItemData item = TileData.ItemTable[index]; item.MiscData = shortRes; TileData.ItemTable[index] = item; - treeViewItem.SelectedNode.ForeColor = Color.Red; + treeViewItem.SelectedNode.ForeColor = (Options.DarkMode ? Color.OrangeRed : Color.Red); Options.ChangedUltimaClass["TileData"] = true; ControlEvents.FireTileDataChangeEvent(this, index + 0x4000); } @@ -1326,7 +1326,7 @@ private void OnTextChangedItemUnk2(object sender, EventArgs e) ItemData item = TileData.ItemTable[index]; item.Unk2 = byteRes; TileData.ItemTable[index] = item; - treeViewItem.SelectedNode.ForeColor = Color.Red; + treeViewItem.SelectedNode.ForeColor = (Options.DarkMode ? Color.OrangeRed : Color.Red); Options.ChangedUltimaClass["TileData"] = true; ControlEvents.FireTileDataChangeEvent(this, index + 0x4000); } @@ -1357,7 +1357,7 @@ private void OnTextChangedItemUnk3(object sender, EventArgs e) ItemData item = TileData.ItemTable[index]; item.Unk3 = byteRes; TileData.ItemTable[index] = item; - treeViewItem.SelectedNode.ForeColor = Color.Red; + treeViewItem.SelectedNode.ForeColor = (Options.DarkMode ? Color.OrangeRed : Color.Red); Options.ChangedUltimaClass["TileData"] = true; ControlEvents.FireTileDataChangeEvent(this, index + 0x4000); } @@ -1395,7 +1395,7 @@ private void OnTextChangedLandName(object sender, EventArgs e) land.Name = name; treeViewLand.SelectedNode.Text = string.Format("0x{0:X4} ({0}) {1}", index, name); TileData.LandTable[index] = land; - treeViewLand.SelectedNode.ForeColor = Color.Red; + treeViewLand.SelectedNode.ForeColor = (Options.DarkMode ? Color.OrangeRed : Color.Red); Options.ChangedUltimaClass["TileData"] = true; ControlEvents.FireTileDataChangeEvent(this, index); } @@ -1426,7 +1426,7 @@ private void OnTextChangedLandTexID(object sender, EventArgs e) LandData land = TileData.LandTable[index]; land.TextureId = shortRes; TileData.LandTable[index] = land; - treeViewLand.SelectedNode.ForeColor = Color.Red; + treeViewLand.SelectedNode.ForeColor = (Options.DarkMode ? Color.OrangeRed : Color.Red); Options.ChangedUltimaClass["TileData"] = true; ControlEvents.FireTileDataChangeEvent(this, index); } @@ -1468,7 +1468,7 @@ private void OnFlagItemCheckItems(object sender, ItemCheckEventArgs e) item.Flags ^= changeFlag; TileData.ItemTable[index] = item; - treeViewItem.SelectedNode.ForeColor = Color.Red; + treeViewItem.SelectedNode.ForeColor = (Options.DarkMode ? Color.OrangeRed : Color.Red); Options.ChangedUltimaClass["TileData"] = true; ControlEvents.FireTileDataChangeEvent(this, index + 0x4000); } @@ -1481,7 +1481,7 @@ private void OnFlagItemCheckItems(object sender, ItemCheckEventArgs e) item.Flags |= changeFlag; TileData.ItemTable[index] = item; - treeViewItem.SelectedNode.ForeColor = Color.Red; + treeViewItem.SelectedNode.ForeColor = (Options.DarkMode ? Color.OrangeRed : Color.Red); Options.ChangedUltimaClass["TileData"] = true; ControlEvents.FireTileDataChangeEvent(this, index + 0x4000); } @@ -1548,7 +1548,7 @@ private void OnFlagItemCheckLandTiles(object sender, ItemCheckEventArgs e) land.Flags ^= changeFlag; TileData.LandTable[index] = land; - treeViewLand.SelectedNode.ForeColor = Color.Red; + treeViewLand.SelectedNode.ForeColor = (Options.DarkMode ? Color.OrangeRed : Color.Red); Options.ChangedUltimaClass["TileData"] = true; ControlEvents.FireTileDataChangeEvent(this, index); } @@ -1561,7 +1561,7 @@ private void OnFlagItemCheckLandTiles(object sender, ItemCheckEventArgs e) land.Flags |= changeFlag; TileData.LandTable[index] = land; - treeViewLand.SelectedNode.ForeColor = Color.Red; + treeViewLand.SelectedNode.ForeColor = (Options.DarkMode ? Color.OrangeRed : Color.Red); Options.ChangedUltimaClass["TileData"] = true; ControlEvents.FireTileDataChangeEvent(this, index); } @@ -1806,7 +1806,7 @@ private void SetTextureMenuItem_Click(object sender, EventArgs e) var node = treeViewLand.Nodes.OfType().FirstOrDefault(x => x.Tag.Equals(i)); if (node != null) { - node.ForeColor = Color.Red; + node.ForeColor = (Options.DarkMode ? Color.OrangeRed : Color.Red); } updated++; diff --git a/UoFiddler.Controls/UserControls/TileView/TileViewControl.cs b/UoFiddler.Controls/UserControls/TileView/TileViewControl.cs index c89d6235..5c1cacd4 100644 --- a/UoFiddler.Controls/UserControls/TileView/TileViewControl.cs +++ b/UoFiddler.Controls/UserControls/TileView/TileViewControl.cs @@ -26,6 +26,7 @@ public class TileViewControl : ScrollableControl /// /// Get or Set SelectedIndex, setting this property to -1 will remove selection, -2 is reserved for "do nothing". /// + [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)] public int FocusIndex { get => _focusIndex; @@ -100,6 +101,7 @@ private void ScrollToItem(int value) private bool _multiSelect; [Browsable(true)] + [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)] public bool MultiSelect { get => _multiSelect; @@ -115,6 +117,7 @@ public bool MultiSelect /// /// Get or Set amount of Items to be displayed. /// + [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)] public int VirtualListSize { get => _virtualListSize; @@ -184,6 +187,7 @@ private static int DivUp(int a, int b) private Size _tileSize = new Size(256, 256); + [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)] public Size TileSize { get => _tileSize; @@ -196,6 +200,7 @@ public Size TileSize private Padding _tileMargin = new Padding(2, 2, 2, 2); // external + [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)] public Padding TileMargin { get => _tileMargin; @@ -208,6 +213,7 @@ public Padding TileMargin private Padding _tilePadding = new Padding(2, 2, 2, 2); + [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)] public Padding TilePadding { get => _tilePadding; @@ -220,6 +226,7 @@ public Padding TilePadding private readonly Pen _tileBorder = new Pen(Brushes.Black, 1.0f); + [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)] public float TileBorderWidth { get => _tileBorder.Width; @@ -231,6 +238,7 @@ public float TileBorderWidth } [Browsable(true)] + [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)] public Color TileBorderColor { get => _tileBorder.Color; @@ -271,6 +279,7 @@ public double TileHighLightOpacity /// Focused tile border and highlight color /// [Browsable(true)] + [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)] public Color TileFocusColor { get => _tileFocusColor; @@ -287,6 +296,7 @@ public Color TileFocusColor /// Selected tile highlight color /// [Browsable(true)] + [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)] public Color TileHighlightColor { get => _tileHighlightColor; @@ -306,6 +316,7 @@ public Color TileHighlightColor /// Color of tile background /// [Browsable(true)] + [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)] public Color TileBackgroundColor { get => _tileBackgroundColor; diff --git a/UoFiddler.Controls/UserControls/VerdataControl.Designer.cs b/UoFiddler.Controls/UserControls/VerdataControl.Designer.cs index acd65e4c..e804af09 100644 --- a/UoFiddler.Controls/UserControls/VerdataControl.Designer.cs +++ b/UoFiddler.Controls/UserControls/VerdataControl.Designer.cs @@ -86,7 +86,6 @@ private void InitializeComponent() splitContainerAnim.Panel2.SuspendLayout(); splitContainerAnim.SuspendLayout(); panelActionList.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)animatedPictureBox).BeginInit(); panelAnimControls.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)trackBarDirection).BeginInit(); ((System.ComponentModel.ISupportInitialize)pictureBoxPreview).BeginInit(); @@ -610,7 +609,6 @@ private void InitializeComponent() splitContainerAnim.ResumeLayout(false); panelActionList.ResumeLayout(false); panelActionList.PerformLayout(); - ((System.ComponentModel.ISupportInitialize)animatedPictureBox).EndInit(); panelAnimControls.ResumeLayout(false); panelAnimControls.PerformLayout(); ((System.ComponentModel.ISupportInitialize)trackBarDirection).EndInit(); diff --git a/UoFiddler.Plugin.Compare/Classes/SecondArt.cs b/UoFiddler.Plugin.Compare/Classes/SecondArt.cs index a3d95d27..c1f320f4 100644 --- a/UoFiddler.Plugin.Compare/Classes/SecondArt.cs +++ b/UoFiddler.Plugin.Compare/Classes/SecondArt.cs @@ -90,7 +90,7 @@ public static bool IsValidStatic(int index) } stream.Seek(4, SeekOrigin.Current); - stream.Read(_validBuffer, 0, 4); + stream.ReadExactly(_validBuffer, 0, 4); short width = (short)(_validBuffer[0] | (_validBuffer[1] << 8)); short height = (short)(_validBuffer[2] | (_validBuffer[3] << 8)); @@ -149,7 +149,7 @@ private static unsafe Bitmap LoadStatic(Stream stream, int length) _streamBuffer = new byte[length]; } - stream.Read(_streamBuffer, 0, length); + stream.ReadExactly(_streamBuffer, 0, length); stream.Close(); fixed (byte* data = _streamBuffer) @@ -264,7 +264,7 @@ private static unsafe Bitmap LoadLand(Stream stream, int length) _streamBuffer = new byte[length]; } - stream.Read(_streamBuffer, 0, length); + stream.ReadExactly(_streamBuffer, 0, length); stream.Close(); fixed (byte* binData = _streamBuffer) { diff --git a/UoFiddler.Plugin.Compare/Classes/SecondFileIndex.cs b/UoFiddler.Plugin.Compare/Classes/SecondFileIndex.cs index e2f06ff4..8d9fcbc3 100644 --- a/UoFiddler.Plugin.Compare/Classes/SecondFileIndex.cs +++ b/UoFiddler.Plugin.Compare/Classes/SecondFileIndex.cs @@ -119,7 +119,7 @@ public SecondFileIndex(string idxFile, string mulFile, int length) GCHandle gc = GCHandle.Alloc(Index, GCHandleType.Pinned); byte[] buffer = new byte[index.Length]; - index.Read(buffer, 0, (int)index.Length); + index.ReadExactly(buffer, 0, (int)index.Length); Marshal.Copy(buffer, 0, gc.AddrOfPinnedObject(), (int)Math.Min(IdxLength, length * 12)); gc.Free(); diff --git a/UoFiddler.Plugin.Compare/Classes/SecondGump.cs b/UoFiddler.Plugin.Compare/Classes/SecondGump.cs index 82b089fa..3932f9dc 100644 --- a/UoFiddler.Plugin.Compare/Classes/SecondGump.cs +++ b/UoFiddler.Plugin.Compare/Classes/SecondGump.cs @@ -74,7 +74,7 @@ public static byte[] GetRawGump(int index, out int width, out int height) } byte[] buffer = new byte[length]; - stream.Read(buffer, 0, length); + stream.ReadExactly(buffer, 0, length); return buffer; } @@ -111,7 +111,7 @@ public static unsafe Bitmap GetGump(int index) _streamBuffer = new byte[length]; } - stream.Read(_streamBuffer, 0, length); + stream.ReadExactly(_streamBuffer, 0, length); fixed (byte* data = _streamBuffer) { diff --git a/UoFiddler.Plugin.Compare/Classes/SecondRadarCol.cs b/UoFiddler.Plugin.Compare/Classes/SecondRadarCol.cs index bdc27a57..86eb492a 100644 --- a/UoFiddler.Plugin.Compare/Classes/SecondRadarCol.cs +++ b/UoFiddler.Plugin.Compare/Classes/SecondRadarCol.cs @@ -31,7 +31,7 @@ public static bool Initialize(string filePath) { var colors = new ushort[fs.Length / 2]; var buffer = new byte[(int)fs.Length]; - fs.Read(buffer, 0, (int)fs.Length); + fs.ReadExactly(buffer, 0, (int)fs.Length); GCHandle gc = GCHandle.Alloc(colors, GCHandleType.Pinned); Marshal.Copy(buffer, 0, gc.AddrOfPinnedObject(), (int)fs.Length); gc.Free(); diff --git a/UoFiddler.Plugin.Compare/Classes/SecondTexture.cs b/UoFiddler.Plugin.Compare/Classes/SecondTexture.cs index 87f002bf..3cd0e67f 100644 --- a/UoFiddler.Plugin.Compare/Classes/SecondTexture.cs +++ b/UoFiddler.Plugin.Compare/Classes/SecondTexture.cs @@ -94,7 +94,7 @@ private static unsafe Bitmap LoadTexture(Stream stream, int extra) _streamBuffer = new byte[max]; } - stream.Read(_streamBuffer, 0, max); + stream.ReadExactly(_streamBuffer, 0, max); fixed (byte* data = _streamBuffer) { diff --git a/UoFiddler.Plugin.Compare/Classes/SecondTileData.cs b/UoFiddler.Plugin.Compare/Classes/SecondTileData.cs index 802a1a1b..ad88f43f 100644 --- a/UoFiddler.Plugin.Compare/Classes/SecondTileData.cs +++ b/UoFiddler.Plugin.Compare/Classes/SecondTileData.cs @@ -44,7 +44,7 @@ public unsafe void Initialize(string path, bool useNeWTileDataFormat) long currentPos = 0; try { - fs.Read(buffer, 0, buffer.Length); + fs.ReadExactly(buffer, 0, buffer.Length); for (int i = 0; i < 0x4000; i += 32) { var ptrHeader = new IntPtr((long)gc.AddrOfPinnedObject() + currentPos); diff --git a/UoFiddler.Plugin.Compare/UoFiddler.Plugin.Compare.csproj b/UoFiddler.Plugin.Compare/UoFiddler.Plugin.Compare.csproj index 214a6193..2705efc5 100644 --- a/UoFiddler.Plugin.Compare/UoFiddler.Plugin.Compare.csproj +++ b/UoFiddler.Plugin.Compare/UoFiddler.Plugin.Compare.csproj @@ -1,7 +1,7 @@  ComparePlugin - net8.0-windows + net10.0-windows true false ComparePlugin diff --git a/UoFiddler.Plugin.Compare/UserControls/CompareAnimDataControl.cs b/UoFiddler.Plugin.Compare/UserControls/CompareAnimDataControl.cs index 31aff792..6b383c1c 100644 --- a/UoFiddler.Plugin.Compare/UserControls/CompareAnimDataControl.cs +++ b/UoFiddler.Plugin.Compare/UserControls/CompareAnimDataControl.cs @@ -23,6 +23,10 @@ public CompareAnimDataControl() private void OnLoad(object sender, EventArgs e) { + if (Options.DarkMode) + { + legendSwatchDifferent.BackColor = Color.CornflowerBlue; + } PopulateOrgList(); ControlEvents.FilePathChangeEvent += OnFilePathChangeEvent; } @@ -101,7 +105,7 @@ private Brush GetEntryBrush(int id) if (inOrg && inSec && !Compare(id)) { - return Brushes.Blue; + return Options.DarkMode ? Brushes.CornflowerBlue : Brushes.Blue; } } diff --git a/UoFiddler.Plugin.Compare/UserControls/CompareCliLocControl.cs b/UoFiddler.Plugin.Compare/UserControls/CompareCliLocControl.cs index 9a17e597..21d50bc0 100644 --- a/UoFiddler.Plugin.Compare/UserControls/CompareCliLocControl.cs +++ b/UoFiddler.Plugin.Compare/UserControls/CompareCliLocControl.cs @@ -15,6 +15,7 @@ using System.IO; using System.Windows.Forms; using Ultima; +using UoFiddler.Controls.Classes; namespace UoFiddler.Plugin.Compare.UserControls { @@ -182,10 +183,10 @@ private void CellFormatting(object sender, DataGridViewCellFormattingEventArgs e switch (entry.CompareResult) { case CompareEntry.CompareRes.Diff: - e.CellStyle.ForeColor = Color.Red; + e.CellStyle.ForeColor = Options.DarkMode ? Color.OrangeRed : Color.Red; break; case CompareEntry.CompareRes.NewIn1: - e.CellStyle.ForeColor = Color.Blue; + e.CellStyle.ForeColor = Options.DarkMode ? Color.CornflowerBlue : Color.Blue; break; case CompareEntry.CompareRes.NewIn2: e.CellStyle.ForeColor = Color.Orange; @@ -310,10 +311,10 @@ private void ShowWordDiff(string text1, string text2) AppendWord(diffRichTextBox2, word, SystemColors.Window, ref first2); break; case WordDiffOp.Delete: - AppendWord(diffRichTextBox1, word, Color.FromArgb(255, 200, 200), ref first1); + AppendWord(diffRichTextBox1, word, Options.DarkMode ? Color.FromArgb(140, 30, 30) : Color.FromArgb(255, 200, 200), ref first1); break; case WordDiffOp.Insert: - AppendWord(diffRichTextBox2, word, Color.FromArgb(200, 255, 200), ref first2); + AppendWord(diffRichTextBox2, word, Options.DarkMode ? Color.FromArgb(30, 100, 40) : Color.FromArgb(200, 255, 200), ref first2); break; } } diff --git a/UoFiddler.Plugin.Compare/UserControls/CompareGumpControl.cs b/UoFiddler.Plugin.Compare/UserControls/CompareGumpControl.cs index 7708e66b..3c74b870 100644 --- a/UoFiddler.Plugin.Compare/UserControls/CompareGumpControl.cs +++ b/UoFiddler.Plugin.Compare/UserControls/CompareGumpControl.cs @@ -119,7 +119,7 @@ private void DrawGumpItem(DrawItemEventArgs e, int i, bool isSecondary) { if (tileView2.VirtualListSize > 0 && !Compare(i)) { - fontBrush = Brushes.Blue; + fontBrush = Options.DarkMode ? Brushes.CornflowerBlue : Brushes.Blue; } int width = bmp.Width > 80 ? 80 : bmp.Width; @@ -128,12 +128,12 @@ private void DrawGumpItem(DrawItemEventArgs e, int i, bool isSecondary) } else { - fontBrush = Brushes.Red; + fontBrush = Options.DarkMode ? Brushes.OrangeRed : Brushes.Red; } } else { - fontBrush = Brushes.Red; + fontBrush = Options.DarkMode ? Brushes.OrangeRed : Brushes.Red; } string label = $"0x{i:X}"; diff --git a/UoFiddler.Plugin.Compare/UserControls/CompareHuesControl.cs b/UoFiddler.Plugin.Compare/UserControls/CompareHuesControl.cs index 2f3a545b..e77dcf02 100644 --- a/UoFiddler.Plugin.Compare/UserControls/CompareHuesControl.cs +++ b/UoFiddler.Plugin.Compare/UserControls/CompareHuesControl.cs @@ -87,7 +87,7 @@ private void PaintBox1() } else if (!Compare(index)) { - g.FillRectangle(Brushes.Red, rect); + g.FillRectangle(Options.DarkMode ? Brushes.OrangeRed : Brushes.Red, rect); } else { @@ -97,7 +97,7 @@ private void PaintBox1() float size = (float)(pictureBox1.Width - 200) / 32; Hue hue = Hues.List[index]; Rectangle stringRect = new Rectangle(3, y * _itemHeight, pictureBox1.Width, _itemHeight); - g.DrawString($"{hue.Index + 1,-5} {$"(0x{hue.Index + 1:X})",-7} {hue.Name}", Font, Brushes.Black, stringRect); + g.DrawString($"{hue.Index + 1,-5} {$"(0x{hue.Index + 1:X})",-7} {hue.Name}", Font, SystemBrushes.ControlText, stringRect); for (int i = 0; i < hue.Colors.Length; i++) { @@ -134,7 +134,7 @@ private void PaintBox2() } else if (!Compare(index)) { - g.FillRectangle(Brushes.Red, rect); + g.FillRectangle(Options.DarkMode ? Brushes.OrangeRed : Brushes.Red, rect); } else { diff --git a/UoFiddler.Plugin.Compare/UserControls/CompareItemControl.cs b/UoFiddler.Plugin.Compare/UserControls/CompareItemControl.cs index 45bdc16f..9d2761af 100644 --- a/UoFiddler.Plugin.Compare/UserControls/CompareItemControl.cs +++ b/UoFiddler.Plugin.Compare/UserControls/CompareItemControl.cs @@ -109,11 +109,11 @@ private void DrawListItem(DrawItemEventArgs e, int i, bool isSecondary) if (!valid) { - fontBrush = Brushes.Red; + fontBrush = Options.DarkMode ? Brushes.OrangeRed : Brushes.Red; } else if (tileViewSec.VirtualListSize > 0 && !Compare(i)) { - fontBrush = Brushes.Blue; + fontBrush = Options.DarkMode ? Brushes.CornflowerBlue : Brushes.Blue; } string label = $"0x{i:X}"; diff --git a/UoFiddler.Plugin.Compare/UserControls/CompareLandControl.cs b/UoFiddler.Plugin.Compare/UserControls/CompareLandControl.cs index f3cd8c73..504b5196 100644 --- a/UoFiddler.Plugin.Compare/UserControls/CompareLandControl.cs +++ b/UoFiddler.Plugin.Compare/UserControls/CompareLandControl.cs @@ -108,11 +108,11 @@ private void DrawListItem(DrawItemEventArgs e, int i, bool isSecondary) if (!valid) { - fontBrush = Brushes.Red; + fontBrush = Options.DarkMode ? Brushes.OrangeRed : Brushes.Red; } else if (tileViewSec.VirtualListSize > 0 && !Compare(i)) { - fontBrush = Brushes.Blue; + fontBrush = Options.DarkMode ? Brushes.CornflowerBlue : Brushes.Blue; } string label = $"0x{i:X}"; diff --git a/UoFiddler.Plugin.Compare/UserControls/CompareRadarColControl.cs b/UoFiddler.Plugin.Compare/UserControls/CompareRadarColControl.cs index dbaaf87e..c142bd7e 100644 --- a/UoFiddler.Plugin.Compare/UserControls/CompareRadarColControl.cs +++ b/UoFiddler.Plugin.Compare/UserControls/CompareRadarColControl.cs @@ -29,6 +29,10 @@ public CompareRadarColControl() private void OnLoad(object sender, EventArgs e) { + if (Options.DarkMode) + { + legendSwatchDifferent.BackColor = Color.CornflowerBlue; + } PopulateOrgOnly(isLand: true); ControlEvents.FilePathChangeEvent += OnFilePathChangeEvent; } @@ -156,7 +160,7 @@ private void DrawListItem(DrawItemEventArgs e, int idx) } Brush fontBrush = SecondRadarCol.IsLoaded && IsDifferent(idx) - ? Brushes.Blue + ? (Options.DarkMode ? Brushes.CornflowerBlue : Brushes.Blue) : Brushes.Gray; string section = idx < 0x4000 ? "Land" : "Item"; diff --git a/UoFiddler.Plugin.Compare/UserControls/CompareTextureControl.cs b/UoFiddler.Plugin.Compare/UserControls/CompareTextureControl.cs index 922493fb..b01241b1 100644 --- a/UoFiddler.Plugin.Compare/UserControls/CompareTextureControl.cs +++ b/UoFiddler.Plugin.Compare/UserControls/CompareTextureControl.cs @@ -95,11 +95,11 @@ private void DrawListItem(DrawItemEventArgs e, int i, bool isSecondary) if (!valid) { - fontBrush = Brushes.Red; + fontBrush = Options.DarkMode ? Brushes.OrangeRed : Brushes.Red; } else if (tileViewSec.VirtualListSize > 0 && !Compare(i)) { - fontBrush = Brushes.Blue; + fontBrush = Options.DarkMode ? Brushes.CornflowerBlue : Brushes.Blue; } string label = $"0x{i:X}"; diff --git a/UoFiddler.Plugin.Compare/UserControls/CompareTileDataControl.cs b/UoFiddler.Plugin.Compare/UserControls/CompareTileDataControl.cs index 29dce967..f1064e1b 100644 --- a/UoFiddler.Plugin.Compare/UserControls/CompareTileDataControl.cs +++ b/UoFiddler.Plugin.Compare/UserControls/CompareTileDataControl.cs @@ -256,7 +256,9 @@ private void UpdateFlagRows( finally { flagTlp.ResumeLayout(true); - scrollPanel?.ResumeLayout(false); + scrollPanel?.ResumeLayout(true); + flagTlp.PerformLayout(); + scrollPanel?.PerformLayout(); } } @@ -668,7 +670,7 @@ private Brush GetLandBrush(int i, bool isSecondary) if (!CompareLand(i)) { - return Brushes.Blue; + return Options.DarkMode ? Brushes.CornflowerBlue : Brushes.Blue; } } @@ -749,12 +751,12 @@ private Brush GetItemBrush(int i) if (!CompareItem(i)) { - return Brushes.Blue; + return Options.DarkMode ? Brushes.CornflowerBlue : Brushes.Blue; } } else if (!inOrg) { - return Brushes.Red; + return Options.DarkMode ? Brushes.OrangeRed : Brushes.Red; } return Brushes.Gray; @@ -861,7 +863,7 @@ private void OnFocusChangedItemSec(object sender, TileViewControl.ListViewFocuse // ── Detail panel population ─────────────────────────────────────────────── - private static readonly Color DiffColor = Color.LightYellow; + private static Color DiffColor => Options.DarkMode ? Color.FromArgb(96, 76, 0) : Color.LightYellow; private void ResetLandDetailHighlights() { diff --git a/UoFiddler.Plugin.ExamplePlugin/UoFiddler.Plugin.ExamplePlugin.csproj b/UoFiddler.Plugin.ExamplePlugin/UoFiddler.Plugin.ExamplePlugin.csproj index c5c94d00..ffe0c05e 100644 --- a/UoFiddler.Plugin.ExamplePlugin/UoFiddler.Plugin.ExamplePlugin.csproj +++ b/UoFiddler.Plugin.ExamplePlugin/UoFiddler.Plugin.ExamplePlugin.csproj @@ -1,7 +1,7 @@  TestPlugin - net8.0-windows + net10.0-windows true false FiddlerPlugin diff --git a/UoFiddler.Plugin.MassImport/UoFiddler.Plugin.MassImport.csproj b/UoFiddler.Plugin.MassImport/UoFiddler.Plugin.MassImport.csproj index a9bc664b..c8d6166f 100644 --- a/UoFiddler.Plugin.MassImport/UoFiddler.Plugin.MassImport.csproj +++ b/UoFiddler.Plugin.MassImport/UoFiddler.Plugin.MassImport.csproj @@ -1,7 +1,7 @@  MassImport - net8.0-windows + net10.0-windows true false MassImportPlugin diff --git a/UoFiddler.Plugin.MultiEditor/Forms/ShortcutsHelpForm.cs b/UoFiddler.Plugin.MultiEditor/Forms/ShortcutsHelpForm.cs index 9d75fe9e..91277ccb 100644 --- a/UoFiddler.Plugin.MultiEditor/Forms/ShortcutsHelpForm.cs +++ b/UoFiddler.Plugin.MultiEditor/Forms/ShortcutsHelpForm.cs @@ -9,7 +9,9 @@ * ***************************************************************************/ +using System.Drawing; using System.Windows.Forms; +using UoFiddler.Controls.Classes; namespace UoFiddler.Plugin.MultiEditor.Forms { @@ -23,42 +25,51 @@ public ShortcutsHelpForm() private void PopulateShortcuts() { - _listView.Groups.Add(new ListViewGroup("tool-switches", "Tool Switches")); - _listView.Groups.Add(new ListViewGroup("editing", "Editing")); - _listView.Groups.Add(new ListViewGroup("navigation", "Navigation")); - _listView.Groups.Add(new ListViewGroup("zoom", "Zoom")); + AddHeader("Tool Switches"); + Add("S", "Select Tool"); + Add("D", "Draw Tool"); + Add("R", "Remove Tool"); + Add("E", "Apply Z Level Tool"); + Add("F", "Toggle Virtual Floor"); + Add("P", "Pipette (Pick Tile)"); + Add("T", "Switch Transparent"); + Add("B", "Rectangle Fill Tool"); + Add("L", "Line Draw Tool"); - Add("S", "Select Tool", "tool-switches"); - Add("D", "Draw Tool", "tool-switches"); - Add("R", "Remove Tool", "tool-switches"); - Add("E", "Apply Z Level Tool", "tool-switches"); - Add("F", "Toggle Virtual Floor", "tool-switches"); - Add("P", "Pipette (Pick Tile)", "tool-switches"); - Add("T", "Switch Transparent", "tool-switches"); - Add("B", "Rectangle Fill Tool", "tool-switches"); - Add("L", "Line Draw Tool", "tool-switches"); + AddHeader("Editing"); + Add("Ctrl+Z", "Undo"); + Add("Ctrl+Y / Ctrl+Shift+Z", "Redo"); + Add("Ctrl+C", "Copy Selection"); + Add("Ctrl+V", "Paste"); + Add("Escape", "Cancel Paste"); + Add("[", "Z Level -1"); + Add("]", "Z Level +1"); - Add("Ctrl+Z", "Undo", "editing"); - Add("Ctrl+Y / Ctrl+Shift+Z", "Redo", "editing"); - Add("Ctrl+C", "Copy Selection", "editing"); - Add("Ctrl+V", "Paste", "editing"); - Add("Escape", "Cancel Paste", "editing"); - Add("[", "Z Level -1", "editing"); - Add("]", "Z Level +1", "editing"); + AddHeader("Navigation"); + Add("Arrow Keys", "Pan View"); + Add("Page Up", "Floor Z +5"); + Add("Page Down", "Floor Z -5"); - Add("Arrow Keys", "Pan View", "navigation"); - Add("Page Up", "Floor Z +5", "navigation"); - Add("Page Down", "Floor Z -5", "navigation"); + AddHeader("Zoom"); + Add("+ / Shift+=", "Zoom In"); + Add("-", "Zoom Out"); + Add("Ctrl+0", "Reset Zoom to 100%"); + } - Add("+ / Shift+=", "Zoom In", "zoom"); - Add("-", "Zoom Out", "zoom"); - Add("Ctrl+0", "Reset Zoom to 100%", "zoom"); + private void AddHeader(string text) + { + var item = new ListViewItem(text) + { + Font = new Font(_listView.Font, FontStyle.Bold), + ForeColor = Options.DarkMode ? Color.OrangeRed : Color.MediumBlue, + }; + item.SubItems.Add(string.Empty); + _listView.Items.Add(item); } - private void Add(string key, string action, string groupKey) + private void Add(string key, string action) { - var group = _listView.Groups[groupKey]; - var item = new ListViewItem(key, group); + var item = new ListViewItem(key); item.SubItems.Add(action); _listView.Items.Add(item); } diff --git a/UoFiddler.Plugin.MultiEditor/UoFiddler.Plugin.MultiEditor.csproj b/UoFiddler.Plugin.MultiEditor/UoFiddler.Plugin.MultiEditor.csproj index 50616991..3ddff6b9 100644 --- a/UoFiddler.Plugin.MultiEditor/UoFiddler.Plugin.MultiEditor.csproj +++ b/UoFiddler.Plugin.MultiEditor/UoFiddler.Plugin.MultiEditor.csproj @@ -1,7 +1,7 @@  MultiEditor - net8.0-windows + net10.0-windows true false MultiEditor @@ -70,7 +70,4 @@ PreserveNewest - - - \ No newline at end of file diff --git a/UoFiddler.Plugin.MultiEditor/UserControls/MultiEditorControl.Designer.cs b/UoFiddler.Plugin.MultiEditor/UserControls/MultiEditorControl.Designer.cs index 487334a9..77b5b8a1 100644 --- a/UoFiddler.Plugin.MultiEditor/UserControls/MultiEditorControl.Designer.cs +++ b/UoFiddler.Plugin.MultiEditor/UserControls/MultiEditorControl.Designer.cs @@ -921,7 +921,7 @@ private void InitializeComponent() pictureBoxMinimap.Anchor = System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right; pictureBoxMinimap.BackColor = System.Drawing.Color.DimGray; pictureBoxMinimap.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - pictureBoxMinimap.Location = new System.Drawing.Point(342, 277); + pictureBoxMinimap.Location = new System.Drawing.Point(342, 276); pictureBoxMinimap.Name = "pictureBoxMinimap"; pictureBoxMinimap.Size = new System.Drawing.Size(155, 100); pictureBoxMinimap.TabIndex = 10; @@ -1066,10 +1066,10 @@ private void InitializeComponent() // toolStripBtnHelp // toolStripBtnHelp.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right; - toolStripBtnHelp.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; - toolStripBtnHelp.Image = (System.Drawing.Image)resources.GetObject("toolStripBtnHelp.Image"); + toolStripBtnHelp.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text; toolStripBtnHelp.Name = "toolStripBtnHelp"; - toolStripBtnHelp.Size = new System.Drawing.Size(23, 22); + toolStripBtnHelp.Size = new System.Drawing.Size(36, 22); + toolStripBtnHelp.Text = "Help"; toolStripBtnHelp.ToolTipText = "Keyboard Shortcuts"; toolStripBtnHelp.Click += ToolStripBtnHelp_Click; // diff --git a/UoFiddler.Plugin.MultiEditor/UserControls/MultiEditorControl.cs b/UoFiddler.Plugin.MultiEditor/UserControls/MultiEditorControl.cs index 0c37556a..313bb098 100644 --- a/UoFiddler.Plugin.MultiEditor/UserControls/MultiEditorControl.cs +++ b/UoFiddler.Plugin.MultiEditor/UserControls/MultiEditorControl.cs @@ -11,6 +11,7 @@ using System; using System.Collections.Generic; +using System.ComponentModel; using System.Drawing; using System.IO; using System.Linq; @@ -116,6 +117,7 @@ public MultiEditorControl() /// /// Current Hovered Tile (set inside MultiComponentList) /// + [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)] public MultiTile HoverTile { get => _hoverTile; @@ -668,8 +670,35 @@ private void OnFilePathChangeEvent() /// /// Load of UserControl /// + private void ApplyDarkModeIfNeeded() + { + if (Options.DarkMode) + { + Color tabBg = Color.FromArgb(32, 32, 32); + TabPage[] tabPages = { tileTab, designTab, importTab, Save }; + foreach (var tp in tabPages) + { + tp.UseVisualStyleBackColor = false; + tp.BackColor = tabBg; + } + + pictureBoxDrawTiles.BackColor = Color.LightGray; + } + + ApplyPreviewBackgroundColor(); + ControlEvents.PreviewBackgroundColorChangeEvent += ApplyPreviewBackgroundColor; + } + + private void ApplyPreviewBackgroundColor() + { + pictureBoxMulti.BackColor = Options.PreviewBackgroundColor; + pictureBoxMulti.Invalidate(); + } + private void OnLoad(object sender, EventArgs e) { + ApplyDarkModeIfNeeded(); + Options.LoadedUltimaClass["TileData"] = true; Options.LoadedUltimaClass["Art"] = true; Options.LoadedUltimaClass["Multis"] = true; @@ -1275,7 +1304,7 @@ private void SetToolStripText(string text) /// private void PictureBoxMultiOnPaint(object sender, PaintEventArgs e) { - e.Graphics.Clear(Color.White); + e.Graphics.Clear(pictureBoxMulti.BackColor); if (_compList == null) { @@ -1981,7 +2010,7 @@ private void PictureBoxDrawTilesMouseLeave(object sender, EventArgs e) private void PictureBoxDrawTiles_OnPaint(object sender, PaintEventArgs e) { - e.Graphics.Clear(Color.White); + e.Graphics.Clear(pictureBoxDrawTiles.BackColor); for (int y = 0; y < _pictureBoxDrawTilesRow; ++y) { diff --git a/UoFiddler.Plugin.MultiEditor/UserControls/MultiEditorControl.resx b/UoFiddler.Plugin.MultiEditor/UserControls/MultiEditorControl.resx index 3cb50133..28b60d2b 100644 --- a/UoFiddler.Plugin.MultiEditor/UserControls/MultiEditorControl.resx +++ b/UoFiddler.Plugin.MultiEditor/UserControls/MultiEditorControl.resx @@ -131,7 +131,7 @@ AAEAAAD/////AQAAAAAAAAAMAgAAAEZTeXN0ZW0uV2luZG93cy5Gb3JtcywgQ3VsdHVyZT1uZXV0cmFs LCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5BQEAAAAmU3lzdGVtLldpbmRvd3MuRm9ybXMu SW1hZ2VMaXN0U3RyZWFtZXIBAAAABERhdGEHAgIAAAAJAwAAAA8DAAAARKoAAAJNU0Z0AUkBTAIBARIB - AAEkAQEBJAEBARIBAAESAQAE/wEhAQAI/wFCAU0BNgcAATYDAAEoAwABSAMAAVoDAAEBAQABIAUAAUAB + AAEsAQEBLAEBARIBAAESAQAE/wEhAQAI/wFCAU0BNgcAATYDAAEoAwABSAMAAVoDAAEBAQABIAUAAUAB ZRIAAcgB0AHUAf8ByAHQAdQB/wHIAdAB1AH/AcgB0AHUAf8ByAHQAdQB/wHIAdAB1AH/AcgB0AHUAf8B yAHQAdQB/wHIAdAB1AH/AcgB0AHUAf8ByAHQAdQB/wHIAdAB1AH/AckB0AHUAf8BywHTAdYB/wHLAdMB 1gH/AcoB0gHWAf8BxwHPAdQB/wHIAdAB1AH/ATkBOwE8Af8BOQE7ATwB/wE5ATsBPAH/ATkBOwE8Af8B @@ -860,24 +860,9 @@ BBYAA///AP8A/wD/AD0ACw== - - 261, 17 - 162, 17 - - - - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAJcEhZcwAACxIAAAsSAdLdfvwAAAEPSURBVDhPxZK7SgNBFEC3MNporOx8oHVKm6D5GlGxEvwU - EWJl56NOEYKNH2CRH9BEUL9ABK2Sc2YybLK7io3kwGHuLDuz97HZf9DCO3zHb3zDW9zDX1nANj7jIa5j - bbIe4QAv0Pcq8XAXl8OujM976CUlTPsJ0+FFvMJP7GMDZQWHWCrHmk07cYodXMUDfMTEMd7EMMeGWWti - F7djmK3hRwwDm2hjZ7Dbpl1kBx/wMuwiS/gVwxwz2IjhDC94htOd38LXGOY4Z0f1F07wOoY5++j87fI0 - o8maqKNZNcOugPN1zsVLEh6+x/Owq8A6vcQ5Oyp7YmPtumn7ZQ//+Ccm/Emcs41yOq7WXJn2vMmyMZYp - L1AlAbCnAAAAAElFTkSuQmCC - - 52 diff --git a/UoFiddler.Plugin.SendItem/UoFiddler.Plugin.SendItem.csproj b/UoFiddler.Plugin.SendItem/UoFiddler.Plugin.SendItem.csproj index e26e6995..85007baf 100644 --- a/UoFiddler.Plugin.SendItem/UoFiddler.Plugin.SendItem.csproj +++ b/UoFiddler.Plugin.SendItem/UoFiddler.Plugin.SendItem.csproj @@ -1,7 +1,7 @@  SendItem - net8.0-windows + net10.0-windows true false SendItem diff --git a/UoFiddler.Plugin.UopPacker/UoFiddler.Plugin.UopPacker.csproj b/UoFiddler.Plugin.UopPacker/UoFiddler.Plugin.UopPacker.csproj index 3f9d0b60..ed1dca43 100644 --- a/UoFiddler.Plugin.UopPacker/UoFiddler.Plugin.UopPacker.csproj +++ b/UoFiddler.Plugin.UopPacker/UoFiddler.Plugin.UopPacker.csproj @@ -1,7 +1,7 @@  UOPPacker - net8.0-windows + net10.0-windows true false UOP Packer diff --git a/UoFiddler.Plugin.UopPacker/UserControls/UopPackerControl.cs b/UoFiddler.Plugin.UopPacker/UserControls/UopPackerControl.cs index 4dd39000..25d8a928 100644 --- a/UoFiddler.Plugin.UopPacker/UserControls/UopPackerControl.cs +++ b/UoFiddler.Plugin.UopPacker/UserControls/UopPackerControl.cs @@ -10,6 +10,7 @@ ***************************************************************************/ using System; +using System.Drawing; using System.IO; using System.Windows.Forms; using Microsoft.Extensions.Logging; @@ -54,9 +55,45 @@ private UopPackerControl() RefreshMulTypeUi(); RefreshUopTypeUi(); + ApplyDarkModeIfNeeded(); + Dock = DockStyle.Fill; } + private void ApplyDarkModeIfNeeded() + { + if (!Options.DarkMode) + { + return; + } + + Color tabBg = Color.FromArgb(32, 32, 32); + ExtractAllFilesTabPage.UseVisualStyleBackColor = false; + ExtractAllFilesTabPage.BackColor = tabBg; + ExtractSingleFileTabPage.UseVisualStyleBackColor = false; + ExtractSingleFileTabPage.BackColor = tabBg; + + // Reset hardcoded white BackColors so dark mode visual styles apply. + TextBox[] whiteTextBoxes = + { + inmul, inidx, inhousingbin, outuopfolder, inuop, outfolder, inputfolder + }; + foreach (var tb in whiteTextBoxes) + { + tb.BackColor = SystemColors.Window; + } + + multype.BackColor = SystemColors.Window; + uoptype.BackColor = SystemColors.Window; + mulMapIndex.BackColor = SystemColors.Window; + uopMapIndex.BackColor = SystemColors.Window; + packAllGumpCompressionBox.BackColor = SystemColors.Window; + packAllHousingBin.BackColor = SystemColors.Window; + compressionBox.BackColor = SystemColors.Window; + + statustext.ForeColor = Color.OrangeRed; + } + private void OnPackAllModeChanged(object sender, EventArgs e) => UpdatePackAllCompressionVisibility(); private void UpdatePackAllCompressionVisibility() diff --git a/UoFiddler/Classes/AppSettings.cs b/UoFiddler/Classes/AppSettings.cs new file mode 100644 index 00000000..22dc4681 --- /dev/null +++ b/UoFiddler/Classes/AppSettings.cs @@ -0,0 +1,65 @@ +/*************************************************************************** + * + * $Author: Turley + * + * "THE BEER-WARE LICENSE" + * As long as you retain this notice you can do whatever you want with + * this stuff. If we meet some day, and you think this stuff is worth it, + * you can buy me a beer in return. + * + ***************************************************************************/ + +using System.IO; +using System.Xml; +using UoFiddler.Controls.Classes; + +namespace UoFiddler.Classes +{ + /// + /// Profile-agnostic application settings stored separately from profiles. + /// + public static class AppSettings + { + private static string FilePath => Path.Combine(Options.AppDataPath, "app_settings.xml"); + + public static bool DarkMode { get; set; } = false; + + public static void Load() + { + if (!File.Exists(FilePath)) + { + return; + } + + XmlDocument dom = new XmlDocument(); + dom.Load(FilePath); + XmlElement root = dom["AppSettings"]; + + XmlElement elem = (XmlElement)root?.SelectSingleNode("DarkMode"); + if (elem != null) + { + DarkMode = bool.Parse(elem.GetAttribute("active")); + } + } + + public static void Save() + { + if (!Directory.Exists(Options.AppDataPath)) + { + Directory.CreateDirectory(Options.AppDataPath); + } + + XmlDocument dom = new XmlDocument(); + XmlDeclaration decl = dom.CreateXmlDeclaration("1.0", "utf-8", null); + dom.AppendChild(decl); + XmlElement root = dom.CreateElement("AppSettings"); + + XmlElement elem = dom.CreateElement("DarkMode"); + elem.SetAttribute("active", DarkMode.ToString()); + root.AppendChild(elem); + + dom.AppendChild(root); + dom.Save(FilePath); + } + } +} diff --git a/UoFiddler/FiddlerAppContext.cs b/UoFiddler/FiddlerAppContext.cs index adb6ca3b..02f98012 100644 --- a/UoFiddler/FiddlerAppContext.cs +++ b/UoFiddler/FiddlerAppContext.cs @@ -32,6 +32,12 @@ internal FiddlerAppContext(IServiceProvider services) Application.SetHighDpiMode(HighDpiMode.SystemAware); Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); + AppSettings.Load(); + Options.DarkMode = AppSettings.DarkMode; + if (AppSettings.DarkMode) + { + Application.SetColorMode(SystemColorMode.Dark); + } Application.ApplicationExit += OnApplicationExit; FiddlerOptions.Startup(); @@ -45,6 +51,25 @@ internal FiddlerAppContext(IServiceProvider services) return; } + if (AppSettings.DarkMode) + { + if (Options.TileFocusColor.ToArgb() == System.Drawing.Color.DarkRed.ToArgb()) + Options.TileFocusColor = System.Drawing.Color.Red; + if (Options.TileSelectionColor.ToArgb() == System.Drawing.Color.DodgerBlue.ToArgb()) + Options.TileSelectionColor = System.Drawing.Color.MediumTurquoise; + if (Options.PreviewBackgroundColor.ToArgb() == System.Drawing.Color.White.ToArgb()) + Options.PreviewBackgroundColor = System.Drawing.Color.FromArgb(32, 32, 32); + } + else + { + if (Options.TileFocusColor.ToArgb() == System.Drawing.Color.Red.ToArgb()) + Options.TileFocusColor = System.Drawing.Color.DarkRed; + if (Options.TileSelectionColor.ToArgb() == System.Drawing.Color.MediumTurquoise.ToArgb()) + Options.TileSelectionColor = System.Drawing.Color.DodgerBlue; + if (Options.PreviewBackgroundColor.ToArgb() == System.Drawing.Color.FromArgb(32, 32, 32).ToArgb()) + Options.PreviewBackgroundColor = System.Drawing.Color.White; + } + if (FiddlerOptions.UpdateCheckOnStart) { _logger.LogInformation("Update check. Current version is {Version}", FiddlerOptions.AppVersion); diff --git a/UoFiddler/Forms/AboutBoxForm.cs b/UoFiddler/Forms/AboutBoxForm.cs index 083976c4..43545cbd 100644 --- a/UoFiddler/Forms/AboutBoxForm.cs +++ b/UoFiddler/Forms/AboutBoxForm.cs @@ -42,7 +42,7 @@ private void OnClickLink(object sender, LinkLabelLinkClickedEventArgs e) { Process.Start(new ProcessStartInfo { - FileName = "http://uofiddler.polserver.com/", + FileName = "https://uofiddler.polserver.com/", UseShellExecute = true }); } diff --git a/UoFiddler/Forms/AboutBoxForm.resx b/UoFiddler/Forms/AboutBoxForm.resx index 38fdc8f5..9147be7a 100644 --- a/UoFiddler/Forms/AboutBoxForm.resx +++ b/UoFiddler/Forms/AboutBoxForm.resx @@ -118,7 +118,11 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - Version 4.19.4 + Version 4.20.0 +- Migrate to .NET 10.0 +- Add dark mode (experimental). + +Version 4.19.4 - Fix dynamic flag when importing from WSC - value was flipped after recent changes. Version 4.19.3 diff --git a/UoFiddler/Forms/MainForm.Designer.cs b/UoFiddler/Forms/MainForm.Designer.cs index c25d28dd..39dfee6b 100644 --- a/UoFiddler/Forms/MainForm.Designer.cs +++ b/UoFiddler/Forms/MainForm.Designer.cs @@ -41,1088 +41,1068 @@ protected override void Dispose(bool disposing) /// private void InitializeComponent() { - this.components = new System.ComponentModel.Container(); - this.TabPanel = new System.Windows.Forms.TabControl(); - this.contextMenuStripMainForm = new System.Windows.Forms.ContextMenuStrip(this.components); - this.unDockToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.StartTab = new System.Windows.Forms.TabPage(); - this.Versionlabel = new System.Windows.Forms.Label(); - this.MultisTab = new System.Windows.Forms.TabPage(); - this.multisControl = new UoFiddler.Controls.UserControls.MultisControl(); - this.AnimationTab = new System.Windows.Forms.TabPage(); - this.animationsControl = new UoFiddler.Controls.UserControls.AnimationListControl(); - this.ItemsTab = new System.Windows.Forms.TabPage(); - this.itemShowControl = new UoFiddler.Controls.UserControls.ItemsControl(); - this.LandTilesTab = new System.Windows.Forms.TabPage(); - this.landTilesControl = new UoFiddler.Controls.UserControls.LandTilesControl(); - this.TextureTab = new System.Windows.Forms.TabPage(); - this.textureControl = new UoFiddler.Controls.UserControls.TexturesControl(); - this.GumpsTab = new System.Windows.Forms.TabPage(); - this.gumpsControl = new UoFiddler.Controls.UserControls.GumpControl(); - this.SoundsTab = new System.Windows.Forms.TabPage(); - this.soundControl = new UoFiddler.Controls.UserControls.SoundsControl(); - this.HuesTab = new System.Windows.Forms.TabPage(); - this.hueControl = new UoFiddler.Controls.UserControls.HuesControl(); - this.FontsTab = new System.Windows.Forms.TabPage(); - this.fontsControl = new UoFiddler.Controls.UserControls.FontsControl(); - this.ClilocTab = new System.Windows.Forms.TabPage(); - this.clilocControl = new UoFiddler.Controls.UserControls.ClilocControl(); - this.MapTab = new System.Windows.Forms.TabPage(); - this.mapControl = new UoFiddler.Controls.UserControls.MapControl(); - this.LightTab = new System.Windows.Forms.TabPage(); - this.lightControl = new UoFiddler.Controls.UserControls.LightControl(); - this.SpeechTab = new System.Windows.Forms.TabPage(); - this.speechControl = new UoFiddler.Controls.UserControls.SpeechControl(); - this.SkillsTab = new System.Windows.Forms.TabPage(); - this.skillsControl = new UoFiddler.Controls.UserControls.SkillsControl(); - this.AnimDataTab = new System.Windows.Forms.TabPage(); - this.animdataControl = new UoFiddler.Controls.UserControls.AnimDataControl(); - this.MultiMapTab = new System.Windows.Forms.TabPage(); - this.multimapControl = new UoFiddler.Controls.UserControls.MultiMapControl(); - this.DressTab = new System.Windows.Forms.TabPage(); - this.dressControl = new UoFiddler.Controls.UserControls.DressControl(); - this.TileDataTab = new System.Windows.Forms.TabPage(); - this.tileDataControl = new UoFiddler.Controls.UserControls.TileDataControl(); - this.RadarColTab = new System.Windows.Forms.TabPage(); - this.radarColControl = new UoFiddler.Controls.UserControls.RadarColorControl(); - this.SkillGrpTab = new System.Windows.Forms.TabPage(); - this.skillGroupControl = new UoFiddler.Controls.UserControls.SkillGroupControl(); - this.VerdataTab = new System.Windows.Forms.TabPage(); - this.verdataControl = new UoFiddler.Controls.UserControls.VerdataControl(); - this.toolTip = new System.Windows.Forms.ToolTip(this.components); - this.tsMainMenu = new System.Windows.Forms.ToolStrip(); - this.SettingsMenu = new System.Windows.Forms.ToolStripDropDownButton(); - this.AlwaysOnTopMenuitem = new System.Windows.Forms.ToolStripMenuItem(); - this.optionsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.pathSettingsMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.tsSettingsSeparator = new System.Windows.Forms.ToolStripSeparator(); - this.reloadFilesMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.toolStripDropDownButtonView = new System.Windows.Forms.ToolStripDropDownButton(); - this.ToggleViewStart = new System.Windows.Forms.ToolStripMenuItem(); - this.ToggleViewMulti = new System.Windows.Forms.ToolStripMenuItem(); - this.ToggleViewAnimations = new System.Windows.Forms.ToolStripMenuItem(); - this.ToggleViewItems = new System.Windows.Forms.ToolStripMenuItem(); - this.ToggleViewLandTiles = new System.Windows.Forms.ToolStripMenuItem(); - this.ToggleViewTexture = new System.Windows.Forms.ToolStripMenuItem(); - this.ToggleViewGumps = new System.Windows.Forms.ToolStripMenuItem(); - this.ToggleViewSounds = new System.Windows.Forms.ToolStripMenuItem(); - this.ToggleViewHue = new System.Windows.Forms.ToolStripMenuItem(); - this.ToggleViewFonts = new System.Windows.Forms.ToolStripMenuItem(); - this.ToggleViewCliloc = new System.Windows.Forms.ToolStripMenuItem(); - this.ToggleViewMap = new System.Windows.Forms.ToolStripMenuItem(); - this.ToggleViewLight = new System.Windows.Forms.ToolStripMenuItem(); - this.ToggleViewSpeech = new System.Windows.Forms.ToolStripMenuItem(); - this.ToggleViewSkills = new System.Windows.Forms.ToolStripMenuItem(); - this.ToggleViewAnimData = new System.Windows.Forms.ToolStripMenuItem(); - this.ToggleViewMultiMap = new System.Windows.Forms.ToolStripMenuItem(); - this.ToggleViewDress = new System.Windows.Forms.ToolStripMenuItem(); - this.ToggleViewTileData = new System.Windows.Forms.ToolStripMenuItem(); - this.ToggleViewRadarColor = new System.Windows.Forms.ToolStripMenuItem(); - this.ToggleViewSkillGrp = new System.Windows.Forms.ToolStripMenuItem(); - this.ToggleViewVerdata = new System.Windows.Forms.ToolStripMenuItem(); - this.ExternToolsDropDown = new System.Windows.Forms.ToolStripDropDownButton(); - this.manageToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.toolStripDropDownButtonPlugins = new System.Windows.Forms.ToolStripDropDownButton(); - this.manageToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); - this.tsPluginsSeparator = new System.Windows.Forms.ToolStripSeparator(); - this.toolStripDropDownButtonHelp = new System.Windows.Forms.ToolStripDropDownButton(); - this.toolStripMenuItemHelp = new System.Windows.Forms.ToolStripMenuItem(); - this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator(); - this.toolStripMenuItemAbout = new System.Windows.Forms.ToolStripMenuItem(); - this.TabPanel.SuspendLayout(); - this.contextMenuStripMainForm.SuspendLayout(); - this.StartTab.SuspendLayout(); - this.MultisTab.SuspendLayout(); - this.AnimationTab.SuspendLayout(); - this.ItemsTab.SuspendLayout(); - this.LandTilesTab.SuspendLayout(); - this.TextureTab.SuspendLayout(); - this.GumpsTab.SuspendLayout(); - this.SoundsTab.SuspendLayout(); - this.HuesTab.SuspendLayout(); - this.FontsTab.SuspendLayout(); - this.ClilocTab.SuspendLayout(); - this.MapTab.SuspendLayout(); - this.LightTab.SuspendLayout(); - this.SpeechTab.SuspendLayout(); - this.SkillsTab.SuspendLayout(); - this.AnimDataTab.SuspendLayout(); - this.MultiMapTab.SuspendLayout(); - this.DressTab.SuspendLayout(); - this.TileDataTab.SuspendLayout(); - this.RadarColTab.SuspendLayout(); - this.SkillGrpTab.SuspendLayout(); - this.VerdataTab.SuspendLayout(); - this.tsMainMenu.SuspendLayout(); - this.SuspendLayout(); + components = new System.ComponentModel.Container(); + TabPanel = new System.Windows.Forms.TabControl(); + contextMenuStripMainForm = new System.Windows.Forms.ContextMenuStrip(components); + unDockToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + StartTab = new System.Windows.Forms.TabPage(); + Versionlabel = new System.Windows.Forms.Label(); + MultisTab = new System.Windows.Forms.TabPage(); + multisControl = new MultisControl(); + AnimationTab = new System.Windows.Forms.TabPage(); + animationsControl = new AnimationListControl(); + ItemsTab = new System.Windows.Forms.TabPage(); + itemShowControl = new ItemsControl(); + LandTilesTab = new System.Windows.Forms.TabPage(); + landTilesControl = new LandTilesControl(); + TextureTab = new System.Windows.Forms.TabPage(); + textureControl = new TexturesControl(); + GumpsTab = new System.Windows.Forms.TabPage(); + gumpsControl = new GumpControl(); + SoundsTab = new System.Windows.Forms.TabPage(); + soundControl = new SoundsControl(); + HuesTab = new System.Windows.Forms.TabPage(); + hueControl = new HuesControl(); + FontsTab = new System.Windows.Forms.TabPage(); + fontsControl = new FontsControl(); + ClilocTab = new System.Windows.Forms.TabPage(); + clilocControl = new ClilocControl(); + MapTab = new System.Windows.Forms.TabPage(); + mapControl = new MapControl(); + LightTab = new System.Windows.Forms.TabPage(); + lightControl = new LightControl(); + SpeechTab = new System.Windows.Forms.TabPage(); + speechControl = new SpeechControl(); + SkillsTab = new System.Windows.Forms.TabPage(); + skillsControl = new SkillsControl(); + AnimDataTab = new System.Windows.Forms.TabPage(); + animdataControl = new AnimDataControl(); + MultiMapTab = new System.Windows.Forms.TabPage(); + multimapControl = new MultiMapControl(); + DressTab = new System.Windows.Forms.TabPage(); + dressControl = new DressControl(); + TileDataTab = new System.Windows.Forms.TabPage(); + tileDataControl = new TileDataControl(); + RadarColTab = new System.Windows.Forms.TabPage(); + radarColControl = new RadarColorControl(); + SkillGrpTab = new System.Windows.Forms.TabPage(); + skillGroupControl = new SkillGroupControl(); + VerdataTab = new System.Windows.Forms.TabPage(); + verdataControl = new VerdataControl(); + toolTip = new System.Windows.Forms.ToolTip(components); + tsMainMenu = new System.Windows.Forms.ToolStrip(); + SettingsMenu = new System.Windows.Forms.ToolStripDropDownButton(); + AlwaysOnTopMenuitem = new System.Windows.Forms.ToolStripMenuItem(); + darkModeMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + optionsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + pathSettingsMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + tsSettingsSeparator = new System.Windows.Forms.ToolStripSeparator(); + reloadFilesMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + toolStripDropDownButtonView = new System.Windows.Forms.ToolStripDropDownButton(); + ToggleViewStart = new System.Windows.Forms.ToolStripMenuItem(); + ToggleViewMulti = new System.Windows.Forms.ToolStripMenuItem(); + ToggleViewAnimations = new System.Windows.Forms.ToolStripMenuItem(); + ToggleViewItems = new System.Windows.Forms.ToolStripMenuItem(); + ToggleViewLandTiles = new System.Windows.Forms.ToolStripMenuItem(); + ToggleViewTexture = new System.Windows.Forms.ToolStripMenuItem(); + ToggleViewGumps = new System.Windows.Forms.ToolStripMenuItem(); + ToggleViewSounds = new System.Windows.Forms.ToolStripMenuItem(); + ToggleViewHue = new System.Windows.Forms.ToolStripMenuItem(); + ToggleViewFonts = new System.Windows.Forms.ToolStripMenuItem(); + ToggleViewCliloc = new System.Windows.Forms.ToolStripMenuItem(); + ToggleViewMap = new System.Windows.Forms.ToolStripMenuItem(); + ToggleViewLight = new System.Windows.Forms.ToolStripMenuItem(); + ToggleViewSpeech = new System.Windows.Forms.ToolStripMenuItem(); + ToggleViewSkills = new System.Windows.Forms.ToolStripMenuItem(); + ToggleViewAnimData = new System.Windows.Forms.ToolStripMenuItem(); + ToggleViewMultiMap = new System.Windows.Forms.ToolStripMenuItem(); + ToggleViewDress = new System.Windows.Forms.ToolStripMenuItem(); + ToggleViewTileData = new System.Windows.Forms.ToolStripMenuItem(); + ToggleViewRadarColor = new System.Windows.Forms.ToolStripMenuItem(); + ToggleViewSkillGrp = new System.Windows.Forms.ToolStripMenuItem(); + ToggleViewVerdata = new System.Windows.Forms.ToolStripMenuItem(); + ExternToolsDropDown = new System.Windows.Forms.ToolStripDropDownButton(); + manageToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + toolStripDropDownButtonPlugins = new System.Windows.Forms.ToolStripDropDownButton(); + manageToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); + tsPluginsSeparator = new System.Windows.Forms.ToolStripSeparator(); + toolStripDropDownButtonHelp = new System.Windows.Forms.ToolStripDropDownButton(); + toolStripMenuItemHelp = new System.Windows.Forms.ToolStripMenuItem(); + toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator(); + toolStripMenuItemAbout = new System.Windows.Forms.ToolStripMenuItem(); + toolStripSeparator2 = new System.Windows.Forms.ToolStripSeparator(); + toolStripSeparator3 = new System.Windows.Forms.ToolStripSeparator(); + TabPanel.SuspendLayout(); + contextMenuStripMainForm.SuspendLayout(); + StartTab.SuspendLayout(); + MultisTab.SuspendLayout(); + AnimationTab.SuspendLayout(); + ItemsTab.SuspendLayout(); + LandTilesTab.SuspendLayout(); + TextureTab.SuspendLayout(); + GumpsTab.SuspendLayout(); + SoundsTab.SuspendLayout(); + HuesTab.SuspendLayout(); + FontsTab.SuspendLayout(); + ClilocTab.SuspendLayout(); + MapTab.SuspendLayout(); + LightTab.SuspendLayout(); + SpeechTab.SuspendLayout(); + SkillsTab.SuspendLayout(); + AnimDataTab.SuspendLayout(); + MultiMapTab.SuspendLayout(); + DressTab.SuspendLayout(); + TileDataTab.SuspendLayout(); + RadarColTab.SuspendLayout(); + SkillGrpTab.SuspendLayout(); + VerdataTab.SuspendLayout(); + tsMainMenu.SuspendLayout(); + SuspendLayout(); // // TabPanel // - this.TabPanel.ContextMenuStrip = this.contextMenuStripMainForm; - this.TabPanel.Controls.Add(this.StartTab); - this.TabPanel.Controls.Add(this.MultisTab); - this.TabPanel.Controls.Add(this.AnimationTab); - this.TabPanel.Controls.Add(this.ItemsTab); - this.TabPanel.Controls.Add(this.LandTilesTab); - this.TabPanel.Controls.Add(this.TextureTab); - this.TabPanel.Controls.Add(this.GumpsTab); - this.TabPanel.Controls.Add(this.SoundsTab); - this.TabPanel.Controls.Add(this.HuesTab); - this.TabPanel.Controls.Add(this.FontsTab); - this.TabPanel.Controls.Add(this.ClilocTab); - this.TabPanel.Controls.Add(this.MapTab); - this.TabPanel.Controls.Add(this.LightTab); - this.TabPanel.Controls.Add(this.SpeechTab); - this.TabPanel.Controls.Add(this.SkillsTab); - this.TabPanel.Controls.Add(this.AnimDataTab); - this.TabPanel.Controls.Add(this.MultiMapTab); - this.TabPanel.Controls.Add(this.DressTab); - this.TabPanel.Controls.Add(this.TileDataTab); - this.TabPanel.Controls.Add(this.RadarColTab); - this.TabPanel.Controls.Add(this.SkillGrpTab); - this.TabPanel.Controls.Add(this.VerdataTab); - this.TabPanel.Dock = System.Windows.Forms.DockStyle.Fill; - this.TabPanel.Location = new System.Drawing.Point(0, 25); - this.TabPanel.Margin = new System.Windows.Forms.Padding(0); - this.TabPanel.Name = "TabPanel"; - this.TabPanel.SelectedIndex = 0; - this.TabPanel.Size = new System.Drawing.Size(914, 626); - this.TabPanel.TabIndex = 1; - this.TabPanel.Tag = "20"; + TabPanel.ContextMenuStrip = contextMenuStripMainForm; + TabPanel.Controls.Add(StartTab); + TabPanel.Controls.Add(MultisTab); + TabPanel.Controls.Add(AnimationTab); + TabPanel.Controls.Add(ItemsTab); + TabPanel.Controls.Add(LandTilesTab); + TabPanel.Controls.Add(TextureTab); + TabPanel.Controls.Add(GumpsTab); + TabPanel.Controls.Add(SoundsTab); + TabPanel.Controls.Add(HuesTab); + TabPanel.Controls.Add(FontsTab); + TabPanel.Controls.Add(ClilocTab); + TabPanel.Controls.Add(MapTab); + TabPanel.Controls.Add(LightTab); + TabPanel.Controls.Add(SpeechTab); + TabPanel.Controls.Add(SkillsTab); + TabPanel.Controls.Add(AnimDataTab); + TabPanel.Controls.Add(MultiMapTab); + TabPanel.Controls.Add(DressTab); + TabPanel.Controls.Add(TileDataTab); + TabPanel.Controls.Add(RadarColTab); + TabPanel.Controls.Add(SkillGrpTab); + TabPanel.Controls.Add(VerdataTab); + TabPanel.Dock = System.Windows.Forms.DockStyle.Fill; + TabPanel.Location = new System.Drawing.Point(0, 25); + TabPanel.Margin = new System.Windows.Forms.Padding(0); + TabPanel.Name = "TabPanel"; + TabPanel.SelectedIndex = 0; + TabPanel.Size = new System.Drawing.Size(914, 626); + TabPanel.TabIndex = 1; + TabPanel.Tag = "20"; // // contextMenuStripMainForm // - this.contextMenuStripMainForm.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.unDockToolStripMenuItem}); - this.contextMenuStripMainForm.Name = "contextMenuStrip1"; - this.contextMenuStripMainForm.Size = new System.Drawing.Size(117, 26); + contextMenuStripMainForm.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { unDockToolStripMenuItem }); + contextMenuStripMainForm.Name = "contextMenuStrip1"; + contextMenuStripMainForm.Size = new System.Drawing.Size(117, 26); // // unDockToolStripMenuItem // - this.unDockToolStripMenuItem.Name = "unDockToolStripMenuItem"; - this.unDockToolStripMenuItem.Size = new System.Drawing.Size(116, 22); - this.unDockToolStripMenuItem.Text = "UnDock"; - this.unDockToolStripMenuItem.Click += new System.EventHandler(this.OnClickUnDock); + unDockToolStripMenuItem.Name = "unDockToolStripMenuItem"; + unDockToolStripMenuItem.Size = new System.Drawing.Size(116, 22); + unDockToolStripMenuItem.Text = "UnDock"; + unDockToolStripMenuItem.Click += OnClickUnDock; // // StartTab // - this.StartTab.BackColor = System.Drawing.Color.White; - this.StartTab.BackgroundImage = global::UoFiddler.Properties.Resources.UOFiddler; - this.StartTab.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Center; - this.StartTab.Controls.Add(this.Versionlabel); - this.StartTab.Location = new System.Drawing.Point(4, 24); - this.StartTab.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); - this.StartTab.Name = "StartTab"; - this.StartTab.Padding = new System.Windows.Forms.Padding(4, 3, 4, 3); - this.StartTab.Size = new System.Drawing.Size(906, 598); - this.StartTab.TabIndex = 10; - this.StartTab.Tag = 0; - this.StartTab.Text = "Start"; + StartTab.BackColor = System.Drawing.Color.White; + StartTab.BackgroundImage = Properties.Resources.UOFiddler; + StartTab.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Center; + StartTab.Controls.Add(Versionlabel); + StartTab.Location = new System.Drawing.Point(4, 24); + StartTab.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); + StartTab.Name = "StartTab"; + StartTab.Padding = new System.Windows.Forms.Padding(4, 3, 4, 3); + StartTab.Size = new System.Drawing.Size(906, 598); + StartTab.TabIndex = 10; + StartTab.Tag = 0; + StartTab.Text = "Start"; // // Versionlabel // - this.Versionlabel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); - this.Versionlabel.AutoSize = true; - this.Versionlabel.Location = new System.Drawing.Point(846, 576); - this.Versionlabel.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); - this.Versionlabel.Name = "Versionlabel"; - this.Versionlabel.RightToLeft = System.Windows.Forms.RightToLeft.Yes; - this.Versionlabel.Size = new System.Drawing.Size(45, 15); - this.Versionlabel.TabIndex = 1; - this.Versionlabel.Text = "Version"; - this.Versionlabel.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + Versionlabel.Anchor = System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right; + Versionlabel.AutoSize = true; + Versionlabel.Location = new System.Drawing.Point(846, 576); + Versionlabel.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + Versionlabel.Name = "Versionlabel"; + Versionlabel.RightToLeft = System.Windows.Forms.RightToLeft.Yes; + Versionlabel.Size = new System.Drawing.Size(45, 15); + Versionlabel.TabIndex = 1; + Versionlabel.Text = "Version"; + Versionlabel.TextAlign = System.Drawing.ContentAlignment.MiddleRight; // // MultisTab // - this.MultisTab.Controls.Add(this.multisControl); - this.MultisTab.Location = new System.Drawing.Point(4, 24); - this.MultisTab.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); - this.MultisTab.Name = "MultisTab"; - this.MultisTab.Padding = new System.Windows.Forms.Padding(4, 3, 4, 3); - this.MultisTab.Size = new System.Drawing.Size(907, 590); - this.MultisTab.TabIndex = 1; - this.MultisTab.Tag = 1; - this.MultisTab.Text = "Multis"; - this.MultisTab.UseVisualStyleBackColor = true; + MultisTab.Controls.Add(multisControl); + MultisTab.Location = new System.Drawing.Point(4, 24); + MultisTab.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); + MultisTab.Name = "MultisTab"; + MultisTab.Padding = new System.Windows.Forms.Padding(4, 3, 4, 3); + MultisTab.Size = new System.Drawing.Size(906, 598); + MultisTab.TabIndex = 1; + MultisTab.Tag = 1; + MultisTab.Text = "Multis"; + MultisTab.UseVisualStyleBackColor = true; // // multisControl // - this.multisControl.Dock = System.Windows.Forms.DockStyle.Fill; - this.multisControl.Location = new System.Drawing.Point(4, 3); - this.multisControl.Margin = new System.Windows.Forms.Padding(5, 3, 5, 3); - this.multisControl.Name = "multisControl"; - this.multisControl.Size = new System.Drawing.Size(899, 584); - this.multisControl.TabIndex = 0; + multisControl.Dock = System.Windows.Forms.DockStyle.Fill; + multisControl.Location = new System.Drawing.Point(4, 3); + multisControl.Margin = new System.Windows.Forms.Padding(5, 3, 5, 3); + multisControl.Name = "multisControl"; + multisControl.Size = new System.Drawing.Size(898, 592); + multisControl.TabIndex = 0; // // AnimationTab // - this.AnimationTab.Controls.Add(this.animationsControl); - this.AnimationTab.Location = new System.Drawing.Point(4, 24); - this.AnimationTab.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); - this.AnimationTab.Name = "AnimationTab"; - this.AnimationTab.Padding = new System.Windows.Forms.Padding(4, 3, 4, 3); - this.AnimationTab.Size = new System.Drawing.Size(907, 590); - this.AnimationTab.TabIndex = 0; - this.AnimationTab.Tag = 2; - this.AnimationTab.Text = "Animations"; - this.AnimationTab.UseVisualStyleBackColor = true; + AnimationTab.Controls.Add(animationsControl); + AnimationTab.Location = new System.Drawing.Point(4, 24); + AnimationTab.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); + AnimationTab.Name = "AnimationTab"; + AnimationTab.Padding = new System.Windows.Forms.Padding(4, 3, 4, 3); + AnimationTab.Size = new System.Drawing.Size(906, 598); + AnimationTab.TabIndex = 0; + AnimationTab.Tag = 2; + AnimationTab.Text = "Animations"; + AnimationTab.UseVisualStyleBackColor = true; // // animationsControl // - this.animationsControl.Dock = System.Windows.Forms.DockStyle.Fill; - this.animationsControl.Location = new System.Drawing.Point(4, 3); - this.animationsControl.Margin = new System.Windows.Forms.Padding(5, 3, 5, 3); - this.animationsControl.Name = "animationsControl"; - this.animationsControl.Size = new System.Drawing.Size(899, 584); - this.animationsControl.TabIndex = 0; + animationsControl.Dock = System.Windows.Forms.DockStyle.Fill; + animationsControl.Location = new System.Drawing.Point(4, 3); + animationsControl.Margin = new System.Windows.Forms.Padding(5, 3, 5, 3); + animationsControl.Name = "animationsControl"; + animationsControl.Size = new System.Drawing.Size(898, 592); + animationsControl.TabIndex = 0; // // ItemsTab // - this.ItemsTab.Controls.Add(this.itemShowControl); - this.ItemsTab.Location = new System.Drawing.Point(4, 24); - this.ItemsTab.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); - this.ItemsTab.Name = "ItemsTab"; - this.ItemsTab.Padding = new System.Windows.Forms.Padding(4, 3, 4, 3); - this.ItemsTab.Size = new System.Drawing.Size(907, 590); - this.ItemsTab.TabIndex = 2; - this.ItemsTab.Tag = 3; - this.ItemsTab.Text = "Items"; - this.ItemsTab.UseVisualStyleBackColor = true; + ItemsTab.Controls.Add(itemShowControl); + ItemsTab.Location = new System.Drawing.Point(4, 24); + ItemsTab.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); + ItemsTab.Name = "ItemsTab"; + ItemsTab.Padding = new System.Windows.Forms.Padding(4, 3, 4, 3); + ItemsTab.Size = new System.Drawing.Size(906, 598); + ItemsTab.TabIndex = 2; + ItemsTab.Tag = 3; + ItemsTab.Text = "Items"; + ItemsTab.UseVisualStyleBackColor = true; // // itemShowControl // - this.itemShowControl.Dock = System.Windows.Forms.DockStyle.Fill; - this.itemShowControl.Location = new System.Drawing.Point(4, 3); - this.itemShowControl.Margin = new System.Windows.Forms.Padding(5, 3, 5, 3); - this.itemShowControl.Name = "itemShowControl"; - this.itemShowControl.SelectedGraphicId = 0; - this.itemShowControl.Size = new System.Drawing.Size(899, 584); - this.itemShowControl.TabIndex = 0; + itemShowControl.Dock = System.Windows.Forms.DockStyle.Fill; + itemShowControl.Location = new System.Drawing.Point(4, 3); + itemShowControl.Margin = new System.Windows.Forms.Padding(5, 3, 5, 3); + itemShowControl.Name = "itemShowControl"; + itemShowControl.Size = new System.Drawing.Size(898, 592); + itemShowControl.TabIndex = 0; // // LandTilesTab // - this.LandTilesTab.Controls.Add(this.landTilesControl); - this.LandTilesTab.Location = new System.Drawing.Point(4, 24); - this.LandTilesTab.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); - this.LandTilesTab.Name = "LandTilesTab"; - this.LandTilesTab.Padding = new System.Windows.Forms.Padding(4, 3, 4, 3); - this.LandTilesTab.Size = new System.Drawing.Size(907, 590); - this.LandTilesTab.TabIndex = 3; - this.LandTilesTab.Tag = 4; - this.LandTilesTab.Text = "Land Tiles"; - this.LandTilesTab.UseVisualStyleBackColor = true; + LandTilesTab.Controls.Add(landTilesControl); + LandTilesTab.Location = new System.Drawing.Point(4, 24); + LandTilesTab.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); + LandTilesTab.Name = "LandTilesTab"; + LandTilesTab.Padding = new System.Windows.Forms.Padding(4, 3, 4, 3); + LandTilesTab.Size = new System.Drawing.Size(906, 598); + LandTilesTab.TabIndex = 3; + LandTilesTab.Tag = 4; + LandTilesTab.Text = "Land Tiles"; + LandTilesTab.UseVisualStyleBackColor = true; // // landTilesControl // - this.landTilesControl.Dock = System.Windows.Forms.DockStyle.Fill; - this.landTilesControl.Location = new System.Drawing.Point(4, 3); - this.landTilesControl.Margin = new System.Windows.Forms.Padding(5, 3, 5, 3); - this.landTilesControl.Name = "landTilesControl"; - this.landTilesControl.SelectedGraphicId = 0; - this.landTilesControl.Size = new System.Drawing.Size(899, 584); - this.landTilesControl.TabIndex = 0; + landTilesControl.Dock = System.Windows.Forms.DockStyle.Fill; + landTilesControl.Location = new System.Drawing.Point(4, 3); + landTilesControl.Margin = new System.Windows.Forms.Padding(5, 3, 5, 3); + landTilesControl.Name = "landTilesControl"; + landTilesControl.Size = new System.Drawing.Size(898, 592); + landTilesControl.TabIndex = 0; // // TextureTab // - this.TextureTab.Controls.Add(this.textureControl); - this.TextureTab.Location = new System.Drawing.Point(4, 24); - this.TextureTab.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); - this.TextureTab.Name = "TextureTab"; - this.TextureTab.Padding = new System.Windows.Forms.Padding(4, 3, 4, 3); - this.TextureTab.Size = new System.Drawing.Size(907, 590); - this.TextureTab.TabIndex = 11; - this.TextureTab.Tag = 5; - this.TextureTab.Text = "Textures"; - this.TextureTab.UseVisualStyleBackColor = true; + TextureTab.Controls.Add(textureControl); + TextureTab.Location = new System.Drawing.Point(4, 24); + TextureTab.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); + TextureTab.Name = "TextureTab"; + TextureTab.Padding = new System.Windows.Forms.Padding(4, 3, 4, 3); + TextureTab.Size = new System.Drawing.Size(906, 598); + TextureTab.TabIndex = 11; + TextureTab.Tag = 5; + TextureTab.Text = "Textures"; + TextureTab.UseVisualStyleBackColor = true; // // textureControl // - this.textureControl.Dock = System.Windows.Forms.DockStyle.Fill; - this.textureControl.Location = new System.Drawing.Point(4, 3); - this.textureControl.Margin = new System.Windows.Forms.Padding(5, 3, 5, 3); - this.textureControl.Name = "textureControl"; - this.textureControl.SelectedTextureId = 0; - this.textureControl.Size = new System.Drawing.Size(899, 584); - this.textureControl.TabIndex = 0; + textureControl.Dock = System.Windows.Forms.DockStyle.Fill; + textureControl.Location = new System.Drawing.Point(4, 3); + textureControl.Margin = new System.Windows.Forms.Padding(5, 3, 5, 3); + textureControl.Name = "textureControl"; + textureControl.Size = new System.Drawing.Size(898, 592); + textureControl.TabIndex = 0; // // GumpsTab // - this.GumpsTab.Controls.Add(this.gumpsControl); - this.GumpsTab.Location = new System.Drawing.Point(4, 24); - this.GumpsTab.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); - this.GumpsTab.Name = "GumpsTab"; - this.GumpsTab.Padding = new System.Windows.Forms.Padding(4, 3, 4, 3); - this.GumpsTab.Size = new System.Drawing.Size(907, 590); - this.GumpsTab.TabIndex = 4; - this.GumpsTab.Tag = 6; - this.GumpsTab.Text = "Gumps"; - this.GumpsTab.UseVisualStyleBackColor = true; + GumpsTab.Controls.Add(gumpsControl); + GumpsTab.Location = new System.Drawing.Point(4, 24); + GumpsTab.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); + GumpsTab.Name = "GumpsTab"; + GumpsTab.Padding = new System.Windows.Forms.Padding(4, 3, 4, 3); + GumpsTab.Size = new System.Drawing.Size(906, 598); + GumpsTab.TabIndex = 4; + GumpsTab.Tag = 6; + GumpsTab.Text = "Gumps"; + GumpsTab.UseVisualStyleBackColor = true; // // gumpsControl // - this.gumpsControl.Dock = System.Windows.Forms.DockStyle.Fill; - this.gumpsControl.Location = new System.Drawing.Point(4, 3); - this.gumpsControl.Margin = new System.Windows.Forms.Padding(5, 3, 5, 3); - this.gumpsControl.Name = "gumpsControl"; - this.gumpsControl.Size = new System.Drawing.Size(899, 584); - this.gumpsControl.TabIndex = 0; + gumpsControl.Dock = System.Windows.Forms.DockStyle.Fill; + gumpsControl.Location = new System.Drawing.Point(4, 3); + gumpsControl.Margin = new System.Windows.Forms.Padding(5, 3, 5, 3); + gumpsControl.Name = "gumpsControl"; + gumpsControl.Size = new System.Drawing.Size(898, 592); + gumpsControl.TabIndex = 0; // // SoundsTab // - this.SoundsTab.Controls.Add(this.soundControl); - this.SoundsTab.Location = new System.Drawing.Point(4, 24); - this.SoundsTab.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); - this.SoundsTab.Name = "SoundsTab"; - this.SoundsTab.Padding = new System.Windows.Forms.Padding(4, 3, 4, 3); - this.SoundsTab.Size = new System.Drawing.Size(907, 590); - this.SoundsTab.TabIndex = 5; - this.SoundsTab.Tag = 7; - this.SoundsTab.Text = "Sounds"; - this.SoundsTab.UseVisualStyleBackColor = true; + SoundsTab.Controls.Add(soundControl); + SoundsTab.Location = new System.Drawing.Point(4, 24); + SoundsTab.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); + SoundsTab.Name = "SoundsTab"; + SoundsTab.Padding = new System.Windows.Forms.Padding(4, 3, 4, 3); + SoundsTab.Size = new System.Drawing.Size(906, 598); + SoundsTab.TabIndex = 5; + SoundsTab.Tag = 7; + SoundsTab.Text = "Sounds"; + SoundsTab.UseVisualStyleBackColor = true; // // soundControl // - this.soundControl.Dock = System.Windows.Forms.DockStyle.Fill; - this.soundControl.Location = new System.Drawing.Point(4, 3); - this.soundControl.Margin = new System.Windows.Forms.Padding(5, 3, 5, 3); - this.soundControl.Name = "soundControl"; - this.soundControl.Size = new System.Drawing.Size(899, 584); - this.soundControl.TabIndex = 0; + soundControl.Dock = System.Windows.Forms.DockStyle.Fill; + soundControl.Location = new System.Drawing.Point(4, 3); + soundControl.Margin = new System.Windows.Forms.Padding(5, 3, 5, 3); + soundControl.Name = "soundControl"; + soundControl.Size = new System.Drawing.Size(898, 592); + soundControl.TabIndex = 0; // // HuesTab // - this.HuesTab.Controls.Add(this.hueControl); - this.HuesTab.Location = new System.Drawing.Point(4, 24); - this.HuesTab.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); - this.HuesTab.Name = "HuesTab"; - this.HuesTab.Padding = new System.Windows.Forms.Padding(4, 3, 4, 3); - this.HuesTab.Size = new System.Drawing.Size(907, 590); - this.HuesTab.TabIndex = 6; - this.HuesTab.Tag = 8; - this.HuesTab.Text = "Hues"; - this.HuesTab.UseVisualStyleBackColor = true; + HuesTab.Controls.Add(hueControl); + HuesTab.Location = new System.Drawing.Point(4, 24); + HuesTab.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); + HuesTab.Name = "HuesTab"; + HuesTab.Padding = new System.Windows.Forms.Padding(4, 3, 4, 3); + HuesTab.Size = new System.Drawing.Size(906, 598); + HuesTab.TabIndex = 6; + HuesTab.Tag = 8; + HuesTab.Text = "Hues"; + HuesTab.UseVisualStyleBackColor = true; // // hueControl // - this.hueControl.Dock = System.Windows.Forms.DockStyle.Fill; - this.hueControl.ForeColor = System.Drawing.SystemColors.ControlText; - this.hueControl.Location = new System.Drawing.Point(4, 3); - this.hueControl.Margin = new System.Windows.Forms.Padding(5, 3, 5, 3); - this.hueControl.Name = "hueControl"; - this.hueControl.Padding = new System.Windows.Forms.Padding(1); - this.hueControl.Size = new System.Drawing.Size(899, 584); - this.hueControl.TabIndex = 0; + hueControl.Dock = System.Windows.Forms.DockStyle.Fill; + hueControl.ForeColor = System.Drawing.SystemColors.ControlText; + hueControl.Location = new System.Drawing.Point(4, 3); + hueControl.Margin = new System.Windows.Forms.Padding(5, 3, 5, 3); + hueControl.Name = "hueControl"; + hueControl.Padding = new System.Windows.Forms.Padding(1); + hueControl.Size = new System.Drawing.Size(898, 592); + hueControl.TabIndex = 0; // // FontsTab // - this.FontsTab.Controls.Add(this.fontsControl); - this.FontsTab.Location = new System.Drawing.Point(4, 24); - this.FontsTab.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); - this.FontsTab.Name = "FontsTab"; - this.FontsTab.Padding = new System.Windows.Forms.Padding(4, 3, 4, 3); - this.FontsTab.Size = new System.Drawing.Size(907, 590); - this.FontsTab.TabIndex = 7; - this.FontsTab.Tag = 9; - this.FontsTab.Text = "Fonts"; - this.FontsTab.UseVisualStyleBackColor = true; + FontsTab.Controls.Add(fontsControl); + FontsTab.Location = new System.Drawing.Point(4, 24); + FontsTab.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); + FontsTab.Name = "FontsTab"; + FontsTab.Padding = new System.Windows.Forms.Padding(4, 3, 4, 3); + FontsTab.Size = new System.Drawing.Size(906, 598); + FontsTab.TabIndex = 7; + FontsTab.Tag = 9; + FontsTab.Text = "Fonts"; + FontsTab.UseVisualStyleBackColor = true; // // fontsControl // - this.fontsControl.Dock = System.Windows.Forms.DockStyle.Fill; - this.fontsControl.Location = new System.Drawing.Point(4, 3); - this.fontsControl.Margin = new System.Windows.Forms.Padding(5, 3, 5, 3); - this.fontsControl.Name = "fontsControl"; - this.fontsControl.Size = new System.Drawing.Size(899, 584); - this.fontsControl.TabIndex = 0; + fontsControl.Dock = System.Windows.Forms.DockStyle.Fill; + fontsControl.Location = new System.Drawing.Point(4, 3); + fontsControl.Margin = new System.Windows.Forms.Padding(5, 3, 5, 3); + fontsControl.Name = "fontsControl"; + fontsControl.Size = new System.Drawing.Size(898, 592); + fontsControl.TabIndex = 0; // // ClilocTab // - this.ClilocTab.Controls.Add(this.clilocControl); - this.ClilocTab.Location = new System.Drawing.Point(4, 24); - this.ClilocTab.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); - this.ClilocTab.Name = "ClilocTab"; - this.ClilocTab.Padding = new System.Windows.Forms.Padding(4, 3, 4, 3); - this.ClilocTab.Size = new System.Drawing.Size(907, 590); - this.ClilocTab.TabIndex = 8; - this.ClilocTab.Tag = 10; - this.ClilocTab.Text = "CliLoc"; - this.ClilocTab.UseVisualStyleBackColor = true; + ClilocTab.Controls.Add(clilocControl); + ClilocTab.Location = new System.Drawing.Point(4, 24); + ClilocTab.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); + ClilocTab.Name = "ClilocTab"; + ClilocTab.Padding = new System.Windows.Forms.Padding(4, 3, 4, 3); + ClilocTab.Size = new System.Drawing.Size(906, 598); + ClilocTab.TabIndex = 8; + ClilocTab.Tag = 10; + ClilocTab.Text = "CliLoc"; + ClilocTab.UseVisualStyleBackColor = true; // // clilocControl // - this.clilocControl.Dock = System.Windows.Forms.DockStyle.Fill; - this.clilocControl.Location = new System.Drawing.Point(4, 3); - this.clilocControl.Margin = new System.Windows.Forms.Padding(5, 3, 5, 3); - this.clilocControl.Name = "clilocControl"; - this.clilocControl.Size = new System.Drawing.Size(899, 584); - this.clilocControl.TabIndex = 0; + clilocControl.Dock = System.Windows.Forms.DockStyle.Fill; + clilocControl.Location = new System.Drawing.Point(4, 3); + clilocControl.Margin = new System.Windows.Forms.Padding(5, 3, 5, 3); + clilocControl.Name = "clilocControl"; + clilocControl.Size = new System.Drawing.Size(898, 592); + clilocControl.TabIndex = 0; // // MapTab // - this.MapTab.Controls.Add(this.mapControl); - this.MapTab.Location = new System.Drawing.Point(4, 24); - this.MapTab.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); - this.MapTab.Name = "MapTab"; - this.MapTab.Padding = new System.Windows.Forms.Padding(4, 3, 4, 3); - this.MapTab.Size = new System.Drawing.Size(907, 590); - this.MapTab.TabIndex = 9; - this.MapTab.Tag = 11; - this.MapTab.Text = "Map"; - this.MapTab.UseVisualStyleBackColor = true; + MapTab.Controls.Add(mapControl); + MapTab.Location = new System.Drawing.Point(4, 24); + MapTab.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); + MapTab.Name = "MapTab"; + MapTab.Padding = new System.Windows.Forms.Padding(4, 3, 4, 3); + MapTab.Size = new System.Drawing.Size(906, 598); + MapTab.TabIndex = 9; + MapTab.Tag = 11; + MapTab.Text = "Map"; + MapTab.UseVisualStyleBackColor = true; // // mapControl // - this.mapControl.Dock = System.Windows.Forms.DockStyle.Fill; - this.mapControl.Location = new System.Drawing.Point(4, 3); - this.mapControl.Margin = new System.Windows.Forms.Padding(0); - this.mapControl.Name = "mapControl"; - this.mapControl.Size = new System.Drawing.Size(899, 584); - this.mapControl.TabIndex = 0; + mapControl.Dock = System.Windows.Forms.DockStyle.Fill; + mapControl.Location = new System.Drawing.Point(4, 3); + mapControl.Margin = new System.Windows.Forms.Padding(0); + mapControl.Name = "mapControl"; + mapControl.Size = new System.Drawing.Size(898, 592); + mapControl.TabIndex = 0; // // LightTab // - this.LightTab.Controls.Add(this.lightControl); - this.LightTab.Location = new System.Drawing.Point(4, 24); - this.LightTab.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); - this.LightTab.Name = "LightTab"; - this.LightTab.Size = new System.Drawing.Size(907, 590); - this.LightTab.TabIndex = 12; - this.LightTab.Tag = 12; - this.LightTab.Text = "Light"; - this.LightTab.UseVisualStyleBackColor = true; + LightTab.Controls.Add(lightControl); + LightTab.Location = new System.Drawing.Point(4, 24); + LightTab.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); + LightTab.Name = "LightTab"; + LightTab.Size = new System.Drawing.Size(906, 598); + LightTab.TabIndex = 12; + LightTab.Tag = 12; + LightTab.Text = "Light"; + LightTab.UseVisualStyleBackColor = true; // // lightControl // - this.lightControl.Dock = System.Windows.Forms.DockStyle.Fill; - this.lightControl.Location = new System.Drawing.Point(0, 0); - this.lightControl.Margin = new System.Windows.Forms.Padding(5, 3, 5, 3); - this.lightControl.Name = "lightControl"; - this.lightControl.Size = new System.Drawing.Size(907, 590); - this.lightControl.TabIndex = 0; + lightControl.Dock = System.Windows.Forms.DockStyle.Fill; + lightControl.Location = new System.Drawing.Point(0, 0); + lightControl.Margin = new System.Windows.Forms.Padding(5, 3, 5, 3); + lightControl.Name = "lightControl"; + lightControl.Size = new System.Drawing.Size(906, 598); + lightControl.TabIndex = 0; // // SpeechTab // - this.SpeechTab.Controls.Add(this.speechControl); - this.SpeechTab.Location = new System.Drawing.Point(4, 24); - this.SpeechTab.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); - this.SpeechTab.Name = "SpeechTab"; - this.SpeechTab.Size = new System.Drawing.Size(907, 590); - this.SpeechTab.TabIndex = 17; - this.SpeechTab.Tag = 13; - this.SpeechTab.Text = "Speech"; - this.SpeechTab.UseVisualStyleBackColor = true; + SpeechTab.Controls.Add(speechControl); + SpeechTab.Location = new System.Drawing.Point(4, 24); + SpeechTab.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); + SpeechTab.Name = "SpeechTab"; + SpeechTab.Size = new System.Drawing.Size(906, 598); + SpeechTab.TabIndex = 17; + SpeechTab.Tag = 13; + SpeechTab.Text = "Speech"; + SpeechTab.UseVisualStyleBackColor = true; // // speechControl // - this.speechControl.Dock = System.Windows.Forms.DockStyle.Fill; - this.speechControl.Location = new System.Drawing.Point(0, 0); - this.speechControl.Margin = new System.Windows.Forms.Padding(5, 3, 5, 3); - this.speechControl.Name = "speechControl"; - this.speechControl.Size = new System.Drawing.Size(907, 590); - this.speechControl.TabIndex = 0; + speechControl.Dock = System.Windows.Forms.DockStyle.Fill; + speechControl.Location = new System.Drawing.Point(0, 0); + speechControl.Margin = new System.Windows.Forms.Padding(5, 3, 5, 3); + speechControl.Name = "speechControl"; + speechControl.Size = new System.Drawing.Size(906, 598); + speechControl.TabIndex = 0; // // SkillsTab // - this.SkillsTab.Controls.Add(this.skillsControl); - this.SkillsTab.Location = new System.Drawing.Point(4, 24); - this.SkillsTab.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); - this.SkillsTab.Name = "SkillsTab"; - this.SkillsTab.Padding = new System.Windows.Forms.Padding(4, 3, 4, 3); - this.SkillsTab.Size = new System.Drawing.Size(907, 590); - this.SkillsTab.TabIndex = 15; - this.SkillsTab.Tag = 14; - this.SkillsTab.Text = "Skills"; - this.SkillsTab.UseVisualStyleBackColor = true; + SkillsTab.Controls.Add(skillsControl); + SkillsTab.Location = new System.Drawing.Point(4, 24); + SkillsTab.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); + SkillsTab.Name = "SkillsTab"; + SkillsTab.Padding = new System.Windows.Forms.Padding(4, 3, 4, 3); + SkillsTab.Size = new System.Drawing.Size(906, 598); + SkillsTab.TabIndex = 15; + SkillsTab.Tag = 14; + SkillsTab.Text = "Skills"; + SkillsTab.UseVisualStyleBackColor = true; // // skillsControl // - this.skillsControl.Dock = System.Windows.Forms.DockStyle.Fill; - this.skillsControl.Location = new System.Drawing.Point(4, 3); - this.skillsControl.Margin = new System.Windows.Forms.Padding(5, 3, 5, 3); - this.skillsControl.Name = "skillsControl"; - this.skillsControl.Size = new System.Drawing.Size(899, 584); - this.skillsControl.TabIndex = 0; + skillsControl.Dock = System.Windows.Forms.DockStyle.Fill; + skillsControl.Location = new System.Drawing.Point(4, 3); + skillsControl.Margin = new System.Windows.Forms.Padding(5, 3, 5, 3); + skillsControl.Name = "skillsControl"; + skillsControl.Size = new System.Drawing.Size(898, 592); + skillsControl.TabIndex = 0; // // AnimDataTab // - this.AnimDataTab.Controls.Add(this.animdataControl); - this.AnimDataTab.Location = new System.Drawing.Point(4, 24); - this.AnimDataTab.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); - this.AnimDataTab.Name = "AnimDataTab"; - this.AnimDataTab.Size = new System.Drawing.Size(907, 590); - this.AnimDataTab.TabIndex = 18; - this.AnimDataTab.Tag = 15; - this.AnimDataTab.Text = "AnimData"; - this.AnimDataTab.UseVisualStyleBackColor = true; + AnimDataTab.Controls.Add(animdataControl); + AnimDataTab.Location = new System.Drawing.Point(4, 24); + AnimDataTab.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); + AnimDataTab.Name = "AnimDataTab"; + AnimDataTab.Size = new System.Drawing.Size(906, 598); + AnimDataTab.TabIndex = 18; + AnimDataTab.Tag = 15; + AnimDataTab.Text = "AnimData"; + AnimDataTab.UseVisualStyleBackColor = true; // // animdataControl // - this.animdataControl.Dock = System.Windows.Forms.DockStyle.Fill; - this.animdataControl.Location = new System.Drawing.Point(0, 0); - this.animdataControl.Margin = new System.Windows.Forms.Padding(5, 3, 5, 3); - this.animdataControl.Name = "animdataControl"; - this.animdataControl.Size = new System.Drawing.Size(907, 590); - this.animdataControl.TabIndex = 0; + animdataControl.Dock = System.Windows.Forms.DockStyle.Fill; + animdataControl.Location = new System.Drawing.Point(0, 0); + animdataControl.Margin = new System.Windows.Forms.Padding(5, 3, 5, 3); + animdataControl.Name = "animdataControl"; + animdataControl.Size = new System.Drawing.Size(906, 598); + animdataControl.TabIndex = 0; // // MultiMapTab // - this.MultiMapTab.Controls.Add(this.multimapControl); - this.MultiMapTab.Location = new System.Drawing.Point(4, 24); - this.MultiMapTab.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); - this.MultiMapTab.Name = "MultiMapTab"; - this.MultiMapTab.Padding = new System.Windows.Forms.Padding(4, 3, 4, 3); - this.MultiMapTab.Size = new System.Drawing.Size(907, 590); - this.MultiMapTab.TabIndex = 14; - this.MultiMapTab.Tag = 16; - this.MultiMapTab.Text = "MultiMap/Facets"; - this.MultiMapTab.UseVisualStyleBackColor = true; + MultiMapTab.Controls.Add(multimapControl); + MultiMapTab.Location = new System.Drawing.Point(4, 24); + MultiMapTab.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); + MultiMapTab.Name = "MultiMapTab"; + MultiMapTab.Padding = new System.Windows.Forms.Padding(4, 3, 4, 3); + MultiMapTab.Size = new System.Drawing.Size(906, 598); + MultiMapTab.TabIndex = 14; + MultiMapTab.Tag = 16; + MultiMapTab.Text = "MultiMap/Facets"; + MultiMapTab.UseVisualStyleBackColor = true; // // multimapControl // - this.multimapControl.Dock = System.Windows.Forms.DockStyle.Fill; - this.multimapControl.Location = new System.Drawing.Point(4, 3); - this.multimapControl.Margin = new System.Windows.Forms.Padding(5, 3, 5, 3); - this.multimapControl.Name = "multimapControl"; - this.multimapControl.Size = new System.Drawing.Size(899, 584); - this.multimapControl.TabIndex = 0; + multimapControl.Dock = System.Windows.Forms.DockStyle.Fill; + multimapControl.Location = new System.Drawing.Point(4, 3); + multimapControl.Margin = new System.Windows.Forms.Padding(5, 3, 5, 3); + multimapControl.Name = "multimapControl"; + multimapControl.Size = new System.Drawing.Size(898, 592); + multimapControl.TabIndex = 0; // // DressTab // - this.DressTab.Controls.Add(this.dressControl); - this.DressTab.Location = new System.Drawing.Point(4, 24); - this.DressTab.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); - this.DressTab.Name = "DressTab"; - this.DressTab.Padding = new System.Windows.Forms.Padding(4, 3, 4, 3); - this.DressTab.Size = new System.Drawing.Size(907, 590); - this.DressTab.TabIndex = 13; - this.DressTab.Tag = 17; - this.DressTab.Text = "Dress"; - this.DressTab.UseVisualStyleBackColor = true; + DressTab.Controls.Add(dressControl); + DressTab.Location = new System.Drawing.Point(4, 24); + DressTab.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); + DressTab.Name = "DressTab"; + DressTab.Padding = new System.Windows.Forms.Padding(4, 3, 4, 3); + DressTab.Size = new System.Drawing.Size(906, 598); + DressTab.TabIndex = 13; + DressTab.Tag = 17; + DressTab.Text = "Dress"; + DressTab.UseVisualStyleBackColor = true; // // dressControl // - this.dressControl.Dock = System.Windows.Forms.DockStyle.Fill; - this.dressControl.Location = new System.Drawing.Point(4, 3); - this.dressControl.Margin = new System.Windows.Forms.Padding(5, 3, 5, 3); - this.dressControl.Name = "dressControl"; - this.dressControl.Size = new System.Drawing.Size(899, 584); - this.dressControl.TabIndex = 0; + dressControl.Dock = System.Windows.Forms.DockStyle.Fill; + dressControl.Location = new System.Drawing.Point(4, 3); + dressControl.Margin = new System.Windows.Forms.Padding(5, 3, 5, 3); + dressControl.Name = "dressControl"; + dressControl.Size = new System.Drawing.Size(898, 592); + dressControl.TabIndex = 0; // // TileDataTab // - this.TileDataTab.Controls.Add(this.tileDataControl); - this.TileDataTab.Location = new System.Drawing.Point(4, 24); - this.TileDataTab.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); - this.TileDataTab.Name = "TileDataTab"; - this.TileDataTab.Size = new System.Drawing.Size(907, 590); - this.TileDataTab.TabIndex = 16; - this.TileDataTab.Tag = 18; - this.TileDataTab.Text = "TileData"; - this.TileDataTab.UseVisualStyleBackColor = true; + TileDataTab.Controls.Add(tileDataControl); + TileDataTab.Location = new System.Drawing.Point(4, 24); + TileDataTab.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); + TileDataTab.Name = "TileDataTab"; + TileDataTab.Size = new System.Drawing.Size(906, 598); + TileDataTab.TabIndex = 16; + TileDataTab.Tag = 18; + TileDataTab.Text = "TileData"; + TileDataTab.UseVisualStyleBackColor = true; // // tileDataControl // - this.tileDataControl.Dock = System.Windows.Forms.DockStyle.Fill; - this.tileDataControl.Location = new System.Drawing.Point(0, 0); - this.tileDataControl.Margin = new System.Windows.Forms.Padding(5, 3, 5, 3); - this.tileDataControl.Name = "tileDataControl"; - this.tileDataControl.Size = new System.Drawing.Size(907, 590); - this.tileDataControl.TabIndex = 0; + tileDataControl.Dock = System.Windows.Forms.DockStyle.Fill; + tileDataControl.Location = new System.Drawing.Point(0, 0); + tileDataControl.Margin = new System.Windows.Forms.Padding(5, 3, 5, 3); + tileDataControl.Name = "tileDataControl"; + tileDataControl.Size = new System.Drawing.Size(906, 598); + tileDataControl.TabIndex = 0; // // RadarColTab // - this.RadarColTab.Controls.Add(this.radarColControl); - this.RadarColTab.Location = new System.Drawing.Point(4, 24); - this.RadarColTab.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); - this.RadarColTab.Name = "RadarColTab"; - this.RadarColTab.Size = new System.Drawing.Size(907, 590); - this.RadarColTab.TabIndex = 19; - this.RadarColTab.Tag = 19; - this.RadarColTab.Text = "RadarColor"; - this.RadarColTab.UseVisualStyleBackColor = true; + RadarColTab.Controls.Add(radarColControl); + RadarColTab.Location = new System.Drawing.Point(4, 24); + RadarColTab.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); + RadarColTab.Name = "RadarColTab"; + RadarColTab.Size = new System.Drawing.Size(906, 598); + RadarColTab.TabIndex = 19; + RadarColTab.Tag = 19; + RadarColTab.Text = "RadarColor"; + RadarColTab.UseVisualStyleBackColor = true; // // radarColControl // - this.radarColControl.Dock = System.Windows.Forms.DockStyle.Fill; - this.radarColControl.Location = new System.Drawing.Point(0, 0); - this.radarColControl.Margin = new System.Windows.Forms.Padding(5, 5, 5, 5); - this.radarColControl.Name = "radarColControl"; - this.radarColControl.Size = new System.Drawing.Size(907, 590); - this.radarColControl.TabIndex = 0; + radarColControl.Dock = System.Windows.Forms.DockStyle.Fill; + radarColControl.Location = new System.Drawing.Point(0, 0); + radarColControl.Margin = new System.Windows.Forms.Padding(5); + radarColControl.Name = "radarColControl"; + radarColControl.Size = new System.Drawing.Size(906, 598); + radarColControl.TabIndex = 0; // // SkillGrpTab // - this.SkillGrpTab.Controls.Add(this.skillGroupControl); - this.SkillGrpTab.Location = new System.Drawing.Point(4, 24); - this.SkillGrpTab.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); - this.SkillGrpTab.Name = "SkillGrpTab"; - this.SkillGrpTab.Padding = new System.Windows.Forms.Padding(4, 3, 4, 3); - this.SkillGrpTab.Size = new System.Drawing.Size(907, 590); - this.SkillGrpTab.TabIndex = 20; - this.SkillGrpTab.Tag = 20; - this.SkillGrpTab.Text = "SkillGrp"; - this.SkillGrpTab.UseVisualStyleBackColor = true; + SkillGrpTab.Controls.Add(skillGroupControl); + SkillGrpTab.Location = new System.Drawing.Point(4, 24); + SkillGrpTab.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); + SkillGrpTab.Name = "SkillGrpTab"; + SkillGrpTab.Padding = new System.Windows.Forms.Padding(4, 3, 4, 3); + SkillGrpTab.Size = new System.Drawing.Size(906, 598); + SkillGrpTab.TabIndex = 20; + SkillGrpTab.Tag = 20; + SkillGrpTab.Text = "SkillGrp"; + SkillGrpTab.UseVisualStyleBackColor = true; // // skillGroupControl // - this.skillGroupControl.Dock = System.Windows.Forms.DockStyle.Fill; - this.skillGroupControl.Location = new System.Drawing.Point(4, 3); - this.skillGroupControl.Margin = new System.Windows.Forms.Padding(5, 3, 5, 3); - this.skillGroupControl.Name = "skillGroupControl"; - this.skillGroupControl.Size = new System.Drawing.Size(899, 584); - this.skillGroupControl.TabIndex = 0; - // + skillGroupControl.Dock = System.Windows.Forms.DockStyle.Fill; + skillGroupControl.Location = new System.Drawing.Point(4, 3); + skillGroupControl.Margin = new System.Windows.Forms.Padding(5, 3, 5, 3); + skillGroupControl.Name = "skillGroupControl"; + skillGroupControl.Size = new System.Drawing.Size(898, 592); + skillGroupControl.TabIndex = 0; + // // VerdataTab - // - this.VerdataTab.Controls.Add(this.verdataControl); - this.VerdataTab.Location = new System.Drawing.Point(4, 24); - this.VerdataTab.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); - this.VerdataTab.Name = "VerdataTab"; - this.VerdataTab.Padding = new System.Windows.Forms.Padding(4, 3, 4, 3); - this.VerdataTab.Size = new System.Drawing.Size(907, 590); - this.VerdataTab.TabIndex = 21; - this.VerdataTab.Tag = 21; - this.VerdataTab.Text = "Verdata"; - this.VerdataTab.UseVisualStyleBackColor = true; - // + // + VerdataTab.Controls.Add(verdataControl); + VerdataTab.Location = new System.Drawing.Point(4, 24); + VerdataTab.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); + VerdataTab.Name = "VerdataTab"; + VerdataTab.Padding = new System.Windows.Forms.Padding(4, 3, 4, 3); + VerdataTab.Size = new System.Drawing.Size(906, 598); + VerdataTab.TabIndex = 21; + VerdataTab.Tag = 21; + VerdataTab.Text = "Verdata"; + VerdataTab.UseVisualStyleBackColor = true; + // // verdataControl - // - this.verdataControl.Dock = System.Windows.Forms.DockStyle.Fill; - this.verdataControl.Location = new System.Drawing.Point(4, 3); - this.verdataControl.Margin = new System.Windows.Forms.Padding(5, 3, 5, 3); - this.verdataControl.Name = "verdataControl"; - this.verdataControl.Size = new System.Drawing.Size(899, 584); - this.verdataControl.TabIndex = 0; - // + // + verdataControl.Dock = System.Windows.Forms.DockStyle.Fill; + verdataControl.Location = new System.Drawing.Point(4, 3); + verdataControl.Margin = new System.Windows.Forms.Padding(5, 3, 5, 3); + verdataControl.Name = "verdataControl"; + verdataControl.Size = new System.Drawing.Size(898, 592); + verdataControl.TabIndex = 0; + // // tsMainMenu - // - this.tsMainMenu.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.SettingsMenu, - this.toolStripDropDownButtonView, - this.ExternToolsDropDown, - this.toolStripDropDownButtonPlugins, - this.toolStripDropDownButtonHelp}); - this.tsMainMenu.Location = new System.Drawing.Point(0, 0); - this.tsMainMenu.Name = "tsMainMenu"; - this.tsMainMenu.RenderMode = System.Windows.Forms.ToolStripRenderMode.System; - this.tsMainMenu.Size = new System.Drawing.Size(914, 25); - this.tsMainMenu.TabIndex = 2; - this.tsMainMenu.Text = "toolStrip1"; + // + tsMainMenu.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { SettingsMenu, toolStripDropDownButtonView, ExternToolsDropDown, toolStripDropDownButtonPlugins, toolStripDropDownButtonHelp }); + tsMainMenu.Location = new System.Drawing.Point(0, 0); + tsMainMenu.Name = "tsMainMenu"; + tsMainMenu.RenderMode = System.Windows.Forms.ToolStripRenderMode.System; + tsMainMenu.Size = new System.Drawing.Size(914, 25); + tsMainMenu.TabIndex = 2; + tsMainMenu.Text = "toolStrip1"; + toolTip.SetToolTip(tsMainMenu, "Dark mode is experimental. Changes require an application restart."); // // SettingsMenu // - this.SettingsMenu.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text; - this.SettingsMenu.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.AlwaysOnTopMenuitem, - this.optionsToolStripMenuItem, - this.pathSettingsMenuItem, - this.tsSettingsSeparator, - this.reloadFilesMenuItem}); - this.SettingsMenu.ImageTransparentColor = System.Drawing.Color.Magenta; - this.SettingsMenu.Name = "SettingsMenu"; - this.SettingsMenu.Size = new System.Drawing.Size(62, 22); - this.SettingsMenu.Text = "Settings"; + SettingsMenu.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text; + SettingsMenu.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { AlwaysOnTopMenuitem, toolStripSeparator3, darkModeMenuItem, toolStripSeparator2, optionsToolStripMenuItem, pathSettingsMenuItem, tsSettingsSeparator, reloadFilesMenuItem }); + SettingsMenu.ImageTransparentColor = System.Drawing.Color.Magenta; + SettingsMenu.Name = "SettingsMenu"; + SettingsMenu.Size = new System.Drawing.Size(62, 22); + SettingsMenu.Text = "Settings"; // // AlwaysOnTopMenuitem // - this.AlwaysOnTopMenuitem.CheckOnClick = true; - this.AlwaysOnTopMenuitem.Name = "AlwaysOnTopMenuitem"; - this.AlwaysOnTopMenuitem.Size = new System.Drawing.Size(152, 22); - this.AlwaysOnTopMenuitem.Text = "Always On Top"; - this.AlwaysOnTopMenuitem.Click += new System.EventHandler(this.OnClickAlwaysTop); + AlwaysOnTopMenuitem.CheckOnClick = true; + AlwaysOnTopMenuitem.Name = "AlwaysOnTopMenuitem"; + AlwaysOnTopMenuitem.Size = new System.Drawing.Size(212, 22); + AlwaysOnTopMenuitem.Text = "Always On Top"; + AlwaysOnTopMenuitem.Click += OnClickAlwaysTop; + // + // darkModeMenuItem + // + darkModeMenuItem.CheckOnClick = true; + darkModeMenuItem.Name = "darkModeMenuItem"; + darkModeMenuItem.Size = new System.Drawing.Size(212, 22); + darkModeMenuItem.Text = "Dark Mode (Experimental)"; + darkModeMenuItem.Click += OnClickDarkMode; // // optionsToolStripMenuItem // - this.optionsToolStripMenuItem.Name = "optionsToolStripMenuItem"; - this.optionsToolStripMenuItem.Size = new System.Drawing.Size(152, 22); - this.optionsToolStripMenuItem.Text = "Options.."; - this.optionsToolStripMenuItem.Click += new System.EventHandler(this.OnClickOptions); + optionsToolStripMenuItem.Name = "optionsToolStripMenuItem"; + optionsToolStripMenuItem.Size = new System.Drawing.Size(212, 22); + optionsToolStripMenuItem.Text = "Options.."; + optionsToolStripMenuItem.Click += OnClickOptions; // // pathSettingsMenuItem // - this.pathSettingsMenuItem.Name = "pathSettingsMenuItem"; - this.pathSettingsMenuItem.Size = new System.Drawing.Size(152, 22); - this.pathSettingsMenuItem.Text = "Path Settings.."; - this.pathSettingsMenuItem.Click += new System.EventHandler(this.Click_path); + pathSettingsMenuItem.Name = "pathSettingsMenuItem"; + pathSettingsMenuItem.Size = new System.Drawing.Size(212, 22); + pathSettingsMenuItem.Text = "Path Settings.."; + pathSettingsMenuItem.Click += Click_path; // // tsSettingsSeparator // - this.tsSettingsSeparator.Name = "tsSettingsSeparator"; - this.tsSettingsSeparator.Size = new System.Drawing.Size(149, 6); + tsSettingsSeparator.Name = "tsSettingsSeparator"; + tsSettingsSeparator.Size = new System.Drawing.Size(209, 6); // // reloadFilesMenuItem // - this.reloadFilesMenuItem.ForeColor = System.Drawing.Color.DarkRed; - this.reloadFilesMenuItem.Name = "reloadFilesMenuItem"; - this.reloadFilesMenuItem.Size = new System.Drawing.Size(152, 22); - this.reloadFilesMenuItem.Text = "Reload Files"; - this.reloadFilesMenuItem.Click += new System.EventHandler(this.ReloadFiles); + reloadFilesMenuItem.ForeColor = System.Drawing.Color.DarkRed; + reloadFilesMenuItem.Name = "reloadFilesMenuItem"; + reloadFilesMenuItem.Size = new System.Drawing.Size(212, 22); + reloadFilesMenuItem.Text = "Reload Files"; + reloadFilesMenuItem.Click += ReloadFiles; // // toolStripDropDownButtonView // - this.toolStripDropDownButtonView.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text; - this.toolStripDropDownButtonView.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.ToggleViewStart, - this.ToggleViewMulti, - this.ToggleViewAnimations, - this.ToggleViewItems, - this.ToggleViewLandTiles, - this.ToggleViewTexture, - this.ToggleViewGumps, - this.ToggleViewSounds, - this.ToggleViewHue, - this.ToggleViewFonts, - this.ToggleViewCliloc, - this.ToggleViewMap, - this.ToggleViewLight, - this.ToggleViewSpeech, - this.ToggleViewSkills, - this.ToggleViewAnimData, - this.ToggleViewMultiMap, - this.ToggleViewDress, - this.ToggleViewTileData, - this.ToggleViewRadarColor, - this.ToggleViewSkillGrp, - this.ToggleViewVerdata}); - this.toolStripDropDownButtonView.ImageTransparentColor = System.Drawing.Color.Magenta; - this.toolStripDropDownButtonView.Name = "toolStripDropDownButtonView"; - this.toolStripDropDownButtonView.Size = new System.Drawing.Size(45, 22); - this.toolStripDropDownButtonView.Text = "View"; + toolStripDropDownButtonView.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text; + toolStripDropDownButtonView.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { ToggleViewStart, ToggleViewMulti, ToggleViewAnimations, ToggleViewItems, ToggleViewLandTiles, ToggleViewTexture, ToggleViewGumps, ToggleViewSounds, ToggleViewHue, ToggleViewFonts, ToggleViewCliloc, ToggleViewMap, ToggleViewLight, ToggleViewSpeech, ToggleViewSkills, ToggleViewAnimData, ToggleViewMultiMap, ToggleViewDress, ToggleViewTileData, ToggleViewRadarColor, ToggleViewSkillGrp, ToggleViewVerdata }); + toolStripDropDownButtonView.ImageTransparentColor = System.Drawing.Color.Magenta; + toolStripDropDownButtonView.Name = "toolStripDropDownButtonView"; + toolStripDropDownButtonView.Size = new System.Drawing.Size(45, 22); + toolStripDropDownButtonView.Text = "View"; // // ToggleViewStart // - this.ToggleViewStart.Checked = true; - this.ToggleViewStart.CheckState = System.Windows.Forms.CheckState.Checked; - this.ToggleViewStart.Name = "ToggleViewStart"; - this.ToggleViewStart.Size = new System.Drawing.Size(164, 22); - this.ToggleViewStart.Tag = 0; - this.ToggleViewStart.Text = "Start"; - this.ToggleViewStart.Click += new System.EventHandler(this.ToggleView); + ToggleViewStart.Checked = true; + ToggleViewStart.CheckState = System.Windows.Forms.CheckState.Checked; + ToggleViewStart.Name = "ToggleViewStart"; + ToggleViewStart.Size = new System.Drawing.Size(164, 22); + ToggleViewStart.Tag = 0; + ToggleViewStart.Text = "Start"; + ToggleViewStart.Click += ToggleView; // // ToggleViewMulti // - this.ToggleViewMulti.Checked = true; - this.ToggleViewMulti.CheckState = System.Windows.Forms.CheckState.Checked; - this.ToggleViewMulti.Name = "ToggleViewMulti"; - this.ToggleViewMulti.Size = new System.Drawing.Size(164, 22); - this.ToggleViewMulti.Tag = 1; - this.ToggleViewMulti.Text = "Multi"; - this.ToggleViewMulti.Click += new System.EventHandler(this.ToggleView); + ToggleViewMulti.Checked = true; + ToggleViewMulti.CheckState = System.Windows.Forms.CheckState.Checked; + ToggleViewMulti.Name = "ToggleViewMulti"; + ToggleViewMulti.Size = new System.Drawing.Size(164, 22); + ToggleViewMulti.Tag = 1; + ToggleViewMulti.Text = "Multi"; + ToggleViewMulti.Click += ToggleView; // // ToggleViewAnimations // - this.ToggleViewAnimations.Checked = true; - this.ToggleViewAnimations.CheckState = System.Windows.Forms.CheckState.Checked; - this.ToggleViewAnimations.Name = "ToggleViewAnimations"; - this.ToggleViewAnimations.Size = new System.Drawing.Size(164, 22); - this.ToggleViewAnimations.Tag = 2; - this.ToggleViewAnimations.Text = "Animations"; - this.ToggleViewAnimations.Click += new System.EventHandler(this.ToggleView); + ToggleViewAnimations.Checked = true; + ToggleViewAnimations.CheckState = System.Windows.Forms.CheckState.Checked; + ToggleViewAnimations.Name = "ToggleViewAnimations"; + ToggleViewAnimations.Size = new System.Drawing.Size(164, 22); + ToggleViewAnimations.Tag = 2; + ToggleViewAnimations.Text = "Animations"; + ToggleViewAnimations.Click += ToggleView; // // ToggleViewItems // - this.ToggleViewItems.Checked = true; - this.ToggleViewItems.CheckState = System.Windows.Forms.CheckState.Checked; - this.ToggleViewItems.Name = "ToggleViewItems"; - this.ToggleViewItems.Size = new System.Drawing.Size(164, 22); - this.ToggleViewItems.Tag = 3; - this.ToggleViewItems.Text = "Items"; - this.ToggleViewItems.Click += new System.EventHandler(this.ToggleView); + ToggleViewItems.Checked = true; + ToggleViewItems.CheckState = System.Windows.Forms.CheckState.Checked; + ToggleViewItems.Name = "ToggleViewItems"; + ToggleViewItems.Size = new System.Drawing.Size(164, 22); + ToggleViewItems.Tag = 3; + ToggleViewItems.Text = "Items"; + ToggleViewItems.Click += ToggleView; // // ToggleViewLandTiles // - this.ToggleViewLandTiles.Checked = true; - this.ToggleViewLandTiles.CheckState = System.Windows.Forms.CheckState.Checked; - this.ToggleViewLandTiles.Name = "ToggleViewLandTiles"; - this.ToggleViewLandTiles.Size = new System.Drawing.Size(164, 22); - this.ToggleViewLandTiles.Tag = 4; - this.ToggleViewLandTiles.Text = "LandTiles"; - this.ToggleViewLandTiles.Click += new System.EventHandler(this.ToggleView); + ToggleViewLandTiles.Checked = true; + ToggleViewLandTiles.CheckState = System.Windows.Forms.CheckState.Checked; + ToggleViewLandTiles.Name = "ToggleViewLandTiles"; + ToggleViewLandTiles.Size = new System.Drawing.Size(164, 22); + ToggleViewLandTiles.Tag = 4; + ToggleViewLandTiles.Text = "LandTiles"; + ToggleViewLandTiles.Click += ToggleView; // // ToggleViewTexture // - this.ToggleViewTexture.Checked = true; - this.ToggleViewTexture.CheckState = System.Windows.Forms.CheckState.Checked; - this.ToggleViewTexture.Name = "ToggleViewTexture"; - this.ToggleViewTexture.Size = new System.Drawing.Size(164, 22); - this.ToggleViewTexture.Tag = 5; - this.ToggleViewTexture.Text = "Texture"; - this.ToggleViewTexture.Click += new System.EventHandler(this.ToggleView); + ToggleViewTexture.Checked = true; + ToggleViewTexture.CheckState = System.Windows.Forms.CheckState.Checked; + ToggleViewTexture.Name = "ToggleViewTexture"; + ToggleViewTexture.Size = new System.Drawing.Size(164, 22); + ToggleViewTexture.Tag = 5; + ToggleViewTexture.Text = "Texture"; + ToggleViewTexture.Click += ToggleView; // // ToggleViewGumps // - this.ToggleViewGumps.Checked = true; - this.ToggleViewGumps.CheckState = System.Windows.Forms.CheckState.Checked; - this.ToggleViewGumps.Name = "ToggleViewGumps"; - this.ToggleViewGumps.Size = new System.Drawing.Size(164, 22); - this.ToggleViewGumps.Tag = 6; - this.ToggleViewGumps.Text = "Gumps"; - this.ToggleViewGumps.Click += new System.EventHandler(this.ToggleView); + ToggleViewGumps.Checked = true; + ToggleViewGumps.CheckState = System.Windows.Forms.CheckState.Checked; + ToggleViewGumps.Name = "ToggleViewGumps"; + ToggleViewGumps.Size = new System.Drawing.Size(164, 22); + ToggleViewGumps.Tag = 6; + ToggleViewGumps.Text = "Gumps"; + ToggleViewGumps.Click += ToggleView; // // ToggleViewSounds // - this.ToggleViewSounds.Checked = true; - this.ToggleViewSounds.CheckState = System.Windows.Forms.CheckState.Checked; - this.ToggleViewSounds.Name = "ToggleViewSounds"; - this.ToggleViewSounds.Size = new System.Drawing.Size(164, 22); - this.ToggleViewSounds.Tag = 7; - this.ToggleViewSounds.Text = "Sounds"; - this.ToggleViewSounds.Click += new System.EventHandler(this.ToggleView); + ToggleViewSounds.Checked = true; + ToggleViewSounds.CheckState = System.Windows.Forms.CheckState.Checked; + ToggleViewSounds.Name = "ToggleViewSounds"; + ToggleViewSounds.Size = new System.Drawing.Size(164, 22); + ToggleViewSounds.Tag = 7; + ToggleViewSounds.Text = "Sounds"; + ToggleViewSounds.Click += ToggleView; // // ToggleViewHue // - this.ToggleViewHue.Checked = true; - this.ToggleViewHue.CheckState = System.Windows.Forms.CheckState.Checked; - this.ToggleViewHue.Name = "ToggleViewHue"; - this.ToggleViewHue.Size = new System.Drawing.Size(164, 22); - this.ToggleViewHue.Tag = 8; - this.ToggleViewHue.Text = "Hue"; - this.ToggleViewHue.Click += new System.EventHandler(this.ToggleView); + ToggleViewHue.Checked = true; + ToggleViewHue.CheckState = System.Windows.Forms.CheckState.Checked; + ToggleViewHue.Name = "ToggleViewHue"; + ToggleViewHue.Size = new System.Drawing.Size(164, 22); + ToggleViewHue.Tag = 8; + ToggleViewHue.Text = "Hue"; + ToggleViewHue.Click += ToggleView; // // ToggleViewFonts // - this.ToggleViewFonts.Checked = true; - this.ToggleViewFonts.CheckState = System.Windows.Forms.CheckState.Checked; - this.ToggleViewFonts.Name = "ToggleViewFonts"; - this.ToggleViewFonts.Size = new System.Drawing.Size(164, 22); - this.ToggleViewFonts.Tag = 9; - this.ToggleViewFonts.Text = "Fonts"; - this.ToggleViewFonts.Click += new System.EventHandler(this.ToggleView); + ToggleViewFonts.Checked = true; + ToggleViewFonts.CheckState = System.Windows.Forms.CheckState.Checked; + ToggleViewFonts.Name = "ToggleViewFonts"; + ToggleViewFonts.Size = new System.Drawing.Size(164, 22); + ToggleViewFonts.Tag = 9; + ToggleViewFonts.Text = "Fonts"; + ToggleViewFonts.Click += ToggleView; // // ToggleViewCliloc // - this.ToggleViewCliloc.Checked = true; - this.ToggleViewCliloc.CheckState = System.Windows.Forms.CheckState.Checked; - this.ToggleViewCliloc.Name = "ToggleViewCliloc"; - this.ToggleViewCliloc.Size = new System.Drawing.Size(164, 22); - this.ToggleViewCliloc.Tag = 10; - this.ToggleViewCliloc.Text = "Cliloc"; - this.ToggleViewCliloc.Click += new System.EventHandler(this.ToggleView); + ToggleViewCliloc.Checked = true; + ToggleViewCliloc.CheckState = System.Windows.Forms.CheckState.Checked; + ToggleViewCliloc.Name = "ToggleViewCliloc"; + ToggleViewCliloc.Size = new System.Drawing.Size(164, 22); + ToggleViewCliloc.Tag = 10; + ToggleViewCliloc.Text = "Cliloc"; + ToggleViewCliloc.Click += ToggleView; // // ToggleViewMap // - this.ToggleViewMap.Checked = true; - this.ToggleViewMap.CheckState = System.Windows.Forms.CheckState.Checked; - this.ToggleViewMap.Name = "ToggleViewMap"; - this.ToggleViewMap.Size = new System.Drawing.Size(164, 22); - this.ToggleViewMap.Tag = 11; - this.ToggleViewMap.Text = "Map"; - this.ToggleViewMap.Click += new System.EventHandler(this.ToggleView); + ToggleViewMap.Checked = true; + ToggleViewMap.CheckState = System.Windows.Forms.CheckState.Checked; + ToggleViewMap.Name = "ToggleViewMap"; + ToggleViewMap.Size = new System.Drawing.Size(164, 22); + ToggleViewMap.Tag = 11; + ToggleViewMap.Text = "Map"; + ToggleViewMap.Click += ToggleView; // // ToggleViewLight // - this.ToggleViewLight.Checked = true; - this.ToggleViewLight.CheckState = System.Windows.Forms.CheckState.Checked; - this.ToggleViewLight.Name = "ToggleViewLight"; - this.ToggleViewLight.Size = new System.Drawing.Size(164, 22); - this.ToggleViewLight.Tag = 12; - this.ToggleViewLight.Text = "Light"; - this.ToggleViewLight.Click += new System.EventHandler(this.ToggleView); + ToggleViewLight.Checked = true; + ToggleViewLight.CheckState = System.Windows.Forms.CheckState.Checked; + ToggleViewLight.Name = "ToggleViewLight"; + ToggleViewLight.Size = new System.Drawing.Size(164, 22); + ToggleViewLight.Tag = 12; + ToggleViewLight.Text = "Light"; + ToggleViewLight.Click += ToggleView; // // ToggleViewSpeech // - this.ToggleViewSpeech.Checked = true; - this.ToggleViewSpeech.CheckState = System.Windows.Forms.CheckState.Checked; - this.ToggleViewSpeech.Name = "ToggleViewSpeech"; - this.ToggleViewSpeech.Size = new System.Drawing.Size(164, 22); - this.ToggleViewSpeech.Tag = 13; - this.ToggleViewSpeech.Text = "Speech"; - this.ToggleViewSpeech.Click += new System.EventHandler(this.ToggleView); + ToggleViewSpeech.Checked = true; + ToggleViewSpeech.CheckState = System.Windows.Forms.CheckState.Checked; + ToggleViewSpeech.Name = "ToggleViewSpeech"; + ToggleViewSpeech.Size = new System.Drawing.Size(164, 22); + ToggleViewSpeech.Tag = 13; + ToggleViewSpeech.Text = "Speech"; + ToggleViewSpeech.Click += ToggleView; // // ToggleViewSkills // - this.ToggleViewSkills.Checked = true; - this.ToggleViewSkills.CheckState = System.Windows.Forms.CheckState.Checked; - this.ToggleViewSkills.Name = "ToggleViewSkills"; - this.ToggleViewSkills.Size = new System.Drawing.Size(164, 22); - this.ToggleViewSkills.Tag = 14; - this.ToggleViewSkills.Text = "Skills"; - this.ToggleViewSkills.Click += new System.EventHandler(this.ToggleView); + ToggleViewSkills.Checked = true; + ToggleViewSkills.CheckState = System.Windows.Forms.CheckState.Checked; + ToggleViewSkills.Name = "ToggleViewSkills"; + ToggleViewSkills.Size = new System.Drawing.Size(164, 22); + ToggleViewSkills.Tag = 14; + ToggleViewSkills.Text = "Skills"; + ToggleViewSkills.Click += ToggleView; // // ToggleViewAnimData // - this.ToggleViewAnimData.Checked = true; - this.ToggleViewAnimData.CheckState = System.Windows.Forms.CheckState.Checked; - this.ToggleViewAnimData.Name = "ToggleViewAnimData"; - this.ToggleViewAnimData.Size = new System.Drawing.Size(164, 22); - this.ToggleViewAnimData.Tag = 15; - this.ToggleViewAnimData.Text = "AnimData"; - this.ToggleViewAnimData.Click += new System.EventHandler(this.ToggleView); + ToggleViewAnimData.Checked = true; + ToggleViewAnimData.CheckState = System.Windows.Forms.CheckState.Checked; + ToggleViewAnimData.Name = "ToggleViewAnimData"; + ToggleViewAnimData.Size = new System.Drawing.Size(164, 22); + ToggleViewAnimData.Tag = 15; + ToggleViewAnimData.Text = "AnimData"; + ToggleViewAnimData.Click += ToggleView; // // ToggleViewMultiMap // - this.ToggleViewMultiMap.Checked = true; - this.ToggleViewMultiMap.CheckState = System.Windows.Forms.CheckState.Checked; - this.ToggleViewMultiMap.Name = "ToggleViewMultiMap"; - this.ToggleViewMultiMap.Size = new System.Drawing.Size(164, 22); - this.ToggleViewMultiMap.Tag = 16; - this.ToggleViewMultiMap.Text = "MultiMap/Facets"; - this.ToggleViewMultiMap.Click += new System.EventHandler(this.ToggleView); + ToggleViewMultiMap.Checked = true; + ToggleViewMultiMap.CheckState = System.Windows.Forms.CheckState.Checked; + ToggleViewMultiMap.Name = "ToggleViewMultiMap"; + ToggleViewMultiMap.Size = new System.Drawing.Size(164, 22); + ToggleViewMultiMap.Tag = 16; + ToggleViewMultiMap.Text = "MultiMap/Facets"; + ToggleViewMultiMap.Click += ToggleView; // // ToggleViewDress // - this.ToggleViewDress.Checked = true; - this.ToggleViewDress.CheckState = System.Windows.Forms.CheckState.Checked; - this.ToggleViewDress.Name = "ToggleViewDress"; - this.ToggleViewDress.Size = new System.Drawing.Size(164, 22); - this.ToggleViewDress.Tag = 17; - this.ToggleViewDress.Text = "Dress"; - this.ToggleViewDress.Click += new System.EventHandler(this.ToggleView); + ToggleViewDress.Checked = true; + ToggleViewDress.CheckState = System.Windows.Forms.CheckState.Checked; + ToggleViewDress.Name = "ToggleViewDress"; + ToggleViewDress.Size = new System.Drawing.Size(164, 22); + ToggleViewDress.Tag = 17; + ToggleViewDress.Text = "Dress"; + ToggleViewDress.Click += ToggleView; // // ToggleViewTileData // - this.ToggleViewTileData.Checked = true; - this.ToggleViewTileData.CheckState = System.Windows.Forms.CheckState.Checked; - this.ToggleViewTileData.Name = "ToggleViewTileData"; - this.ToggleViewTileData.Size = new System.Drawing.Size(164, 22); - this.ToggleViewTileData.Tag = 18; - this.ToggleViewTileData.Text = "TileData"; - this.ToggleViewTileData.Click += new System.EventHandler(this.ToggleView); + ToggleViewTileData.Checked = true; + ToggleViewTileData.CheckState = System.Windows.Forms.CheckState.Checked; + ToggleViewTileData.Name = "ToggleViewTileData"; + ToggleViewTileData.Size = new System.Drawing.Size(164, 22); + ToggleViewTileData.Tag = 18; + ToggleViewTileData.Text = "TileData"; + ToggleViewTileData.Click += ToggleView; // // ToggleViewRadarColor // - this.ToggleViewRadarColor.Checked = true; - this.ToggleViewRadarColor.CheckState = System.Windows.Forms.CheckState.Checked; - this.ToggleViewRadarColor.Name = "ToggleViewRadarColor"; - this.ToggleViewRadarColor.Size = new System.Drawing.Size(164, 22); - this.ToggleViewRadarColor.Tag = 19; - this.ToggleViewRadarColor.Text = "RadarColor"; - this.ToggleViewRadarColor.Click += new System.EventHandler(this.ToggleView); + ToggleViewRadarColor.Checked = true; + ToggleViewRadarColor.CheckState = System.Windows.Forms.CheckState.Checked; + ToggleViewRadarColor.Name = "ToggleViewRadarColor"; + ToggleViewRadarColor.Size = new System.Drawing.Size(164, 22); + ToggleViewRadarColor.Tag = 19; + ToggleViewRadarColor.Text = "RadarColor"; + ToggleViewRadarColor.Click += ToggleView; // // ToggleViewSkillGrp // - this.ToggleViewSkillGrp.Checked = true; - this.ToggleViewSkillGrp.CheckState = System.Windows.Forms.CheckState.Checked; - this.ToggleViewSkillGrp.Name = "ToggleViewSkillGrp"; - this.ToggleViewSkillGrp.Size = new System.Drawing.Size(164, 22); - this.ToggleViewSkillGrp.Tag = 20; - this.ToggleViewSkillGrp.Text = "SkillGrp"; - this.ToggleViewSkillGrp.Click += new System.EventHandler(this.ToggleView); - // + ToggleViewSkillGrp.Checked = true; + ToggleViewSkillGrp.CheckState = System.Windows.Forms.CheckState.Checked; + ToggleViewSkillGrp.Name = "ToggleViewSkillGrp"; + ToggleViewSkillGrp.Size = new System.Drawing.Size(164, 22); + ToggleViewSkillGrp.Tag = 20; + ToggleViewSkillGrp.Text = "SkillGrp"; + ToggleViewSkillGrp.Click += ToggleView; + // // ToggleViewVerdata - // - this.ToggleViewVerdata.Checked = true; - this.ToggleViewVerdata.CheckState = System.Windows.Forms.CheckState.Checked; - this.ToggleViewVerdata.Name = "ToggleViewVerdata"; - this.ToggleViewVerdata.Size = new System.Drawing.Size(164, 22); - this.ToggleViewVerdata.Tag = 21; - this.ToggleViewVerdata.Text = "Verdata"; - this.ToggleViewVerdata.Click += new System.EventHandler(this.ToggleView); - // + // + ToggleViewVerdata.Checked = true; + ToggleViewVerdata.CheckState = System.Windows.Forms.CheckState.Checked; + ToggleViewVerdata.Name = "ToggleViewVerdata"; + ToggleViewVerdata.Size = new System.Drawing.Size(164, 22); + ToggleViewVerdata.Tag = 21; + ToggleViewVerdata.Text = "Verdata"; + ToggleViewVerdata.Click += ToggleView; + // // ExternToolsDropDown // - this.ExternToolsDropDown.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text; - this.ExternToolsDropDown.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.manageToolStripMenuItem}); - this.ExternToolsDropDown.ImageTransparentColor = System.Drawing.Color.Magenta; - this.ExternToolsDropDown.Name = "ExternToolsDropDown"; - this.ExternToolsDropDown.Size = new System.Drawing.Size(83, 22); - this.ExternToolsDropDown.Text = "Extern Tools"; + ExternToolsDropDown.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text; + ExternToolsDropDown.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { manageToolStripMenuItem }); + ExternToolsDropDown.ImageTransparentColor = System.Drawing.Color.Magenta; + ExternToolsDropDown.Name = "ExternToolsDropDown"; + ExternToolsDropDown.Size = new System.Drawing.Size(83, 22); + ExternToolsDropDown.Text = "Extern Tools"; // // manageToolStripMenuItem // - this.manageToolStripMenuItem.Name = "manageToolStripMenuItem"; - this.manageToolStripMenuItem.Size = new System.Drawing.Size(123, 22); - this.manageToolStripMenuItem.Text = "Manage.."; - this.manageToolStripMenuItem.Click += new System.EventHandler(this.OnClickToolManage); + manageToolStripMenuItem.Name = "manageToolStripMenuItem"; + manageToolStripMenuItem.Size = new System.Drawing.Size(123, 22); + manageToolStripMenuItem.Text = "Manage.."; + manageToolStripMenuItem.Click += OnClickToolManage; // // toolStripDropDownButtonPlugins // - this.toolStripDropDownButtonPlugins.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text; - this.toolStripDropDownButtonPlugins.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.manageToolStripMenuItem1, - this.tsPluginsSeparator}); - this.toolStripDropDownButtonPlugins.ImageTransparentColor = System.Drawing.Color.Magenta; - this.toolStripDropDownButtonPlugins.Name = "toolStripDropDownButtonPlugins"; - this.toolStripDropDownButtonPlugins.Size = new System.Drawing.Size(59, 22); - this.toolStripDropDownButtonPlugins.Text = "Plugins"; + toolStripDropDownButtonPlugins.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text; + toolStripDropDownButtonPlugins.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { manageToolStripMenuItem1, tsPluginsSeparator }); + toolStripDropDownButtonPlugins.ImageTransparentColor = System.Drawing.Color.Magenta; + toolStripDropDownButtonPlugins.Name = "toolStripDropDownButtonPlugins"; + toolStripDropDownButtonPlugins.Size = new System.Drawing.Size(59, 22); + toolStripDropDownButtonPlugins.Text = "Plugins"; // // manageToolStripMenuItem1 // - this.manageToolStripMenuItem1.Name = "manageToolStripMenuItem1"; - this.manageToolStripMenuItem1.Size = new System.Drawing.Size(123, 22); - this.manageToolStripMenuItem1.Text = "Manage.."; - this.manageToolStripMenuItem1.Click += new System.EventHandler(this.OnClickManagePlugins); + manageToolStripMenuItem1.Name = "manageToolStripMenuItem1"; + manageToolStripMenuItem1.Size = new System.Drawing.Size(123, 22); + manageToolStripMenuItem1.Text = "Manage.."; + manageToolStripMenuItem1.Click += OnClickManagePlugins; // // tsPluginsSeparator // - this.tsPluginsSeparator.Name = "tsPluginsSeparator"; - this.tsPluginsSeparator.Size = new System.Drawing.Size(120, 6); + tsPluginsSeparator.Name = "tsPluginsSeparator"; + tsPluginsSeparator.Size = new System.Drawing.Size(120, 6); // // toolStripDropDownButtonHelp // - this.toolStripDropDownButtonHelp.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text; - this.toolStripDropDownButtonHelp.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.toolStripMenuItemHelp, - this.toolStripSeparator1, - this.toolStripMenuItemAbout}); - this.toolStripDropDownButtonHelp.ImageTransparentColor = System.Drawing.Color.Magenta; - this.toolStripDropDownButtonHelp.Name = "toolStripDropDownButtonHelp"; - this.toolStripDropDownButtonHelp.Size = new System.Drawing.Size(45, 22); - this.toolStripDropDownButtonHelp.Text = "Help"; - this.toolStripDropDownButtonHelp.ToolTipText = "Help"; + toolStripDropDownButtonHelp.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text; + toolStripDropDownButtonHelp.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { toolStripMenuItemHelp, toolStripSeparator1, toolStripMenuItemAbout }); + toolStripDropDownButtonHelp.ImageTransparentColor = System.Drawing.Color.Magenta; + toolStripDropDownButtonHelp.Name = "toolStripDropDownButtonHelp"; + toolStripDropDownButtonHelp.Size = new System.Drawing.Size(45, 22); + toolStripDropDownButtonHelp.Text = "Help"; + toolStripDropDownButtonHelp.ToolTipText = "Help"; // // toolStripMenuItemHelp // - this.toolStripMenuItemHelp.Name = "toolStripMenuItemHelp"; - this.toolStripMenuItemHelp.Size = new System.Drawing.Size(107, 22); - this.toolStripMenuItemHelp.Text = "Help"; - this.toolStripMenuItemHelp.Click += new System.EventHandler(this.ToolStripMenuItemHelp_Click); + toolStripMenuItemHelp.Name = "toolStripMenuItemHelp"; + toolStripMenuItemHelp.Size = new System.Drawing.Size(107, 22); + toolStripMenuItemHelp.Text = "Help"; + toolStripMenuItemHelp.Click += ToolStripMenuItemHelp_Click; // // toolStripSeparator1 // - this.toolStripSeparator1.Name = "toolStripSeparator1"; - this.toolStripSeparator1.Size = new System.Drawing.Size(104, 6); + toolStripSeparator1.Name = "toolStripSeparator1"; + toolStripSeparator1.Size = new System.Drawing.Size(104, 6); // // toolStripMenuItemAbout // - this.toolStripMenuItemAbout.Name = "toolStripMenuItemAbout"; - this.toolStripMenuItemAbout.Size = new System.Drawing.Size(107, 22); - this.toolStripMenuItemAbout.Text = "About"; - this.toolStripMenuItemAbout.Click += new System.EventHandler(this.ToolStripMenuItemAbout_Click); + toolStripMenuItemAbout.Name = "toolStripMenuItemAbout"; + toolStripMenuItemAbout.Size = new System.Drawing.Size(107, 22); + toolStripMenuItemAbout.Text = "About"; + toolStripMenuItemAbout.Click += ToolStripMenuItemAbout_Click; + // + // toolStripSeparator2 + // + toolStripSeparator2.Name = "toolStripSeparator2"; + toolStripSeparator2.Size = new System.Drawing.Size(209, 6); + // + // toolStripSeparator3 + // + toolStripSeparator3.Name = "toolStripSeparator3"; + toolStripSeparator3.Size = new System.Drawing.Size(209, 6); // // MainForm // - this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F); - this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.ClientSize = new System.Drawing.Size(914, 651); - this.Controls.Add(this.TabPanel); - this.Controls.Add(this.tsMainMenu); - this.DoubleBuffered = true; - this.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); - this.MinimumSize = new System.Drawing.Size(750, 550); - this.Name = "MainForm"; - this.Text = "UOFiddler"; - this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.OnClosing); - this.TabPanel.ResumeLayout(false); - this.contextMenuStripMainForm.ResumeLayout(false); - this.StartTab.ResumeLayout(false); - this.StartTab.PerformLayout(); - this.MultisTab.ResumeLayout(false); - this.AnimationTab.ResumeLayout(false); - this.ItemsTab.ResumeLayout(false); - this.LandTilesTab.ResumeLayout(false); - this.TextureTab.ResumeLayout(false); - this.GumpsTab.ResumeLayout(false); - this.SoundsTab.ResumeLayout(false); - this.HuesTab.ResumeLayout(false); - this.FontsTab.ResumeLayout(false); - this.ClilocTab.ResumeLayout(false); - this.MapTab.ResumeLayout(false); - this.LightTab.ResumeLayout(false); - this.SpeechTab.ResumeLayout(false); - this.SkillsTab.ResumeLayout(false); - this.AnimDataTab.ResumeLayout(false); - this.MultiMapTab.ResumeLayout(false); - this.DressTab.ResumeLayout(false); - this.TileDataTab.ResumeLayout(false); - this.RadarColTab.ResumeLayout(false); - this.SkillGrpTab.ResumeLayout(false); - this.VerdataTab.ResumeLayout(false); - this.tsMainMenu.ResumeLayout(false); - this.tsMainMenu.PerformLayout(); - this.ResumeLayout(false); - this.PerformLayout(); + AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F); + AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + ClientSize = new System.Drawing.Size(914, 651); + Controls.Add(TabPanel); + Controls.Add(tsMainMenu); + DoubleBuffered = true; + Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); + MinimumSize = new System.Drawing.Size(750, 550); + Name = "MainForm"; + Text = "UOFiddler"; + FormClosing += OnClosing; + TabPanel.ResumeLayout(false); + contextMenuStripMainForm.ResumeLayout(false); + StartTab.ResumeLayout(false); + StartTab.PerformLayout(); + MultisTab.ResumeLayout(false); + AnimationTab.ResumeLayout(false); + ItemsTab.ResumeLayout(false); + LandTilesTab.ResumeLayout(false); + TextureTab.ResumeLayout(false); + GumpsTab.ResumeLayout(false); + SoundsTab.ResumeLayout(false); + HuesTab.ResumeLayout(false); + FontsTab.ResumeLayout(false); + ClilocTab.ResumeLayout(false); + MapTab.ResumeLayout(false); + LightTab.ResumeLayout(false); + SpeechTab.ResumeLayout(false); + SkillsTab.ResumeLayout(false); + AnimDataTab.ResumeLayout(false); + MultiMapTab.ResumeLayout(false); + DressTab.ResumeLayout(false); + TileDataTab.ResumeLayout(false); + RadarColTab.ResumeLayout(false); + SkillGrpTab.ResumeLayout(false); + VerdataTab.ResumeLayout(false); + tsMainMenu.ResumeLayout(false); + tsMainMenu.PerformLayout(); + ResumeLayout(false); + PerformLayout(); } @@ -1161,6 +1141,7 @@ private void InitializeComponent() private DressControl dressControl; private System.Windows.Forms.ToolStripDropDownButton SettingsMenu; private System.Windows.Forms.ToolStripMenuItem AlwaysOnTopMenuitem; + private System.Windows.Forms.ToolStripMenuItem darkModeMenuItem; private System.Windows.Forms.ToolStripMenuItem pathSettingsMenuItem; private System.Windows.Forms.ToolStripSeparator tsSettingsSeparator; private System.Windows.Forms.ToolStripMenuItem reloadFilesMenuItem; @@ -1215,6 +1196,8 @@ private void InitializeComponent() private System.Windows.Forms.ToolStripMenuItem toolStripMenuItemHelp; private System.Windows.Forms.ToolStripSeparator toolStripSeparator1; private System.Windows.Forms.ToolStripMenuItem toolStripMenuItemAbout; + private System.Windows.Forms.ToolStripSeparator toolStripSeparator3; + private System.Windows.Forms.ToolStripSeparator toolStripSeparator2; } } diff --git a/UoFiddler/Forms/MainForm.cs b/UoFiddler/Forms/MainForm.cs index 5ed75eee..0ed44a6f 100644 --- a/UoFiddler/Forms/MainForm.cs +++ b/UoFiddler/Forms/MainForm.cs @@ -20,6 +20,7 @@ using Ultima.Helpers; using UoFiddler.Classes; using UoFiddler.Controls.Classes; +using UoFiddler.Properties; using UoFiddler.Controls.Plugin; namespace UoFiddler.Forms @@ -51,6 +52,15 @@ public MainForm(ILogger logger) _log = logger; InitializeComponent(); + darkModeMenuItem.Checked = AppSettings.DarkMode; + + if (AppSettings.DarkMode) + { + StartTab.BackColor = Color.FromArgb(32, 32, 32); + StartTab.BackgroundImage = Resources.UOFiddler_bk; + reloadFilesMenuItem.ForeColor = Color.OrangeRed; + } + if (FiddlerOptions.StoreFormState) { if (FiddlerOptions.MaximisedForm) @@ -128,6 +138,13 @@ private void OnClickAlwaysTop(object sender, EventArgs e) ControlEvents.FireAlwaysOnTopChangeEvent(TopMost); } + private void OnClickDarkMode(object sender, EventArgs e) + { + AppSettings.DarkMode = darkModeMenuItem.Checked; + AppSettings.Save(); + MessageBox.Show("Dark mode setting will take effect after restarting the application.", "Restart Required", MessageBoxButtons.OK, MessageBoxIcon.Information); + } + private void ReloadFiles(object sender, EventArgs e) { Cursor.Current = Cursors.WaitCursor; @@ -702,7 +719,7 @@ private void ToolStripMenuItemHelp_Click(object sender, EventArgs e) { Process.Start(new ProcessStartInfo { - FileName = "http://uofiddler.polserver.com/help.html", + FileName = "https://uofiddler.polserver.com/", UseShellExecute = true }); } diff --git a/UoFiddler/Forms/MainForm.resx b/UoFiddler/Forms/MainForm.resx index 8e38f4b4..c11306e9 100644 --- a/UoFiddler/Forms/MainForm.resx +++ b/UoFiddler/Forms/MainForm.resx @@ -1,4 +1,64 @@ + + diff --git a/UoFiddler/Forms/OptionsForm.cs b/UoFiddler/Forms/OptionsForm.cs index d9f441c4..93471269 100644 --- a/UoFiddler/Forms/OptionsForm.cs +++ b/UoFiddler/Forms/OptionsForm.cs @@ -15,6 +15,7 @@ using System.Linq; using System.Windows.Forms; using Ultima; +using UoFiddler.Classes; using UoFiddler.Controls.Classes; namespace UoFiddler.Forms @@ -265,9 +266,18 @@ private void RestoreDefaultsButton_Click(object sender, EventArgs e) checkboxRemoveTileBorder.Checked = false; - TileFocusColorComboBox.SelectedItem = Color.DarkRed; - TileSelectionColorComboBox.SelectedItem = Color.DodgerBlue; - PreviewBackgroundColorButton.BackColor = Color.White; + if (AppSettings.DarkMode) + { + TileFocusColorComboBox.SelectedItem = Color.Red; + TileSelectionColorComboBox.SelectedItem = Color.MediumTurquoise; + PreviewBackgroundColorButton.BackColor = Color.FromArgb(32, 32, 32); + } + else + { + TileFocusColorComboBox.SelectedItem = Color.DarkRed; + TileSelectionColorComboBox.SelectedItem = Color.DodgerBlue; + PreviewBackgroundColorButton.BackColor = Color.White; + } } private void PreviewBackgroundColorButton_Click(object sender, EventArgs e) diff --git a/UoFiddler/Program.cs b/UoFiddler/Program.cs index fc8b7b48..fafec141 100644 --- a/UoFiddler/Program.cs +++ b/UoFiddler/Program.cs @@ -48,7 +48,7 @@ private static void Main() try { - FiddlerAppContext fiddlerAppContext = new FiddlerAppContext(serviceProvider); + FiddlerAppContext fiddlerAppContext = new(serviceProvider); Application.Run(fiddlerAppContext); } catch (Exception err) diff --git a/UoFiddler/Properties/Resources.Designer.cs b/UoFiddler/Properties/Resources.Designer.cs index 9101caf8..40d37de1 100644 --- a/UoFiddler/Properties/Resources.Designer.cs +++ b/UoFiddler/Properties/Resources.Designer.cs @@ -19,7 +19,7 @@ namespace UoFiddler.Properties { // class via a tool like ResGen or Visual Studio. // To add or remove a member, edit your .ResX file then rerun ResGen // with the /str option, or rebuild your VS project. - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "18.0.0.0")] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] public class Resources { @@ -70,6 +70,16 @@ public static System.Drawing.Bitmap UOFiddler { } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap UOFiddler_bk { + get { + object obj = ResourceManager.GetObject("UOFiddler-bk", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// Looks up a localized resource of type System.Drawing.Icon similar to (Icon). /// diff --git a/UoFiddler/Properties/Resources.resx b/UoFiddler/Properties/Resources.resx index 533362e3..6b9cbeb8 100644 --- a/UoFiddler/Properties/Resources.resx +++ b/UoFiddler/Properties/Resources.resx @@ -124,4 +124,7 @@ ..\Resources\UOFiddlerIcon.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\UOFiddler-bk.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + \ No newline at end of file diff --git a/UoFiddler/Resources/UOFiddler-bk.png b/UoFiddler/Resources/UOFiddler-bk.png new file mode 100644 index 00000000..c2b6dc04 Binary files /dev/null and b/UoFiddler/Resources/UOFiddler-bk.png differ diff --git a/UoFiddler/UoFiddler.csproj b/UoFiddler/UoFiddler.csproj index 374b5684..45c928cd 100644 --- a/UoFiddler/UoFiddler.csproj +++ b/UoFiddler/UoFiddler.csproj @@ -3,15 +3,15 @@ WinExe Resources\UOFiddlerIcon.ico UoFiddler.Program - net8.0-windows + net10.0-windows true false UoFiddler UoFiddler Copyright © 2026 - 4.19.4 - 4.19.4 - 4.19.4 + 4.20.0 + 4.20.0 + 4.20.0 true @@ -159,7 +159,6 @@ -