GRF Editor - Changed UI of compression menu item

This commit is contained in:
miku-666
2023-05-15 17:45:26 +02:00
parent e86a8384be
commit 777f0ce59a
5 changed files with 457 additions and 50 deletions

View File

@@ -0,0 +1,250 @@
using System;
using System.Drawing;
using System.Windows.Forms;
using System.Windows.Forms.VisualStyles;
// source: <https://learn.microsoft.com/en-us/dotnet/desktop/winforms/controls/how-to-display-option-buttons-in-a-menustrip-windows-forms?view=netframeworkdesktop-4.8>
namespace PckStudio
{
public class ToolStripRadioButtonMenuItem : ToolStripMenuItem
{
public ToolStripRadioButtonMenuItem()
: base()
{
Initialize();
}
public ToolStripRadioButtonMenuItem(string text)
: base(text, null, (EventHandler)null)
{
Initialize();
}
public ToolStripRadioButtonMenuItem(Image image)
: base(null, image, (EventHandler)null)
{
Initialize();
}
public ToolStripRadioButtonMenuItem(string text, Image image)
: base(text, image, (EventHandler)null)
{
Initialize();
}
public ToolStripRadioButtonMenuItem(string text, Image image,
EventHandler onClick)
: base(text, image, onClick)
{
Initialize();
}
public ToolStripRadioButtonMenuItem(string text, Image image,
EventHandler onClick, string name)
: base(text, image, onClick, name)
{
Initialize();
}
public ToolStripRadioButtonMenuItem(string text, Image image,
params ToolStripItem[] dropDownItems)
: base(text, image, dropDownItems)
{
Initialize();
}
public ToolStripRadioButtonMenuItem(string text, Image image,
EventHandler onClick, Keys shortcutKeys)
: base(text, image, onClick)
{
Initialize();
this.ShortcutKeys = shortcutKeys;
}
// Called by all constructors to initialize CheckOnClick.
private void Initialize()
{
CheckOnClick = true;
}
protected override void OnCheckedChanged(EventArgs e)
{
base.OnCheckedChanged(e);
// If this item is no longer in the checked state or if its
// parent has not yet been initialized, do nothing.
if (!Checked || this.Parent == null) return;
// Clear the checked state for all siblings.
foreach (ToolStripItem item in Parent.Items)
{
ToolStripRadioButtonMenuItem radioItem =
item as ToolStripRadioButtonMenuItem;
if (radioItem != null && radioItem != this && radioItem.Checked)
{
radioItem.Checked = false;
// Only one item can be selected at a time,
// so there is no need to continue.
return;
}
}
}
protected override void OnClick(EventArgs e)
{
// If the item is already in the checked state, do not call
// the base method, which would toggle the value.
if (Checked) return;
base.OnClick(e);
}
// Let the item paint itself, and then paint the RadioButton
// where the check mark is normally displayed.
protected override void OnPaint(PaintEventArgs e)
{
if (Image != null)
{
// If the client sets the Image property, the selection behavior
// remains unchanged, but the RadioButton is not displayed and the
// selection is indicated only by the selection rectangle.
base.OnPaint(e);
return;
}
else
{
// If the Image property is not set, call the base OnPaint method
// with the CheckState property temporarily cleared to prevent
// the check mark from being painted.
CheckState currentState = this.CheckState;
this.CheckState = CheckState.Unchecked;
base.OnPaint(e);
this.CheckState = currentState;
}
// Determine the correct state of the RadioButton.
RadioButtonState buttonState = RadioButtonState.UncheckedNormal;
if (Enabled)
{
if (mouseDownState)
{
if (Checked) buttonState = RadioButtonState.CheckedPressed;
else buttonState = RadioButtonState.UncheckedPressed;
}
else if (mouseHoverState)
{
if (Checked) buttonState = RadioButtonState.CheckedHot;
else buttonState = RadioButtonState.UncheckedHot;
}
else
{
if (Checked) buttonState = RadioButtonState.CheckedNormal;
}
}
else
{
if (Checked) buttonState = RadioButtonState.CheckedDisabled;
else buttonState = RadioButtonState.UncheckedDisabled;
}
// Calculate the position at which to display the RadioButton.
Int32 offset = (ContentRectangle.Height -
RadioButtonRenderer.GetGlyphSize(
e.Graphics, buttonState).Height) / 2;
Point imageLocation = new Point(
ContentRectangle.Location.X + 4,
ContentRectangle.Location.Y + offset);
// Paint the RadioButton.
RadioButtonRenderer.DrawRadioButton(
e.Graphics, imageLocation, buttonState);
}
private bool mouseHoverState = false;
protected override void OnMouseEnter(EventArgs e)
{
mouseHoverState = true;
// Force the item to repaint with the new RadioButton state.
Invalidate();
base.OnMouseEnter(e);
}
protected override void OnMouseLeave(EventArgs e)
{
mouseHoverState = false;
base.OnMouseLeave(e);
}
private bool mouseDownState = false;
protected override void OnMouseDown(MouseEventArgs e)
{
mouseDownState = true;
// Force the item to repaint with the new RadioButton state.
Invalidate();
base.OnMouseDown(e);
}
protected override void OnMouseUp(MouseEventArgs e)
{
mouseDownState = false;
base.OnMouseUp(e);
}
// Enable the item only if its parent item is in the checked state
// and its Enabled property has not been explicitly set to false.
public override bool Enabled
{
get
{
ToolStripMenuItem ownerMenuItem =
OwnerItem as ToolStripMenuItem;
// Use the base value in design mode to prevent the designer
// from setting the base value to the calculated value.
if (!DesignMode &&
ownerMenuItem != null && ownerMenuItem.CheckOnClick)
{
return base.Enabled && ownerMenuItem.Checked;
}
else
{
return base.Enabled;
}
}
set
{
base.Enabled = value;
}
}
// When OwnerItem becomes available, if it is a ToolStripMenuItem
// with a CheckOnClick property value of true, subscribe to its
// CheckedChanged event.
protected override void OnOwnerChanged(EventArgs e)
{
ToolStripMenuItem ownerMenuItem =
OwnerItem as ToolStripMenuItem;
if (ownerMenuItem != null && ownerMenuItem.CheckOnClick)
{
ownerMenuItem.CheckedChanged +=
new EventHandler(OwnerMenuItem_CheckedChanged);
}
base.OnOwnerChanged(e);
}
// When the checked state of the parent item changes,
// repaint the item so that the new Enabled state is displayed.
private void OwnerMenuItem_CheckedChanged(
object sender, EventArgs e)
{
Invalidate();
}
}
}

