Add disassembly of GradientTool

This commit is contained in:
2026-04-21 10:40:12 +02:00
commit 1ef84fd132
55 changed files with 8994 additions and 0 deletions

253
Config2.cs Normal file
View File

@@ -0,0 +1,253 @@
// Decompiled with JetBrains decompiler
// Type: SFXProductions.GradientTool.Config2
// Assembly: GradientTool, Version=0.8.2.1, Culture=neutral, PublicKeyToken=null
// MVID: 818AB9B3-796A-4A49-8B90-C00D066A321B
// Assembly location: C:\Users\aless\Downloads\gradient-tool-v0.8.2.1\GradientTool.exe
using SFXProductions.GradientTool.HDMA;
using SFXProductions.GradientTool.HDMA.Configuration;
using System;
using System.ComponentModel;
using System.Drawing;
using System.Windows.Forms;
#nullable disable
namespace SFXProductions.GradientTool;
internal class Config2 : Form
{
private Settings2 m_settings;
private IContainer components;
private Button okButton;
private Button cancelButton;
private TabControl optionsTabControl;
private CheckBox generateInitCheckBox;
private TextBox gradientNameTextBox;
private NumericUpDown nWritesNumericUpDown;
private CheckBox hexCheckBox;
private Config2(Settings2 settings)
{
this.InitializeComponent();
this.m_settings = settings;
this.generateInitCheckBox.Checked = settings.GenerateInitializationCode;
this.gradientNameTextBox.Text = settings.Name;
ColourChannelsRef channelsReference = (ColourChannelsRef) null;
this.optionsTabControl.TabPages.Add(this.m_settings.Channel1.CreatePropertiesPage(this.m_settings.Channel2 as Mode0Channel, ref channelsReference));
if (this.m_settings.Channel2 != null)
this.optionsTabControl.TabPages.Add(this.m_settings.Channel2.CreatePropertiesPage((Mode0Channel) null, ref channelsReference));
if (this.m_settings.Channel3 == null)
return;
this.optionsTabControl.TabPages.Add(this.m_settings.Channel3.CreatePropertiesPage((Mode0Channel) null, ref channelsReference));
}
private void ApplySettings()
{
this.m_settings.Channel1.ApplySettings(this.optionsTabControl.TabPages[0]);
if (this.m_settings.Channel2 != null)
this.m_settings.Channel2.ApplySettings(this.optionsTabControl.TabPages[1]);
if (this.m_settings.Channel3 == null)
return;
this.m_settings.Channel2.ApplySettings(this.optionsTabControl.TabPages[2]);
}
public static bool ConfigureSettings(IWin32Window owner, ref Settings2 settings, ref int nWrites)
{
using (Config2 config2 = new Config2(settings))
{
config2.nWritesNumericUpDown.Value = (Decimal) nWrites;
if (config2.ShowDialog(owner) == DialogResult.OK)
{
config2.ApplySettings();
settings.GenerateInitializationCode = config2.generateInitCheckBox.Checked;
settings.Name = config2.gradientNameTextBox.Text;
nWrites = (int) config2.nWritesNumericUpDown.Value;
return true;
}
}
return false;
}
private void hexCheckBox_CheckedChanged(object sender, EventArgs e)
{
this.nWritesNumericUpDown.Hexadecimal = this.hexCheckBox.Checked;
}
private void gradientNameTextBox_TextChanged(object sender, EventArgs e)
{
this.okButton.Enabled = Settings2.ValidateName(this.gradientNameTextBox.Text = this.gradientNameTextBox.Text.Trim());
}
private void generateInitCheckBox_CheckedChanged(object sender, EventArgs e)
{
this.optionsTabControl.Enabled = this.generateInitCheckBox.Checked;
}
protected override void Dispose(bool disposing)
{
if (disposing && this.components != null)
this.components.Dispose();
base.Dispose(disposing);
}
private void InitializeComponent()
{
this.nWritesNumericUpDown = new NumericUpDown();
this.hexCheckBox = new CheckBox();
this.okButton = new Button();
this.cancelButton = new Button();
this.optionsTabControl = new TabControl();
this.generateInitCheckBox = new CheckBox();
this.gradientNameTextBox = new TextBox();
Label label1 = new Label();
Label label2 = new Label();
TableLayoutPanel tableLayoutPanel1 = new TableLayoutPanel();
TableLayoutPanel tableLayoutPanel2 = new TableLayoutPanel();
tableLayoutPanel1.SuspendLayout();
tableLayoutPanel2.SuspendLayout();
this.nWritesNumericUpDown.BeginInit();
this.SuspendLayout();
label1.Anchor = AnchorStyles.Right;
label1.AutoSize = true;
label1.Location = new Point(18, 6);
label1.Name = "label1";
label1.Size = new Size(66, 13);
label1.TabIndex = 0;
label1.Text = "№ of Wri&tes:";
label2.Anchor = AnchorStyles.Right;
label2.AutoSize = true;
label2.Location = new Point(3, 32 /*0x20*/);
label2.Name = "label2";
label2.Size = new Size(81, 13);
label2.TabIndex = 2;
label2.Text = "Gradient N&ame:";
tableLayoutPanel1.ColumnCount = 3;
tableLayoutPanel1.ColumnStyles.Add(new ColumnStyle());
tableLayoutPanel1.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 100f));
tableLayoutPanel1.ColumnStyles.Add(new ColumnStyle());
tableLayoutPanel1.Controls.Add((Control) tableLayoutPanel2, 1, 0);
tableLayoutPanel1.Controls.Add((Control) this.okButton, 0, 4);
tableLayoutPanel1.Controls.Add((Control) this.cancelButton, 2, 4);
tableLayoutPanel1.Controls.Add((Control) this.optionsTabControl, 0, 3);
tableLayoutPanel1.Controls.Add((Control) label1, 0, 0);
tableLayoutPanel1.Controls.Add((Control) this.generateInitCheckBox, 1, 2);
tableLayoutPanel1.Controls.Add((Control) label2, 0, 1);
tableLayoutPanel1.Controls.Add((Control) this.gradientNameTextBox, 1, 1);
tableLayoutPanel1.Dock = DockStyle.Fill;
tableLayoutPanel1.Location = new Point(9, 9);
tableLayoutPanel1.Name = "tableLayoutPanel1";
tableLayoutPanel1.RowCount = 5;
tableLayoutPanel1.RowStyles.Add(new RowStyle());
tableLayoutPanel1.RowStyles.Add(new RowStyle());
tableLayoutPanel1.RowStyles.Add(new RowStyle());
tableLayoutPanel1.RowStyles.Add(new RowStyle(SizeType.Percent, 100f));
tableLayoutPanel1.RowStyles.Add(new RowStyle());
tableLayoutPanel1.RowStyles.Add(new RowStyle(SizeType.Absolute, 20f));
tableLayoutPanel1.Size = new Size(282, 322);
tableLayoutPanel1.TabIndex = 0;
tableLayoutPanel2.Anchor = AnchorStyles.Left;
tableLayoutPanel2.AutoSize = true;
tableLayoutPanel2.AutoSizeMode = AutoSizeMode.GrowAndShrink;
tableLayoutPanel2.ColumnCount = 2;
tableLayoutPanel1.SetColumnSpan((Control) tableLayoutPanel2, 2);
tableLayoutPanel2.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 100f));
tableLayoutPanel2.ColumnStyles.Add(new ColumnStyle());
tableLayoutPanel2.Controls.Add((Control) this.nWritesNumericUpDown, 0, 0);
tableLayoutPanel2.Controls.Add((Control) this.hexCheckBox, 1, 0);
tableLayoutPanel2.Location = new Point(87, 0);
tableLayoutPanel2.Margin = new Padding(0);
tableLayoutPanel2.Name = "tableLayoutPanel2";
tableLayoutPanel2.RowCount = 1;
tableLayoutPanel2.RowStyles.Add(new RowStyle());
tableLayoutPanel2.Size = new Size(132, 26);
tableLayoutPanel2.TabIndex = 1;
this.nWritesNumericUpDown.Anchor = AnchorStyles.Left;
this.nWritesNumericUpDown.Location = new Point(3, 3);
this.nWritesNumericUpDown.Maximum = new Decimal(new int[4]
{
(int) short.MaxValue,
0,
0,
0
});
this.nWritesNumericUpDown.Name = "nWritesNumericUpDown";
this.nWritesNumericUpDown.Size = new Size(75, 20);
this.nWritesNumericUpDown.TabIndex = 0;
this.nWritesNumericUpDown.Value = new Decimal(new int[4]
{
224 /*0xE0*/,
0,
0,
0
});
this.hexCheckBox.AutoSize = true;
this.hexCheckBox.Location = new Point(84, 3);
this.hexCheckBox.Name = "hexCheckBox";
this.hexCheckBox.Size = new Size(45, 17);
this.hexCheckBox.TabIndex = 1;
this.hexCheckBox.Text = "&Hex";
this.hexCheckBox.UseVisualStyleBackColor = true;
this.hexCheckBox.CheckedChanged += new EventHandler(this.hexCheckBox_CheckedChanged);
this.okButton.Anchor = AnchorStyles.Right;
tableLayoutPanel1.SetColumnSpan((Control) this.okButton, 2);
this.okButton.DialogResult = DialogResult.OK;
this.okButton.Location = new Point(123, 296);
this.okButton.Name = "okButton";
this.okButton.Size = new Size(75, 23);
this.okButton.TabIndex = 6;
this.okButton.Text = "&OK";
this.okButton.UseVisualStyleBackColor = true;
this.cancelButton.Anchor = AnchorStyles.None;
this.cancelButton.DialogResult = DialogResult.Cancel;
this.cancelButton.Location = new Point(204, 296);
this.cancelButton.Name = "cancelButton";
this.cancelButton.Size = new Size(75, 23);
this.cancelButton.TabIndex = 7;
this.cancelButton.Text = "&Cancel";
this.cancelButton.UseVisualStyleBackColor = true;
tableLayoutPanel1.SetColumnSpan((Control) this.optionsTabControl, 3);
this.optionsTabControl.Dock = DockStyle.Fill;
this.optionsTabControl.Location = new Point(3, 83);
this.optionsTabControl.Margin = new Padding(3, 8, 3, 3);
this.optionsTabControl.Name = "optionsTabControl";
this.optionsTabControl.SelectedIndex = 0;
this.optionsTabControl.Size = new Size(276, 207);
this.optionsTabControl.TabIndex = 5;
this.generateInitCheckBox.Anchor = AnchorStyles.Left;
this.generateInitCheckBox.AutoSize = true;
tableLayoutPanel1.SetColumnSpan((Control) this.generateInitCheckBox, 2);
this.generateInitCheckBox.Location = new Point(90, 55);
this.generateInitCheckBox.Name = "generateInitCheckBox";
this.generateInitCheckBox.Size = new Size(155, 17);
this.generateInitCheckBox.TabIndex = 4;
this.generateInitCheckBox.Text = "&Generate Initialization Code";
this.generateInitCheckBox.UseVisualStyleBackColor = true;
this.gradientNameTextBox.Anchor = AnchorStyles.Left | AnchorStyles.Right;
tableLayoutPanel1.SetColumnSpan((Control) this.gradientNameTextBox, 2);
this.gradientNameTextBox.Location = new Point(90, 29);
this.gradientNameTextBox.Name = "gradientNameTextBox";
this.gradientNameTextBox.Size = new Size(189, 20);
this.gradientNameTextBox.TabIndex = 3;
this.gradientNameTextBox.Text = "Gradient1";
this.gradientNameTextBox.TextChanged += new EventHandler(this.gradientNameTextBox_TextChanged);
this.AcceptButton = (IButtonControl) this.okButton;
this.AutoScaleDimensions = new SizeF(6f, 13f);
this.AutoScaleMode = AutoScaleMode.Font;
this.CancelButton = (IButtonControl) this.cancelButton;
this.ClientSize = new Size(300, 340);
this.Controls.Add((Control) tableLayoutPanel1);
this.MaximizeBox = false;
this.MaximumSize = new Size(432, 371);
this.MinimumSize = new Size(276, 326);
this.Name = nameof (Config2);
this.Padding = new Padding(9);
this.ShowIcon = false;
this.Text = "Configure HDMA";
tableLayoutPanel1.ResumeLayout(false);
tableLayoutPanel1.PerformLayout();
tableLayoutPanel2.ResumeLayout(false);
tableLayoutPanel2.PerformLayout();
this.nWritesNumericUpDown.EndInit();
this.ResumeLayout(false);
}
}