From b4a45e7ca9b88937203a4a10c210aa5bb8e32888 Mon Sep 17 00:00:00 2001 From: atenfyr Date: Thu, 23 Jan 2025 05:44:36 -0600 Subject: [PATCH] fix comic sans settings menu formatting; fix bug where scrolling zoom setting would add +3; new favorite thing joke feature --- UAssetGUI/Form1.cs | 1 + UAssetGUI/Properties/Resources.Designer.cs | 12 +- UAssetGUI/Properties/Resources.resx | 249 +++++++++++---------- UAssetGUI/Resources/dancing_cat.gif | Bin 0 -> 16997 bytes UAssetGUI/SettingsForm.Designer.cs | 41 ++-- UAssetGUI/SettingsForm.cs | 37 ++- UAssetGUI/UAGPalette.cs | 46 +++- 7 files changed, 243 insertions(+), 143 deletions(-) create mode 100644 UAssetGUI/Resources/dancing_cat.gif diff --git a/UAssetGUI/Form1.cs b/UAssetGUI/Form1.cs index c4e9d52..41a3f14 100644 --- a/UAssetGUI/Form1.cs +++ b/UAssetGUI/Form1.cs @@ -167,6 +167,7 @@ public Form1() // position of ByteViewer buttons depends on splitter location so resize if splitter moves splitContainer1.SplitterMoved += (sender, e) => { ForceResize(); }; + splitContainer1.SplitterDistance = UAGPalette.InitialSplitterDistance; // Drag-and-drop support DragEnter += new DragEventHandler(frm_DragEnter); diff --git a/UAssetGUI/Properties/Resources.Designer.cs b/UAssetGUI/Properties/Resources.Designer.cs index 2a9330a..4fa10bb 100644 --- a/UAssetGUI/Properties/Resources.Designer.cs +++ b/UAssetGUI/Properties/Resources.Designer.cs @@ -19,7 +19,7 @@ namespace UAssetGUI.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", "16.0.0.0")] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] internal class Resources { @@ -60,6 +60,16 @@ internal Resources() { } } + /// + /// Looks up a localized resource of type System.Byte[]. + /// + internal static byte[] dancing_cat { + get { + object obj = ResourceManager.GetObject("dancing_cat", resourceCulture); + return ((byte[])(obj)); + } + } + /// /// Looks up a localized resource of type System.Drawing.Icon similar to (Icon). /// diff --git a/UAssetGUI/Properties/Resources.resx b/UAssetGUI/Properties/Resources.resx index 95ac60c..5a0f535 100644 --- a/UAssetGUI/Properties/Resources.resx +++ b/UAssetGUI/Properties/Resources.resx @@ -1,124 +1,127 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - - ..\Resources\icon.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + ..\Resources\dancing_cat.gif;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ..\Resources\icon.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + \ No newline at end of file diff --git a/UAssetGUI/Resources/dancing_cat.gif b/UAssetGUI/Resources/dancing_cat.gif new file mode 100644 index 0000000000000000000000000000000000000000..a718a02a7fa7afaa331ae584d2f7a6371860e1b4 GIT binary patch literal 16997 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