View File

@@ -7,7 +7,7 @@ namespace PckStudio.Forms.Additional_Popups
{
public string SelectedItem => DialogResult == DialogResult.OK ? ComboBox.Text : string.Empty;
public ItemSelectionPopUp(string[] items)
public ItemSelectionPopUp(params string[] items)
{
InitializeComponent();
ComboBox.Items.AddRange(items);

View File

@@ -45,10 +45,16 @@
this.openToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.saveToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.compressionLvlToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripComboBox1 = new System.Windows.Forms.ToolStripComboBox();
this.compressionTypeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.compressionTypeComboBox = new System.Windows.Forms.ToolStripComboBox();
this.levelToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.typeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.metroPanel1 = new MetroFramework.Controls.MetroPanel();
this.noneToolStripMenuItem = new PckStudio.ToolStripRadioButtonMenuItem();
this.compressedToolStripMenuItem = new PckStudio.ToolStripRadioButtonMenuItem();
this.compressedRLEToolStripMenuItem = new PckStudio.ToolStripRadioButtonMenuItem();
this.compressedRLECRCToolStripMenuItem = new PckStudio.ToolStripRadioButtonMenuItem();
this.wiiUPSVitaToolStripMenuItem = new PckStudio.ToolStripRadioButtonMenuItem();
this.pS3ToolStripMenuItem = new PckStudio.ToolStripRadioButtonMenuItem();
this.xbox360ToolStripMenuItem = new PckStudio.ToolStripRadioButtonMenuItem();
this.MessageContextMenu.SuspendLayout();
this.DetailContextMenu.SuspendLayout();
this.menuStrip1.SuspendLayout();
@@ -155,8 +161,7 @@
this.menuStrip1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
this.menuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.fileToolStripMenuItem,
this.compressionLvlToolStripMenuItem,
this.compressionTypeToolStripMenuItem});
this.compressionLvlToolStripMenuItem});
this.menuStrip1.Location = new System.Drawing.Point(25, 60);
this.menuStrip1.Name = "menuStrip1";
this.menuStrip1.Size = new System.Drawing.Size(450, 24);
@@ -176,7 +181,7 @@
// openToolStripMenuItem
//
this.openToolStripMenuItem.Name = "openToolStripMenuItem";
this.openToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
this.openToolStripMenuItem.Size = new System.Drawing.Size(103, 22);
this.openToolStripMenuItem.Text = "Open";
this.openToolStripMenuItem.Click += new System.EventHandler(this.openToolStripMenuItem_Click);
//
@@ -184,47 +189,42 @@
//
this.saveToolStripMenuItem.BackColor = System.Drawing.Color.Transparent;
this.saveToolStripMenuItem.Name = "saveToolStripMenuItem";
this.saveToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
this.saveToolStripMenuItem.Size = new System.Drawing.Size(103, 22);
this.saveToolStripMenuItem.Text = "Save";
this.saveToolStripMenuItem.Click += new System.EventHandler(this.saveToolStripMenuItem_Click);
//
// compressionLvlToolStripMenuItem
//
this.compressionLvlToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.toolStripComboBox1});
this.levelToolStripMenuItem,
this.typeToolStripMenuItem});
this.compressionLvlToolStripMenuItem.ForeColor = System.Drawing.SystemColors.Menu;
this.compressionLvlToolStripMenuItem.Name = "compressionLvlToolStripMenuItem";
this.compressionLvlToolStripMenuItem.Size = new System.Drawing.Size(106, 20);
this.compressionLvlToolStripMenuItem.Text = "Compression Lvl";
this.compressionLvlToolStripMenuItem.Size = new System.Drawing.Size(89, 20);
this.compressionLvlToolStripMenuItem.Text = "Compression";
//
// toolStripComboBox1
// levelToolStripMenuItem
//
this.toolStripComboBox1.Items.AddRange(new object[] {
"None",
"Compressed",
"Compressed + RLE",
"Compressed + RLE + CRC"});
this.toolStripComboBox1.Name = "toolStripComboBox1";
this.toolStripComboBox1.Size = new System.Drawing.Size(121, 23);
this.toolStripComboBox1.Text = "None";
this.levelToolStripMenuItem.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text;
this.levelToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.noneToolStripMenuItem,
this.compressedToolStripMenuItem,
this.compressedRLEToolStripMenuItem,
this.compressedRLECRCToolStripMenuItem});
this.levelToolStripMenuItem.Name = "levelToolStripMenuItem";
this.levelToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
this.levelToolStripMenuItem.Text = "Level";
//
// compressionTypeToolStripMenuItem
// typeToolStripMenuItem
//
this.compressionTypeToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.compressionTypeComboBox});
this.compressionTypeToolStripMenuItem.ForeColor = System.Drawing.SystemColors.Menu;
this.compressionTypeToolStripMenuItem.Name = "compressionTypeToolStripMenuItem";
this.compressionTypeToolStripMenuItem.Size = new System.Drawing.Size(116, 20);
this.compressionTypeToolStripMenuItem.Text = "Compression Type";
//
// compressionTypeComboBox
//
this.compressionTypeComboBox.Items.AddRange(new object[] {
"Wii U, PS Vita",
"PS3",
"Xbox 360"});
this.compressionTypeComboBox.Name = "compressionTypeComboBox";
this.compressionTypeComboBox.Size = new System.Drawing.Size(121, 23);
this.typeToolStripMenuItem.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text;
this.typeToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.wiiUPSVitaToolStripMenuItem,
this.pS3ToolStripMenuItem,
this.xbox360ToolStripMenuItem});
this.typeToolStripMenuItem.Name = "typeToolStripMenuItem";
this.typeToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
this.typeToolStripMenuItem.Text = "Type";
//
// metroPanel1
//
@@ -246,6 +246,72 @@
this.metroPanel1.VerticalScrollbarSize = 10;
this.metroPanel1.Resize += new System.EventHandler(this.metroPanel1_Resize);
//
// noneToolStripMenuItem
//
this.noneToolStripMenuItem.Checked = true;
this.noneToolStripMenuItem.CheckOnClick = true;
this.noneToolStripMenuItem.CheckState = System.Windows.Forms.CheckState.Checked;
this.noneToolStripMenuItem.Name = "noneToolStripMenuItem";
this.noneToolStripMenuItem.Size = new System.Drawing.Size(210, 22);
this.noneToolStripMenuItem.Text = "None";
this.noneToolStripMenuItem.CheckedChanged += new System.EventHandler(this.noneToolStripMenuItem_CheckedChanged);
//
// compressedToolStripMenuItem
//
this.compressedToolStripMenuItem.CheckOnClick = true;
this.compressedToolStripMenuItem.Name = "compressedToolStripMenuItem";
this.compressedToolStripMenuItem.Size = new System.Drawing.Size(210, 22);
this.compressedToolStripMenuItem.Text = "Compressed";
this.compressedToolStripMenuItem.CheckedChanged += new System.EventHandler(this.compressedToolStripMenuItem_CheckedChanged);
//
// compressedRLEToolStripMenuItem
//
this.compressedRLEToolStripMenuItem.CheckOnClick = true;
this.compressedRLEToolStripMenuItem.Name = "compressedRLEToolStripMenuItem";
this.compressedRLEToolStripMenuItem.Size = new System.Drawing.Size(210, 22);
this.compressedRLEToolStripMenuItem.Text = "Compressed + RLE";
this.compressedRLEToolStripMenuItem.CheckedChanged += new System.EventHandler(this.compressedRLEToolStripMenuItem_CheckedChanged);
//
// compressedRLECRCToolStripMenuItem
//
this.compressedRLECRCToolStripMenuItem.CheckOnClick = true;
this.compressedRLECRCToolStripMenuItem.Name = "compressedRLECRCToolStripMenuItem";
this.compressedRLECRCToolStripMenuItem.Size = new System.Drawing.Size(210, 22);
this.compressedRLECRCToolStripMenuItem.Text = "Compressed + RLE + CRC";
this.compressedRLECRCToolStripMenuItem.CheckedChanged += new System.EventHandler(this.compressedRLECRCToolStripMenuItem_CheckedChanged);
//
// wiiUPSVitaToolStripMenuItem
//
this.wiiUPSVitaToolStripMenuItem.BackColor = System.Drawing.SystemColors.Window;
this.wiiUPSVitaToolStripMenuItem.CheckOnClick = true;
this.wiiUPSVitaToolStripMenuItem.Name = "wiiUPSVitaToolStripMenuItem";
this.wiiUPSVitaToolStripMenuItem.ShowShortcutKeys = false;
this.wiiUPSVitaToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
this.wiiUPSVitaToolStripMenuItem.Text = "Wii U, PS Vita";
this.wiiUPSVitaToolStripMenuItem.CheckedChanged += new System.EventHandler(this.wiiUPSVitaToolStripMenuItem_CheckedChanged);
//
// pS3ToolStripMenuItem
//
this.pS3ToolStripMenuItem.BackColor = System.Drawing.SystemColors.Window;
this.pS3ToolStripMenuItem.CheckOnClick = true;
this.pS3ToolStripMenuItem.Name = "pS3ToolStripMenuItem";
this.pS3ToolStripMenuItem.ShowShortcutKeys = false;
this.pS3ToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
this.pS3ToolStripMenuItem.Text = "PS3";
this.pS3ToolStripMenuItem.CheckedChanged += new System.EventHandler(this.pS3ToolStripMenuItem_CheckedChanged);
//
// xbox360ToolStripMenuItem
//
this.xbox360ToolStripMenuItem.BackColor = System.Drawing.SystemColors.Window;
this.xbox360ToolStripMenuItem.Checked = true;
this.xbox360ToolStripMenuItem.CheckOnClick = true;
this.xbox360ToolStripMenuItem.CheckState = System.Windows.Forms.CheckState.Checked;
this.xbox360ToolStripMenuItem.Name = "xbox360ToolStripMenuItem";
this.xbox360ToolStripMenuItem.ShowShortcutKeys = false;
this.xbox360ToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
this.xbox360ToolStripMenuItem.Text = "Xbox 360";
this.xbox360ToolStripMenuItem.CheckedChanged += new System.EventHandler(this.xbox360ToolStripMenuItem_CheckedChanged);
//
// GameRuleFileEditor
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
@@ -294,8 +360,17 @@
private System.Windows.Forms.ToolStripMenuItem openToolStripMenuItem;
private MetroFramework.Controls.MetroPanel metroPanel1;
private System.Windows.Forms.ToolStripMenuItem compressionLvlToolStripMenuItem;
private System.Windows.Forms.ToolStripComboBox toolStripComboBox1;
private System.Windows.Forms.ToolStripMenuItem compressionTypeToolStripMenuItem;
private System.Windows.Forms.ToolStripComboBox compressionTypeComboBox;
private System.Windows.Forms.ToolStripMenuItem levelToolStripMenuItem;
private PckStudio.ToolStripRadioButtonMenuItem noneToolStripMenuItem;
private PckStudio.ToolStripRadioButtonMenuItem compressedToolStripMenuItem;
private PckStudio.ToolStripRadioButtonMenuItem compressedRLEToolStripMenuItem;
private PckStudio.ToolStripRadioButtonMenuItem compressedRLECRCToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem typeToolStripMenuItem;
private PckStudio.ToolStripRadioButtonMenuItem wiiUPSVitaToolStripMenuItem;
private PckStudio.ToolStripRadioButtonMenuItem pS3ToolStripMenuItem;
private PckStudio.ToolStripRadioButtonMenuItem xbox360ToolStripMenuItem;
}
}

