mirror of
https://github.com/KillzXGaming/Switch-Toolbox
synced 2024-11-22 20:43:09 +00:00
Use global variables for nutexb configuration.
This commit is contained in:
parent
9c0703d50c
commit
6b88b26038
2 changed files with 22 additions and 12 deletions
|
@ -57,9 +57,6 @@ namespace FirstPlugin
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public bool LimitFileSize { get; set; } = true;
|
|
||||||
public bool PadFileSize { get; set; } = true;
|
|
||||||
|
|
||||||
public enum NUTEXImageFormat : byte
|
public enum NUTEXImageFormat : byte
|
||||||
{
|
{
|
||||||
R8G8B8A8_UNORM = 0x00,
|
R8G8B8A8_UNORM = 0x00,
|
||||||
|
@ -343,7 +340,7 @@ namespace FirstPlugin
|
||||||
|
|
||||||
private byte[] SetImageData(byte[] output)
|
private byte[] SetImageData(byte[] output)
|
||||||
{
|
{
|
||||||
if (output.Length < ImageData.Length && (LimitFileSize || PadFileSize))
|
if (output.Length < ImageData.Length && (Runtime.NUTEXBSettings.LimitFileSize || Runtime.NUTEXBSettings.PadFileSize))
|
||||||
{
|
{
|
||||||
var paddingSize = ImageData.Length - output.Length;
|
var paddingSize = ImageData.Length - output.Length;
|
||||||
output = Utils.CombineByteArray(output, new byte[paddingSize]);
|
output = Utils.CombineByteArray(output, new byte[paddingSize]);
|
||||||
|
@ -521,7 +518,7 @@ namespace FirstPlugin
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!LimitFileSize)
|
if (!Runtime.NUTEXBSettings.LimitFileSize)
|
||||||
MipCount = GenerateMipCount(bitmap.Width, bitmap.Height);
|
MipCount = GenerateMipCount(bitmap.Width, bitmap.Height);
|
||||||
|
|
||||||
Texture tex = new Texture();
|
Texture tex = new Texture();
|
||||||
|
@ -556,7 +553,7 @@ namespace FirstPlugin
|
||||||
GenerateMipsAndCompress(bitmap, MipCount, Format), MipCount);
|
GenerateMipsAndCompress(bitmap, MipCount, Format), MipCount);
|
||||||
|
|
||||||
byte[] output = Utils.CombineByteArray(mipmaps.ToArray());
|
byte[] output = Utils.CombineByteArray(mipmaps.ToArray());
|
||||||
if (LimitFileSize && output.Length > ImageData.Length)
|
if (Runtime.NUTEXBSettings.LimitFileSize && output.Length > ImageData.Length)
|
||||||
throw new Exception("Image must be the same size or smaller!");
|
throw new Exception("Image must be the same size or smaller!");
|
||||||
|
|
||||||
ImageData = SetImageData(output);
|
ImageData = SetImageData(output);
|
||||||
|
@ -587,25 +584,31 @@ namespace FirstPlugin
|
||||||
public override ToolStripItem[] GetContextMenuItems()
|
public override ToolStripItem[] GetContextMenuItems()
|
||||||
{
|
{
|
||||||
List<ToolStripItem> Items = new List<ToolStripItem>();
|
List<ToolStripItem> Items = new List<ToolStripItem>();
|
||||||
Items.Add(new STToolStipMenuItem("Use Size Restrictions", null, UseSizeRestrictionsAction, Keys.Control | Keys.U) { Checked = LimitFileSize, CheckOnClick = true });
|
Items.Add(new STToolStipMenuItem("Use Size Restrictions", null, UseSizeRestrictionsAction, Keys.Control | Keys.U)
|
||||||
|
{ Checked = Runtime.NUTEXBSettings.LimitFileSize, CheckOnClick = true });
|
||||||
|
|
||||||
Items.Add(new STToolStipMenuItem("Save", null, SaveAction, Keys.Control | Keys.T));
|
Items.Add(new STToolStipMenuItem("Save", null, SaveAction, Keys.Control | Keys.T));
|
||||||
Items.Add(new STToolStipMenuItem("Taiko no Tatsujin fix", null, SwizzleToggle, Keys.Control | Keys.S) { Checked = !IsSwizzled, CheckOnClick = true });
|
Items.Add(new STToolStipMenuItem("Taiko no Tatsujin fix", null, SwizzleToggle, Keys.Control | Keys.S)
|
||||||
Items.Add(new STToolStipMenuItem("Force padding for smaller file sizes", null, PaddingToggle, Keys.Control | Keys.P) { Checked = PadFileSize, CheckOnClick = true });
|
{ Checked = !IsSwizzled, CheckOnClick = true });
|
||||||
|
|
||||||
|
Items.Add(new STToolStipMenuItem("Force padding for smaller file sizes", null, PaddingToggle, Keys.Control | Keys.P)
|
||||||
|
{ Checked = Runtime.NUTEXBSettings.PadFileSize, CheckOnClick = true });
|
||||||
|
|
||||||
Items.AddRange(base.GetContextMenuItems());
|
Items.AddRange(base.GetContextMenuItems());
|
||||||
return Items.ToArray();
|
return Items.ToArray();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void SwizzleToggle(object sender, EventArgs args) {
|
private void SwizzleToggle(object sender, EventArgs args) {
|
||||||
IsSwizzled = ((STToolStipMenuItem)sender).Checked ? false : true;
|
Runtime.NUTEXBSettings.IsSwizzled = ((STToolStipMenuItem)sender).Checked ? false : true;
|
||||||
UpdateEditor();
|
UpdateEditor();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void PaddingToggle(object sender, EventArgs args) {
|
private void PaddingToggle(object sender, EventArgs args) {
|
||||||
PadFileSize = ((STToolStipMenuItem)sender).Checked ? true : false;
|
Runtime.NUTEXBSettings.PadFileSize = ((STToolStipMenuItem)sender).Checked ? true : false;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void UseSizeRestrictionsAction(object sender, EventArgs args) {
|
private void UseSizeRestrictionsAction(object sender, EventArgs args) {
|
||||||
LimitFileSize = ((STToolStipMenuItem)sender).Checked ? true : false;
|
Runtime.NUTEXBSettings.LimitFileSize = ((STToolStipMenuItem)sender).Checked ? true : false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -70,6 +70,13 @@ namespace Toolbox.Library
|
||||||
public static bool KCLUsePresetEditor = false;
|
public static bool KCLUsePresetEditor = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public class NUTEXBSettings
|
||||||
|
{
|
||||||
|
public static bool LimitFileSize = true;
|
||||||
|
public static bool PadFileSize = true;
|
||||||
|
public static bool IsSwizzled = true;
|
||||||
|
}
|
||||||
|
|
||||||
public class MessageEditor
|
public class MessageEditor
|
||||||
{
|
{
|
||||||
public static FontFamily FontFamily = new FontFamily("Arial");
|
public static FontFamily FontFamily = new FontFamily("Arial");
|
||||||
|
|
Loading…
Reference in a new issue