`Qeq)+>W+9py{y+Z8M& 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 C7Kt_h literal 0 HcmV?d00001 diff --git a/UAssetGUI/SettingsForm.Designer.cs b/UAssetGUI/SettingsForm.Designer.cs index 5103ccc..a6a2c46 100644 --- a/UAssetGUI/SettingsForm.Designer.cs +++ b/UAssetGUI/SettingsForm.Designer.cs @@ -47,7 +47,9 @@ private void InitializeComponent() enablePrettyBytecode = new System.Windows.Forms.CheckBox(); label4 = new System.Windows.Forms.Label(); customSerializationFlagsBox = new System.Windows.Forms.CheckedListBox(); + pictureBox1 = new System.Windows.Forms.PictureBox(); ((System.ComponentModel.ISupportInitialize)numericUpDown1).BeginInit(); + ((System.ComponentModel.ISupportInitialize)pictureBox1).BeginInit(); SuspendLayout(); // // infoLabel @@ -81,7 +83,7 @@ private void InitializeComponent() // label1.AutoSize = true; label1.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.25F); - label1.Location = new System.Drawing.Point(65, 72); + label1.Location = new System.Drawing.Point(72, 72); label1.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); label1.Name = "label1"; label1.Size = new System.Drawing.Size(53, 16); @@ -92,7 +94,7 @@ private void InitializeComponent() // label2.AutoSize = true; label2.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.25F); - label2.Location = new System.Drawing.Point(15, 102); + label2.Location = new System.Drawing.Point(22, 102); label2.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); label2.Name = "label2"; label2.Size = new System.Drawing.Size(96, 16); @@ -118,7 +120,7 @@ private void InitializeComponent() // themeComboBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; themeComboBox.FormattingEnabled = true; - themeComboBox.Location = new System.Drawing.Point(135, 70); + themeComboBox.Location = new System.Drawing.Point(142, 70); themeComboBox.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); themeComboBox.Name = "themeComboBox"; themeComboBox.Size = new System.Drawing.Size(252, 23); @@ -127,7 +129,7 @@ private void InitializeComponent() // // favoriteThingBox // - favoriteThingBox.Location = new System.Drawing.Point(135, 100); + favoriteThingBox.Location = new System.Drawing.Point(142, 100); favoriteThingBox.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); favoriteThingBox.Name = "favoriteThingBox"; favoriteThingBox.Size = new System.Drawing.Size(252, 23); @@ -148,7 +150,7 @@ private void InitializeComponent() // // numericUpDown1 // - numericUpDown1.Location = new System.Drawing.Point(135, 130); + numericUpDown1.Location = new System.Drawing.Point(142, 130); numericUpDown1.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); numericUpDown1.Name = "numericUpDown1"; numericUpDown1.Size = new System.Drawing.Size(252, 23); @@ -159,7 +161,7 @@ private void InitializeComponent() // label3.AutoSize = true; label3.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.25F); - label3.Location = new System.Drawing.Point(75, 130); + label3.Location = new System.Drawing.Point(82, 130); label3.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); label3.Name = "label3"; label3.Size = new System.Drawing.Size(45, 16); @@ -254,7 +256,7 @@ private void InitializeComponent() // label4.AutoSize = true; label4.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.25F); - label4.Location = new System.Drawing.Point(75, 161); + label4.Location = new System.Drawing.Point(82, 161); label4.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); label4.Name = "label4"; label4.Size = new System.Drawing.Size(44, 16); @@ -265,7 +267,7 @@ private void InitializeComponent() // customSerializationFlagsBox.CheckOnClick = true; customSerializationFlagsBox.FormattingEnabled = true; - customSerializationFlagsBox.Location = new System.Drawing.Point(135, 161); + customSerializationFlagsBox.Location = new System.Drawing.Point(142, 161); customSerializationFlagsBox.Name = "customSerializationFlagsBox"; customSerializationFlagsBox.ScrollAlwaysVisible = true; customSerializationFlagsBox.SelectionMode = System.Windows.Forms.SelectionMode.None; @@ -273,11 +275,22 @@ private void InitializeComponent() customSerializationFlagsBox.TabIndex = 22; customSerializationFlagsBox.Click += customSerializationFlagsBox_Click; // + // pictureBox1 + // + pictureBox1.Location = new System.Drawing.Point(6, 10); + pictureBox1.Name = "pictureBox1"; + pictureBox1.Size = new System.Drawing.Size(61, 78); + pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage; + pictureBox1.TabIndex = 23; + pictureBox1.TabStop = false; + pictureBox1.Visible = false; + // // SettingsForm // AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F); AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; ClientSize = new System.Drawing.Size(421, 351); + Controls.Add(pictureBox1); Controls.Add(customSerializationFlagsBox); Controls.Add(label4); Controls.Add(enablePrettyBytecode); @@ -304,6 +317,7 @@ private void InitializeComponent() FormClosing += SettingsForm_FormClosing; Load += SettingsForm_Load; ((System.ComponentModel.ISupportInitialize)numericUpDown1).EndInit(); + ((System.ComponentModel.ISupportInitialize)pictureBox1).EndInit(); ResumeLayout(false); PerformLayout(); } @@ -316,10 +330,7 @@ private void InitializeComponent() private System.Windows.Forms.Label label2; private System.Windows.Forms.Button aboutButton; private System.Windows.Forms.ComboBox themeComboBox; - private System.Windows.Forms.TextBox favoriteThingBox; private System.Windows.Forms.CheckBox valuesOnScroll; - private System.Windows.Forms.NumericUpDown numericUpDown1; - private System.Windows.Forms.Label label3; private System.Windows.Forms.CheckBox enableDiscordRpc; private System.Windows.Forms.CheckBox enableDynamicTree; private System.Windows.Forms.CheckBox doubleClickToEdit; @@ -327,7 +338,11 @@ private void InitializeComponent() private System.Windows.Forms.CheckBox restoreSize; private System.Windows.Forms.CheckBox enableUpdateNotice; private System.Windows.Forms.CheckBox enablePrettyBytecode; - private System.Windows.Forms.Label label4; - private System.Windows.Forms.CheckedListBox customSerializationFlagsBox; + internal System.Windows.Forms.NumericUpDown numericUpDown1; + internal System.Windows.Forms.Label label3; + internal System.Windows.Forms.TextBox favoriteThingBox; + internal System.Windows.Forms.CheckedListBox customSerializationFlagsBox; + internal System.Windows.Forms.Label label4; + private System.Windows.Forms.PictureBox pictureBox1; } } \ No newline at end of file diff --git a/UAssetGUI/SettingsForm.cs b/UAssetGUI/SettingsForm.cs index b9b4d0d..1019561 100644 --- a/UAssetGUI/SettingsForm.cs +++ b/UAssetGUI/SettingsForm.cs @@ -1,5 +1,7 @@ using System; using System.Collections.Generic; +using System.Drawing; +using System.IO; using System.Linq; using System.Windows.Forms; using UAssetAPI; @@ -11,6 +13,7 @@ public partial class SettingsForm : Form public SettingsForm() { InitializeComponent(); + numericUpDown1.MouseWheel += NumericUpDown1_MouseWheel; } private Form1 BaseForm; @@ -137,7 +140,9 @@ private void enableDiscordRpc_CheckedChanged(object sender, EventArgs e) private void favoriteThingBox_TextChanged(object sender, EventArgs e) { UAGConfig.Data.FavoriteThing = favoriteThingBox.Text; - if (UAGConfig.Data.FavoriteThing.ToLowerInvariant().StartsWith("comic sans")) + string favoriteThingLowered = UAGConfig.Data.FavoriteThing.ToLowerInvariant().Trim(); + + if (UAGPalette.IsComicSans()) { isCurrentlyComicSans = true; UAGPalette.RefreshTheme(BaseForm); @@ -149,6 +154,19 @@ private void favoriteThingBox_TextChanged(object sender, EventArgs e) UAGPalette.RefreshTheme(BaseForm); UAGPalette.RefreshTheme(this); } + + if (favoriteThingLowered == "atenfyr" || favoriteThingLowered == "adolescent") + { + // need MemoryStream to remain open until we're done using the image + // no need to dispose MemoryStream so let's just let GC handle it once image stops being used + var strm = new MemoryStream(Properties.Resources.dancing_cat); + this.pictureBox1.Image = Image.FromStream(strm); + this.pictureBox1.Visible = true; + } + else + { + this.pictureBox1.Visible = false; + } } private void SettingsForm_FormClosing(object sender, FormClosingEventArgs e) @@ -176,6 +194,8 @@ private void numericUpDown1_ValueChanged(object sender, EventArgs e) private void customSerializationFlagsBox_Click(object sender, EventArgs e) { + // this logic is here to prevent default list box selection logic + // idea from https://stackoverflow.com/a/334672 for (int i = 0; i < customSerializationFlagsBox.Items.Count; i++) { @@ -199,5 +219,20 @@ private void customSerializationFlagsBox_Click(object sender, EventArgs e) UAGConfig.Data.CustomSerializationFlags = (int)res; } + + private void NumericUpDown1_MouseWheel(object sender, MouseEventArgs e) + { + // override default scroll logic to prevent weird +3 problem + if (e.Delta == 0) return; + ((HandledMouseEventArgs)e).Handled = true; + + UAGUtils.InvokeUI(() => + { + decimal newValue = numericUpDown1.Value + (e.Delta > 0 ? 1 : -1); + if (newValue < numericUpDown1.Minimum) newValue = numericUpDown1.Minimum; + if (newValue > numericUpDown1.Maximum) newValue = numericUpDown1.Maximum; + numericUpDown1.Value = newValue; + }); + } } } diff --git a/UAssetGUI/UAGPalette.cs b/UAssetGUI/UAGPalette.cs index 658529d..e39ebd2 100644 --- a/UAssetGUI/UAGPalette.cs +++ b/UAssetGUI/UAGPalette.cs @@ -63,10 +63,21 @@ public static void RefreshTheme(Form frm) }); } + ///

+ /// null = check based on favorite thing, false = force no comic sans, true = force yes comic sans + /// + public static bool? IsComicSansOverride = null; + public static bool IsComicSans() + { + if (IsComicSansOverride != null) return (bool)IsComicSansOverride; + return UAGConfig.Data.FavoriteThing.ToLowerInvariant().Trim().StartsWith("comic sans"); + } + private static Dictionary oldFontSettings = null; - private static void RefreshAllButtonsInControl(this Control ctrl) + private static void RefreshAllButtonsInControl(this Control ctrl, out bool needRefreshForComicSans) { + needRefreshForComicSans = false; foreach (Control ctrl2 in ctrl.Controls) { if (ctrl2 is Button butto) @@ -89,19 +100,25 @@ private static void RefreshAllButtonsInControl(this Control ctrl) gp.ForeColor = UAGPalette.ForeColor; } - if (UAGConfig.Data.FavoriteThing.ToLowerInvariant().StartsWith("comic sans")) + if (IsComicSans()) { + needRefreshForComicSans = true; if (oldFontSettings == null) oldFontSettings = new Dictionary(); if (ctrl2.Font.FontFamily.Name != "Comic Sans MS") oldFontSettings[ctrl2] = ctrl2.Font; ctrl2.Font = new Font("Comic Sans MS", ctrl2.Font.Size, ctrl2.Font.Style); } else if (oldFontSettings != null) { - if (oldFontSettings.ContainsKey(ctrl2) && oldFontSettings[ctrl2] != null) ctrl2.Font = oldFontSettings[ctrl2]; + if (oldFontSettings.ContainsKey(ctrl2) && oldFontSettings[ctrl2] != null) + { + ctrl2.Font = oldFontSettings[ctrl2]; + needRefreshForComicSans = true; + } oldFontSettings[ctrl2] = null; } - RefreshAllButtonsInControl(ctrl2); + RefreshAllButtonsInControl(ctrl2, out bool needRefreshForComicSansInner); + if (needRefreshForComicSansInner) needRefreshForComicSans = true; } } @@ -157,6 +174,7 @@ private static void AdjustMenuStrip(MenuStrip menuStrip1) } } + public static readonly int InitialSplitterDistance = 408; private static void RefreshThemeInternal(Form frm) { switch (CurrentTheme) @@ -183,6 +201,8 @@ private static void RefreshThemeInternal(Form frm) break; } + frm.RefreshAllButtonsInControl(out bool needRefreshForComicSans); + frm.Icon = Properties.Resources.icon; frm.BackColor = UAGPalette.BackColor; frm.ForeColor = UAGPalette.ForeColor; @@ -201,6 +221,12 @@ private static void RefreshThemeInternal(Form frm) AdjustDGV(frm1.dataGridView1); + // reset splitter if comic sans + if (needRefreshForComicSans) + { + frm1.splitContainer1.SplitterDistance = InitialSplitterDistance; + } + /*if (frm1.tableEditor != null) { frm1.tableEditor.Save(true); @@ -216,7 +242,17 @@ private static void RefreshThemeInternal(Form frm) { AdjustDGV(frm2.mstoDataGridView); } - frm.RefreshAllButtonsInControl(); + + // fix some strange formatting issues with the comic sans easter egg + // could just always execute this, but just in case this has other undesired effects, only execute it when needed + // (not actually that big a deal if the comic sans easter egg breaks something, but a big deal if we break something else just to fix the easter egg...) + if (frm is SettingsForm frm4 && needRefreshForComicSans) + { + frm4.numericUpDown1.Location = new Point(frm4.favoriteThingBox.Location.X, frm4.label3.Location.Y); + frm4.numericUpDown1.Size = frm4.favoriteThingBox.Size; + frm4.customSerializationFlagsBox.Location = new Point(frm4.favoriteThingBox.Location.X, frm4.label4.Location.Y); + frm4.customSerializationFlagsBox.Size = frm4.favoriteThingBox.Size; + } } } }