View File

@@ -11,6 +11,7 @@ using OMI.Workers.GameRule;
using System.Diagnostics;
using OMI.Formats.Pck;
using PckStudio.Forms.Additional_Popups;
using PckStudio.Models;
namespace PckStudio.Forms.Editor
{
@@ -18,7 +19,8 @@ namespace PckStudio.Forms.Editor
{
private PckFile.FileData _pckfile;
private GameRuleFile _file;
private GameRuleFile.CompressionType compressionType;
private GameRuleFile.CompressionLevel compressionLevel;
public GameRuleFileEditor()
{
InitializeComponent();
@@ -27,28 +29,44 @@ namespace PckStudio.Forms.Editor
private void PromptForCompressionType()
{
ItemSelectionPopUp dialog = new ItemSelectionPopUp(compressionTypeComboBox.Items.Cast<string>().ToArray());
ItemSelectionPopUp dialog = new ItemSelectionPopUp("Wii U, PS Vita", "PS3", "Xbox 360");
dialog.label2.Text = "Type";
dialog.okBtn.Text = "Ok";
if (dialog.ShowDialog() == DialogResult.OK)
compressionTypeComboBox.SelectedIndex = compressionTypeComboBox.Items.IndexOf(dialog.SelectedItem);
{
switch(dialog.SelectedItem)
{
case "Wii U, PS Vita":
wiiUPSVitaToolStripMenuItem.Checked = true;
break;
case "PS3":
pS3ToolStripMenuItem.Checked = true;
break;
case "Xbox 360":
xbox360ToolStripMenuItem.Checked = true;
break;
}
}
}
public GameRuleFileEditor(PckFile.FileData file) : this()
{
_pckfile = file;
using (var stream = new MemoryStream(file.Data))
if (file.Size > 0)
{
_file = OpenGameRuleFile(stream, (GameRuleFile.CompressionType)compressionTypeComboBox.SelectedIndex);
using (var stream = new MemoryStream(file.Data))
{
_file = OpenGameRuleFile(stream);
}
}
}
public GameRuleFileEditor(Stream stream) : this()
{
_file = OpenGameRuleFile(stream, (GameRuleFile.CompressionType)compressionTypeComboBox.SelectedIndex);
_file = OpenGameRuleFile(stream);
}
private GameRuleFile OpenGameRuleFile(Stream stream, GameRuleFile.CompressionType compressionType)
private GameRuleFile OpenGameRuleFile(Stream stream)
{
try
{
@@ -83,13 +101,32 @@ namespace PckStudio.Forms.Editor
private void ReloadGameRuleTree()
{
GrfTreeView.Nodes.Clear();
SetCompressionLevel();
if (_file is not null)
{
toolStripComboBox1.SelectedIndex = (int)_file.FileHeader.CompressionLevel;
LoadGameRuleTree(GrfTreeView.Nodes, _file.Root);
}
}
private void SetCompressionLevel()
{
switch (_file.FileHeader.CompressionLevel)
{
case GameRuleFile.CompressionLevel.None:
noneToolStripMenuItem.Checked = true;
break;
case GameRuleFile.CompressionLevel.Compressed:
compressedToolStripMenuItem.Checked = true;
break;
case GameRuleFile.CompressionLevel.CompressedRle:
compressedRLEToolStripMenuItem.Checked = true;
break;
case GameRuleFile.CompressionLevel.CompressedRleCrc:
compressedRLECRCToolStripMenuItem.Checked = true;
break;
}
}
private void GrfTreeView_AfterSelect(object sender, TreeViewEventArgs e)
{
if (e.Node is TreeNode t && t.Tag is GameRuleFile.GameRule)
@@ -215,8 +252,8 @@ namespace PckStudio.Forms.Editor
{
var writer = new GameRuleFileWriter(
_file,
(GameRuleFile.CompressionLevel)toolStripComboBox1.SelectedIndex,
(GameRuleFile.CompressionType)compressionTypeComboBox.SelectedIndex);
compressionLevel,
compressionType);
writer.WriteToStream(stream);
_pckfile?.SetData(stream.ToArray());
MessageBox.Show("Saved!");
@@ -247,10 +284,52 @@ namespace PckStudio.Forms.Editor
{
using (var fs = File.OpenRead(dialog.FileName))
{
_file = OpenGameRuleFile(fs, (GameRuleFile.CompressionType)compressionTypeComboBox.SelectedIndex);
_file = OpenGameRuleFile(fs);
ReloadGameRuleTree();
}
}
}
private void noneToolStripMenuItem_CheckedChanged(object sender, EventArgs e)
{
if (sender is ToolStripRadioButtonMenuItem radioButton && radioButton.Checked)
compressionLevel = GameRuleFile.CompressionLevel.None;
}
private void compressedToolStripMenuItem_CheckedChanged(object sender, EventArgs e)
{
if (sender is ToolStripRadioButtonMenuItem radioButton && radioButton.Checked)
compressionLevel = GameRuleFile.CompressionLevel.Compressed;
}
private void compressedRLEToolStripMenuItem_CheckedChanged(object sender, EventArgs e)
{
if (sender is ToolStripRadioButtonMenuItem radioButton && radioButton.Checked)
compressionLevel = GameRuleFile.CompressionLevel.CompressedRle;
}
private void compressedRLECRCToolStripMenuItem_CheckedChanged(object sender, EventArgs e)
{
if (sender is ToolStripRadioButtonMenuItem radioButton && radioButton.Checked)
compressionLevel = GameRuleFile.CompressionLevel.CompressedRleCrc;
}
private void wiiUPSVitaToolStripMenuItem_CheckedChanged(object sender, EventArgs e)
{
if (sender is ToolStripRadioButtonMenuItem radioButton && radioButton.Checked)
compressionType = GameRuleFile.CompressionType.Zlib;
}
private void pS3ToolStripMenuItem_CheckedChanged(object sender, EventArgs e)
{
if (sender is ToolStripRadioButtonMenuItem radioButton && radioButton.Checked)
compressionType = GameRuleFile.CompressionType.Deflate;
}
private void xbox360ToolStripMenuItem_CheckedChanged(object sender, EventArgs e)
{
if (sender is ToolStripRadioButtonMenuItem radioButton && radioButton.Checked)
compressionType = GameRuleFile.CompressionType.XMem;
}
}
}

View File

@@ -170,6 +170,9 @@
<Compile Include="Classes\ToolboxItems\PictureBoxWithInterpolationMode.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="Classes\ToolboxItems\ToolStripRadioButtonMenuItem.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="Extensions\ImageLayoutDirection.cs" />
<Compile Include="Extensions\ImageSection.cs" />
<Compile Include="Extensions\ListExtensions.cs" />