From c538df2e5b715a507a70b81086f71204f2e5e3f3 Mon Sep 17 00:00:00 2001 From: jxjacob <4712066+jxjacob@users.noreply.github.com> Date: Sun, 7 Jul 2024 14:43:18 -0400 Subject: [PATCH] fody + fixes added fodyweavers to the installed packages so i dont need to distribute random dll files fixed issue where spoiler panels on broadcast views that are created via the alternates menu opened up while the main view already have a spoiler loaded had their TopRowPadding set incorrectly. (surprisingly easy to trigger) fixed song tracking issue with vanilla dk64 songs (hopefully) --- .gitignore | 2 + GSTHD/Autotracker.cs | 7 +- GSTHD/FodyWeavers.xml | 3 + GSTHD/FodyWeavers.xsd | 141 ++++++++++++++++++++++++++++++++++++++ GSTHD/GSTHD.csproj | 141 +++++++++++++++++++++++++++++++++++++- GSTHD/SpoilerHintCell.cs | 5 +- GSTHD/SpoilerHintPanel.cs | 1 + GSTHD/packages.config | 48 +++++++++++++ 8 files changed, 342 insertions(+), 6 deletions(-) create mode 100644 GSTHD/FodyWeavers.xml create mode 100644 GSTHD/FodyWeavers.xsd diff --git a/.gitignore b/.gitignore index e9d2050..eccb450 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,5 @@ /GSTHD/todo.txt GSTHD/.vs/GSTHD.csproj.dtbcache.json + +packages/ \ No newline at end of file diff --git a/GSTHD/Autotracker.cs b/GSTHD/Autotracker.cs index 2bb963d..e8e4ec5 100644 --- a/GSTHD/Autotracker.cs +++ b/GSTHD/Autotracker.cs @@ -344,7 +344,11 @@ private void UpdateNowPlaying() string gamename = Encoding.ASCII.GetString(songGame.ToArray()); string titlename = Encoding.ASCII.GetString(songTitle.ToArray()); - if (needoverwrite) gamename = "if you can read this, please tell the strimmer"; + if (needoverwrite) gamename = "DONKEY KONG 64"; + if (gamename.Length > 0 && titlename.Length == 0){ + titlename = gamename; + gamename = "DONKEY KONG 64"; + } // send data to tracker object // also dont send blanks lol if (songGame.Count > 0 || songTitle.Count > 0) @@ -746,6 +750,7 @@ private void SetGameStateTargets(string gameFile) else if (parts[0] == "game_rando_version") { internalRandoVersion = GoRead((uint)Convert.ToInt32(parts[1], 16), int.Parse(parts[2])); + Debug.WriteLine($"rando v{internalRandoVersion}"); continue; } diff --git a/GSTHD/FodyWeavers.xml b/GSTHD/FodyWeavers.xml new file mode 100644 index 0000000..5029e70 --- /dev/null +++ b/GSTHD/FodyWeavers.xml @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/GSTHD/FodyWeavers.xsd b/GSTHD/FodyWeavers.xsd new file mode 100644 index 0000000..05e92c1 --- /dev/null +++ b/GSTHD/FodyWeavers.xsd @@ -0,0 +1,141 @@ + + + + + + + + + + + + A list of assembly names to exclude from the default action of "embed all Copy Local references", delimited with line breaks + + + + + A list of assembly names to include from the default action of "embed all Copy Local references", delimited with line breaks. + + + + + A list of runtime assembly names to exclude from the default action of "embed all Copy Local references", delimited with line breaks + + + + + A list of runtime assembly names to include from the default action of "embed all Copy Local references", delimited with line breaks. + + + + + A list of unmanaged 32 bit assembly names to include, delimited with line breaks. + + + + + A list of unmanaged 64 bit assembly names to include, delimited with line breaks. + + + + + The order of preloaded assemblies, delimited with line breaks. + + + + + + This will copy embedded files to disk before loading them into memory. This is helpful for some scenarios that expected an assembly to be loaded from a physical file. + + + + + Controls if .pdbs for reference assemblies are also embedded. + + + + + Controls if runtime assemblies are also embedded. + + + + + Controls whether the runtime assemblies are embedded with their full path or only with their assembly name. + + + + + Embedded assemblies are compressed by default, and uncompressed when they are loaded. You can turn compression off with this option. + + + + + As part of Costura, embedded assemblies are no longer included as part of the build. This cleanup can be turned off. + + + + + Costura by default will load as part of the module initialization. This flag disables that behavior. Make sure you call CosturaUtility.Initialize() somewhere in your code. + + + + + Costura will by default use assemblies with a name like 'resources.dll' as a satellite resource and prepend the output path. This flag disables that behavior. + + + + + A list of assembly names to exclude from the default action of "embed all Copy Local references", delimited with | + + + + + A list of assembly names to include from the default action of "embed all Copy Local references", delimited with |. + + + + + A list of runtime assembly names to exclude from the default action of "embed all Copy Local references", delimited with | + + + + + A list of runtime assembly names to include from the default action of "embed all Copy Local references", delimited with |. + + + + + A list of unmanaged 32 bit assembly names to include, delimited with |. + + + + + A list of unmanaged 64 bit assembly names to include, delimited with |. + + + + + The order of preloaded assemblies, delimited with |. + + + + + + + + 'true' to run assembly verification (PEVerify) on the target assembly after all weavers have been executed. + + + + + A comma-separated list of error codes that can be safely ignored in assembly verification. + + + + + 'false' to turn off automatic generation of the XML Schema file. + + + + + \ No newline at end of file diff --git a/GSTHD/GSTHD.csproj b/GSTHD/GSTHD.csproj index 1ff4082..a564ac1 100644 --- a/GSTHD/GSTHD.csproj +++ b/GSTHD/GSTHD.csproj @@ -1,5 +1,6 @@  + Debug @@ -111,6 +112,9 @@ ..\packages\Autoupdater.NET.Official.1.9.1\lib\net462\AutoUpdater.NET.dll + + ..\packages\Costura.Fody.5.7.0\lib\netstandard1.0\Costura.dll + ..\packages\Microsoft.Web.WebView2.1.0.2535.41\lib\net462\Microsoft.Web.WebView2.Core.dll @@ -120,14 +124,140 @@ ..\packages\Microsoft.Web.WebView2.1.0.2535.41\lib\net462\Microsoft.Web.WebView2.Wpf.dll + + ..\packages\Microsoft.Win32.Primitives.4.3.0\lib\net46\Microsoft.Win32.Primitives.dll + True + True + ..\packages\Newtonsoft.Json.13.0.2\lib\net45\Newtonsoft.Json.dll + + ..\packages\System.AppContext.4.3.0\lib\net463\System.AppContext.dll + True + True + + + + ..\packages\System.Console.4.3.0\lib\net46\System.Console.dll + True + True + + + ..\packages\System.Diagnostics.DiagnosticSource.4.3.0\lib\net46\System.Diagnostics.DiagnosticSource.dll + + + ..\packages\System.Diagnostics.Tracing.4.3.0\lib\net462\System.Diagnostics.Tracing.dll + True + True + + + ..\packages\System.Globalization.Calendars.4.3.0\lib\net46\System.Globalization.Calendars.dll + True + True + + + ..\packages\System.IO.4.3.0\lib\net462\System.IO.dll + True + True + + + ..\packages\System.IO.Compression.4.3.0\lib\net46\System.IO.Compression.dll + True + True + + + + ..\packages\System.IO.Compression.ZipFile.4.3.0\lib\net46\System.IO.Compression.ZipFile.dll + True + True + + + ..\packages\System.IO.FileSystem.4.3.0\lib\net46\System.IO.FileSystem.dll + True + True + + + ..\packages\System.IO.FileSystem.Primitives.4.3.0\lib\net46\System.IO.FileSystem.Primitives.dll + True + True + + + ..\packages\System.Linq.4.3.0\lib\net463\System.Linq.dll + True + True + + + ..\packages\System.Linq.Expressions.4.3.0\lib\net463\System.Linq.Expressions.dll + True + True + + + ..\packages\System.Net.Http.4.3.0\lib\net46\System.Net.Http.dll + True + True + + + ..\packages\System.Net.Sockets.4.3.0\lib\net46\System.Net.Sockets.dll + True + True + + + + ..\packages\System.Reflection.4.3.0\lib\net462\System.Reflection.dll + True + True + + + ..\packages\System.Runtime.4.3.0\lib\net462\System.Runtime.dll + True + True + + + ..\packages\System.Runtime.Extensions.4.3.0\lib\net462\System.Runtime.Extensions.dll + True + True + + + ..\packages\System.Runtime.InteropServices.4.3.0\lib\net463\System.Runtime.InteropServices.dll + True + True + + + ..\packages\System.Runtime.InteropServices.RuntimeInformation.4.3.0\lib\net45\System.Runtime.InteropServices.RuntimeInformation.dll + True + True + + + ..\packages\System.Security.Cryptography.Algorithms.4.3.0\lib\net463\System.Security.Cryptography.Algorithms.dll + True + True + + + ..\packages\System.Security.Cryptography.Encoding.4.3.0\lib\net46\System.Security.Cryptography.Encoding.dll + True + True + + + ..\packages\System.Security.Cryptography.Primitives.4.3.0\lib\net46\System.Security.Cryptography.Primitives.dll + True + True + + + ..\packages\System.Security.Cryptography.X509Certificates.4.3.0\lib\net461\System.Security.Cryptography.X509Certificates.dll + True + True + + + ..\packages\System.Text.RegularExpressions.4.3.0\lib\net463\System.Text.RegularExpressions.dll + True + True + @@ -135,9 +265,13 @@ - + + ..\packages\System.Xml.ReaderWriter.4.3.0\lib\net46\System.Xml.ReaderWriter.dll + True + True + @@ -295,5 +429,10 @@ This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. + + + + + \ No newline at end of file diff --git a/GSTHD/SpoilerHintCell.cs b/GSTHD/SpoilerHintCell.cs index 2f57b7b..c397229 100644 --- a/GSTHD/SpoilerHintCell.cs +++ b/GSTHD/SpoilerHintCell.cs @@ -343,7 +343,6 @@ public SpoilerCell(Settings settings, int width, int height, int x, int y, int p InitializeDisplayList(); UpdateVisuals(); - //Debug.WriteLine(levelOrder + " " + Name + " " + Location + " " + totalPoints + " " + totalWOTHS + " -- " + string.Join(", ", potionsList.ToArray())); } private void Mouse_DragEnter(object sender, DragEventArgs e) @@ -534,7 +533,6 @@ private void AdjustPointLocations() pointLabel.Width = System.Math.Max(labelWidth, pointMeasure); pointWidth = pointLabel.Width; pointLabel.Location = new Point(this.Size.Width - (System.Math.Max(labelSpacing, pointWidth)) - 1 - this.topRowPadding, -1); - //Debug.WriteLine($"point -- loc: {pointLabel.Location} width: {pointLabel.Width} pm: {pointMeasure} ls: {labelSpacing}"); } if (wothLabel != null) @@ -542,7 +540,6 @@ private void AdjustPointLocations() int pointVis = (pointLabel != null) ? 1 : 0; wothLabel.Width = System.Math.Max(labelWidth, TextRenderer.MeasureText(wothLabel.Text, wothLabel.Font).Width); wothLabel.Location = new Point(this.Size.Width - (labelSpacing) - pointVis*(pointWidth) - 1 - this.topRowPadding, -1); - //Debug.WriteLine($"woth -- loc: {wothLabel.Location} width: {wothLabel.Width}"); } } @@ -700,7 +697,6 @@ public void RefreshVisuals(int cellWidth, int cellHeight, this.Width = cellWidth; this.Height = cellHeight; this.topRowHeight = topRowHeight; - this.topRowPadding = topRowPadding; this.WorldNumWidth = WorldNumWidth; this.WorldNumHeight = WorldNumHeight; this.WorldLabelWidth = WorldLabelWidth; @@ -710,6 +706,7 @@ public void RefreshVisuals(int cellWidth, int cellHeight, this.labelWidth = CellLabelWidth; this.BackColor = CellBackColor; this.MinimalMode = MinimalMode; + this.topRowPadding = (levelOrder == 9 && !MinimalMode) ? 0 : topRowPadding; Font tempfont = new Font(new FontFamily(CellFontName), CellFontSize, CellFontStyle); if (pointLabel != null) { diff --git a/GSTHD/SpoilerHintPanel.cs b/GSTHD/SpoilerHintPanel.cs index 348f058..66faea2 100644 --- a/GSTHD/SpoilerHintPanel.cs +++ b/GSTHD/SpoilerHintPanel.cs @@ -554,6 +554,7 @@ public void Push() ((SpoilerPanel)Application.OpenForms["GSTHD_DK64 Broadcast View"].Controls.Find(this.Name, true)[0]).spoilerData = spoilerData; ((SpoilerPanel)Application.OpenForms["GSTHD_DK64 Broadcast View"].Controls.Find(this.Name, true)[0]).mainSettings = mainSettings; ((SpoilerPanel)Application.OpenForms["GSTHD_DK64 Broadcast View"].Controls.Find(this.Name, true)[0]).randoVersion = randoVersion; + ((SpoilerPanel)Application.OpenForms["GSTHD_DK64 Broadcast View"].Controls.Find(this.Name, true)[0]).Settings = Settings; ((SpoilerPanel)Application.OpenForms["GSTHD_DK64 Broadcast View"].Controls.Find(this.Name, true)[0]).InitializeCells(); foreach (SpoilerCell cell in cells) { diff --git a/GSTHD/packages.config b/GSTHD/packages.config index f4f24d3..69fd22b 100644 --- a/GSTHD/packages.config +++ b/GSTHD/packages.config @@ -1,6 +1,54 @@  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file