mirror of
https://git.huckle.dev/Huckles-Minecraft-Archive/PCK-Studio.git
synced 2026-06-27 10:55:52 +00:00
Merge branch 'main' of https://github.com/PhoenixARC/-PCK-Studio
This commit is contained in:
@@ -2,30 +2,47 @@
|
||||
using System.Diagnostics;
|
||||
using System.IO;
|
||||
using System.Runtime.InteropServices;
|
||||
using PckStudio.Extensions;
|
||||
using PckStudio.Internal;
|
||||
using SharpMSS;
|
||||
|
||||
namespace PckStudio.API.Miles
|
||||
{
|
||||
internal static class Binka
|
||||
{
|
||||
public static int FromWav(string inputFilepath, string outputFilepath, int compressionLevel)
|
||||
private static ProcessStartInfo WavProcessStartInfo = new ProcessStartInfo
|
||||
{
|
||||
UseShellExecute = true,
|
||||
CreateNoWindow = true,
|
||||
WindowStyle = ProcessWindowStyle.Hidden
|
||||
};
|
||||
|
||||
public static int ToBinka(string inputFilepath, string outputFilepath, int compressionLevel)
|
||||
{
|
||||
compressionLevel = MathExtensions.Clamp(compressionLevel, 1, 9);
|
||||
ApplicationScope.DataCacher.Cache(Properties.Resources.binka_encode, "binka_encode.exe");
|
||||
var process = Process.Start(new ProcessStartInfo
|
||||
{
|
||||
FileName = ApplicationScope.DataCacher.GetCachedFilepath("binka_encode.exe"),
|
||||
Arguments = $"\"{inputFilepath}\" \"{outputFilepath}\" -s -b{compressionLevel}",
|
||||
UseShellExecute = true,
|
||||
CreateNoWindow = true,
|
||||
WindowStyle = ProcessWindowStyle.Hidden
|
||||
});
|
||||
WavProcessStartInfo.FileName = ApplicationScope.DataCacher.GetCachedFilepath("binka_encode.exe");
|
||||
WavProcessStartInfo.Arguments = $"\"{inputFilepath}\" \"{outputFilepath}\" -s -b{compressionLevel}";
|
||||
var process = Process.Start(WavProcessStartInfo);
|
||||
process.WaitForExit();
|
||||
return process.ExitCode;
|
||||
}
|
||||
|
||||
public static void ToWav(Stream source, Stream destination)
|
||||
{
|
||||
using var sourceFs = new MemoryStream();
|
||||
_ = source ?? throw new ArgumentNullException(nameof(source));
|
||||
_ = destination ?? throw new ArgumentNullException(nameof(destination));
|
||||
if (!source.CanRead)
|
||||
{
|
||||
throw new NotSupportedException("Can not read from source stream");
|
||||
}
|
||||
|
||||
if (!destination.CanWrite)
|
||||
{
|
||||
throw new NotSupportedException("Can not read to destination stream");
|
||||
}
|
||||
|
||||
using var sourceFs = new MemoryStream();
|
||||
source.CopyTo(sourceFs);
|
||||
byte[] buffer = ToWav(sourceFs.ToArray());
|
||||
|
||||
@@ -33,7 +50,6 @@ namespace PckStudio.API.Miles
|
||||
{
|
||||
ms.CopyTo(destination);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public static void ToWav(string inputFilepath, string outputFilepath)
|
||||
@@ -47,9 +63,13 @@ namespace PckStudio.API.Miles
|
||||
|
||||
public static byte[] ToWav(string inputFilepath)
|
||||
{
|
||||
if (!File.Exists(inputFilepath))
|
||||
{
|
||||
throw new FileNotFoundException(nameof(inputFilepath));
|
||||
}
|
||||
if (!inputFilepath.EndsWith(".binka"))
|
||||
{
|
||||
throw new Exception("Not a Bink Audio file.");
|
||||
throw new ArgumentException("Not a Bink Audio file.");
|
||||
}
|
||||
return ToWav(File.ReadAllBytes(inputFilepath));
|
||||
}
|
||||
@@ -79,7 +99,8 @@ namespace PckStudio.API.Miles
|
||||
AILAPI.MemFreeLock(resultBuffer);
|
||||
RIBAPI.FreeProviderLibrary(0); // free all loaded providers
|
||||
AILAPI.Shutdown();
|
||||
return buffer;
|
||||
mss32LibHandle.Release();
|
||||
return buffer;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,10 +6,9 @@ using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using OMI.Workers;
|
||||
using PckStudio.Classes._3ds;
|
||||
using OMI;
|
||||
|
||||
namespace PckStudio.Classes.IO._3DST
|
||||
namespace PckStudio.IO._3DST
|
||||
{
|
||||
internal class _3DSTextureReader : IDataFormatReader<Image>, IDataFormatReader
|
||||
{
|
||||
|
||||
@@ -4,9 +4,8 @@ using System.IO;
|
||||
using System.Text;
|
||||
using OMI;
|
||||
using OMI.Workers;
|
||||
using PckStudio.Classes._3ds;
|
||||
|
||||
namespace PckStudio.Classes.IO._3DST
|
||||
namespace PckStudio.IO._3DST
|
||||
{
|
||||
internal class _3DSTextureWriter : IDataFormatWriter
|
||||
{
|
||||
|
||||
@@ -3,7 +3,7 @@ using System.Drawing;
|
||||
using System.Drawing.Imaging;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
namespace PckStudio.Classes._3ds
|
||||
namespace PckStudio.IO._3DST
|
||||
{
|
||||
/// <summary>
|
||||
/// Format of the texture used on the PICA200.
|
||||
|
||||
@@ -4,7 +4,7 @@ using OMI;
|
||||
using OMI.Workers;
|
||||
using PckStudio.FileFormats;
|
||||
|
||||
namespace PckStudio.Classes.IO.CSMB
|
||||
namespace PckStudio.IO.CSMB
|
||||
{
|
||||
internal class CSMBFileReader : IDataFormatReader<CSMBFile>, IDataFormatReader
|
||||
{
|
||||
|
||||
@@ -4,7 +4,7 @@ using PckStudio.FileFormats;
|
||||
using OMI.Workers;
|
||||
using OMI;
|
||||
|
||||
namespace PckStudio.Classes.IO.CSMB
|
||||
namespace PckStudio.IO.CSMB
|
||||
{
|
||||
internal class CSMBFileWriter : IDataFormatWriter
|
||||
{
|
||||
|
||||
@@ -8,7 +8,7 @@ using System.IO;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
|
||||
namespace PckStudio.Classes.IO.PCK
|
||||
namespace PckStudio.IO.PckAudio
|
||||
{
|
||||
|
||||
public class InvalidAudioPckException : Exception
|
||||
|
||||
@@ -5,7 +5,7 @@ using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Text;
|
||||
|
||||
namespace PckStudio.Classes.IO.PCK
|
||||
namespace PckStudio.IO.PckAudio
|
||||
{
|
||||
internal class PckAudioFileWriter : IDataFormatWriter
|
||||
{
|
||||
|
||||
@@ -7,6 +7,8 @@ using PckStudio.API.Miles;
|
||||
using PckStudio.Forms.Additional_Popups;
|
||||
using System.Windows.Forms;
|
||||
using System.IO;
|
||||
using PckStudio.Internal;
|
||||
using System.Text.RegularExpressions;
|
||||
|
||||
namespace PckStudio.Classes.Utils
|
||||
{
|
||||
@@ -25,8 +27,43 @@ namespace PckStudio.Classes.Utils
|
||||
|
||||
waitDiag.Close();
|
||||
waitDiag.Dispose();
|
||||
MessageBox.Show($"Successfully converted {convertedCount}/{filenames.Length} file{(filenames.Length != 1 ? "s" : "")}", "Done!");
|
||||
MessageBox.Show($"Successfully converted {convertedCount}/{filenames.Length} file{(filenames.Length > 1 ? "s" : "")}", "Done!");
|
||||
}
|
||||
|
||||
public static void ToBinka(string[] filenames, DirectoryInfo destination)
|
||||
{
|
||||
int convertedCount = 0;
|
||||
Directory.CreateDirectory(ApplicationScope.DataCacher.CacheDirectory);
|
||||
|
||||
InProgressPrompt waitDiag = new InProgressPrompt();
|
||||
waitDiag.Show();
|
||||
|
||||
foreach (string file in filenames)
|
||||
{
|
||||
string[] a = Path.GetFileNameWithoutExtension(file).Split(Path.GetInvalidFileNameChars());
|
||||
string songName = string.Join("_", a);
|
||||
// Replace UTF characters
|
||||
songName = Regex.Replace(songName, @"[^\u0000-\u007F]+", "_");
|
||||
string cacheSongFilepath = Path.Combine(ApplicationScope.DataCacher.CacheDirectory, songName + Path.GetExtension(file));
|
||||
|
||||
using (var reader = new NAudio.Wave.WaveFileReader(file))
|
||||
{
|
||||
var newFormat = new NAudio.Wave.WaveFormat(reader.WaveFormat.SampleRate, 16, reader.WaveFormat.Channels);
|
||||
using (var conversionStream = new NAudio.Wave.WaveFormatConversionStream(newFormat, reader))
|
||||
{
|
||||
NAudio.Wave.WaveFileWriter.CreateWaveFile(cacheSongFilepath, conversionStream); //write to new location
|
||||
}
|
||||
}
|
||||
|
||||
Cursor.Current = Cursors.WaitCursor;
|
||||
int exitCode = Binka.ToBinka(cacheSongFilepath, Path.Combine(destination.FullName, Path.GetFileNameWithoutExtension(file) + ".binka"), 4);
|
||||
if (exitCode == 0)
|
||||
convertedCount++;
|
||||
}
|
||||
|
||||
waitDiag.Close();
|
||||
waitDiag.Dispose();
|
||||
MessageBox.Show($"Successfully converted {convertedCount}/{filenames.Length} file{(filenames.Length > 1 ? "s" : "")}", "Done!");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
4
PCK-Studio/Controls/PckEditor.Designer.cs
generated
4
PCK-Studio/Controls/PckEditor.Designer.cs
generated
@@ -94,7 +94,7 @@
|
||||
this.imageList = new System.Windows.Forms.ImageList(this.components);
|
||||
this.addMultipleEntriesToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.LittleEndianCheckBox = new MetroFramework.Controls.MetroCheckBox();
|
||||
this.previewPictureBox = new PckStudio.PictureBoxWithInterpolationMode();
|
||||
this.previewPictureBox = new PckStudio.ToolboxItems.InterpolationPictureBox();
|
||||
logoPictureBox = new System.Windows.Forms.PictureBox();
|
||||
((System.ComponentModel.ISupportInitialize)(logoPictureBox)).BeginInit();
|
||||
this.PropertiesTabControl.SuspendLayout();
|
||||
@@ -676,7 +676,7 @@
|
||||
private System.Windows.Forms.TreeView treeMeta;
|
||||
private MetroFramework.Controls.MetroLabel label11;
|
||||
private System.Windows.Forms.TreeView treeViewMain;
|
||||
private PictureBoxWithInterpolationMode previewPictureBox;
|
||||
private PckStudio.ToolboxItems.InterpolationPictureBox previewPictureBox;
|
||||
private System.Windows.Forms.ContextMenuStrip contextMenuMetaTree;
|
||||
private System.Windows.Forms.ToolStripMenuItem addEntryToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem addEntryToolStripMenuItem1;
|
||||
|
||||
@@ -18,10 +18,9 @@ using PckStudio.Internal;
|
||||
using PckStudio.Popups;
|
||||
using PckStudio.Properties;
|
||||
using PckStudio.Forms.Additional_Popups.Animation;
|
||||
using PckStudio.Forms.Utilities;
|
||||
using PckStudio.Classes.IO._3DST;
|
||||
using PckStudio.IO._3DST;
|
||||
using PckStudio.Forms.Additional_Popups;
|
||||
using PckStudio.Classes.IO.PCK;
|
||||
using PckStudio.IO.PckAudio;
|
||||
using PckStudio.Classes.Misc;
|
||||
|
||||
using OMI.Formats.Languages;
|
||||
@@ -29,6 +28,7 @@ using OMI.Formats.Pck;
|
||||
using OMI.Workers.Language;
|
||||
using OMI.Workers.Pck;
|
||||
using PckStudio.FileFormats;
|
||||
using PckStudio.Helper;
|
||||
|
||||
namespace PckStudio.Controls
|
||||
{
|
||||
@@ -691,7 +691,7 @@ namespace PckStudio.Controls
|
||||
MessageBox.Show("No .loc file found", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||
return;
|
||||
}
|
||||
using (addNewSkin add = new addNewSkin(locFile))
|
||||
using (AddNewSkin add = new AddNewSkin(locFile))
|
||||
if (add.ShowDialog() == DialogResult.OK)
|
||||
{
|
||||
|
||||
@@ -1477,21 +1477,46 @@ namespace PckStudio.Controls
|
||||
|
||||
private void HandleTextureFile(PckFile.FileData file)
|
||||
{
|
||||
if (!(file.Filename.StartsWith("res/textures/blocks/") || file.Filename.StartsWith("res/textures/items/")))
|
||||
return;
|
||||
_ = file.IsMipmappedFile() && _pck.Files.TryGetValue(file.GetNormalPath(), PckFile.FileData.FileType.TextureFile, out file);
|
||||
|
||||
if (file.IsMipmappedFile() && _pck.Files.TryGetValue(file.GetNormalPath(), PckFile.FileData.FileType.TextureFile, out PckFile.FileData originalAnimationFile))
|
||||
if (file.Size <= 0)
|
||||
{
|
||||
file = originalAnimationFile;
|
||||
Debug.WriteLine($"'{file.Filename}' size is 0.", category: nameof(HandleTextureFile));
|
||||
return;
|
||||
}
|
||||
|
||||
using (AnimationEditor animationEditor = new AnimationEditor(file))
|
||||
if (file.Filename == "res/terrain.png" || file.Filename == "res/items.png")
|
||||
{
|
||||
if (animationEditor.ShowDialog(this) == DialogResult.OK)
|
||||
using var ms = new MemoryStream(file.Data);
|
||||
|
||||
var img = Image.FromStream(ms);
|
||||
var res = img.Width / 16; // texture count on X axes
|
||||
var size = new Size(res, res);
|
||||
var viewer = new TextureAtlasEditor(_pck, file.Filename, img, size);
|
||||
if (viewer.ShowDialog() == DialogResult.OK)
|
||||
{
|
||||
using (var result = new MemoryStream())
|
||||
{
|
||||
viewer.FinalTexture.Save(result, ImageFormat.Png);
|
||||
file.SetData(result.ToArray());
|
||||
}
|
||||
_wasModified = true;
|
||||
BuildMainTreeView();
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
if (file.Filename.StartsWith("res/textures/blocks/") || file.Filename.StartsWith("res/textures/items/"))
|
||||
{
|
||||
using (AnimationEditor animationEditor = new AnimationEditor(file))
|
||||
{
|
||||
if (animationEditor.ShowDialog(this) == DialogResult.OK)
|
||||
{
|
||||
_wasModified = true;
|
||||
BuildMainTreeView();
|
||||
}
|
||||
}
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -15,7 +15,12 @@ namespace PckStudio.Extensions
|
||||
return new Vector4(color.R / 255f, color.G / 255f, color.B / 255f, color.A / 255f);
|
||||
}
|
||||
|
||||
internal static byte BlendValues(float source, float overlay, BlendMode blendType)
|
||||
internal static byte BlendValues(byte source, byte overlay, BlendMode blendType)
|
||||
{
|
||||
return (byte)MathExtensions.Clamp(BlendValues(source / 255f, overlay / 255f, blendType) * 255, 0, 255);
|
||||
}
|
||||
|
||||
internal static float BlendValues(float source, float overlay, BlendMode blendType)
|
||||
{
|
||||
source = MathExtensions.Clamp(source, 0.0f, 1.0f);
|
||||
overlay = MathExtensions.Clamp(overlay, 0.0f, 1.0f);
|
||||
@@ -31,7 +36,7 @@ namespace PckStudio.Extensions
|
||||
BlendMode.Overlay => source < 0.5f ? 2f * source * overlay : 1f - 2f * (1f - source) * (1f - overlay),
|
||||
_ => 0.0f
|
||||
};
|
||||
return (byte)MathExtensions.Clamp(resultValue * 255, 0, 255);
|
||||
return MathExtensions.Clamp(resultValue, 0.0f, 1.0f);
|
||||
}
|
||||
|
||||
internal static byte Mix(double ratio, byte val1, byte val2)
|
||||
|
||||
@@ -11,11 +11,11 @@ namespace PckStudio.Extensions
|
||||
{
|
||||
public GraphicsConfig()
|
||||
{
|
||||
CompositingQuality = CompositingQuality.Default;
|
||||
InterpolationMode = InterpolationMode.Default;
|
||||
SmoothingMode = SmoothingMode.Default;
|
||||
PixelOffsetMode = PixelOffsetMode.Default;
|
||||
CompositingMode = CompositingMode.SourceOver;
|
||||
CompositingQuality = default;
|
||||
InterpolationMode = default;
|
||||
SmoothingMode = default;
|
||||
PixelOffsetMode = default;
|
||||
CompositingMode = default;
|
||||
}
|
||||
|
||||
public CompositingMode CompositingMode { get; set; }
|
||||
@@ -35,5 +35,14 @@ namespace PckStudio.Extensions
|
||||
graphics.SmoothingMode = config.SmoothingMode;
|
||||
graphics.PixelOffsetMode = config.PixelOffsetMode;
|
||||
}
|
||||
|
||||
internal static Graphics Fill(this Graphics graphics, Rectangle area, Color color)
|
||||
{
|
||||
var clip = graphics.Clip;
|
||||
graphics.SetClip(area, CombineMode.Replace);
|
||||
graphics.Clear(color);
|
||||
graphics.SetClip(clip, CombineMode.Replace);
|
||||
return graphics;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
* misrepresented as being the original software.
|
||||
* 3. This notice may not be removed or altered from any source distribution.
|
||||
**/
|
||||
using System;
|
||||
using System;
|
||||
using System.Drawing;
|
||||
using System.Diagnostics;
|
||||
using System.Drawing.Imaging;
|
||||
@@ -23,6 +23,9 @@ using System.Drawing.Drawing2D;
|
||||
using System.Collections.Generic;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Linq;
|
||||
using PckStudio.Internal;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace PckStudio.Extensions
|
||||
{
|
||||
@@ -125,7 +128,12 @@ namespace PckStudio.Extensions
|
||||
return new Size(width, height);
|
||||
}
|
||||
|
||||
internal static Image ResizeImage(this Image image, int width, int height, GraphicsConfig graphicsConfig)
|
||||
internal static Image Resize(this Image image, Size size, GraphicsConfig graphicsConfig)
|
||||
{
|
||||
return image.Resize(size.Width, size.Height, graphicsConfig);
|
||||
}
|
||||
|
||||
internal static Image Resize(this Image image, int width, int height, GraphicsConfig graphicsConfig)
|
||||
{
|
||||
var destRect = new Rectangle(0, 0, width, height);
|
||||
var destImage = new Bitmap(width, height);
|
||||
@@ -144,47 +152,42 @@ namespace PckStudio.Extensions
|
||||
return destImage;
|
||||
}
|
||||
|
||||
internal static Image Fill(this Image image, Color color)
|
||||
{
|
||||
using (var g = Graphics.FromImage(image))
|
||||
{
|
||||
using (SolidBrush brush = new SolidBrush(color))
|
||||
{
|
||||
g.FillRectangle(brush, new Rectangle(Point.Empty, image.Size));
|
||||
}
|
||||
}
|
||||
return image;
|
||||
}
|
||||
|
||||
internal static Image Blend(this Image image, Color overlayColor, BlendMode mode)
|
||||
{
|
||||
if (image is not Bitmap baseImage)
|
||||
return image;
|
||||
|
||||
Bitmap bitmapResult = new Bitmap(baseImage.Width, baseImage.Height, PixelFormat.Format32bppArgb);
|
||||
|
||||
BitmapData baseImageData = baseImage.LockBits(new Rectangle(Point.Empty, baseImage.Size),
|
||||
ImageLockMode.ReadWrite, PixelFormat.Format32bppArgb);
|
||||
byte[] baseImageBuffer = new byte[baseImageData.Stride * baseImageData.Height];
|
||||
|
||||
Marshal.Copy(baseImageData.Scan0, baseImageBuffer, 0, baseImageBuffer.Length);
|
||||
|
||||
var normalized = overlayColor.Normalize();
|
||||
|
||||
for (int k = 0; k < baseImageBuffer.Length; k += 4)
|
||||
{
|
||||
baseImageBuffer[k + 0] = ColorExtensions.BlendValues(baseImageBuffer[k + 0] / 255f, normalized.X, mode);
|
||||
baseImageBuffer[k + 1] = ColorExtensions.BlendValues(baseImageBuffer[k + 1] / 255f, normalized.Y, mode);
|
||||
baseImageBuffer[k + 2] = ColorExtensions.BlendValues(baseImageBuffer[k + 2] / 255f, normalized.Z, mode);
|
||||
}
|
||||
|
||||
Bitmap bitmapResult = new Bitmap(baseImage.Width, baseImage.Height, PixelFormat.Format32bppArgb);
|
||||
BitmapData resultImageData = bitmapResult.LockBits(new Rectangle(Point.Empty, bitmapResult.Size),
|
||||
ImageLockMode.WriteOnly, PixelFormat.Format32bppArgb);
|
||||
ImageLockMode.WriteOnly, PixelFormat.Format32bppArgb);
|
||||
|
||||
Marshal.Copy(baseImageBuffer, 0, resultImageData.Scan0, baseImageBuffer.Length);
|
||||
Profiler.Start();
|
||||
Parallel.For(0, baseImageData.Stride * baseImageData.Height / 4, (i) =>
|
||||
{
|
||||
int k = i * 4;
|
||||
unsafe
|
||||
{
|
||||
int color = Unsafe.Read<int>((baseImageData.Scan0 + k).ToPointer());
|
||||
byte a = (byte)(color >> 24 & 0xff);
|
||||
if (a == 0)
|
||||
{
|
||||
Unsafe.Write((resultImageData.Scan0 + k).ToPointer(), 0);
|
||||
return;
|
||||
}
|
||||
var b = ColorExtensions.BlendValues((byte)(color >> 0 & 0xff), overlayColor.B, mode);
|
||||
var g = ColorExtensions.BlendValues((byte)(color >> 8 & 0xff), overlayColor.G, mode);
|
||||
var r = ColorExtensions.BlendValues((byte)(color >> 16 & 0xff), overlayColor.R, mode);
|
||||
int blendedValue = a << 24 | r << 16 | g << 8 | b;
|
||||
Unsafe.Write((resultImageData.Scan0 + k).ToPointer(), blendedValue);
|
||||
}
|
||||
});
|
||||
Profiler.Stop();
|
||||
|
||||
bitmapResult.UnlockBits(resultImageData);
|
||||
baseImage.UnlockBits(baseImageData);
|
||||
|
||||
return bitmapResult;
|
||||
}
|
||||
|
||||
@@ -208,9 +211,9 @@ namespace PckStudio.Extensions
|
||||
|
||||
for (int k = 0; k < baseImageBuffer.Length && k < overlayImageBuffer.Length; k += 4)
|
||||
{
|
||||
baseImageBuffer[k + 0] = ColorExtensions.BlendValues(baseImageBuffer[k + 0] / 255f, overlayImageBuffer[k + 0] / 255f, mode);
|
||||
baseImageBuffer[k + 1] = ColorExtensions.BlendValues(baseImageBuffer[k + 1] / 255f, overlayImageBuffer[k + 1] / 255f, mode);
|
||||
baseImageBuffer[k + 2] = ColorExtensions.BlendValues(baseImageBuffer[k + 2] / 255f, overlayImageBuffer[k + 2] / 255f, mode);
|
||||
baseImageBuffer[k + 0] = ColorExtensions.BlendValues(baseImageBuffer[k + 0], overlayImageBuffer[k + 0], mode);
|
||||
baseImageBuffer[k + 1] = ColorExtensions.BlendValues(baseImageBuffer[k + 1], overlayImageBuffer[k + 1], mode);
|
||||
baseImageBuffer[k + 2] = ColorExtensions.BlendValues(baseImageBuffer[k + 2], overlayImageBuffer[k + 2], mode);
|
||||
}
|
||||
|
||||
Bitmap bitmapResult = new Bitmap(baseImage.Width, baseImage.Height, PixelFormat.Format32bppArgb);
|
||||
|
||||
@@ -11,5 +11,10 @@ namespace PckStudio.Extensions
|
||||
list[index2] = temp;
|
||||
return list;
|
||||
}
|
||||
|
||||
public static bool IndexInRange<T>(this IList<T> list, int index)
|
||||
{
|
||||
return index >= 0 && index < list.Count;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,8 +4,9 @@ using System.Diagnostics;
|
||||
using System.Windows.Forms;
|
||||
using MetroFramework.Forms;
|
||||
using PckStudio.Extensions;
|
||||
using PckStudio.Forms.Utilities;
|
||||
using PckStudio.Helper;
|
||||
using PckStudio.Internal;
|
||||
using PckStudio.Internal.Json;
|
||||
|
||||
namespace PckStudio.Forms.Additional_Popups.Animation
|
||||
{
|
||||
@@ -50,7 +51,7 @@ namespace PckStudio.Forms.Additional_Popups.Animation
|
||||
|
||||
private void GetTileDataToView(string key, TreeNodeCollection collection, Action<TreeNode> additinalAction)
|
||||
{
|
||||
List<AnimationResources.TileInfo> textureInfos = key switch
|
||||
List<JsonTileInfo> textureInfos = key switch
|
||||
{
|
||||
"blocks" => AnimationResources.BlockTileInfos,
|
||||
"items" => AnimationResources.ItemTileInfos,
|
||||
@@ -63,10 +64,11 @@ namespace PckStudio.Forms.Additional_Popups.Animation
|
||||
{
|
||||
foreach ((int i, var content) in textureInfos.enumerate())
|
||||
{
|
||||
if (!string.IsNullOrEmpty(content.DisplayName))
|
||||
if (!string.IsNullOrEmpty(content.InternalName) && !collection.ContainsKey(content.InternalName))
|
||||
{
|
||||
TreeNode tileNode = new TreeNode(content.DisplayName)
|
||||
{
|
||||
Name = content.InternalName,
|
||||
Tag = content.DisplayName,
|
||||
ImageIndex = i,
|
||||
SelectedImageIndex = i,
|
||||
|
||||
632
PCK-Studio/Forms/Editor/AnimationEditor.Designer.cs
generated
632
PCK-Studio/Forms/Editor/AnimationEditor.Designer.cs
generated
@@ -28,349 +28,342 @@
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.components = new System.ComponentModel.Container();
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(AnimationEditor));
|
||||
this.frameTreeView = new System.Windows.Forms.TreeView();
|
||||
this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components);
|
||||
this.addFrameToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.removeFrameToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.TextureIcons = new System.Windows.Forms.ImageList(this.components);
|
||||
this.menuStrip = new System.Windows.Forms.MenuStrip();
|
||||
this.fileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.saveToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator();
|
||||
this.importToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.importAnimationTextureToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.importJavaAnimationToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.importGifToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.exportAsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.exportJavaAnimationToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.gifToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.editToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.bulkAnimationSpeedToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.changeTileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.helpToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.howToInterpolation = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.editorControlsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.setBulkSpedToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.javaAnimationSupportToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.InterpolationCheckbox = new MetroFramework.Controls.MetroCheckBox();
|
||||
this.AnimationStartStopBtn = new MetroFramework.Controls.MetroButton();
|
||||
this.tileLabel = new MetroFramework.Controls.MetroLabel();
|
||||
this.pictureBox1 = new System.Windows.Forms.PictureBox();
|
||||
this.animationPictureBox = new PckStudio.Forms.Editor.AnimationPictureBox();
|
||||
this.frameTimeandTicksToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.contextMenuStrip1.SuspendLayout();
|
||||
this.menuStrip.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.animationPictureBox)).BeginInit();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// frameTreeView
|
||||
//
|
||||
this.frameTreeView.AllowDrop = true;
|
||||
this.frameTreeView.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
||||
this.components = new System.ComponentModel.Container();
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(AnimationEditor));
|
||||
this.frameTreeView = new System.Windows.Forms.TreeView();
|
||||
this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components);
|
||||
this.addFrameToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.removeFrameToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.TextureIcons = new System.Windows.Forms.ImageList(this.components);
|
||||
this.menuStrip = new System.Windows.Forms.MenuStrip();
|
||||
this.fileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.saveToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator();
|
||||
this.importToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.importAnimationTextureToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.importJavaAnimationToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.importGifToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.exportAsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.exportJavaAnimationToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.gifToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.editToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.bulkAnimationSpeedToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.changeTileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.helpToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.frameTimeandTicksToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.howToInterpolation = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.editorControlsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.setBulkSpedToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.javaAnimationSupportToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.InterpolationCheckbox = new MetroFramework.Controls.MetroCheckBox();
|
||||
this.AnimationStartStopBtn = new MetroFramework.Controls.MetroButton();
|
||||
this.tileLabel = new MetroFramework.Controls.MetroLabel();
|
||||
this.animationPictureBox = new PckStudio.ToolboxItems.AnimationPictureBox();
|
||||
this.contextMenuStrip1.SuspendLayout();
|
||||
this.menuStrip.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.animationPictureBox)).BeginInit();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// frameTreeView
|
||||
//
|
||||
this.frameTreeView.AllowDrop = true;
|
||||
this.frameTreeView.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
||||
| System.Windows.Forms.AnchorStyles.Left)));
|
||||
this.frameTreeView.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
|
||||
this.frameTreeView.ContextMenuStrip = this.contextMenuStrip1;
|
||||
this.frameTreeView.ForeColor = System.Drawing.Color.White;
|
||||
this.frameTreeView.ImageIndex = 0;
|
||||
this.frameTreeView.ImageList = this.TextureIcons;
|
||||
this.frameTreeView.Location = new System.Drawing.Point(20, 88);
|
||||
this.frameTreeView.Margin = new System.Windows.Forms.Padding(0);
|
||||
this.frameTreeView.Name = "frameTreeView";
|
||||
this.frameTreeView.SelectedImageIndex = 0;
|
||||
this.frameTreeView.ShowLines = false;
|
||||
this.frameTreeView.ShowRootLines = false;
|
||||
this.frameTreeView.Size = new System.Drawing.Size(134, 253);
|
||||
this.frameTreeView.TabIndex = 15;
|
||||
this.frameTreeView.ItemDrag += new System.Windows.Forms.ItemDragEventHandler(this.frameTreeView_ItemDrag);
|
||||
this.frameTreeView.AfterSelect += new System.Windows.Forms.TreeViewEventHandler(this.frameTreeView_AfterSelect);
|
||||
this.frameTreeView.NodeMouseDoubleClick += new System.Windows.Forms.TreeNodeMouseClickEventHandler(this.treeView1_doubleClick);
|
||||
this.frameTreeView.DragDrop += new System.Windows.Forms.DragEventHandler(this.frameTreeView_DragDrop);
|
||||
this.frameTreeView.DragEnter += new System.Windows.Forms.DragEventHandler(this.frameTreeView_DragEnter);
|
||||
this.frameTreeView.DragOver += new System.Windows.Forms.DragEventHandler(this.frameTreeView_DragOver);
|
||||
//
|
||||
// contextMenuStrip1
|
||||
//
|
||||
this.contextMenuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.frameTreeView.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
|
||||
this.frameTreeView.ContextMenuStrip = this.contextMenuStrip1;
|
||||
this.frameTreeView.ForeColor = System.Drawing.Color.White;
|
||||
this.frameTreeView.ImageIndex = 0;
|
||||
this.frameTreeView.ImageList = this.TextureIcons;
|
||||
this.frameTreeView.Location = new System.Drawing.Point(20, 88);
|
||||
this.frameTreeView.Margin = new System.Windows.Forms.Padding(0);
|
||||
this.frameTreeView.Name = "frameTreeView";
|
||||
this.frameTreeView.SelectedImageIndex = 0;
|
||||
this.frameTreeView.ShowLines = false;
|
||||
this.frameTreeView.ShowRootLines = false;
|
||||
this.frameTreeView.Size = new System.Drawing.Size(134, 253);
|
||||
this.frameTreeView.TabIndex = 15;
|
||||
this.frameTreeView.ItemDrag += new System.Windows.Forms.ItemDragEventHandler(this.frameTreeView_ItemDrag);
|
||||
this.frameTreeView.AfterSelect += new System.Windows.Forms.TreeViewEventHandler(this.frameTreeView_AfterSelect);
|
||||
this.frameTreeView.NodeMouseDoubleClick += new System.Windows.Forms.TreeNodeMouseClickEventHandler(this.treeView1_doubleClick);
|
||||
this.frameTreeView.DragDrop += new System.Windows.Forms.DragEventHandler(this.frameTreeView_DragDrop);
|
||||
this.frameTreeView.DragEnter += new System.Windows.Forms.DragEventHandler(this.frameTreeView_DragEnter);
|
||||
this.frameTreeView.DragOver += new System.Windows.Forms.DragEventHandler(this.frameTreeView_DragOver);
|
||||
//
|
||||
// contextMenuStrip1
|
||||
//
|
||||
this.contextMenuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.addFrameToolStripMenuItem,
|
||||
this.removeFrameToolStripMenuItem});
|
||||
this.contextMenuStrip1.Name = "contextMenuStrip1";
|
||||
this.contextMenuStrip1.Size = new System.Drawing.Size(154, 48);
|
||||
//
|
||||
// addFrameToolStripMenuItem
|
||||
//
|
||||
this.addFrameToolStripMenuItem.Name = "addFrameToolStripMenuItem";
|
||||
this.addFrameToolStripMenuItem.Size = new System.Drawing.Size(153, 22);
|
||||
this.addFrameToolStripMenuItem.Text = "Add Frame";
|
||||
this.addFrameToolStripMenuItem.Click += new System.EventHandler(this.addFrameToolStripMenuItem_Click);
|
||||
//
|
||||
// removeFrameToolStripMenuItem
|
||||
//
|
||||
this.removeFrameToolStripMenuItem.Name = "removeFrameToolStripMenuItem";
|
||||
this.removeFrameToolStripMenuItem.Size = new System.Drawing.Size(153, 22);
|
||||
this.removeFrameToolStripMenuItem.Text = "Remove Frame";
|
||||
this.removeFrameToolStripMenuItem.Click += new System.EventHandler(this.removeFrameToolStripMenuItem_Click);
|
||||
//
|
||||
// TextureIcons
|
||||
//
|
||||
this.TextureIcons.ColorDepth = System.Windows.Forms.ColorDepth.Depth32Bit;
|
||||
this.TextureIcons.ImageSize = new System.Drawing.Size(32, 32);
|
||||
this.TextureIcons.TransparentColor = System.Drawing.Color.Transparent;
|
||||
//
|
||||
// menuStrip
|
||||
//
|
||||
this.menuStrip.AutoSize = false;
|
||||
this.menuStrip.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
|
||||
this.menuStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.contextMenuStrip1.Name = "contextMenuStrip1";
|
||||
this.contextMenuStrip1.Size = new System.Drawing.Size(154, 48);
|
||||
//
|
||||
// addFrameToolStripMenuItem
|
||||
//
|
||||
this.addFrameToolStripMenuItem.Name = "addFrameToolStripMenuItem";
|
||||
this.addFrameToolStripMenuItem.Size = new System.Drawing.Size(153, 22);
|
||||
this.addFrameToolStripMenuItem.Text = "Add Frame";
|
||||
this.addFrameToolStripMenuItem.Click += new System.EventHandler(this.addFrameToolStripMenuItem_Click);
|
||||
//
|
||||
// removeFrameToolStripMenuItem
|
||||
//
|
||||
this.removeFrameToolStripMenuItem.Name = "removeFrameToolStripMenuItem";
|
||||
this.removeFrameToolStripMenuItem.Size = new System.Drawing.Size(153, 22);
|
||||
this.removeFrameToolStripMenuItem.Text = "Remove Frame";
|
||||
this.removeFrameToolStripMenuItem.Click += new System.EventHandler(this.removeFrameToolStripMenuItem_Click);
|
||||
//
|
||||
// TextureIcons
|
||||
//
|
||||
this.TextureIcons.ColorDepth = System.Windows.Forms.ColorDepth.Depth32Bit;
|
||||
this.TextureIcons.ImageSize = new System.Drawing.Size(32, 32);
|
||||
this.TextureIcons.TransparentColor = System.Drawing.Color.Transparent;
|
||||
//
|
||||
// menuStrip
|
||||
//
|
||||
this.menuStrip.AutoSize = false;
|
||||
this.menuStrip.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
|
||||
this.menuStrip.Dock = System.Windows.Forms.DockStyle.None;
|
||||
this.menuStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.fileToolStripMenuItem,
|
||||
this.editToolStripMenuItem,
|
||||
this.helpToolStripMenuItem});
|
||||
this.menuStrip.Location = new System.Drawing.Point(20, 60);
|
||||
this.menuStrip.Name = "menuStrip";
|
||||
this.menuStrip.RenderMode = System.Windows.Forms.ToolStripRenderMode.Professional;
|
||||
this.menuStrip.Size = new System.Drawing.Size(372, 24);
|
||||
this.menuStrip.TabIndex = 14;
|
||||
this.menuStrip.Text = "menuStrip1";
|
||||
//
|
||||
// fileToolStripMenuItem
|
||||
//
|
||||
this.fileToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.menuStrip.Location = new System.Drawing.Point(20, 60);
|
||||
this.menuStrip.Name = "menuStrip";
|
||||
this.menuStrip.RenderMode = System.Windows.Forms.ToolStripRenderMode.Professional;
|
||||
this.menuStrip.Size = new System.Drawing.Size(134, 24);
|
||||
this.menuStrip.TabIndex = 14;
|
||||
this.menuStrip.Text = "menuStrip1";
|
||||
//
|
||||
// fileToolStripMenuItem
|
||||
//
|
||||
this.fileToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.saveToolStripMenuItem1,
|
||||
this.toolStripSeparator1,
|
||||
this.importToolStripMenuItem,
|
||||
this.exportAsToolStripMenuItem});
|
||||
this.fileToolStripMenuItem.ForeColor = System.Drawing.Color.White;
|
||||
this.fileToolStripMenuItem.Name = "fileToolStripMenuItem";
|
||||
this.fileToolStripMenuItem.Size = new System.Drawing.Size(37, 20);
|
||||
this.fileToolStripMenuItem.Text = "File";
|
||||
//
|
||||
// saveToolStripMenuItem1
|
||||
//
|
||||
this.saveToolStripMenuItem1.Image = ((System.Drawing.Image)(resources.GetObject("saveToolStripMenuItem1.Image")));
|
||||
this.saveToolStripMenuItem1.Name = "saveToolStripMenuItem1";
|
||||
this.saveToolStripMenuItem1.Size = new System.Drawing.Size(122, 22);
|
||||
this.saveToolStripMenuItem1.Text = "Save";
|
||||
this.saveToolStripMenuItem1.Click += new System.EventHandler(this.saveToolStripMenuItem1_Click);
|
||||
//
|
||||
// toolStripSeparator1
|
||||
//
|
||||
this.toolStripSeparator1.Name = "toolStripSeparator1";
|
||||
this.toolStripSeparator1.Size = new System.Drawing.Size(119, 6);
|
||||
//
|
||||
// importToolStripMenuItem
|
||||
//
|
||||
this.importToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.fileToolStripMenuItem.ForeColor = System.Drawing.Color.White;
|
||||
this.fileToolStripMenuItem.Name = "fileToolStripMenuItem";
|
||||
this.fileToolStripMenuItem.Size = new System.Drawing.Size(37, 20);
|
||||
this.fileToolStripMenuItem.Text = "File";
|
||||
//
|
||||
// saveToolStripMenuItem1
|
||||
//
|
||||
this.saveToolStripMenuItem1.Image = ((System.Drawing.Image)(resources.GetObject("saveToolStripMenuItem1.Image")));
|
||||
this.saveToolStripMenuItem1.Name = "saveToolStripMenuItem1";
|
||||
this.saveToolStripMenuItem1.Size = new System.Drawing.Size(122, 22);
|
||||
this.saveToolStripMenuItem1.Text = "Save";
|
||||
this.saveToolStripMenuItem1.Click += new System.EventHandler(this.saveToolStripMenuItem1_Click);
|
||||
//
|
||||
// toolStripSeparator1
|
||||
//
|
||||
this.toolStripSeparator1.Name = "toolStripSeparator1";
|
||||
this.toolStripSeparator1.Size = new System.Drawing.Size(119, 6);
|
||||
//
|
||||
// importToolStripMenuItem
|
||||
//
|
||||
this.importToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.importAnimationTextureToolStripMenuItem,
|
||||
this.importJavaAnimationToolStripMenuItem,
|
||||
this.importGifToolStripMenuItem});
|
||||
this.importToolStripMenuItem.Name = "importToolStripMenuItem";
|
||||
this.importToolStripMenuItem.Size = new System.Drawing.Size(122, 22);
|
||||
this.importToolStripMenuItem.Text = "Import";
|
||||
//
|
||||
// importAnimationTextureToolStripMenuItem
|
||||
//
|
||||
this.importAnimationTextureToolStripMenuItem.Name = "importAnimationTextureToolStripMenuItem";
|
||||
this.importAnimationTextureToolStripMenuItem.Size = new System.Drawing.Size(171, 22);
|
||||
this.importAnimationTextureToolStripMenuItem.Text = "Animation Texture";
|
||||
this.importAnimationTextureToolStripMenuItem.Click += new System.EventHandler(this.importAnimationTextureToolStripMenuItem_Click);
|
||||
//
|
||||
// importJavaAnimationToolStripMenuItem
|
||||
//
|
||||
this.importJavaAnimationToolStripMenuItem.Name = "importJavaAnimationToolStripMenuItem";
|
||||
this.importJavaAnimationToolStripMenuItem.Size = new System.Drawing.Size(171, 22);
|
||||
this.importJavaAnimationToolStripMenuItem.Text = "Java Animation";
|
||||
this.importJavaAnimationToolStripMenuItem.Click += new System.EventHandler(this.importJavaAnimationToolStripMenuItem_Click);
|
||||
//
|
||||
// importGifToolStripMenuItem
|
||||
//
|
||||
this.importGifToolStripMenuItem.Name = "importGifToolStripMenuItem";
|
||||
this.importGifToolStripMenuItem.Size = new System.Drawing.Size(171, 22);
|
||||
this.importGifToolStripMenuItem.Text = "Gif";
|
||||
this.importGifToolStripMenuItem.Click += new System.EventHandler(this.importGifToolStripMenuItem_Click);
|
||||
//
|
||||
// exportAsToolStripMenuItem
|
||||
//
|
||||
this.exportAsToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.importToolStripMenuItem.Name = "importToolStripMenuItem";
|
||||
this.importToolStripMenuItem.Size = new System.Drawing.Size(122, 22);
|
||||
this.importToolStripMenuItem.Text = "Import";
|
||||
//
|
||||
// importAnimationTextureToolStripMenuItem
|
||||
//
|
||||
this.importAnimationTextureToolStripMenuItem.Name = "importAnimationTextureToolStripMenuItem";
|
||||
this.importAnimationTextureToolStripMenuItem.Size = new System.Drawing.Size(171, 22);
|
||||
this.importAnimationTextureToolStripMenuItem.Text = "Animation Texture";
|
||||
this.importAnimationTextureToolStripMenuItem.Click += new System.EventHandler(this.importAnimationTextureToolStripMenuItem_Click);
|
||||
//
|
||||
// importJavaAnimationToolStripMenuItem
|
||||
//
|
||||
this.importJavaAnimationToolStripMenuItem.Name = "importJavaAnimationToolStripMenuItem";
|
||||
this.importJavaAnimationToolStripMenuItem.Size = new System.Drawing.Size(171, 22);
|
||||
this.importJavaAnimationToolStripMenuItem.Text = "Java Animation";
|
||||
this.importJavaAnimationToolStripMenuItem.Click += new System.EventHandler(this.importJavaAnimationToolStripMenuItem_Click);
|
||||
//
|
||||
// importGifToolStripMenuItem
|
||||
//
|
||||
this.importGifToolStripMenuItem.Name = "importGifToolStripMenuItem";
|
||||
this.importGifToolStripMenuItem.Size = new System.Drawing.Size(171, 22);
|
||||
this.importGifToolStripMenuItem.Text = "Gif";
|
||||
this.importGifToolStripMenuItem.Click += new System.EventHandler(this.importGifToolStripMenuItem_Click);
|
||||
//
|
||||
// exportAsToolStripMenuItem
|
||||
//
|
||||
this.exportAsToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.exportJavaAnimationToolStripMenuItem,
|
||||
this.gifToolStripMenuItem});
|
||||
this.exportAsToolStripMenuItem.Name = "exportAsToolStripMenuItem";
|
||||
this.exportAsToolStripMenuItem.Size = new System.Drawing.Size(122, 22);
|
||||
this.exportAsToolStripMenuItem.Text = "Export as";
|
||||
//
|
||||
// exportJavaAnimationToolStripMenuItem
|
||||
//
|
||||
this.exportJavaAnimationToolStripMenuItem.Name = "exportJavaAnimationToolStripMenuItem";
|
||||
this.exportJavaAnimationToolStripMenuItem.Size = new System.Drawing.Size(155, 22);
|
||||
this.exportJavaAnimationToolStripMenuItem.Text = "Java Animation";
|
||||
this.exportJavaAnimationToolStripMenuItem.Click += new System.EventHandler(this.exportJavaAnimationToolStripMenuItem_Click);
|
||||
//
|
||||
// gifToolStripMenuItem
|
||||
//
|
||||
this.gifToolStripMenuItem.Name = "gifToolStripMenuItem";
|
||||
this.gifToolStripMenuItem.Size = new System.Drawing.Size(155, 22);
|
||||
this.gifToolStripMenuItem.Text = "Gif";
|
||||
this.gifToolStripMenuItem.Click += new System.EventHandler(this.gifToolStripMenuItem_Click);
|
||||
//
|
||||
// editToolStripMenuItem
|
||||
//
|
||||
this.editToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.exportAsToolStripMenuItem.Name = "exportAsToolStripMenuItem";
|
||||
this.exportAsToolStripMenuItem.Size = new System.Drawing.Size(122, 22);
|
||||
this.exportAsToolStripMenuItem.Text = "Export as";
|
||||
//
|
||||
// exportJavaAnimationToolStripMenuItem
|
||||
//
|
||||
this.exportJavaAnimationToolStripMenuItem.Name = "exportJavaAnimationToolStripMenuItem";
|
||||
this.exportJavaAnimationToolStripMenuItem.Size = new System.Drawing.Size(155, 22);
|
||||
this.exportJavaAnimationToolStripMenuItem.Text = "Java Animation";
|
||||
this.exportJavaAnimationToolStripMenuItem.Click += new System.EventHandler(this.exportJavaAnimationToolStripMenuItem_Click);
|
||||
//
|
||||
// gifToolStripMenuItem
|
||||
//
|
||||
this.gifToolStripMenuItem.Name = "gifToolStripMenuItem";
|
||||
this.gifToolStripMenuItem.Size = new System.Drawing.Size(155, 22);
|
||||
this.gifToolStripMenuItem.Text = "Gif";
|
||||
this.gifToolStripMenuItem.Click += new System.EventHandler(this.gifToolStripMenuItem_Click);
|
||||
//
|
||||
// editToolStripMenuItem
|
||||
//
|
||||
this.editToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.bulkAnimationSpeedToolStripMenuItem,
|
||||
this.changeTileToolStripMenuItem});
|
||||
this.editToolStripMenuItem.ForeColor = System.Drawing.Color.White;
|
||||
this.editToolStripMenuItem.Name = "editToolStripMenuItem";
|
||||
this.editToolStripMenuItem.Size = new System.Drawing.Size(46, 20);
|
||||
this.editToolStripMenuItem.Text = "Tools";
|
||||
//
|
||||
// bulkAnimationSpeedToolStripMenuItem
|
||||
//
|
||||
this.bulkAnimationSpeedToolStripMenuItem.Name = "bulkAnimationSpeedToolStripMenuItem";
|
||||
this.bulkAnimationSpeedToolStripMenuItem.Size = new System.Drawing.Size(210, 22);
|
||||
this.bulkAnimationSpeedToolStripMenuItem.Text = "Set Bulk Animation Speed";
|
||||
this.bulkAnimationSpeedToolStripMenuItem.Click += new System.EventHandler(this.bulkAnimationSpeedToolStripMenuItem_Click);
|
||||
//
|
||||
// changeTileToolStripMenuItem
|
||||
//
|
||||
this.changeTileToolStripMenuItem.Name = "changeTileToolStripMenuItem";
|
||||
this.changeTileToolStripMenuItem.Size = new System.Drawing.Size(210, 22);
|
||||
this.changeTileToolStripMenuItem.Text = "Change Tile";
|
||||
this.changeTileToolStripMenuItem.Click += new System.EventHandler(this.changeTileToolStripMenuItem_Click);
|
||||
//
|
||||
// helpToolStripMenuItem
|
||||
//
|
||||
this.helpToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.editToolStripMenuItem.ForeColor = System.Drawing.Color.White;
|
||||
this.editToolStripMenuItem.Name = "editToolStripMenuItem";
|
||||
this.editToolStripMenuItem.Size = new System.Drawing.Size(46, 20);
|
||||
this.editToolStripMenuItem.Text = "Tools";
|
||||
//
|
||||
// bulkAnimationSpeedToolStripMenuItem
|
||||
//
|
||||
this.bulkAnimationSpeedToolStripMenuItem.Name = "bulkAnimationSpeedToolStripMenuItem";
|
||||
this.bulkAnimationSpeedToolStripMenuItem.Size = new System.Drawing.Size(210, 22);
|
||||
this.bulkAnimationSpeedToolStripMenuItem.Text = "Set Bulk Animation Speed";
|
||||
this.bulkAnimationSpeedToolStripMenuItem.Click += new System.EventHandler(this.bulkAnimationSpeedToolStripMenuItem_Click);
|
||||
//
|
||||
// changeTileToolStripMenuItem
|
||||
//
|
||||
this.changeTileToolStripMenuItem.Name = "changeTileToolStripMenuItem";
|
||||
this.changeTileToolStripMenuItem.Size = new System.Drawing.Size(210, 22);
|
||||
this.changeTileToolStripMenuItem.Text = "Change Tile";
|
||||
this.changeTileToolStripMenuItem.Click += new System.EventHandler(this.changeTileToolStripMenuItem_Click);
|
||||
//
|
||||
// helpToolStripMenuItem
|
||||
//
|
||||
this.helpToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.frameTimeandTicksToolStripMenuItem,
|
||||
this.howToInterpolation,
|
||||
this.editorControlsToolStripMenuItem,
|
||||
this.setBulkSpedToolStripMenuItem,
|
||||
this.javaAnimationSupportToolStripMenuItem});
|
||||
this.helpToolStripMenuItem.ForeColor = System.Drawing.Color.White;
|
||||
this.helpToolStripMenuItem.Name = "helpToolStripMenuItem";
|
||||
this.helpToolStripMenuItem.Size = new System.Drawing.Size(44, 20);
|
||||
this.helpToolStripMenuItem.Text = "Help";
|
||||
//
|
||||
// howToInterpolation
|
||||
//
|
||||
this.howToInterpolation.Name = "howToInterpolation";
|
||||
this.howToInterpolation.Size = new System.Drawing.Size(200, 22);
|
||||
this.howToInterpolation.Text = "Interpolation";
|
||||
this.howToInterpolation.Click += new System.EventHandler(this.howToInterpolation_Click);
|
||||
//
|
||||
// editorControlsToolStripMenuItem
|
||||
//
|
||||
this.editorControlsToolStripMenuItem.Name = "editorControlsToolStripMenuItem";
|
||||
this.editorControlsToolStripMenuItem.Size = new System.Drawing.Size(200, 22);
|
||||
this.editorControlsToolStripMenuItem.Text = "Editor Controls";
|
||||
this.editorControlsToolStripMenuItem.Click += new System.EventHandler(this.editorControlsToolStripMenuItem_Click);
|
||||
//
|
||||
// setBulkSpedToolStripMenuItem
|
||||
//
|
||||
this.setBulkSpedToolStripMenuItem.Name = "setBulkSpedToolStripMenuItem";
|
||||
this.setBulkSpedToolStripMenuItem.Size = new System.Drawing.Size(200, 22);
|
||||
this.setBulkSpedToolStripMenuItem.Text = "Set Bulk Speed";
|
||||
this.setBulkSpedToolStripMenuItem.Click += new System.EventHandler(this.setBulkSpeedToolStripMenuItem_Click);
|
||||
//
|
||||
// javaAnimationSupportToolStripMenuItem
|
||||
//
|
||||
this.javaAnimationSupportToolStripMenuItem.Name = "javaAnimationSupportToolStripMenuItem";
|
||||
this.javaAnimationSupportToolStripMenuItem.Size = new System.Drawing.Size(200, 22);
|
||||
this.javaAnimationSupportToolStripMenuItem.Text = "Java Animation Support";
|
||||
this.javaAnimationSupportToolStripMenuItem.Click += new System.EventHandler(this.javaAnimationSupportToolStripMenuItem_Click);
|
||||
//
|
||||
// InterpolationCheckbox
|
||||
//
|
||||
this.InterpolationCheckbox.AutoSize = true;
|
||||
this.InterpolationCheckbox.Location = new System.Drawing.Point(161, 63);
|
||||
this.InterpolationCheckbox.Name = "InterpolationCheckbox";
|
||||
this.InterpolationCheckbox.Size = new System.Drawing.Size(129, 15);
|
||||
this.InterpolationCheckbox.TabIndex = 17;
|
||||
this.InterpolationCheckbox.Text = "Enable Interpolation";
|
||||
this.InterpolationCheckbox.Theme = MetroFramework.MetroThemeStyle.Dark;
|
||||
this.InterpolationCheckbox.UseSelectable = true;
|
||||
this.InterpolationCheckbox.CheckedChanged += new System.EventHandler(this.InterpolationCheckbox_CheckedChanged);
|
||||
//
|
||||
// AnimationStartStopBtn
|
||||
//
|
||||
this.AnimationStartStopBtn.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)
|
||||
this.helpToolStripMenuItem.ForeColor = System.Drawing.Color.White;
|
||||
this.helpToolStripMenuItem.Name = "helpToolStripMenuItem";
|
||||
this.helpToolStripMenuItem.Size = new System.Drawing.Size(44, 20);
|
||||
this.helpToolStripMenuItem.Text = "Help";
|
||||
//
|
||||
// frameTimeandTicksToolStripMenuItem
|
||||
//
|
||||
this.frameTimeandTicksToolStripMenuItem.Name = "frameTimeandTicksToolStripMenuItem";
|
||||
this.frameTimeandTicksToolStripMenuItem.Size = new System.Drawing.Size(200, 22);
|
||||
this.frameTimeandTicksToolStripMenuItem.Text = "Frame Time (and Ticks)";
|
||||
this.frameTimeandTicksToolStripMenuItem.Click += new System.EventHandler(this.frameTimeandTicksToolStripMenuItem_Click);
|
||||
//
|
||||
// howToInterpolation
|
||||
//
|
||||
this.howToInterpolation.Name = "howToInterpolation";
|
||||
this.howToInterpolation.Size = new System.Drawing.Size(200, 22);
|
||||
this.howToInterpolation.Text = "Interpolation";
|
||||
this.howToInterpolation.Click += new System.EventHandler(this.howToInterpolation_Click);
|
||||
//
|
||||
// editorControlsToolStripMenuItem
|
||||
//
|
||||
this.editorControlsToolStripMenuItem.Name = "editorControlsToolStripMenuItem";
|
||||
this.editorControlsToolStripMenuItem.Size = new System.Drawing.Size(200, 22);
|
||||
this.editorControlsToolStripMenuItem.Text = "Editor Controls";
|
||||
this.editorControlsToolStripMenuItem.Click += new System.EventHandler(this.editorControlsToolStripMenuItem_Click);
|
||||
//
|
||||
// setBulkSpedToolStripMenuItem
|
||||
//
|
||||
this.setBulkSpedToolStripMenuItem.Name = "setBulkSpedToolStripMenuItem";
|
||||
this.setBulkSpedToolStripMenuItem.Size = new System.Drawing.Size(200, 22);
|
||||
this.setBulkSpedToolStripMenuItem.Text = "Set Bulk Speed";
|
||||
this.setBulkSpedToolStripMenuItem.Click += new System.EventHandler(this.setBulkSpeedToolStripMenuItem_Click);
|
||||
//
|
||||
// javaAnimationSupportToolStripMenuItem
|
||||
//
|
||||
this.javaAnimationSupportToolStripMenuItem.Name = "javaAnimationSupportToolStripMenuItem";
|
||||
this.javaAnimationSupportToolStripMenuItem.Size = new System.Drawing.Size(200, 22);
|
||||
this.javaAnimationSupportToolStripMenuItem.Text = "Java Animation Support";
|
||||
this.javaAnimationSupportToolStripMenuItem.Click += new System.EventHandler(this.javaAnimationSupportToolStripMenuItem_Click);
|
||||
//
|
||||
// InterpolationCheckbox
|
||||
//
|
||||
this.InterpolationCheckbox.AutoSize = true;
|
||||
this.InterpolationCheckbox.Location = new System.Drawing.Point(161, 63);
|
||||
this.InterpolationCheckbox.Name = "InterpolationCheckbox";
|
||||
this.InterpolationCheckbox.Size = new System.Drawing.Size(129, 15);
|
||||
this.InterpolationCheckbox.TabIndex = 17;
|
||||
this.InterpolationCheckbox.Text = "Enable Interpolation";
|
||||
this.InterpolationCheckbox.Theme = MetroFramework.MetroThemeStyle.Dark;
|
||||
this.InterpolationCheckbox.UseSelectable = true;
|
||||
this.InterpolationCheckbox.CheckedChanged += new System.EventHandler(this.InterpolationCheckbox_CheckedChanged);
|
||||
//
|
||||
// AnimationStartStopBtn
|
||||
//
|
||||
this.AnimationStartStopBtn.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.AnimationStartStopBtn.Location = new System.Drawing.Point(157, 317);
|
||||
this.AnimationStartStopBtn.Name = "AnimationStartStopBtn";
|
||||
this.AnimationStartStopBtn.Size = new System.Drawing.Size(232, 24);
|
||||
this.AnimationStartStopBtn.Style = MetroFramework.MetroColorStyle.White;
|
||||
this.AnimationStartStopBtn.TabIndex = 18;
|
||||
this.AnimationStartStopBtn.Text = "Play Animation";
|
||||
this.AnimationStartStopBtn.Theme = MetroFramework.MetroThemeStyle.Dark;
|
||||
this.AnimationStartStopBtn.UseSelectable = true;
|
||||
this.AnimationStartStopBtn.Click += new System.EventHandler(this.AnimationStartStopBtn_Click);
|
||||
//
|
||||
// tileLabel
|
||||
//
|
||||
this.tileLabel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
|
||||
this.tileLabel.AutoSize = true;
|
||||
this.tileLabel.Location = new System.Drawing.Point(20, 341);
|
||||
this.tileLabel.MinimumSize = new System.Drawing.Size(170, 19);
|
||||
this.tileLabel.Name = "tileLabel";
|
||||
this.tileLabel.Size = new System.Drawing.Size(57, 19);
|
||||
this.tileLabel.TabIndex = 20;
|
||||
this.tileLabel.Text = "tileLabel";
|
||||
this.tileLabel.Theme = MetroFramework.MetroThemeStyle.Dark;
|
||||
//
|
||||
// pictureBox1
|
||||
//
|
||||
this.pictureBox1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.pictureBox1.Location = new System.Drawing.Point(154, 60);
|
||||
this.pictureBox1.Name = "pictureBox1";
|
||||
this.pictureBox1.Size = new System.Drawing.Size(238, 24);
|
||||
this.pictureBox1.TabIndex = 21;
|
||||
this.pictureBox1.TabStop = false;
|
||||
//
|
||||
// animationPictureBox
|
||||
//
|
||||
this.animationPictureBox.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
||||
this.AnimationStartStopBtn.Location = new System.Drawing.Point(157, 317);
|
||||
this.AnimationStartStopBtn.Name = "AnimationStartStopBtn";
|
||||
this.AnimationStartStopBtn.Size = new System.Drawing.Size(232, 24);
|
||||
this.AnimationStartStopBtn.Style = MetroFramework.MetroColorStyle.White;
|
||||
this.AnimationStartStopBtn.TabIndex = 18;
|
||||
this.AnimationStartStopBtn.Text = "Play Animation";
|
||||
this.AnimationStartStopBtn.Theme = MetroFramework.MetroThemeStyle.Dark;
|
||||
this.AnimationStartStopBtn.UseSelectable = true;
|
||||
this.AnimationStartStopBtn.Click += new System.EventHandler(this.AnimationStartStopBtn_Click);
|
||||
//
|
||||
// tileLabel
|
||||
//
|
||||
this.tileLabel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
|
||||
this.tileLabel.AutoSize = true;
|
||||
this.tileLabel.Location = new System.Drawing.Point(20, 341);
|
||||
this.tileLabel.MinimumSize = new System.Drawing.Size(170, 19);
|
||||
this.tileLabel.Name = "tileLabel";
|
||||
this.tileLabel.Size = new System.Drawing.Size(57, 19);
|
||||
this.tileLabel.TabIndex = 20;
|
||||
this.tileLabel.Text = "tileLabel";
|
||||
this.tileLabel.Theme = MetroFramework.MetroThemeStyle.Dark;
|
||||
//
|
||||
// animationPictureBox
|
||||
//
|
||||
this.animationPictureBox.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
||||
| System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.animationPictureBox.Location = new System.Drawing.Point(157, 88);
|
||||
this.animationPictureBox.Name = "animationPictureBox";
|
||||
this.animationPictureBox.Size = new System.Drawing.Size(235, 223);
|
||||
this.animationPictureBox.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
|
||||
this.animationPictureBox.TabIndex = 16;
|
||||
this.animationPictureBox.TabStop = false;
|
||||
//
|
||||
// frameTimeandTicksToolStripMenuItem
|
||||
//
|
||||
this.frameTimeandTicksToolStripMenuItem.Name = "frameTimeandTicksToolStripMenuItem";
|
||||
this.frameTimeandTicksToolStripMenuItem.Size = new System.Drawing.Size(200, 22);
|
||||
this.frameTimeandTicksToolStripMenuItem.Text = "Frame Time (and Ticks)";
|
||||
this.frameTimeandTicksToolStripMenuItem.Click += new System.EventHandler(this.frameTimeandTicksToolStripMenuItem_Click);
|
||||
//
|
||||
// AnimationEditor
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(412, 362);
|
||||
this.Controls.Add(this.InterpolationCheckbox);
|
||||
this.Controls.Add(this.pictureBox1);
|
||||
this.Controls.Add(this.AnimationStartStopBtn);
|
||||
this.Controls.Add(this.tileLabel);
|
||||
this.Controls.Add(this.animationPictureBox);
|
||||
this.Controls.Add(this.frameTreeView);
|
||||
this.Controls.Add(this.menuStrip);
|
||||
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
|
||||
this.MinimumSize = new System.Drawing.Size(412, 362);
|
||||
this.Name = "AnimationEditor";
|
||||
this.Style = MetroFramework.MetroColorStyle.Silver;
|
||||
this.Text = "Animation Editor";
|
||||
this.Theme = MetroFramework.MetroThemeStyle.Dark;
|
||||
this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.AnimationEditor_FormClosing);
|
||||
this.contextMenuStrip1.ResumeLayout(false);
|
||||
this.menuStrip.ResumeLayout(false);
|
||||
this.menuStrip.PerformLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.animationPictureBox)).EndInit();
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
this.animationPictureBox.BlendColor = System.Drawing.Color.White;
|
||||
this.animationPictureBox.BlendMode = PckStudio.Extensions.BlendMode.Multiply;
|
||||
this.animationPictureBox.Image = null;
|
||||
this.animationPictureBox.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.NearestNeighbor;
|
||||
this.animationPictureBox.Location = new System.Drawing.Point(157, 88);
|
||||
this.animationPictureBox.Name = "animationPictureBox";
|
||||
this.animationPictureBox.Size = new System.Drawing.Size(235, 223);
|
||||
this.animationPictureBox.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
|
||||
this.animationPictureBox.TabIndex = 16;
|
||||
this.animationPictureBox.TabStop = false;
|
||||
this.animationPictureBox.UseBlendColor = false;
|
||||
//
|
||||
// AnimationEditor
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(412, 362);
|
||||
this.Controls.Add(this.InterpolationCheckbox);
|
||||
this.Controls.Add(this.AnimationStartStopBtn);
|
||||
this.Controls.Add(this.tileLabel);
|
||||
this.Controls.Add(this.animationPictureBox);
|
||||
this.Controls.Add(this.frameTreeView);
|
||||
this.Controls.Add(this.menuStrip);
|
||||
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
|
||||
this.MinimumSize = new System.Drawing.Size(412, 362);
|
||||
this.Name = "AnimationEditor";
|
||||
this.Style = MetroFramework.MetroColorStyle.Silver;
|
||||
this.Text = "Animation Editor";
|
||||
this.Theme = MetroFramework.MetroThemeStyle.Dark;
|
||||
this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.AnimationEditor_FormClosing);
|
||||
this.Load += new System.EventHandler(this.AnimationEditor_Load);
|
||||
this.contextMenuStrip1.ResumeLayout(false);
|
||||
this.menuStrip.ResumeLayout(false);
|
||||
this.menuStrip.PerformLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.animationPictureBox)).EndInit();
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
}
|
||||
|
||||
@@ -380,7 +373,7 @@
|
||||
private System.Windows.Forms.MenuStrip menuStrip;
|
||||
private System.Windows.Forms.ToolStripMenuItem fileToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem saveToolStripMenuItem1;
|
||||
private PckStudio.Forms.Editor.AnimationPictureBox animationPictureBox;
|
||||
private PckStudio.ToolboxItems.AnimationPictureBox animationPictureBox;
|
||||
private MetroFramework.Controls.MetroCheckBox InterpolationCheckbox;
|
||||
private MetroFramework.Controls.MetroButton AnimationStartStopBtn;
|
||||
private System.Windows.Forms.ContextMenuStrip contextMenuStrip1;
|
||||
@@ -396,7 +389,6 @@
|
||||
private System.Windows.Forms.ToolStripMenuItem setBulkSpedToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem javaAnimationSupportToolStripMenuItem;
|
||||
private System.Windows.Forms.ImageList TextureIcons;
|
||||
private System.Windows.Forms.PictureBox pictureBox1;
|
||||
private System.Windows.Forms.ToolStripMenuItem importToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem importJavaAnimationToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem importGifToolStripMenuItem;
|
||||
|
||||
@@ -5,18 +5,20 @@ using System.IO;
|
||||
using System.Linq;
|
||||
using System.Windows.Forms;
|
||||
using System.Collections.Generic;
|
||||
|
||||
using System.Diagnostics;
|
||||
using MetroFramework.Forms;
|
||||
|
||||
using Newtonsoft.Json;
|
||||
using Newtonsoft.Json.Linq;
|
||||
|
||||
using OMI.Formats.Pck;
|
||||
|
||||
using PckStudio.Forms.Additional_Popups.Animation;
|
||||
using PckStudio.Forms.Utilities;
|
||||
using PckStudio.Extensions;
|
||||
using PckStudio.Properties;
|
||||
using System.Diagnostics;
|
||||
using PckStudio.Internal;
|
||||
using PckStudio.Internal.Json;
|
||||
using PckStudio.Helper;
|
||||
|
||||
namespace PckStudio.Forms.Editor
|
||||
{
|
||||
@@ -32,36 +34,63 @@ namespace PckStudio.Forms.Editor
|
||||
return tileName == "clock" || tileName == "compass";
|
||||
}
|
||||
|
||||
public AnimationEditor(PckFile.FileData file)
|
||||
private AnimationEditor()
|
||||
{
|
||||
InitializeComponent();
|
||||
animationFile = file;
|
||||
InitializeComponent();
|
||||
toolStripSeparator1.Visible = saveToolStripMenuItem1.Visible = !Settings.Default.AutoSaveChanges;
|
||||
}
|
||||
|
||||
TileName = Path.GetFileNameWithoutExtension(animationFile.Filename);
|
||||
internal AnimationEditor(Animation animation, string tileName)
|
||||
: this()
|
||||
{
|
||||
currentAnimation = animation;
|
||||
TileName = tileName;
|
||||
}
|
||||
|
||||
bulkAnimationSpeedToolStripMenuItem.Enabled =
|
||||
importToolStripMenuItem.Enabled =
|
||||
exportAsToolStripMenuItem.Enabled =
|
||||
InterpolationCheckbox.Visible = !IsSpecialTile(TileName);
|
||||
public AnimationEditor(PckFile.FileData file)
|
||||
: this()
|
||||
{
|
||||
animationFile = file;
|
||||
TileName = Path.GetFileNameWithoutExtension(animationFile.Filename);
|
||||
}
|
||||
|
||||
toolStripSeparator1.Visible = saveToolStripMenuItem1.Visible = !Settings.Default.AutoSaveChanges;
|
||||
public AnimationEditor(PckFile.FileData file, Color blendColor)
|
||||
: this(file)
|
||||
{
|
||||
animationPictureBox.UseBlendColor = true;
|
||||
animationPictureBox.BlendColor = blendColor;
|
||||
}
|
||||
|
||||
if (animationFile.Size > 0)
|
||||
{
|
||||
using MemoryStream textureMem = new MemoryStream(animationFile.Data);
|
||||
var texture = new Bitmap(textureMem);
|
||||
var frameTextures = texture.CreateImageList(ImageLayoutDirection.Vertical);
|
||||
|
||||
currentAnimation = animationFile.Properties.HasProperty("ANIM")
|
||||
? new Animation(frameTextures, animationFile.Properties.GetPropertyValue("ANIM"))
|
||||
: new Animation(frameTextures);
|
||||
}
|
||||
currentAnimation.Category = animationFile.Filename.Split('/').Contains("items")
|
||||
private void AnimationEditor_Load(object sender, EventArgs e)
|
||||
{
|
||||
bulkAnimationSpeedToolStripMenuItem.Enabled =
|
||||
importToolStripMenuItem.Enabled =
|
||||
exportAsToolStripMenuItem.Enabled =
|
||||
InterpolationCheckbox.Visible = !IsSpecialTile(TileName);
|
||||
|
||||
if (currentAnimation is null)
|
||||
CreateAnimation();
|
||||
SetTileLabel();
|
||||
LoadAnimationTreeView();
|
||||
}
|
||||
|
||||
private void CreateAnimation()
|
||||
{
|
||||
currentAnimation = new Animation(Array.Empty<Image>());
|
||||
if (animationFile is not null && animationFile.Size > 0)
|
||||
{
|
||||
using MemoryStream textureMem = new MemoryStream(animationFile.Data);
|
||||
var texture = new Bitmap(textureMem);
|
||||
var frameTextures = texture.CreateImageList(ImageLayoutDirection.Vertical);
|
||||
currentAnimation = animationFile.Properties.HasProperty("ANIM")
|
||||
? new Animation(frameTextures, animationFile.Properties.GetPropertyValue("ANIM"))
|
||||
: new Animation(frameTextures, string.Empty);
|
||||
}
|
||||
currentAnimation.Category = animationFile.Filename.Split('/').Contains("items")
|
||||
? Animation.AnimationCategory.Items
|
||||
: Animation.AnimationCategory.Blocks;
|
||||
SetTileLabel();
|
||||
LoadAnimationTreeView();
|
||||
}
|
||||
}
|
||||
|
||||
private void LoadAnimationTreeView()
|
||||
{
|
||||
@@ -84,7 +113,10 @@ namespace PckStudio.Forms.Editor
|
||||
SelectedImageIndex = imageIndex,
|
||||
});
|
||||
}
|
||||
animationPictureBox.SelectFrame(currentAnimation, 0);
|
||||
if (currentAnimation.FrameCount > 0)
|
||||
{
|
||||
animationPictureBox.SelectFrame(currentAnimation, 0);
|
||||
}
|
||||
}
|
||||
|
||||
private void frameTreeView_AfterSelect(object sender, TreeViewEventArgs e)
|
||||
@@ -127,7 +159,7 @@ namespace PckStudio.Forms.Editor
|
||||
|
||||
private void saveToolStripMenuItem1_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (!IsSpecialTile(TileName) && currentAnimation is not null)
|
||||
if (!IsSpecialTile(TileName) && currentAnimation is not null && animationFile is not null)
|
||||
{
|
||||
string anim = currentAnimation.BuildAnim();
|
||||
animationFile.Properties.SetProperty("ANIM", anim);
|
||||
@@ -297,9 +329,10 @@ namespace PckStudio.Forms.Editor
|
||||
MessageBox.Show(textureFile + " was not found", "Texture not found");
|
||||
return;
|
||||
}
|
||||
var textures = Image.FromFile(textureFile).CreateImageList(ImageLayoutDirection.Horizontal);
|
||||
var textures = Image.FromFile(textureFile).CreateImageList(ImageLayoutDirection.Vertical);
|
||||
var new_animation = new Animation(textures);
|
||||
try
|
||||
new_animation.Category = currentAnimation.Category;
|
||||
try
|
||||
{
|
||||
JObject mcmeta = JObject.Parse(File.ReadAllText(fileDialog.FileName));
|
||||
if (mcmeta["animation"] is JToken animation)
|
||||
@@ -377,7 +410,7 @@ namespace PckStudio.Forms.Editor
|
||||
_ => throw new ArgumentOutOfRangeException(currentAnimation.Category.ToString())
|
||||
};
|
||||
|
||||
if (textureInfos.FirstOrDefault(p => p.InternalName == TileName) is AnimationResources.TileInfo textureInfo)
|
||||
if (textureInfos.FirstOrDefault(p => p.InternalName == TileName) is JsonTileInfo textureInfo)
|
||||
{
|
||||
tileLabel.Text = textureInfo.DisplayName;
|
||||
return;
|
||||
@@ -480,7 +513,7 @@ namespace PckStudio.Forms.Editor
|
||||
gif.SelectActiveFrame(dimension, i);
|
||||
textures.Add(new Bitmap(gif));
|
||||
}
|
||||
currentAnimation = new Animation(textures);
|
||||
currentAnimation = new Animation(textures, string.Empty);
|
||||
LoadAnimationTreeView();
|
||||
}
|
||||
|
||||
@@ -495,7 +528,7 @@ namespace PckStudio.Forms.Editor
|
||||
return;
|
||||
Image img = Image.FromFile(ofd.FileName);
|
||||
var textures = img.CreateImageList(ImageLayoutDirection.Vertical);
|
||||
currentAnimation = new Animation(textures);
|
||||
currentAnimation = new Animation(textures, string.Empty);
|
||||
LoadAnimationTreeView();
|
||||
}
|
||||
|
||||
@@ -541,5 +574,5 @@ namespace PckStudio.Forms.Editor
|
||||
"All time related functions in Minecraft use ticks, notably redstone repeaters. There are 20 ticks in 1 second, so " +
|
||||
"1 tick is 1/20 of a second. To find how long your frame is, divide the frame time by 20", "Frame Time and Ticks");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,11 +14,12 @@ using NAudio.Wave;
|
||||
using OMI.Formats.Pck;
|
||||
|
||||
using PckStudio.FileFormats;
|
||||
using PckStudio.Classes.IO.PCK;
|
||||
using PckStudio.IO.PckAudio;
|
||||
using PckStudio.Forms.Additional_Popups.Audio;
|
||||
using PckStudio.Forms.Additional_Popups;
|
||||
using PckStudio.Properties;
|
||||
using PckStudio.API.Miles;
|
||||
using PckStudio.Internal;
|
||||
|
||||
// Audio Editor by MattNL and Miku-666
|
||||
|
||||
@@ -309,7 +310,7 @@ namespace PckStudio.Forms.Editor
|
||||
|
||||
await Task.Run(() =>
|
||||
{
|
||||
exitCode = Binka.FromWav(cacheSongFile, new_loc, (int)compressionUpDown.Value);
|
||||
exitCode = Binka.ToBinka(cacheSongFile, new_loc, (int)compressionUpDown.Value);
|
||||
});
|
||||
|
||||
if (!File.Exists(cacheSongFile)) MessageBox.Show(this, $"\"{songName}.wav\" failed to convert for some reason. Please report this on the communtiy Discord server, which can be found under \"More\" in the toolbar at the top of the program.", "Conversion failed");
|
||||
@@ -560,7 +561,7 @@ namespace PckStudio.Forms.Editor
|
||||
|
||||
await Task.Run(() =>
|
||||
{
|
||||
exitCode = Binka.FromWav(file, new_loc, (int)compressionUpDown.Value);
|
||||
exitCode = Binka.ToBinka(file, new_loc, (int)compressionUpDown.Value);
|
||||
});
|
||||
|
||||
waitDiag.Close();
|
||||
|
||||
@@ -12,6 +12,7 @@ using OMI.Formats.Behaviour;
|
||||
using OMI.Workers.Behaviour;
|
||||
using OMI.Formats.Pck;
|
||||
using PckStudio.Properties;
|
||||
using PckStudio.Internal;
|
||||
|
||||
namespace PckStudio.Forms.Editor
|
||||
{
|
||||
|
||||
@@ -46,14 +46,14 @@
|
||||
this.saveToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.compressionLvlToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.levelToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.noneToolStripMenuItem = new PckStudio.ToolStripRadioButtonMenuItem();
|
||||
this.compressedToolStripMenuItem = new PckStudio.ToolStripRadioButtonMenuItem();
|
||||
this.compressedRLEToolStripMenuItem = new PckStudio.ToolStripRadioButtonMenuItem();
|
||||
this.compressedRLECRCToolStripMenuItem = new PckStudio.ToolStripRadioButtonMenuItem();
|
||||
this.noneToolStripMenuItem = new PckStudio.ToolboxItems.ToolStripRadioButtonMenuItem();
|
||||
this.compressedToolStripMenuItem = new PckStudio.ToolboxItems.ToolStripRadioButtonMenuItem();
|
||||
this.compressedRLEToolStripMenuItem = new PckStudio.ToolboxItems.ToolStripRadioButtonMenuItem();
|
||||
this.compressedRLECRCToolStripMenuItem = new PckStudio.ToolboxItems.ToolStripRadioButtonMenuItem();
|
||||
this.typeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.wiiUPSVitaToolStripMenuItem = new PckStudio.ToolStripRadioButtonMenuItem();
|
||||
this.pS3ToolStripMenuItem = new PckStudio.ToolStripRadioButtonMenuItem();
|
||||
this.xbox360ToolStripMenuItem = new PckStudio.ToolStripRadioButtonMenuItem();
|
||||
this.wiiUPSVitaToolStripMenuItem = new PckStudio.ToolboxItems.ToolStripRadioButtonMenuItem();
|
||||
this.pS3ToolStripMenuItem = new PckStudio.ToolboxItems.ToolStripRadioButtonMenuItem();
|
||||
this.xbox360ToolStripMenuItem = new PckStudio.ToolboxItems.ToolStripRadioButtonMenuItem();
|
||||
this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel();
|
||||
this.MessageContextMenu.SuspendLayout();
|
||||
this.DetailContextMenu.SuspendLayout();
|
||||
@@ -360,15 +360,15 @@
|
||||
private System.Windows.Forms.ToolStripMenuItem compressionLvlToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem levelToolStripMenuItem;
|
||||
|
||||
private PckStudio.ToolStripRadioButtonMenuItem noneToolStripMenuItem;
|
||||
private PckStudio.ToolStripRadioButtonMenuItem compressedToolStripMenuItem;
|
||||
private PckStudio.ToolStripRadioButtonMenuItem compressedRLEToolStripMenuItem;
|
||||
private PckStudio.ToolStripRadioButtonMenuItem compressedRLECRCToolStripMenuItem;
|
||||
private PckStudio.ToolboxItems.ToolStripRadioButtonMenuItem noneToolStripMenuItem;
|
||||
private PckStudio.ToolboxItems.ToolStripRadioButtonMenuItem compressedToolStripMenuItem;
|
||||
private PckStudio.ToolboxItems.ToolStripRadioButtonMenuItem compressedRLEToolStripMenuItem;
|
||||
private PckStudio.ToolboxItems.ToolStripRadioButtonMenuItem compressedRLECRCToolStripMenuItem;
|
||||
|
||||
private System.Windows.Forms.ToolStripMenuItem typeToolStripMenuItem;
|
||||
|
||||
private PckStudio.ToolStripRadioButtonMenuItem wiiUPSVitaToolStripMenuItem;
|
||||
private PckStudio.ToolStripRadioButtonMenuItem pS3ToolStripMenuItem;
|
||||
private PckStudio.ToolStripRadioButtonMenuItem xbox360ToolStripMenuItem;
|
||||
private PckStudio.ToolboxItems.ToolStripRadioButtonMenuItem wiiUPSVitaToolStripMenuItem;
|
||||
private PckStudio.ToolboxItems.ToolStripRadioButtonMenuItem pS3ToolStripMenuItem;
|
||||
private PckStudio.ToolboxItems.ToolStripRadioButtonMenuItem xbox360ToolStripMenuItem;
|
||||
}
|
||||
}
|
||||
@@ -29,6 +29,7 @@ using System.Diagnostics;
|
||||
using OMI.Formats.Pck;
|
||||
using PckStudio.Forms.Additional_Popups;
|
||||
using PckStudio.Properties;
|
||||
using PckStudio.ToolboxItems;
|
||||
|
||||
namespace PckStudio.Forms.Editor
|
||||
{
|
||||
|
||||
@@ -10,6 +10,7 @@ using Newtonsoft.Json.Linq;
|
||||
using OMI.Formats.Pck;
|
||||
using OMI.Formats.Material;
|
||||
using OMI.Workers.Material;
|
||||
using PckStudio.Internal;
|
||||
|
||||
namespace PckStudio.Forms.Editor
|
||||
{
|
||||
|
||||
298
PCK-Studio/Forms/Editor/TextureAtlasEditor.Designer.cs
generated
Normal file
298
PCK-Studio/Forms/Editor/TextureAtlasEditor.Designer.cs
generated
Normal file
@@ -0,0 +1,298 @@
|
||||
namespace PckStudio.Forms.Editor
|
||||
{
|
||||
partial class TextureAtlasEditor
|
||||
{
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region Windows Form Designer generated code
|
||||
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(TextureAtlasEditor));
|
||||
this.variantLabel = new MetroFramework.Controls.MetroLabel();
|
||||
this.menuStrip1 = new System.Windows.Forms.MenuStrip();
|
||||
this.fileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.saveToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.extractTileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.viewToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.applyColorMaskToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.playAnimationsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel();
|
||||
this.originalPictureBox = new PckStudio.ToolboxItems.InterpolationPictureBox();
|
||||
this.selectTilePictureBox = new PckStudio.ToolboxItems.AnimationPictureBox();
|
||||
this.replaceButton = new MetroFramework.Controls.MetroButton();
|
||||
this.animationButton = new MetroFramework.Controls.MetroButton();
|
||||
this.tileNameLabel = new MetroFramework.Controls.MetroLabel();
|
||||
this.variantComboBox = new MetroFramework.Controls.MetroComboBox();
|
||||
this.menuStrip1.SuspendLayout();
|
||||
this.tableLayoutPanel1.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.originalPictureBox)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.selectTilePictureBox)).BeginInit();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// variantLabel
|
||||
//
|
||||
this.variantLabel.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
||||
| System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.variantLabel.AutoSize = true;
|
||||
this.variantLabel.Location = new System.Drawing.Point(3, 254);
|
||||
this.variantLabel.Name = "variantLabel";
|
||||
this.variantLabel.Size = new System.Drawing.Size(82, 28);
|
||||
this.variantLabel.TabIndex = 18;
|
||||
this.variantLabel.Text = "Variant:";
|
||||
this.variantLabel.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
|
||||
this.variantLabel.Theme = MetroFramework.MetroThemeStyle.Dark;
|
||||
//
|
||||
// menuStrip1
|
||||
//
|
||||
this.menuStrip1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(20)))), ((int)(((byte)(20)))), ((int)(((byte)(20)))));
|
||||
this.menuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.fileToolStripMenuItem,
|
||||
this.viewToolStripMenuItem});
|
||||
this.menuStrip1.Location = new System.Drawing.Point(20, 60);
|
||||
this.menuStrip1.Name = "menuStrip1";
|
||||
this.menuStrip1.Size = new System.Drawing.Size(590, 24);
|
||||
this.menuStrip1.TabIndex = 16;
|
||||
this.menuStrip1.Text = "menuStrip1";
|
||||
//
|
||||
// fileToolStripMenuItem
|
||||
//
|
||||
this.fileToolStripMenuItem.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(20)))), ((int)(((byte)(20)))), ((int)(((byte)(20)))));
|
||||
this.fileToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.saveToolStripMenuItem,
|
||||
this.extractTileToolStripMenuItem});
|
||||
this.fileToolStripMenuItem.ForeColor = System.Drawing.SystemColors.Menu;
|
||||
this.fileToolStripMenuItem.Name = "fileToolStripMenuItem";
|
||||
this.fileToolStripMenuItem.Size = new System.Drawing.Size(37, 20);
|
||||
this.fileToolStripMenuItem.Text = "File";
|
||||
//
|
||||
// saveToolStripMenuItem
|
||||
//
|
||||
this.saveToolStripMenuItem.Name = "saveToolStripMenuItem";
|
||||
this.saveToolStripMenuItem.Size = new System.Drawing.Size(131, 22);
|
||||
this.saveToolStripMenuItem.Text = "Save";
|
||||
this.saveToolStripMenuItem.Click += new System.EventHandler(this.saveToolStripMenuItem_Click);
|
||||
//
|
||||
// extractTileToolStripMenuItem
|
||||
//
|
||||
this.extractTileToolStripMenuItem.Name = "extractTileToolStripMenuItem";
|
||||
this.extractTileToolStripMenuItem.Size = new System.Drawing.Size(131, 22);
|
||||
this.extractTileToolStripMenuItem.Text = "Extract Tile";
|
||||
this.extractTileToolStripMenuItem.Click += new System.EventHandler(this.extractTileToolStripMenuItem_Click);
|
||||
//
|
||||
// viewToolStripMenuItem
|
||||
//
|
||||
this.viewToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.applyColorMaskToolStripMenuItem,
|
||||
this.playAnimationsToolStripMenuItem});
|
||||
this.viewToolStripMenuItem.ForeColor = System.Drawing.SystemColors.Control;
|
||||
this.viewToolStripMenuItem.Name = "viewToolStripMenuItem";
|
||||
this.viewToolStripMenuItem.Size = new System.Drawing.Size(44, 20);
|
||||
this.viewToolStripMenuItem.Text = "View";
|
||||
//
|
||||
// applyColorMaskToolStripMenuItem
|
||||
//
|
||||
this.applyColorMaskToolStripMenuItem.Checked = true;
|
||||
this.applyColorMaskToolStripMenuItem.CheckOnClick = true;
|
||||
this.applyColorMaskToolStripMenuItem.CheckState = System.Windows.Forms.CheckState.Checked;
|
||||
this.applyColorMaskToolStripMenuItem.Name = "applyColorMaskToolStripMenuItem";
|
||||
this.applyColorMaskToolStripMenuItem.Size = new System.Drawing.Size(168, 22);
|
||||
this.applyColorMaskToolStripMenuItem.Text = "Apply Color Mask";
|
||||
this.applyColorMaskToolStripMenuItem.CheckedChanged += new System.EventHandler(this.applyColorMaskToolStripMenuItem_CheckedChanged);
|
||||
//
|
||||
// playAnimationsToolStripMenuItem
|
||||
//
|
||||
this.playAnimationsToolStripMenuItem.Checked = true;
|
||||
this.playAnimationsToolStripMenuItem.CheckOnClick = true;
|
||||
this.playAnimationsToolStripMenuItem.CheckState = System.Windows.Forms.CheckState.Checked;
|
||||
this.playAnimationsToolStripMenuItem.Name = "playAnimationsToolStripMenuItem";
|
||||
this.playAnimationsToolStripMenuItem.Size = new System.Drawing.Size(168, 22);
|
||||
this.playAnimationsToolStripMenuItem.Text = "Play Animations";
|
||||
this.playAnimationsToolStripMenuItem.CheckedChanged += new System.EventHandler(this.playAnimationsToolStripMenuItem_CheckedChanged);
|
||||
//
|
||||
// tableLayoutPanel1
|
||||
//
|
||||
this.tableLayoutPanel1.AutoSize = true;
|
||||
this.tableLayoutPanel1.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;
|
||||
this.tableLayoutPanel1.ColumnCount = 3;
|
||||
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 15F));
|
||||
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 25F));
|
||||
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 60F));
|
||||
this.tableLayoutPanel1.Controls.Add(this.originalPictureBox, 2, 0);
|
||||
this.tableLayoutPanel1.Controls.Add(this.selectTilePictureBox, 0, 0);
|
||||
this.tableLayoutPanel1.Controls.Add(this.replaceButton, 0, 5);
|
||||
this.tableLayoutPanel1.Controls.Add(this.animationButton, 0, 4);
|
||||
this.tableLayoutPanel1.Controls.Add(this.tileNameLabel, 0, 1);
|
||||
this.tableLayoutPanel1.Controls.Add(this.variantComboBox, 1, 2);
|
||||
this.tableLayoutPanel1.Controls.Add(this.variantLabel, 0, 2);
|
||||
this.tableLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.tableLayoutPanel1.Location = new System.Drawing.Point(20, 84);
|
||||
this.tableLayoutPanel1.Name = "tableLayoutPanel1";
|
||||
this.tableLayoutPanel1.RowCount = 6;
|
||||
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 40F));
|
||||
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 5F));
|
||||
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 5F));
|
||||
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 40F));
|
||||
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 5F));
|
||||
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 5F));
|
||||
this.tableLayoutPanel1.Size = new System.Drawing.Size(590, 565);
|
||||
this.tableLayoutPanel1.TabIndex = 17;
|
||||
//
|
||||
// originalPictureBox
|
||||
//
|
||||
this.originalPictureBox.BackColor = System.Drawing.Color.Transparent;
|
||||
this.originalPictureBox.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.originalPictureBox.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.NearestNeighbor;
|
||||
this.originalPictureBox.Location = new System.Drawing.Point(238, 3);
|
||||
this.originalPictureBox.Name = "originalPictureBox";
|
||||
this.tableLayoutPanel1.SetRowSpan(this.originalPictureBox, 6);
|
||||
this.originalPictureBox.Size = new System.Drawing.Size(349, 559);
|
||||
this.originalPictureBox.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
|
||||
this.originalPictureBox.TabIndex = 4;
|
||||
this.originalPictureBox.TabStop = false;
|
||||
this.originalPictureBox.MouseClick += new System.Windows.Forms.MouseEventHandler(this.originalPictureBox_MouseClick);
|
||||
//
|
||||
// selectTilePictureBox
|
||||
//
|
||||
this.selectTilePictureBox.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
||||
| System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.selectTilePictureBox.BackColor = System.Drawing.Color.Transparent;
|
||||
this.selectTilePictureBox.BlendColor = System.Drawing.Color.White;
|
||||
this.selectTilePictureBox.BlendMode = PckStudio.Extensions.BlendMode.Multiply;
|
||||
this.tableLayoutPanel1.SetColumnSpan(this.selectTilePictureBox, 2);
|
||||
this.selectTilePictureBox.Image = null;
|
||||
this.selectTilePictureBox.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.NearestNeighbor;
|
||||
this.selectTilePictureBox.Location = new System.Drawing.Point(3, 3);
|
||||
this.selectTilePictureBox.Name = "selectTilePictureBox";
|
||||
this.selectTilePictureBox.Size = new System.Drawing.Size(229, 220);
|
||||
this.selectTilePictureBox.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
|
||||
this.selectTilePictureBox.TabIndex = 0;
|
||||
this.selectTilePictureBox.TabStop = false;
|
||||
this.selectTilePictureBox.UseBlendColor = true;
|
||||
//
|
||||
// replaceButton
|
||||
//
|
||||
this.replaceButton.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.replaceButton.AutoSize = true;
|
||||
this.tableLayoutPanel1.SetColumnSpan(this.replaceButton, 2);
|
||||
this.replaceButton.Location = new System.Drawing.Point(3, 539);
|
||||
this.replaceButton.Name = "replaceButton";
|
||||
this.replaceButton.Size = new System.Drawing.Size(229, 23);
|
||||
this.replaceButton.TabIndex = 14;
|
||||
this.replaceButton.Text = "Replace";
|
||||
this.replaceButton.Theme = MetroFramework.MetroThemeStyle.Dark;
|
||||
this.replaceButton.UseSelectable = true;
|
||||
this.replaceButton.Click += new System.EventHandler(this.replaceButton_Click);
|
||||
//
|
||||
// animationButton
|
||||
//
|
||||
this.animationButton.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.animationButton.AutoSize = true;
|
||||
this.tableLayoutPanel1.SetColumnSpan(this.animationButton, 2);
|
||||
this.animationButton.Location = new System.Drawing.Point(3, 511);
|
||||
this.animationButton.Name = "animationButton";
|
||||
this.animationButton.Size = new System.Drawing.Size(229, 22);
|
||||
this.animationButton.TabIndex = 16;
|
||||
this.animationButton.Text = "Animation";
|
||||
this.animationButton.Theme = MetroFramework.MetroThemeStyle.Dark;
|
||||
this.animationButton.UseSelectable = true;
|
||||
this.animationButton.Click += new System.EventHandler(this.animationButton_Click);
|
||||
//
|
||||
// tileNameLabel
|
||||
//
|
||||
this.tileNameLabel.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.tileNameLabel.AutoSize = true;
|
||||
this.tableLayoutPanel1.SetColumnSpan(this.tileNameLabel, 2);
|
||||
this.tileNameLabel.Location = new System.Drawing.Point(3, 235);
|
||||
this.tileNameLabel.Name = "tileNameLabel";
|
||||
this.tileNameLabel.Size = new System.Drawing.Size(229, 19);
|
||||
this.tileNameLabel.TabIndex = 19;
|
||||
this.tileNameLabel.Text = "TileName";
|
||||
this.tileNameLabel.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
|
||||
this.tileNameLabel.Theme = MetroFramework.MetroThemeStyle.Dark;
|
||||
//
|
||||
// variantComboBox
|
||||
//
|
||||
this.variantComboBox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.variantComboBox.Enabled = false;
|
||||
this.variantComboBox.FormattingEnabled = true;
|
||||
this.variantComboBox.ItemHeight = 23;
|
||||
this.variantComboBox.Location = new System.Drawing.Point(91, 257);
|
||||
this.variantComboBox.Name = "variantComboBox";
|
||||
this.variantComboBox.Size = new System.Drawing.Size(141, 29);
|
||||
this.variantComboBox.TabIndex = 17;
|
||||
this.variantComboBox.Theme = MetroFramework.MetroThemeStyle.Dark;
|
||||
this.variantComboBox.UseSelectable = true;
|
||||
this.variantComboBox.SelectedIndexChanged += new System.EventHandler(this.variantComboBox_SelectedIndexChanged);
|
||||
//
|
||||
// TextureAtlasEditor
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(630, 669);
|
||||
this.Controls.Add(this.tableLayoutPanel1);
|
||||
this.Controls.Add(this.menuStrip1);
|
||||
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
|
||||
this.MainMenuStrip = this.menuStrip1;
|
||||
this.MinimumSize = new System.Drawing.Size(630, 669);
|
||||
this.Name = "TextureAtlasEditor";
|
||||
this.ShadowType = MetroFramework.Forms.MetroFormShadowType.None;
|
||||
this.Style = MetroFramework.MetroColorStyle.Silver;
|
||||
this.Text = "Texture Atlas Editor";
|
||||
this.Theme = MetroFramework.MetroThemeStyle.Dark;
|
||||
this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.TextureAtlasEditor_FormClosing);
|
||||
this.menuStrip1.ResumeLayout(false);
|
||||
this.menuStrip1.PerformLayout();
|
||||
this.tableLayoutPanel1.ResumeLayout(false);
|
||||
this.tableLayoutPanel1.PerformLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.originalPictureBox)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.selectTilePictureBox)).EndInit();
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private PckStudio.ToolboxItems.AnimationPictureBox selectTilePictureBox;
|
||||
private System.Windows.Forms.MenuStrip menuStrip1;
|
||||
private System.Windows.Forms.ToolStripMenuItem fileToolStripMenuItem;
|
||||
private System.Windows.Forms.TableLayoutPanel tableLayoutPanel1;
|
||||
private MetroFramework.Controls.MetroButton replaceButton;
|
||||
private PckStudio.ToolboxItems.InterpolationPictureBox originalPictureBox;
|
||||
private System.Windows.Forms.ToolStripMenuItem saveToolStripMenuItem;
|
||||
private MetroFramework.Controls.MetroButton animationButton;
|
||||
private System.Windows.Forms.ToolStripMenuItem extractTileToolStripMenuItem;
|
||||
private MetroFramework.Controls.MetroComboBox variantComboBox;
|
||||
private System.Windows.Forms.ToolStripMenuItem viewToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem applyColorMaskToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem playAnimationsToolStripMenuItem;
|
||||
private MetroFramework.Controls.MetroLabel tileNameLabel;
|
||||
private MetroFramework.Controls.MetroLabel variantLabel;
|
||||
}
|
||||
}
|
||||
463
PCK-Studio/Forms/Editor/TextureAtlasEditor.cs
Normal file
463
PCK-Studio/Forms/Editor/TextureAtlasEditor.cs
Normal file
@@ -0,0 +1,463 @@
|
||||
/* Copyright (c) 2023-present miku-666
|
||||
* This software is provided 'as-is', without any express or implied
|
||||
* warranty. In no event will the authors be held liable for any damages
|
||||
* arising from the use of this software.
|
||||
*
|
||||
* Permission is granted to anyone to use this software for any purpose,
|
||||
* including commercial applications, and to alter it and redistribute it
|
||||
* freely, subject to the following restrictions:
|
||||
*
|
||||
* 1.The origin of this software must not be misrepresented; you must not
|
||||
* claim that you wrote the original software. If you use this software
|
||||
* in a product, an acknowledgment in the product documentation would be
|
||||
* appreciated but is not required.
|
||||
* 2. Altered source versions must be plainly marked as such, and must not be
|
||||
* misrepresented as being the original software.
|
||||
* 3. This notice may not be removed or altered from any source distribution.
|
||||
**/
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Drawing;
|
||||
using System.Drawing.Drawing2D;
|
||||
using System.Drawing.Imaging;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Windows.Forms;
|
||||
using MetroFramework.Forms;
|
||||
|
||||
using OMI.Formats.Color;
|
||||
using OMI.Formats.Pck;
|
||||
using OMI.Workers.Color;
|
||||
|
||||
using PckStudio.Extensions;
|
||||
using PckStudio.Helper;
|
||||
using PckStudio.Internal.Json;
|
||||
|
||||
namespace PckStudio.Forms.Editor
|
||||
{
|
||||
internal partial class TextureAtlasEditor : MetroForm
|
||||
{
|
||||
public Image FinalTexture
|
||||
{
|
||||
get
|
||||
{
|
||||
if (DialogResult != DialogResult.OK)
|
||||
return null;
|
||||
return (Image)originalPictureBox.Image.Clone();
|
||||
}
|
||||
}
|
||||
|
||||
private readonly PckFile _pckFile;
|
||||
private ColorContainer _colourTable;
|
||||
private readonly Size _areaSize;
|
||||
private readonly int _rowCount;
|
||||
private readonly int _columnCount;
|
||||
private readonly string _atlasType;
|
||||
private readonly List<AtlasTile> _tiles;
|
||||
|
||||
private AtlasTile _selectedTile;
|
||||
private sealed class AtlasTile
|
||||
{
|
||||
internal readonly int Index;
|
||||
internal readonly Rectangle Area;
|
||||
internal readonly JsonTileInfo Tile;
|
||||
internal readonly Image Texture;
|
||||
|
||||
public AtlasTile(int index, Rectangle area, JsonTileInfo tile, Image texture)
|
||||
{
|
||||
Index = index;
|
||||
Area = area;
|
||||
Tile = tile;
|
||||
Texture = texture;
|
||||
}
|
||||
}
|
||||
|
||||
private int SelectedIndex
|
||||
{
|
||||
set => SetImageDisplayed(value);
|
||||
}
|
||||
|
||||
private const ImageLayoutDirection _imageLayout = ImageLayoutDirection.Horizontal;
|
||||
|
||||
public TextureAtlasEditor(PckFile pckFile, string path, Image atlas, Size areaSize)
|
||||
{
|
||||
InitializeComponent();
|
||||
|
||||
AcquireColorTable(pckFile);
|
||||
_areaSize = areaSize;
|
||||
_pckFile = pckFile;
|
||||
_rowCount = atlas.Width / areaSize.Width;
|
||||
_columnCount = atlas.Height / areaSize.Height;
|
||||
(var tileInfos, _atlasType) = Path.GetFileNameWithoutExtension(path) switch
|
||||
{
|
||||
"terrain" => (AnimationResources.BlockTileInfos, "blocks"),
|
||||
"items" => (AnimationResources.ItemTileInfos, "items"),
|
||||
_ => (null, null),
|
||||
};
|
||||
originalPictureBox.Image = atlas;
|
||||
var images = atlas.CreateImageList(_areaSize, _imageLayout);
|
||||
|
||||
var tiles = images.enumerate().Select(
|
||||
v => new AtlasTile(v.index, GetAtlasArea(v.index, _rowCount, _columnCount, _areaSize, _imageLayout), tileInfos.IndexInRange(v.index) ? tileInfos[v.index] : null, v.type)
|
||||
);
|
||||
_tiles = new List<AtlasTile>(tiles);
|
||||
|
||||
SelectedIndex = 0;
|
||||
}
|
||||
|
||||
private bool AcquireColorTable(PckFile pckFile)
|
||||
{
|
||||
if (pckFile.TryGetFile("colours.col", PckFile.FileData.FileType.ColourTableFile, out var colFile) &&
|
||||
colFile.Size > 0)
|
||||
{
|
||||
using var ms = new MemoryStream(colFile.Data);
|
||||
var reader = new COLFileReader();
|
||||
_colourTable = reader.FromStream(ms);
|
||||
return true;
|
||||
}
|
||||
_colourTable = null;
|
||||
return false;
|
||||
}
|
||||
|
||||
private void SetImageDisplayed(int index)
|
||||
{
|
||||
tileNameLabel.Text = string.Empty;
|
||||
|
||||
variantLabel.Visible = false;
|
||||
variantComboBox.Visible = false;
|
||||
variantComboBox.Items.Clear();
|
||||
variantComboBox.SelectedItem = null;
|
||||
variantComboBox.Enabled = false;
|
||||
|
||||
if (selectTilePictureBox.IsPlaying)
|
||||
selectTilePictureBox.Stop();
|
||||
selectTilePictureBox.UseBlendColor = false;
|
||||
selectTilePictureBox.Image = null;
|
||||
|
||||
if (_tiles is null || !_tiles.IndexInRange(index) || (_selectedTile = _tiles[index]) is null)
|
||||
return;
|
||||
|
||||
if(String.IsNullOrEmpty(_selectedTile.Tile.DisplayName))
|
||||
{
|
||||
// changes the selected tile to the base flowing tile (carries all properties over) - Matt
|
||||
_selectedTile = _tiles.Find(t => t.Tile.InternalName == _selectedTile.Tile.InternalName);
|
||||
}
|
||||
|
||||
tileNameLabel.Text = $"{_selectedTile.Tile.DisplayName}";
|
||||
selectTilePictureBox.BlendColor = GetBlendColor();
|
||||
selectTilePictureBox.UseBlendColor = applyColorMaskToolStripMenuItem.Checked;
|
||||
|
||||
bool hasAnimation =
|
||||
_pckFile.Files.TryGetValue($"res/textures/{_atlasType}/{_selectedTile.Tile.InternalName}.png", PckFile.FileData.FileType.TextureFile, out var animationFile);
|
||||
animationButton.Text = hasAnimation ? "Edit Animation" : "Create Animation";
|
||||
replaceButton.Enabled = !hasAnimation;
|
||||
|
||||
if (playAnimationsToolStripMenuItem.Checked &&
|
||||
hasAnimation &&
|
||||
animationFile.Size > 0)
|
||||
{
|
||||
using var ms = new MemoryStream(animationFile.Data);
|
||||
var img = Image.FromStream(ms);
|
||||
var textures = img.CreateImageList(ImageLayoutDirection.Vertical);
|
||||
var animation = new Internal.Animation(textures, animationFile.Properties.GetPropertyValue("ANIM"));
|
||||
selectTilePictureBox.Start(animation);
|
||||
return;
|
||||
}
|
||||
|
||||
if (variantLabel.Visible = variantComboBox.Visible = _selectedTile.Tile.HasColourEntry && _selectedTile.Tile.ColourEntry.Variants.Length > 1)
|
||||
{
|
||||
variantComboBox.Items.AddRange(_selectedTile.Tile.ColourEntry.Variants);
|
||||
variantComboBox.SelectedItem = _selectedTile.Tile.ColourEntry.DefaultName;
|
||||
}
|
||||
|
||||
selectTilePictureBox.Image = _selectedTile.Texture;
|
||||
}
|
||||
|
||||
private static int GetSelectedImageIndex(
|
||||
Size pictureBoxSize,
|
||||
Size imageSize,
|
||||
Size areaSize,
|
||||
Point clickLocation,
|
||||
PictureBoxSizeMode sizeMode,
|
||||
ImageLayoutDirection imageLayout)
|
||||
{
|
||||
Point result = new Point();
|
||||
int rowCount = imageSize.Width / areaSize.Width;
|
||||
int columnCount = imageSize.Height / areaSize.Height;
|
||||
switch (sizeMode)
|
||||
{
|
||||
case PictureBoxSizeMode.Normal:
|
||||
case PictureBoxSizeMode.AutoSize:
|
||||
{
|
||||
var imageArea = new Rectangle(Point.Empty, imageSize);
|
||||
if (!imageArea.Contains(clickLocation))
|
||||
return -1;
|
||||
result.X = clickLocation.X / areaSize.Width;
|
||||
result.Y = clickLocation.Y / areaSize.Height;
|
||||
break;
|
||||
}
|
||||
case PictureBoxSizeMode.StretchImage:
|
||||
{
|
||||
float widthDiff = (float)pictureBoxSize.Width / imageSize.Width;
|
||||
float heightDiff = (float)pictureBoxSize.Height / imageSize.Height;
|
||||
Size scaledArea = Size.Round(new SizeF(areaSize.Width * widthDiff, areaSize.Height * heightDiff));
|
||||
|
||||
result.X = clickLocation.X / scaledArea.Width;
|
||||
result.Y = clickLocation.Y / scaledArea.Height;
|
||||
break;
|
||||
}
|
||||
case PictureBoxSizeMode.CenterImage:
|
||||
{
|
||||
Rectangle imageArea = new Rectangle(Point.Empty, imageSize);
|
||||
imageArea.X = (pictureBoxSize.Width - imageArea.Width) / 2;
|
||||
imageArea.Y = (pictureBoxSize.Height - imageArea.Height) / 2;
|
||||
|
||||
if (!imageArea.Contains(clickLocation))
|
||||
return -1;
|
||||
|
||||
result.X = (clickLocation.X - imageArea.X) / (clickLocation.X * areaSize.Width);
|
||||
result.Y = (clickLocation.Y - imageArea.Y) / (clickLocation.Y * areaSize.Height);
|
||||
break;
|
||||
}
|
||||
case PictureBoxSizeMode.Zoom:
|
||||
{
|
||||
Rectangle imageArea = new Rectangle();
|
||||
float widthDiff = (float)pictureBoxSize.Width / imageSize.Width;
|
||||
float heightDiff = (float)pictureBoxSize.Height / imageSize.Height;
|
||||
float scale = Math.Min(widthDiff, heightDiff);
|
||||
|
||||
imageArea.Width = (int)(imageSize.Width * scale);
|
||||
imageArea.Height = (int)(imageSize.Height * scale);
|
||||
imageArea.X = (pictureBoxSize.Width - imageArea.Width) / 2;
|
||||
imageArea.Y = (pictureBoxSize.Height - imageArea.Height) / 2;
|
||||
|
||||
if (!imageArea.Contains(clickLocation))
|
||||
return -1;
|
||||
|
||||
var scaledArea = new SizeF(areaSize.Width * scale, areaSize.Height * scale);
|
||||
result.X = (int)((clickLocation.X - imageArea.X) / scaledArea.Width);
|
||||
result.Y = (int)((clickLocation.Y - imageArea.Y) / scaledArea.Height);
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
};
|
||||
return GetSelectedIndex(result.X, result.Y, rowCount, columnCount, imageLayout);
|
||||
}
|
||||
|
||||
private static int GetSelectedIndex(int x, int y, int rowCount, int columnCount, ImageLayoutDirection imageLayout)
|
||||
{
|
||||
return imageLayout switch
|
||||
{
|
||||
ImageLayoutDirection.Horizontal => x + y * rowCount,
|
||||
ImageLayoutDirection.Vertical => y + x * columnCount,
|
||||
_ => throw new ArgumentOutOfRangeException(nameof(imageLayout)),
|
||||
};
|
||||
}
|
||||
|
||||
private static Rectangle GetAtlasArea(int index, int rowCount, int columnCount, Size size, ImageLayoutDirection imageLayout)
|
||||
{
|
||||
var p = GetSelectedPoint(index, rowCount, columnCount, imageLayout);
|
||||
var ap = new Point(p.X * size.Width, p.Y * size.Height);
|
||||
return new Rectangle(ap, size);
|
||||
}
|
||||
|
||||
private static Point GetSelectedPoint(int index, int rowCount, int columnCount, ImageLayoutDirection imageLayout)
|
||||
{
|
||||
int y = Math.DivRem(index, rowCount, out int x);
|
||||
if (imageLayout == ImageLayoutDirection.Vertical)
|
||||
x = Math.DivRem(index, columnCount, out y);
|
||||
return new Point(x, y);
|
||||
}
|
||||
|
||||
private void SetTile(Image texture)
|
||||
{
|
||||
var graphicsConfig = new GraphicsConfig()
|
||||
{
|
||||
InterpolationMode = selectTilePictureBox.InterpolationMode,
|
||||
PixelOffsetMode = PixelOffsetMode.HighQuality
|
||||
};
|
||||
if (texture.Size != _areaSize)
|
||||
texture = texture.Resize(_areaSize, graphicsConfig);
|
||||
using (var g = Graphics.FromImage(originalPictureBox.Image))
|
||||
{
|
||||
g.ApplyConfig(graphicsConfig);
|
||||
g.Fill(_selectedTile.Area, Color.Transparent);
|
||||
g.DrawImage(texture, _selectedTile.Area);
|
||||
}
|
||||
|
||||
_tiles[_selectedTile.Index] = new AtlasTile(_selectedTile.Index, _selectedTile.Area, _selectedTile.Tile, texture);
|
||||
selectTilePictureBox.Image = texture;
|
||||
originalPictureBox.Invalidate();
|
||||
}
|
||||
|
||||
private void ApplyBlend(string colorKey, Image image)
|
||||
{
|
||||
if (variantComboBox.Enabled = _selectedTile.Tile.ColourEntry.Variants.Length > 1)
|
||||
{
|
||||
selectTilePictureBox.BlendColor = FindBlendColorByKey(colorKey);
|
||||
selectTilePictureBox.Image = image;
|
||||
}
|
||||
}
|
||||
|
||||
private Color GetBlendColor()
|
||||
{
|
||||
if (_selectedTile.Tile.HasColourEntry && _selectedTile.Tile.ColourEntry is not null)
|
||||
return FindBlendColorByKey(_selectedTile.Tile.ColourEntry.DefaultName);
|
||||
return Color.White;
|
||||
}
|
||||
|
||||
private Color FindBlendColorByKey(string colorKey)
|
||||
{
|
||||
if (_colourTable is not null &&
|
||||
_selectedTile.Tile.HasColourEntry &&
|
||||
_selectedTile.Tile.ColourEntry is not null)
|
||||
{
|
||||
if (_selectedTile.Tile.ColourEntry.IsWaterColour &&
|
||||
_colourTable.WaterColors.FirstOrDefault(entry => entry.Name == colorKey) is ColorContainer.WaterColor waterColor)
|
||||
{
|
||||
return waterColor.SurfaceColor;
|
||||
}
|
||||
else if (_colourTable.Colors.FirstOrDefault(entry => entry.Name == colorKey) is ColorContainer.Color color)
|
||||
{
|
||||
return color.ColorPallette;
|
||||
}
|
||||
}
|
||||
return Color.White;
|
||||
}
|
||||
|
||||
protected override bool ProcessDialogKey(Keys keyData)
|
||||
{
|
||||
switch (keyData)
|
||||
{
|
||||
case Keys.Left:
|
||||
if (_tiles.IndexInRange(_selectedTile.Index - 1))
|
||||
{
|
||||
SelectedIndex = _selectedTile.Index - 1;
|
||||
return true;
|
||||
}
|
||||
break;
|
||||
case Keys.Right:
|
||||
if (_tiles.IndexInRange(_selectedTile.Index + 1))
|
||||
{
|
||||
SelectedIndex = _selectedTile.Index + 1;
|
||||
return true;
|
||||
}
|
||||
break;
|
||||
case Keys.Up:
|
||||
if (_tiles.IndexInRange(_selectedTile.Index - _rowCount))
|
||||
{
|
||||
SelectedIndex = _selectedTile.Index - _rowCount;
|
||||
return true;
|
||||
}
|
||||
break;
|
||||
|
||||
case Keys.Down:
|
||||
if (_tiles.IndexInRange(_selectedTile.Index + _rowCount))
|
||||
{
|
||||
SelectedIndex = _selectedTile.Index + _rowCount;
|
||||
return true;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
private void originalPictureBox_MouseClick(object sender, MouseEventArgs e)
|
||||
{
|
||||
if (e.Button != MouseButtons.Left)
|
||||
return;
|
||||
|
||||
int index = GetSelectedImageIndex(
|
||||
originalPictureBox.Size,
|
||||
originalPictureBox.Image.Size,
|
||||
_areaSize,
|
||||
e.Location,
|
||||
originalPictureBox.SizeMode,
|
||||
_imageLayout);
|
||||
|
||||
if (index != -1)
|
||||
{
|
||||
SelectedIndex = index;
|
||||
}
|
||||
}
|
||||
|
||||
private void replaceButton_Click(object sender, EventArgs e)
|
||||
{
|
||||
OpenFileDialog fileDialog = new OpenFileDialog()
|
||||
{
|
||||
Filter = "PNG Image|*.png",
|
||||
Title = "Select Texture"
|
||||
};
|
||||
|
||||
if (fileDialog.ShowDialog() == DialogResult.OK)
|
||||
{
|
||||
var img = Image.FromFile(fileDialog.FileName);
|
||||
SetTile(img);
|
||||
}
|
||||
}
|
||||
|
||||
private void saveToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
DialogResult = DialogResult.OK;
|
||||
}
|
||||
|
||||
private void animationButton_Click(object sender, EventArgs e)
|
||||
{
|
||||
bool isNewFile;
|
||||
if (isNewFile = !_pckFile.Files.TryGetValue(
|
||||
$"res/textures/{_atlasType}/{_selectedTile.Tile.InternalName}.png",
|
||||
PckFile.FileData.FileType.TextureFile, out var file
|
||||
))
|
||||
{
|
||||
file = new PckFile.FileData($"res/textures/{_atlasType}/{_selectedTile.Tile.InternalName}.png", PckFile.FileData.FileType.TextureFile);
|
||||
}
|
||||
|
||||
var animationEditor = new AnimationEditor(file, GetBlendColor());
|
||||
if (animationEditor.ShowDialog() == DialogResult.OK && isNewFile)
|
||||
{
|
||||
_pckFile.Files.Add(file);
|
||||
}
|
||||
}
|
||||
|
||||
private void extractTileToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
SaveFileDialog saveFileDialog = new SaveFileDialog()
|
||||
{
|
||||
Filter = "Tile Texture|*.png",
|
||||
FileName = _selectedTile.Tile.InternalName
|
||||
};
|
||||
if (saveFileDialog.ShowDialog() == DialogResult.OK)
|
||||
{
|
||||
selectTilePictureBox.Image.Save(saveFileDialog.FileName, ImageFormat.Png);
|
||||
}
|
||||
}
|
||||
|
||||
private void variantComboBox_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
if (_selectedTile.Tile.ColourEntry is not null &&
|
||||
_selectedTile.Tile.ColourEntry.Variants.IndexInRange(variantComboBox.SelectedIndex))
|
||||
{
|
||||
ApplyBlend(_selectedTile.Tile.ColourEntry.Variants[variantComboBox.SelectedIndex], _selectedTile.Texture);
|
||||
}
|
||||
}
|
||||
|
||||
private void applyColorMaskToolStripMenuItem_CheckedChanged(object sender, EventArgs e)
|
||||
{
|
||||
SelectedIndex = _selectedTile.Index;
|
||||
}
|
||||
|
||||
private void playAnimationsToolStripMenuItem_CheckedChanged(object sender, EventArgs e)
|
||||
{
|
||||
SelectedIndex = _selectedTile.Index;
|
||||
}
|
||||
|
||||
private void TextureAtlasEditor_FormClosing(object sender, FormClosingEventArgs e)
|
||||
{
|
||||
if (selectTilePictureBox.IsPlaying)
|
||||
selectTilePictureBox.Stop();
|
||||
}
|
||||
}
|
||||
}
|
||||
2630
PCK-Studio/Forms/Editor/TextureAtlasEditor.resx
Normal file
2630
PCK-Studio/Forms/Editor/TextureAtlasEditor.resx
Normal file
File diff suppressed because it is too large
Load Diff
@@ -1,6 +1,6 @@
|
||||
namespace PckStudio
|
||||
namespace PckStudio.Popups
|
||||
{
|
||||
partial class addNewSkin
|
||||
partial class AddNewSkin
|
||||
{
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
@@ -30,7 +30,7 @@
|
||||
{
|
||||
this.components = new System.ComponentModel.Container();
|
||||
System.Windows.Forms.Label label3;
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(addNewSkin));
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(AddNewSkin));
|
||||
System.Windows.Forms.Label label2;
|
||||
System.Windows.Forms.Label label1;
|
||||
this.textTheme = new System.Windows.Forms.TextBox();
|
||||
@@ -52,8 +52,8 @@
|
||||
this.textThemeName = new MetroFramework.Controls.MetroTextBox();
|
||||
this.label4 = new System.Windows.Forms.Label();
|
||||
this.buttonAnimGen = new System.Windows.Forms.Button();
|
||||
this.capePictureBox = new PckStudio.PictureBoxWithInterpolationMode();
|
||||
this.skinPictureBoxTexture = new PckStudio.PictureBoxWithInterpolationMode();
|
||||
this.capePictureBox = new PckStudio.ToolboxItems.InterpolationPictureBox();
|
||||
this.skinPictureBoxTexture = new PckStudio.ToolboxItems.InterpolationPictureBox();
|
||||
label3 = new System.Windows.Forms.Label();
|
||||
label2 = new System.Windows.Forms.Label();
|
||||
label1 = new System.Windows.Forms.Label();
|
||||
@@ -111,7 +111,7 @@
|
||||
//
|
||||
resources.ApplyResources(this.replaceToolStripMenuItem1, "replaceToolStripMenuItem1");
|
||||
this.replaceToolStripMenuItem1.Name = "replaceToolStripMenuItem1";
|
||||
this.replaceToolStripMenuItem1.Click += new System.EventHandler(this.replaceToolStripMenuItem1_Click);
|
||||
this.replaceToolStripMenuItem1.Click += new System.EventHandler(this.capePictureBox_Click);
|
||||
//
|
||||
// buttonDone
|
||||
//
|
||||
@@ -173,7 +173,6 @@
|
||||
resources.ApplyResources(this.labelSelectTexture, "labelSelectTexture");
|
||||
this.labelSelectTexture.ForeColor = System.Drawing.Color.White;
|
||||
this.labelSelectTexture.Name = "labelSelectTexture";
|
||||
this.labelSelectTexture.Click += new System.EventHandler(this.pictureBox1_Click);
|
||||
//
|
||||
// radioSERVER
|
||||
//
|
||||
@@ -282,7 +281,6 @@
|
||||
resources.ApplyResources(this.label4, "label4");
|
||||
this.label4.ForeColor = System.Drawing.Color.White;
|
||||
this.label4.Name = "label4";
|
||||
this.label4.Click += new System.EventHandler(this.replaceToolStripMenuItem1_Click);
|
||||
//
|
||||
// buttonAnimGen
|
||||
//
|
||||
@@ -299,7 +297,7 @@
|
||||
this.capePictureBox.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.Default;
|
||||
this.capePictureBox.Name = "capePictureBox";
|
||||
this.capePictureBox.TabStop = false;
|
||||
this.capePictureBox.Click += new System.EventHandler(this.replaceToolStripMenuItem1_Click);
|
||||
this.capePictureBox.Click += new System.EventHandler(this.capePictureBox_Click);
|
||||
//
|
||||
// skinPictureBoxTexture
|
||||
//
|
||||
@@ -308,7 +306,7 @@
|
||||
this.skinPictureBoxTexture.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.NearestNeighbor;
|
||||
this.skinPictureBoxTexture.Name = "skinPictureBoxTexture";
|
||||
this.skinPictureBoxTexture.TabStop = false;
|
||||
this.skinPictureBoxTexture.Click += new System.EventHandler(this.pictureBox1_Click);
|
||||
this.skinPictureBoxTexture.Click += new System.EventHandler(this.skinPictureBoxTexture_Click);
|
||||
//
|
||||
// addNewSkin
|
||||
//
|
||||
@@ -359,17 +357,17 @@
|
||||
private System.Windows.Forms.Button buttonModelGen;
|
||||
private System.Windows.Forms.Button buttonCape;
|
||||
private System.Windows.Forms.Button buttonSkin;
|
||||
private PictureBoxWithInterpolationMode capePictureBox;
|
||||
private PckStudio.ToolboxItems.InterpolationPictureBox capePictureBox;
|
||||
private System.Windows.Forms.PictureBox displayBox;
|
||||
private System.Windows.Forms.RadioButton radioAUTO;
|
||||
private System.Windows.Forms.RadioButton radioLOCAL;
|
||||
private System.Windows.Forms.Label labelSelectTexture;
|
||||
private System.Windows.Forms.RadioButton radioSERVER;
|
||||
private MetroFramework.Controls.MetroTextBox textSkinID;
|
||||
private MetroFramework.Controls.MetroTextBox textSkinName;
|
||||
private MetroFramework.Controls.MetroTextBox textThemeName;
|
||||
private System.Windows.Forms.Label label4;
|
||||
private PictureBoxWithInterpolationMode skinPictureBoxTexture;
|
||||
private PckStudio.ToolboxItems.InterpolationPictureBox skinPictureBoxTexture;
|
||||
private System.Windows.Forms.Button buttonAnimGen;
|
||||
}
|
||||
private System.Windows.Forms.Label labelSelectTexture;
|
||||
private System.Windows.Forms.Label label4;
|
||||
}
|
||||
}
|
||||
@@ -8,25 +8,26 @@ using OMI.Formats.Languages;
|
||||
using OMI.Formats.Pck;
|
||||
using PckStudio.Internal;
|
||||
using PckStudio.Forms.Editor;
|
||||
using PckStudio.Classes.IO._3DST;
|
||||
using PckStudio.IO._3DST;
|
||||
using PckStudio.Properties;
|
||||
using PckStudio.Forms;
|
||||
|
||||
namespace PckStudio
|
||||
namespace PckStudio.Popups
|
||||
{
|
||||
public partial class addNewSkin : MetroFramework.Forms.MetroForm
|
||||
public partial class AddNewSkin : MetroFramework.Forms.MetroForm
|
||||
{
|
||||
public PckFile.FileData SkinFile => skin;
|
||||
public PckFile.FileData CapeFile => cape;
|
||||
public bool HasCape = false;
|
||||
public bool HasCape { get; private set; } = false;
|
||||
|
||||
LOCFile currentLoc;
|
||||
PckFile.FileData skin = new PckFile.FileData("dlcskinXYXYXYXY", PckFile.FileData.FileType.SkinFile);
|
||||
PckFile.FileData cape = new PckFile.FileData("dlccapeXYXYXYXY", PckFile.FileData.FileType.CapeFile);
|
||||
SkinANIM anim = new SkinANIM();
|
||||
private LOCFile currentLoc;
|
||||
private PckFile.FileData skin = new PckFile.FileData("dlcskinXYXYXYXY", PckFile.FileData.FileType.SkinFile);
|
||||
private PckFile.FileData cape = new PckFile.FileData("dlccapeXYXYXYXY", PckFile.FileData.FileType.CapeFile);
|
||||
private SkinANIM anim = new SkinANIM();
|
||||
|
||||
eSkinType skinType;
|
||||
private eSkinType skinType;
|
||||
|
||||
enum eSkinType : int
|
||||
private enum eSkinType
|
||||
{
|
||||
Invalid = -1,
|
||||
_64x64,
|
||||
@@ -36,7 +37,7 @@ namespace PckStudio
|
||||
Custom,
|
||||
}
|
||||
|
||||
public addNewSkin(LOCFile loc)
|
||||
public AddNewSkin(LOCFile loc)
|
||||
{
|
||||
InitializeComponent();
|
||||
currentLoc = loc;
|
||||
@@ -50,67 +51,33 @@ namespace PckStudio
|
||||
case 64:
|
||||
anim.SetFlag(SkinAnimFlag.RESOLUTION_64x64, true);
|
||||
MessageBox.Show("64x64 Skin Detected");
|
||||
skinPictureBoxTexture.Width = skinPictureBoxTexture.Height;
|
||||
if (skinType != eSkinType._64x64 && skinType != eSkinType._64x64HD)
|
||||
{
|
||||
buttonSkin.Location = new Point(buttonSkin.Location.X - skinPictureBoxTexture.Width, buttonSkin.Location.Y);
|
||||
}
|
||||
//comboBoxSkinType.Text = "Steve (64x64)";
|
||||
skinType = eSkinType._64x64;
|
||||
break;
|
||||
case 32:
|
||||
anim.SetFlag(SkinAnimFlag.RESOLUTION_64x64, false);
|
||||
anim.SetFlag(SkinAnimFlag.SLIM_MODEL, false);
|
||||
anim.SetFlag(SkinAnimFlag.RESOLUTION_64x64 | SkinAnimFlag.SLIM_MODEL, false);
|
||||
MessageBox.Show("64x32 Skin Detected");
|
||||
skinPictureBoxTexture.Width = skinPictureBoxTexture.Height * 2;
|
||||
if (skinType == eSkinType._64x64)
|
||||
{
|
||||
buttonSkin.Location = new Point(buttonSkin.Location.X + skinPictureBoxTexture.Width / 2, buttonSkin.Location.Y);
|
||||
}
|
||||
if (skinType == eSkinType._64x64HD)
|
||||
{
|
||||
buttonSkin.Location = new Point(buttonSkin.Location.X + skinPictureBoxTexture.Width / 2, buttonSkin.Location.Y);
|
||||
}
|
||||
//comboBoxSkinType.Text = "Default (64x32)";
|
||||
skinType = eSkinType._64x32;
|
||||
break;
|
||||
default:
|
||||
if (img.Width == img.Height) // 64x64 HD
|
||||
if (img.Width == img.Height)
|
||||
{
|
||||
anim.SetFlag(SkinAnimFlag.RESOLUTION_64x64, true);
|
||||
MessageBox.Show("64x64 HD Skin Detected");
|
||||
skinPictureBoxTexture.Width = skinPictureBoxTexture.Height;
|
||||
if (skinType != eSkinType._64x64 && skinType != eSkinType._64x64HD)
|
||||
{
|
||||
buttonSkin.Location = new Point(buttonSkin.Location.X - skinPictureBoxTexture.Width, buttonSkin.Location.Y);
|
||||
}
|
||||
//comboBoxSkinType.Text = "Steve (64x64)";
|
||||
skinType = eSkinType._64x64HD;
|
||||
}
|
||||
else if (img.Height == img.Width / 2) // 64x32 HD
|
||||
{
|
||||
anim.SetFlag(SkinAnimFlag.RESOLUTION_64x64, false);
|
||||
anim.SetFlag(SkinAnimFlag.SLIM_MODEL, false);
|
||||
MessageBox.Show("64x32 HD Skin Detected");
|
||||
skinPictureBoxTexture.Width = skinPictureBoxTexture.Height * 2;
|
||||
if (skinType == eSkinType._64x64)
|
||||
{
|
||||
buttonSkin.Location = new Point(buttonSkin.Location.X + skinPictureBoxTexture.Width / 2, buttonSkin.Location.Y);
|
||||
}
|
||||
if (skinType == eSkinType._64x64HD)
|
||||
{
|
||||
buttonSkin.Location = new Point(buttonSkin.Location.X + skinPictureBoxTexture.Width / 2, buttonSkin.Location.Y);
|
||||
}
|
||||
//comboBoxSkinType.Text = "Default (64x32)";
|
||||
skinType = eSkinType._64x32HD;
|
||||
}
|
||||
else //If dimensions don't fit any skin type //Invalid
|
||||
{
|
||||
MessageBox.Show("Not a Valid Skin File");
|
||||
skinType = eSkinType.Invalid;
|
||||
return;
|
||||
}
|
||||
break;
|
||||
|
||||
if (img.Height == img.Width / 2)
|
||||
{
|
||||
anim.SetFlag(SkinAnimFlag.RESOLUTION_64x64 | SkinAnimFlag.SLIM_MODEL, false);
|
||||
MessageBox.Show("64x32 HD Skin Detected");
|
||||
skinType = eSkinType._64x32HD;
|
||||
return;
|
||||
}
|
||||
|
||||
MessageBox.Show("Not a Valid Skin File");
|
||||
skinType = eSkinType.Invalid;
|
||||
return;
|
||||
}
|
||||
|
||||
skinPictureBoxTexture.Image = img;
|
||||
@@ -120,48 +87,49 @@ namespace PckStudio
|
||||
|
||||
private void DrawModel()
|
||||
{
|
||||
Bitmap bmp = new Bitmap(displayBox.Width, displayBox.Height);
|
||||
bool isSlim = anim.GetFlag(SkinAnimFlag.SLIM_MODEL);
|
||||
using (Graphics g = Graphics.FromImage(bmp))
|
||||
Pen outlineColor = Pens.Black;
|
||||
Brush fillColor = Brushes.Gray;
|
||||
using (Graphics g = Graphics.FromImage(displayBox.Image))
|
||||
{
|
||||
if(!anim.GetFlag(SkinAnimFlag.HEAD_DISABLED))
|
||||
{
|
||||
//Head
|
||||
g.DrawRectangle(Pens.Black, 70, 15, 40, 40);
|
||||
g.FillRectangle(Brushes.Gray, 71, 16, 39, 39);
|
||||
g.DrawRectangle(outlineColor, 70, 15, 40, 40);
|
||||
g.FillRectangle(fillColor, 71, 16, 39, 39);
|
||||
}
|
||||
if (!anim.GetFlag(SkinAnimFlag.BODY_DISABLED))
|
||||
{
|
||||
//Body
|
||||
g.DrawRectangle(Pens.Black, 70, 55, 40, 60);
|
||||
g.FillRectangle(Brushes.Gray, 71, 56, 39, 59);
|
||||
g.DrawRectangle(outlineColor, 70, 55, 40, 60);
|
||||
g.FillRectangle(fillColor, 71, 56, 39, 59);
|
||||
}
|
||||
if (!anim.GetFlag(SkinAnimFlag.RIGHT_ARM_DISABLED))
|
||||
{
|
||||
//Arm0
|
||||
g.DrawRectangle(Pens.Black , isSlim ? 55 : 50, 55, isSlim ? 15 : 20, 60);
|
||||
g.FillRectangle(Brushes.Gray, isSlim ? 56 : 51, 56, isSlim ? 14 : 19, 59);
|
||||
g.DrawRectangle(outlineColor, isSlim ? 55 : 50, 55, isSlim ? 15 : 20, 60);
|
||||
g.FillRectangle(fillColor , isSlim ? 56 : 51, 56, isSlim ? 14 : 19, 59);
|
||||
}
|
||||
if (!anim.GetFlag(SkinAnimFlag.LEFT_ARM_DISABLED))
|
||||
{
|
||||
//Arm1
|
||||
g.DrawRectangle(Pens.Black, 110, 55, isSlim ? 15 : 20, 60);
|
||||
g.FillRectangle(Brushes.Gray, 111, 56, isSlim ? 14 : 19, 59);
|
||||
g.DrawRectangle(outlineColor, 110, 55, isSlim ? 15 : 20, 60);
|
||||
g.FillRectangle(fillColor, 111, 56, isSlim ? 14 : 19, 59);
|
||||
}
|
||||
if (!anim.GetFlag(SkinAnimFlag.RIGHT_LEG_DISABLED))
|
||||
{
|
||||
//Leg0
|
||||
g.DrawRectangle(Pens.Black, 70, 115, 20, 60);
|
||||
g.FillRectangle(Brushes.Gray, 71, 116, 19, 59);
|
||||
g.DrawRectangle(outlineColor, 70, 115, 20, 60);
|
||||
g.FillRectangle(fillColor, 71, 116, 19, 59);
|
||||
}
|
||||
if (!anim.GetFlag(SkinAnimFlag.LEFT_LEG_DISABLED))
|
||||
{
|
||||
//Leg1
|
||||
g.DrawRectangle(Pens.Black, 90, 115, 20, 60);
|
||||
g.FillRectangle(Brushes.Gray, 91, 116, 19, 59);
|
||||
g.DrawRectangle(outlineColor, 90, 115, 20, 60);
|
||||
g.FillRectangle(fillColor, 91, 116, 19, 59);
|
||||
}
|
||||
}
|
||||
displayBox.Image = bmp;
|
||||
displayBox.Invalidate();
|
||||
}
|
||||
|
||||
private void addnewskin_Load(object sender, EventArgs e)
|
||||
@@ -188,22 +156,22 @@ namespace PckStudio
|
||||
}
|
||||
}
|
||||
|
||||
private void replaceToolStripMenuItem1_Click(object sender, EventArgs e)
|
||||
private void capePictureBox_Click(object sender, EventArgs e)
|
||||
{
|
||||
using (var ofd1 = new OpenFileDialog())
|
||||
using (var ofd = new OpenFileDialog())
|
||||
{
|
||||
ofd1.Filter = "PNG Files|*.png";
|
||||
ofd1.Title = "Select a PNG File";
|
||||
if (ofd1.ShowDialog() == DialogResult.OK)
|
||||
ofd.Filter = "PNG Files|*.png";
|
||||
ofd.Title = "Select a PNG File";
|
||||
if (ofd.ShowDialog() == DialogResult.OK)
|
||||
{
|
||||
var img = Image.FromFile(ofd1.FileName);
|
||||
var img = Image.FromFile(ofd.FileName);
|
||||
if (img.Width == img.Height * 2)
|
||||
{
|
||||
HasCape = true;
|
||||
capePictureBox.SizeMode = PictureBoxSizeMode.StretchImage;
|
||||
capePictureBox.InterpolationMode = InterpolationMode.NearestNeighbor;
|
||||
capePictureBox.Image = Image.FromFile(ofd1.FileName);
|
||||
cape.SetData(File.ReadAllBytes(ofd1.FileName));
|
||||
capePictureBox.Image = Image.FromFile(ofd.FileName);
|
||||
cape.SetData(File.ReadAllBytes(ofd.FileName));
|
||||
contextMenuCape.Items[0].Text = "Replace";
|
||||
}
|
||||
else
|
||||
@@ -324,25 +292,25 @@ namespace PckStudio
|
||||
textSkinID.Enabled = radioLOCAL.Checked;
|
||||
}
|
||||
|
||||
private void pictureBox1_Click(object sender, EventArgs e)
|
||||
private void skinPictureBoxTexture_Click(object sender, EventArgs e)
|
||||
{
|
||||
using (var ofdd = new OpenFileDialog())
|
||||
using (var ofd = new OpenFileDialog())
|
||||
{
|
||||
ofdd.Filter = "PNG Files|*.png|3DS Texture|*.3dst";
|
||||
ofdd.Title = "Select a Skin Texture File";
|
||||
if (ofdd.ShowDialog() == DialogResult.OK)
|
||||
ofd.Filter = "PNG Files|*.png|3DS Texture|*.3dst";
|
||||
ofd.Title = "Select a Skin Texture File";
|
||||
if (ofd.ShowDialog() == DialogResult.OK)
|
||||
{
|
||||
if (ofdd.FileName.EndsWith(".3dst"))
|
||||
if (ofd.FileName.EndsWith(".3dst"))
|
||||
{
|
||||
using (var fs = File.OpenRead(ofdd.FileName))
|
||||
using (var fs = File.OpenRead(ofd.FileName))
|
||||
{
|
||||
var reader = new _3DSTextureReader();
|
||||
CheckImage(reader.FromStream(fs));
|
||||
textSkinName.Text = Path.GetFileNameWithoutExtension(ofdd.FileName);
|
||||
textSkinName.Text = Path.GetFileNameWithoutExtension(ofd.FileName);
|
||||
}
|
||||
return;
|
||||
}
|
||||
CheckImage(Image.FromFile(ofdd.FileName));
|
||||
CheckImage(Image.FromFile(ofd.FileName));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -502,6 +502,9 @@
|
||||
<data name="labelSelectTexture.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="labelSelectTexture.Enabled" type="System.Boolean, mscorlib">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="labelSelectTexture.Font" type="System.Drawing.Font, System.Drawing">
|
||||
<value>Microsoft Sans Serif, 8.25pt, style=Underline</value>
|
||||
</data>
|
||||
@@ -688,6 +691,9 @@
|
||||
<data name="label4.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="label4.Enabled" type="System.Boolean, mscorlib">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="label4.Font" type="System.Drawing.Font, System.Drawing">
|
||||
<value>Microsoft Sans Serif, 8.25pt, style=Underline</value>
|
||||
</data>
|
||||
@@ -1,4 +1,4 @@
|
||||
namespace PckStudio
|
||||
namespace PckStudio.Popups
|
||||
{
|
||||
partial class AdvancedOptions
|
||||
{
|
||||
|
||||
@@ -10,7 +10,7 @@ using System.IO;
|
||||
using System.Linq;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace PckStudio
|
||||
namespace PckStudio.Popups
|
||||
{
|
||||
public partial class AdvancedOptions : MetroFramework.Forms.MetroForm
|
||||
{
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -1,4 +1,4 @@
|
||||
namespace PckStudio
|
||||
namespace PckStudio.Forms
|
||||
{
|
||||
partial class generateModel
|
||||
{
|
||||
@@ -60,7 +60,7 @@
|
||||
this.comboParent = new System.Windows.Forms.ComboBox();
|
||||
this.buttonEXPORT = new System.Windows.Forms.Button();
|
||||
this.buttonIMPORT = new System.Windows.Forms.Button();
|
||||
this.uvPictureBox = new PckStudio.PictureBoxWithInterpolationMode();
|
||||
this.uvPictureBox = new PckStudio.ToolboxItems.InterpolationPictureBox();
|
||||
this.buttonImportModel = new System.Windows.Forms.Button();
|
||||
this.displayBox = new System.Windows.Forms.PictureBox();
|
||||
this.buttonExportModel = new System.Windows.Forms.Button();
|
||||
@@ -629,7 +629,7 @@
|
||||
private System.Windows.Forms.Button buttonExportModel;
|
||||
private System.Windows.Forms.PictureBox displayBox;
|
||||
private System.Windows.Forms.Button buttonImportModel;
|
||||
private PckStudio.PictureBoxWithInterpolationMode uvPictureBox;
|
||||
private PckStudio.ToolboxItems.InterpolationPictureBox uvPictureBox;
|
||||
private System.Windows.Forms.Button buttonIMPORT;
|
||||
private System.Windows.Forms.Button buttonEXPORT;
|
||||
private System.Windows.Forms.ComboBox comboParent;
|
||||
|
||||
@@ -18,7 +18,7 @@ using System.Runtime.CompilerServices;
|
||||
using System.Diagnostics;
|
||||
using System.Text;
|
||||
|
||||
namespace PckStudio
|
||||
namespace PckStudio.Forms
|
||||
{
|
||||
[Obsolete]
|
||||
public partial class generateModel : MetroForm
|
||||
|
||||
635
PCK-Studio/Forms/Utilities/PCK Manager.Designer.cs
generated
635
PCK-Studio/Forms/Utilities/PCK Manager.Designer.cs
generated
@@ -1,635 +0,0 @@
|
||||
namespace PckStudio.Forms
|
||||
{
|
||||
partial class PCK_Manager
|
||||
{
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region Windows Form Designer generated code
|
||||
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.components = new System.ComponentModel.Container();
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(PCK_Manager));
|
||||
this.metroButton1 = new MetroFramework.Controls.MetroButton();
|
||||
this.metroTextBox1 = new MetroFramework.Controls.MetroTextBox();
|
||||
this.metroLabel1 = new MetroFramework.Controls.MetroLabel();
|
||||
this.metroButton2 = new MetroFramework.Controls.MetroButton();
|
||||
this.metroPanel1 = new MetroFramework.Controls.MetroPanel();
|
||||
this.metroLabel7 = new MetroFramework.Controls.MetroLabel();
|
||||
this.metroTextBox7 = new MetroFramework.Controls.MetroTextBox();
|
||||
this.metroLabel6 = new MetroFramework.Controls.MetroLabel();
|
||||
this.metroTextBox6 = new MetroFramework.Controls.MetroTextBox();
|
||||
this.metroButton5 = new MetroFramework.Controls.MetroButton();
|
||||
this.metroLabel5 = new MetroFramework.Controls.MetroLabel();
|
||||
this.metroLabel4 = new MetroFramework.Controls.MetroLabel();
|
||||
this.metroLabel3 = new MetroFramework.Controls.MetroLabel();
|
||||
this.metroLabel2 = new MetroFramework.Controls.MetroLabel();
|
||||
this.metroButton4 = new MetroFramework.Controls.MetroButton();
|
||||
this.metroButton3 = new MetroFramework.Controls.MetroButton();
|
||||
this.metroTextBox5 = new MetroFramework.Controls.MetroTextBox();
|
||||
this.metroTextBox4 = new MetroFramework.Controls.MetroTextBox();
|
||||
this.metroTextBox3 = new MetroFramework.Controls.MetroTextBox();
|
||||
this.metroTextBox2 = new MetroFramework.Controls.MetroTextBox();
|
||||
this.dataGridView1 = new System.Windows.Forms.DataGridView();
|
||||
this.FileName = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.DownloadUrl = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.Author = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.Desc = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components);
|
||||
this.removeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.metroComboBox1 = new MetroFramework.Controls.MetroComboBox();
|
||||
this.metroButton6 = new MetroFramework.Controls.MetroButton();
|
||||
this.metroPanel1.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).BeginInit();
|
||||
this.contextMenuStrip1.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// metroButton1
|
||||
//
|
||||
resources.ApplyResources(this.metroButton1, "metroButton1");
|
||||
this.metroButton1.Name = "metroButton1";
|
||||
this.metroButton1.Theme = MetroFramework.MetroThemeStyle.Dark;
|
||||
this.metroButton1.UseSelectable = true;
|
||||
this.metroButton1.Click += new System.EventHandler(this.metroButton1_Click);
|
||||
//
|
||||
// metroTextBox1
|
||||
//
|
||||
resources.ApplyResources(this.metroTextBox1, "metroTextBox1");
|
||||
//
|
||||
//
|
||||
//
|
||||
this.metroTextBox1.CustomButton.AccessibleDescription = resources.GetString("resource.AccessibleDescription");
|
||||
this.metroTextBox1.CustomButton.AccessibleName = resources.GetString("resource.AccessibleName");
|
||||
this.metroTextBox1.CustomButton.Anchor = ((System.Windows.Forms.AnchorStyles)(resources.GetObject("resource.Anchor")));
|
||||
this.metroTextBox1.CustomButton.AutoSize = ((bool)(resources.GetObject("resource.AutoSize")));
|
||||
this.metroTextBox1.CustomButton.AutoSizeMode = ((System.Windows.Forms.AutoSizeMode)(resources.GetObject("resource.AutoSizeMode")));
|
||||
this.metroTextBox1.CustomButton.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("resource.BackgroundImage")));
|
||||
this.metroTextBox1.CustomButton.BackgroundImageLayout = ((System.Windows.Forms.ImageLayout)(resources.GetObject("resource.BackgroundImageLayout")));
|
||||
this.metroTextBox1.CustomButton.Dock = ((System.Windows.Forms.DockStyle)(resources.GetObject("resource.Dock")));
|
||||
this.metroTextBox1.CustomButton.FlatStyle = ((System.Windows.Forms.FlatStyle)(resources.GetObject("resource.FlatStyle")));
|
||||
this.metroTextBox1.CustomButton.Font = ((System.Drawing.Font)(resources.GetObject("resource.Font")));
|
||||
this.metroTextBox1.CustomButton.Image = ((System.Drawing.Image)(resources.GetObject("resource.Image")));
|
||||
this.metroTextBox1.CustomButton.ImageAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("resource.ImageAlign")));
|
||||
this.metroTextBox1.CustomButton.ImageIndex = ((int)(resources.GetObject("resource.ImageIndex")));
|
||||
this.metroTextBox1.CustomButton.ImageKey = resources.GetString("resource.ImageKey");
|
||||
this.metroTextBox1.CustomButton.ImeMode = ((System.Windows.Forms.ImeMode)(resources.GetObject("resource.ImeMode")));
|
||||
this.metroTextBox1.CustomButton.Location = ((System.Drawing.Point)(resources.GetObject("resource.Location")));
|
||||
this.metroTextBox1.CustomButton.MaximumSize = ((System.Drawing.Size)(resources.GetObject("resource.MaximumSize")));
|
||||
this.metroTextBox1.CustomButton.Name = "";
|
||||
this.metroTextBox1.CustomButton.RightToLeft = ((System.Windows.Forms.RightToLeft)(resources.GetObject("resource.RightToLeft")));
|
||||
this.metroTextBox1.CustomButton.Size = ((System.Drawing.Size)(resources.GetObject("resource.Size")));
|
||||
this.metroTextBox1.CustomButton.Style = MetroFramework.MetroColorStyle.Blue;
|
||||
this.metroTextBox1.CustomButton.TabIndex = ((int)(resources.GetObject("resource.TabIndex")));
|
||||
this.metroTextBox1.CustomButton.TextAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("resource.TextAlign")));
|
||||
this.metroTextBox1.CustomButton.TextImageRelation = ((System.Windows.Forms.TextImageRelation)(resources.GetObject("resource.TextImageRelation")));
|
||||
this.metroTextBox1.CustomButton.Theme = MetroFramework.MetroThemeStyle.Light;
|
||||
this.metroTextBox1.CustomButton.UseSelectable = true;
|
||||
this.metroTextBox1.CustomButton.Visible = ((bool)(resources.GetObject("resource.Visible")));
|
||||
this.metroTextBox1.Lines = new string[0];
|
||||
this.metroTextBox1.MaxLength = 32767;
|
||||
this.metroTextBox1.Name = "metroTextBox1";
|
||||
this.metroTextBox1.PasswordChar = '\0';
|
||||
this.metroTextBox1.ScrollBars = System.Windows.Forms.ScrollBars.None;
|
||||
this.metroTextBox1.SelectedText = "";
|
||||
this.metroTextBox1.SelectionLength = 0;
|
||||
this.metroTextBox1.SelectionStart = 0;
|
||||
this.metroTextBox1.ShortcutsEnabled = true;
|
||||
this.metroTextBox1.Theme = MetroFramework.MetroThemeStyle.Dark;
|
||||
this.metroTextBox1.UseSelectable = true;
|
||||
this.metroTextBox1.WaterMarkColor = System.Drawing.Color.FromArgb(((int)(((byte)(109)))), ((int)(((byte)(109)))), ((int)(((byte)(109)))));
|
||||
this.metroTextBox1.WaterMarkFont = new System.Drawing.Font("Segoe UI", 12F, System.Drawing.FontStyle.Italic, System.Drawing.GraphicsUnit.Pixel);
|
||||
//
|
||||
// metroLabel1
|
||||
//
|
||||
resources.ApplyResources(this.metroLabel1, "metroLabel1");
|
||||
this.metroLabel1.Name = "metroLabel1";
|
||||
this.metroLabel1.Theme = MetroFramework.MetroThemeStyle.Dark;
|
||||
//
|
||||
// metroButton2
|
||||
//
|
||||
resources.ApplyResources(this.metroButton2, "metroButton2");
|
||||
this.metroButton2.Name = "metroButton2";
|
||||
this.metroButton2.Theme = MetroFramework.MetroThemeStyle.Dark;
|
||||
this.metroButton2.UseSelectable = true;
|
||||
this.metroButton2.Click += new System.EventHandler(this.metroButton2_Click);
|
||||
//
|
||||
// metroPanel1
|
||||
//
|
||||
resources.ApplyResources(this.metroPanel1, "metroPanel1");
|
||||
this.metroPanel1.Controls.Add(this.metroLabel7);
|
||||
this.metroPanel1.Controls.Add(this.metroTextBox7);
|
||||
this.metroPanel1.Controls.Add(this.metroLabel6);
|
||||
this.metroPanel1.Controls.Add(this.metroTextBox6);
|
||||
this.metroPanel1.Controls.Add(this.metroButton5);
|
||||
this.metroPanel1.Controls.Add(this.metroLabel5);
|
||||
this.metroPanel1.Controls.Add(this.metroLabel4);
|
||||
this.metroPanel1.Controls.Add(this.metroLabel3);
|
||||
this.metroPanel1.Controls.Add(this.metroLabel2);
|
||||
this.metroPanel1.Controls.Add(this.metroButton4);
|
||||
this.metroPanel1.Controls.Add(this.metroButton3);
|
||||
this.metroPanel1.Controls.Add(this.metroTextBox5);
|
||||
this.metroPanel1.Controls.Add(this.metroTextBox4);
|
||||
this.metroPanel1.Controls.Add(this.metroTextBox3);
|
||||
this.metroPanel1.Controls.Add(this.metroTextBox2);
|
||||
this.metroPanel1.Controls.Add(this.dataGridView1);
|
||||
this.metroPanel1.HorizontalScrollbarBarColor = true;
|
||||
this.metroPanel1.HorizontalScrollbarHighlightOnWheel = false;
|
||||
this.metroPanel1.HorizontalScrollbarSize = 10;
|
||||
this.metroPanel1.Name = "metroPanel1";
|
||||
this.metroPanel1.Theme = MetroFramework.MetroThemeStyle.Dark;
|
||||
this.metroPanel1.VerticalScrollbarBarColor = true;
|
||||
this.metroPanel1.VerticalScrollbarHighlightOnWheel = false;
|
||||
this.metroPanel1.VerticalScrollbarSize = 10;
|
||||
//
|
||||
// metroLabel7
|
||||
//
|
||||
resources.ApplyResources(this.metroLabel7, "metroLabel7");
|
||||
this.metroLabel7.Name = "metroLabel7";
|
||||
this.metroLabel7.Theme = MetroFramework.MetroThemeStyle.Dark;
|
||||
//
|
||||
// metroTextBox7
|
||||
//
|
||||
resources.ApplyResources(this.metroTextBox7, "metroTextBox7");
|
||||
//
|
||||
//
|
||||
//
|
||||
this.metroTextBox7.CustomButton.AccessibleDescription = resources.GetString("resource.AccessibleDescription1");
|
||||
this.metroTextBox7.CustomButton.AccessibleName = resources.GetString("resource.AccessibleName1");
|
||||
this.metroTextBox7.CustomButton.Anchor = ((System.Windows.Forms.AnchorStyles)(resources.GetObject("resource.Anchor1")));
|
||||
this.metroTextBox7.CustomButton.AutoSize = ((bool)(resources.GetObject("resource.AutoSize1")));
|
||||
this.metroTextBox7.CustomButton.AutoSizeMode = ((System.Windows.Forms.AutoSizeMode)(resources.GetObject("resource.AutoSizeMode1")));
|
||||
this.metroTextBox7.CustomButton.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("resource.BackgroundImage1")));
|
||||
this.metroTextBox7.CustomButton.BackgroundImageLayout = ((System.Windows.Forms.ImageLayout)(resources.GetObject("resource.BackgroundImageLayout1")));
|
||||
this.metroTextBox7.CustomButton.Dock = ((System.Windows.Forms.DockStyle)(resources.GetObject("resource.Dock1")));
|
||||
this.metroTextBox7.CustomButton.FlatStyle = ((System.Windows.Forms.FlatStyle)(resources.GetObject("resource.FlatStyle1")));
|
||||
this.metroTextBox7.CustomButton.Font = ((System.Drawing.Font)(resources.GetObject("resource.Font1")));
|
||||
this.metroTextBox7.CustomButton.Image = ((System.Drawing.Image)(resources.GetObject("resource.Image1")));
|
||||
this.metroTextBox7.CustomButton.ImageAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("resource.ImageAlign1")));
|
||||
this.metroTextBox7.CustomButton.ImageIndex = ((int)(resources.GetObject("resource.ImageIndex1")));
|
||||
this.metroTextBox7.CustomButton.ImageKey = resources.GetString("resource.ImageKey1");
|
||||
this.metroTextBox7.CustomButton.ImeMode = ((System.Windows.Forms.ImeMode)(resources.GetObject("resource.ImeMode1")));
|
||||
this.metroTextBox7.CustomButton.Location = ((System.Drawing.Point)(resources.GetObject("resource.Location1")));
|
||||
this.metroTextBox7.CustomButton.MaximumSize = ((System.Drawing.Size)(resources.GetObject("resource.MaximumSize1")));
|
||||
this.metroTextBox7.CustomButton.Name = "";
|
||||
this.metroTextBox7.CustomButton.RightToLeft = ((System.Windows.Forms.RightToLeft)(resources.GetObject("resource.RightToLeft1")));
|
||||
this.metroTextBox7.CustomButton.Size = ((System.Drawing.Size)(resources.GetObject("resource.Size1")));
|
||||
this.metroTextBox7.CustomButton.Style = MetroFramework.MetroColorStyle.Blue;
|
||||
this.metroTextBox7.CustomButton.TabIndex = ((int)(resources.GetObject("resource.TabIndex1")));
|
||||
this.metroTextBox7.CustomButton.TextAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("resource.TextAlign1")));
|
||||
this.metroTextBox7.CustomButton.TextImageRelation = ((System.Windows.Forms.TextImageRelation)(resources.GetObject("resource.TextImageRelation1")));
|
||||
this.metroTextBox7.CustomButton.Theme = MetroFramework.MetroThemeStyle.Light;
|
||||
this.metroTextBox7.CustomButton.UseSelectable = true;
|
||||
this.metroTextBox7.CustomButton.Visible = ((bool)(resources.GetObject("resource.Visible1")));
|
||||
this.metroTextBox7.Lines = new string[0];
|
||||
this.metroTextBox7.MaxLength = 32767;
|
||||
this.metroTextBox7.Multiline = true;
|
||||
this.metroTextBox7.Name = "metroTextBox7";
|
||||
this.metroTextBox7.PasswordChar = '\0';
|
||||
this.metroTextBox7.ScrollBars = System.Windows.Forms.ScrollBars.None;
|
||||
this.metroTextBox7.SelectedText = "";
|
||||
this.metroTextBox7.SelectionLength = 0;
|
||||
this.metroTextBox7.SelectionStart = 0;
|
||||
this.metroTextBox7.ShortcutsEnabled = true;
|
||||
this.metroTextBox7.Theme = MetroFramework.MetroThemeStyle.Dark;
|
||||
this.metroTextBox7.UseSelectable = true;
|
||||
this.metroTextBox7.WaterMarkColor = System.Drawing.Color.FromArgb(((int)(((byte)(109)))), ((int)(((byte)(109)))), ((int)(((byte)(109)))));
|
||||
this.metroTextBox7.WaterMarkFont = new System.Drawing.Font("Segoe UI", 12F, System.Drawing.FontStyle.Italic, System.Drawing.GraphicsUnit.Pixel);
|
||||
//
|
||||
// metroLabel6
|
||||
//
|
||||
resources.ApplyResources(this.metroLabel6, "metroLabel6");
|
||||
this.metroLabel6.Name = "metroLabel6";
|
||||
this.metroLabel6.Theme = MetroFramework.MetroThemeStyle.Dark;
|
||||
//
|
||||
// metroTextBox6
|
||||
//
|
||||
resources.ApplyResources(this.metroTextBox6, "metroTextBox6");
|
||||
//
|
||||
//
|
||||
//
|
||||
this.metroTextBox6.CustomButton.AccessibleDescription = resources.GetString("resource.AccessibleDescription2");
|
||||
this.metroTextBox6.CustomButton.AccessibleName = resources.GetString("resource.AccessibleName2");
|
||||
this.metroTextBox6.CustomButton.Anchor = ((System.Windows.Forms.AnchorStyles)(resources.GetObject("resource.Anchor2")));
|
||||
this.metroTextBox6.CustomButton.AutoSize = ((bool)(resources.GetObject("resource.AutoSize2")));
|
||||
this.metroTextBox6.CustomButton.AutoSizeMode = ((System.Windows.Forms.AutoSizeMode)(resources.GetObject("resource.AutoSizeMode2")));
|
||||
this.metroTextBox6.CustomButton.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("resource.BackgroundImage2")));
|
||||
this.metroTextBox6.CustomButton.BackgroundImageLayout = ((System.Windows.Forms.ImageLayout)(resources.GetObject("resource.BackgroundImageLayout2")));
|
||||
this.metroTextBox6.CustomButton.Dock = ((System.Windows.Forms.DockStyle)(resources.GetObject("resource.Dock2")));
|
||||
this.metroTextBox6.CustomButton.FlatStyle = ((System.Windows.Forms.FlatStyle)(resources.GetObject("resource.FlatStyle2")));
|
||||
this.metroTextBox6.CustomButton.Font = ((System.Drawing.Font)(resources.GetObject("resource.Font2")));
|
||||
this.metroTextBox6.CustomButton.Image = ((System.Drawing.Image)(resources.GetObject("resource.Image2")));
|
||||
this.metroTextBox6.CustomButton.ImageAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("resource.ImageAlign2")));
|
||||
this.metroTextBox6.CustomButton.ImageIndex = ((int)(resources.GetObject("resource.ImageIndex2")));
|
||||
this.metroTextBox6.CustomButton.ImageKey = resources.GetString("resource.ImageKey2");
|
||||
this.metroTextBox6.CustomButton.ImeMode = ((System.Windows.Forms.ImeMode)(resources.GetObject("resource.ImeMode2")));
|
||||
this.metroTextBox6.CustomButton.Location = ((System.Drawing.Point)(resources.GetObject("resource.Location2")));
|
||||
this.metroTextBox6.CustomButton.MaximumSize = ((System.Drawing.Size)(resources.GetObject("resource.MaximumSize2")));
|
||||
this.metroTextBox6.CustomButton.Name = "";
|
||||
this.metroTextBox6.CustomButton.RightToLeft = ((System.Windows.Forms.RightToLeft)(resources.GetObject("resource.RightToLeft2")));
|
||||
this.metroTextBox6.CustomButton.Size = ((System.Drawing.Size)(resources.GetObject("resource.Size2")));
|
||||
this.metroTextBox6.CustomButton.Style = MetroFramework.MetroColorStyle.Blue;
|
||||
this.metroTextBox6.CustomButton.TabIndex = ((int)(resources.GetObject("resource.TabIndex2")));
|
||||
this.metroTextBox6.CustomButton.TextAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("resource.TextAlign2")));
|
||||
this.metroTextBox6.CustomButton.TextImageRelation = ((System.Windows.Forms.TextImageRelation)(resources.GetObject("resource.TextImageRelation2")));
|
||||
this.metroTextBox6.CustomButton.Theme = MetroFramework.MetroThemeStyle.Light;
|
||||
this.metroTextBox6.CustomButton.UseSelectable = true;
|
||||
this.metroTextBox6.CustomButton.Visible = ((bool)(resources.GetObject("resource.Visible2")));
|
||||
this.metroTextBox6.Lines = new string[0];
|
||||
this.metroTextBox6.MaxLength = 32767;
|
||||
this.metroTextBox6.Name = "metroTextBox6";
|
||||
this.metroTextBox6.PasswordChar = '\0';
|
||||
this.metroTextBox6.ScrollBars = System.Windows.Forms.ScrollBars.None;
|
||||
this.metroTextBox6.SelectedText = "";
|
||||
this.metroTextBox6.SelectionLength = 0;
|
||||
this.metroTextBox6.SelectionStart = 0;
|
||||
this.metroTextBox6.ShortcutsEnabled = true;
|
||||
this.metroTextBox6.Theme = MetroFramework.MetroThemeStyle.Dark;
|
||||
this.metroTextBox6.UseSelectable = true;
|
||||
this.metroTextBox6.WaterMarkColor = System.Drawing.Color.FromArgb(((int)(((byte)(109)))), ((int)(((byte)(109)))), ((int)(((byte)(109)))));
|
||||
this.metroTextBox6.WaterMarkFont = new System.Drawing.Font("Segoe UI", 12F, System.Drawing.FontStyle.Italic, System.Drawing.GraphicsUnit.Pixel);
|
||||
//
|
||||
// metroButton5
|
||||
//
|
||||
resources.ApplyResources(this.metroButton5, "metroButton5");
|
||||
this.metroButton5.Name = "metroButton5";
|
||||
this.metroButton5.Theme = MetroFramework.MetroThemeStyle.Dark;
|
||||
this.metroButton5.UseSelectable = true;
|
||||
this.metroButton5.Click += new System.EventHandler(this.metroButton5_Click);
|
||||
//
|
||||
// metroLabel5
|
||||
//
|
||||
resources.ApplyResources(this.metroLabel5, "metroLabel5");
|
||||
this.metroLabel5.Name = "metroLabel5";
|
||||
this.metroLabel5.Theme = MetroFramework.MetroThemeStyle.Dark;
|
||||
//
|
||||
// metroLabel4
|
||||
//
|
||||
resources.ApplyResources(this.metroLabel4, "metroLabel4");
|
||||
this.metroLabel4.Name = "metroLabel4";
|
||||
this.metroLabel4.Theme = MetroFramework.MetroThemeStyle.Dark;
|
||||
//
|
||||
// metroLabel3
|
||||
//
|
||||
resources.ApplyResources(this.metroLabel3, "metroLabel3");
|
||||
this.metroLabel3.Name = "metroLabel3";
|
||||
this.metroLabel3.Theme = MetroFramework.MetroThemeStyle.Dark;
|
||||
//
|
||||
// metroLabel2
|
||||
//
|
||||
resources.ApplyResources(this.metroLabel2, "metroLabel2");
|
||||
this.metroLabel2.Name = "metroLabel2";
|
||||
this.metroLabel2.Theme = MetroFramework.MetroThemeStyle.Dark;
|
||||
//
|
||||
// metroButton4
|
||||
//
|
||||
resources.ApplyResources(this.metroButton4, "metroButton4");
|
||||
this.metroButton4.Name = "metroButton4";
|
||||
this.metroButton4.Theme = MetroFramework.MetroThemeStyle.Dark;
|
||||
this.metroButton4.UseSelectable = true;
|
||||
this.metroButton4.Click += new System.EventHandler(this.metroButton4_Click);
|
||||
//
|
||||
// metroButton3
|
||||
//
|
||||
resources.ApplyResources(this.metroButton3, "metroButton3");
|
||||
this.metroButton3.Name = "metroButton3";
|
||||
this.metroButton3.Theme = MetroFramework.MetroThemeStyle.Dark;
|
||||
this.metroButton3.UseSelectable = true;
|
||||
this.metroButton3.Click += new System.EventHandler(this.metroButton3_Click);
|
||||
//
|
||||
// metroTextBox5
|
||||
//
|
||||
resources.ApplyResources(this.metroTextBox5, "metroTextBox5");
|
||||
//
|
||||
//
|
||||
//
|
||||
this.metroTextBox5.CustomButton.AccessibleDescription = resources.GetString("resource.AccessibleDescription3");
|
||||
this.metroTextBox5.CustomButton.AccessibleName = resources.GetString("resource.AccessibleName3");
|
||||
this.metroTextBox5.CustomButton.Anchor = ((System.Windows.Forms.AnchorStyles)(resources.GetObject("resource.Anchor3")));
|
||||
this.metroTextBox5.CustomButton.AutoSize = ((bool)(resources.GetObject("resource.AutoSize3")));
|
||||
this.metroTextBox5.CustomButton.AutoSizeMode = ((System.Windows.Forms.AutoSizeMode)(resources.GetObject("resource.AutoSizeMode3")));
|
||||
this.metroTextBox5.CustomButton.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("resource.BackgroundImage3")));
|
||||
this.metroTextBox5.CustomButton.BackgroundImageLayout = ((System.Windows.Forms.ImageLayout)(resources.GetObject("resource.BackgroundImageLayout3")));
|
||||
this.metroTextBox5.CustomButton.Dock = ((System.Windows.Forms.DockStyle)(resources.GetObject("resource.Dock3")));
|
||||
this.metroTextBox5.CustomButton.FlatStyle = ((System.Windows.Forms.FlatStyle)(resources.GetObject("resource.FlatStyle3")));
|
||||
this.metroTextBox5.CustomButton.Font = ((System.Drawing.Font)(resources.GetObject("resource.Font3")));
|
||||
this.metroTextBox5.CustomButton.Image = ((System.Drawing.Image)(resources.GetObject("resource.Image3")));
|
||||
this.metroTextBox5.CustomButton.ImageAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("resource.ImageAlign3")));
|
||||
this.metroTextBox5.CustomButton.ImageIndex = ((int)(resources.GetObject("resource.ImageIndex3")));
|
||||
this.metroTextBox5.CustomButton.ImageKey = resources.GetString("resource.ImageKey3");
|
||||
this.metroTextBox5.CustomButton.ImeMode = ((System.Windows.Forms.ImeMode)(resources.GetObject("resource.ImeMode3")));
|
||||
this.metroTextBox5.CustomButton.Location = ((System.Drawing.Point)(resources.GetObject("resource.Location3")));
|
||||
this.metroTextBox5.CustomButton.MaximumSize = ((System.Drawing.Size)(resources.GetObject("resource.MaximumSize3")));
|
||||
this.metroTextBox5.CustomButton.Name = "";
|
||||
this.metroTextBox5.CustomButton.RightToLeft = ((System.Windows.Forms.RightToLeft)(resources.GetObject("resource.RightToLeft3")));
|
||||
this.metroTextBox5.CustomButton.Size = ((System.Drawing.Size)(resources.GetObject("resource.Size3")));
|
||||
this.metroTextBox5.CustomButton.Style = MetroFramework.MetroColorStyle.Blue;
|
||||
this.metroTextBox5.CustomButton.TabIndex = ((int)(resources.GetObject("resource.TabIndex3")));
|
||||
this.metroTextBox5.CustomButton.TextAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("resource.TextAlign3")));
|
||||
this.metroTextBox5.CustomButton.TextImageRelation = ((System.Windows.Forms.TextImageRelation)(resources.GetObject("resource.TextImageRelation3")));
|
||||
this.metroTextBox5.CustomButton.Theme = MetroFramework.MetroThemeStyle.Light;
|
||||
this.metroTextBox5.CustomButton.UseSelectable = true;
|
||||
this.metroTextBox5.CustomButton.Visible = ((bool)(resources.GetObject("resource.Visible3")));
|
||||
this.metroTextBox5.Lines = new string[0];
|
||||
this.metroTextBox5.MaxLength = 32767;
|
||||
this.metroTextBox5.Name = "metroTextBox5";
|
||||
this.metroTextBox5.PasswordChar = '\0';
|
||||
this.metroTextBox5.ScrollBars = System.Windows.Forms.ScrollBars.None;
|
||||
this.metroTextBox5.SelectedText = "";
|
||||
this.metroTextBox5.SelectionLength = 0;
|
||||
this.metroTextBox5.SelectionStart = 0;
|
||||
this.metroTextBox5.ShortcutsEnabled = true;
|
||||
this.metroTextBox5.Theme = MetroFramework.MetroThemeStyle.Dark;
|
||||
this.metroTextBox5.UseSelectable = true;
|
||||
this.metroTextBox5.WaterMarkColor = System.Drawing.Color.FromArgb(((int)(((byte)(109)))), ((int)(((byte)(109)))), ((int)(((byte)(109)))));
|
||||
this.metroTextBox5.WaterMarkFont = new System.Drawing.Font("Segoe UI", 12F, System.Drawing.FontStyle.Italic, System.Drawing.GraphicsUnit.Pixel);
|
||||
//
|
||||
// metroTextBox4
|
||||
//
|
||||
resources.ApplyResources(this.metroTextBox4, "metroTextBox4");
|
||||
//
|
||||
//
|
||||
//
|
||||
this.metroTextBox4.CustomButton.AccessibleDescription = resources.GetString("resource.AccessibleDescription4");
|
||||
this.metroTextBox4.CustomButton.AccessibleName = resources.GetString("resource.AccessibleName4");
|
||||
this.metroTextBox4.CustomButton.Anchor = ((System.Windows.Forms.AnchorStyles)(resources.GetObject("resource.Anchor4")));
|
||||
this.metroTextBox4.CustomButton.AutoSize = ((bool)(resources.GetObject("resource.AutoSize4")));
|
||||
this.metroTextBox4.CustomButton.AutoSizeMode = ((System.Windows.Forms.AutoSizeMode)(resources.GetObject("resource.AutoSizeMode4")));
|
||||
this.metroTextBox4.CustomButton.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("resource.BackgroundImage4")));
|
||||
this.metroTextBox4.CustomButton.BackgroundImageLayout = ((System.Windows.Forms.ImageLayout)(resources.GetObject("resource.BackgroundImageLayout4")));
|
||||
this.metroTextBox4.CustomButton.Dock = ((System.Windows.Forms.DockStyle)(resources.GetObject("resource.Dock4")));
|
||||
this.metroTextBox4.CustomButton.FlatStyle = ((System.Windows.Forms.FlatStyle)(resources.GetObject("resource.FlatStyle4")));
|
||||
this.metroTextBox4.CustomButton.Font = ((System.Drawing.Font)(resources.GetObject("resource.Font4")));
|
||||
this.metroTextBox4.CustomButton.Image = ((System.Drawing.Image)(resources.GetObject("resource.Image4")));
|
||||
this.metroTextBox4.CustomButton.ImageAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("resource.ImageAlign4")));
|
||||
this.metroTextBox4.CustomButton.ImageIndex = ((int)(resources.GetObject("resource.ImageIndex4")));
|
||||
this.metroTextBox4.CustomButton.ImageKey = resources.GetString("resource.ImageKey4");
|
||||
this.metroTextBox4.CustomButton.ImeMode = ((System.Windows.Forms.ImeMode)(resources.GetObject("resource.ImeMode4")));
|
||||
this.metroTextBox4.CustomButton.Location = ((System.Drawing.Point)(resources.GetObject("resource.Location4")));
|
||||
this.metroTextBox4.CustomButton.MaximumSize = ((System.Drawing.Size)(resources.GetObject("resource.MaximumSize4")));
|
||||
this.metroTextBox4.CustomButton.Name = "";
|
||||
this.metroTextBox4.CustomButton.RightToLeft = ((System.Windows.Forms.RightToLeft)(resources.GetObject("resource.RightToLeft4")));
|
||||
this.metroTextBox4.CustomButton.Size = ((System.Drawing.Size)(resources.GetObject("resource.Size4")));
|
||||
this.metroTextBox4.CustomButton.Style = MetroFramework.MetroColorStyle.Blue;
|
||||
this.metroTextBox4.CustomButton.TabIndex = ((int)(resources.GetObject("resource.TabIndex4")));
|
||||
this.metroTextBox4.CustomButton.TextAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("resource.TextAlign4")));
|
||||
this.metroTextBox4.CustomButton.TextImageRelation = ((System.Windows.Forms.TextImageRelation)(resources.GetObject("resource.TextImageRelation4")));
|
||||
this.metroTextBox4.CustomButton.Theme = MetroFramework.MetroThemeStyle.Light;
|
||||
this.metroTextBox4.CustomButton.UseSelectable = true;
|
||||
this.metroTextBox4.CustomButton.Visible = ((bool)(resources.GetObject("resource.Visible4")));
|
||||
this.metroTextBox4.Lines = new string[0];
|
||||
this.metroTextBox4.MaxLength = 32767;
|
||||
this.metroTextBox4.Name = "metroTextBox4";
|
||||
this.metroTextBox4.PasswordChar = '\0';
|
||||
this.metroTextBox4.ScrollBars = System.Windows.Forms.ScrollBars.None;
|
||||
this.metroTextBox4.SelectedText = "";
|
||||
this.metroTextBox4.SelectionLength = 0;
|
||||
this.metroTextBox4.SelectionStart = 0;
|
||||
this.metroTextBox4.ShortcutsEnabled = true;
|
||||
this.metroTextBox4.Theme = MetroFramework.MetroThemeStyle.Dark;
|
||||
this.metroTextBox4.UseSelectable = true;
|
||||
this.metroTextBox4.WaterMarkColor = System.Drawing.Color.FromArgb(((int)(((byte)(109)))), ((int)(((byte)(109)))), ((int)(((byte)(109)))));
|
||||
this.metroTextBox4.WaterMarkFont = new System.Drawing.Font("Segoe UI", 12F, System.Drawing.FontStyle.Italic, System.Drawing.GraphicsUnit.Pixel);
|
||||
//
|
||||
// metroTextBox3
|
||||
//
|
||||
resources.ApplyResources(this.metroTextBox3, "metroTextBox3");
|
||||
//
|
||||
//
|
||||
//
|
||||
this.metroTextBox3.CustomButton.AccessibleDescription = resources.GetString("resource.AccessibleDescription5");
|
||||
this.metroTextBox3.CustomButton.AccessibleName = resources.GetString("resource.AccessibleName5");
|
||||
this.metroTextBox3.CustomButton.Anchor = ((System.Windows.Forms.AnchorStyles)(resources.GetObject("resource.Anchor5")));
|
||||
this.metroTextBox3.CustomButton.AutoSize = ((bool)(resources.GetObject("resource.AutoSize5")));
|
||||
this.metroTextBox3.CustomButton.AutoSizeMode = ((System.Windows.Forms.AutoSizeMode)(resources.GetObject("resource.AutoSizeMode5")));
|
||||
this.metroTextBox3.CustomButton.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("resource.BackgroundImage5")));
|
||||
this.metroTextBox3.CustomButton.BackgroundImageLayout = ((System.Windows.Forms.ImageLayout)(resources.GetObject("resource.BackgroundImageLayout5")));
|
||||
this.metroTextBox3.CustomButton.Dock = ((System.Windows.Forms.DockStyle)(resources.GetObject("resource.Dock5")));
|
||||
this.metroTextBox3.CustomButton.FlatStyle = ((System.Windows.Forms.FlatStyle)(resources.GetObject("resource.FlatStyle5")));
|
||||
this.metroTextBox3.CustomButton.Font = ((System.Drawing.Font)(resources.GetObject("resource.Font5")));
|
||||
this.metroTextBox3.CustomButton.Image = ((System.Drawing.Image)(resources.GetObject("resource.Image5")));
|
||||
this.metroTextBox3.CustomButton.ImageAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("resource.ImageAlign5")));
|
||||
this.metroTextBox3.CustomButton.ImageIndex = ((int)(resources.GetObject("resource.ImageIndex5")));
|
||||
this.metroTextBox3.CustomButton.ImageKey = resources.GetString("resource.ImageKey5");
|
||||
this.metroTextBox3.CustomButton.ImeMode = ((System.Windows.Forms.ImeMode)(resources.GetObject("resource.ImeMode5")));
|
||||
this.metroTextBox3.CustomButton.Location = ((System.Drawing.Point)(resources.GetObject("resource.Location5")));
|
||||
this.metroTextBox3.CustomButton.MaximumSize = ((System.Drawing.Size)(resources.GetObject("resource.MaximumSize5")));
|
||||
this.metroTextBox3.CustomButton.Name = "";
|
||||
this.metroTextBox3.CustomButton.RightToLeft = ((System.Windows.Forms.RightToLeft)(resources.GetObject("resource.RightToLeft5")));
|
||||
this.metroTextBox3.CustomButton.Size = ((System.Drawing.Size)(resources.GetObject("resource.Size5")));
|
||||
this.metroTextBox3.CustomButton.Style = MetroFramework.MetroColorStyle.Blue;
|
||||
this.metroTextBox3.CustomButton.TabIndex = ((int)(resources.GetObject("resource.TabIndex5")));
|
||||
this.metroTextBox3.CustomButton.TextAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("resource.TextAlign5")));
|
||||
this.metroTextBox3.CustomButton.TextImageRelation = ((System.Windows.Forms.TextImageRelation)(resources.GetObject("resource.TextImageRelation5")));
|
||||
this.metroTextBox3.CustomButton.Theme = MetroFramework.MetroThemeStyle.Light;
|
||||
this.metroTextBox3.CustomButton.UseSelectable = true;
|
||||
this.metroTextBox3.CustomButton.Visible = ((bool)(resources.GetObject("resource.Visible5")));
|
||||
this.metroTextBox3.Lines = new string[0];
|
||||
this.metroTextBox3.MaxLength = 32767;
|
||||
this.metroTextBox3.Name = "metroTextBox3";
|
||||
this.metroTextBox3.PasswordChar = '\0';
|
||||
this.metroTextBox3.ScrollBars = System.Windows.Forms.ScrollBars.None;
|
||||
this.metroTextBox3.SelectedText = "";
|
||||
this.metroTextBox3.SelectionLength = 0;
|
||||
this.metroTextBox3.SelectionStart = 0;
|
||||
this.metroTextBox3.ShortcutsEnabled = true;
|
||||
this.metroTextBox3.Theme = MetroFramework.MetroThemeStyle.Dark;
|
||||
this.metroTextBox3.UseSelectable = true;
|
||||
this.metroTextBox3.WaterMarkColor = System.Drawing.Color.FromArgb(((int)(((byte)(109)))), ((int)(((byte)(109)))), ((int)(((byte)(109)))));
|
||||
this.metroTextBox3.WaterMarkFont = new System.Drawing.Font("Segoe UI", 12F, System.Drawing.FontStyle.Italic, System.Drawing.GraphicsUnit.Pixel);
|
||||
//
|
||||
// metroTextBox2
|
||||
//
|
||||
resources.ApplyResources(this.metroTextBox2, "metroTextBox2");
|
||||
//
|
||||
//
|
||||
//
|
||||
this.metroTextBox2.CustomButton.AccessibleDescription = resources.GetString("resource.AccessibleDescription6");
|
||||
this.metroTextBox2.CustomButton.AccessibleName = resources.GetString("resource.AccessibleName6");
|
||||
this.metroTextBox2.CustomButton.Anchor = ((System.Windows.Forms.AnchorStyles)(resources.GetObject("resource.Anchor6")));
|
||||
this.metroTextBox2.CustomButton.AutoSize = ((bool)(resources.GetObject("resource.AutoSize6")));
|
||||
this.metroTextBox2.CustomButton.AutoSizeMode = ((System.Windows.Forms.AutoSizeMode)(resources.GetObject("resource.AutoSizeMode6")));
|
||||
this.metroTextBox2.CustomButton.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("resource.BackgroundImage6")));
|
||||
this.metroTextBox2.CustomButton.BackgroundImageLayout = ((System.Windows.Forms.ImageLayout)(resources.GetObject("resource.BackgroundImageLayout6")));
|
||||
this.metroTextBox2.CustomButton.Dock = ((System.Windows.Forms.DockStyle)(resources.GetObject("resource.Dock6")));
|
||||
this.metroTextBox2.CustomButton.FlatStyle = ((System.Windows.Forms.FlatStyle)(resources.GetObject("resource.FlatStyle6")));
|
||||
this.metroTextBox2.CustomButton.Font = ((System.Drawing.Font)(resources.GetObject("resource.Font6")));
|
||||
this.metroTextBox2.CustomButton.Image = ((System.Drawing.Image)(resources.GetObject("resource.Image6")));
|
||||
this.metroTextBox2.CustomButton.ImageAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("resource.ImageAlign6")));
|
||||
this.metroTextBox2.CustomButton.ImageIndex = ((int)(resources.GetObject("resource.ImageIndex6")));
|
||||
this.metroTextBox2.CustomButton.ImageKey = resources.GetString("resource.ImageKey6");
|
||||
this.metroTextBox2.CustomButton.ImeMode = ((System.Windows.Forms.ImeMode)(resources.GetObject("resource.ImeMode6")));
|
||||
this.metroTextBox2.CustomButton.Location = ((System.Drawing.Point)(resources.GetObject("resource.Location6")));
|
||||
this.metroTextBox2.CustomButton.MaximumSize = ((System.Drawing.Size)(resources.GetObject("resource.MaximumSize6")));
|
||||
this.metroTextBox2.CustomButton.Name = "";
|
||||
this.metroTextBox2.CustomButton.RightToLeft = ((System.Windows.Forms.RightToLeft)(resources.GetObject("resource.RightToLeft6")));
|
||||
this.metroTextBox2.CustomButton.Size = ((System.Drawing.Size)(resources.GetObject("resource.Size6")));
|
||||
this.metroTextBox2.CustomButton.Style = MetroFramework.MetroColorStyle.Blue;
|
||||
this.metroTextBox2.CustomButton.TabIndex = ((int)(resources.GetObject("resource.TabIndex6")));
|
||||
this.metroTextBox2.CustomButton.TextAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("resource.TextAlign6")));
|
||||
this.metroTextBox2.CustomButton.TextImageRelation = ((System.Windows.Forms.TextImageRelation)(resources.GetObject("resource.TextImageRelation6")));
|
||||
this.metroTextBox2.CustomButton.Theme = MetroFramework.MetroThemeStyle.Light;
|
||||
this.metroTextBox2.CustomButton.UseSelectable = true;
|
||||
this.metroTextBox2.CustomButton.Visible = ((bool)(resources.GetObject("resource.Visible6")));
|
||||
this.metroTextBox2.Lines = new string[0];
|
||||
this.metroTextBox2.MaxLength = 32767;
|
||||
this.metroTextBox2.Name = "metroTextBox2";
|
||||
this.metroTextBox2.PasswordChar = '\0';
|
||||
this.metroTextBox2.ScrollBars = System.Windows.Forms.ScrollBars.None;
|
||||
this.metroTextBox2.SelectedText = "";
|
||||
this.metroTextBox2.SelectionLength = 0;
|
||||
this.metroTextBox2.SelectionStart = 0;
|
||||
this.metroTextBox2.ShortcutsEnabled = true;
|
||||
this.metroTextBox2.Theme = MetroFramework.MetroThemeStyle.Dark;
|
||||
this.metroTextBox2.UseSelectable = true;
|
||||
this.metroTextBox2.WaterMarkColor = System.Drawing.Color.FromArgb(((int)(((byte)(109)))), ((int)(((byte)(109)))), ((int)(((byte)(109)))));
|
||||
this.metroTextBox2.WaterMarkFont = new System.Drawing.Font("Segoe UI", 12F, System.Drawing.FontStyle.Italic, System.Drawing.GraphicsUnit.Pixel);
|
||||
//
|
||||
// dataGridView1
|
||||
//
|
||||
resources.ApplyResources(this.dataGridView1, "dataGridView1");
|
||||
this.dataGridView1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
|
||||
this.dataGridView1.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
|
||||
this.FileName,
|
||||
this.DownloadUrl,
|
||||
this.Author,
|
||||
this.Desc});
|
||||
this.dataGridView1.ContextMenuStrip = this.contextMenuStrip1;
|
||||
this.dataGridView1.Name = "dataGridView1";
|
||||
this.dataGridView1.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect;
|
||||
//
|
||||
// FileName
|
||||
//
|
||||
resources.ApplyResources(this.FileName, "FileName");
|
||||
this.FileName.Name = "FileName";
|
||||
this.FileName.ReadOnly = true;
|
||||
//
|
||||
// DownloadUrl
|
||||
//
|
||||
resources.ApplyResources(this.DownloadUrl, "DownloadUrl");
|
||||
this.DownloadUrl.Name = "DownloadUrl";
|
||||
this.DownloadUrl.ReadOnly = true;
|
||||
//
|
||||
// Author
|
||||
//
|
||||
resources.ApplyResources(this.Author, "Author");
|
||||
this.Author.Name = "Author";
|
||||
this.Author.ReadOnly = true;
|
||||
//
|
||||
// Desc
|
||||
//
|
||||
resources.ApplyResources(this.Desc, "Desc");
|
||||
this.Desc.Name = "Desc";
|
||||
this.Desc.ReadOnly = true;
|
||||
//
|
||||
// contextMenuStrip1
|
||||
//
|
||||
resources.ApplyResources(this.contextMenuStrip1, "contextMenuStrip1");
|
||||
this.contextMenuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.removeToolStripMenuItem});
|
||||
this.contextMenuStrip1.Name = "contextMenuStrip1";
|
||||
//
|
||||
// removeToolStripMenuItem
|
||||
//
|
||||
resources.ApplyResources(this.removeToolStripMenuItem, "removeToolStripMenuItem");
|
||||
this.removeToolStripMenuItem.Name = "removeToolStripMenuItem";
|
||||
this.removeToolStripMenuItem.Click += new System.EventHandler(this.removeToolStripMenuItem_Click);
|
||||
//
|
||||
// metroComboBox1
|
||||
//
|
||||
resources.ApplyResources(this.metroComboBox1, "metroComboBox1");
|
||||
this.metroComboBox1.FormattingEnabled = true;
|
||||
this.metroComboBox1.Items.AddRange(new object[] {
|
||||
resources.GetString("metroComboBox1.Items"),
|
||||
resources.GetString("metroComboBox1.Items1"),
|
||||
resources.GetString("metroComboBox1.Items2"),
|
||||
resources.GetString("metroComboBox1.Items3"),
|
||||
resources.GetString("metroComboBox1.Items4")});
|
||||
this.metroComboBox1.Name = "metroComboBox1";
|
||||
this.metroComboBox1.Theme = MetroFramework.MetroThemeStyle.Dark;
|
||||
this.metroComboBox1.UseSelectable = true;
|
||||
this.metroComboBox1.SelectedIndexChanged += new System.EventHandler(this.metroComboBox1_SelectedIndexChanged);
|
||||
//
|
||||
// metroButton6
|
||||
//
|
||||
resources.ApplyResources(this.metroButton6, "metroButton6");
|
||||
this.metroButton6.Name = "metroButton6";
|
||||
this.metroButton6.Theme = MetroFramework.MetroThemeStyle.Dark;
|
||||
this.metroButton6.UseSelectable = true;
|
||||
this.metroButton6.Click += new System.EventHandler(this.metroButton6_Click);
|
||||
//
|
||||
// PCK_Manager
|
||||
//
|
||||
resources.ApplyResources(this, "$this");
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.Controls.Add(this.metroButton6);
|
||||
this.Controls.Add(this.metroComboBox1);
|
||||
this.Controls.Add(this.metroPanel1);
|
||||
this.Controls.Add(this.metroButton2);
|
||||
this.Controls.Add(this.metroLabel1);
|
||||
this.Controls.Add(this.metroTextBox1);
|
||||
this.Controls.Add(this.metroButton1);
|
||||
this.Name = "PCK_Manager";
|
||||
this.Style = MetroFramework.MetroColorStyle.Silver;
|
||||
this.Theme = MetroFramework.MetroThemeStyle.Dark;
|
||||
this.metroPanel1.ResumeLayout(false);
|
||||
this.metroPanel1.PerformLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).EndInit();
|
||||
this.contextMenuStrip1.ResumeLayout(false);
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private MetroFramework.Controls.MetroButton metroButton1;
|
||||
private MetroFramework.Controls.MetroTextBox metroTextBox1;
|
||||
private MetroFramework.Controls.MetroLabel metroLabel1;
|
||||
private MetroFramework.Controls.MetroButton metroButton2;
|
||||
private MetroFramework.Controls.MetroPanel metroPanel1;
|
||||
private System.Windows.Forms.DataGridView dataGridView1;
|
||||
private MetroFramework.Controls.MetroLabel metroLabel5;
|
||||
private MetroFramework.Controls.MetroLabel metroLabel4;
|
||||
private MetroFramework.Controls.MetroLabel metroLabel3;
|
||||
private MetroFramework.Controls.MetroLabel metroLabel2;
|
||||
private MetroFramework.Controls.MetroButton metroButton4;
|
||||
private MetroFramework.Controls.MetroButton metroButton3;
|
||||
private MetroFramework.Controls.MetroTextBox metroTextBox5;
|
||||
private MetroFramework.Controls.MetroTextBox metroTextBox4;
|
||||
private MetroFramework.Controls.MetroTextBox metroTextBox3;
|
||||
private MetroFramework.Controls.MetroTextBox metroTextBox2;
|
||||
private MetroFramework.Controls.MetroButton metroButton5;
|
||||
private System.Windows.Forms.ContextMenuStrip contextMenuStrip1;
|
||||
private System.Windows.Forms.ToolStripMenuItem removeToolStripMenuItem;
|
||||
private MetroFramework.Controls.MetroComboBox metroComboBox1;
|
||||
private MetroFramework.Controls.MetroLabel metroLabel7;
|
||||
private MetroFramework.Controls.MetroTextBox metroTextBox7;
|
||||
private MetroFramework.Controls.MetroLabel metroLabel6;
|
||||
private MetroFramework.Controls.MetroTextBox metroTextBox6;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn FileName;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn DownloadUrl;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn Author;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn Desc;
|
||||
private MetroFramework.Controls.MetroButton metroButton6;
|
||||
}
|
||||
}
|
||||
@@ -1,156 +0,0 @@
|
||||
using System;
|
||||
using System.IO;
|
||||
using System.Windows.Forms;
|
||||
using MetroFramework.Forms;
|
||||
|
||||
namespace PckStudio.Forms
|
||||
{
|
||||
[Obsolete("For what is this thing used?")]
|
||||
public partial class PCK_Manager : MetroForm
|
||||
{
|
||||
public PCK_Manager()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
private void metroButton5_Click(object sender, EventArgs e)
|
||||
{
|
||||
string nom = metroTextBox2.Text;
|
||||
string pckurl = metroTextBox3.Text;
|
||||
string pckimg = metroTextBox4.Text;
|
||||
string DLUrl = metroTextBox5.Text;
|
||||
string auth = metroTextBox6.Text;
|
||||
string desc = metroTextBox7.Text.Replace("\n","\\n");
|
||||
|
||||
dataGridView1.Rows.Add(nom, DLUrl, auth, desc);
|
||||
}
|
||||
|
||||
private void removeToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
try
|
||||
{
|
||||
using (DataGridViewRow dr = dataGridView1.SelectedRows[0])
|
||||
{
|
||||
if (dr.Cells[0].Value != null && dr.Cells[1].Value != null)
|
||||
{
|
||||
dataGridView1.Rows.Remove(dr);
|
||||
string filenom = (dr.Cells[0].Value.ToString()).Replace(" ", "");
|
||||
File.Delete(metroTextBox1.Text + "\\mod\\pcks\\" + filenom + ".pck");
|
||||
File.Delete(metroTextBox1.Text + "\\mod\\pcks\\" + filenom + ".png");
|
||||
File.Delete(metroTextBox1.Text + "\\mod\\pcks\\" + filenom + ".desc");
|
||||
File.WriteAllText(metroTextBox1.Text + "\\" + metroComboBox1.SelectedItem.ToString() + ".txt", File.ReadAllText(metroTextBox1.Text + "\\" + metroComboBox1.SelectedItem.ToString() + ".txt").Replace("\n" + filenom, ""));
|
||||
File.WriteAllText(metroTextBox1.Text + "\\" + metroComboBox1.SelectedItem.ToString() + ".txt", File.ReadAllText(metroTextBox1.Text + "\\" + metroComboBox1.SelectedItem.ToString() + ".txt").Replace(filenom, ""));
|
||||
}
|
||||
}
|
||||
}
|
||||
catch
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
private void metroButton2_Click(object sender, EventArgs e)
|
||||
{
|
||||
try
|
||||
{
|
||||
if (!File.Exists(metroTextBox1.Text + "\\" + metroComboBox1.Text + ".txt"))
|
||||
{
|
||||
File.Create(metroTextBox1.Text + "\\" + metroComboBox1.Text + ".txt");
|
||||
Directory.CreateDirectory(metroTextBox1.Text + "\\mod\\pcks");
|
||||
}
|
||||
|
||||
Console.WriteLine(metroTextBox1.Text + "\\" + metroComboBox1.SelectedItem.ToString() + ".txt");
|
||||
Console.WriteLine(metroTextBox1.Text + "\\" + metroComboBox1.Text + ".txt");
|
||||
string data = File.ReadAllText(metroTextBox1.Text + "\\" + metroComboBox1.SelectedItem.ToString() + ".txt");
|
||||
foreach(string pack in data.Split(new[] { "\n", "\r\n"}, StringSplitOptions.None))
|
||||
{
|
||||
if (!string.IsNullOrWhiteSpace(pack))
|
||||
{
|
||||
string loaded = File.ReadAllText(metroTextBox1.Text + "\\mod\\pcks\\" + pack + ".desc");
|
||||
string[] loadedx = loaded.Split(new[] { "\n", "\r\n" }, StringSplitOptions.None);
|
||||
|
||||
string nom = loadedx[0];
|
||||
string auth = loadedx[1];
|
||||
string desc = loadedx[2];
|
||||
string dlurl = loadedx[3];
|
||||
dataGridView1.Rows.Add(nom, dlurl, auth, desc);
|
||||
}
|
||||
}
|
||||
metroPanel1.Enabled = true;
|
||||
}
|
||||
catch
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
private void metroButton1_Click(object sender, EventArgs e)
|
||||
{
|
||||
FolderBrowserDialog fbd = new FolderBrowserDialog();
|
||||
if(fbd.ShowDialog() == DialogResult.OK)
|
||||
{
|
||||
dataGridView1.Rows.Clear();
|
||||
metroTextBox1.Text = fbd.SelectedPath;
|
||||
}
|
||||
}
|
||||
|
||||
private void metroButton3_Click(object sender, EventArgs e)
|
||||
{
|
||||
OpenFileDialog opd = new OpenFileDialog();
|
||||
opd.Filter = "PCK Files | *.pck";
|
||||
if (opd.ShowDialog() == DialogResult.OK)
|
||||
{
|
||||
metroTextBox5.Text = File.ReadAllText(Environment.CurrentDirectory + "\\settings.ini").Split(new[] { "\r\n", "\n" }, StringSplitOptions.None)[1] + "mod/pcks/" + metroTextBox2.Text.Replace(" ", "") + ".pck";
|
||||
metroTextBox3.Text = opd.FileName;
|
||||
File.Copy(opd.FileName, metroTextBox1.Text + "\\mod\\pcks\\" + metroTextBox2.Text.Replace(" ", "") + ".pck", true);
|
||||
}
|
||||
}
|
||||
|
||||
private void metroComboBox1_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
dataGridView1.Rows.Clear();
|
||||
}
|
||||
|
||||
private void metroButton6_Click(object sender, EventArgs e)
|
||||
{
|
||||
string listdata = "";
|
||||
foreach (DataGridViewRow dr in dataGridView1.Rows)
|
||||
{
|
||||
string descdat = "";
|
||||
try
|
||||
{
|
||||
if (dr.Cells[0] != null)
|
||||
//listdata += dr.Cells[0] + "\n";
|
||||
|
||||
if (dr.Cells[0].Value != null && dr.Cells[1].Value != null)
|
||||
{
|
||||
string contentValue1 = dr.Cells[0].Value.ToString();
|
||||
string contentValue2 = dr.Cells[1].Value.ToString();
|
||||
string contentValue3 = dr.Cells[2].Value.ToString();
|
||||
string contentValue4 = dr.Cells[3].Value.ToString();
|
||||
listdata += contentValue1.Replace(" ","");
|
||||
descdat = contentValue1 + "\n" + contentValue3 + "\n" + contentValue4 + "\n" + contentValue2 + "\nadline";
|
||||
File.WriteAllText((metroTextBox1.Text + "\\mod\\pcks\\" + contentValue1.Replace(" ", "") + ".desc"), descdat);
|
||||
}
|
||||
}
|
||||
catch
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
File.WriteAllText((metroTextBox1.Text + "\\" + metroComboBox1.SelectedItem.ToString() + ".txt"), listdata);
|
||||
}
|
||||
|
||||
private void metroButton4_Click(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
OpenFileDialog opd = new OpenFileDialog();
|
||||
opd.Filter = "PNG Files | *.png";
|
||||
if (opd.ShowDialog() == DialogResult.OK)
|
||||
{
|
||||
metroTextBox4.Text = opd.FileName;
|
||||
File.Copy(opd.FileName, metroTextBox1.Text + "\\mod\\pcks\\" + metroTextBox2.Text.Replace(" ", "") + ".png", true);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,227 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="metroButton1.Text" xml:space="preserve">
|
||||
<value>ブラウズ</value>
|
||||
</data>
|
||||
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||
<data name="resource.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||
<value>NoControl</value>
|
||||
</data>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="metroLabel1.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>130, 19</value>
|
||||
</data>
|
||||
<data name="metroLabel1.Text" xml:space="preserve">
|
||||
<value>ディレクトリの読み込み</value>
|
||||
</data>
|
||||
<data name="metroButton2.Text" xml:space="preserve">
|
||||
<value>負荷</value>
|
||||
</data>
|
||||
<data name="metroLabel7.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>78, 19</value>
|
||||
</data>
|
||||
<data name="metroLabel7.Text" xml:space="preserve">
|
||||
<value>パックの説明</value>
|
||||
</data>
|
||||
<data name="resource.ImeMode1" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||
<value>NoControl</value>
|
||||
</data>
|
||||
<data name="metroLabel6.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>81, 19</value>
|
||||
</data>
|
||||
<data name="metroLabel6.Text" xml:space="preserve">
|
||||
<value>パック作成者</value>
|
||||
</data>
|
||||
<data name="resource.ImeMode2" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||
<value>NoControl</value>
|
||||
</data>
|
||||
<data name="metroButton5.Text" xml:space="preserve">
|
||||
<value>追加</value>
|
||||
</data>
|
||||
<data name="metroLabel5.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>93, 19</value>
|
||||
</data>
|
||||
<data name="metroLabel5.Text" xml:space="preserve">
|
||||
<value>ダウンロードURL</value>
|
||||
</data>
|
||||
<data name="metroLabel4.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>61, 19</value>
|
||||
</data>
|
||||
<data name="metroLabel4.Text" xml:space="preserve">
|
||||
<value>PCK画像</value>
|
||||
</data>
|
||||
<data name="metroLabel3.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>71, 19</value>
|
||||
</data>
|
||||
<data name="metroLabel3.Text" xml:space="preserve">
|
||||
<value>PCKファイル</value>
|
||||
</data>
|
||||
<data name="metroLabel2.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>53, 19</value>
|
||||
</data>
|
||||
<data name="metroLabel2.Text" xml:space="preserve">
|
||||
<value>パック名</value>
|
||||
</data>
|
||||
<data name="metroButton4.Text" xml:space="preserve">
|
||||
<value>ブラウズ</value>
|
||||
</data>
|
||||
<data name="metroButton3.Text" xml:space="preserve">
|
||||
<value>ブラウズ</value>
|
||||
</data>
|
||||
<data name="resource.ImeMode3" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||
<value>NoControl</value>
|
||||
</data>
|
||||
<data name="resource.ImeMode4" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||
<value>NoControl</value>
|
||||
</data>
|
||||
<data name="resource.ImeMode5" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||
<value>NoControl</value>
|
||||
</data>
|
||||
<data name="resource.ImeMode6" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||
<value>NoControl</value>
|
||||
</data>
|
||||
<data name="FileName.HeaderText" xml:space="preserve">
|
||||
<value>パック名</value>
|
||||
</data>
|
||||
<data name="DownloadUrl.HeaderText" xml:space="preserve">
|
||||
<value>ダウンロードURL</value>
|
||||
</data>
|
||||
<data name="Author.HeaderText" xml:space="preserve">
|
||||
<value>著者</value>
|
||||
</data>
|
||||
<data name="Desc.HeaderText" xml:space="preserve">
|
||||
<value>説明</value>
|
||||
</data>
|
||||
<data name="removeToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>121, 22</value>
|
||||
</data>
|
||||
<data name="removeToolStripMenuItem.Text" xml:space="preserve">
|
||||
<value>削除する</value>
|
||||
</data>
|
||||
<data name="contextMenuStrip1.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>122, 26</value>
|
||||
</data>
|
||||
<data name="metroButton6.Text" xml:space="preserve">
|
||||
<value>セーブ</value>
|
||||
</data>
|
||||
<data name="$this.Text" xml:space="preserve">
|
||||
<value>PCKマネージャー</value>
|
||||
</data>
|
||||
</root>
|
||||
File diff suppressed because it is too large
Load Diff
156
PCK-Studio/Forms/Utilities/Pref.Designer.cs
generated
156
PCK-Studio/Forms/Utilities/Pref.Designer.cs
generated
@@ -1,156 +0,0 @@
|
||||
namespace PckStudio.Forms
|
||||
{
|
||||
partial class Pref
|
||||
{
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region Windows Form Designer generated code
|
||||
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Pref));
|
||||
MetroFramework.Controls.MetroLabel metroLabel1;
|
||||
MetroFramework.Controls.MetroLabel metroLabel2;
|
||||
this.buttonClose = new System.Windows.Forms.Button();
|
||||
this.buttonSave = new System.Windows.Forms.Button();
|
||||
this.webServerTextBox = new MetroFramework.Controls.MetroTextBox();
|
||||
this.pckWebServerTextBox = new MetroFramework.Controls.MetroTextBox();
|
||||
metroLabel1 = new MetroFramework.Controls.MetroLabel();
|
||||
metroLabel2 = new MetroFramework.Controls.MetroLabel();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// buttonClose
|
||||
//
|
||||
this.buttonClose.BackColor = System.Drawing.Color.Transparent;
|
||||
resources.ApplyResources(this.buttonClose, "buttonClose");
|
||||
this.buttonClose.ForeColor = System.Drawing.Color.White;
|
||||
this.buttonClose.Name = "buttonClose";
|
||||
this.buttonClose.UseVisualStyleBackColor = false;
|
||||
//
|
||||
// buttonSave
|
||||
//
|
||||
this.buttonSave.BackColor = System.Drawing.Color.Purple;
|
||||
resources.ApplyResources(this.buttonSave, "buttonSave");
|
||||
this.buttonSave.ForeColor = System.Drawing.Color.White;
|
||||
this.buttonSave.Name = "buttonSave";
|
||||
this.buttonSave.UseVisualStyleBackColor = false;
|
||||
this.buttonSave.Click += new System.EventHandler(this.buttonSave_Click);
|
||||
//
|
||||
// webServerTextBox
|
||||
//
|
||||
//
|
||||
//
|
||||
//
|
||||
this.webServerTextBox.CustomButton.Image = ((System.Drawing.Image)(resources.GetObject("resource.Image")));
|
||||
this.webServerTextBox.CustomButton.ImeMode = ((System.Windows.Forms.ImeMode)(resources.GetObject("resource.ImeMode")));
|
||||
this.webServerTextBox.CustomButton.Location = ((System.Drawing.Point)(resources.GetObject("resource.Location")));
|
||||
this.webServerTextBox.CustomButton.Name = "";
|
||||
this.webServerTextBox.CustomButton.Size = ((System.Drawing.Size)(resources.GetObject("resource.Size")));
|
||||
this.webServerTextBox.CustomButton.Style = MetroFramework.MetroColorStyle.Blue;
|
||||
this.webServerTextBox.CustomButton.TabIndex = ((int)(resources.GetObject("resource.TabIndex")));
|
||||
this.webServerTextBox.CustomButton.Theme = MetroFramework.MetroThemeStyle.Light;
|
||||
this.webServerTextBox.CustomButton.UseSelectable = true;
|
||||
this.webServerTextBox.CustomButton.Visible = ((bool)(resources.GetObject("resource.Visible")));
|
||||
this.webServerTextBox.Lines = new string[0];
|
||||
resources.ApplyResources(this.webServerTextBox, "webServerTextBox");
|
||||
this.webServerTextBox.MaxLength = 32767;
|
||||
this.webServerTextBox.Name = "webServerTextBox";
|
||||
this.webServerTextBox.PasswordChar = '\0';
|
||||
this.webServerTextBox.ScrollBars = System.Windows.Forms.ScrollBars.None;
|
||||
this.webServerTextBox.SelectedText = "";
|
||||
this.webServerTextBox.SelectionLength = 0;
|
||||
this.webServerTextBox.SelectionStart = 0;
|
||||
this.webServerTextBox.ShortcutsEnabled = true;
|
||||
this.webServerTextBox.Theme = MetroFramework.MetroThemeStyle.Dark;
|
||||
this.webServerTextBox.UseSelectable = true;
|
||||
this.webServerTextBox.WaterMarkColor = System.Drawing.Color.FromArgb(((int)(((byte)(109)))), ((int)(((byte)(109)))), ((int)(((byte)(109)))));
|
||||
this.webServerTextBox.WaterMarkFont = new System.Drawing.Font("Segoe UI", 12F, System.Drawing.FontStyle.Italic, System.Drawing.GraphicsUnit.Pixel);
|
||||
//
|
||||
// metroLabel1
|
||||
//
|
||||
resources.ApplyResources(metroLabel1, "metroLabel1");
|
||||
metroLabel1.Name = "metroLabel1";
|
||||
metroLabel1.Theme = MetroFramework.MetroThemeStyle.Dark;
|
||||
//
|
||||
// metroLabel2
|
||||
//
|
||||
resources.ApplyResources(metroLabel2, "metroLabel2");
|
||||
metroLabel2.Name = "metroLabel2";
|
||||
metroLabel2.Theme = MetroFramework.MetroThemeStyle.Dark;
|
||||
//
|
||||
// pckWebServerTextBox
|
||||
//
|
||||
//
|
||||
//
|
||||
//
|
||||
this.pckWebServerTextBox.CustomButton.Image = ((System.Drawing.Image)(resources.GetObject("resource.Image1")));
|
||||
this.pckWebServerTextBox.CustomButton.ImeMode = ((System.Windows.Forms.ImeMode)(resources.GetObject("resource.ImeMode1")));
|
||||
this.pckWebServerTextBox.CustomButton.Location = ((System.Drawing.Point)(resources.GetObject("resource.Location1")));
|
||||
this.pckWebServerTextBox.CustomButton.Name = "";
|
||||
this.pckWebServerTextBox.CustomButton.Size = ((System.Drawing.Size)(resources.GetObject("resource.Size1")));
|
||||
this.pckWebServerTextBox.CustomButton.Style = MetroFramework.MetroColorStyle.Blue;
|
||||
this.pckWebServerTextBox.CustomButton.TabIndex = ((int)(resources.GetObject("resource.TabIndex1")));
|
||||
this.pckWebServerTextBox.CustomButton.Theme = MetroFramework.MetroThemeStyle.Light;
|
||||
this.pckWebServerTextBox.CustomButton.UseSelectable = true;
|
||||
this.pckWebServerTextBox.CustomButton.Visible = ((bool)(resources.GetObject("resource.Visible1")));
|
||||
this.pckWebServerTextBox.Lines = new string[0];
|
||||
resources.ApplyResources(this.pckWebServerTextBox, "pckWebServerTextBox");
|
||||
this.pckWebServerTextBox.MaxLength = 32767;
|
||||
this.pckWebServerTextBox.Name = "pckWebServerTextBox";
|
||||
this.pckWebServerTextBox.PasswordChar = '\0';
|
||||
this.pckWebServerTextBox.ScrollBars = System.Windows.Forms.ScrollBars.None;
|
||||
this.pckWebServerTextBox.SelectedText = "";
|
||||
this.pckWebServerTextBox.SelectionLength = 0;
|
||||
this.pckWebServerTextBox.SelectionStart = 0;
|
||||
this.pckWebServerTextBox.ShortcutsEnabled = true;
|
||||
this.pckWebServerTextBox.Theme = MetroFramework.MetroThemeStyle.Dark;
|
||||
this.pckWebServerTextBox.UseSelectable = true;
|
||||
this.pckWebServerTextBox.WaterMarkColor = System.Drawing.Color.FromArgb(((int)(((byte)(109)))), ((int)(((byte)(109)))), ((int)(((byte)(109)))));
|
||||
this.pckWebServerTextBox.WaterMarkFont = new System.Drawing.Font("Segoe UI", 12F, System.Drawing.FontStyle.Italic, System.Drawing.GraphicsUnit.Pixel);
|
||||
//
|
||||
// Pref
|
||||
//
|
||||
resources.ApplyResources(this, "$this");
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.Controls.Add(metroLabel2);
|
||||
this.Controls.Add(this.pckWebServerTextBox);
|
||||
this.Controls.Add(metroLabel1);
|
||||
this.Controls.Add(this.webServerTextBox);
|
||||
this.Controls.Add(this.buttonClose);
|
||||
this.Controls.Add(this.buttonSave);
|
||||
this.Name = "Pref";
|
||||
this.Style = MetroFramework.MetroColorStyle.Silver;
|
||||
this.Theme = MetroFramework.MetroThemeStyle.Dark;
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.Button buttonClose;
|
||||
private System.Windows.Forms.Button buttonSave;
|
||||
private MetroFramework.Controls.MetroTextBox webServerTextBox;
|
||||
private MetroFramework.Controls.MetroTextBox pckWebServerTextBox;
|
||||
}
|
||||
}
|
||||
@@ -1,27 +0,0 @@
|
||||
using System;
|
||||
using System.IO;
|
||||
using MetroFramework.Forms;
|
||||
|
||||
namespace PckStudio.Forms
|
||||
{
|
||||
[Obsolete]
|
||||
public partial class Pref : MetroForm
|
||||
{
|
||||
public Pref()
|
||||
{
|
||||
InitializeComponent();
|
||||
if (File.Exists(Environment.CurrentDirectory + "\\settings.ini"))
|
||||
{
|
||||
|
||||
string[] settings = File.ReadAllText(Environment.CurrentDirectory + "\\settings.ini").Split(new[] { "\r\n", "\n" }, StringSplitOptions.None);
|
||||
webServerTextBox.Text = settings[0];
|
||||
pckWebServerTextBox.Text = settings[1];
|
||||
}
|
||||
}
|
||||
|
||||
private void buttonSave_Click(object sender, EventArgs e)
|
||||
{
|
||||
File.WriteAllText(Environment.CurrentDirectory + "\\settings.ini", webServerTextBox.Text + "\n" + pckWebServerTextBox.Text);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,149 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="buttonClose.Text" xml:space="preserve">
|
||||
<value>閉じる</value>
|
||||
</data>
|
||||
<data name="buttonDonate.Text" xml:space="preserve">
|
||||
<value>セーブ</value>
|
||||
</data>
|
||||
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||
<data name="resource.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||
<value>NoControl</value>
|
||||
</data>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="metroLabel1.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>81, 19</value>
|
||||
</data>
|
||||
<data name="metroLabel1.Text" xml:space="preserve">
|
||||
<value>Webサーバー</value>
|
||||
</data>
|
||||
<data name="metroLabel2.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>167, 19</value>
|
||||
</data>
|
||||
<data name="metroLabel2.Text" xml:space="preserve">
|
||||
<value>PCKホスティングWebサーバー</value>
|
||||
</data>
|
||||
<data name="resource.ImeMode1" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||
<value>NoControl</value>
|
||||
</data>
|
||||
<data name="$this.Text" xml:space="preserve">
|
||||
<value>環境設定</value>
|
||||
</data>
|
||||
</root>
|
||||
@@ -1,339 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||
<data name="buttonClose.FlatStyle" type="System.Windows.Forms.FlatStyle, System.Windows.Forms">
|
||||
<value>Flat</value>
|
||||
</data>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="buttonClose.Font" type="System.Drawing.Font, System.Drawing">
|
||||
<value>Segoe UI, 12pt</value>
|
||||
</data>
|
||||
<data name="buttonClose.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>218, 185</value>
|
||||
</data>
|
||||
<data name="buttonClose.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>192, 38</value>
|
||||
</data>
|
||||
<assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||
<data name="buttonClose.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>6</value>
|
||||
</data>
|
||||
<data name="buttonClose.Text" xml:space="preserve">
|
||||
<value>Close</value>
|
||||
</data>
|
||||
<data name=">>buttonClose.Name" xml:space="preserve">
|
||||
<value>buttonClose</value>
|
||||
</data>
|
||||
<data name=">>buttonClose.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>buttonClose.Parent" xml:space="preserve">
|
||||
<value>$this</value>
|
||||
</data>
|
||||
<data name=">>buttonClose.ZOrder" xml:space="preserve">
|
||||
<value>4</value>
|
||||
</data>
|
||||
<data name="buttonSave.FlatStyle" type="System.Windows.Forms.FlatStyle, System.Windows.Forms">
|
||||
<value>Flat</value>
|
||||
</data>
|
||||
<data name="buttonSave.Font" type="System.Drawing.Font, System.Drawing">
|
||||
<value>Segoe UI, 12pt</value>
|
||||
</data>
|
||||
<data name="buttonSave.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>23, 185</value>
|
||||
</data>
|
||||
<data name="buttonSave.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>192, 38</value>
|
||||
</data>
|
||||
<data name="buttonSave.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>5</value>
|
||||
</data>
|
||||
<data name="buttonSave.Text" xml:space="preserve">
|
||||
<value>Save</value>
|
||||
</data>
|
||||
<data name=">>buttonSave.Name" xml:space="preserve">
|
||||
<value>buttonSave</value>
|
||||
</data>
|
||||
<data name=">>buttonSave.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>buttonSave.Parent" xml:space="preserve">
|
||||
<value>$this</value>
|
||||
</data>
|
||||
<data name=">>buttonSave.ZOrder" xml:space="preserve">
|
||||
<value>5</value>
|
||||
</data>
|
||||
<data name="resource.Image" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="resource.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||
<value>NoControl</value>
|
||||
</data>
|
||||
<data name="resource.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>365, 1</value>
|
||||
</data>
|
||||
<data name="resource.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>21, 21</value>
|
||||
</data>
|
||||
<data name="resource.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>1</value>
|
||||
</data>
|
||||
<data name="resource.Visible" type="System.Boolean, mscorlib">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="webServerTextBox.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>23, 93</value>
|
||||
</data>
|
||||
<data name="webServerTextBox.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>387, 23</value>
|
||||
</data>
|
||||
<data name="webServerTextBox.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>7</value>
|
||||
</data>
|
||||
<data name=">>webServerTextBox.Name" xml:space="preserve">
|
||||
<value>webServerTextBox</value>
|
||||
</data>
|
||||
<data name=">>webServerTextBox.Type" xml:space="preserve">
|
||||
<value>MetroFramework.Controls.MetroTextBox, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a</value>
|
||||
</data>
|
||||
<data name=">>webServerTextBox.Parent" xml:space="preserve">
|
||||
<value>$this</value>
|
||||
</data>
|
||||
<data name=">>webServerTextBox.ZOrder" xml:space="preserve">
|
||||
<value>3</value>
|
||||
</data>
|
||||
<metadata name="metroLabel1.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</metadata>
|
||||
<data name="metroLabel1.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="metroLabel1.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>23, 71</value>
|
||||
</data>
|
||||
<data name="metroLabel1.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>72, 19</value>
|
||||
</data>
|
||||
<data name="metroLabel1.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>8</value>
|
||||
</data>
|
||||
<data name="metroLabel1.Text" xml:space="preserve">
|
||||
<value>Webserver</value>
|
||||
</data>
|
||||
<data name=">>metroLabel1.Name" xml:space="preserve">
|
||||
<value>metroLabel1</value>
|
||||
</data>
|
||||
<data name=">>metroLabel1.Type" xml:space="preserve">
|
||||
<value>MetroFramework.Controls.MetroLabel, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a</value>
|
||||
</data>
|
||||
<data name=">>metroLabel1.Parent" xml:space="preserve">
|
||||
<value>$this</value>
|
||||
</data>
|
||||
<data name=">>metroLabel1.ZOrder" xml:space="preserve">
|
||||
<value>2</value>
|
||||
</data>
|
||||
<metadata name="metroLabel2.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</metadata>
|
||||
<data name="metroLabel2.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="metroLabel2.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>23, 134</value>
|
||||
</data>
|
||||
<data name="metroLabel2.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>148, 19</value>
|
||||
</data>
|
||||
<data name="metroLabel2.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>10</value>
|
||||
</data>
|
||||
<data name="metroLabel2.Text" xml:space="preserve">
|
||||
<value>PCK Hosting Webserver</value>
|
||||
</data>
|
||||
<data name=">>metroLabel2.Name" xml:space="preserve">
|
||||
<value>metroLabel2</value>
|
||||
</data>
|
||||
<data name=">>metroLabel2.Type" xml:space="preserve">
|
||||
<value>MetroFramework.Controls.MetroLabel, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a</value>
|
||||
</data>
|
||||
<data name=">>metroLabel2.Parent" xml:space="preserve">
|
||||
<value>$this</value>
|
||||
</data>
|
||||
<data name=">>metroLabel2.ZOrder" xml:space="preserve">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name="resource.Image1" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="resource.ImeMode1" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||
<value>NoControl</value>
|
||||
</data>
|
||||
<data name="resource.Location1" type="System.Drawing.Point, System.Drawing">
|
||||
<value>365, 1</value>
|
||||
</data>
|
||||
<data name="resource.Size1" type="System.Drawing.Size, System.Drawing">
|
||||
<value>21, 21</value>
|
||||
</data>
|
||||
<data name="resource.TabIndex1" type="System.Int32, mscorlib">
|
||||
<value>1</value>
|
||||
</data>
|
||||
<data name="resource.Visible1" type="System.Boolean, mscorlib">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="pckWebServerTextBox.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>23, 156</value>
|
||||
</data>
|
||||
<data name="pckWebServerTextBox.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>387, 23</value>
|
||||
</data>
|
||||
<data name="pckWebServerTextBox.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>9</value>
|
||||
</data>
|
||||
<data name=">>pckWebServerTextBox.Name" xml:space="preserve">
|
||||
<value>pckWebServerTextBox</value>
|
||||
</data>
|
||||
<data name=">>pckWebServerTextBox.Type" xml:space="preserve">
|
||||
<value>MetroFramework.Controls.MetroTextBox, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a</value>
|
||||
</data>
|
||||
<data name=">>pckWebServerTextBox.Parent" xml:space="preserve">
|
||||
<value>$this</value>
|
||||
</data>
|
||||
<data name=">>pckWebServerTextBox.ZOrder" xml:space="preserve">
|
||||
<value>1</value>
|
||||
</data>
|
||||
<metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
|
||||
<value>6, 13</value>
|
||||
</data>
|
||||
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
|
||||
<value>437, 251</value>
|
||||
</data>
|
||||
<data name="$this.Text" xml:space="preserve">
|
||||
<value>Preferences</value>
|
||||
</data>
|
||||
<data name=">>$this.Name" xml:space="preserve">
|
||||
<value>Pref</value>
|
||||
</data>
|
||||
<data name=">>$this.Type" xml:space="preserve">
|
||||
<value>MetroFramework.Forms.MetroForm, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a</value>
|
||||
</data>
|
||||
</root>
|
||||
@@ -13,11 +13,12 @@ using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
using System.Windows.Media.Imaging;
|
||||
using System.IO.Packaging;
|
||||
using PckStudio;
|
||||
using System.IO.Compression;
|
||||
using PckStudio.Classes.IO.PCK;
|
||||
|
||||
using OMI.Formats.Pck;
|
||||
using OMI.Workers.Pck;
|
||||
|
||||
using PckStudio;
|
||||
using PckStudio.Extensions;
|
||||
|
||||
namespace PckStudio.Forms
|
||||
@@ -1034,15 +1035,15 @@ namespace PckStudio.Forms
|
||||
|
||||
if (saveSkin.Width == saveSkin.Height)
|
||||
{
|
||||
saveSkin.ResizeImage(64, 64, config);
|
||||
saveSkin.Resize(64, 64, config);
|
||||
}
|
||||
else if (saveSkin.Height == saveSkin.Width / 2)
|
||||
{
|
||||
saveSkin.ResizeImage(64, 32, config);
|
||||
saveSkin.Resize(64, 32, config);
|
||||
}
|
||||
else
|
||||
{
|
||||
saveSkin.ResizeImage(64, 64, config);
|
||||
saveSkin.Resize(64, 64, config);
|
||||
}
|
||||
saveSkin.Save(root + "/" + skinTexture.Filename, ImageFormat.Png);
|
||||
}
|
||||
|
||||
@@ -1,49 +1,26 @@
|
||||
using System;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Drawing;
|
||||
using System.Windows.Forms;
|
||||
using System.Collections.Generic;
|
||||
|
||||
using Newtonsoft.Json.Linq;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
using PckStudio.Properties;
|
||||
using PckStudio.Extensions;
|
||||
using PckStudio.Forms.Editor;
|
||||
using System.Collections.Generic;
|
||||
using Newtonsoft.Json;
|
||||
using PckStudio.Internal.Json;
|
||||
|
||||
namespace PckStudio.Forms.Utilities
|
||||
namespace PckStudio.Helper
|
||||
{
|
||||
public static class AnimationResources
|
||||
{
|
||||
internal class TileJson
|
||||
{
|
||||
[JsonProperty("blocks")]
|
||||
public List<TileInfo> Blocks { get; set; }
|
||||
[JsonProperty("items")]
|
||||
public List<TileInfo> Items { get; set; }
|
||||
}
|
||||
|
||||
private static TileJson _jsonData;
|
||||
internal static TileJson JsonTileData => _jsonData ??= JsonConvert.DeserializeObject<TileJson>(Resources.tileData);
|
||||
private static JsonTiles _jsonData;
|
||||
internal static JsonTiles JsonTileData => _jsonData ??= JsonConvert.DeserializeObject<JsonTiles>(Resources.tileData);
|
||||
|
||||
public class TileInfo
|
||||
{
|
||||
[JsonProperty("displayName")]
|
||||
public string DisplayName { get; set; }
|
||||
internal static List<JsonTileInfo> ItemTileInfos => JsonTileData.Items;
|
||||
|
||||
[JsonProperty("internalName")]
|
||||
public string InternalName { get; set; }
|
||||
|
||||
public TileInfo(string displayName, string internalName)
|
||||
{
|
||||
DisplayName = displayName;
|
||||
InternalName = internalName;
|
||||
}
|
||||
}
|
||||
|
||||
public static List<TileInfo> ItemTileInfos => JsonTileData.Items;
|
||||
|
||||
public static List<TileInfo> BlockTileInfos => JsonTileData.Blocks;
|
||||
internal static List<JsonTileInfo> BlockTileInfos => JsonTileData.Blocks;
|
||||
|
||||
private static Image[] _itemImages;
|
||||
public static Image[] ItemImages => _itemImages ??= Resources.items_sheet.CreateImageList(16).ToArray();
|
||||
@@ -1,13 +1,9 @@
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.IO;
|
||||
using System.IO;
|
||||
|
||||
using PckStudio.Properties;
|
||||
using PckStudio.Extensions;
|
||||
using OMI.Formats.Behaviour;
|
||||
using OMI.Workers.Behaviour;
|
||||
|
||||
namespace PckStudio.Forms.Utilities
|
||||
namespace PckStudio.Helper
|
||||
{
|
||||
public static class BehaviourResources
|
||||
{
|
||||
@@ -1,15 +1,10 @@
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System;
|
||||
using System.IO;
|
||||
|
||||
using PckStudio.Properties;
|
||||
using PckStudio.Extensions;
|
||||
using OMI.Formats.Pck;
|
||||
using OMI.Formats.Material;
|
||||
using OMI.Workers.Material;
|
||||
using System;
|
||||
|
||||
namespace PckStudio.Forms.Utilities
|
||||
namespace PckStudio.Helper
|
||||
{
|
||||
public static class MaterialResources
|
||||
{
|
||||
@@ -61,12 +61,11 @@ namespace PckStudio.Internal
|
||||
public Animation(IEnumerable<Image> textures)
|
||||
{
|
||||
this.textures = new List<Image>(textures);
|
||||
AddSingleFrames();
|
||||
}
|
||||
|
||||
public Animation(IEnumerable<Image> textures, string ANIM)
|
||||
: this(textures)
|
||||
{
|
||||
this.textures = new List<Image>(textures);
|
||||
ParseAnim(ANIM);
|
||||
}
|
||||
|
||||
@@ -87,7 +86,11 @@ namespace PckStudio.Internal
|
||||
|
||||
private void ParseAnim(string anim)
|
||||
{
|
||||
_ = anim ?? throw new ArgumentNullException(nameof(anim));
|
||||
if (string.IsNullOrEmpty(anim))
|
||||
{
|
||||
AddSingleFrames();
|
||||
return;
|
||||
}
|
||||
anim = anim.Trim();
|
||||
anim = (Interpolate = anim.StartsWith("#")) ? anim.Substring(1) : anim;
|
||||
string[] animData = anim.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
|
||||
@@ -117,7 +120,7 @@ namespace PckStudio.Internal
|
||||
|
||||
private void CheckTextureIndex(int index)
|
||||
{
|
||||
if ((index < 0 || index >= textures.Count))
|
||||
if (!textures.IndexInRange(index))
|
||||
throw new ArgumentOutOfRangeException(nameof(index));
|
||||
}
|
||||
|
||||
|
||||
@@ -1,19 +1,14 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Diagnostics;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using PckStudio.Classes.Misc;
|
||||
using PckStudio.Forms.Utilities;
|
||||
using PckStudio.Properties;
|
||||
using PckStudio.Extensions;
|
||||
using System.Globalization;
|
||||
using System.ComponentModel;
|
||||
using PckStudio.Internal;
|
||||
using PckStudio.Helper;
|
||||
|
||||
namespace PckStudio
|
||||
namespace PckStudio.Internal
|
||||
{
|
||||
internal static class ApplicationScope
|
||||
{
|
||||
|
||||
21
PCK-Studio/Internal/Json/ColorEntry.cs
Normal file
21
PCK-Studio/Internal/Json/ColorEntry.cs
Normal file
@@ -0,0 +1,21 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace PckStudio.Internal.Json
|
||||
{
|
||||
internal class JsonColorEntry
|
||||
{
|
||||
[JsonProperty("defaultName", Required = Required.Always)]
|
||||
public string DefaultName { get; set; }
|
||||
|
||||
[JsonProperty("isWaterColour", DefaultValueHandling = DefaultValueHandling.Populate)]
|
||||
public bool IsWaterColour { get; set; }
|
||||
|
||||
[JsonProperty("variants", DefaultValueHandling = DefaultValueHandling.Populate)]
|
||||
public string[] Variants { get; set; }
|
||||
}
|
||||
}
|
||||
30
PCK-Studio/Internal/Json/TileInfo.cs
Normal file
30
PCK-Studio/Internal/Json/TileInfo.cs
Normal file
@@ -0,0 +1,30 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace PckStudio.Internal.Json
|
||||
{
|
||||
internal class JsonTileInfo
|
||||
{
|
||||
[JsonProperty("displayName")]
|
||||
public string DisplayName { get; set; }
|
||||
|
||||
[JsonProperty("internalName")]
|
||||
public string InternalName { get; set; }
|
||||
|
||||
[JsonProperty("hasColourEntry", DefaultValueHandling = DefaultValueHandling.Populate)]
|
||||
public bool HasColourEntry { get; set; }
|
||||
|
||||
[JsonProperty("colourEntry", DefaultValueHandling = DefaultValueHandling.Populate)]
|
||||
public JsonColorEntry ColourEntry { get; set; }
|
||||
|
||||
public JsonTileInfo(string displayName, string internalName)
|
||||
{
|
||||
DisplayName = displayName;
|
||||
InternalName = internalName;
|
||||
}
|
||||
}
|
||||
}
|
||||
17
PCK-Studio/Internal/Json/Tiles.cs
Normal file
17
PCK-Studio/Internal/Json/Tiles.cs
Normal file
@@ -0,0 +1,17 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace PckStudio.Internal.Json
|
||||
{
|
||||
internal class JsonTiles
|
||||
{
|
||||
[JsonProperty("blocks")]
|
||||
public List<JsonTileInfo> Blocks { get; set; }
|
||||
[JsonProperty("items")]
|
||||
public List<JsonTileInfo> Items { get; set; }
|
||||
}
|
||||
}
|
||||
161
PCK-Studio/MainForm.Designer.cs
generated
161
PCK-Studio/MainForm.Designer.cs
generated
@@ -81,6 +81,7 @@
|
||||
this.packSettingsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.fullBoxSupportToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.saveToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.helpToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.saveAsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.closeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.closeAllToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
@@ -97,7 +98,14 @@
|
||||
this.openPckCenterToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.joinDevelopmentDiscordToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.trelloBoardToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.helpToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.contextMenuMetaTree = new System.Windows.Forms.ContextMenuStrip(this.components);
|
||||
this.addEntryToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.addEntryToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.addBOXEntryToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.addANIMEntryToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.addMultipleEntriesToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.deleteEntryToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.editAllEntriesToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.aboutToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator();
|
||||
this.videosToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
@@ -113,20 +121,10 @@
|
||||
this.toPhoenixARCDeveloperToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.forMattNLContributorToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.toolStripSeparator2 = new System.Windows.Forms.ToolStripSeparator();
|
||||
this.toolStripSeparator3 = new System.Windows.Forms.ToolStripSeparator();
|
||||
this.installationToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.fAQToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.preferencesToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.administrativeToolsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.toolStripSeparator3 = new System.Windows.Forms.ToolStripSeparator();
|
||||
this.settingsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.contextMenuMetaTree = new System.Windows.Forms.ContextMenuStrip(this.components);
|
||||
this.addEntryToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.addEntryToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.addBOXEntryToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.addANIMEntryToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.addMultipleEntriesToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.deleteEntryToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.editAllEntriesToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.editorTab = new MetroFramework.Controls.MetroTabPage();
|
||||
this.label11 = new MetroFramework.Controls.MetroLabel();
|
||||
this.LittleEndianCheckBox = new MetroFramework.Controls.MetroCheckBox();
|
||||
@@ -596,24 +594,6 @@
|
||||
resources.ApplyResources(this.trelloBoardToolStripMenuItem, "trelloBoardToolStripMenuItem");
|
||||
this.trelloBoardToolStripMenuItem.Click += new System.EventHandler(this.trelloBoardToolStripMenuItem_Click);
|
||||
//
|
||||
// helpToolStripMenuItem
|
||||
//
|
||||
this.helpToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.aboutToolStripMenuItem,
|
||||
this.toolStripSeparator1,
|
||||
this.videosToolStripMenuItem,
|
||||
this.donateToolStripMenuItem,
|
||||
this.toolStripSeparator2,
|
||||
this.installationToolStripMenuItem,
|
||||
this.fAQToolStripMenuItem1,
|
||||
this.preferencesToolStripMenuItem,
|
||||
this.administrativeToolsToolStripMenuItem,
|
||||
this.toolStripSeparator3,
|
||||
this.settingsToolStripMenuItem});
|
||||
this.helpToolStripMenuItem.ForeColor = System.Drawing.Color.Silver;
|
||||
this.helpToolStripMenuItem.Name = "helpToolStripMenuItem";
|
||||
resources.ApplyResources(this.helpToolStripMenuItem, "helpToolStripMenuItem");
|
||||
//
|
||||
// aboutToolStripMenuItem
|
||||
//
|
||||
resources.ApplyResources(this.aboutToolStripMenuItem, "aboutToolStripMenuItem");
|
||||
@@ -625,20 +605,6 @@
|
||||
this.toolStripSeparator1.Name = "toolStripSeparator1";
|
||||
resources.ApplyResources(this.toolStripSeparator1, "toolStripSeparator1");
|
||||
//
|
||||
// videosToolStripMenuItem
|
||||
//
|
||||
this.videosToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.howToMakeABasicSkinPackToolStripMenuItem,
|
||||
this.howToMakeACustomSkinModelToolStripMenuItem,
|
||||
this.howToMakeCustomSkinModelsbedrockToolStripMenuItem,
|
||||
this.howToMakeCustomMusicToolStripMenuItem,
|
||||
this.howToInstallPcksDirectlyToWiiUToolStripMenuItem,
|
||||
this.pckCenterReleaseToolStripMenuItem,
|
||||
this.howPCKsWorkToolStripMenuItem});
|
||||
this.videosToolStripMenuItem.ForeColor = System.Drawing.Color.Black;
|
||||
resources.ApplyResources(this.videosToolStripMenuItem, "videosToolStripMenuItem");
|
||||
this.videosToolStripMenuItem.Name = "videosToolStripMenuItem";
|
||||
//
|
||||
// howToMakeABasicSkinPackToolStripMenuItem
|
||||
//
|
||||
resources.ApplyResources(this.howToMakeABasicSkinPackToolStripMenuItem, "howToMakeABasicSkinPackToolStripMenuItem");
|
||||
@@ -725,19 +691,6 @@
|
||||
this.fAQToolStripMenuItem1.Name = "fAQToolStripMenuItem1";
|
||||
this.fAQToolStripMenuItem1.Click += new System.EventHandler(this.fAQToolStripMenuItem1_Click);
|
||||
//
|
||||
// preferencesToolStripMenuItem
|
||||
//
|
||||
resources.ApplyResources(this.preferencesToolStripMenuItem, "preferencesToolStripMenuItem");
|
||||
this.preferencesToolStripMenuItem.Name = "preferencesToolStripMenuItem";
|
||||
this.preferencesToolStripMenuItem.Click += new System.EventHandler(this.preferencesToolStripMenuItem_Click);
|
||||
//
|
||||
// administrativeToolsToolStripMenuItem
|
||||
//
|
||||
resources.ApplyResources(this.administrativeToolsToolStripMenuItem, "administrativeToolsToolStripMenuItem");
|
||||
this.administrativeToolsToolStripMenuItem.Image = global::PckStudio.Properties.Resources.pckCenterHeader;
|
||||
this.administrativeToolsToolStripMenuItem.Name = "administrativeToolsToolStripMenuItem";
|
||||
this.administrativeToolsToolStripMenuItem.Click += new System.EventHandler(this.administrativeToolsToolStripMenuItem_Click);
|
||||
//
|
||||
// toolStripSeparator3
|
||||
//
|
||||
this.toolStripSeparator3.Name = "toolStripSeparator3";
|
||||
@@ -760,56 +713,6 @@
|
||||
this.contextMenuMetaTree.Name = "contextMenuStrip1";
|
||||
resources.ApplyResources(this.contextMenuMetaTree, "contextMenuMetaTree");
|
||||
//
|
||||
// addEntryToolStripMenuItem
|
||||
//
|
||||
this.addEntryToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.addEntryToolStripMenuItem1,
|
||||
this.addBOXEntryToolStripMenuItem1,
|
||||
this.addANIMEntryToolStripMenuItem1});
|
||||
resources.ApplyResources(this.addEntryToolStripMenuItem, "addEntryToolStripMenuItem");
|
||||
this.addEntryToolStripMenuItem.Name = "addEntryToolStripMenuItem";
|
||||
//
|
||||
// addEntryToolStripMenuItem1
|
||||
//
|
||||
this.addEntryToolStripMenuItem1.Name = "addEntryToolStripMenuItem1";
|
||||
resources.ApplyResources(this.addEntryToolStripMenuItem1, "addEntryToolStripMenuItem1");
|
||||
//
|
||||
// addBOXEntryToolStripMenuItem1
|
||||
//
|
||||
this.addBOXEntryToolStripMenuItem1.Name = "addBOXEntryToolStripMenuItem1";
|
||||
resources.ApplyResources(this.addBOXEntryToolStripMenuItem1, "addBOXEntryToolStripMenuItem1");
|
||||
//
|
||||
// addANIMEntryToolStripMenuItem1
|
||||
//
|
||||
this.addANIMEntryToolStripMenuItem1.Name = "addANIMEntryToolStripMenuItem1";
|
||||
resources.ApplyResources(this.addANIMEntryToolStripMenuItem1, "addANIMEntryToolStripMenuItem1");
|
||||
//
|
||||
// addMultipleEntriesToolStripMenuItem1
|
||||
//
|
||||
resources.ApplyResources(this.addMultipleEntriesToolStripMenuItem1, "addMultipleEntriesToolStripMenuItem1");
|
||||
this.addMultipleEntriesToolStripMenuItem1.Name = "addMultipleEntriesToolStripMenuItem1";
|
||||
//
|
||||
// deleteEntryToolStripMenuItem
|
||||
//
|
||||
resources.ApplyResources(this.deleteEntryToolStripMenuItem, "deleteEntryToolStripMenuItem");
|
||||
this.deleteEntryToolStripMenuItem.Name = "deleteEntryToolStripMenuItem";
|
||||
//
|
||||
// editAllEntriesToolStripMenuItem
|
||||
//
|
||||
this.editAllEntriesToolStripMenuItem.Name = "editAllEntriesToolStripMenuItem";
|
||||
resources.ApplyResources(this.editAllEntriesToolStripMenuItem, "editAllEntriesToolStripMenuItem");
|
||||
//
|
||||
// editorTab
|
||||
//
|
||||
resources.ApplyResources(this.editorTab, "editorTab");
|
||||
this.editorTab.HorizontalScrollbarBarColor = true;
|
||||
this.editorTab.HorizontalScrollbarHighlightOnWheel = false;
|
||||
this.editorTab.HorizontalScrollbarSize = 10;
|
||||
this.editorTab.Name = "editorTab";
|
||||
this.editorTab.VerticalScrollbarBarColor = true;
|
||||
this.editorTab.VerticalScrollbarHighlightOnWheel = false;
|
||||
this.editorTab.VerticalScrollbarSize = 10;
|
||||
//
|
||||
// label11
|
||||
//
|
||||
resources.ApplyResources(this.label11, "label11");
|
||||
@@ -895,6 +798,36 @@
|
||||
this.pckOpen.MouseEnter += new System.EventHandler(this.OpenPck_MouseEnter);
|
||||
this.pckOpen.MouseLeave += new System.EventHandler(this.OpenPck_MouseLeave);
|
||||
//
|
||||
// videosToolStripMenuItem
|
||||
//
|
||||
this.videosToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.howToMakeABasicSkinPackToolStripMenuItem,
|
||||
this.howToMakeACustomSkinModelToolStripMenuItem,
|
||||
this.howToMakeCustomSkinModelsbedrockToolStripMenuItem,
|
||||
this.howToMakeCustomMusicToolStripMenuItem,
|
||||
this.howToInstallPcksDirectlyToWiiUToolStripMenuItem,
|
||||
this.pckCenterReleaseToolStripMenuItem,
|
||||
this.howPCKsWorkToolStripMenuItem});
|
||||
this.videosToolStripMenuItem.ForeColor = System.Drawing.Color.Black;
|
||||
resources.ApplyResources(this.videosToolStripMenuItem, "videosToolStripMenuItem");
|
||||
this.videosToolStripMenuItem.Name = "videosToolStripMenuItem";
|
||||
//
|
||||
// helpToolStripMenuItem
|
||||
//
|
||||
this.helpToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.aboutToolStripMenuItem,
|
||||
this.toolStripSeparator1,
|
||||
this.videosToolStripMenuItem,
|
||||
this.donateToolStripMenuItem,
|
||||
this.toolStripSeparator2,
|
||||
this.installationToolStripMenuItem,
|
||||
this.fAQToolStripMenuItem1,
|
||||
this.toolStripSeparator3,
|
||||
this.settingsToolStripMenuItem});
|
||||
this.helpToolStripMenuItem.ForeColor = System.Drawing.Color.Silver;
|
||||
this.helpToolStripMenuItem.Name = "helpToolStripMenuItem";
|
||||
resources.ApplyResources(this.helpToolStripMenuItem, "helpToolStripMenuItem");
|
||||
//
|
||||
// MainForm
|
||||
//
|
||||
this.ApplyImageInvert = true;
|
||||
@@ -954,9 +887,6 @@
|
||||
private System.Windows.Forms.ToolStripMenuItem folderToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem skinToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem createAnimatedTextureToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem installationToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem fAQToolStripMenuItem1;
|
||||
private System.Windows.Forms.ToolStripMenuItem donateToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem convertToBedrockToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem storeToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem openPckCenterToolStripMenuItem;
|
||||
@@ -964,12 +894,7 @@
|
||||
private MetroFramework.Controls.MetroTabPage editorTab;
|
||||
private MetroFramework.Controls.MetroCheckBox LittleEndianCheckBox;
|
||||
private MetroFramework.Controls.MetroLabel label11;
|
||||
private System.Windows.Forms.ToolStripMenuItem preferencesToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem administrativeToolsToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem toNobledezJackToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem toPhoenixARCDeveloperToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem joinDevelopmentDiscordToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem forMattNLContributorToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem audiopckToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem videosToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem howToMakeABasicSkinPackToolStripMenuItem;
|
||||
@@ -1027,7 +952,13 @@
|
||||
private System.Windows.Forms.ToolStripMenuItem addBOXEntryToolStripMenuItem1;
|
||||
private System.Windows.Forms.ToolStripMenuItem addANIMEntryToolStripMenuItem1;
|
||||
private System.Windows.Forms.ToolStripSeparator toolStripSeparator1;
|
||||
private System.Windows.Forms.ToolStripMenuItem donateToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem toNobledezJackToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem toPhoenixARCDeveloperToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem forMattNLContributorToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripSeparator toolStripSeparator2;
|
||||
private System.Windows.Forms.ToolStripMenuItem installationToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem fAQToolStripMenuItem1;
|
||||
private System.Windows.Forms.ToolStripSeparator toolStripSeparator3;
|
||||
private System.Windows.Forms.ToolStripMenuItem settingsToolStripMenuItem;
|
||||
private System.Windows.Forms.PictureBox logoPictureBox;
|
||||
|
||||
@@ -25,14 +25,15 @@ using PckStudio.Forms.Editor;
|
||||
using PckStudio.Forms.Additional_Popups.Animation;
|
||||
using PckStudio.Forms.Additional_Popups;
|
||||
using PckStudio.Classes.Misc;
|
||||
using PckStudio.Classes.IO.PCK;
|
||||
using PckStudio.Classes.IO._3DST;
|
||||
using PckStudio.IO.PckAudio;
|
||||
using PckStudio.IO._3DST;
|
||||
using PckStudio.Internal;
|
||||
using PckStudio.Features;
|
||||
using PckStudio.Extensions;
|
||||
using PckStudio.Popups;
|
||||
using PckStudio.API.Miles;
|
||||
using PckStudio.Classes.Utils;
|
||||
using PckStudio.Helper;
|
||||
using PckStudio.Controls;
|
||||
using PckStudio.Interfaces;
|
||||
|
||||
@@ -501,18 +502,6 @@ namespace PckStudio
|
||||
Process.Start("https://www.youtube.com/watch?v=hTlImrRrCKQ");
|
||||
}
|
||||
|
||||
private void preferencesToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
Pref setting = new Pref();
|
||||
setting.Show();
|
||||
}
|
||||
|
||||
private void administrativeToolsToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
PCK_Manager pckm = new PCK_Manager();
|
||||
pckm.Show();
|
||||
}
|
||||
|
||||
private void toPhoenixARCDeveloperToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
Process.Start("https://cash.app/$PhoenixARC");
|
||||
@@ -692,72 +681,32 @@ namespace PckStudio
|
||||
PckManager.BringToFront();
|
||||
}
|
||||
|
||||
private async void wavBinkaToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
private void wavBinkaToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
using OpenFileDialog fileDialog = new OpenFileDialog
|
||||
using OpenFileDialog fileDialog = new OpenFileDialog
|
||||
{
|
||||
Multiselect = true,
|
||||
Filter = "WAV files (*.wav)|*.wav",
|
||||
Title = "Please choose WAV files to convert to BINKA"
|
||||
};
|
||||
if (fileDialog.ShowDialog() == DialogResult.OK)
|
||||
{
|
||||
Multiselect = true,
|
||||
Filter = "WAV files (*.wav)|*.wav",
|
||||
Title = "Please choose WAV files to convert to BINKA"
|
||||
};
|
||||
if (fileDialog.ShowDialog() != DialogResult.OK)
|
||||
return;
|
||||
|
||||
InProgressPrompt waitDiag = new InProgressPrompt();
|
||||
waitDiag.Show(this);
|
||||
|
||||
int convertedCount = 0;
|
||||
|
||||
Directory.CreateDirectory(ApplicationScope.DataCacher.CacheDirectory); // create directory in case it doesn't exist
|
||||
|
||||
foreach (string waveFilepath in fileDialog.FileNames)
|
||||
{
|
||||
string[] a = Path.GetFileNameWithoutExtension(waveFilepath).Split(Path.GetInvalidFileNameChars());
|
||||
|
||||
string songName = string.Join("_", a);
|
||||
songName = System.Text.RegularExpressions.Regex.Replace(songName, @"[^\u0000-\u007F]+", "_"); // Replace UTF characters
|
||||
string cacheSongFilepath = Path.Combine(ApplicationScope.DataCacher.CacheDirectory, songName + Path.GetExtension(waveFilepath));
|
||||
|
||||
using (var reader = new NAudio.Wave.WaveFileReader(waveFilepath)) //read from original location
|
||||
{
|
||||
var newFormat = new NAudio.Wave.WaveFormat(reader.WaveFormat.SampleRate, 16, reader.WaveFormat.Channels);
|
||||
using (var conversionStream = new NAudio.Wave.WaveFormatConversionStream(newFormat, reader))
|
||||
{
|
||||
NAudio.Wave.WaveFileWriter.CreateWaveFile(cacheSongFilepath, conversionStream); //write to new location
|
||||
}
|
||||
}
|
||||
|
||||
Cursor.Current = Cursors.WaitCursor;
|
||||
|
||||
int exitCode = 0;
|
||||
await System.Threading.Tasks.Task.Run(() =>
|
||||
{
|
||||
exitCode = Binka.FromWav(cacheSongFilepath, Path.Combine(Path.GetDirectoryName(waveFilepath), Path.GetFileNameWithoutExtension(waveFilepath) + ".binka"), 4);
|
||||
});
|
||||
|
||||
File.Delete(cacheSongFilepath); // delete cache files
|
||||
|
||||
if (exitCode == 0)
|
||||
convertedCount++;
|
||||
BinkaConverter.ToBinka(fileDialog.FileNames, new DirectoryInfo(Path.GetDirectoryName(fileDialog.FileName)));
|
||||
}
|
||||
|
||||
int fileCount = fileDialog.FileNames.Length;
|
||||
|
||||
waitDiag.Close();
|
||||
waitDiag.Dispose();
|
||||
MessageBox.Show(this, $"Successfully converted {convertedCount}/{fileCount} file{(fileCount != 1 ? "s" : "")}", "Done!");
|
||||
}
|
||||
|
||||
private void binkaWavToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
using OpenFileDialog fileDialog = new OpenFileDialog
|
||||
using OpenFileDialog fileDialog = new OpenFileDialog
|
||||
{
|
||||
Multiselect = true,
|
||||
Filter = "BINKA files (*.binka)|*.binka",
|
||||
Title = "Please choose BINKA files to convert to WAV"
|
||||
};
|
||||
if (fileDialog.ShowDialog() == DialogResult.OK)
|
||||
{
|
||||
Multiselect = true,
|
||||
Filter = "BINKA files (*.binka)|*.binka",
|
||||
Title = "Please choose BINKA files to convert to WAV"
|
||||
};
|
||||
if (fileDialog.ShowDialog() == DialogResult.OK)
|
||||
BinkaConverter.ToWav(fileDialog.FileNames, new DirectoryInfo(Path.GetDirectoryName(fileDialog.FileName)));
|
||||
}
|
||||
}
|
||||
|
||||
private void fullBoxSupportToolStripMenuItem_CheckedChanged(object sender, EventArgs e)
|
||||
|
||||
@@ -1381,13 +1381,13 @@
|
||||
</value>
|
||||
</data>
|
||||
<data name="aboutToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>181, 22</value>
|
||||
<value>180, 22</value>
|
||||
</data>
|
||||
<data name="aboutToolStripMenuItem.Text" xml:space="preserve">
|
||||
<value>About</value>
|
||||
</data>
|
||||
<data name="toolStripSeparator1.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>178, 6</value>
|
||||
<value>177, 6</value>
|
||||
</data>
|
||||
<data name="videosToolStripMenuItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
@@ -19139,8 +19139,16 @@
|
||||
<data name="howPCKsWorkToolStripMenuItem.Text" xml:space="preserve">
|
||||
<value>How PCKs work</value>
|
||||
</data>
|
||||
<data name="donateToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>181, 22</value>
|
||||
<data name="videosToolStripMenuItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAKdJREFUOE+1
|
||||
jzEKwzAQBNUEXKQIBOwifcgTUvkDbt2p9qP0Ev1E31FYkVXOx2FLRRYWi7NnTnZ/z/MxZPY7aguhbZlq
|
||||
myQafL+ubRINshCwnO0kFqi3HkpwWOf7DkC1RBfvx9slV4ElscqbxBiz9/4nwOBIQjCEUL7FswhwDYAp
|
||||
JVMiN0oYs/ILiCXRIGHOwVQBoiXsKSgjJdzaBMpQ0g3KEOoG++PcBx9PFJGNjU4vAAAAAElFTkSuQmCC
|
||||
</value>
|
||||
</data>
|
||||
<data name="videosToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>180, 22</value>
|
||||
</data>
|
||||
<data name="donateToolStripMenuItem.Text" xml:space="preserve">
|
||||
<value>Buy a coffee</value>
|
||||
@@ -19163,8 +19171,14 @@
|
||||
<data name="forMattNLContributorToolStripMenuItem.Text" xml:space="preserve">
|
||||
<value>For MattNL (Other Developer)</value>
|
||||
</data>
|
||||
<data name="donateToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>180, 22</value>
|
||||
</data>
|
||||
<data name="donateToolStripMenuItem.Text" xml:space="preserve">
|
||||
<value>Buy a coffee</value>
|
||||
</data>
|
||||
<data name="toolStripSeparator2.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>178, 6</value>
|
||||
<value>177, 6</value>
|
||||
</data>
|
||||
<data name="installationToolStripMenuItem.Enabled" type="System.Boolean, mscorlib">
|
||||
<value>False</value>
|
||||
@@ -19773,7 +19787,7 @@
|
||||
</value>
|
||||
</data>
|
||||
<data name="installationToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>181, 22</value>
|
||||
<value>180, 22</value>
|
||||
</data>
|
||||
<data name="installationToolStripMenuItem.Text" xml:space="preserve">
|
||||
<value>Installation</value>
|
||||
@@ -21170,37 +21184,19 @@
|
||||
</value>
|
||||
</data>
|
||||
<data name="fAQToolStripMenuItem1.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>181, 22</value>
|
||||
<value>180, 22</value>
|
||||
</data>
|
||||
<data name="fAQToolStripMenuItem1.Text" xml:space="preserve">
|
||||
<value>FAQ</value>
|
||||
</data>
|
||||
<data name="preferencesToolStripMenuItem.Enabled" type="System.Boolean, mscorlib">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="preferencesToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>181, 22</value>
|
||||
</data>
|
||||
<data name="preferencesToolStripMenuItem.Text" xml:space="preserve">
|
||||
<value>Preferences</value>
|
||||
</data>
|
||||
<data name="administrativeToolsToolStripMenuItem.Enabled" type="System.Boolean, mscorlib">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="administrativeToolsToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>181, 22</value>
|
||||
</data>
|
||||
<data name="administrativeToolsToolStripMenuItem.Text" xml:space="preserve">
|
||||
<value>Administrative Tools</value>
|
||||
</data>
|
||||
<data name="toolStripSeparator3.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>178, 6</value>
|
||||
<value>177, 6</value>
|
||||
</data>
|
||||
<data name="settingsToolStripMenuItem.ShortcutKeys" type="System.Windows.Forms.Keys, System.Windows.Forms">
|
||||
<value>Alt+S</value>
|
||||
</data>
|
||||
<data name="settingsToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>181, 22</value>
|
||||
<value>180, 22</value>
|
||||
</data>
|
||||
<data name="settingsToolStripMenuItem.Text" xml:space="preserve">
|
||||
<value>Settings</value>
|
||||
@@ -22574,6 +22570,189 @@
|
||||
<data name=">>pckOpen.ZOrder" xml:space="preserve">
|
||||
<value>5</value>
|
||||
</data>
|
||||
<metadata name="label11.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<data name="label11.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="label11.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>433, 71</value>
|
||||
</data>
|
||||
<data name="label11.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>0, 0</value>
|
||||
</data>
|
||||
<data name="label11.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>3</value>
|
||||
</data>
|
||||
<data name=">>label11.Name" xml:space="preserve">
|
||||
<value>label11</value>
|
||||
</data>
|
||||
<data name=">>label11.Type" xml:space="preserve">
|
||||
<value>MetroFramework.Controls.MetroLabel, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a</value>
|
||||
</data>
|
||||
<data name=">>label11.Parent" xml:space="preserve">
|
||||
<value>editorTab</value>
|
||||
</data>
|
||||
<data name=">>label11.ZOrder" xml:space="preserve">
|
||||
<value>6</value>
|
||||
</data>
|
||||
<data name="treeViewMain.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
||||
<value>Top, Bottom, Left, Right</value>
|
||||
</data>
|
||||
<data name="treeViewMain.Enabled" type="System.Boolean, mscorlib">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="treeViewMain.ImageIndex" type="System.Int32, mscorlib">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<metadata name="imageList.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>467, 14</value>
|
||||
</metadata>
|
||||
<data name="imageList.ImageSize" type="System.Drawing.Size, System.Drawing">
|
||||
<value>32, 32</value>
|
||||
</data>
|
||||
<data name="treeViewMain.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>5, 50</value>
|
||||
</data>
|
||||
<data name="treeViewMain.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>0, 0, 0, 0</value>
|
||||
</data>
|
||||
<data name="treeViewMain.SelectedImageIndex" type="System.Int32, mscorlib">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name="treeViewMain.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>330, 501</value>
|
||||
</data>
|
||||
<data name="treeViewMain.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>10</value>
|
||||
</data>
|
||||
<data name=">>treeViewMain.Name" xml:space="preserve">
|
||||
<value>treeViewMain</value>
|
||||
</data>
|
||||
<data name=">>treeViewMain.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.TreeView, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>treeViewMain.Parent" xml:space="preserve">
|
||||
<value>editorTab</value>
|
||||
</data>
|
||||
<data name=">>treeViewMain.ZOrder" xml:space="preserve">
|
||||
<value>7</value>
|
||||
</data>
|
||||
<data name="previewPictureBox.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
||||
<value>Top, Right</value>
|
||||
</data>
|
||||
<data name="previewPictureBox.BackgroundImageLayout" type="System.Windows.Forms.ImageLayout, System.Windows.Forms">
|
||||
<value>None</value>
|
||||
</data>
|
||||
<data name="previewPictureBox.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||
<value>NoControl</value>
|
||||
</data>
|
||||
<data name="previewPictureBox.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>345, 50</value>
|
||||
</data>
|
||||
<data name="previewPictureBox.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>231, 218</value>
|
||||
</data>
|
||||
<data name="previewPictureBox.SizeMode" type="System.Windows.Forms.PictureBoxSizeMode, System.Windows.Forms">
|
||||
<value>Zoom</value>
|
||||
</data>
|
||||
<data name="previewPictureBox.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>18</value>
|
||||
</data>
|
||||
<data name=">>previewPictureBox.Name" xml:space="preserve">
|
||||
<value>previewPictureBox</value>
|
||||
</data>
|
||||
<data name=">>previewPictureBox.Type" xml:space="preserve">
|
||||
<value>PckStudio.ToolboxItems.InterpolationPictureBox, PCK-Studio, Version=7.0.0.0, Culture=neutral, PublicKeyToken=null</value>
|
||||
</data>
|
||||
<data name=">>previewPictureBox.Parent" xml:space="preserve">
|
||||
<value>editorTab</value>
|
||||
</data>
|
||||
<data name=">>previewPictureBox.ZOrder" xml:space="preserve">
|
||||
<value>9</value>
|
||||
</data>
|
||||
<data name="editorTab.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>4, 38</value>
|
||||
</data>
|
||||
<data name="editorTab.Padding" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>5, 50, 5, 7</value>
|
||||
</data>
|
||||
<data name="editorTab.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>1016, 558</value>
|
||||
</data>
|
||||
<data name="editorTab.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name=">>editorTab.Name" xml:space="preserve">
|
||||
<value>editorTab</value>
|
||||
</data>
|
||||
<data name=">>editorTab.Type" xml:space="preserve">
|
||||
<value>MetroFramework.Controls.MetroTabPage, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a</value>
|
||||
</data>
|
||||
<data name=">>editorTab.Parent" xml:space="preserve">
|
||||
<value>tabControl</value>
|
||||
</data>
|
||||
<data name=">>editorTab.ZOrder" xml:space="preserve">
|
||||
<value>1</value>
|
||||
</data>
|
||||
<data name="tabControl.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||
<value>Fill</value>
|
||||
</data>
|
||||
<data name="tabControl.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>20, 30</value>
|
||||
</data>
|
||||
<data name="tabControl.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>0, 0, 0, 0</value>
|
||||
</data>
|
||||
<data name="tabControl.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>1024, 600</value>
|
||||
</data>
|
||||
<data name="tabControl.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name=">>tabControl.Name" xml:space="preserve">
|
||||
<value>tabControl</value>
|
||||
</data>
|
||||
<data name=">>tabControl.Type" xml:space="preserve">
|
||||
<value>MetroFramework.Controls.MetroTabControl, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a</value>
|
||||
</data>
|
||||
<data name=">>tabControl.Parent" xml:space="preserve">
|
||||
<value>$this</value>
|
||||
</data>
|
||||
<data name=">>tabControl.ZOrder" xml:space="preserve">
|
||||
<value>4</value>
|
||||
</data>
|
||||
<data name="LittleEndianCheckBox.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
||||
<value>Top, Right</value>
|
||||
</data>
|
||||
<data name="LittleEndianCheckBox.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="LittleEndianCheckBox.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>826, 49</value>
|
||||
</data>
|
||||
<data name="LittleEndianCheckBox.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>207, 15</value>
|
||||
</data>
|
||||
<data name="LittleEndianCheckBox.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>21</value>
|
||||
</data>
|
||||
<data name="LittleEndianCheckBox.Text" xml:space="preserve">
|
||||
<value>Open/Save as Switch/Vita/PS4 PCK</value>
|
||||
</data>
|
||||
<data name=">>LittleEndianCheckBox.Name" xml:space="preserve">
|
||||
<value>LittleEndianCheckBox</value>
|
||||
</data>
|
||||
<data name=">>LittleEndianCheckBox.Type" xml:space="preserve">
|
||||
<value>MetroFramework.Controls.MetroCheckBox, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a</value>
|
||||
</data>
|
||||
<data name=">>LittleEndianCheckBox.Parent" xml:space="preserve">
|
||||
<value>$this</value>
|
||||
</data>
|
||||
<data name=">>LittleEndianCheckBox.ZOrder" xml:space="preserve">
|
||||
<value>2</value>
|
||||
</data>
|
||||
<metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
@@ -25488,12 +25667,54 @@
|
||||
<data name=">>trelloBoardToolStripMenuItem.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>helpToolStripMenuItem.Name" xml:space="preserve">
|
||||
<value>helpToolStripMenuItem</value>
|
||||
<data name=">>addEntryToolStripMenuItem.Name" xml:space="preserve">
|
||||
<value>addEntryToolStripMenuItem</value>
|
||||
</data>
|
||||
<data name=">>helpToolStripMenuItem.Type" xml:space="preserve">
|
||||
<data name=">>addEntryToolStripMenuItem.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>addEntryToolStripMenuItem1.Name" xml:space="preserve">
|
||||
<value>addEntryToolStripMenuItem1</value>
|
||||
</data>
|
||||
<data name=">>addEntryToolStripMenuItem1.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>addBOXEntryToolStripMenuItem1.Name" xml:space="preserve">
|
||||
<value>addBOXEntryToolStripMenuItem1</value>
|
||||
</data>
|
||||
<data name=">>addBOXEntryToolStripMenuItem1.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>addANIMEntryToolStripMenuItem1.Name" xml:space="preserve">
|
||||
<value>addANIMEntryToolStripMenuItem1</value>
|
||||
</data>
|
||||
<data name=">>addANIMEntryToolStripMenuItem1.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>addMultipleEntriesToolStripMenuItem1.Name" xml:space="preserve">
|
||||
<value>addMultipleEntriesToolStripMenuItem1</value>
|
||||
</data>
|
||||
<data name=">>addMultipleEntriesToolStripMenuItem1.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>deleteEntryToolStripMenuItem.Name" xml:space="preserve">
|
||||
<value>deleteEntryToolStripMenuItem</value>
|
||||
</data>
|
||||
<data name=">>deleteEntryToolStripMenuItem.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>editAllEntriesToolStripMenuItem.Name" xml:space="preserve">
|
||||
<value>editAllEntriesToolStripMenuItem</value>
|
||||
</data>
|
||||
<data name=">>editAllEntriesToolStripMenuItem.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>imageList.Name" xml:space="preserve">
|
||||
<value>imageList</value>
|
||||
</data>
|
||||
<data name=">>imageList.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.ImageList, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>aboutToolStripMenuItem.Name" xml:space="preserve">
|
||||
<value>aboutToolStripMenuItem</value>
|
||||
</data>
|
||||
@@ -25596,18 +25817,6 @@
|
||||
<data name=">>fAQToolStripMenuItem1.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>preferencesToolStripMenuItem.Name" xml:space="preserve">
|
||||
<value>preferencesToolStripMenuItem</value>
|
||||
</data>
|
||||
<data name=">>preferencesToolStripMenuItem.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>administrativeToolsToolStripMenuItem.Name" xml:space="preserve">
|
||||
<value>administrativeToolsToolStripMenuItem</value>
|
||||
</data>
|
||||
<data name=">>administrativeToolsToolStripMenuItem.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>toolStripSeparator3.Name" xml:space="preserve">
|
||||
<value>toolStripSeparator3</value>
|
||||
</data>
|
||||
@@ -25620,46 +25829,10 @@
|
||||
<data name=">>settingsToolStripMenuItem.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>addEntryToolStripMenuItem.Name" xml:space="preserve">
|
||||
<value>addEntryToolStripMenuItem</value>
|
||||
<data name=">>helpToolStripMenuItem.Name" xml:space="preserve">
|
||||
<value>helpToolStripMenuItem</value>
|
||||
</data>
|
||||
<data name=">>addEntryToolStripMenuItem.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>addEntryToolStripMenuItem1.Name" xml:space="preserve">
|
||||
<value>addEntryToolStripMenuItem1</value>
|
||||
</data>
|
||||
<data name=">>addEntryToolStripMenuItem1.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>addBOXEntryToolStripMenuItem1.Name" xml:space="preserve">
|
||||
<value>addBOXEntryToolStripMenuItem1</value>
|
||||
</data>
|
||||
<data name=">>addBOXEntryToolStripMenuItem1.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>addANIMEntryToolStripMenuItem1.Name" xml:space="preserve">
|
||||
<value>addANIMEntryToolStripMenuItem1</value>
|
||||
</data>
|
||||
<data name=">>addANIMEntryToolStripMenuItem1.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>addMultipleEntriesToolStripMenuItem1.Name" xml:space="preserve">
|
||||
<value>addMultipleEntriesToolStripMenuItem1</value>
|
||||
</data>
|
||||
<data name=">>addMultipleEntriesToolStripMenuItem1.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>deleteEntryToolStripMenuItem.Name" xml:space="preserve">
|
||||
<value>deleteEntryToolStripMenuItem</value>
|
||||
</data>
|
||||
<data name=">>deleteEntryToolStripMenuItem.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>editAllEntriesToolStripMenuItem.Name" xml:space="preserve">
|
||||
<value>editAllEntriesToolStripMenuItem</value>
|
||||
</data>
|
||||
<data name=">>editAllEntriesToolStripMenuItem.Type" xml:space="preserve">
|
||||
<data name=">>helpToolStripMenuItem.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>$this.Name" xml:space="preserve">
|
||||
|
||||
@@ -132,10 +132,13 @@
|
||||
<Reference Include="WindowsFormsIntegration" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="Classes\ToolboxItems\PictureBoxWithInterpolationMode.cs">
|
||||
<Compile Include="ToolboxItems\BlendPictureBox.cs">
|
||||
<SubType>Component</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Classes\ToolboxItems\ToolStripRadioButtonMenuItem.cs">
|
||||
<Compile Include="ToolboxItems\InterpolationPictureBox.cs">
|
||||
<SubType>Component</SubType>
|
||||
</Compile>
|
||||
<Compile Include="ToolboxItems\ToolStripRadioButtonMenuItem.cs">
|
||||
<SubType>Component</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Classes\Utils\BinkaConverter.cs" />
|
||||
@@ -168,6 +171,12 @@
|
||||
<DependentUpon>AppSettingsForm.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Internal\ApplicationBuildInfo.cs" />
|
||||
<Compile Include="Forms\Editor\TextureAtlasEditor.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Forms\Editor\TextureAtlasEditor.Designer.cs">
|
||||
<DependentUpon>TextureAtlasEditor.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Interfaces\IPckEditor.cs" />
|
||||
<Compile Include="Classes\API\PCKCenter\model\PCKCenterJSON.cs" />
|
||||
<Compile Include="Classes\API\PCKCenter\PCKCollections.cs" />
|
||||
@@ -193,6 +202,9 @@
|
||||
<Compile Include="Classes\Misc\OpenFolderDialog.cs" />
|
||||
<Compile Include="Classes\Models\DefaultModels\Steve64x64Model.cs" />
|
||||
<Compile Include="Internal\ApplicationScope.cs" />
|
||||
<Compile Include="Internal\Json\ColorEntry.cs" />
|
||||
<Compile Include="Internal\Json\TileInfo.cs" />
|
||||
<Compile Include="Internal\Json\Tiles.cs" />
|
||||
<Compile Include="Internal\Profiler.cs" />
|
||||
<Compile Include="Internal\SettingsManager.cs" />
|
||||
<Compile Include="Internal\SkinBOX.cs" />
|
||||
@@ -273,7 +285,7 @@
|
||||
<DependentUpon>MultiTextPrompt.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Internal\Animation.cs" />
|
||||
<Compile Include="Forms\Editor\AnimationPictureBox.cs">
|
||||
<Compile Include="ToolboxItems\AnimationPictureBox.cs">
|
||||
<SubType>Component</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Forms\Editor\MaterialsEditor.cs">
|
||||
@@ -330,11 +342,11 @@
|
||||
<Compile Include="Forms\Additional-Popups\AddPropertyPrompt.Designer.cs">
|
||||
<DependentUpon>AddPropertyPrompt.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Forms\Skins-And-Textures\addNewSkin.cs">
|
||||
<Compile Include="Forms\Skins-And-Textures\AddNewSkin.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Forms\Skins-And-Textures\addNewSkin.Designer.cs">
|
||||
<DependentUpon>addNewSkin.cs</DependentUpon>
|
||||
<Compile Include="Forms\Skins-And-Textures\AddNewSkin.Designer.cs">
|
||||
<DependentUpon>AddNewSkin.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Forms\Skins-And-Textures\AdvancedOptions.cs">
|
||||
<SubType>Form</SubType>
|
||||
@@ -360,9 +372,9 @@
|
||||
<Compile Include="Forms\Additional-Popups\InProgressPrompt.Designer.cs">
|
||||
<DependentUpon>InProgressPrompt.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Forms\Utilities\MaterialResources.cs" />
|
||||
<Compile Include="Forms\Utilities\BehaviourResources.cs" />
|
||||
<Compile Include="Forms\Utilities\AnimationResources.cs" />
|
||||
<Compile Include="Helper\MaterialResources.cs" />
|
||||
<Compile Include="Helper\BehaviourResources.cs" />
|
||||
<Compile Include="Helper\AnimationResources.cs" />
|
||||
<Compile Include="Forms\Editor\BoxEditor.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
@@ -417,12 +429,6 @@
|
||||
<Compile Include="Forms\Editor\AudioEditor.Designer.cs">
|
||||
<DependentUpon>AudioEditor.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Forms\Utilities\PCK Manager.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Forms\Utilities\PCK Manager.Designer.cs">
|
||||
<DependentUpon>PCK Manager.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Forms\Utilities\pckCenter.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
@@ -441,12 +447,6 @@
|
||||
<Compile Include="Forms\Utilities\pckCenterOpen.Designer.cs">
|
||||
<DependentUpon>pckCenterOpen.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Forms\Utilities\Pref.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Forms\Utilities\Pref.Designer.cs">
|
||||
<DependentUpon>Pref.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Forms\Utilities\TextureConverterUtility.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
@@ -534,11 +534,11 @@
|
||||
<EmbeddedResource Include="Forms\Additional-Popups\AddPropertyPrompt.resx">
|
||||
<DependentUpon>AddPropertyPrompt.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Forms\Skins-And-Textures\addNewSkin.ja.resx">
|
||||
<DependentUpon>addNewSkin.cs</DependentUpon>
|
||||
<EmbeddedResource Include="Forms\Skins-And-Textures\AddNewSkin.ja.resx">
|
||||
<DependentUpon>AddNewSkin.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Forms\Skins-And-Textures\addNewSkin.resx">
|
||||
<DependentUpon>addNewSkin.cs</DependentUpon>
|
||||
<EmbeddedResource Include="Forms\Skins-And-Textures\AddNewSkin.resx">
|
||||
<DependentUpon>AddNewSkin.cs</DependentUpon>
|
||||
<SubType>Designer</SubType>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Forms\Skins-And-Textures\AdvancedOptions.ja.resx">
|
||||
@@ -570,6 +570,9 @@
|
||||
<DependentUpon>AppSettingsForm.cs</DependentUpon>
|
||||
<SubType>Designer</SubType>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Forms\Editor\TextureAtlasEditor.resx">
|
||||
<DependentUpon>TextureAtlasEditor.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="MainForm.ja.resx">
|
||||
<DependentUpon>MainForm.cs</DependentUpon>
|
||||
<SubType>Designer</SubType>
|
||||
@@ -597,12 +600,6 @@
|
||||
<DependentUpon>AudioEditor.cs</DependentUpon>
|
||||
<SubType>Designer</SubType>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Forms\Utilities\PCK Manager.ja.resx">
|
||||
<DependentUpon>PCK Manager.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Forms\Utilities\PCK Manager.resx">
|
||||
<DependentUpon>PCK Manager.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Forms\Utilities\pckCenter.ja.resx">
|
||||
<DependentUpon>pckCenter.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
@@ -619,12 +616,6 @@
|
||||
<DependentUpon>pckCenterOpen.cs</DependentUpon>
|
||||
<SubType>Designer</SubType>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Forms\Utilities\Pref.ja.resx">
|
||||
<DependentUpon>Pref.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Forms\Utilities\Pref.resx">
|
||||
<DependentUpon>Pref.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Forms\Utilities\TextureConverterUtility.resx">
|
||||
<DependentUpon>TextureConverterUtility.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
@@ -816,6 +807,6 @@
|
||||
<PropertyGroup>
|
||||
<StringDate>$([System.DateTime]::Now.ToString('yyyy-MM-dd'))</StringDate>
|
||||
</PropertyGroup>
|
||||
<ZipDirectory SourceDirectory="$(OutputPath)" DestinationFile="$(OutputPath)\..\$(AssemblyName)_$(Configuration)_$(StringDate).zip" Overwrite="true" />
|
||||
<ZipDirectory SourceDirectory="$(OutputPath)" DestinationFile="$(OutputPath)\..\$(AssemblyName)_$(Configuration)@$(BuildBranch)_$(StringDate).zip" Overwrite="true" />
|
||||
</Target>
|
||||
</Project>
|
||||
@@ -4,6 +4,7 @@ using System.IO;
|
||||
using System.Linq;
|
||||
using System.Windows.Forms;
|
||||
using PckStudio.Classes.Misc;
|
||||
using PckStudio.Internal;
|
||||
|
||||
namespace PckStudio
|
||||
{
|
||||
|
||||
@@ -1,10 +1,21 @@
|
||||
{
|
||||
"COMMENT_1": "Tile data research by MattNL",
|
||||
"COMMENT_2": "JSON conversion by PhoenixARC",
|
||||
"COMMENT_2": "JSON by PhoenixARC, MattNL, and NessieHax (Miku-666)",
|
||||
"blocks": [
|
||||
{
|
||||
"internalName": "grass_top",
|
||||
"displayName": "Grass Block (Top)"
|
||||
"displayName": "Grass Block (Top)",
|
||||
"hasColourEntry": true,
|
||||
"colourEntry": {
|
||||
"isWaterColour": false,
|
||||
"defaultName": "Grass_Common",
|
||||
"variants": [
|
||||
"Grass_Common",
|
||||
"Grass_Mesa",
|
||||
"Grass_Swamp1",
|
||||
"Grass_Swamp2"
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"internalName": "stone",
|
||||
@@ -156,11 +167,33 @@
|
||||
},
|
||||
{
|
||||
"internalName": "grass_side_overlay",
|
||||
"displayName": "Grass Side (Overlay)"
|
||||
"displayName": "Grass Side (Overlay)",
|
||||
"hasColourEntry": true,
|
||||
"colourEntry": {
|
||||
"isWaterColour": false,
|
||||
"defaultName": "Grass_Common",
|
||||
"variants": [
|
||||
"Grass_Common",
|
||||
"Grass_Mesa",
|
||||
"Grass_Swamp1",
|
||||
"Grass_Swamp2"
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"internalName": "tallgrass",
|
||||
"displayName": "Tall Grass"
|
||||
"displayName": "Tall Grass",
|
||||
"hasColourEntry": true,
|
||||
"colourEntry": {
|
||||
"isWaterColour": false,
|
||||
"defaultName": "Grass_Common",
|
||||
"variants": [
|
||||
"Grass_Common",
|
||||
"Grass_Mesa",
|
||||
"Grass_Swamp1",
|
||||
"Grass_Swamp2"
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"internalName": "dispenser_front_vertical",
|
||||
@@ -212,11 +245,35 @@
|
||||
},
|
||||
{
|
||||
"internalName": "leaves",
|
||||
"displayName": "Oak Leaves"
|
||||
"displayName": "Oak Leaves",
|
||||
"hasColourEntry": true,
|
||||
"colourEntry": {
|
||||
"isWaterColour": false,
|
||||
"defaultName": "Foliage_Default",
|
||||
"variants": [
|
||||
"Foliage_Default",
|
||||
"Foliage_Evergreen",
|
||||
"Foliage_Birch",
|
||||
"Foliage_Mesa",
|
||||
"Foliage_Swampland"
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"internalName": "leaves_opaque",
|
||||
"displayName": "Oak Leaves (Opaque)"
|
||||
"displayName": "Oak Leaves (Opaque)",
|
||||
"hasColourEntry": true,
|
||||
"colourEntry": {
|
||||
"isWaterColour": false,
|
||||
"defaultName": "Foliage_Default",
|
||||
"variants": [
|
||||
"Foliage_Default",
|
||||
"Foliage_Evergreen",
|
||||
"Foliage_Birch",
|
||||
"Foliage_Mesa",
|
||||
"Foliage_Swampland"
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"internalName": "stonebrick",
|
||||
@@ -228,7 +285,18 @@
|
||||
},
|
||||
{
|
||||
"internalName": "fern",
|
||||
"displayName": "Fern"
|
||||
"displayName": "Fern",
|
||||
"hasColourEntry": true,
|
||||
"colourEntry": {
|
||||
"isWaterColour": false,
|
||||
"defaultName": "Grass_Common",
|
||||
"variants": [
|
||||
"Grass_Common",
|
||||
"Grass_Mesa",
|
||||
"Grass_Swamp1",
|
||||
"Grass_Swamp2"
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"internalName": "daylight_detector_top",
|
||||
@@ -308,7 +376,12 @@
|
||||
},
|
||||
{
|
||||
"internalName": "waterlily",
|
||||
"displayName": "Lily Pad"
|
||||
"displayName": "Lily Pad",
|
||||
"hasColourEntry": true,
|
||||
"colourEntry": {
|
||||
"defaultName": "Tile_WaterLily",
|
||||
"variants": [ "Tile_WaterLily" ]
|
||||
}
|
||||
},
|
||||
{
|
||||
"internalName": "mycel_side",
|
||||
@@ -532,11 +605,35 @@
|
||||
},
|
||||
{
|
||||
"internalName": "leaves_spruce",
|
||||
"displayName": "Spruce Leaves"
|
||||
"displayName": "Spruce Leaves",
|
||||
"hasColourEntry": true,
|
||||
"colourEntry": {
|
||||
"isWaterColour": false,
|
||||
"defaultName": "Foliage_Evergreen",
|
||||
"variants": [
|
||||
"Foliage_Default",
|
||||
"Foliage_Evergreen",
|
||||
"Foliage_Birch",
|
||||
"Foliage_Mesa",
|
||||
"Foliage_Swampland"
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"internalName": "leaves_spruce_opaque",
|
||||
"displayName": "Spruce Leaves (Opaque)"
|
||||
"displayName": "Spruce Leaves (Opaque)",
|
||||
"hasColourEntry": true,
|
||||
"colourEntry": {
|
||||
"isWaterColour": false,
|
||||
"defaultName": "Foliage_Evergreen",
|
||||
"variants": [
|
||||
"Foliage_Default",
|
||||
"Foliage_Evergreen",
|
||||
"Foliage_Birch",
|
||||
"Foliage_Mesa",
|
||||
"Foliage_Swampland"
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"internalName": "conduit_top",
|
||||
@@ -660,11 +757,33 @@
|
||||
},
|
||||
{
|
||||
"internalName": "redstone_dust_cross",
|
||||
"displayName": "Redstone Dust (Cross)"
|
||||
"displayName": "Redstone Dust (Cross)",
|
||||
"hasColourEntry": true,
|
||||
"colourEntry": {
|
||||
"isWaterColour": false,
|
||||
"defaultName": "Tile_RedstoneDust",
|
||||
"variants": [
|
||||
"Tile_RedstoneDust",
|
||||
"Tile_RedstoneDustUnlit",
|
||||
"Tile_RedstoneDustLitMin",
|
||||
"Tile_RedstoneDustLitMax"
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"internalName": "redstone_dust_line",
|
||||
"displayName": "Redstone Dust (Line)"
|
||||
"displayName": "Redstone Dust (Line)",
|
||||
"hasColourEntry": true,
|
||||
"colourEntry": {
|
||||
"isWaterColour": false,
|
||||
"defaultName": "Tile_RedstoneDust",
|
||||
"variants": [
|
||||
"Tile_RedstoneDust",
|
||||
"Tile_RedstoneDustUnlit",
|
||||
"Tile_RedstoneDustLitMin",
|
||||
"Tile_RedstoneDustLitMax"
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"internalName": "enchantment_top",
|
||||
@@ -788,11 +907,35 @@
|
||||
},
|
||||
{
|
||||
"internalName": "leaves_jungle",
|
||||
"displayName": "Jungle Leaves"
|
||||
"displayName": "Jungle Leaves",
|
||||
"hasColourEntry": true,
|
||||
"colourEntry": {
|
||||
"isWaterColour": false,
|
||||
"defaultName": "Foliage_Default",
|
||||
"variants": [
|
||||
"Foliage_Default",
|
||||
"Foliage_Evergreen",
|
||||
"Foliage_Birch",
|
||||
"Foliage_Mesa",
|
||||
"Foliage_Swampland"
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"internalName": "leaves_jungle_opaque",
|
||||
"displayName": "Jungle Leaves (Opaque)"
|
||||
"displayName": "Jungle Leaves (Opaque)",
|
||||
"hasColourEntry": true,
|
||||
"colourEntry": {
|
||||
"isWaterColour": false,
|
||||
"defaultName": "Foliage_Default",
|
||||
"variants": [
|
||||
"Foliage_Default",
|
||||
"Foliage_Evergreen",
|
||||
"Foliage_Birch",
|
||||
"Foliage_Mesa",
|
||||
"Foliage_Swampland"
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"internalName": "planks_spruce",
|
||||
@@ -824,14 +967,26 @@
|
||||
},
|
||||
{
|
||||
"internalName": "water",
|
||||
"displayName": "Water"
|
||||
"displayName": "Water",
|
||||
"hasColourEntry": true,
|
||||
"colourEntry": {
|
||||
"isWaterColour": true,
|
||||
"defaultName": "default",
|
||||
"variants": [ "default" ]
|
||||
}
|
||||
},
|
||||
{
|
||||
"internalName": "water_flow",
|
||||
"displayName": "Flowing Water"
|
||||
"displayName": "Flowing Water",
|
||||
"hasColourEntry": true,
|
||||
"colourEntry": {
|
||||
"isWaterColour": true,
|
||||
"defaultName": "default",
|
||||
"variants": [ "default" ]
|
||||
}
|
||||
},
|
||||
{
|
||||
"internalName": "",
|
||||
"internalName": "water_flow",
|
||||
"displayName": ""
|
||||
},
|
||||
{
|
||||
@@ -891,11 +1046,11 @@
|
||||
"displayName": "Detector Rail (On)"
|
||||
},
|
||||
{
|
||||
"internalName": "",
|
||||
"internalName": "water_flow",
|
||||
"displayName": ""
|
||||
},
|
||||
{
|
||||
"internalName": "",
|
||||
"internalName": "water_flow",
|
||||
"displayName": ""
|
||||
},
|
||||
{
|
||||
@@ -959,8 +1114,8 @@
|
||||
"displayName": "Flowing Lava"
|
||||
},
|
||||
{
|
||||
"internalName": "",
|
||||
"displayName": ""
|
||||
"internalName": "lava_flow",
|
||||
"displayName": "",
|
||||
},
|
||||
{
|
||||
"internalName": "destroy_0",
|
||||
@@ -1019,12 +1174,12 @@
|
||||
"displayName": "Hay Bale (Top)"
|
||||
},
|
||||
{
|
||||
"internalName": "",
|
||||
"displayName": ""
|
||||
"internalName": "lava_flow",
|
||||
"displayName": "",
|
||||
},
|
||||
{
|
||||
"internalName": "",
|
||||
"displayName": ""
|
||||
"internalName": "lava_flow",
|
||||
"displayName": "",
|
||||
},
|
||||
{
|
||||
"internalName": "coal_block",
|
||||
@@ -1328,11 +1483,35 @@
|
||||
},
|
||||
{
|
||||
"internalName": "leaves_acacia",
|
||||
"displayName": "Acacia Leaves"
|
||||
"displayName": "Acacia Leaves",
|
||||
"hasColourEntry": true,
|
||||
"colourEntry": {
|
||||
"isWaterColour": false,
|
||||
"defaultName": "Foliage_Default",
|
||||
"variants": [
|
||||
"Foliage_Default",
|
||||
"Foliage_Evergreen",
|
||||
"Foliage_Birch",
|
||||
"Foliage_Mesa",
|
||||
"Foliage_Swampland"
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"internalName": "leaves_acacia_fast",
|
||||
"displayName": "Acacia Leaves (Opaque)"
|
||||
"displayName": "Acacia Leaves (Opaque)",
|
||||
"hasColourEntry": true,
|
||||
"colourEntry": {
|
||||
"isWaterColour": false,
|
||||
"defaultName": "Foliage_Default",
|
||||
"variants": [
|
||||
"Foliage_Default",
|
||||
"Foliage_Evergreen",
|
||||
"Foliage_Birch",
|
||||
"Foliage_Mesa",
|
||||
"Foliage_Swampland"
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"internalName": "prismarine_bricks",
|
||||
@@ -1392,11 +1571,35 @@
|
||||
},
|
||||
{
|
||||
"internalName": "leaves_big_oak",
|
||||
"displayName": "Dark Oak Leaves"
|
||||
"displayName": "Dark Oak Leaves",
|
||||
"hasColourEntry": true,
|
||||
"colourEntry": {
|
||||
"isWaterColour": false,
|
||||
"defaultName": "Foliage_Default",
|
||||
"variants": [
|
||||
"Foliage_Default",
|
||||
"Foliage_Evergreen",
|
||||
"Foliage_Birch",
|
||||
"Foliage_Mesa",
|
||||
"Foliage_Swampland"
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"internalName": "leaves_big_oak_fast",
|
||||
"displayName": "Dark Oak Leaves (Opaque)"
|
||||
"displayName": "Dark Oak Leaves (Opaque)",
|
||||
"hasColourEntry": true,
|
||||
"colourEntry": {
|
||||
"isWaterColour": false,
|
||||
"defaultName": "Foliage_Default",
|
||||
"variants": [
|
||||
"Foliage_Default",
|
||||
"Foliage_Evergreen",
|
||||
"Foliage_Birch",
|
||||
"Foliage_Mesa",
|
||||
"Foliage_Swampland"
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"internalName": "prismarine_dark",
|
||||
@@ -1456,11 +1659,35 @@
|
||||
},
|
||||
{
|
||||
"internalName": "leaves_birch",
|
||||
"displayName": "Birch Leaves"
|
||||
"displayName": "Birch Leaves",
|
||||
"hasColourEntry": true,
|
||||
"colourEntry": {
|
||||
"isWaterColour": false,
|
||||
"defaultName": "Foliage_Birch",
|
||||
"variants": [
|
||||
"Foliage_Default",
|
||||
"Foliage_Evergreen",
|
||||
"Foliage_Birch",
|
||||
"Foliage_Mesa",
|
||||
"Foliage_Swampland"
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"internalName": "leaves_birch_fast",
|
||||
"displayName": "Birch Leaves (Opaque)"
|
||||
"displayName": "Birch Leaves (Opaque)",
|
||||
"hasColourEntry": true,
|
||||
"colourEntry": {
|
||||
"isWaterColour": false,
|
||||
"defaultName": "Foliage_Birch",
|
||||
"variants": [
|
||||
"Foliage_Default",
|
||||
"Foliage_Evergreen",
|
||||
"Foliage_Birch",
|
||||
"Foliage_Mesa",
|
||||
"Foliage_Swampland"
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"internalName": "prismarine_rough",
|
||||
@@ -1932,7 +2159,43 @@
|
||||
},
|
||||
{
|
||||
"internalName": "cauldron_water",
|
||||
"displayName": "Cauldron Water"
|
||||
"displayName": "Cauldron Water",
|
||||
"hasColourEntry": true,
|
||||
"colourEntry": {
|
||||
"isWaterColour": false,
|
||||
"defaultName": "Cauldron_Water",
|
||||
"variants": [
|
||||
"Cauldron_Water",
|
||||
"Effect_MovementSpeed",
|
||||
"Effect_MovementSlowDown",
|
||||
"Effect_DigSpeed",
|
||||
"Effect_DigSlowdown",
|
||||
"Effect_DamageBoost",
|
||||
"Effect_Heal",
|
||||
"Effect_Harm",
|
||||
"Effect_Jump",
|
||||
"Effect_Confusion",
|
||||
"Effect_Regeneration",
|
||||
"Effect_DamageResistance",
|
||||
"Effect_FireResistance",
|
||||
"Effect_WaterBreathing",
|
||||
"Effect_Invisibility",
|
||||
"Effect_Blindness",
|
||||
"Effect_NightVision",
|
||||
"Effect_Hunger",
|
||||
"Effect_Weakness",
|
||||
"Effect_Poison",
|
||||
"Effect_Wither",
|
||||
"Effect_HealthBoost",
|
||||
"Effect_Absorption",
|
||||
"Effect_Saturation",
|
||||
"Effect_Levitation",
|
||||
"Effect_Luck",
|
||||
"Effect_BadLuck",
|
||||
"Effect_TurtleMaster",
|
||||
"Effect_SlowFall"
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"internalName": "seagrass_doubletall_top",
|
||||
@@ -2502,7 +2765,13 @@
|
||||
"items": [
|
||||
{
|
||||
"internalName": "helmetCloth",
|
||||
"displayName": "Leather Cap"
|
||||
"displayName": "Leather Cap",
|
||||
"hasColourEntry": true,
|
||||
"colourEntry": {
|
||||
"isWaterColour": false,
|
||||
"defaultName": "Armour_Default_Leather_Colour",
|
||||
"variants": [ "Armour_Default_Leather_Colour" ]
|
||||
}
|
||||
},
|
||||
{
|
||||
"internalName": "helmetChain",
|
||||
@@ -2566,7 +2835,13 @@
|
||||
},
|
||||
{
|
||||
"internalName": "chestplateCloth",
|
||||
"displayName": "Leather Tunic"
|
||||
"displayName": "Leather Tunic",
|
||||
"hasColourEntry": true,
|
||||
"colourEntry": {
|
||||
"isWaterColour": false,
|
||||
"defaultName": "Armour_Default_Leather_Colour",
|
||||
"variants": [ "Armour_Default_Leather_Colour" ]
|
||||
}
|
||||
},
|
||||
{
|
||||
"internalName": "chestplateChain",
|
||||
@@ -2630,7 +2905,13 @@
|
||||
},
|
||||
{
|
||||
"internalName": "leggingsCloth",
|
||||
"displayName": "Leather Pants"
|
||||
"displayName": "Leather Pants",
|
||||
"hasColourEntry": true,
|
||||
"colourEntry": {
|
||||
"isWaterColour": false,
|
||||
"defaultName": "Armour_Default_Leather_Colour",
|
||||
"variants": [ "Armour_Default_Leather_Colour" ]
|
||||
}
|
||||
},
|
||||
{
|
||||
"internalName": "leggingsChain",
|
||||
@@ -2694,7 +2975,13 @@
|
||||
},
|
||||
{
|
||||
"internalName": "bootsCloth",
|
||||
"displayName": "Leather Boots"
|
||||
"displayName": "Leather Boots",
|
||||
"hasColourEntry": true,
|
||||
"colourEntry": {
|
||||
"isWaterColour": false,
|
||||
"defaultName": "Armour_Default_Leather_Colour",
|
||||
"variants": [ "Armour_Default_Leather_Colour" ]
|
||||
}
|
||||
},
|
||||
{
|
||||
"internalName": "bootsChain",
|
||||
@@ -2717,8 +3004,8 @@
|
||||
"displayName": "Stick"
|
||||
},
|
||||
{
|
||||
"internalName": "",
|
||||
"displayName": ""
|
||||
"internalName": "compass",
|
||||
"displayName": "Compass"
|
||||
},
|
||||
{
|
||||
"internalName": "diamond",
|
||||
@@ -2781,8 +3068,8 @@
|
||||
"displayName": "Fishing Rod"
|
||||
},
|
||||
{
|
||||
"internalName": "",
|
||||
"displayName": ""
|
||||
"internalName": "clock",
|
||||
"displayName": "Clock"
|
||||
},
|
||||
{
|
||||
"internalName": "bowl",
|
||||
@@ -3066,7 +3353,43 @@
|
||||
},
|
||||
{
|
||||
"internalName": "potion_contents",
|
||||
"displayName": "Potion (Overlay)"
|
||||
"displayName": "Potion (Overlay)",
|
||||
"hasColourEntry": true,
|
||||
"colourEntry": {
|
||||
"isWaterColour": false,
|
||||
"defaultName": "Potion_BaseColour",
|
||||
"variants": [
|
||||
"Potion_BaseColour",
|
||||
"Effect_MovementSpeed",
|
||||
"Effect_MovementSlowDown",
|
||||
"Effect_DigSpeed",
|
||||
"Effect_DigSlowdown",
|
||||
"Effect_DamageBoost",
|
||||
"Effect_Heal",
|
||||
"Effect_Harm",
|
||||
"Effect_Jump",
|
||||
"Effect_Confusion",
|
||||
"Effect_Regeneration",
|
||||
"Effect_DamageResistance",
|
||||
"Effect_FireResistance",
|
||||
"Effect_WaterBreathing",
|
||||
"Effect_Invisibility",
|
||||
"Effect_Blindness",
|
||||
"Effect_NightVision",
|
||||
"Effect_Hunger",
|
||||
"Effect_Weakness",
|
||||
"Effect_Poison",
|
||||
"Effect_Wither",
|
||||
"Effect_HealthBoost",
|
||||
"Effect_Absorption",
|
||||
"Effect_Saturation",
|
||||
"Effect_Levitation",
|
||||
"Effect_Luck",
|
||||
"Effect_BadLuck",
|
||||
"Effect_TurtleMaster",
|
||||
"Effect_SlowFall"
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"internalName": "dyePowder_blue",
|
||||
@@ -3182,7 +3505,30 @@
|
||||
},
|
||||
{
|
||||
"internalName": "bed_overlay",
|
||||
"displayName": "Bed (Overlay)"
|
||||
"displayName": "Bed (Overlay)",
|
||||
"hasColourEntry": true,
|
||||
"colourEntry": {
|
||||
"isWaterColour": false,
|
||||
"defaultName": "Bed_White",
|
||||
"variants": [
|
||||
"Bed_Black",
|
||||
"Bed_Blue",
|
||||
"Bed_Brown",
|
||||
"Bed_Cyan",
|
||||
"Bed_Grey",
|
||||
"Bed_Green",
|
||||
"Bed_Light_Blue",
|
||||
"Bed_Lime",
|
||||
"Bed_Magenta",
|
||||
"Bed_Orange",
|
||||
"Bed_Pink",
|
||||
"Bed_Purple",
|
||||
"Bed_Red",
|
||||
"Bed_Silver",
|
||||
"Bed_White",
|
||||
"Bed_Yellow"
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"internalName": "expBottle",
|
||||
@@ -3394,7 +3740,13 @@
|
||||
},
|
||||
{
|
||||
"internalName": "leather_horse_armor_base",
|
||||
"displayName": "Leather Horse Armor"
|
||||
"displayName": "Leather Horse Armor",
|
||||
"hasColourEntry": true,
|
||||
"colourEntry": {
|
||||
"isWaterColour": false,
|
||||
"defaultName": "Armour_Default_Leather_Colour",
|
||||
"variants": [ "Armour_Default_Leather_Colour" ]
|
||||
}
|
||||
},
|
||||
{
|
||||
"internalName": "structure_void",
|
||||
|
||||
@@ -26,11 +26,20 @@ using System.Runtime.CompilerServices;
|
||||
using PckStudio.Extensions;
|
||||
using PckStudio.Internal;
|
||||
|
||||
namespace PckStudio.Forms.Editor
|
||||
namespace PckStudio.ToolboxItems
|
||||
{
|
||||
internal class AnimationPictureBox : PictureBox
|
||||
internal class AnimationPictureBox : BlendPictureBox
|
||||
{
|
||||
public bool IsPlaying => _isPlaying;
|
||||
public bool IsPlaying
|
||||
{
|
||||
get
|
||||
{
|
||||
lock(l_playing)
|
||||
{
|
||||
return _isPlaying;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private const int TickInMillisecond = 50; // 1 InGame tick
|
||||
|
||||
@@ -39,6 +48,8 @@ namespace PckStudio.Forms.Editor
|
||||
private Animation.Frame currentFrame;
|
||||
private Animation _animation;
|
||||
private CancellationTokenSource cts = new CancellationTokenSource();
|
||||
private object l_dispose = new object();
|
||||
private object l_playing = new object();
|
||||
|
||||
public void Start(Animation animation)
|
||||
{
|
||||
@@ -62,18 +73,14 @@ namespace PckStudio.Forms.Editor
|
||||
currentFrame = SetAnimationFrame(index);
|
||||
}
|
||||
|
||||
protected override void OnPaint(PaintEventArgs pe)
|
||||
{
|
||||
pe.Graphics.InterpolationMode = InterpolationMode.NearestNeighbor;
|
||||
pe.Graphics.PixelOffsetMode = PixelOffsetMode.HighQuality;
|
||||
base.OnPaint(pe);
|
||||
}
|
||||
|
||||
private async void DoAnimate()
|
||||
{
|
||||
_ = _animation ?? throw new ArgumentNullException(nameof(_animation));
|
||||
_isPlaying = true;
|
||||
Animation.Frame nextFrame;
|
||||
lock (l_playing)
|
||||
{
|
||||
_isPlaying = true;
|
||||
}
|
||||
Animation.Frame nextFrame;
|
||||
while (!cts.IsCancellationRequested)
|
||||
{
|
||||
if (currentAnimationFrameIndex >= _animation.FrameCount)
|
||||
@@ -97,26 +104,49 @@ namespace PckStudio.Forms.Editor
|
||||
continue;
|
||||
}
|
||||
SetAnimationFrame(currentFrame);
|
||||
await Task.Delay(TickInMillisecond * currentFrame.Ticks);
|
||||
if (!await DelayAsync(TickInMillisecond * currentFrame.Ticks, cts.Token))
|
||||
break;
|
||||
}
|
||||
_isPlaying = false;
|
||||
}
|
||||
lock (l_playing)
|
||||
{
|
||||
_isPlaying = false;
|
||||
}
|
||||
}
|
||||
|
||||
private async Task InterpolateFrame(Animation.Frame currentFrame, Animation.Frame nextFrame)
|
||||
{
|
||||
for (int tick = 0; tick < currentFrame.Ticks && !cts.IsCancellationRequested; tick++)
|
||||
{
|
||||
double delta = 1.0f - tick / (double)currentFrame.Ticks;
|
||||
if (!IsDisposed)
|
||||
if (!IsHandleCreated)
|
||||
break;
|
||||
lock (l_dispose)
|
||||
{
|
||||
Invoke(() =>
|
||||
{
|
||||
if (!IsDisposed)
|
||||
Image = currentFrame.Texture.Interpolate(nextFrame.Texture, delta);
|
||||
Image = currentFrame.Texture.Interpolate(nextFrame.Texture, delta);
|
||||
});
|
||||
await Task.Delay(TickInMillisecond);
|
||||
}
|
||||
|
||||
if (!await DelayAsync(TickInMillisecond, cts.Token))
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
private async Task<bool> DelayAsync(int millisecondsDelay, CancellationToken cancellationToken, [CallerMemberName] string caller = default!)
|
||||
{
|
||||
try
|
||||
{
|
||||
await Task.Delay(millisecondsDelay, cancellationToken);
|
||||
}
|
||||
catch
|
||||
{
|
||||
Debug.WriteLine($"Stoping {caller}");
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
private Animation.Frame SetAnimationFrame(int frameIndex)
|
||||
{
|
||||
var frame = _animation.GetFrame(frameIndex);
|
||||
@@ -126,7 +156,23 @@ namespace PckStudio.Forms.Editor
|
||||
|
||||
private void SetAnimationFrame(Animation.Frame frame)
|
||||
{
|
||||
Invoke(() => Image = frame.Texture);
|
||||
if (!IsHandleCreated)
|
||||
return;
|
||||
lock (l_dispose)
|
||||
{
|
||||
Invoke(() =>
|
||||
{
|
||||
Image = frame.Texture;
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
lock(l_dispose)
|
||||
{
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
52
PCK-Studio/ToolboxItems/BlendPictureBox.cs
Normal file
52
PCK-Studio/ToolboxItems/BlendPictureBox.cs
Normal file
@@ -0,0 +1,52 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using PckStudio.Extensions;
|
||||
|
||||
namespace PckStudio.ToolboxItems
|
||||
{
|
||||
internal class BlendPictureBox : InterpolationPictureBox
|
||||
{
|
||||
[DefaultValue(false)]
|
||||
[Category("Blending")]
|
||||
public bool UseBlendColor
|
||||
{
|
||||
get => _useBlendColor;
|
||||
set => _useBlendColor = value;
|
||||
}
|
||||
|
||||
[DefaultValue(typeof(Color), "Color.White")]
|
||||
[Category("Blending")]
|
||||
public Color BlendColor
|
||||
{
|
||||
get => _blendColor;
|
||||
set => _blendColor = value;
|
||||
}
|
||||
|
||||
[DefaultValue(typeof(BlendMode), "BlendMode.Add")]
|
||||
[Category("Blending")]
|
||||
public BlendMode BlendMode
|
||||
{
|
||||
get => _blendMode;
|
||||
set => _blendMode = value;
|
||||
}
|
||||
|
||||
private bool _useBlendColor = false;
|
||||
private Color _blendColor = Color.White;
|
||||
private BlendMode _blendMode = BlendMode.Add;
|
||||
|
||||
public new Image Image
|
||||
{
|
||||
get => base.Image;
|
||||
set {
|
||||
if (value is null)
|
||||
return;
|
||||
base.Image = UseBlendColor && BlendColor != Color.White ? value.Blend(BlendColor, BlendMode) : value;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,12 +1,12 @@
|
||||
using System.Drawing.Drawing2D;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace PckStudio
|
||||
namespace PckStudio.ToolboxItems
|
||||
{
|
||||
/// <summary>
|
||||
/// Inherits from PictureBox; adds Interpolation Mode Setting
|
||||
/// </summary>
|
||||
public class PictureBoxWithInterpolationMode : PictureBox
|
||||
public class InterpolationPictureBox : PictureBox
|
||||
{
|
||||
public InterpolationMode InterpolationMode { get; set; }
|
||||
|
||||
@@ -4,7 +4,7 @@ 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
|
||||
namespace PckStudio.ToolboxItems
|
||||
{
|
||||
public class ToolStripRadioButtonMenuItem : ToolStripMenuItem
|
||||
{
|
||||
Reference in New Issue
Block a user