From 3352efdbbb885619fdf08c4e40ec64429c144495 Mon Sep 17 00:00:00 2001 From: AsY!um- <377468+AsYlum-@users.noreply.github.com> Date: Sun, 9 Mar 2025 16:52:09 +0100 Subject: [PATCH 01/13] Update animation list layout. --- .../AnimationListControl.Designer.cs | 154 ++++++++++++------ .../UserControls/AnimationListControl.cs | 20 +-- .../UserControls/AnimationListControl.resx | 4 +- 3 files changed, 116 insertions(+), 62 deletions(-) diff --git a/UoFiddler.Controls/UserControls/AnimationListControl.Designer.cs b/UoFiddler.Controls/UserControls/AnimationListControl.Designer.cs index 8b7f5f17..7723218d 100644 --- a/UoFiddler.Controls/UserControls/AnimationListControl.Designer.cs +++ b/UoFiddler.Controls/UserControls/AnimationListControl.Designer.cs @@ -44,9 +44,9 @@ private void InitializeComponent() TreeViewMobs = new System.Windows.Forms.TreeView(); contextMenuStrip2 = new System.Windows.Forms.ContextMenuStrip(components); removeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - FacingBar = new System.Windows.Forms.TrackBar(); tabControl1 = new System.Windows.Forms.TabControl(); tabPage1 = new System.Windows.Forms.TabPage(); + tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel(); splitContainer2 = new System.Windows.Forms.SplitContainer(); MainPictureBox = new AnimatedPictureBox(); contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(components); @@ -69,13 +69,17 @@ private void InitializeComponent() asTiffToolStripMenuItem2 = new System.Windows.Forms.ToolStripMenuItem(); asJpgToolStripMenuItem2 = new System.Windows.Forms.ToolStripMenuItem(); asPngToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + groupBoxSettings = new System.Windows.Forms.GroupBox(); + directionLabel = new System.Windows.Forms.Label(); + ShowFrameBoundsCheckBox = new System.Windows.Forms.CheckBox(); + AnimateCheckBox = new System.Windows.Forms.CheckBox(); + FacingBar = new System.Windows.Forms.TrackBar(); tabPage2 = new System.Windows.Forms.TabPage(); listView = new System.Windows.Forms.ListView(); statusStrip1 = new System.Windows.Forms.StatusStrip(); SettingsButton = new System.Windows.Forms.ToolStripDropDownButton(); sortAlphaToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); hueToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - animateToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator(); rewriteXmlToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); tryToFindNewGraphicsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); @@ -83,15 +87,14 @@ private void InitializeComponent() GraphicLabel = new System.Windows.Forms.ToolStripStatusLabel(); BaseGraphicLabel = new System.Windows.Forms.ToolStripStatusLabel(); HueLabel = new System.Windows.Forms.ToolStripStatusLabel(); - showFrameBoundsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); ((System.ComponentModel.ISupportInitialize)splitContainer1).BeginInit(); splitContainer1.Panel1.SuspendLayout(); splitContainer1.Panel2.SuspendLayout(); splitContainer1.SuspendLayout(); contextMenuStrip2.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)FacingBar).BeginInit(); tabControl1.SuspendLayout(); tabPage1.SuspendLayout(); + tableLayoutPanel1.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)splitContainer2).BeginInit(); splitContainer2.Panel1.SuspendLayout(); splitContainer2.Panel2.SuspendLayout(); @@ -99,6 +102,8 @@ private void InitializeComponent() ((System.ComponentModel.ISupportInitialize)MainPictureBox).BeginInit(); contextMenuStrip1.SuspendLayout(); contextMenuStrip3.SuspendLayout(); + groupBoxSettings.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)FacingBar).BeginInit(); tabPage2.SuspendLayout(); statusStrip1.SuspendLayout(); SuspendLayout(); @@ -116,7 +121,6 @@ private void InitializeComponent() // // splitContainer1.Panel2 // - splitContainer1.Panel2.Controls.Add(FacingBar); splitContainer1.Panel2.Controls.Add(tabControl1); splitContainer1.Panel2.Controls.Add(statusStrip1); splitContainer1.Size = new System.Drawing.Size(740, 400); @@ -151,19 +155,6 @@ private void InitializeComponent() removeToolStripMenuItem.Text = "Remove"; removeToolStripMenuItem.Click += OnClickRemove; // - // FacingBar - // - FacingBar.Anchor = System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right; - FacingBar.AutoSize = false; - FacingBar.LargeChange = 1; - FacingBar.Location = new System.Drawing.Point(356, 377); - FacingBar.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); - FacingBar.Maximum = 7; - FacingBar.Name = "FacingBar"; - FacingBar.Size = new System.Drawing.Size(103, 23); - FacingBar.TabIndex = 2; - FacingBar.Scroll += OnScrollFacing; - // // tabControl1 // tabControl1.Controls.Add(tabPage1); @@ -178,7 +169,7 @@ private void InitializeComponent() // // tabPage1 // - tabPage1.Controls.Add(splitContainer2); + tabPage1.Controls.Add(tableLayoutPanel1); tabPage1.Location = new System.Drawing.Point(4, 24); tabPage1.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); tabPage1.Name = "tabPage1"; @@ -188,12 +179,27 @@ private void InitializeComponent() tabPage1.Text = "Animation"; tabPage1.UseVisualStyleBackColor = true; // + // tableLayoutPanel1 + // + tableLayoutPanel1.ColumnCount = 2; + tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F)); + tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 160F)); + tableLayoutPanel1.Controls.Add(splitContainer2, 0, 0); + tableLayoutPanel1.Controls.Add(groupBoxSettings, 1, 0); + tableLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Fill; + tableLayoutPanel1.Location = new System.Drawing.Point(4, 3); + tableLayoutPanel1.Name = "tableLayoutPanel1"; + tableLayoutPanel1.RowCount = 1; + tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F)); + tableLayoutPanel1.Size = new System.Drawing.Size(480, 344); + tableLayoutPanel1.TabIndex = 3; + // // splitContainer2 // splitContainer2.Dock = System.Windows.Forms.DockStyle.Fill; splitContainer2.FixedPanel = System.Windows.Forms.FixedPanel.Panel2; splitContainer2.IsSplitterFixed = true; - splitContainer2.Location = new System.Drawing.Point(4, 3); + splitContainer2.Location = new System.Drawing.Point(3, 3); splitContainer2.Name = "splitContainer2"; splitContainer2.Orientation = System.Windows.Forms.Orientation.Horizontal; // @@ -206,9 +212,9 @@ private void InitializeComponent() // splitContainer2.Panel2.Controls.Add(listView1); splitContainer2.Panel2MinSize = 150; - splitContainer2.Size = new System.Drawing.Size(480, 344); - splitContainer2.SplitterDistance = 150; - splitContainer2.TabIndex = 2; + splitContainer2.Size = new System.Drawing.Size(314, 338); + splitContainer2.SplitterDistance = 184; + splitContainer2.TabIndex = 3; // // MainPictureBox // @@ -219,7 +225,8 @@ private void InitializeComponent() MainPictureBox.FrameIndex = 0; MainPictureBox.Location = new System.Drawing.Point(0, 0); MainPictureBox.Name = "MainPictureBox"; - MainPictureBox.Size = new System.Drawing.Size(480, 150); + MainPictureBox.ShowFrameBounds = false; + MainPictureBox.Size = new System.Drawing.Size(314, 184); MainPictureBox.TabIndex = 1; MainPictureBox.TabStop = false; // @@ -318,12 +325,12 @@ private void InitializeComponent() listView1.Alignment = System.Windows.Forms.ListViewAlignment.Left; listView1.ContextMenuStrip = contextMenuStrip3; listView1.Dock = System.Windows.Forms.DockStyle.Bottom; - listView1.Location = new System.Drawing.Point(0, 72); + listView1.Location = new System.Drawing.Point(0, 32); listView1.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); listView1.MultiSelect = false; listView1.Name = "listView1"; listView1.OwnerDraw = true; - listView1.Size = new System.Drawing.Size(480, 118); + listView1.Size = new System.Drawing.Size(314, 118); listView1.TabIndex = 0; listView1.TileSize = new System.Drawing.Size(81, 110); listView1.UseCompatibleStateImageBehavior = false; @@ -372,6 +379,63 @@ private void InitializeComponent() asPngToolStripMenuItem.Text = "As Png"; asPngToolStripMenuItem.Click += OnClickExportFramePng; // + // groupBoxSettings + // + groupBoxSettings.Controls.Add(directionLabel); + groupBoxSettings.Controls.Add(ShowFrameBoundsCheckBox); + groupBoxSettings.Controls.Add(AnimateCheckBox); + groupBoxSettings.Controls.Add(FacingBar); + groupBoxSettings.Dock = System.Windows.Forms.DockStyle.Bottom; + groupBoxSettings.Location = new System.Drawing.Point(323, 218); + groupBoxSettings.Name = "groupBoxSettings"; + groupBoxSettings.Size = new System.Drawing.Size(154, 123); + groupBoxSettings.TabIndex = 4; + groupBoxSettings.TabStop = false; + groupBoxSettings.Text = "Frames"; + // + // directionLabel + // + directionLabel.AutoSize = true; + directionLabel.Location = new System.Drawing.Point(7, 69); + directionLabel.Name = "directionLabel"; + directionLabel.Size = new System.Drawing.Size(55, 15); + directionLabel.TabIndex = 8; + directionLabel.Text = "Direction"; + // + // ShowFrameBoundsCheckBox + // + ShowFrameBoundsCheckBox.AutoSize = true; + ShowFrameBoundsCheckBox.Location = new System.Drawing.Point(7, 47); + ShowFrameBoundsCheckBox.Name = "ShowFrameBoundsCheckBox"; + ShowFrameBoundsCheckBox.Size = new System.Drawing.Size(132, 19); + ShowFrameBoundsCheckBox.TabIndex = 7; + ShowFrameBoundsCheckBox.Text = "Show frame bounds"; + ShowFrameBoundsCheckBox.UseVisualStyleBackColor = true; + ShowFrameBoundsCheckBox.Click += ShowFrameBoundsCheckBox_Click; + // + // AnimateCheckBox + // + AnimateCheckBox.AutoSize = true; + AnimateCheckBox.Location = new System.Drawing.Point(7, 22); + AnimateCheckBox.Name = "AnimateCheckBox"; + AnimateCheckBox.Size = new System.Drawing.Size(71, 19); + AnimateCheckBox.TabIndex = 6; + AnimateCheckBox.Text = "Animate"; + AnimateCheckBox.UseVisualStyleBackColor = true; + AnimateCheckBox.Click += AnimateCheckBox_Click; + // + // FacingBar + // + FacingBar.AutoSize = false; + FacingBar.LargeChange = 1; + FacingBar.Location = new System.Drawing.Point(7, 87); + FacingBar.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); + FacingBar.Maximum = 7; + FacingBar.Name = "FacingBar"; + FacingBar.Size = new System.Drawing.Size(140, 23); + FacingBar.TabIndex = 5; + FacingBar.Scroll += OnScrollFacing; + // // tabPage2 // tabPage2.Controls.Add(listView); @@ -418,7 +482,7 @@ private void InitializeComponent() // SettingsButton // SettingsButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text; - SettingsButton.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { sortAlphaToolStripMenuItem, hueToolStripMenuItem, animateToolStripMenuItem, showFrameBoundsToolStripMenuItem, toolStripSeparator1, rewriteXmlToolStripMenuItem, tryToFindNewGraphicsToolStripMenuItem, animationEditToolStripMenuItem }); + SettingsButton.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { sortAlphaToolStripMenuItem, hueToolStripMenuItem, toolStripSeparator1, rewriteXmlToolStripMenuItem, tryToFindNewGraphicsToolStripMenuItem, animationEditToolStripMenuItem }); SettingsButton.ImageTransparentColor = System.Drawing.Color.Magenta; SettingsButton.Name = "SettingsButton"; SettingsButton.Size = new System.Drawing.Size(62, 20); @@ -440,14 +504,6 @@ private void InitializeComponent() hueToolStripMenuItem.Text = "Hue"; hueToolStripMenuItem.Click += OnClick_Hue; // - // animateToolStripMenuItem - // - animateToolStripMenuItem.CheckOnClick = true; - animateToolStripMenuItem.Name = "animateToolStripMenuItem"; - animateToolStripMenuItem.Size = new System.Drawing.Size(201, 22); - animateToolStripMenuItem.Text = "Animate"; - animateToolStripMenuItem.Click += Animate_Click; - // // toolStripSeparator1 // toolStripSeparator1.Name = "toolStripSeparator1"; @@ -502,13 +558,6 @@ private void InitializeComponent() HueLabel.Text = "Hue:"; HueLabel.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; // - // showFrameBoundsToolStripMenuItem - // - showFrameBoundsToolStripMenuItem.Name = "showFrameBoundsToolStripMenuItem"; - showFrameBoundsToolStripMenuItem.Size = new System.Drawing.Size(201, 22); - showFrameBoundsToolStripMenuItem.Text = "Show frame bounds"; - showFrameBoundsToolStripMenuItem.Click += OnClickShowFrameBounds; - // // AnimationListControl // AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F); @@ -525,9 +574,9 @@ private void InitializeComponent() ((System.ComponentModel.ISupportInitialize)splitContainer1).EndInit(); splitContainer1.ResumeLayout(false); contextMenuStrip2.ResumeLayout(false); - ((System.ComponentModel.ISupportInitialize)FacingBar).EndInit(); tabControl1.ResumeLayout(false); tabPage1.ResumeLayout(false); + tableLayoutPanel1.ResumeLayout(false); splitContainer2.Panel1.ResumeLayout(false); splitContainer2.Panel2.ResumeLayout(false); ((System.ComponentModel.ISupportInitialize)splitContainer2).EndInit(); @@ -535,6 +584,9 @@ private void InitializeComponent() ((System.ComponentModel.ISupportInitialize)MainPictureBox).EndInit(); contextMenuStrip1.ResumeLayout(false); contextMenuStrip3.ResumeLayout(false); + groupBoxSettings.ResumeLayout(false); + groupBoxSettings.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)FacingBar).EndInit(); tabPage2.ResumeLayout(false); statusStrip1.ResumeLayout(false); statusStrip1.PerformLayout(); @@ -542,8 +594,6 @@ private void InitializeComponent() } #endregion - - private System.Windows.Forms.ToolStripMenuItem animateToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem animationEditToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem asBMpToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem asBmpToolStripMenuItem1; @@ -564,7 +614,6 @@ private void InitializeComponent() private System.Windows.Forms.ToolStripMenuItem exportFrameToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem extractAnimationToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem extractImageToolStripMenuItem; - private System.Windows.Forms.TrackBar FacingBar; private System.Windows.Forms.ToolStripStatusLabel GraphicLabel; private System.Windows.Forms.ToolStripStatusLabel HueLabel; private System.Windows.Forms.ToolStripMenuItem hueToolStripMenuItem; @@ -581,11 +630,16 @@ private void InitializeComponent() private System.Windows.Forms.ToolStripMenuItem asAnimatedGifnoLoopingToolStripMenuItem; private System.Windows.Forms.TabControl tabControl1; private System.Windows.Forms.TabPage tabPage1; - private System.Windows.Forms.SplitContainer splitContainer2; - private ListViewWithScrollbar listView1; - private AnimatedPictureBox MainPictureBox; private System.Windows.Forms.TabPage tabPage2; private System.Windows.Forms.ListView listView; - private System.Windows.Forms.ToolStripMenuItem showFrameBoundsToolStripMenuItem; + private System.Windows.Forms.TableLayoutPanel tableLayoutPanel1; + private System.Windows.Forms.SplitContainer splitContainer2; + private AnimatedPictureBox MainPictureBox; + private ListViewWithScrollbar listView1; + private System.Windows.Forms.GroupBox groupBoxSettings; + private System.Windows.Forms.TrackBar FacingBar; + private System.Windows.Forms.CheckBox AnimateCheckBox; + private System.Windows.Forms.CheckBox ShowFrameBoundsCheckBox; + private System.Windows.Forms.Label directionLabel; } } diff --git a/UoFiddler.Controls/UserControls/AnimationListControl.cs b/UoFiddler.Controls/UserControls/AnimationListControl.cs index d2953df7..672ec2b2 100644 --- a/UoFiddler.Controls/UserControls/AnimationListControl.cs +++ b/UoFiddler.Controls/UserControls/AnimationListControl.cs @@ -161,8 +161,8 @@ private void Reload() _sortAlpha = false; _displayType = 0; MainPictureBox.Reset(); - animateToolStripMenuItem.Checked = false; - showFrameBoundsToolStripMenuItem.Checked = false; + AnimateCheckBox.Checked = false; + ShowFrameBoundsCheckBox.Checked = false; OnLoad(this, EventArgs.Empty); } @@ -380,12 +380,6 @@ private void TreeViewMobs_AfterSelect(object sender, TreeViewEventArgs e) } } - private void Animate_Click(object sender, EventArgs e) - { - MainPictureBox.Animate = !MainPictureBox.Animate; - animateToolStripMenuItem.Checked = MainPictureBox.Animate; - } - private bool LoadXml() { string fileName = Path.Combine(Options.AppDataPath, "Animationlist.xml"); @@ -940,10 +934,16 @@ private void Frames_ListView_Click(object sender, EventArgs e) MainPictureBox.FrameIndex = index; } - private void OnClickShowFrameBounds(object sender, EventArgs e) + private void AnimateCheckBox_Click(object sender, EventArgs e) + { + MainPictureBox.Animate = !MainPictureBox.Animate; + AnimateCheckBox.Checked = MainPictureBox.Animate; + } + + private void ShowFrameBoundsCheckBox_Click(object sender, EventArgs e) { MainPictureBox.ShowFrameBounds = !MainPictureBox.ShowFrameBounds; - showFrameBoundsToolStripMenuItem.Checked = MainPictureBox.ShowFrameBounds; + ShowFrameBoundsCheckBox.Checked = MainPictureBox.ShowFrameBounds; } } diff --git a/UoFiddler.Controls/UserControls/AnimationListControl.resx b/UoFiddler.Controls/UserControls/AnimationListControl.resx index b28b2532..35f7dc33 100644 --- a/UoFiddler.Controls/UserControls/AnimationListControl.resx +++ b/UoFiddler.Controls/UserControls/AnimationListControl.resx @@ -1,7 +1,7 @@ @@ -63,23 +123,26 @@ 12, 14 - - 448, 47 + + 17, 56 + + + 343, 17 196, 12 - - 343, 17 + + 448, 47 - - 17, 56 + + 448, 47 iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAL - EQAACxEBf2RfkQAAAUhJREFUeF7tlttpw1AQRAX5TQmpIi4k6STpxOnELsRVOB0kvwZnLkEgxMhrPb27 + DAAACwwBP0AiyAAAAUhJREFUeF7tlttpw1AQRAX5TQmpIi4k6STpxOnELsRVOB0kvwZnLkEgxMhrPb27 dw4cMP7aEejYjRBCCCGEEEJM5Ahf/j/WyRX+wk/4VL6ojfIAWk9wB6ui+wCKF/gFn2EV9B9A6zd8h+lh 47umjyQb3Td1JNngIVNGkg29ZbpIspH3mCaSbNwYw0eSjRpr6EiyQVMNGUk2ZI7hIslGLGGYSLLjl9R9 JNnRS+s6kuzgtXQZSXbomrqLJDtyC91Ekh23hWf4Bh8OO25Nyyuwh1W+AiWCr9AV7NCl/YEfsMqfwQOs From ca88c982e7d91ef87afa3a5b8571a4443a35d329 Mon Sep 17 00:00:00 2001 From: AsY!um- <377468+AsYlum-@users.noreply.github.com> Date: Sun, 9 Mar 2025 18:00:51 +0100 Subject: [PATCH 03/13] Update change log and version. --- UoFiddler/Forms/AboutBoxForm.resx | 5 ++++- UoFiddler/UoFiddler.csproj | 6 +++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/UoFiddler/Forms/AboutBoxForm.resx b/UoFiddler/Forms/AboutBoxForm.resx index 18b1e505..af096398 100644 --- a/UoFiddler/Forms/AboutBoxForm.resx +++ b/UoFiddler/Forms/AboutBoxForm.resx @@ -118,7 +118,10 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - Version 4.17.5 + Version 4.17.6 +- Updated layout for animation list and editor. + +Version 4.17.5 - Added PNG format when inserting or replacing graphics. Version 4.17.4 diff --git a/UoFiddler/UoFiddler.csproj b/UoFiddler/UoFiddler.csproj index 0865dce4..4c868357 100644 --- a/UoFiddler/UoFiddler.csproj +++ b/UoFiddler/UoFiddler.csproj @@ -9,9 +9,9 @@ UoFiddler UoFiddler Copyright © 2024 - 4.17.5 - 4.17.5 - 4.17.5 + 4.17.6 + 4.17.6 + 4.17.6 true From 9382fecf9f7bef5ace9a8b2fa6e92d9712156713 Mon Sep 17 00:00:00 2001 From: AsY!um- <377468+AsYlum-@users.noreply.github.com> Date: Sun, 9 Mar 2025 23:11:11 +0100 Subject: [PATCH 04/13] Fix mul operations when verdata is present. --- Ultima/FileIndex.cs | 15 +++++++++++++-- Ultima/Gumps.cs | 36 +++++++++++++++++++++++++++--------- 2 files changed, 40 insertions(+), 11 deletions(-) diff --git a/Ultima/FileIndex.cs b/Ultima/FileIndex.cs index 7447c8e2..975d393c 100644 --- a/Ultima/FileIndex.cs +++ b/Ultima/FileIndex.cs @@ -274,15 +274,17 @@ public Stream Seek(int index, out int length, out int extra, out bool patched) return FileAccessor.Stream; } - public Stream Seek(int index, ref IEntry entry) + public Stream Seek(int index, ref IEntry entry, out bool patched) { if (FileAccessor is null) { + patched = false; return null; } if (index < 0 || index >= FileAccessor.IndexLength) { + patched = false; return null; } @@ -290,11 +292,14 @@ public Stream Seek(int index, ref IEntry entry) if (e.Lookup < 0) { + patched = false; return null; } - if (e.Length < 0) + var length = e.Length & 0x7FFFFFFF; + if (length < 0) { + patched = false; return null; } @@ -302,12 +307,14 @@ public Stream Seek(int index, ref IEntry entry) if ((e.Length & (1 << 31)) != 0) { + patched = true; Verdata.Seek(e.Lookup); return Verdata.Stream; } if (e.Length < 0) { + patched = false; return null; } @@ -318,14 +325,18 @@ public Stream Seek(int index, ref IEntry entry) if (FileAccessor.Stream == null) { + patched = false; return null; } if (FileAccessor.Stream.Length < e.Lookup) { + patched = false; return null; } + patched = false; + FileAccessor.Stream.Seek(e.Lookup, SeekOrigin.Begin); return FileAccessor.Stream; } diff --git a/Ultima/Gumps.cs b/Ultima/Gumps.cs index a3be8709..0b338781 100644 --- a/Ultima/Gumps.cs +++ b/Ultima/Gumps.cs @@ -133,7 +133,7 @@ public static byte[] GetRawGump(int index, out int width, out int height) height = -1; IEntry entry = null; - Stream stream = _fileIndex.Seek(index, ref entry); + Stream stream = _fileIndex.Seek(index, ref entry, out bool patched); if (stream == null || entry == null) { return null; @@ -147,6 +147,11 @@ public static byte[] GetRawGump(int index, out int width, out int height) // Compressed UOPs if (entry.Flag >= CompressionFlag.Zlib) { + if (patched) + { + throw new InvalidOperationException("Verdata.mul is not supported for compressed UOP"); + } + if (_streamBuffer == null || _streamBuffer.Length < entry.Length) { _streamBuffer = new byte[entry.Length]; @@ -193,8 +198,14 @@ public static byte[] GetRawGump(int index, out int width, out int height) return _streamBuffer; } - var buffer = new byte[entry.Length]; - stream.Read(buffer, 0, entry.Length); + var length = entry.Length; + if (patched) + { + length = entry.Length & 0x7FFFFFFF; + } + + var buffer = new byte[length]; + stream.ReadExactly(buffer, 0, length); stream.Close(); return buffer; @@ -208,6 +219,7 @@ public static byte[] GetRawGump(int index, out int width, out int height) /// /// /// + // TODO: Currently unused and may be broken because of recent UOP changes. Needs verdata `patched` checks and compression handling public static unsafe Bitmap GetGump(int index, Hue hue, bool onlyHueGrayPixels, out bool patched) { Stream stream = _fileIndex.Seek(index, out int length, out int extra, out patched); @@ -405,7 +417,7 @@ public static unsafe Bitmap GetGump(int index, out bool patched) } IEntry entry = null; - Stream stream = _fileIndex.Seek(index, ref entry); + Stream stream = _fileIndex.Seek(index, ref entry, out patched); if (stream == null || entry == null) { return null; @@ -422,12 +434,18 @@ public static unsafe Bitmap GetGump(int index, out bool patched) _patched[index] = true; } - if (_streamBuffer == null || _streamBuffer.Length < entry.Length) + var length = entry.Length; + if (patched) + { + length = entry.Length & 0x7FFFFFFF; + } + + if (_streamBuffer == null || _streamBuffer.Length < length) { - _streamBuffer = new byte[entry.Length]; + _streamBuffer = new byte[length]; } - stream.Read(_streamBuffer, 0, entry.Length); + stream.Read(_streamBuffer, 0, length); uint width = (uint)entry.Extra1; uint height = (uint)entry.Extra2; @@ -544,8 +562,8 @@ public static unsafe void Save(string path) if ((bmp == null) || (_removed[index])) { binidx.Write(-1); // lookup - binidx.Write(-1); // length - binidx.Write(-1); // extra + binidx.Write(0); // length + binidx.Write(0); // extra } else { From 565268e59052a1564f0bb8da815c1d005b48c115 Mon Sep 17 00:00:00 2001 From: AsY!um- <377468+AsYlum-@users.noreply.github.com> Date: Fri, 14 Mar 2025 23:10:27 +0100 Subject: [PATCH 05/13] Avoid crashes when using "Export all". Update gump file names when exporting. --- UoFiddler.Controls/UserControls/GumpControl.cs | 16 +++++++++++++--- UoFiddler.Controls/UserControls/ItemsControl.cs | 8 +++++++- .../UserControls/LandTilesControl.cs | 8 +++++++- .../UserControls/TexturesControl.cs | 8 +++++++- 4 files changed, 34 insertions(+), 6 deletions(-) diff --git a/UoFiddler.Controls/UserControls/GumpControl.cs b/UoFiddler.Controls/UserControls/GumpControl.cs index d6e3c979..8af37f95 100644 --- a/UoFiddler.Controls/UserControls/GumpControl.cs +++ b/UoFiddler.Controls/UserControls/GumpControl.cs @@ -519,7 +519,7 @@ private void Extract_Image_ClickPng(object sender, EventArgs e) private static void ExportGumpImage(int index, ImageFormat imageFormat) { string fileExtension = Utils.GetFileExtensionFor(imageFormat); - string fileName = Path.Combine(Options.OutputPath, $"Gump {index}.{fileExtension}"); + string fileName = Path.Combine(Options.OutputPath, $"Gump 0x{index:X4}.{fileExtension}"); using (Bitmap bit = new Bitmap(Gumps.GetGump(index))) { @@ -567,6 +567,8 @@ private void ExportAllGumps(ImageFormat imageFormat) return; } + Cursor.Current = Cursors.WaitCursor; + for (int i = 0; i < listBox.Items.Count; ++i) { int index = int.Parse(listBox.Items[i].ToString()); @@ -575,13 +577,21 @@ private void ExportAllGumps(ImageFormat imageFormat) continue; } - string fileName = Path.Combine(dialog.SelectedPath, $"Gump {index}.{fileExtension}"); - using (Bitmap bit = new Bitmap(Gumps.GetGump(index))) + string fileName = Path.Combine(dialog.SelectedPath, $"Gump 0x{index:X4}.{fileExtension}"); + var gump = Gumps.GetGump(index); + if (gump is null) + { + continue; + } + + using (Bitmap bit = new Bitmap(gump)) { bit.Save(fileName, imageFormat); } } + Cursor.Current = Cursors.Default; + MessageBox.Show($"All Gumps saved to {dialog.SelectedPath}", "Saved", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1); } diff --git a/UoFiddler.Controls/UserControls/ItemsControl.cs b/UoFiddler.Controls/UserControls/ItemsControl.cs index 636cb0a1..7f190d5b 100644 --- a/UoFiddler.Controls/UserControls/ItemsControl.cs +++ b/UoFiddler.Controls/UserControls/ItemsControl.cs @@ -805,7 +805,13 @@ private void ExportAllItemImages(ImageFormat imageFormat) } string fileName = Path.Combine(dialog.SelectedPath, $"Item 0x{index:X4}.{fileExtension}"); - using (Bitmap bit = new Bitmap(Art.GetStatic(index))) + var artBitmap = Art.GetStatic(index); + if (artBitmap is null) + { + continue; + } + + using (Bitmap bit = new Bitmap(artBitmap)) { bit.Save(fileName, imageFormat); } diff --git a/UoFiddler.Controls/UserControls/LandTilesControl.cs b/UoFiddler.Controls/UserControls/LandTilesControl.cs index dfdf4833..0587e37f 100644 --- a/UoFiddler.Controls/UserControls/LandTilesControl.cs +++ b/UoFiddler.Controls/UserControls/LandTilesControl.cs @@ -605,7 +605,13 @@ private void ExportAllLandTiles(ImageFormat imageFormat) } string fileName = Path.Combine(dialog.SelectedPath, $"Landtile 0x{index:X4}.{fileExtension}"); - using (Bitmap bit = new Bitmap(Art.GetLand(index))) + var landTile = Art.GetLand(index); + if (landTile is null) + { + continue; + } + + using (Bitmap bit = new Bitmap(landTile)) { bit.Save(fileName, imageFormat); } diff --git a/UoFiddler.Controls/UserControls/TexturesControl.cs b/UoFiddler.Controls/UserControls/TexturesControl.cs index d72573c8..1448c34b 100644 --- a/UoFiddler.Controls/UserControls/TexturesControl.cs +++ b/UoFiddler.Controls/UserControls/TexturesControl.cs @@ -534,7 +534,13 @@ private void ExportAllTextures(ImageFormat imageFormat) } string fileName = Path.Combine(dialog.SelectedPath, $"Texture 0x{index:X4}.{fileExtension}"); - using (Bitmap bit = new Bitmap(Textures.GetTexture(index))) + var texture = Textures.GetTexture(index); + if (texture is null) + { + continue; + } + + using (Bitmap bit = new Bitmap(texture)) { bit.Save(fileName, imageFormat); } From 8bef6724a33a82f45e20774c613e76eff9128f7a Mon Sep 17 00:00:00 2001 From: AsY!um- <377468+AsYlum-@users.noreply.github.com> Date: Fri, 14 Mar 2025 23:26:18 +0100 Subject: [PATCH 06/13] Update packages. --- UoFiddler.Controls/UoFiddler.Controls.csproj | 4 ++-- .../UoFiddler.Plugin.MultiEditor.csproj | 2 +- UoFiddler/UoFiddler.csproj | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/UoFiddler.Controls/UoFiddler.Controls.csproj b/UoFiddler.Controls/UoFiddler.Controls.csproj index 828c9371..b5e93d06 100644 --- a/UoFiddler.Controls/UoFiddler.Controls.csproj +++ b/UoFiddler.Controls/UoFiddler.Controls.csproj @@ -428,8 +428,8 @@ - - + + \ No newline at end of file diff --git a/UoFiddler.Plugin.MultiEditor/UoFiddler.Plugin.MultiEditor.csproj b/UoFiddler.Plugin.MultiEditor/UoFiddler.Plugin.MultiEditor.csproj index c8dd2e03..b8c97a1b 100644 --- a/UoFiddler.Plugin.MultiEditor/UoFiddler.Plugin.MultiEditor.csproj +++ b/UoFiddler.Plugin.MultiEditor/UoFiddler.Plugin.MultiEditor.csproj @@ -63,6 +63,6 @@ - + \ No newline at end of file diff --git a/UoFiddler/UoFiddler.csproj b/UoFiddler/UoFiddler.csproj index 4c868357..1074921c 100644 --- a/UoFiddler/UoFiddler.csproj +++ b/UoFiddler/UoFiddler.csproj @@ -153,7 +153,7 @@ - + From 7d69012570853ef7f1f1347ce633d8b7239ad6bd Mon Sep 17 00:00:00 2001 From: AsY!um- <377468+AsYlum-@users.noreply.github.com> Date: Fri, 14 Mar 2025 23:26:26 +0100 Subject: [PATCH 07/13] Update change log and version. --- UoFiddler/Forms/AboutBoxForm.resx | 6 +++++- UoFiddler/UoFiddler.csproj | 6 +++--- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/UoFiddler/Forms/AboutBoxForm.resx b/UoFiddler/Forms/AboutBoxForm.resx index af096398..b3c6e38f 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.17.6 + Version 4.17.7 +- Avoid crashes when using "Export all". +- Updated gump file names when exporting. + +Version 4.17.6 - Updated layout for animation list and editor. Version 4.17.5 diff --git a/UoFiddler/UoFiddler.csproj b/UoFiddler/UoFiddler.csproj index 1074921c..85cb7ab3 100644 --- a/UoFiddler/UoFiddler.csproj +++ b/UoFiddler/UoFiddler.csproj @@ -9,9 +9,9 @@ UoFiddler UoFiddler Copyright © 2024 - 4.17.6 - 4.17.6 - 4.17.6 + 4.17.7 + 4.17.7 + 4.17.7 true From 6e8acc4b7e996f90b9da3e9273b2e216e9e90206 Mon Sep 17 00:00:00 2001 From: AsY!um- <377468+AsYlum-@users.noreply.github.com> Date: Tue, 29 Apr 2025 22:00:04 +0200 Subject: [PATCH 08/13] Update packages. --- UoFiddler.Controls/UoFiddler.Controls.csproj | 4 ++-- .../UoFiddler.Plugin.MultiEditor.csproj | 2 +- UoFiddler/UoFiddler.csproj | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/UoFiddler.Controls/UoFiddler.Controls.csproj b/UoFiddler.Controls/UoFiddler.Controls.csproj index b5e93d06..19ee3c06 100644 --- a/UoFiddler.Controls/UoFiddler.Controls.csproj +++ b/UoFiddler.Controls/UoFiddler.Controls.csproj @@ -428,8 +428,8 @@ - - + + \ No newline at end of file diff --git a/UoFiddler.Plugin.MultiEditor/UoFiddler.Plugin.MultiEditor.csproj b/UoFiddler.Plugin.MultiEditor/UoFiddler.Plugin.MultiEditor.csproj index b8c97a1b..628b5128 100644 --- a/UoFiddler.Plugin.MultiEditor/UoFiddler.Plugin.MultiEditor.csproj +++ b/UoFiddler.Plugin.MultiEditor/UoFiddler.Plugin.MultiEditor.csproj @@ -63,6 +63,6 @@ - + \ No newline at end of file diff --git a/UoFiddler/UoFiddler.csproj b/UoFiddler/UoFiddler.csproj index 85cb7ab3..6fe244ff 100644 --- a/UoFiddler/UoFiddler.csproj +++ b/UoFiddler/UoFiddler.csproj @@ -152,8 +152,8 @@ - - + + From 261ace4dec0e167e6b9bcaf9612cabf1599d78db Mon Sep 17 00:00:00 2001 From: AsY!um- <377468+AsYlum-@users.noreply.github.com> Date: Tue, 29 Apr 2025 22:00:42 +0200 Subject: [PATCH 09/13] Fix reading older artidx.mul files. --- Ultima/FileIndex.cs | 2 +- UoFiddler.Plugin.Compare/Classes/SecondFileIndex.cs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Ultima/FileIndex.cs b/Ultima/FileIndex.cs index 975d393c..d0405e9f 100644 --- a/Ultima/FileIndex.cs +++ b/Ultima/FileIndex.cs @@ -225,7 +225,7 @@ public Stream Seek(int index, out int length, out int extra, out bool patched) IEntry e = FileAccessor.GetEntry(index); - if (e.Lookup < 0) + if (e.Lookup < 0 || (e.Lookup > 0 && e.Length == -1)) { length = extra = 0; patched = false; diff --git a/UoFiddler.Plugin.Compare/Classes/SecondFileIndex.cs b/UoFiddler.Plugin.Compare/Classes/SecondFileIndex.cs index d92732ba..e2f06ff4 100644 --- a/UoFiddler.Plugin.Compare/Classes/SecondFileIndex.cs +++ b/UoFiddler.Plugin.Compare/Classes/SecondFileIndex.cs @@ -22,7 +22,7 @@ public Stream Seek(int index, out int length, out int extra) Entry3D e = Index[index]; - if (e.Lookup < 0) + if (e.Lookup < 0 || (e.Lookup > 0 && e.Length == -1)) { length = extra = 0; return null; From 33cdc3c342e29410031cbbdfe61fe00051a22faa Mon Sep 17 00:00:00 2001 From: AsY!um- <377468+AsYlum-@users.noreply.github.com> Date: Tue, 29 Apr 2025 22:04:06 +0200 Subject: [PATCH 10/13] Update year in project files. --- UoFiddler.Controls/UoFiddler.Controls.csproj | 2 +- UoFiddler.Plugin.Compare/UoFiddler.Plugin.Compare.csproj | 2 +- .../UoFiddler.Plugin.ExamplePlugin.csproj | 2 +- UoFiddler.Plugin.MassImport/UoFiddler.Plugin.MassImport.csproj | 2 +- .../UoFiddler.Plugin.MultiEditor.csproj | 2 +- UoFiddler.Plugin.SendItem/UoFiddler.Plugin.SendItem.csproj | 2 +- UoFiddler.Plugin.UopPacker/UoFiddler.Plugin.UopPacker.csproj | 2 +- UoFiddler/UoFiddler.csproj | 2 +- 8 files changed, 8 insertions(+), 8 deletions(-) diff --git a/UoFiddler.Controls/UoFiddler.Controls.csproj b/UoFiddler.Controls/UoFiddler.Controls.csproj index 19ee3c06..5bc3a6a6 100644 --- a/UoFiddler.Controls/UoFiddler.Controls.csproj +++ b/UoFiddler.Controls/UoFiddler.Controls.csproj @@ -6,7 +6,7 @@ false Controls Controls - Copyright © 2024 + Copyright © 2025 4.4.0 4.4.0 true diff --git a/UoFiddler.Plugin.Compare/UoFiddler.Plugin.Compare.csproj b/UoFiddler.Plugin.Compare/UoFiddler.Plugin.Compare.csproj index 1f6907f2..71a2066b 100644 --- a/UoFiddler.Plugin.Compare/UoFiddler.Plugin.Compare.csproj +++ b/UoFiddler.Plugin.Compare/UoFiddler.Plugin.Compare.csproj @@ -6,7 +6,7 @@ false ComparePlugin ComparePlugin - Copyright © 2024 + Copyright © 2025 1.7.0.0 1.7.0.0 true diff --git a/UoFiddler.Plugin.ExamplePlugin/UoFiddler.Plugin.ExamplePlugin.csproj b/UoFiddler.Plugin.ExamplePlugin/UoFiddler.Plugin.ExamplePlugin.csproj index e3593632..48a7cc48 100644 --- a/UoFiddler.Plugin.ExamplePlugin/UoFiddler.Plugin.ExamplePlugin.csproj +++ b/UoFiddler.Plugin.ExamplePlugin/UoFiddler.Plugin.ExamplePlugin.csproj @@ -6,7 +6,7 @@ false FiddlerPlugin FiddlerPlugin - Copyright © 2024 + Copyright © 2025 true diff --git a/UoFiddler.Plugin.MassImport/UoFiddler.Plugin.MassImport.csproj b/UoFiddler.Plugin.MassImport/UoFiddler.Plugin.MassImport.csproj index f396969d..3d37f4f9 100644 --- a/UoFiddler.Plugin.MassImport/UoFiddler.Plugin.MassImport.csproj +++ b/UoFiddler.Plugin.MassImport/UoFiddler.Plugin.MassImport.csproj @@ -6,7 +6,7 @@ false MassImportPlugin MassImportPlugin - Copyright © 2024 + Copyright © 2025 1.1.0.0 1.1.0.0 diff --git a/UoFiddler.Plugin.MultiEditor/UoFiddler.Plugin.MultiEditor.csproj b/UoFiddler.Plugin.MultiEditor/UoFiddler.Plugin.MultiEditor.csproj index 628b5128..0857c6d7 100644 --- a/UoFiddler.Plugin.MultiEditor/UoFiddler.Plugin.MultiEditor.csproj +++ b/UoFiddler.Plugin.MultiEditor/UoFiddler.Plugin.MultiEditor.csproj @@ -6,7 +6,7 @@ false MultiEditor MultiEditor - Copyright © 2024 + Copyright © 2025 1.5.0.0 1.5.0.0 true diff --git a/UoFiddler.Plugin.SendItem/UoFiddler.Plugin.SendItem.csproj b/UoFiddler.Plugin.SendItem/UoFiddler.Plugin.SendItem.csproj index 02813e5f..52e6ba71 100644 --- a/UoFiddler.Plugin.SendItem/UoFiddler.Plugin.SendItem.csproj +++ b/UoFiddler.Plugin.SendItem/UoFiddler.Plugin.SendItem.csproj @@ -6,7 +6,7 @@ false SendItem SendItem - Copyright © 2024 + Copyright © 2025 1.0.1.0 1.0.1.0 diff --git a/UoFiddler.Plugin.UopPacker/UoFiddler.Plugin.UopPacker.csproj b/UoFiddler.Plugin.UopPacker/UoFiddler.Plugin.UopPacker.csproj index 98f0d12d..5be48157 100644 --- a/UoFiddler.Plugin.UopPacker/UoFiddler.Plugin.UopPacker.csproj +++ b/UoFiddler.Plugin.UopPacker/UoFiddler.Plugin.UopPacker.csproj @@ -6,7 +6,7 @@ false UOP Packer LegacyMUL Converter - Copyright © 2024 + Copyright © 2025 1.1.1 1.1.1 diff --git a/UoFiddler/UoFiddler.csproj b/UoFiddler/UoFiddler.csproj index 6fe244ff..8b55cb29 100644 --- a/UoFiddler/UoFiddler.csproj +++ b/UoFiddler/UoFiddler.csproj @@ -8,7 +8,7 @@ false UoFiddler UoFiddler - Copyright © 2024 + Copyright © 2025 4.17.7 4.17.7 4.17.7 From a03852a5d03e42ee377be3a67d5743d495359115 Mon Sep 17 00:00:00 2001 From: AsY!um- <377468+AsYlum-@users.noreply.github.com> Date: Tue, 29 Apr 2025 22:05:33 +0200 Subject: [PATCH 11/13] Update change log and version. --- UoFiddler/Forms/AboutBoxForm.resx | 5 ++++- UoFiddler/UoFiddler.csproj | 6 +++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/UoFiddler/Forms/AboutBoxForm.resx b/UoFiddler/Forms/AboutBoxForm.resx index b3c6e38f..93afcf30 100644 --- a/UoFiddler/Forms/AboutBoxForm.resx +++ b/UoFiddler/Forms/AboutBoxForm.resx @@ -118,7 +118,10 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - Version 4.17.7 + Version 4.17.8 +- Fix for reading older artidx.mul files that were probably edited with mulpatcher or some other tool. + +Version 4.17.7 - Avoid crashes when using "Export all". - Updated gump file names when exporting. diff --git a/UoFiddler/UoFiddler.csproj b/UoFiddler/UoFiddler.csproj index 8b55cb29..a79f9f75 100644 --- a/UoFiddler/UoFiddler.csproj +++ b/UoFiddler/UoFiddler.csproj @@ -9,9 +9,9 @@ UoFiddler UoFiddler Copyright © 2025 - 4.17.7 - 4.17.7 - 4.17.7 + 4.17.8 + 4.17.8 + 4.17.8 true From 628d621ed381a789a76b3d87528dd0713bab5c5f Mon Sep 17 00:00:00 2001 From: AsY!um- <377468+AsYlum-@users.noreply.github.com> Date: Thu, 22 May 2025 22:34:27 +0200 Subject: [PATCH 12/13] Update packages. --- UoFiddler.Controls/UoFiddler.Controls.csproj | 6 +++--- UoFiddler.Plugin.Compare/UoFiddler.Plugin.Compare.csproj | 2 +- .../UoFiddler.Plugin.ExamplePlugin.csproj | 2 +- .../UoFiddler.Plugin.MassImport.csproj | 2 +- .../UoFiddler.Plugin.MultiEditor.csproj | 4 ++-- UoFiddler.Plugin.SendItem/UoFiddler.Plugin.SendItem.csproj | 2 +- .../UoFiddler.Plugin.UopPacker.csproj | 2 +- UoFiddler/UoFiddler.csproj | 4 ++-- 8 files changed, 12 insertions(+), 12 deletions(-) diff --git a/UoFiddler.Controls/UoFiddler.Controls.csproj b/UoFiddler.Controls/UoFiddler.Controls.csproj index 5bc3a6a6..19f83a7d 100644 --- a/UoFiddler.Controls/UoFiddler.Controls.csproj +++ b/UoFiddler.Controls/UoFiddler.Controls.csproj @@ -427,9 +427,9 @@ - - - + + + \ No newline at end of file diff --git a/UoFiddler.Plugin.Compare/UoFiddler.Plugin.Compare.csproj b/UoFiddler.Plugin.Compare/UoFiddler.Plugin.Compare.csproj index 71a2066b..0b601f8b 100644 --- a/UoFiddler.Plugin.Compare/UoFiddler.Plugin.Compare.csproj +++ b/UoFiddler.Plugin.Compare/UoFiddler.Plugin.Compare.csproj @@ -24,7 +24,7 @@ Off - + diff --git a/UoFiddler.Plugin.ExamplePlugin/UoFiddler.Plugin.ExamplePlugin.csproj b/UoFiddler.Plugin.ExamplePlugin/UoFiddler.Plugin.ExamplePlugin.csproj index 48a7cc48..5cfd82a0 100644 --- a/UoFiddler.Plugin.ExamplePlugin/UoFiddler.Plugin.ExamplePlugin.csproj +++ b/UoFiddler.Plugin.ExamplePlugin/UoFiddler.Plugin.ExamplePlugin.csproj @@ -21,7 +21,7 @@ Off - + diff --git a/UoFiddler.Plugin.MassImport/UoFiddler.Plugin.MassImport.csproj b/UoFiddler.Plugin.MassImport/UoFiddler.Plugin.MassImport.csproj index 3d37f4f9..05f2f23f 100644 --- a/UoFiddler.Plugin.MassImport/UoFiddler.Plugin.MassImport.csproj +++ b/UoFiddler.Plugin.MassImport/UoFiddler.Plugin.MassImport.csproj @@ -26,7 +26,7 @@ Off - + diff --git a/UoFiddler.Plugin.MultiEditor/UoFiddler.Plugin.MultiEditor.csproj b/UoFiddler.Plugin.MultiEditor/UoFiddler.Plugin.MultiEditor.csproj index 0857c6d7..97293276 100644 --- a/UoFiddler.Plugin.MultiEditor/UoFiddler.Plugin.MultiEditor.csproj +++ b/UoFiddler.Plugin.MultiEditor/UoFiddler.Plugin.MultiEditor.csproj @@ -62,7 +62,7 @@ - - + + \ No newline at end of file diff --git a/UoFiddler.Plugin.SendItem/UoFiddler.Plugin.SendItem.csproj b/UoFiddler.Plugin.SendItem/UoFiddler.Plugin.SendItem.csproj index 52e6ba71..ca63a1a4 100644 --- a/UoFiddler.Plugin.SendItem/UoFiddler.Plugin.SendItem.csproj +++ b/UoFiddler.Plugin.SendItem/UoFiddler.Plugin.SendItem.csproj @@ -23,7 +23,7 @@ Off - + diff --git a/UoFiddler.Plugin.UopPacker/UoFiddler.Plugin.UopPacker.csproj b/UoFiddler.Plugin.UopPacker/UoFiddler.Plugin.UopPacker.csproj index 5be48157..53db5f62 100644 --- a/UoFiddler.Plugin.UopPacker/UoFiddler.Plugin.UopPacker.csproj +++ b/UoFiddler.Plugin.UopPacker/UoFiddler.Plugin.UopPacker.csproj @@ -23,7 +23,7 @@ Off - + diff --git a/UoFiddler/UoFiddler.csproj b/UoFiddler/UoFiddler.csproj index a79f9f75..4ab4fbe9 100644 --- a/UoFiddler/UoFiddler.csproj +++ b/UoFiddler/UoFiddler.csproj @@ -151,9 +151,9 @@ - + - + From 6e8c67cdee6de276bf0a55c819322f32aac4f2b5 Mon Sep 17 00:00:00 2001 From: AsY!um- <377468+AsYlum-@users.noreply.github.com> Date: Wed, 28 May 2025 19:44:10 +0200 Subject: [PATCH 13/13] Update workflows. --- .github/workflows/build-and-release.yml | 8 ++++---- .github/workflows/build-pr.yml | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/build-and-release.yml b/.github/workflows/build-and-release.yml index e9e01936..7d1952a8 100644 --- a/.github/workflows/build-and-release.yml +++ b/.github/workflows/build-and-release.yml @@ -35,7 +35,7 @@ jobs: fetch-depth: 0 - name: Install .NET Core - uses: actions/setup-dotnet@v4.3.0 + uses: actions/setup-dotnet@v4.3.1 with: dotnet-version: 8.0.x @@ -45,7 +45,7 @@ jobs: Configuration: ${{ matrix.configuration }} - name: Upload build artifacts - uses: actions/upload-artifact@v4.6.1 + uses: actions/upload-artifact@v4.6.2 with: name: ${{ env.Asset_Name }}.zip path: ./UOFiddler/bin/Release/ @@ -65,7 +65,7 @@ jobs: steps: - name: Download artifacts - uses: actions/download-artifact@v4.1.8 + uses: actions/download-artifact@v4.3.0 with: name: ${{ env.Asset_Name }}.zip path: ./${{ env.Asset_Name }}/ @@ -74,7 +74,7 @@ jobs: run: 7z a -tzip ${{ env.Asset_Name }}.zip './${{ env.Asset_Name }}' - name: Create release - uses: softprops/action-gh-release@v2.2.1 + uses: softprops/action-gh-release@v2.2.2 with: name: UOFiddler ${{ github.ref_name }} generate_release_notes: true diff --git a/.github/workflows/build-pr.yml b/.github/workflows/build-pr.yml index 73ddf37d..49965e77 100644 --- a/.github/workflows/build-pr.yml +++ b/.github/workflows/build-pr.yml @@ -32,7 +32,7 @@ jobs: fetch-depth: 1 - name: Install .NET Core - uses: actions/setup-dotnet@v4.3.0 + uses: actions/setup-dotnet@v4.3.1 with: dotnet-version: 8.0.x