This commit is contained in:
PhoenixARC
2021-06-20 10:55:29 -04:00
parent 85d7dc3d6e
commit 6b68cb9b97
65 changed files with 18039 additions and 3695 deletions

View File

@@ -1,41 +1,41 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1" />
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.8"/>
</startup>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="SharpDX" publicKeyToken="b4dcf0f35e5521f1" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-3.1.1.0" newVersion="3.1.1.0" />
<assemblyIdentity name="SharpDX" publicKeyToken="b4dcf0f35e5521f1" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-3.1.1.0" newVersion="3.1.1.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="SharpDX.DXGI" publicKeyToken="b4dcf0f35e5521f1" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-3.1.1.0" newVersion="3.1.1.0" />
<assemblyIdentity name="SharpDX.DXGI" publicKeyToken="b4dcf0f35e5521f1" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-3.1.1.0" newVersion="3.1.1.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.IO.Compression" publicKeyToken="b77a5c561934e089" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.1.2.0" newVersion="4.1.2.0" />
<assemblyIdentity name="System.IO.Compression" publicKeyToken="b77a5c561934e089" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.1.2.0" newVersion="4.1.2.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Diagnostics.DiagnosticSource" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" />
<assemblyIdentity name="System.Diagnostics.DiagnosticSource" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.IO.FileSystem" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.2.0" newVersion="4.0.2.0" />
<assemblyIdentity name="System.IO.FileSystem" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.0.2.0" newVersion="4.0.2.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.IO.FileSystem.Primitives" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.2.0" newVersion="4.0.2.0" />
<assemblyIdentity name="System.IO.FileSystem.Primitives" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.0.2.0" newVersion="4.0.2.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Security.Cryptography.Primitives" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" />
<assemblyIdentity name="System.Security.Cryptography.Primitives" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Security.Cryptography.Algorithms" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.1.0.0" newVersion="4.1.0.0" />
<assemblyIdentity name="System.Security.Cryptography.Algorithms" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.1.0.0" newVersion="4.1.0.0"/>
</dependentAssembly>
</assemblyBinding>
</runtime>

View File

@@ -0,0 +1,111 @@
using System;
using System.IO;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace PckStudio.Classes
{
static class COL
{
public class COLFile
{
byte[] data;
List<byte> extradata = new List<byte>();
public List<object[]> entries = new List<object[]>();
public void Open(byte[] filePath)
{
data = filePath;
COL.Open(this, entries, data, extradata);
foreach (object[] obj in entries)
{
Console.WriteLine(obj[0].ToString() + " - #" + obj[1]);
}
}
public byte[] Save()
{
List<byte> SaveData = new List<byte>();
SaveData.AddRange(new byte[] { 0x00, 0x00, 0x00, 0x01 });
Console.WriteLine(entries.Count);
List<byte> ItemAmmount = new List<byte>();
ItemAmmount.AddRange(BitConverter.GetBytes(entries.Count));
ItemAmmount.Reverse();
byte[] ItemNum = ItemAmmount.ToArray();
ItemNum.Reverse();
Console.WriteLine(BitConverter.ToString(ItemNum));
SaveData.AddRange(ItemNum);
foreach (object[] obj in entries)
{
//Console.WriteLine(obj[0] + " - #" + obj[1]);
byte[] NameLength = (BitConverter.GetBytes(obj[0].ToString().Length));
SaveData.Add(NameLength[1]);
SaveData.Add(NameLength[0]);
SaveData.AddRange(Encoding.ASCII.GetBytes(obj[0].ToString()));
SaveData.Add(data[SaveData.Count]);
SaveData.AddRange(StringToByteArrayFastest(obj[1].ToString()));
}
SaveData.AddRange(extradata);
return SaveData.ToArray();
//File.WriteAllBytes(Path.GetDirectoryName(filePath) + "\\coloursSaved.col", SaveData.ToArray());
}
}
public static void Open(COLFile This, List<object[]> entries, byte[] data, List<byte> extradata)
{
List<byte> MaxEntArrTemp = new List<byte>();
MaxEntArrTemp.AddRange(data.Skip(4).Take(4));
MaxEntArrTemp.Reverse();
int MaxEntries = BitConverter.ToInt32(MaxEntArrTemp.ToArray(), 0);
int i = 1;
int LeftAt = 8;
while (i <= MaxEntries)
{
List<byte> ItemNameLength = new List<byte>();
ItemNameLength.AddRange(data.Skip(LeftAt).Take(2));
ItemNameLength.Reverse();
int EntryLength = BitConverter.ToInt16(ItemNameLength.ToArray(), 0);
//Console.WriteLine(EntryLength);
byte[] ItemName = (data.Skip(LeftAt + 2).Take(EntryLength).ToArray());
byte[] ItemHex = (data.Skip(LeftAt + 3 + EntryLength).Take(3).ToArray());
object[] outentry = { System.Text.Encoding.Default.GetString(ItemName), BitConverter.ToString(ItemHex).Replace("-", "") };
entries.Add(outentry);
LeftAt = LeftAt + 6 + EntryLength;
i++;
}
Console.WriteLine(LeftAt);
Console.WriteLine(data.Length);
Console.WriteLine(data.Length - LeftAt);
extradata.AddRange(data.Skip(LeftAt).Take((data.Length) - LeftAt).ToArray());
}
static byte[] StringToByteArrayFastest(string hex)
{
if (hex.Length % 2 == 1)
throw new Exception("The binary key cannot have an odd number of digits");
byte[] arr = new byte[hex.Length >> 1];
for (int i = 0; i < hex.Length >> 1; ++i)
{
arr[i] = (byte)((GetHexVal(hex[i << 1]) << 4) + (GetHexVal(hex[(i << 1) + 1])));
}
return arr;
}
static int GetHexVal(char hex)
{
int val = (int)hex;
//For uppercase A-F letters:
//return val - (val < 58 ? 48 : 55);
//For lowercase a-f letters:
//return val - (val < 58 ? 48 : 87);
//Or the two combined, but a bit slower:
return val - (val < 58 ? 48 : (val < 97 ? 55 : 87));
}
}
}

View File

@@ -0,0 +1,91 @@
using System;
using System.Drawing;
using System.IO;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using MinecraftUSkinEditor.Models;
namespace PckStudio.Classes
{
class CSM
{
//Part Name
//Part Parent(HEAD, BODY, LEG0, LEG1, ARM0, ARM1)
//Part Name
//Position-X
//Position-Y
//Position-Z
//Size-X
//Size-Y
//Size-Z
//UV-Y
//UV-X
public static List<string> CSMBlock = new List<string>();
public static void TryParse(string CSM, MinecraftModelView modelView)
{
try
{
int i = 0;
string[] CSMLines = CSM.Split(new[] { "\n", "\r\n" }, StringSplitOptions.None);
foreach (string line in CSMLines)
{
if (i > 10)
{
GetModelPartFromCSM(CSMBlock, modelView);
CSMBlock.Clear();
i = 0;
}
CSMBlock.Add(line + "\n");
i++;
}
modelView.Invalidate();
}
catch { }
}
public static void GetModelPartFromCSM(List<string> CSM, MinecraftModelView modelView)
{
string PartName = CSM[0];
string PartParent = CSM[1];
string PartName2 = CSM[2];
int PositionX = int.Parse(CSM[3]);
int PositionY = int.Parse(CSM[4]);
int PositionZ = int.Parse(CSM[5]);
int SizeX = int.Parse(CSM[6]);
int SizeY = int.Parse(CSM[7]);
int SizeZ = int.Parse(CSM[8]);
int UVY = int.Parse(CSM[9]);
int UVX = int.Parse(CSM[10]);
//RenderBox
System.Drawing.Image source = Textures[0].Source;
Object3D object3D = new Box(source, new System.Drawing.Rectangle(8, 0, 0x10, 8), new System.Drawing.Rectangle(0, 8, 0x20, 8), new Point3D(0f, 0f, 0f), Effects.None);
Object3D object3D2 = new Box(source, new System.Drawing.Rectangle(0x28, 0, 0x10, 8), new System.Drawing.Rectangle(0x20, 8, 0x20, 8), new Point3D(0f, 0f, 0f), Effects.None);
Object3D object3D3 = new Box(source, new System.Drawing.Rectangle(0x2C, 0x10, 8, 4), new System.Drawing.Rectangle(0x28, 0x14, 0x20, 0xC), new Point3D(0f, 4f, 0f), Effects.FlipHorizontally);
//RenderGroup
Object3DGroup object3DGroup = new Object3DGroup();
object3D2.Scale = 1.16f;
object3DGroup.RotationOrder = RotationOrders.XY;
object3DGroup.MinDegrees1 = -80f;
object3DGroup.MaxDegrees1 = 80f;
object3DGroup.MinDegrees2 = -57f;
object3DGroup.MaxDegrees2 = 57f;
object3DGroup.Add(object3D);
object3DGroup.Add(object3D2);
object3DGroup.Position = new Point3D(0f, 8f, 0f);
object3DGroup.Origin = new Point3D(0f, -4f, 0f);
object3DGroup.RotationOrder = RotationOrders.XY;
modelView.AddDynamic(object3DGroup);
}
public static Texture[] Textures = new Texture[] { new Texture(Bitmap.FromFile(Environment.CurrentDirectory + "\\default.png")) };
}
}

View File

@@ -19,6 +19,7 @@ namespace MinecraftUSkinEditor
public FileData(byte[] b)
{
this.p = 0;
this.b = b;
}
@@ -50,7 +51,9 @@ namespace MinecraftUSkinEditor
{
return (b[p++] & 0xFF) | ((b[p++] & 0xFF) << 8) | ((b[p++] & 0xFF) << 16) | ((b[p++] & 0xFF) << 24);
}
return ((b[p++] & 0xFF) << 24) | ((b[p++] & 0xFF) << 16) | ((b[p++] & 0xFF) << 8) | (b[p++] & 0xFF);
int d = p;
int oot = ((b[p++] & 0xFF) << 24) | ((b[p++] & 0xFF) << 16) | ((b[p++] & 0xFF) << 8) | (b[p++] & 0xFF);
return oot;
}
public int readThree()
@@ -71,6 +74,35 @@ namespace MinecraftUSkinEditor
return ((b[p++] & 0xFF) << 8) | (b[p++] & 0xFF);
}
public int readIntVita()
{
if (Endian != Endianness.Little)
{
int d = p;
return (b[p++] & 0xFF) | ((b[p++] & 0xFF) << 8) | ((b[p++] & 0xFF) << 16) | ((b[p++] & 0xFF) << 24);
}
int oot = ((b[p++] & 0xFF) << 24) | ((b[p++] & 0xFF) << 16) | ((b[p++] & 0xFF) << 8) | (b[p++] & 0xFF);
return oot;
}
public int readThreeVita()
{
if (Endian != Endianness.Little)
{
return (b[p++] & 0xFF) | ((b[p++] & 0xFF) << 8) | ((b[p++] & 0xFF) << 16);
}
return ((b[p++] & 0xFF) << 16) | ((b[p++] & 0xFF) << 8) | (b[p++] & 0xFF);
}
public int readShortVita()
{
if (Endian != Endianness.Little)
{
return (b[p++] & 0xFF) | ((b[p++] & 0xFF) << 8);
}
return ((b[p++] & 0xFF) << 8) | (b[p++] & 0xFF);
}
public int readByte()
{
return b[p++] & 0xFF;

View File

@@ -87,6 +87,24 @@ namespace MinecraftUSkinEditor
}
}
public void writeIntVita(int i)
{
if (Endian != Endianness.Little)
{
data.Add((byte)((i) & 0xFF));
data.Add((byte)((i >> 8) & 0xFF));
data.Add((byte)((i >> 16) & 0xFF));
data.Add((byte)((i >> 24) & 0xFF));
}
else
{
data.Add((byte)((i >> 24) & 0xFF));
data.Add((byte)((i >> 16) & 0xFF));
data.Add((byte)((i >> 8) & 0xFF));
data.Add((byte)((i) & 0xFF));
}
}
public void align(int i){
while(data.Count % i != 0)
writeByte(0);

View File

@@ -0,0 +1,11 @@
using System;
namespace MinecraftUSkinEditor.Models
{
public enum BackgroundTypes
{
Color,
Gradient,
Texture
}
}

View File

@@ -0,0 +1,14 @@
using System;
namespace MinecraftUSkinEditor.Models
{
public enum Backgrounds
{
LightStone,
DarkStone,
DaySky,
NightSky,
Sunset,
Transparent
}
}

View File

@@ -0,0 +1,157 @@
using System;
namespace MinecraftUSkinEditor.Models
{
public class Box : global::MinecraftUSkinEditor.Models.Object3D
{
public override global::System.Drawing.Image Image
{
set
{
this.SetImage(value);
}
}
internal override global::MinecraftUSkinEditor.Models.MinecraftModelView Viewport
{
set
{
base.Viewport = value;
this.top.Viewport = value;
this.bottom.Viewport = value;
this.front.Viewport = value;
this.back.Viewport = value;
this.left.Viewport = value;
this.right.Viewport = value;
this.Update();
}
}
internal override void Update()
{
global::MinecraftUSkinEditor.Models.Matrix3D a = this.globalTransformation * this.localTransformation;
this.top.LocalTransformation = a * this.topLocalTransformation;
this.bottom.LocalTransformation = a * this.bottomLocalTransformation;
this.front.LocalTransformation = a * this.frontLocalTransformation;
this.back.LocalTransformation = a * this.backLocalTransformation;
this.left.LocalTransformation = a * this.leftLocalTransformation;
this.right.LocalTransformation = a * this.rightLocalTransformation;
}
public Box(global::System.Drawing.Image image, global::System.Drawing.Rectangle srcTopBottom, global::System.Drawing.Rectangle srcSides, global::MinecraftUSkinEditor.Models.Point3D origin, global::MinecraftUSkinEditor.Models.Effects effects)
{
this.effects = effects;
base.Origin = origin;
this.SetImage(image, srcTopBottom, srcSides);
}
private void SetImage(global::System.Drawing.Image image, global::System.Drawing.Rectangle srcTopBottom, global::System.Drawing.Rectangle srcSides)
{
int num = srcTopBottom.Width / 2;
int height = srcSides.Height;
int height2 = srcTopBottom.Height;
this.srcTop = new global::System.Drawing.Rectangle(srcTopBottom.Location, new global::System.Drawing.Size(num, height2));
this.srcBottom = new global::System.Drawing.Rectangle(srcTopBottom.X + num, srcTopBottom.Y, num, height2);
this.srcFront = new global::System.Drawing.Rectangle(srcSides.X + height2, srcSides.Y, num, height);
this.srcBack = new global::System.Drawing.Rectangle(srcSides.X + height2 + num + height2, srcSides.Y, num, height);
this.srcLeft = new global::System.Drawing.Rectangle(srcSides.Location, new global::System.Drawing.Size(height2, height));
this.srcRight = new global::System.Drawing.Rectangle(srcSides.X + height2 + num, srcSides.Y, height2, height);
this.SetImage(image);
}
private void SetImage(global::System.Drawing.Image image)
{
bool flag = (byte)(this.effects & global::MinecraftUSkinEditor.Models.Effects.FlipHorizontally) == 1;
bool flag2 = (byte)(this.effects & global::MinecraftUSkinEditor.Models.Effects.FlipVertically) == 2;
int width = this.srcFront.Width;
int height = this.srcFront.Height;
int width2 = this.srcLeft.Width;
this.top = new global::MinecraftUSkinEditor.Models.TexturePlane(image, flag2 ? this.srcBottom : this.srcTop, new global::MinecraftUSkinEditor.Models.Point3D((float)width * 0.5f, (float)width2 * 0.5f, (float)(-(float)height) * 0.5f), new global::MinecraftUSkinEditor.Models.Point3D(0f, 1f, 0f), this.effects & global::MinecraftUSkinEditor.Models.Effects.FlipHorizontally);
this.bottom = new global::MinecraftUSkinEditor.Models.TexturePlane(image, flag2 ? this.srcTop : this.srcBottom, new global::MinecraftUSkinEditor.Models.Point3D((float)width / 2f, (float)width2 / 2f, (float)height / 2f), new global::MinecraftUSkinEditor.Models.Point3D(0f, -1f, 0f), this.effects & global::MinecraftUSkinEditor.Models.Effects.FlipHorizontally);
this.front = new global::MinecraftUSkinEditor.Models.TexturePlane(image, this.srcFront, new global::MinecraftUSkinEditor.Models.Point3D((float)width * 0.5f, (float)height * 0.5f, (float)(-(float)width2) * 0.5f), new global::MinecraftUSkinEditor.Models.Point3D(0f, 0f, 1f), this.effects);
this.back = new global::MinecraftUSkinEditor.Models.TexturePlane(image, this.srcBack, new global::MinecraftUSkinEditor.Models.Point3D((float)width * 0.5f, (float)height * 0.5f, (float)(-(float)width2) * 0.5f), new global::MinecraftUSkinEditor.Models.Point3D(0f, 0f, -1f), this.effects);
this.left = new global::MinecraftUSkinEditor.Models.TexturePlane(image, flag ? this.srcRight : this.srcLeft, new global::MinecraftUSkinEditor.Models.Point3D((float)width2 * 0.5f, (float)height * 0.5f, (float)(-(float)width) * 0.5f), new global::MinecraftUSkinEditor.Models.Point3D(-1f, 0f, 0f), this.effects);
this.right = new global::MinecraftUSkinEditor.Models.TexturePlane(image, flag ? this.srcLeft : this.srcRight, new global::MinecraftUSkinEditor.Models.Point3D((float)width2 * 0.5f, (float)height * 0.5f, (float)(-(float)width) * 0.5f), new global::MinecraftUSkinEditor.Models.Point3D(1f, 0f, 0f), this.effects);
this.top.Viewport = this.viewport;
this.bottom.Viewport = this.viewport;
this.front.Viewport = this.viewport;
this.back.Viewport = this.viewport;
this.left.Viewport = this.viewport;
this.right.Viewport = this.viewport;
}
public override float HitTest(global::System.Drawing.PointF location)
{
float num = -1000f;
float num2 = this.top.HitTest(location);
if (num2 > num)
{
num = num2;
}
num2 = this.bottom.HitTest(location);
if (num2 > num)
{
num = num2;
}
num2 = this.front.HitTest(location);
if (num2 > num)
{
num = num2;
}
num2 = this.back.HitTest(location);
if (num2 > num)
{
num = num2;
}
num2 = this.left.HitTest(location);
if (num2 > num)
{
num = num2;
}
num2 = this.right.HitTest(location);
if (num2 > num)
{
num = num2;
}
return num;
}
private global::MinecraftUSkinEditor.Models.TexturePlane top;
private global::MinecraftUSkinEditor.Models.TexturePlane bottom;
private global::MinecraftUSkinEditor.Models.TexturePlane front;
private global::MinecraftUSkinEditor.Models.TexturePlane back;
private global::MinecraftUSkinEditor.Models.TexturePlane left;
private global::MinecraftUSkinEditor.Models.TexturePlane right;
private global::System.Drawing.Rectangle srcTop;
private global::System.Drawing.Rectangle srcBottom;
private global::System.Drawing.Rectangle srcFront;
private global::System.Drawing.Rectangle srcBack;
private global::System.Drawing.Rectangle srcLeft;
private global::System.Drawing.Rectangle srcRight;
private global::MinecraftUSkinEditor.Models.Matrix3D topLocalTransformation = global::MinecraftUSkinEditor.Models.Matrix3D.CreateRotationX(-1.57079637f);
private global::MinecraftUSkinEditor.Models.Matrix3D bottomLocalTransformation = global::MinecraftUSkinEditor.Models.Matrix3D.CreateRotationX(-1.57079637f);
private global::MinecraftUSkinEditor.Models.Matrix3D frontLocalTransformation = global::MinecraftUSkinEditor.Models.Matrix3D.Identity;
private global::MinecraftUSkinEditor.Models.Matrix3D backLocalTransformation = global::MinecraftUSkinEditor.Models.Matrix3D.CreateRotationY(3.14159274f);
private global::MinecraftUSkinEditor.Models.Matrix3D leftLocalTransformation = global::MinecraftUSkinEditor.Models.Matrix3D.CreateRotationY(-1.57079637f);
private global::MinecraftUSkinEditor.Models.Matrix3D rightLocalTransformation = global::MinecraftUSkinEditor.Models.Matrix3D.CreateRotationY(1.57079637f);
private global::MinecraftUSkinEditor.Models.Effects effects;
}
}

View File

@@ -0,0 +1,84 @@
using System;
using System.IO;
using System.Drawing;
using MinecraftUSkinEditor.Models;
using PckStudio.Properties;
namespace MinecraftUSkinEditor.Models
{
internal class CharacterModel : ModelBase
{
public CharacterModel()
{
}
protected override Texture[] InitializeTextures()
{
return new Texture[]
{
new Texture(PckStudio.Properties.Resources.man)
};
}
public override void AddToModelView(MinecraftModelView modelView)
{
System.Drawing.Image source = base.Textures[0].Source;
Object3D object3D = new Box(source, new System.Drawing.Rectangle(8, 0, 0x10, 8), new System.Drawing.Rectangle(0, 8, 0x20, 8), new Point3D(0f, 0f, 0f), Effects.None);
Object3D object3D2 = new Box(source, new System.Drawing.Rectangle(0x28, 0, 0x10, 8), new System.Drawing.Rectangle(0x20, 8, 0x20, 8), new Point3D(0f, 0f, 0f), Effects.None);
Object3D object3D3 = new Box(source, new System.Drawing.Rectangle(0x2C, 0x10, 8, 4), new System.Drawing.Rectangle(0x28, 0x14, 0x20, 0xC), new Point3D(0f, 4f, 0f), Effects.FlipHorizontally);
Object3D object3D4 = new Box(source, new System.Drawing.Rectangle(0x2C, 0x10, 8, 4), new System.Drawing.Rectangle(0x28, 0x14, 0x20, 0xC), new Point3D(0f, 4f, 0f), Effects.None);
Object3D object3D5 = new Box(source, new System.Drawing.Rectangle(4, 0x10, 8, 4), new System.Drawing.Rectangle(0, 0x14, 0x10, 0xC), new Point3D(0f, 6f, 0f), Effects.FlipHorizontally);
Object3D object3D6 = new Box(source, new System.Drawing.Rectangle(4, 0x10, 8, 4), new System.Drawing.Rectangle(0, 0x14, 0x10, 0xC), new Point3D(0f, 6f, 0f), Effects.None);
Object3D object3D7 = new Box(source, new System.Drawing.Rectangle(0x14, 0x10, 0x10, 4), new System.Drawing.Rectangle(0x10, 0x14, 0x18, 0xC), new Point3D(0f, 0f, 0f), Effects.None);
Object3DGroup object3DGroup = new Object3DGroup();
object3D2.Scale = 1.16f;
object3DGroup.RotationOrder = RotationOrders.XY;
object3DGroup.MinDegrees1 = -80f;
object3DGroup.MaxDegrees1 = 80f;
object3DGroup.MinDegrees2 = -57f;
object3DGroup.MaxDegrees2 = 57f;
object3DGroup.Add(object3D);
object3DGroup.Add(object3D2);
object3DGroup.Position = new Point3D(0f, 8f, 0f);
object3DGroup.Origin = new Point3D(0f, -4f, 0f);
object3DGroup.RotationOrder = RotationOrders.XY;
object3D7.Position = new Point3D(0f, 2f, 0f);
object3D3.Position = new Point3D(6f, 6f, 0f);
object3D3.RotationOrder = RotationOrders.ZX;
object3D3.MinDegrees1 = 0f;
object3D3.MaxDegrees1 = 160f;
object3D3.MinDegrees2 = -170f;
object3D3.MaxDegrees2 = 60f;
object3D4.Position = new Point3D(-6f, 6f, 0f);
object3D4.RotationOrder = RotationOrders.ZX;
object3D4.MinDegrees1 = -160f;
object3D4.MaxDegrees1 = 0f;
object3D4.MinDegrees2 = -170f;
object3D4.MaxDegrees2 = 60f;
object3D5.Position = new Point3D(2f, -4f, 0f);
object3D5.RotationOrder = RotationOrders.ZX;
object3D5.MinDegrees1 = 0f;
object3D5.MaxDegrees1 = 70f;
object3D5.MinDegrees2 = -110f;
object3D5.MaxDegrees2 = 60f;
object3D6.Position = new Point3D(-2f, -4f, 0f);
object3D6.RotationOrder = RotationOrders.ZX;
object3D6.MinDegrees1 = -70f;
object3D6.MaxDegrees1 = 0f;
object3D6.MinDegrees2 = -110f;
object3D6.MaxDegrees2 = 60f;
modelView.AddDynamic(object3DGroup);
modelView.AddStatic(object3D7);
modelView.AddDynamic(object3D4);
modelView.AddDynamic(object3D3);
modelView.AddDynamic(object3D6);
modelView.AddDynamic(object3D5);
}
public override string ToString()
{
return "Character";
}
}
}

View File

@@ -0,0 +1,85 @@
using System;
using MinecraftUSkinEditor.Models;
using System.Runtime.CompilerServices;
using System.Threading;
namespace MinecraftUSkinEditor.Models
{
public abstract class ModelBase
{
public ModelBase()
{
textures = InitializeTextures();
foreach (Texture texture in textures)
{
texture.Updatedx += delegate(object sender, System.EventArgs args)
{
OnUpdated();
};
}
}
public Texture[] textures;
public System.EventHandler Updated;
public Texture[] Textures
{
get
{
return textures;
}
}
public event System.EventHandler Updatedx
{
add
{
System.EventHandler eventHandler = Updated;
System.EventHandler eventHandler2;
do
{
eventHandler2 = eventHandler;
System.EventHandler value2 = (System.EventHandler)System.Delegate.Combine(eventHandler2, value);
eventHandler = System.Threading.Interlocked.CompareExchange<System.EventHandler>(ref Updated, value2, eventHandler2);
}
while (eventHandler != eventHandler2);
}
remove
{
System.EventHandler eventHandler = Updated;
System.EventHandler eventHandler2;
do
{
eventHandler2 = eventHandler;
System.EventHandler value2 = (System.EventHandler)System.Delegate.Remove(eventHandler2, value);
eventHandler = System.Threading.Interlocked.CompareExchange<System.EventHandler>(ref Updated, value2, eventHandler2);
}
while (eventHandler != eventHandler2);
}
}
protected void OnUpdated()
{
if (Updated != null)
{
Updated(this, System.EventArgs.Empty);
}
}
protected abstract Texture[] InitializeTextures();
public abstract void AddToModelView(MinecraftModelView modelView);
[System.Runtime.CompilerServices.CompilerGenerated]
private void b__0(object sender, System.EventArgs args)
{
OnUpdated();
}
}
}

View File

@@ -0,0 +1,140 @@
using System;
using System.Drawing;
using System.IO;
using System.Runtime.CompilerServices;
using System.Threading;
namespace MinecraftUSkinEditor.Models
{
public class Texture
{
public System.Drawing.Size Size
{
get
{
return this.defaultSource.Size;
}
}
public int Width
{
get
{
return this.defaultSource.Width;
}
}
public int Height
{
get
{
return this.defaultSource.Height;
}
}
public System.Drawing.Image Source
{
get
{
if (this.customSource != null)
{
return this.customSource;
}
return this.defaultSource;
}
set
{
if (value == this.customSource)
{
return;
}
if (value == null)
{
this.customSource = null;
}
else
{
if (value.Width != this.defaultSource.Width || value.Height != this.defaultSource.Height)
{
throw new System.ArgumentException("Tekstura ma nieodpowiedni rozmiar");
}
this.customSource = value;
}
this.OnUpdated();
}
}
public string FileName
{
[System.Runtime.CompilerServices.CompilerGenerated]
get
{
return this.k__BackingField;
}
[System.Runtime.CompilerServices.CompilerGenerated]
set
{
this.k__BackingField = value;
}
}
public event System.EventHandler Updatedx
{
add
{
System.EventHandler eventHandler = this.Updated;
System.EventHandler eventHandler2;
do
{
eventHandler2 = eventHandler;
System.EventHandler value2 = (System.EventHandler)System.Delegate.Combine(eventHandler2, value);
eventHandler = System.Threading.Interlocked.CompareExchange<System.EventHandler>(ref this.Updated, value2, eventHandler2);
}
while (eventHandler != eventHandler2);
}
remove
{
System.EventHandler eventHandler = this.Updated;
System.EventHandler eventHandler2;
do
{
eventHandler2 = eventHandler;
System.EventHandler value2 = (System.EventHandler)System.Delegate.Remove(eventHandler2, value);
eventHandler = System.Threading.Interlocked.CompareExchange<System.EventHandler>(ref this.Updated, value2, eventHandler2);
}
while (eventHandler != eventHandler2);
}
}
protected void OnUpdated()
{
if (this.Updated != null)
{
this.Updated(this, System.EventArgs.Empty);
}
}
public Texture(System.Drawing.Image defaultSource)
{
this.defaultSource = defaultSource;
}
public override string ToString()
{
if (this.customSource != null)
{
return System.IO.Path.GetFileName(this.FileName);
}
return this.defaultSource.Width + " x " + this.defaultSource.Height;
}
private System.Drawing.Image defaultSource;
private System.Drawing.Image customSource;
private System.EventHandler Updated;
[System.Runtime.CompilerServices.CompilerGenerated]
private string k__BackingField;
}
}

View File

@@ -0,0 +1,195 @@
using System;
using System.ComponentModel;
using System.Drawing;
using System.Globalization;
using System.IO;
using System.Windows.Forms;
using MinecraftUSkinEditor.Models;
using PckStudio.Properties;
namespace MinecraftUSkinEditor.Models
{
public class TextureSelector : global::System.Windows.Forms.UserControl
{
protected override void Dispose(bool disposing)
{
if (disposing && this.components != null)
{
this.components.Dispose();
}
base.Dispose(disposing);
}
private void InitializeComponent()
{
this.textureNameBox = new global::System.Windows.Forms.TextBox();
this.browseButton = new global::System.Windows.Forms.Button();
this.openFileDialog = new global::System.Windows.Forms.OpenFileDialog();
this.reloadButton = new global::System.Windows.Forms.Button();
base.SuspendLayout();
this.textureNameBox.Anchor = (global::System.Windows.Forms.AnchorStyles.Top | global::System.Windows.Forms.AnchorStyles.Left | global::System.Windows.Forms.AnchorStyles.Right);
this.textureNameBox.Enabled = false;
this.textureNameBox.Location = new global::System.Drawing.Point(3, 5);
this.textureNameBox.Name = "textureNameBox";
this.textureNameBox.Size = new global::System.Drawing.Size(0x86, 0x14);
this.textureNameBox.TabIndex = 0;
this.browseButton.Anchor = (global::System.Windows.Forms.AnchorStyles.Top | global::System.Windows.Forms.AnchorStyles.Right);
this.browseButton.Location = new global::System.Drawing.Point(0x8F, 3);
this.browseButton.Name = "browseButton";
this.browseButton.Size = new global::System.Drawing.Size(0x20, 0x17);
this.browseButton.TabIndex = 1;
this.browseButton.Text = "...";
this.browseButton.UseVisualStyleBackColor = true;
this.browseButton.Click += this.OnBrowseButtonClick;
this.openFileDialog.DefaultExt = "png";
this.openFileDialog.Filter = "PNG (*.png)|*.png";
this.reloadButton.Anchor = (global::System.Windows.Forms.AnchorStyles.Top | global::System.Windows.Forms.AnchorStyles.Right);
this.reloadButton.Enabled = false;
this.reloadButton.Image = global::PckStudio.Properties.Resources.BINKA_ICON;
this.reloadButton.Location = new global::System.Drawing.Point(0xB5, 3);
this.reloadButton.Name = "reloadButton";
this.reloadButton.Size = new global::System.Drawing.Size(0x20, 0x17);
this.reloadButton.TabIndex = 1;
this.reloadButton.UseVisualStyleBackColor = true;
this.reloadButton.Click += this.OnReloadButtonClick;
this.AllowDrop = true;
base.AutoScaleDimensions = new global::System.Drawing.SizeF(6f, 13f);
base.AutoScaleMode = global::System.Windows.Forms.AutoScaleMode.Font;
base.Controls.Add(this.reloadButton);
base.Controls.Add(this.browseButton);
base.Controls.Add(this.textureNameBox);
base.Margin = new global::System.Windows.Forms.Padding(0);
base.Name = "TextureSelector";
base.Size = new global::System.Drawing.Size(0xD8, 0x20);
base.ResumeLayout(false);
base.PerformLayout();
}
public global::MinecraftUSkinEditor.Models.Texture Texture
{
get
{
return this.texture;
}
set
{
this.texture = value;
this.UpdateTextureName();
this.UpdateReloadButton();
}
}
private void UpdateTextureName()
{
this.textureNameBox.Text = this.texture.ToString();
}
private void UpdateReloadButton()
{
this.reloadButton.Enabled = (this.texture != null && !string.IsNullOrEmpty(this.texture.FileName));
}
public TextureSelector()
{
this.InitializeComponent();
global::System.Windows.Forms.ToolTip toolTip = new global::System.Windows.Forms.ToolTip();
toolTip.SetToolTip(this.browseButton, "Browse...");
toolTip.SetToolTip(this.reloadButton, "Reload texture");
}
private void OnBrowseButtonClick(object sender, global::System.EventArgs e)
{
if (this.openFileDialog.ShowDialog() == global::System.Windows.Forms.DialogResult.OK)
{
string fileName = this.openFileDialog.FileName;
using (global::System.IO.FileStream fileStream = global::System.IO.File.OpenRead(fileName))
{
global::System.Drawing.Image image = global::System.Drawing.Image.FromStream(fileStream);
if (image.Width != this.texture.Width || image.Height != this.texture.Height)
{
global::System.Windows.Forms.MessageBox.Show("Image '" + global::System.IO.Path.GetFileName(fileName) + "' has wrong size.", "Minecraft Skin Viewer Extended", global::System.Windows.Forms.MessageBoxButtons.OK, global::System.Windows.Forms.MessageBoxIcon.Hand);
}
else
{
this.texture.Source = image;
this.texture.FileName = fileName;
this.UpdateTextureName();
this.reloadButton.Enabled = true;
}
}
}
}
private void OnReloadButtonClick(object sender, global::System.EventArgs e)
{
if (this.texture == null || this.texture.Source == null)
{
this.reloadButton.Enabled = false;
return;
}
string fileName = this.texture.FileName;
if (!global::System.IO.File.Exists(fileName))
{
global::System.Windows.Forms.MessageBox.Show("Image '" + global::System.IO.Path.GetFileName(fileName) + "' not found.", "Minecraft Skin Viewer Extended", global::System.Windows.Forms.MessageBoxButtons.OK, global::System.Windows.Forms.MessageBoxIcon.Hand);
return;
}
using (global::System.IO.FileStream fileStream = global::System.IO.File.OpenRead(fileName))
{
global::System.Drawing.Image image = global::System.Drawing.Image.FromStream(fileStream);
if (image.Width != this.texture.Width || image.Height != this.texture.Height)
{
global::System.Windows.Forms.MessageBox.Show("Image '" + global::System.IO.Path.GetFileName(fileName) + "' has wrong size.", "Minecraft Skin Viewer Extended", global::System.Windows.Forms.MessageBoxButtons.OK, global::System.Windows.Forms.MessageBoxIcon.Hand);
}
else
{
this.texture.Source = image;
this.UpdateTextureName();
}
}
}
protected override void OnDragEnter(global::System.Windows.Forms.DragEventArgs drgevent)
{
if (drgevent.Data.GetDataPresent(global::System.Windows.Forms.DataFormats.FileDrop))
{
string[] array = (string[])drgevent.Data.GetData(global::System.Windows.Forms.DataFormats.FileDrop, false);
if (array.Length == 1 && array[0].EndsWith(".PNG", true, global::System.Globalization.CultureInfo.CurrentCulture))
{
drgevent.Effect = global::System.Windows.Forms.DragDropEffects.Copy;
}
}
}
protected override void OnDragDrop(global::System.Windows.Forms.DragEventArgs drgevent)
{
string text = ((string[])drgevent.Data.GetData(global::System.Windows.Forms.DataFormats.FileDrop, false))[0];
using (global::System.IO.FileStream fileStream = global::System.IO.File.OpenRead(text))
{
global::System.Drawing.Image image = global::System.Drawing.Image.FromStream(fileStream);
if (image.Width != this.texture.Width || image.Height != this.texture.Height)
{
global::System.Windows.Forms.MessageBox.Show("Image '" + global::System.IO.Path.GetFileName(text) + "' has wrong size.", "Minecraft Skin Viewer Extended", global::System.Windows.Forms.MessageBoxButtons.OK, global::System.Windows.Forms.MessageBoxIcon.Hand);
}
else
{
this.texture.Source = image;
this.texture.FileName = text;
this.UpdateTextureName();
this.reloadButton.Enabled = true;
}
}
}
private global::System.ComponentModel.IContainer components;
private global::System.Windows.Forms.TextBox textureNameBox;
private global::System.Windows.Forms.Button browseButton;
private global::System.Windows.Forms.OpenFileDialog openFileDialog;
private global::System.Windows.Forms.Button reloadButton;
private global::MinecraftUSkinEditor.Models.Texture texture;
}
}

View File

@@ -0,0 +1,12 @@
using System;
namespace MinecraftUSkinEditor.Models
{
[global::System.Flags]
public enum Effects : byte
{
None = 0,
FlipHorizontally = 1,
FlipVertically = 2
}
}

View File

@@ -0,0 +1,177 @@
using System;
namespace MinecraftUSkinEditor.Models
{
public struct Matrix3D
{
public Matrix3D(float m11, float m12, float m13, float m14, float m21, float m22, float m23, float m24, float m31, float m32, float m33, float m34, float m41, float m42, float m43, float m44)
{
this.M11 = m11;
this.M12 = m12;
this.M13 = m13;
this.M14 = m14;
this.M21 = m21;
this.M22 = m22;
this.M23 = m23;
this.M24 = m24;
this.M31 = m31;
this.M32 = m32;
this.M33 = m33;
this.M34 = m34;
this.M41 = m41;
this.M42 = m42;
this.M43 = m43;
this.M44 = m44;
}
public static global::MinecraftUSkinEditor.Models.Matrix3D CreateRotationX(float radians)
{
float num = (float)global::System.Math.Sin((double)radians);
float num2 = (float)global::System.Math.Cos((double)radians);
return new global::MinecraftUSkinEditor.Models.Matrix3D(1f, 0f, 0f, 0f, 0f, num2, -num, 0f, 0f, num, num2, 0f, 0f, 0f, 0f, 1f);
}
public static global::MinecraftUSkinEditor.Models.Matrix3D CreateRotationX(float sin, float cos)
{
return new global::MinecraftUSkinEditor.Models.Matrix3D(1f, 0f, 0f, 0f, 0f, cos, -sin, 0f, 0f, sin, cos, 0f, 0f, 0f, 0f, 1f);
}
public static global::MinecraftUSkinEditor.Models.Matrix3D CreateRotationY(float radians)
{
float num = (float)global::System.Math.Sin((double)radians);
float num2 = (float)global::System.Math.Cos((double)radians);
return new global::MinecraftUSkinEditor.Models.Matrix3D(num2, 0f, num, 0f, 0f, 1f, 0f, 0f, -num, 0f, num2, 0f, 0f, 0f, 0f, 1f);
}
public static global::MinecraftUSkinEditor.Models.Matrix3D CreateRotationY(float sin, float cos)
{
return new global::MinecraftUSkinEditor.Models.Matrix3D(cos, 0f, sin, 0f, 0f, 1f, 0f, 0f, -sin, 0f, cos, 0f, 0f, 0f, 0f, 1f);
}
public static global::MinecraftUSkinEditor.Models.Matrix3D CreateRotationZ(float radians)
{
float num = (float)global::System.Math.Sin((double)radians);
float num2 = (float)global::System.Math.Cos((double)radians);
return new global::MinecraftUSkinEditor.Models.Matrix3D(num2, -num, 0f, 0f, num, num2, 0f, 0f, 0f, 0f, 1f, 0f, 0f, 0f, 0f, 1f);
}
public static global::MinecraftUSkinEditor.Models.Matrix3D CreateRotationZ(float sin, float cos)
{
return new global::MinecraftUSkinEditor.Models.Matrix3D(cos, -sin, 0f, 0f, sin, cos, 0f, 0f, 0f, 0f, 1f, 0f, 0f, 0f, 0f, 1f);
}
public static global::MinecraftUSkinEditor.Models.Matrix3D CreateTranslation(float x, float y, float z)
{
return new global::MinecraftUSkinEditor.Models.Matrix3D(1f, 0f, 0f, x, 0f, 1f, 0f, y, 0f, 0f, 1f, z, 0f, 0f, 0f, 1f);
}
public static global::MinecraftUSkinEditor.Models.Matrix3D CreateTranslation(global::MinecraftUSkinEditor.Models.Point3D point)
{
return new global::MinecraftUSkinEditor.Models.Matrix3D(1f, 0f, 0f, point.X, 0f, 1f, 0f, point.Y, 0f, 0f, 1f, point.Z, 0f, 0f, 0f, 1f);
}
public static global::MinecraftUSkinEditor.Models.Matrix3D CreateScale(float s)
{
return new global::MinecraftUSkinEditor.Models.Matrix3D(s, 0f, 0f, 0f, 0f, s, 0f, 0f, 0f, 0f, s, 0f, 0f, 0f, 0f, 1f);
}
public float Determinant
{
get
{
return this.M11 * this.M22 * this.M33 * this.M44 + this.M21 * this.M32 * this.M43 * this.M14 + this.M31 * this.M42 * this.M13 * this.M24 + this.M41 * this.M12 * this.M23 * this.M34 - this.M14 * this.M23 * this.M32 * this.M41 - this.M24 * this.M33 * this.M42 * this.M11 - this.M34 * this.M43 * this.M12 * this.M21 - this.M44 * this.M13 * this.M22 * this.M31;
}
}
public static global::MinecraftUSkinEditor.Models.Matrix3D Identity
{
get
{
return new global::MinecraftUSkinEditor.Models.Matrix3D(1f, 0f, 0f, 0f, 0f, 1f, 0f, 0f, 0f, 0f, 1f, 0f, 0f, 0f, 0f, 1f);
}
}
public static global::MinecraftUSkinEditor.Models.Matrix3D Transpose(global::MinecraftUSkinEditor.Models.Matrix3D m)
{
return new global::MinecraftUSkinEditor.Models.Matrix3D(m.M11, m.M21, m.M31, m.M41, m.M12, m.M22, m.M32, m.M42, m.M13, m.M23, m.M33, m.M43, m.M14, m.M24, m.M34, m.M44);
}
public static global::MinecraftUSkinEditor.Models.Matrix3D Invert(global::MinecraftUSkinEditor.Models.Matrix3D m)
{
float determinant = m.Determinant;
return new global::MinecraftUSkinEditor.Models.Matrix3D((m.M22 * m.M33 * m.M44 + m.M32 * m.M43 * m.M24 + m.M42 * m.M23 * m.M34 - m.M24 * m.M33 * m.M42 - m.M34 * m.M43 * m.M22 - m.M44 * m.M23 * m.M32) / determinant, -(m.M12 * m.M33 * m.M44 + m.M32 * m.M43 * m.M14 + m.M42 * m.M13 * m.M34 - m.M14 * m.M33 * m.M42 - m.M34 * m.M43 * m.M12 - m.M44 * m.M13 * m.M32) / determinant, (m.M12 * m.M23 * m.M44 + m.M22 * m.M43 * m.M14 + m.M42 * m.M13 * m.M24 - m.M14 * m.M23 * m.M42 - m.M24 * m.M43 * m.M12 - m.M44 * m.M13 * m.M22) / determinant, -(m.M12 * m.M23 * m.M34 + m.M22 * m.M33 * m.M14 + m.M32 * m.M13 * m.M24 - m.M14 * m.M23 * m.M32 - m.M24 * m.M33 * m.M12 - m.M34 * m.M13 * m.M22) / determinant, -(m.M21 * m.M33 * m.M44 + m.M31 * m.M43 * m.M24 + m.M41 * m.M23 * m.M34 - m.M24 * m.M33 * m.M41 - m.M34 * m.M43 * m.M21 - m.M44 * m.M23 * m.M31) / determinant, (m.M11 * m.M33 * m.M44 + m.M31 * m.M43 * m.M14 + m.M41 * m.M13 * m.M34 - m.M14 * m.M33 * m.M41 - m.M34 * m.M43 * m.M11 - m.M44 * m.M13 * m.M31) / determinant, -(m.M11 * m.M23 * m.M44 + m.M21 * m.M43 * m.M14 + m.M41 * m.M13 * m.M24 - m.M14 * m.M23 * m.M41 - m.M24 * m.M43 * m.M11 - m.M44 * m.M13 * m.M21) / determinant, (m.M11 * m.M23 * m.M34 + m.M21 * m.M33 * m.M14 + m.M31 * m.M13 * m.M24 - m.M14 * m.M23 * m.M31 - m.M24 * m.M33 * m.M11 - m.M34 * m.M13 * m.M21) / determinant, (m.M21 * m.M32 * m.M44 + m.M31 * m.M42 * m.M24 + m.M41 * m.M22 * m.M34 - m.M24 * m.M32 * m.M41 - m.M34 * m.M42 * m.M21 - m.M44 * m.M22 * m.M31) / determinant, -(m.M11 * m.M32 * m.M44 + m.M31 * m.M42 * m.M14 + m.M41 * m.M12 * m.M34 - m.M14 * m.M32 * m.M41 - m.M34 * m.M42 * m.M11 - m.M44 * m.M12 * m.M31) / determinant, (m.M11 * m.M32 * m.M44 + m.M21 * m.M42 * m.M14 + m.M41 * m.M12 * m.M24 - m.M14 * m.M22 * m.M41 - m.M24 * m.M42 * m.M11 - m.M44 * m.M12 * m.M21) / determinant, -(m.M11 * m.M22 * m.M34 + m.M21 * m.M32 * m.M14 + m.M31 * m.M12 * m.M24 - m.M14 * m.M22 * m.M31 - m.M24 * m.M32 * m.M11 - m.M34 * m.M12 * m.M21) / determinant, -(m.M21 * m.M32 * m.M43 + m.M31 * m.M42 * m.M23 + m.M41 * m.M22 * m.M33 - m.M23 * m.M32 * m.M41 - m.M33 * m.M42 * m.M21 - m.M43 * m.M22 * m.M31) / determinant, (m.M11 * m.M32 * m.M43 + m.M31 * m.M42 * m.M13 + m.M41 * m.M12 * m.M33 - m.M13 * m.M32 * m.M41 - m.M33 * m.M42 * m.M11 - m.M43 * m.M12 * m.M31) / determinant, -(m.M11 * m.M22 * m.M43 + m.M21 * m.M42 * m.M13 + m.M41 * m.M12 * m.M23 - m.M13 * m.M22 * m.M41 - m.M23 * m.M42 * m.M11 - m.M43 * m.M12 * m.M21) / determinant, (m.M11 * m.M22 * m.M33 + m.M21 * m.M32 * m.M13 + m.M31 * m.M12 * m.M23 - m.M13 * m.M22 * m.M31 - m.M23 * m.M32 * m.M11 - m.M33 * m.M12 * m.M21) / determinant);
}
public static global::MinecraftUSkinEditor.Models.Matrix3D operator +(global::MinecraftUSkinEditor.Models.Matrix3D a, global::MinecraftUSkinEditor.Models.Matrix3D b)
{
return new global::MinecraftUSkinEditor.Models.Matrix3D(a.M11 + b.M11, a.M12 + b.M12, a.M13 + b.M13, a.M14 + b.M14, a.M21 + b.M21, a.M22 + b.M22, a.M23 + b.M23, a.M24 + b.M24, a.M31 + b.M31, a.M32 + b.M32, a.M33 + b.M33, a.M34 + b.M34, a.M41 + b.M41, a.M42 + b.M42, a.M43 + b.M43, a.M44 + b.M44);
}
public static global::MinecraftUSkinEditor.Models.Matrix3D operator -(global::MinecraftUSkinEditor.Models.Matrix3D a, global::MinecraftUSkinEditor.Models.Matrix3D b)
{
return new global::MinecraftUSkinEditor.Models.Matrix3D(a.M11 - b.M11, a.M12 - b.M12, a.M13 - b.M13, a.M14 - b.M14, a.M21 - b.M21, a.M22 - b.M22, a.M23 - b.M23, a.M24 - b.M24, a.M31 - b.M31, a.M32 - b.M32, a.M33 - b.M33, a.M34 - b.M34, a.M41 - b.M41, a.M42 - b.M42, a.M43 - b.M43, a.M44 - b.M44);
}
public static global::MinecraftUSkinEditor.Models.Matrix3D operator *(global::MinecraftUSkinEditor.Models.Matrix3D a, global::MinecraftUSkinEditor.Models.Matrix3D b)
{
return new global::MinecraftUSkinEditor.Models.Matrix3D(a.M11 * b.M11 + a.M12 * b.M21 + a.M13 * b.M31 + a.M14 * b.M41, a.M11 * b.M12 + a.M12 * b.M22 + a.M13 * b.M32 + a.M14 * b.M42, a.M11 * b.M13 + a.M12 * b.M23 + a.M13 * b.M33 + a.M14 * b.M43, a.M11 * b.M14 + a.M12 * b.M24 + a.M13 * b.M34 + a.M14 * b.M44, a.M21 * b.M11 + a.M22 * b.M21 + a.M23 * b.M31 + a.M24 * b.M41, a.M21 * b.M12 + a.M22 * b.M22 + a.M23 * b.M32 + a.M24 * b.M42, a.M21 * b.M13 + a.M22 * b.M23 + a.M23 * b.M33 + a.M24 * b.M43, a.M21 * b.M14 + a.M22 * b.M24 + a.M23 * b.M34 + a.M24 * b.M44, a.M31 * b.M11 + a.M32 * b.M21 + a.M33 * b.M31 + a.M34 * b.M41, a.M31 * b.M12 + a.M32 * b.M22 + a.M33 * b.M32 + a.M34 * b.M42, a.M31 * b.M13 + a.M32 * b.M23 + a.M33 * b.M33 + a.M34 * b.M43, a.M31 * b.M14 + a.M32 * b.M24 + a.M33 * b.M34 + a.M34 * b.M44, a.M41 * b.M11 + a.M42 * b.M21 + a.M43 * b.M31 + a.M44 * b.M41, a.M41 * b.M12 + a.M42 * b.M22 + a.M43 * b.M32 + a.M44 * b.M42, a.M41 * b.M13 + a.M42 * b.M23 + a.M43 * b.M33 + a.M44 * b.M43, a.M41 * b.M14 + a.M42 * b.M24 + a.M43 * b.M34 + a.M44 * b.M44);
}
public static global::MinecraftUSkinEditor.Models.Point3D operator *(global::MinecraftUSkinEditor.Models.Matrix3D m, global::MinecraftUSkinEditor.Models.Point3D p)
{
return new global::MinecraftUSkinEditor.Models.Point3D(p.X * m.M11 + p.Y * m.M12 + p.Z * m.M13 + m.M14, p.X * m.M21 + p.Y * m.M22 + p.Z * m.M23 + m.M24, p.X * m.M31 + p.Y * m.M32 + p.Z * m.M33 + m.M34);
}
public static global::MinecraftUSkinEditor.Models.Matrix3D operator +(global::MinecraftUSkinEditor.Models.Matrix3D m, float n)
{
return new global::MinecraftUSkinEditor.Models.Matrix3D(m.M11 + n, m.M12 + n, m.M13 + n, m.M14 + n, m.M21 + n, m.M22 + n, m.M23 + n, m.M24 + n, m.M31 + n, m.M32 + n, m.M33 + n, m.M34 + n, m.M41 + n, m.M42 + n, m.M43 + n, m.M44 + n);
}
public static global::MinecraftUSkinEditor.Models.Matrix3D operator -(global::MinecraftUSkinEditor.Models.Matrix3D m, float n)
{
return new global::MinecraftUSkinEditor.Models.Matrix3D(m.M11 - n, m.M12 - n, m.M13 - n, m.M14 - n, m.M21 - n, m.M22 - n, m.M23 - n, m.M24 - n, m.M31 - n, m.M32 - n, m.M33 - n, m.M34 - n, m.M41 - n, m.M42 - n, m.M43 - n, m.M44 - n);
}
public static global::MinecraftUSkinEditor.Models.Matrix3D operator *(global::MinecraftUSkinEditor.Models.Matrix3D m, float n)
{
return new global::MinecraftUSkinEditor.Models.Matrix3D(m.M11 * n, m.M12 * n, m.M13 * n, m.M14 * n, m.M21 * n, m.M22 * n, m.M23 * n, m.M24 * n, m.M31 * n, m.M32 * n, m.M33 * n, m.M34 * n, m.M41 * n, m.M42 * n, m.M43 * n, m.M44 * n);
}
public static global::MinecraftUSkinEditor.Models.Matrix3D operator /(global::MinecraftUSkinEditor.Models.Matrix3D m, float n)
{
return new global::MinecraftUSkinEditor.Models.Matrix3D(m.M11 / n, m.M12 / n, m.M13 / n, m.M14 / n, m.M21 / n, m.M22 / n, m.M23 / n, m.M24 / n, m.M31 / n, m.M32 / n, m.M33 / n, m.M34 / n, m.M41 / n, m.M42 / n, m.M43 / n, m.M44 / n);
}
public float M11;
public float M12;
public float M13;
public float M14;
public float M21;
public float M22;
public float M23;
public float M24;
public float M31;
public float M32;
public float M33;
public float M34;
public float M41;
public float M42;
public float M43;
public float M44;
}
}

View File

@@ -0,0 +1,79 @@

namespace MinecraftUSkinEditor.Models
{
partial class MinecraftModelView
{
/// <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 && this.components != null)
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Component 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()
{
components = new System.ComponentModel.Container();
}
private MinecraftUSkinEditor.Models.BackgroundTypes backgroundType;
private System.Drawing.Brush backgroundBrush = new System.Drawing.SolidBrush(System.Drawing.Color.SkyBlue);
private System.EventHandler SkinDowloaded;
private System.ComponentModel.BackgroundWorker downloader = new System.ComponentModel.BackgroundWorker();
private System.Drawing.Image webSkin;
private System.Drawing.Point mouseLastLocation;
private MinecraftUSkinEditor.Models.Object3D rotatingObject3D;
private System.Drawing.Color backgroundColor = System.Drawing.Color.Transparent;
private System.Drawing.Color backgroundGradientColor1 = System.Drawing.SystemColors.ControlDarkDark;
private System.Drawing.Color backgroundGradientColor2 = System.Drawing.SystemColors.ControlLightLight;
private static System.Drawing.Color textShadowColor = System.Drawing.Color.FromArgb(0x3F, 0x3F, 0x3F);
private System.Drawing.Image backgroundTexture;
private System.Drawing.Image usernameImage;
private System.Drawing.Image versionImage;
internal MinecraftUSkinEditor.Models.Matrix3D GlobalTransformation = MinecraftUSkinEditor.Models.Matrix3D.Identity;
private System.Collections.Generic.List<MinecraftUSkinEditor.Models.Texel> texelList = new System.Collections.Generic.List<MinecraftUSkinEditor.Models.Texel>();
private MinecraftUSkinEditor.Models.TexelComparer texelComparer = new MinecraftUSkinEditor.Models.TexelComparer();
private System.Collections.Generic.List<MinecraftUSkinEditor.Models.Object3D> object3DList = new System.Collections.Generic.List<MinecraftUSkinEditor.Models.Object3D>();
private System.Collections.Generic.List<MinecraftUSkinEditor.Models.Object3D> dynamicObject3DtList = new System.Collections.Generic.List<MinecraftUSkinEditor.Models.Object3D>();
#endregion
}
}

View File

@@ -0,0 +1,726 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing.Drawing2D;
using System.Drawing.Imaging;
using System.Drawing.Text;
using System.IO;
using System.Net;
using System.Threading;
using System.Windows.Forms;
namespace MinecraftUSkinEditor.Models
{
public partial class MinecraftModelView : Control
{
private const int IsometricFOV = 0x2E;
private string skinFilename;
internal float cameraZ = 31.4285717f;
private int fov = 0x46;
private float scale = 1f;
internal float RotationX;
internal float RotationY;
private bool perspective = true;
private bool showUsername;
private string username = string.Empty;
private string skinUrlBase = "http://s3.amazonaws.com/MinecraftSkins/";
private string skinFileExt = ".png";
private float PiBy180 = 0.0174532924f;
private string info = "Minecraft Skin Viewer " + System.Windows.Forms.Application.ProductVersion + " Beta Prerelease";
[System.ComponentModel.Browsable(true)]
[System.ComponentModel.Category("Appearance")]
public bool ShowUsername
{
get
{
return showUsername;
}
set
{
showUsername = value;
base.Invalidate();
}
}
[System.ComponentModel.Browsable(true)]
public event EventHandler SkinDowloadedx
{
add
{
System.EventHandler eventHandler = SkinDowloaded;
System.EventHandler eventHandler2;
do
{
eventHandler2 = eventHandler;
System.EventHandler value2 = (System.EventHandler)System.Delegate.Combine(eventHandler2, value);
eventHandler = System.Threading.Interlocked.CompareExchange<System.EventHandler>(ref SkinDowloaded, value2, eventHandler2);
}
while (eventHandler != eventHandler2);
}
remove
{
System.EventHandler eventHandler = SkinDowloaded;
System.EventHandler eventHandler2;
do
{
eventHandler2 = eventHandler;
System.EventHandler value2 = (System.EventHandler)System.Delegate.Remove(eventHandler2, value);
eventHandler = System.Threading.Interlocked.CompareExchange<System.EventHandler>(ref SkinDowloaded, value2, eventHandler2);
}
while (eventHandler != eventHandler2);
}
}
[System.ComponentModel.Browsable(true)]
[System.ComponentModel.Category("Skin")]
public string Username
{
get
{
return username;
}
set
{
if (value.Length == 0)
{
username = string.Empty;
return;
}
downloader.RunWorkerCompleted -= OnDownloaderRunWorkerCompleted;
if (downloader.IsBusy)
{
downloader.CancelAsync();
}
downloader = new System.ComponentModel.BackgroundWorker();
InitializeDownloader();
username = value.Trim();
downloader.RunWorkerAsync();
}
}
protected override void OnBackColorChanged(System.EventArgs e)
{
base.OnBackColorChanged(e);
backgroundColor = BackColor;
UpdateBackgroundBrush();
base.Invalidate();
}
[System.ComponentModel.Browsable(true)]
[System.ComponentModel.Category("Appearance")]
public System.Drawing.Color BackGradientColor1
{
get
{
return backgroundGradientColor1;
}
set
{
backgroundGradientColor1 = value;
UpdateBackgroundBrush();
base.Invalidate();
}
}
[System.ComponentModel.Browsable(true)]
[System.ComponentModel.Category("Appearance")]
public System.Drawing.Color BackGradientColor2
{
get
{
return backgroundGradientColor2;
}
set
{
backgroundGradientColor2 = value;
UpdateBackgroundBrush();
base.Invalidate();
}
}
[System.ComponentModel.Browsable(false)]
[System.ComponentModel.Category("Appearance")]
[System.Obsolete]
public new System.Windows.Forms.ImageLayout BackgroundImageLayout
{
get
{
return System.Windows.Forms.ImageLayout.Tile;
}
set
{
}
}
[System.ComponentModel.Browsable(true)]
[System.ComponentModel.Category("Appearance")]
public new System.Drawing.Image BackgroundImage
{
get
{
return backgroundTexture;
}
set
{
backgroundTexture = value;
UpdateBackgroundBrush();
base.Invalidate();
}
}
[System.ComponentModel.Browsable(true)]
[System.ComponentModel.Category("Appearance")]
public BackgroundTypes BackgroundType
{
get
{
return backgroundType;
}
set
{
backgroundType = value;
UpdateBackgroundBrush();
base.Invalidate();
}
}
[System.ComponentModel.Browsable(true)]
[System.ComponentModel.Category("View")]
public ProjectionTypes Projection
{
get
{
if (!perspective)
{
return ProjectionTypes.Isometric;
}
return ProjectionTypes.Perspective;
}
set
{
perspective = (value == ProjectionTypes.Perspective);
SetupProjection();
foreach (Object3D object3D in object3DList)
{
object3D.Update();
}
base.Invalidate();
}
}
[System.ComponentModel.Browsable(true)]
[System.ComponentModel.Category("View")]
public int FOV
{
get
{
return fov;
}
set
{
fov = value;
SetupProjection();
foreach (Object3D object3D in object3DList)
{
object3D.Update();
}
base.Invalidate();
}
}
[System.ComponentModel.Browsable(true)]
[System.ComponentModel.Category("View")]
public int DegreesX
{
get
{
return (int)RotationX;
}
set
{
RotationX = (float)value;
Matrix3D globalTransformation = Matrix3D.CreateRotationX(RotationX * PiBy180) * Matrix3D.CreateRotationY(RotationY * PiBy180);
foreach (Object3D object3D in object3DList)
{
object3D.GlobalTransformation = globalTransformation;
}
base.Invalidate();
}
}
[System.ComponentModel.Browsable(true)]
[System.ComponentModel.Category("View")]
public int DegreesY
{
get
{
return (int)RotationY;
}
set
{
RotationY = (float)value;
Matrix3D globalTransformation = Matrix3D.CreateRotationX(RotationX * PiBy180) * Matrix3D.CreateRotationY(RotationY * PiBy180);
foreach (Object3D object3D in object3DList)
{
object3D.GlobalTransformation = globalTransformation;
}
base.Invalidate();
}
}
public Models.ModelBase Model
{
set
{
Clear();
value.AddToModelView(this);
Matrix3D globalTransformation = Matrix3D.CreateRotationX(RotationX * 3.14159274f / 180f) * Matrix3D.CreateRotationY(RotationY * 3.14159274f / 180f);
foreach (Object3D object3D in object3DList)
{
object3D.GlobalTransformation = globalTransformation;
}
base.Invalidate();
}
}
private void InitializeDownloader()
{
downloader.WorkerSupportsCancellation = true;
downloader.DoWork += OnDownloaderDoWork;
downloader.RunWorkerCompleted += OnDownloaderRunWorkerCompleted;
}
protected virtual void OnSkinDownloaded(System.EventArgs args)
{
if (SkinDowloaded != null)
{
SkinDowloaded(this, args);
}
}
private void OnDownloaderRunWorkerCompleted(object sender, System.ComponentModel.RunWorkerCompletedEventArgs e)
{
RenderUsernameImage();
OnSkinDownloaded(System.EventArgs.Empty);
}
private void OnDownloaderDoWork(object sender, System.ComponentModel.DoWorkEventArgs e)
{
System.Net.WebClient webClient = new System.Net.WebClient();
try
{
byte[] buffer = webClient.DownloadData(skinUrlBase + username + skinFileExt);
if (webSkin != null)
{
webSkin.Dispose();
}
webSkin = System.Drawing.Image.FromStream(new System.IO.MemoryStream(buffer));
}
catch
{
webSkin = null;
username = string.Empty;
usernameImage = null;
}
}
private void Clear()
{
texelList.Clear();
object3DList.Clear();
dynamicObject3DtList.Clear();
rotatingObject3D = null;
}
protected override void OnPaintBackground(System.Windows.Forms.PaintEventArgs pevent)
{
base.OnPaintBackground(pevent);
System.Drawing.Graphics graphics = pevent.Graphics;
graphics.CompositingQuality = System.Drawing.Drawing2D.CompositingQuality.HighSpeed;
graphics.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.NearestNeighbor;
graphics.PixelOffsetMode = System.Drawing.Drawing2D.PixelOffsetMode.HighSpeed;
graphics.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighSpeed;
graphics.CompositingMode = System.Drawing.Drawing2D.CompositingMode.SourceCopy;
graphics.FillRectangle(backgroundBrush, base.ClientRectangle);
graphics.CompositingMode = System.Drawing.Drawing2D.CompositingMode.SourceOver;
if (showUsername && usernameImage != null)
{
graphics.DrawImage(usernameImage, base.Width / 2 - usernameImage.Width / 2, base.Height - 0x20);
}
if (versionImage == null)
{
versionImage = RenderVersionText();
}
graphics.DrawImage(versionImage, 3, 3);
}
protected override void OnPaint(System.Windows.Forms.PaintEventArgs pe)
{
texelList.Sort(texelComparer);
System.Drawing.Graphics graphics = pe.Graphics;
graphics.TranslateTransform((float)(base.Width / 2), (float)(base.Height / 2));
graphics.ScaleTransform(scale, -scale);
graphics.CompositingQuality = System.Drawing.Drawing2D.CompositingQuality.HighSpeed;
graphics.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.NearestNeighbor;
graphics.PixelOffsetMode = System.Drawing.Drawing2D.PixelOffsetMode.HighSpeed;
graphics.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighSpeed;
graphics.CompositingMode = System.Drawing.Drawing2D.CompositingMode.SourceCopy;
for (int i = 0; i < texelList.Count; i++)
{
texelList[i].Draw(graphics);
}
}
public System.Drawing.Image RenderToImage(System.Drawing.Size size, System.Drawing.RectangleF crop)
{
if ((float)(size.Width / size.Height) != crop.Width / crop.Height)
{
throw new System.ArgumentException("Aspect ratio is ambiguous");
}
System.Drawing.Bitmap bitmap = new System.Drawing.Bitmap(size.Width, size.Height);
using (System.Drawing.Graphics graphics = System.Drawing.Graphics.FromImage(bitmap))
{
System.Drawing.Size size2 = new System.Drawing.Size((int)((float)size.Width / crop.Width), (int)((float)size.Height / crop.Height));
texelList.Sort(texelComparer);
graphics.TranslateTransform(-crop.Left * (float)size2.Width, -crop.Top * (float)size2.Height);
graphics.TranslateTransform((float)(size2.Width / 2), (float)(size2.Height / 2));
float num = (float)System.Math.Min(size2.Width, size2.Height) * 0.01f / (float)System.Math.Tan((double)(perspective ? fov : 0x2E) * 3.1415926535897931 / 360.0);
graphics.ScaleTransform(num, -num);
graphics.CompositingQuality = System.Drawing.Drawing2D.CompositingQuality.HighSpeed;
graphics.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.NearestNeighbor;
graphics.PixelOffsetMode = System.Drawing.Drawing2D.PixelOffsetMode.HighSpeed;
graphics.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighSpeed;
graphics.Clear(System.Drawing.Color.Transparent);
for (int i = 0; i < texelList.Count; i++)
{
texelList[i].Draw(graphics);
}
}
return bitmap;
}
private System.Drawing.Image RenderText(string text)
{
int num = 0;
using (System.Drawing.Graphics graphics = base.CreateGraphics())
{
num = (int)graphics.MeasureString(text, Font).Width;
}
System.Drawing.Bitmap bitmap = new System.Drawing.Bitmap(num + 2, 0x12);
using (System.Drawing.Graphics graphics2 = System.Drawing.Graphics.FromImage(bitmap))
{
using (System.Drawing.Brush brush = new System.Drawing.SolidBrush(MinecraftModelView.textShadowColor))
{
graphics2.TextRenderingHint = System.Drawing.Text.TextRenderingHint.SingleBitPerPixelGridFit;
graphics2.DrawString(text, Font, brush, 2f, 2f);
graphics2.DrawString(text, Font, System.Drawing.Brushes.White, 0f, 0f);
}
}
return bitmap;
}
private System.Drawing.Image RenderVersionText()
{
System.Drawing.Bitmap bitmap = new System.Drawing.Bitmap(0x154, 0x12);
System.Version version = new System.Version(System.Windows.Forms.Application.ProductVersion);
string s = string.Concat(new object[]
{
System.Windows.Forms.Application.ProductName,
" ",
version.Major,
".",
version.Minor,
(version.Build != 0) ? ("." + version.Build) : ""
});
using (System.Drawing.Graphics graphics = System.Drawing.Graphics.FromImage(bitmap))
{
using (System.Drawing.Brush brush = new System.Drawing.SolidBrush(System.Drawing.Color.FromArgb(0x7F, System.Drawing.Color.Gray)))
{
graphics.TextRenderingHint = System.Drawing.Text.TextRenderingHint.SingleBitPerPixelGridFit;
graphics.DrawString(s, Font, brush, 1f, 1f);
graphics.DrawString(s, Font, System.Drawing.Brushes.White, 0f, 0f);
}
}
return bitmap;
}
private void RenderUsernameImage()
{
if (username != null && username.Length > 0)
{
usernameImage = RenderText(username);
}
}
private void UpdateBackgroundBrush()
{
backgroundBrush = ((backgroundType == BackgroundTypes.Texture) ? new System.Drawing.TextureBrush(backgroundTexture) : ((backgroundType == BackgroundTypes.Gradient) ? new System.Drawing.Drawing2D.LinearGradientBrush(new System.Drawing.Point(0, 0), new System.Drawing.Point(0, System.Math.Max(1, base.Height)), backgroundGradientColor1, backgroundGradientColor2) : new System.Drawing.SolidBrush(backgroundColor)));
}
public System.Drawing.Brush GetBackgroundBrush(System.Drawing.Size size)
{
if (backgroundType == BackgroundTypes.Texture)
{
return new System.Drawing.TextureBrush(backgroundTexture);
}
if (backgroundType != BackgroundTypes.Gradient)
{
return new System.Drawing.SolidBrush(backgroundColor);
}
return new System.Drawing.Drawing2D.LinearGradientBrush(new System.Drawing.Point(0, 0), new System.Drawing.Point(0, System.Math.Max(1, size.Height)), backgroundGradientColor1, backgroundGradientColor2);
}
private void SetupProjection()
{
cameraZ = 2400f / (float)fov;
scale = (float)System.Math.Min(base.Width, base.Height) * 0.01f / (float)System.Math.Tan((double)(perspective ? fov : 0x2E) * 3.1415926535897931 / 360.0);
}
protected override void OnResize(System.EventArgs e)
{
SetupProjection();
UpdateBackgroundBrush();
base.OnResize(e);
}
internal void RemoveTexelsOf(TexturePlane texturePlane)
{
for (int i = 0; i < texelList.Count; i++)
{
if (texelList[i].TexturePlane == texturePlane)
{
texelList.RemoveAt(i);
i--;
}
}
}
internal void AddTexel(Texel texel)
{
texelList.Add(texel);
}
protected override void OnMouseDown(System.Windows.Forms.MouseEventArgs e)
{
base.OnMouseDown(e);
System.Drawing.PointF location = new System.Drawing.PointF(((float)e.X - (float)base.Width * 0.5f) / scale, -((float)e.Y - (float)base.Height * 0.5f) / scale);
rotatingObject3D = null;
Object3D item = null;
float num = -1000f;
foreach (Object3D object3D in object3DList)
{
float num2 = object3D.HitTest(location);
if (num2 > num)
{
num = num2;
item = object3D;
}
}
if (num > -1000f && dynamicObject3DtList.Contains(item))
{
rotatingObject3D = item;
}
mouseLastLocation = e.Location;
base.Invalidate();
}
protected override void OnMouseUp(System.Windows.Forms.MouseEventArgs e)
{
base.OnMouseUp(e);
rotatingObject3D = null;
}
protected override void OnMouseMove(System.Windows.Forms.MouseEventArgs e)
{
base.OnMouseMove(e);
if (e.Button != System.Windows.Forms.MouseButtons.Left)
{
return;
}
if (rotatingObject3D != null)
{
rotatingObject3D.RotateByMouse((float)(e.X - mouseLastLocation.X) * 400f / (float)base.Height, (float)(e.Y - mouseLastLocation.Y) * 400f / (float)base.Height);
mouseLastLocation = e.Location;
base.Invalidate();
return;
}
RotationY += (float)(e.X - mouseLastLocation.X) * 400f / (float)base.Height;
RotationX += (float)(e.Y - mouseLastLocation.Y) * 400f / (float)base.Height;
mouseLastLocation = e.Location;
Matrix3D globalTransformation = Matrix3D.CreateRotationX(RotationX * 3.14159274f / 180f) * Matrix3D.CreateRotationY(RotationY * 3.14159274f / 180f);
foreach (Object3D object3D in object3DList)
{
object3D.GlobalTransformation = globalTransformation;
}
base.Invalidate();
}
public void AddStatic(Object3D object3D)
{
object3D.Viewport = this;
object3DList.Add(object3D);
foreach (Object3D object3D2 in object3DList)
{
object3D2.Update();
}
}
public void AddDynamic(Object3D object3D)
{
object3D.Viewport = this;
object3DList.Add(object3D);
dynamicObject3DtList.Add(object3D);
foreach (Object3D object3D2 in object3DList)
{
object3D2.Update();
}
}
internal System.Drawing.PointF Point3DTo2D(Point3D point3D)
{
if (perspective)
{
return new System.Drawing.PointF(point3D.X * (-50f / (point3D.Z - cameraZ)), point3D.Y * (-50f / (point3D.Z - cameraZ)));
}
return new System.Drawing.PointF(point3D.X, point3D.Y);
}
internal float GetZOrder(Point3D point3D)
{
if (perspective)
{
return point3D.X * point3D.X + point3D.Y * point3D.Y + (cameraZ - point3D.Z) * (cameraZ - point3D.Z);
}
return -point3D.Z;
}
private unsafe System.Drawing.Image CorrectSkin(System.Drawing.Image skin)
{
if (skin == null)
{
return null;
}
System.Drawing.Bitmap bitmap = new System.Drawing.Bitmap(skin);
System.Drawing.Rectangle rect = new System.Drawing.Rectangle(0, 0, bitmap.Width, bitmap.Height);
System.Drawing.Imaging.BitmapData bitmapData = bitmap.LockBits(rect, System.Drawing.Imaging.ImageLockMode.ReadWrite, System.Drawing.Imaging.PixelFormat.Format32bppArgb);
for (int i = 0; i < 0x10; i++)
{
byte* ptr = (byte*)((void*)bitmapData.Scan0) + (int)i * (int)bitmapData.Stride;
for (int j = 3; j < 0x80; j += 4)
{
ptr[j] = byte.MaxValue;
}
}
for (int k = 0x10; k < 0x20; k++)
{
byte* ptr2 = (byte*)((void*)bitmapData.Scan0) + (int)k * (int)bitmapData.Stride;
for (int l = 3; l < 0x100; l += 4)
{
ptr2[l] = byte.MaxValue;
}
}
bool flag = false;
for (int m = 0; m < 8; m++)
{
byte* ptr3 = (byte*)((void*)bitmapData.Scan0) + (int)m * (int)bitmapData.Stride;
for (int n = 0xA3; n < 0xE0; n += 4)
{
if (ptr3[n] != 0xFF)
{
flag = true;
}
}
}
for (int num = 8; num < 0x10; num++)
{
byte* ptr4 = (byte*)((void*)bitmapData.Scan0) + (int)num * (int)bitmapData.Stride;
for (int num2 = 0x83; num2 < 0x100; num2 += 4)
{
if (ptr4[num2] != 0xFF)
{
flag = true;
}
}
}
if (!flag)
{
for (int num3 = 0; num3 < 8; num3++)
{
byte* ptr5 = (byte*)((void*)bitmapData.Scan0) + (int)num3 * (int)bitmapData.Stride;
for (int num4 = 0xA3; num4 < 0xE0; num4++)
{
ptr5[num4] = 0;
}
}
for (int num5 = 8; num5 < 0x10; num5++)
{
byte* ptr6 = (byte*)((void*)bitmapData.Scan0) + (int)num5 * (int)bitmapData.Stride;
for (int num6 = 0x83; num6 < 0x100; num6++)
{
ptr6[num6] = 0;
}
}
}
bitmap.UnlockBits(bitmapData);
return bitmap;
}
internal void UpdateImage()
{
SetSkinFromFile(skinFilename);
}
internal bool SetSkinFromFile(string filename)
{
skinFilename = filename;
bool flag = true;
using (System.IO.FileStream fileStream = System.IO.File.OpenRead(filename))
{
System.Drawing.Image image = System.Drawing.Image.FromStream(fileStream);
if (image.Width != 0x40 || image.Height != 0x20)
{
System.Windows.Forms.MessageBox.Show("Image '" + System.IO.Path.GetFileName(filename) + "' is not Minecraft skin.", "Minecraft Skin Viewer", System.Windows.Forms.MessageBoxButtons.OK, System.Windows.Forms.MessageBoxIcon.Exclamation);
flag = false;
}
}
if (flag)
{
usernameImage = null;
username = string.Empty;
}
return flag;
}
public MinecraftModelView()
{
base.SetStyle(System.Windows.Forms.ControlStyles.ResizeRedraw | System.Windows.Forms.ControlStyles.AllPaintingInWmPaint | System.Windows.Forms.ControlStyles.OptimizedDoubleBuffer, true);
InitializeComponent();
texelComparer = new TexelComparer();
}
public MinecraftModelView(IContainer container)
{
container.Add(this);
InitializeComponent();
}
}
}

View File

@@ -0,0 +1,463 @@
using System;
namespace MinecraftUSkinEditor.Models
{
public abstract class Object3D
{
public abstract global::System.Drawing.Image Image { set; }
public float Angle1
{
get
{
return this.angle1;
}
set
{
this.angle1 = value;
this.UpdateRotation();
}
}
public float Angle2
{
get
{
return this.angle2;
}
set
{
this.angle2 = value;
this.UpdateRotation();
}
}
public float MinAngle1
{
get
{
return this.minAngle1;
}
set
{
this.minAngle1 = value;
}
}
public float MinAngle2
{
get
{
return this.minAngle2;
}
set
{
this.minAngle2 = value;
}
}
public float MaxAngle1
{
get
{
return this.maxAngle1;
}
set
{
this.maxAngle1 = value;
}
}
public float MaxAngle2
{
get
{
return this.maxAngle2;
}
set
{
this.maxAngle2 = value;
}
}
public float AngleRange1
{
get
{
return this.maxAngle1 - this.minAngle1;
}
set
{
this.minAngle1 = this.angle1 - value / 2f;
this.maxAngle1 = this.angle1 + value / 2f;
}
}
public float AngleRange2
{
get
{
return this.maxAngle2 - this.minAngle2;
}
set
{
this.minAngle2 = this.angle2 - value / 2f;
this.maxAngle2 = this.angle2 + value / 2f;
}
}
public float MinDegrees1
{
get
{
return this.minAngle1 / 0.0174532924f;
}
set
{
this.minAngle1 = value * 0.0174532924f;
}
}
public float MinDegrees2
{
get
{
return this.minAngle2 / 0.0174532924f;
}
set
{
this.minAngle2 = value * 0.0174532924f;
}
}
public float MaxDegrees1
{
get
{
return this.maxAngle1 / 0.0174532924f;
}
set
{
this.maxAngle1 = value * 0.0174532924f;
}
}
public float MaxDegrees2
{
get
{
return this.maxAngle2 / 0.0174532924f;
}
set
{
this.maxAngle2 = value * 0.0174532924f;
}
}
public float DegreesRange1
{
get
{
return this.AngleRange1 / 0.0174532924f;
}
set
{
this.AngleRange1 = value * 0.0174532924f;
}
}
public float DegreesRange2
{
get
{
return this.AngleRange2 / 0.0174532924f;
}
set
{
this.AngleRange2 = value * 0.0174532924f;
}
}
public float Scale
{
get
{
return this.scaleTransformation.M11;
}
set
{
this.scaleTransformation = global::MinecraftUSkinEditor.Models.Matrix3D.CreateScale(value);
this.localTransformation = this.positionTranslation * this.localRotation * this.originTranslation * this.scaleTransformation;
}
}
public global::MinecraftUSkinEditor.Models.RotationOrders RotationOrder
{
get
{
return this.order;
}
set
{
this.order = value;
switch (this.order)
{
case global::MinecraftUSkinEditor.Models.RotationOrders.XY:
this.Rotate = new global::MinecraftUSkinEditor.Models.Object3D.RotateMethod(this.RotateXY);
this.UpdateRotation = new global::MinecraftUSkinEditor.Models.Object3D.UpdateRotationMethod(this.UpdateRotationXY);
return;
case global::MinecraftUSkinEditor.Models.RotationOrders.YX:
this.Rotate = new global::MinecraftUSkinEditor.Models.Object3D.RotateMethod(this.RotateYX);
this.UpdateRotation = new global::MinecraftUSkinEditor.Models.Object3D.UpdateRotationMethod(this.UpdateRotationYX);
return;
case global::MinecraftUSkinEditor.Models.RotationOrders.XZ:
this.Rotate = new global::MinecraftUSkinEditor.Models.Object3D.RotateMethod(this.RotateXZ);
this.UpdateRotation = new global::MinecraftUSkinEditor.Models.Object3D.UpdateRotationMethod(this.UpdateRotationXZ);
return;
case global::MinecraftUSkinEditor.Models.RotationOrders.ZX:
this.Rotate = new global::MinecraftUSkinEditor.Models.Object3D.RotateMethod(this.RotateZX);
this.UpdateRotation = new global::MinecraftUSkinEditor.Models.Object3D.UpdateRotationMethod(this.UpdateRotationZX);
return;
case global::MinecraftUSkinEditor.Models.RotationOrders.YZ:
this.Rotate = new global::MinecraftUSkinEditor.Models.Object3D.RotateMethod(this.RotateYZ);
this.UpdateRotation = new global::MinecraftUSkinEditor.Models.Object3D.UpdateRotationMethod(this.UpdateRotationYZ);
return;
case global::MinecraftUSkinEditor.Models.RotationOrders.ZY:
this.Rotate = new global::MinecraftUSkinEditor.Models.Object3D.RotateMethod(this.RotateZY);
this.UpdateRotation = new global::MinecraftUSkinEditor.Models.Object3D.UpdateRotationMethod(this.UpdateRotationZY);
return;
default:
return;
}
}
}
internal virtual global::MinecraftUSkinEditor.Models.MinecraftModelView Viewport
{
set
{
this.viewport = value;
}
}
public global::MinecraftUSkinEditor.Models.Point3D Origin
{
get
{
return new global::MinecraftUSkinEditor.Models.Point3D(-this.originTranslation.M14, -this.originTranslation.M24, -this.originTranslation.M34);
}
set
{
this.originTranslation = global::MinecraftUSkinEditor.Models.Matrix3D.CreateTranslation(-value.X, -value.Y, -value.Z);
this.localTransformation = this.positionTranslation * this.localRotation * this.originTranslation * this.scaleTransformation;
}
}
public global::MinecraftUSkinEditor.Models.Point3D Position
{
get
{
return new global::MinecraftUSkinEditor.Models.Point3D(this.positionTranslation.M14, this.positionTranslation.M24, this.positionTranslation.M34);
}
set
{
this.positionTranslation = global::MinecraftUSkinEditor.Models.Matrix3D.CreateTranslation(value);
this.localTransformation = this.positionTranslation * this.localRotation * this.originTranslation * this.scaleTransformation;
this.Update();
}
}
internal abstract void Update();
public global::MinecraftUSkinEditor.Models.Matrix3D GlobalTransformation
{
get
{
return this.globalTransformation;
}
set
{
this.globalTransformation = value;
this.Update();
}
}
public global::MinecraftUSkinEditor.Models.Matrix3D LocalTransformation
{
get
{
return this.localTransformation;
}
set
{
this.localTransformation = value;
this.Update();
}
}
public void SetRotation(float angle1, float angle2)
{
this.angle1 = angle1;
this.angle2 = angle2;
this.UpdateRotation();
}
public void RotateByMouse(float deltaX, float deltaY)
{
if (this.Rotate != null)
{
this.Rotate(deltaX, deltaY);
this.Update();
}
}
private void CorrectAngles()
{
if (this.angle1 > this.maxAngle1)
{
this.angle1 = this.maxAngle1;
}
else if (this.angle1 < this.minAngle1)
{
this.angle1 = this.minAngle1;
}
if (this.angle2 > this.maxAngle2)
{
this.angle2 = this.maxAngle2;
return;
}
if (this.angle2 < this.minAngle2)
{
this.angle2 = this.minAngle2;
}
}
public abstract float HitTest(global::System.Drawing.PointF location);
private void RotateXY(float delta1, float delta2)
{
this.angle1 += delta1 * 0.0174532924f;
this.angle2 += delta2 * 0.0174532924f * (float)global::System.Math.Cos((double)(this.viewport.RotationY * 0.0174532924f));
this.UpdateRotationXY();
}
private void RotateYX(float delta1, float delta2)
{
this.angle1 += delta1 * 0.0174532924f;
this.angle2 += delta2 * 0.0174532924f * (float)global::System.Math.Cos((double)this.viewport.RotationY * 3.1415926535897931 / 180.0);
this.UpdateRotationYX();
}
private void RotateXZ(float delta1, float delta2)
{
this.angle1 += delta1 * 0.0174532924f * (float)global::System.Math.Cos((double)(this.viewport.RotationY * 0.0174532924f)) + delta2 * 0.0174532924f * (float)global::System.Math.Sin((double)(this.viewport.RotationY * 0.0174532924f));
this.angle2 += delta2 * 0.0174532924f * (float)global::System.Math.Cos((double)(this.viewport.RotationY * 0.0174532924f)) - delta1 * 0.0174532924f * (float)global::System.Math.Sin((double)(this.viewport.RotationY * 0.0174532924f));
this.UpdateRotationXZ();
}
private void RotateZX(float delta1, float delta2)
{
this.angle1 += delta1 * 0.0174532924f * (float)global::System.Math.Cos((double)(this.viewport.RotationY * 0.0174532924f)) + delta2 * 0.0174532924f * (float)global::System.Math.Sin((double)(this.viewport.RotationY * 0.0174532924f));
this.angle2 += delta2 * 0.0174532924f * (float)global::System.Math.Cos((double)(this.viewport.RotationY * 0.0174532924f)) - delta1 * 0.0174532924f * (float)global::System.Math.Sin((double)(this.viewport.RotationY * 0.0174532924f));
this.UpdateRotationZX();
}
private void RotateZY(float delta1, float delta2)
{
this.angle1 -= delta2 * 0.0174532924f;
this.angle2 += delta1 * 0.0174532924f;
this.UpdateRotationZY();
}
private void RotateYZ(float delta1, float delta2)
{
this.angle1 += delta1 * 0.0174532924f;
this.angle2 += delta2 * 0.0174532924f * (float)global::System.Math.Sin((double)(this.viewport.RotationY * 0.0174532924f));
this.UpdateRotationYZ();
}
private void UpdateRotationXY()
{
this.CorrectAngles();
this.localRotation = global::MinecraftUSkinEditor.Models.Matrix3D.CreateRotationY(this.angle1) * global::MinecraftUSkinEditor.Models.Matrix3D.CreateRotationX(this.angle2);
this.localTransformation = this.positionTranslation * this.localRotation * this.originTranslation * this.scaleTransformation;
}
private void UpdateRotationYX()
{
this.CorrectAngles();
this.localRotation = global::MinecraftUSkinEditor.Models.Matrix3D.CreateRotationX(this.angle2) * global::MinecraftUSkinEditor.Models.Matrix3D.CreateRotationY(this.angle1);
this.localTransformation = this.positionTranslation * this.localRotation * this.originTranslation * this.scaleTransformation;
}
private void UpdateRotationXZ()
{
this.CorrectAngles();
this.localRotation = global::MinecraftUSkinEditor.Models.Matrix3D.CreateRotationZ(this.angle1) * global::MinecraftUSkinEditor.Models.Matrix3D.CreateRotationX(this.angle2);
this.localTransformation = this.positionTranslation * this.localRotation * this.originTranslation * this.scaleTransformation;
}
private void UpdateRotationZX()
{
this.CorrectAngles();
this.localRotation = global::MinecraftUSkinEditor.Models.Matrix3D.CreateRotationX(this.angle2) * global::MinecraftUSkinEditor.Models.Matrix3D.CreateRotationZ(this.angle1);
this.localTransformation = this.positionTranslation * this.localRotation * this.originTranslation * this.scaleTransformation;
}
private void UpdateRotationZY()
{
this.CorrectAngles();
this.localRotation = global::MinecraftUSkinEditor.Models.Matrix3D.CreateRotationY(this.angle2) * global::MinecraftUSkinEditor.Models.Matrix3D.CreateRotationZ(this.angle1);
this.localTransformation = this.positionTranslation * this.localRotation * this.originTranslation * this.scaleTransformation;
}
private void UpdateRotationYZ()
{
this.CorrectAngles();
this.localRotation = global::MinecraftUSkinEditor.Models.Matrix3D.CreateRotationZ(this.angle2) * global::MinecraftUSkinEditor.Models.Matrix3D.CreateRotationY(this.angle1);
this.localTransformation = this.positionTranslation * this.localRotation * this.originTranslation * this.scaleTransformation;
}
protected Object3D()
{
}
public const float PIby180 = 0.0174532924f;
protected global::MinecraftUSkinEditor.Models.Matrix3D originTranslation = global::MinecraftUSkinEditor.Models.Matrix3D.Identity;
protected global::MinecraftUSkinEditor.Models.Matrix3D positionTranslation = global::MinecraftUSkinEditor.Models.Matrix3D.Identity;
protected global::MinecraftUSkinEditor.Models.Matrix3D scaleTransformation = global::MinecraftUSkinEditor.Models.Matrix3D.Identity;
protected global::MinecraftUSkinEditor.Models.Matrix3D localRotation = global::MinecraftUSkinEditor.Models.Matrix3D.Identity;
protected global::MinecraftUSkinEditor.Models.Matrix3D localTransformation = global::MinecraftUSkinEditor.Models.Matrix3D.Identity;
protected global::MinecraftUSkinEditor.Models.Matrix3D globalTransformation = global::MinecraftUSkinEditor.Models.Matrix3D.Identity;
private float angle1;
private float angle2;
private float maxAngle1 = 3.14159274f;
private float minAngle1 = -3.14159274f;
private float maxAngle2 = 3.14159274f;
private float minAngle2 = -3.14159274f;
private global::MinecraftUSkinEditor.Models.RotationOrders order;
protected global::MinecraftUSkinEditor.Models.MinecraftModelView viewport;
private global::MinecraftUSkinEditor.Models.Object3D.RotateMethod Rotate;
private global::MinecraftUSkinEditor.Models.Object3D.UpdateRotationMethod UpdateRotation;
private delegate void RotateMethod(float deltaX, float deltaY);
private delegate void UpdateRotationMethod();
}
}

View File

@@ -0,0 +1,69 @@
using System;
using System.Collections.Generic;
namespace MinecraftUSkinEditor.Models
{
public class Object3DGroup : global::MinecraftUSkinEditor.Models.Object3D
{
internal override global::MinecraftUSkinEditor.Models.MinecraftModelView Viewport
{
set
{
base.Viewport = value;
foreach (global::MinecraftUSkinEditor.Models.Object3D object3D in this.object3DList)
{
object3D.Viewport = value;
}
}
}
public override global::System.Drawing.Image Image
{
set
{
foreach (global::MinecraftUSkinEditor.Models.Object3D object3D in this.object3DList)
{
object3D.Image = value;
}
}
}
internal override void Update()
{
global::MinecraftUSkinEditor.Models.Matrix3D globalTransformation = this.globalTransformation * this.localTransformation;
for (int i = 0; i < this.object3DList.Count; i++)
{
this.object3DList[i].GlobalTransformation = globalTransformation;
}
}
public override float HitTest(global::System.Drawing.PointF location)
{
float num = -1000f;
foreach (global::MinecraftUSkinEditor.Models.Object3D object3D in this.object3DList)
{
float num2 = object3D.HitTest(location);
if (num2 > num)
{
num = num2;
}
}
return num;
}
public void Add(global::MinecraftUSkinEditor.Models.Object3D object3D)
{
if (object3D == this)
{
throw new global::System.ArgumentException("Cannot add Object3D into itself.");
}
this.object3DList.Add(object3D);
}
public Object3DGroup()
{
}
private global::System.Collections.Generic.List<global::MinecraftUSkinEditor.Models.Object3D> object3DList = new global::System.Collections.Generic.List<global::MinecraftUSkinEditor.Models.Object3D>();
}
}

View File

@@ -0,0 +1,62 @@
using System;
namespace MinecraftUSkinEditor.Models
{
public struct Point3D
{
public Point3D(float x, float y, float z)
{
this.X = x;
this.Y = y;
this.Z = z;
}
public static global::MinecraftUSkinEditor.Models.Point3D Zero
{
get
{
return default(global::MinecraftUSkinEditor.Models.Point3D);
}
}
public override string ToString()
{
return string.Concat(new object[]
{
"(",
this.X,
";",
this.Y,
";",
this.Z,
")"
});
}
public static global::MinecraftUSkinEditor.Models.Point3D operator +(global::MinecraftUSkinEditor.Models.Point3D a, global::MinecraftUSkinEditor.Models.Point3D b)
{
return new global::MinecraftUSkinEditor.Models.Point3D(a.X + b.X, a.Y + b.Y, a.Z + b.Z);
}
public static global::MinecraftUSkinEditor.Models.Point3D operator -(global::MinecraftUSkinEditor.Models.Point3D a, global::MinecraftUSkinEditor.Models.Point3D b)
{
return new global::MinecraftUSkinEditor.Models.Point3D(a.X - b.X, a.Y - b.Y, a.Z - b.Z);
}
public static global::MinecraftUSkinEditor.Models.Point3D operator *(global::MinecraftUSkinEditor.Models.Point3D p, float s)
{
return new global::MinecraftUSkinEditor.Models.Point3D(p.X * s, p.Y * s, p.Z * s);
}
public static global::MinecraftUSkinEditor.Models.Point3D operator /(global::MinecraftUSkinEditor.Models.Point3D p, float s)
{
return new global::MinecraftUSkinEditor.Models.Point3D(p.X / s, p.Y / s, p.Z / s);
}
public float X;
public float Y;
public float Z;
}
}

View File

@@ -0,0 +1,14 @@
using System;
namespace MinecraftUSkinEditor.Models
{
public enum Positions
{
Default,
Outstretched,
Walking,
Running,
Sitting,
Zombie
}
}

View File

@@ -0,0 +1,10 @@
using System;
namespace MinecraftUSkinEditor.Models
{
public enum ProjectionTypes : byte
{
Perspective,
Isometric
}
}

View File

@@ -0,0 +1,14 @@
using System;
namespace MinecraftUSkinEditor.Models
{
public enum RotationOrders : byte
{
XY,
YX,
XZ,
ZX,
YZ,
ZY
}
}

View File

@@ -0,0 +1,49 @@
using System;
namespace MinecraftUSkinEditor.Models
{
internal struct Texel
{
internal Texel(global::MinecraftUSkinEditor.Models.TexturePlane texturePlane, int x, int y, global::System.Drawing.Color color)
{
this.TexturePlane = texturePlane;
this.X = x;
this.Y = y;
this.color = color;
this.brush = new global::System.Drawing.SolidBrush(color);
this.pen = new global::System.Drawing.Pen(global::System.Drawing.Color.White, 0.01f);
}
internal double Z
{
get
{
return this.TexturePlane.ZOrder[this.X + 1, this.Y + 1];
}
}
internal void Draw(global::System.Drawing.Graphics g)
{
global::System.Drawing.PointF[] points = new global::System.Drawing.PointF[]
{
this.TexturePlane.Points[this.X, this.Y],
this.TexturePlane.Points[this.X + 1, this.Y],
this.TexturePlane.Points[this.X + 1, this.Y + 1],
this.TexturePlane.Points[this.X, this.Y + 1]
};
g.FillPolygon(this.brush, points);
}
internal global::MinecraftUSkinEditor.Models.TexturePlane TexturePlane;
internal int X;
internal int Y;
private global::System.Drawing.Color color;
private global::System.Drawing.Brush brush;
private global::System.Drawing.Pen pen;
}
}

View File

@@ -0,0 +1,17 @@
using System;
using System.Collections.Generic;
namespace MinecraftUSkinEditor.Models
{
internal class TexelComparer : global::System.Collections.Generic.IComparer<global::MinecraftUSkinEditor.Models.Texel>
{
public int Compare(global::MinecraftUSkinEditor.Models.Texel x, global::MinecraftUSkinEditor.Models.Texel y)
{
return -x.Z.CompareTo(y.Z);
}
public TexelComparer()
{
}
}
}

View File

@@ -0,0 +1,189 @@
using System;
using System.Collections.Generic;
using System.Drawing.Drawing2D;
using System.Drawing.Imaging;
using System.Drawing;
namespace MinecraftUSkinEditor.Models
{
public class TexturePlane : Object3D
{
public override System.Drawing.Image Image
{
set
{
this.Bitmap = (System.Drawing.Bitmap)value;
}
}
internal override MinecraftModelView Viewport
{
set
{
base.Viewport = value;
if (this.bitmap != null && value != null)
{
this.UpdateBitmap();
}
}
}
internal override void Update()
{
if (this.Points == null || this.viewport == null)
{
return;
}
Matrix3D m = this.globalTransformation * this.localTransformation * this.originTranslation;
for (int i = 0; i <= this.width; i++)
{
for (int j = 0; j <= this.height; j++)
{
Point3D point3D = m * new Point3D((float)i, (float)j, 0f);
this.Points[i, j] = this.viewport.Point3DTo2D(point3D);
double num = (double)this.viewport.GetZOrder(point3D);
this.ZOrder[i, j] += num;
this.ZOrder[i + 1, j] += num;
this.ZOrder[i, j + 1] += num;
this.ZOrder[i + 1, j + 1] = num;
}
}
}
private Bitmap Bitmap
{
set
{
if (this.viewport == null)
{
this.bitmap = value;
return;
}
this.texelList.Clear();
if (this.bitmap != null)
{
this.viewport.RemoveTexelsOf(this);
this.Points = null;
}
this.bitmap = value;
if (this.bitmap != null)
{
this.UpdateBitmap();
this.Update();
}
}
}
private void UpdateBitmap()
{
this.width = this.bitmap.Width;
this.height = this.bitmap.Height;
this.visibility = new bool[this.width, this.height];
for (int i = 0; i < this.width; i++)
{
for (int j = 0; j < this.height; j++)
{
System.Drawing.Color pixel = this.bitmap.GetPixel(i, j);
int num = this.flipHorizontally ? (this.width - i - 1) : i;
int num2 = this.flipVertically ? j : (this.height - j - 1);
if (pixel.A == 0)
{
this.visibility[num, num2] = false;
}
else
{
this.visibility[num, num2] = true;
Texel texel = new Texel(this, num, num2, pixel);
this.viewport.AddTexel(texel);
this.texelList.Add(texel);
}
}
}
this.Points = new System.Drawing.PointF[this.width + 1, this.height + 1];
this.ZOrder = new double[this.width + 2, this.height + 2];
}
public TexturePlane(System.Drawing.Image bitmap, System.Drawing.Rectangle srcRect, Point3D origin, Point3D normal, Effects effects)
{
base.Origin = origin;
this.normal = normal;
if (bitmap == null)
{
this.Bitmap = null;
return;
}
System.Drawing.Bitmap bitmap2 = new System.Drawing.Bitmap(srcRect.Width, srcRect.Height);
using (System.Drawing.Graphics graphics = System.Drawing.Graphics.FromImage(bitmap2))
{
graphics.DrawImage(bitmap, new System.Drawing.Rectangle(0, 0, bitmap2.Width, bitmap2.Height), srcRect, System.Drawing.GraphicsUnit.Pixel);
}
this.flipHorizontally = ((byte)(effects & Effects.FlipHorizontally) == 1);
this.flipVertically = ((byte)(effects & Effects.FlipVertically) == 2);
this.Bitmap = bitmap2;
}
public override float HitTest(System.Drawing.PointF location)
{
if (this.Points == null)
{
return -1000f;
}
System.Drawing.Drawing2D.GraphicsPath graphicsPath = new System.Drawing.Drawing2D.GraphicsPath();
graphicsPath.AddPolygon(new System.Drawing.PointF[]
{
this.Points[0, 0],
this.Points[this.Points.GetLength(0) - 1, 0],
this.Points[this.Points.GetLength(0) - 1, this.Points.GetLength(1) - 1],
this.Points[0, this.Points.GetLength(1) - 1]
});
System.Drawing.Region region = new System.Drawing.Region(graphicsPath);
if (region.IsVisible(location))
{
for (int i = 0; i < this.Points.GetLength(0) - 1; i++)
{
for (int j = 0; j < this.Points.GetLength(1) - 1; j++)
{
if (this.visibility[i, j])
{
graphicsPath.Reset();
graphicsPath.AddPolygon(new System.Drawing.PointF[]
{
this.Points[i, j],
this.Points[i + 1, j],
this.Points[i + 1, j + 1],
this.Points[i, j + 1]
});
if (graphicsPath.IsVisible(location))
{
return (this.globalTransformation * this.localTransformation * this.originTranslation * new Point3D((float)i, (float)j, 0f)).Z;
}
}
}
}
}
return -1000f;
}
private System.Collections.Generic.List<Texel> texelList = new System.Collections.Generic.List<Texel>();
internal System.Drawing.PointF[,] Points;
internal double[,] ZOrder;
internal bool IsVisible = true;
private bool[,] visibility;
private System.Drawing.Bitmap bitmap;
private bool flipHorizontally;
private bool flipVertically;
private int width;
private int height;
private Point3D normal;
}
}

View File

@@ -4,7 +4,7 @@ using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
using System.Windows;
using System.Windows.Forms;
namespace MinecraftUSkinEditor
{
@@ -19,7 +19,7 @@ namespace MinecraftUSkinEditor
public byte[] data;
public List<object[]> entries = new List<object[]>();
}
public bool IsLittleEndian;
public int pckType = 0;
public Dictionary<int, string> types = new Dictionary<int, string>();
@@ -33,7 +33,16 @@ namespace MinecraftUSkinEditor
public PCK(string filename)
{
Read(File.ReadAllBytes(filename));
try
{
Read(File.ReadAllBytes(filename));
IsLittleEndian = false;
}
catch
{
ReadVita(File.ReadAllBytes(filename));
IsLittleEndian = true;
}
}
private static byte[] endianReverseUnicode(byte[] str)
@@ -49,41 +58,39 @@ namespace MinecraftUSkinEditor
public static string readMineString(FileData f)
{
int length = f.readInt() * 2;
Console.WriteLine(length.ToString());
return Encoding.Unicode.GetString(endianReverseUnicode(f.readBytes(length)));
}
int length = f.readInt() * 2;
Console.WriteLine(length.ToString());
return Encoding.Unicode.GetString(endianReverseUnicode(f.readBytes(length)));
}
public static string readMineStringVita(FileData f)
{
int length = f.readInt() / 20000000;
Console.WriteLine(length.ToString() + " - caught");
return Encoding.Unicode.GetString(endianReverseUnicode(f.readBytes(length)));
}
int length = f.readIntVita() * 2;
Console.WriteLine(length.ToString());
return Encoding.Unicode.GetString((f.readBytes(length)));
public static string readMineStringVita2(FileData f)
{
int length = (f.readInt() / 20000000) * 2;
Console.WriteLine(length.ToString() + " - caught");
return Encoding.Unicode.GetString(endianReverseUnicode(f.readBytes(length)));
}
public void Read(byte[] data)
{
pckType = 0;
types = new Dictionary<int, string>();
typeCodes = new Dictionary<string, int>();
mineFiles = new List<MineFile>();
FileData fileData = new FileData(data);
fileData.Endian = Endianness.Big;
fileData.readInt();
int entryTypeCount = fileData.readInt();
//int a = 0;
for (int i = 0; i < entryTypeCount; i++)
{
int unk = fileData.readInt();
string text = "";
try
{
text = readMineString(fileData);
text = readMineString(fileData);
//File.WriteAllText(Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory) + "\\exp\\PCKDump" + a + ".bin", text);
//a++;
}
catch
{
@@ -148,6 +155,91 @@ namespace MinecraftUSkinEditor
}
}
public void ReadVita(byte[] data)
{
pckType = 0;
types = new Dictionary<int, string>();
typeCodes = new Dictionary<string, int>();
mineFiles = new List<MineFile>();
FileData fileData = new FileData(data);
fileData.Endian = Endianness.Big;
fileData.readIntVita();
int entryTypeCount = fileData.readIntVita();
//int a = 0;
for (int i = 0; i < entryTypeCount; i++)
{
int unk = fileData.readIntVita();
string text = "";
try
{
text = readMineStringVita(fileData);
//File.WriteAllText(Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory) + "\\exp\\PCKDump" + a + ".bin", text);
//a++;
}
catch
{
text = "Hello!";
}
types.Add(unk, text);
typeCodes.Add(text, unk);
fileData.skip(4);
}
int itemCount = fileData.readIntVita();
Console.WriteLine(itemCount);
// no metadata
if (entryTypeCount == 0)
{
Console.WriteLine("PckType0");
}
// type 1 or 2
else if (itemCount < 3)
{
pckType = itemCount;
if (pckType == 1)
{
Console.WriteLine("PckType1");
itemCount = fileData.readIntVita();
}
if (pckType == 2)
Console.WriteLine("PckType2");
}
// regular pck
else
{
Console.WriteLine("NormalPCK");
}
for (int j = 0; j < itemCount; j++)
{
MineFile mineFile = new MineFile();
mineFile.filesize = fileData.readIntVita();
mineFile.type = fileData.readIntVita();
int length = fileData.readIntVita() * 2;
mineFile.name = Encoding.Unicode.GetString((fileData.readBytes(length)));
fileData.skip(4);
mineFiles.Add(mineFile);
}
foreach (MineFile mineFile2 in mineFiles)
{
int num4 = fileData.readIntVita();
for (int k = 0; k < num4; k++)
{
object[] array = new object[2];
int key = fileData.readIntVita();
array[0] = types[key];
array[1] = readMineStringVita(fileData);
fileData.skip(4);
mineFile2.entries.Add(array);
}
mineFile2.data = fileData.readBytes(mineFile2.filesize);
}
}
private static void writeMinecraftString(FileOutput f, string str)
{
byte[] bytes = Encoding.Unicode.GetBytes(str);
@@ -156,6 +248,15 @@ namespace MinecraftUSkinEditor
f.writeInt(0);
}
private static void writeMinecraftStringVita(FileOutput f, string str)
{
Console.WriteLine("WriteVita -- " + str);
byte[] bytes = Encoding.Unicode.GetBytes(str);
f.writeIntVita(bytes.Length / 2);
f.writeBytes((bytes));
f.writeIntVita(0);
}
public byte[] Rebuild()
{
FileOutput fileOutput = new FileOutput();
@@ -196,5 +297,46 @@ namespace MinecraftUSkinEditor
}
return fileOutput.getBytes();
}
public byte[] RebuildVita()
{
FileOutput fileOutput = new FileOutput();
fileOutput.Endian = Endianness.Big;
fileOutput.writeIntVita(3);
fileOutput.writeIntVita(this.types.Count);
foreach (int num in this.types.Keys)
{
fileOutput.writeIntVita(num);
PCK.writeMinecraftStringVita(fileOutput, this.types[num]);
}
fileOutput.writeIntVita(this.mineFiles.Count);
foreach (PCK.MineFile mineFile in this.mineFiles)
{
fileOutput.writeIntVita(mineFile.data.Length);
fileOutput.writeIntVita(mineFile.type);
PCK.writeMinecraftStringVita(fileOutput, mineFile.name);
}
foreach (PCK.MineFile mineFile2 in this.mineFiles)
{
string str = "";
try
{
fileOutput.writeIntVita(mineFile2.entries.Count);
foreach (object[] array in mineFile2.entries)
{
str = array[0].ToString();
fileOutput.writeIntVita(this.typeCodes[(string)array[0]]);
PCK.writeMinecraftStringVita(fileOutput, (string)array[1]);
}
fileOutput.writeBytes(mineFile2.data);
}
catch (Exception)
{
MessageBox.Show(str + " is not in the main metadatabase");
break;
}
}
return fileOutput.getBytes();
}
}
}
}

View File

@@ -15,14 +15,20 @@ namespace MinecraftUSkinEditor
{
public static string baseurl = "http://www.pckstudio.tk/studio/PCK/api/";
public static string backurl = "https://phoenixarc.github.io/pckstudio.tk/studio/PCK/api/";
public static bool IsDev = false;
public static FormMain formMain;
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
static void Main(string[] args)
{
try
{
if (args[0] == "-dev")
IsDev = true;
}
catch { }
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);

View File

@@ -32,6 +32,8 @@
this.pictureBox1 = new System.Windows.Forms.PictureBox();
this.metroLabel1 = new MetroFramework.Controls.MetroLabel();
this.metroLabel2 = new MetroFramework.Controls.MetroLabel();
this.metroLabel3 = new MetroFramework.Controls.MetroLabel();
this.metroLabel4 = new MetroFramework.Controls.MetroLabel();
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
this.SuspendLayout();
//
@@ -51,9 +53,9 @@
this.metroLabel1.AutoSize = true;
this.metroLabel1.Location = new System.Drawing.Point(4, 333);
this.metroLabel1.Name = "metroLabel1";
this.metroLabel1.Size = new System.Drawing.Size(155, 19);
this.metroLabel1.Size = new System.Drawing.Size(250, 19);
this.metroLabel1.TabIndex = 1;
this.metroLabel1.Text = "Restored By PhoenixARC";
this.metroLabel1.Text = "Restored and maintained By PhoenixARC";
this.metroLabel1.Theme = MetroFramework.MetroThemeStyle.Dark;
//
// metroLabel2
@@ -66,12 +68,34 @@
this.metroLabel2.Text = "Utilizing the Nobledez Website by Newagent";
this.metroLabel2.Theme = MetroFramework.MetroThemeStyle.Dark;
//
// metroLabel3
//
this.metroLabel3.AutoSize = true;
this.metroLabel3.Location = new System.Drawing.Point(4, 363);
this.metroLabel3.Name = "metroLabel3";
this.metroLabel3.Size = new System.Drawing.Size(212, 19);
this.metroLabel3.TabIndex = 3;
this.metroLabel3.Text = "3D skin renderer by Łukasz Rejman";
this.metroLabel3.Theme = MetroFramework.MetroThemeStyle.Dark;
//
// metroLabel4
//
this.metroLabel4.AutoSize = true;
this.metroLabel4.Location = new System.Drawing.Point(310, 363);
this.metroLabel4.Name = "metroLabel4";
this.metroLabel4.Size = new System.Drawing.Size(199, 19);
this.metroLabel4.TabIndex = 4;
this.metroLabel4.Text = "3D renderer found by Newagent";
this.metroLabel4.Theme = MetroFramework.MetroThemeStyle.Dark;
//
// programInfo
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BorderStyle = MetroFramework.Forms.MetroFormBorderStyle.FixedSingle;
this.ClientSize = new System.Drawing.Size(582, 360);
this.ClientSize = new System.Drawing.Size(582, 392);
this.Controls.Add(this.metroLabel4);
this.Controls.Add(this.metroLabel3);
this.Controls.Add(this.metroLabel2);
this.Controls.Add(this.metroLabel1);
this.Controls.Add(this.pictureBox1);
@@ -98,5 +122,7 @@
private System.Windows.Forms.PictureBox pictureBox1;
private MetroFramework.Controls.MetroLabel metroLabel1;
private MetroFramework.Controls.MetroLabel metroLabel2;
private MetroFramework.Controls.MetroLabel metroLabel3;
private MetroFramework.Controls.MetroLabel metroLabel4;
}
}

View File

@@ -82,6 +82,7 @@
this.VitaPCKInstallerToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.joinDevelopmentDiscordToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.uPDATEToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
this.tSTToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.label1 = new System.Windows.Forms.Label();
this.contextMenuMetaTree = new System.Windows.Forms.ContextMenuStrip(this.components);
this.addPresetToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
@@ -92,33 +93,6 @@
this.directorySearcher1 = new System.DirectoryServices.DirectorySearcher();
this.openedPCKS = new MetroFramework.Controls.MetroTabControl();
this.tabPage1 = new MetroFramework.Controls.MetroTabPage();
this.labelImageSize = new System.Windows.Forms.Label();
this.pictureBox2 = new System.Windows.Forms.PictureBox();
this.DBGLabel = new System.Windows.Forms.Label();
this.metroTabControl1 = new MetroFramework.Controls.MetroTabControl();
this.metroTabPage1 = new MetroFramework.Controls.MetroTabPage();
this.label10 = new System.Windows.Forms.Label();
this.label11 = new System.Windows.Forms.Label();
this.timer1 = new System.Windows.Forms.Timer(this.components);
this.myTablePanelStartScreen = new PckStudio.Forms.MyTablePanel();
this.richTextBoxChangelog = new System.Windows.Forms.RichTextBox();
this.label5 = new System.Windows.Forms.Label();
this.pckOpen = new System.Windows.Forms.PictureBox();
this.myTablePanel2 = new PckStudio.Forms.MyTablePanel();
this.treeView1 = new System.Windows.Forms.TreeView();
this.pictureBoxWithInterpolationMode1 = new MinecraftUSkinEditor.PictureBoxWithInterpolationMode();
this.label4 = new System.Windows.Forms.Label();
this.tabControl1 = new System.Windows.Forms.TabControl();
this.tabPage2 = new System.Windows.Forms.TabPage();
this.myTablePanel3 = new PckStudio.Forms.MyTablePanel();
this.treeView2 = new System.Windows.Forms.TreeView();
this.comboBox2 = new System.Windows.Forms.ComboBox();
this.label6 = new System.Windows.Forms.Label();
this.textBox2 = new System.Windows.Forms.TextBox();
this.label7 = new System.Windows.Forms.Label();
this.label8 = new System.Windows.Forms.Label();
this.label9 = new System.Windows.Forms.Label();
this.button1 = new System.Windows.Forms.Button();
this.myTablePanelPckEdit = new PckStudio.Forms.MyTablePanel();
this.treeViewMain = new System.Windows.Forms.TreeView();
this.pictureBoxImagePreview = new MinecraftUSkinEditor.PictureBoxWithInterpolationMode();
@@ -134,26 +108,55 @@
this.label3 = new System.Windows.Forms.Label();
this.labelEntryData = new System.Windows.Forms.Label();
this.buttonEdit = new System.Windows.Forms.Button();
this.labelImageSize = new System.Windows.Forms.Label();
this.pictureBox2 = new System.Windows.Forms.PictureBox();
this.DBGLabel = new System.Windows.Forms.Label();
this.metroTabControl1 = new MetroFramework.Controls.MetroTabControl();
this.metroTabPage1 = new MetroFramework.Controls.MetroTabPage();
this.myTablePanel2 = new PckStudio.Forms.MyTablePanel();
this.treeView1 = new System.Windows.Forms.TreeView();
this.pictureBoxWithInterpolationMode1 = new MinecraftUSkinEditor.PictureBoxWithInterpolationMode();
this.label4 = new System.Windows.Forms.Label();
this.tabControl1 = new System.Windows.Forms.TabControl();
this.tabPage2 = new System.Windows.Forms.TabPage();
this.myTablePanel3 = new PckStudio.Forms.MyTablePanel();
this.treeView2 = new System.Windows.Forms.TreeView();
this.comboBox2 = new System.Windows.Forms.ComboBox();
this.label6 = new System.Windows.Forms.Label();
this.textBox2 = new System.Windows.Forms.TextBox();
this.label7 = new System.Windows.Forms.Label();
this.label8 = new System.Windows.Forms.Label();
this.label9 = new System.Windows.Forms.Label();
this.button1 = new System.Windows.Forms.Button();
this.label10 = new System.Windows.Forms.Label();
this.label11 = new System.Windows.Forms.Label();
this.timer1 = new System.Windows.Forms.Timer(this.components);
this.ChangeURL = new System.Windows.Forms.Label();
this.LittleEndianCheckBox = new MetroFramework.Controls.MetroCheckBox();
this.label5 = new System.Windows.Forms.Label();
this.richTextBoxChangelog = new System.Windows.Forms.RichTextBox();
this.myTablePanelStartScreen = new PckStudio.Forms.MyTablePanel();
this.pckOpen = new System.Windows.Forms.PictureBox();
this.contextMenuPCKEntries.SuspendLayout();
this.menuStrip.SuspendLayout();
this.contextMenuMetaTree.SuspendLayout();
this.openedPCKS.SuspendLayout();
this.tabPage1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.pictureBox2)).BeginInit();
this.metroTabControl1.SuspendLayout();
this.metroTabPage1.SuspendLayout();
this.myTablePanelStartScreen.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.pckOpen)).BeginInit();
this.myTablePanel2.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.pictureBoxWithInterpolationMode1)).BeginInit();
this.tabControl1.SuspendLayout();
this.tabPage2.SuspendLayout();
this.myTablePanel3.SuspendLayout();
this.myTablePanelPckEdit.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.pictureBoxImagePreview)).BeginInit();
this.tabDataDisplay.SuspendLayout();
this.tabMetaDisplay.SuspendLayout();
this.myTablePanel1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.pictureBox2)).BeginInit();
this.metroTabControl1.SuspendLayout();
this.metroTabPage1.SuspendLayout();
this.myTablePanel2.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.pictureBoxWithInterpolationMode1)).BeginInit();
this.tabControl1.SuspendLayout();
this.tabPage2.SuspendLayout();
this.myTablePanel3.SuspendLayout();
this.myTablePanelStartScreen.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.pckOpen)).BeginInit();
this.SuspendLayout();
//
// contextMenuPCKEntries
@@ -263,7 +266,8 @@
this.videosToolStripMenuItem,
this.helpToolStripMenuItem,
this.storeToolStripMenuItem,
this.uPDATEToolStripMenuItem1});
this.uPDATEToolStripMenuItem1,
this.tSTToolStripMenuItem});
this.menuStrip.Name = "menuStrip";
this.menuStrip.ItemClicked += new System.Windows.Forms.ToolStripItemClickedEventHandler(this.menuStrip_ItemClicked);
//
@@ -458,8 +462,8 @@
this.donateToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.toNobledezJackToolStripMenuItem,
this.toPhoenixARCDeveloperToolStripMenuItem});
resources.ApplyResources(this.donateToolStripMenuItem, "donateToolStripMenuItem");
this.donateToolStripMenuItem.Name = "donateToolStripMenuItem";
resources.ApplyResources(this.donateToolStripMenuItem, "donateToolStripMenuItem");
this.donateToolStripMenuItem.Click += new System.EventHandler(this.donateToolStripMenuItem_Click);
//
// toNobledezJackToolStripMenuItem
@@ -530,6 +534,7 @@
//
// joinDevelopmentDiscordToolStripMenuItem
//
this.joinDevelopmentDiscordToolStripMenuItem.Image = global::PckStudio.Properties.Resources.discord;
this.joinDevelopmentDiscordToolStripMenuItem.Name = "joinDevelopmentDiscordToolStripMenuItem";
resources.ApplyResources(this.joinDevelopmentDiscordToolStripMenuItem, "joinDevelopmentDiscordToolStripMenuItem");
this.joinDevelopmentDiscordToolStripMenuItem.Click += new System.EventHandler(this.joinDevelopmentDiscordToolStripMenuItem_Click);
@@ -541,6 +546,13 @@
resources.ApplyResources(this.uPDATEToolStripMenuItem1, "uPDATEToolStripMenuItem1");
this.uPDATEToolStripMenuItem1.Click += new System.EventHandler(this.uPDATEToolStripMenuItem1_Click);
//
// tSTToolStripMenuItem
//
this.tSTToolStripMenuItem.ForeColor = System.Drawing.SystemColors.ButtonFace;
this.tSTToolStripMenuItem.Name = "tSTToolStripMenuItem";
resources.ApplyResources(this.tSTToolStripMenuItem, "tSTToolStripMenuItem");
this.tSTToolStripMenuItem.Click += new System.EventHandler(this.tSTToolStripMenuItem_Click);
//
// label1
//
resources.ApplyResources(this.label1, "label1");
@@ -613,220 +625,6 @@
this.tabPage1.VerticalScrollbarHighlightOnWheel = false;
this.tabPage1.VerticalScrollbarSize = 0;
//
// labelImageSize
//
resources.ApplyResources(this.labelImageSize, "labelImageSize");
this.labelImageSize.Name = "labelImageSize";
//
// pictureBox2
//
resources.ApplyResources(this.pictureBox2, "pictureBox2");
this.pictureBox2.Name = "pictureBox2";
this.pictureBox2.TabStop = false;
//
// DBGLabel
//
resources.ApplyResources(this.DBGLabel, "DBGLabel");
this.DBGLabel.ForeColor = System.Drawing.Color.Red;
this.DBGLabel.Name = "DBGLabel";
//
// metroTabControl1
//
this.metroTabControl1.Controls.Add(this.metroTabPage1);
resources.ApplyResources(this.metroTabControl1, "metroTabControl1");
this.metroTabControl1.Name = "metroTabControl1";
this.metroTabControl1.SelectedIndex = 0;
this.metroTabControl1.SizeMode = System.Windows.Forms.TabSizeMode.Fixed;
this.metroTabControl1.Style = MetroFramework.MetroColorStyle.White;
this.metroTabControl1.Theme = MetroFramework.MetroThemeStyle.Dark;
this.metroTabControl1.UseSelectable = true;
//
// metroTabPage1
//
this.metroTabPage1.BackColor = System.Drawing.Color.Transparent;
this.metroTabPage1.Controls.Add(this.myTablePanel2);
this.metroTabPage1.Controls.Add(this.label10);
this.metroTabPage1.Controls.Add(this.label11);
this.metroTabPage1.HorizontalScrollbarBarColor = true;
this.metroTabPage1.HorizontalScrollbarHighlightOnWheel = false;
this.metroTabPage1.HorizontalScrollbarSize = 0;
resources.ApplyResources(this.metroTabPage1, "metroTabPage1");
this.metroTabPage1.Name = "metroTabPage1";
this.metroTabPage1.Style = MetroFramework.MetroColorStyle.White;
this.metroTabPage1.Theme = MetroFramework.MetroThemeStyle.Dark;
this.metroTabPage1.VerticalScrollbarBarColor = true;
this.metroTabPage1.VerticalScrollbarHighlightOnWheel = false;
this.metroTabPage1.VerticalScrollbarSize = 0;
//
// label10
//
resources.ApplyResources(this.label10, "label10");
this.label10.Name = "label10";
//
// label11
//
resources.ApplyResources(this.label11, "label11");
this.label11.Name = "label11";
//
// timer1
//
this.timer1.Tick += new System.EventHandler(this.timer1_Tick);
//
// myTablePanelStartScreen
//
resources.ApplyResources(this.myTablePanelStartScreen, "myTablePanelStartScreen");
this.myTablePanelStartScreen.Controls.Add(this.richTextBoxChangelog, 1, 1);
this.myTablePanelStartScreen.Controls.Add(this.label5, 1, 0);
this.myTablePanelStartScreen.Controls.Add(this.pckOpen, 0, 0);
this.myTablePanelStartScreen.Name = "myTablePanelStartScreen";
//
// richTextBoxChangelog
//
this.richTextBoxChangelog.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(28)))), ((int)(((byte)(28)))), ((int)(((byte)(28)))));
this.richTextBoxChangelog.BorderStyle = System.Windows.Forms.BorderStyle.None;
resources.ApplyResources(this.richTextBoxChangelog, "richTextBoxChangelog");
this.richTextBoxChangelog.ForeColor = System.Drawing.Color.White;
this.richTextBoxChangelog.Name = "richTextBoxChangelog";
this.richTextBoxChangelog.ReadOnly = true;
//
// label5
//
resources.ApplyResources(this.label5, "label5");
this.label5.ForeColor = System.Drawing.Color.White;
this.label5.Name = "label5";
//
// pckOpen
//
resources.ApplyResources(this.pckOpen, "pckOpen");
this.pckOpen.Image = global::PckStudio.Properties.Resources.pckClosed;
this.pckOpen.Name = "pckOpen";
this.myTablePanelStartScreen.SetRowSpan(this.pckOpen, 2);
this.pckOpen.TabStop = false;
this.pckOpen.Click += new System.EventHandler(this.openToolStripMenuItem_Click);
this.pckOpen.DragDrop += new System.Windows.Forms.DragEventHandler(this.OpenPck_DragDrop);
this.pckOpen.DragEnter += new System.Windows.Forms.DragEventHandler(this.OpenPck_DragEnter);
this.pckOpen.DragLeave += new System.EventHandler(this.OpenPck_DragLeave);
this.pckOpen.MouseEnter += new System.EventHandler(this.OpenPck_MouseEnter);
this.pckOpen.MouseLeave += new System.EventHandler(this.OpenPck_MouseLeave);
//
// myTablePanel2
//
resources.ApplyResources(this.myTablePanel2, "myTablePanel2");
this.myTablePanel2.Controls.Add(this.treeView1, 0, 0);
this.myTablePanel2.Controls.Add(this.pictureBoxWithInterpolationMode1, 1, 0);
this.myTablePanel2.Controls.Add(this.label4, 2, 0);
this.myTablePanel2.Controls.Add(this.tabControl1, 1, 4);
this.myTablePanel2.Name = "myTablePanel2";
//
// treeView1
//
this.treeView1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
this.treeView1.ContextMenuStrip = this.contextMenuPCKEntries;
resources.ApplyResources(this.treeView1, "treeView1");
this.treeView1.ForeColor = System.Drawing.Color.White;
this.treeView1.LabelEdit = true;
this.treeView1.Name = "treeView1";
this.myTablePanel2.SetRowSpan(this.treeView1, 6);
//
// pictureBoxWithInterpolationMode1
//
resources.ApplyResources(this.pictureBoxWithInterpolationMode1, "pictureBoxWithInterpolationMode1");
this.pictureBoxWithInterpolationMode1.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.Default;
this.pictureBoxWithInterpolationMode1.Name = "pictureBoxWithInterpolationMode1";
this.myTablePanel2.SetRowSpan(this.pictureBoxWithInterpolationMode1, 4);
this.pictureBoxWithInterpolationMode1.TabStop = false;
//
// label4
//
resources.ApplyResources(this.label4, "label4");
this.label4.ForeColor = System.Drawing.Color.White;
this.label4.Name = "label4";
this.label4.UseCompatibleTextRendering = true;
//
// tabControl1
//
this.myTablePanel2.SetColumnSpan(this.tabControl1, 2);
this.tabControl1.Controls.Add(this.tabPage2);
resources.ApplyResources(this.tabControl1, "tabControl1");
this.tabControl1.Name = "tabControl1";
this.myTablePanel2.SetRowSpan(this.tabControl1, 2);
this.tabControl1.SelectedIndex = 0;
//
// tabPage2
//
this.tabPage2.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(20)))), ((int)(((byte)(20)))), ((int)(((byte)(20)))));
this.tabPage2.Controls.Add(this.myTablePanel3);
resources.ApplyResources(this.tabPage2, "tabPage2");
this.tabPage2.Name = "tabPage2";
//
// myTablePanel3
//
resources.ApplyResources(this.myTablePanel3, "myTablePanel3");
this.myTablePanel3.Controls.Add(this.treeView2, 0, 0);
this.myTablePanel3.Controls.Add(this.comboBox2, 1, 1);
this.myTablePanel3.Controls.Add(this.label6, 1, 4);
this.myTablePanel3.Controls.Add(this.textBox2, 1, 3);
this.myTablePanel3.Controls.Add(this.label7, 1, 0);
this.myTablePanel3.Controls.Add(this.label8, 1, 5);
this.myTablePanel3.Controls.Add(this.label9, 1, 2);
this.myTablePanel3.Controls.Add(this.button1, 0, 6);
this.myTablePanel3.Name = "myTablePanel3";
//
// treeView2
//
this.treeView2.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
this.treeView2.ContextMenuStrip = this.contextMenuMetaTree;
resources.ApplyResources(this.treeView2, "treeView2");
this.treeView2.ForeColor = System.Drawing.Color.White;
this.treeView2.Name = "treeView2";
this.myTablePanel3.SetRowSpan(this.treeView2, 6);
//
// comboBox2
//
resources.ApplyResources(this.comboBox2, "comboBox2");
this.comboBox2.BackColor = System.Drawing.Color.White;
this.comboBox2.FormattingEnabled = true;
this.comboBox2.Name = "comboBox2";
//
// label6
//
resources.ApplyResources(this.label6, "label6");
this.label6.ForeColor = System.Drawing.Color.White;
this.label6.Name = "label6";
//
// textBox2
//
resources.ApplyResources(this.textBox2, "textBox2");
this.textBox2.BackColor = System.Drawing.Color.White;
this.textBox2.Name = "textBox2";
//
// label7
//
resources.ApplyResources(this.label7, "label7");
this.label7.ForeColor = System.Drawing.Color.White;
this.label7.Name = "label7";
//
// label8
//
resources.ApplyResources(this.label8, "label8");
this.label8.ForeColor = System.Drawing.Color.White;
this.label8.Name = "label8";
//
// label9
//
resources.ApplyResources(this.label9, "label9");
this.label9.ForeColor = System.Drawing.Color.White;
this.label9.Name = "label9";
//
// button1
//
this.button1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
this.myTablePanel3.SetColumnSpan(this.button1, 2);
resources.ApplyResources(this.button1, "button1");
this.button1.ForeColor = System.Drawing.Color.White;
this.button1.Name = "button1";
this.button1.UseVisualStyleBackColor = false;
//
// myTablePanelPckEdit
//
resources.ApplyResources(this.myTablePanelPckEdit, "myTablePanelPckEdit");
@@ -953,11 +751,240 @@
this.buttonEdit.UseVisualStyleBackColor = false;
this.buttonEdit.Click += new System.EventHandler(this.buttonEditModel_Click);
//
// labelImageSize
//
resources.ApplyResources(this.labelImageSize, "labelImageSize");
this.labelImageSize.Name = "labelImageSize";
//
// pictureBox2
//
resources.ApplyResources(this.pictureBox2, "pictureBox2");
this.pictureBox2.Name = "pictureBox2";
this.pictureBox2.TabStop = false;
//
// DBGLabel
//
resources.ApplyResources(this.DBGLabel, "DBGLabel");
this.DBGLabel.ForeColor = System.Drawing.Color.Red;
this.DBGLabel.Name = "DBGLabel";
//
// metroTabControl1
//
this.metroTabControl1.Controls.Add(this.metroTabPage1);
resources.ApplyResources(this.metroTabControl1, "metroTabControl1");
this.metroTabControl1.Name = "metroTabControl1";
this.metroTabControl1.SelectedIndex = 0;
this.metroTabControl1.SizeMode = System.Windows.Forms.TabSizeMode.Fixed;
this.metroTabControl1.Style = MetroFramework.MetroColorStyle.White;
this.metroTabControl1.Theme = MetroFramework.MetroThemeStyle.Dark;
this.metroTabControl1.UseSelectable = true;
//
// metroTabPage1
//
this.metroTabPage1.BackColor = System.Drawing.Color.Transparent;
this.metroTabPage1.Controls.Add(this.myTablePanel2);
this.metroTabPage1.Controls.Add(this.label10);
this.metroTabPage1.Controls.Add(this.label11);
this.metroTabPage1.HorizontalScrollbarBarColor = true;
this.metroTabPage1.HorizontalScrollbarHighlightOnWheel = false;
this.metroTabPage1.HorizontalScrollbarSize = 0;
resources.ApplyResources(this.metroTabPage1, "metroTabPage1");
this.metroTabPage1.Name = "metroTabPage1";
this.metroTabPage1.Style = MetroFramework.MetroColorStyle.White;
this.metroTabPage1.Theme = MetroFramework.MetroThemeStyle.Dark;
this.metroTabPage1.VerticalScrollbarBarColor = true;
this.metroTabPage1.VerticalScrollbarHighlightOnWheel = false;
this.metroTabPage1.VerticalScrollbarSize = 0;
//
// myTablePanel2
//
resources.ApplyResources(this.myTablePanel2, "myTablePanel2");
this.myTablePanel2.Controls.Add(this.treeView1, 0, 0);
this.myTablePanel2.Controls.Add(this.pictureBoxWithInterpolationMode1, 1, 0);
this.myTablePanel2.Controls.Add(this.label4, 2, 0);
this.myTablePanel2.Controls.Add(this.tabControl1, 1, 4);
this.myTablePanel2.Name = "myTablePanel2";
//
// treeView1
//
this.treeView1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
this.treeView1.ContextMenuStrip = this.contextMenuPCKEntries;
resources.ApplyResources(this.treeView1, "treeView1");
this.treeView1.ForeColor = System.Drawing.Color.White;
this.treeView1.LabelEdit = true;
this.treeView1.Name = "treeView1";
this.myTablePanel2.SetRowSpan(this.treeView1, 6);
//
// pictureBoxWithInterpolationMode1
//
resources.ApplyResources(this.pictureBoxWithInterpolationMode1, "pictureBoxWithInterpolationMode1");
this.pictureBoxWithInterpolationMode1.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.Default;
this.pictureBoxWithInterpolationMode1.Name = "pictureBoxWithInterpolationMode1";
this.myTablePanel2.SetRowSpan(this.pictureBoxWithInterpolationMode1, 4);
this.pictureBoxWithInterpolationMode1.TabStop = false;
//
// label4
//
resources.ApplyResources(this.label4, "label4");
this.label4.ForeColor = System.Drawing.Color.White;
this.label4.Name = "label4";
this.label4.UseCompatibleTextRendering = true;
//
// tabControl1
//
this.myTablePanel2.SetColumnSpan(this.tabControl1, 2);
this.tabControl1.Controls.Add(this.tabPage2);
resources.ApplyResources(this.tabControl1, "tabControl1");
this.tabControl1.Name = "tabControl1";
this.myTablePanel2.SetRowSpan(this.tabControl1, 2);
this.tabControl1.SelectedIndex = 0;
//
// tabPage2
//
this.tabPage2.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(20)))), ((int)(((byte)(20)))), ((int)(((byte)(20)))));
this.tabPage2.Controls.Add(this.myTablePanel3);
resources.ApplyResources(this.tabPage2, "tabPage2");
this.tabPage2.Name = "tabPage2";
//
// myTablePanel3
//
resources.ApplyResources(this.myTablePanel3, "myTablePanel3");
this.myTablePanel3.Controls.Add(this.treeView2, 0, 0);
this.myTablePanel3.Controls.Add(this.comboBox2, 1, 1);
this.myTablePanel3.Controls.Add(this.label6, 1, 4);
this.myTablePanel3.Controls.Add(this.textBox2, 1, 3);
this.myTablePanel3.Controls.Add(this.label7, 1, 0);
this.myTablePanel3.Controls.Add(this.label8, 1, 5);
this.myTablePanel3.Controls.Add(this.label9, 1, 2);
this.myTablePanel3.Controls.Add(this.button1, 0, 6);
this.myTablePanel3.Name = "myTablePanel3";
//
// treeView2
//
this.treeView2.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
this.treeView2.ContextMenuStrip = this.contextMenuMetaTree;
resources.ApplyResources(this.treeView2, "treeView2");
this.treeView2.ForeColor = System.Drawing.Color.White;
this.treeView2.Name = "treeView2";
this.myTablePanel3.SetRowSpan(this.treeView2, 6);
//
// comboBox2
//
resources.ApplyResources(this.comboBox2, "comboBox2");
this.comboBox2.BackColor = System.Drawing.Color.White;
this.comboBox2.FormattingEnabled = true;
this.comboBox2.Name = "comboBox2";
//
// label6
//
resources.ApplyResources(this.label6, "label6");
this.label6.ForeColor = System.Drawing.Color.White;
this.label6.Name = "label6";
//
// textBox2
//
resources.ApplyResources(this.textBox2, "textBox2");
this.textBox2.BackColor = System.Drawing.Color.White;
this.textBox2.Name = "textBox2";
//
// label7
//
resources.ApplyResources(this.label7, "label7");
this.label7.ForeColor = System.Drawing.Color.White;
this.label7.Name = "label7";
//
// label8
//
resources.ApplyResources(this.label8, "label8");
this.label8.ForeColor = System.Drawing.Color.White;
this.label8.Name = "label8";
//
// label9
//
resources.ApplyResources(this.label9, "label9");
this.label9.ForeColor = System.Drawing.Color.White;
this.label9.Name = "label9";
//
// button1
//
this.button1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
this.myTablePanel3.SetColumnSpan(this.button1, 2);
resources.ApplyResources(this.button1, "button1");
this.button1.ForeColor = System.Drawing.Color.White;
this.button1.Name = "button1";
this.button1.UseVisualStyleBackColor = false;
//
// label10
//
resources.ApplyResources(this.label10, "label10");
this.label10.Name = "label10";
//
// label11
//
resources.ApplyResources(this.label11, "label11");
this.label11.Name = "label11";
//
// timer1
//
this.timer1.Tick += new System.EventHandler(this.timer1_Tick);
//
// ChangeURL
//
resources.ApplyResources(this.ChangeURL, "ChangeURL");
this.ChangeURL.Name = "ChangeURL";
//
// LittleEndianCheckBox
//
resources.ApplyResources(this.LittleEndianCheckBox, "LittleEndianCheckBox");
this.LittleEndianCheckBox.Name = "LittleEndianCheckBox";
this.LittleEndianCheckBox.Style = MetroFramework.MetroColorStyle.White;
this.LittleEndianCheckBox.Theme = MetroFramework.MetroThemeStyle.Dark;
this.LittleEndianCheckBox.UseSelectable = true;
//
// label5
//
resources.ApplyResources(this.label5, "label5");
this.label5.ForeColor = System.Drawing.Color.White;
this.label5.Name = "label5";
//
// richTextBoxChangelog
//
this.richTextBoxChangelog.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(28)))), ((int)(((byte)(28)))), ((int)(((byte)(28)))));
this.richTextBoxChangelog.BorderStyle = System.Windows.Forms.BorderStyle.None;
resources.ApplyResources(this.richTextBoxChangelog, "richTextBoxChangelog");
this.richTextBoxChangelog.ForeColor = System.Drawing.Color.White;
this.richTextBoxChangelog.Name = "richTextBoxChangelog";
this.richTextBoxChangelog.ReadOnly = true;
//
// myTablePanelStartScreen
//
resources.ApplyResources(this.myTablePanelStartScreen, "myTablePanelStartScreen");
this.myTablePanelStartScreen.Controls.Add(this.richTextBoxChangelog, 1, 1);
this.myTablePanelStartScreen.Controls.Add(this.label5, 1, 0);
this.myTablePanelStartScreen.Controls.Add(this.pckOpen, 0, 0);
this.myTablePanelStartScreen.Name = "myTablePanelStartScreen";
//
// pckOpen
//
resources.ApplyResources(this.pckOpen, "pckOpen");
this.pckOpen.Image = global::PckStudio.Properties.Resources.pckClosed;
this.pckOpen.Name = "pckOpen";
this.myTablePanelStartScreen.SetRowSpan(this.pckOpen, 2);
this.pckOpen.TabStop = false;
this.pckOpen.Click += new System.EventHandler(this.openToolStripMenuItem_Click);
this.pckOpen.DragDrop += new System.Windows.Forms.DragEventHandler(this.OpenPck_DragDrop);
this.pckOpen.DragEnter += new System.Windows.Forms.DragEventHandler(this.OpenPck_DragEnter);
this.pckOpen.DragLeave += new System.EventHandler(this.OpenPck_DragLeave);
this.pckOpen.MouseEnter += new System.EventHandler(this.OpenPck_MouseEnter);
this.pckOpen.MouseLeave += new System.EventHandler(this.OpenPck_MouseLeave);
//
// FormMain
//
this.ApplyImageInvert = true;
resources.ApplyResources(this, "$this");
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.Controls.Add(this.LittleEndianCheckBox);
this.Controls.Add(this.ChangeURL);
this.Controls.Add(this.myTablePanelStartScreen);
this.Controls.Add(this.metroTabControl1);
this.Controls.Add(this.DBGLabel);
@@ -970,6 +997,7 @@
this.ShadowType = MetroFramework.Forms.MetroFormShadowType.DropShadow;
this.Style = MetroFramework.MetroColorStyle.Silver;
this.Theme = MetroFramework.MetroThemeStyle.Dark;
this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.FormMain_FormClosing);
this.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.FormMain_FormClosed);
this.Load += new System.EventHandler(this.Form1_Load);
this.contextMenuPCKEntries.ResumeLayout(false);
@@ -979,20 +1007,6 @@
this.openedPCKS.ResumeLayout(false);
this.tabPage1.ResumeLayout(false);
this.tabPage1.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.pictureBox2)).EndInit();
this.metroTabControl1.ResumeLayout(false);
this.metroTabPage1.ResumeLayout(false);
this.metroTabPage1.PerformLayout();
this.myTablePanelStartScreen.ResumeLayout(false);
this.myTablePanelStartScreen.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.pckOpen)).EndInit();
this.myTablePanel2.ResumeLayout(false);
this.myTablePanel2.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.pictureBoxWithInterpolationMode1)).EndInit();
this.tabControl1.ResumeLayout(false);
this.tabPage2.ResumeLayout(false);
this.myTablePanel3.ResumeLayout(false);
this.myTablePanel3.PerformLayout();
this.myTablePanelPckEdit.ResumeLayout(false);
this.myTablePanelPckEdit.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.pictureBoxImagePreview)).EndInit();
@@ -1000,6 +1014,20 @@
this.tabMetaDisplay.ResumeLayout(false);
this.myTablePanel1.ResumeLayout(false);
this.myTablePanel1.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.pictureBox2)).EndInit();
this.metroTabControl1.ResumeLayout(false);
this.metroTabPage1.ResumeLayout(false);
this.metroTabPage1.PerformLayout();
this.myTablePanel2.ResumeLayout(false);
this.myTablePanel2.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.pictureBoxWithInterpolationMode1)).EndInit();
this.tabControl1.ResumeLayout(false);
this.tabPage2.ResumeLayout(false);
this.myTablePanel3.ResumeLayout(false);
this.myTablePanel3.PerformLayout();
this.myTablePanelStartScreen.ResumeLayout(false);
this.myTablePanelStartScreen.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.pckOpen)).EndInit();
this.ResumeLayout(false);
this.PerformLayout();
@@ -1078,10 +1106,6 @@
private System.Windows.Forms.ToolStripMenuItem pCKCenterReleaseToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem howPCKsWorkToolStripMenuItem;
private System.Windows.Forms.Label DBGLabel;
private PckStudio.Forms.MyTablePanel myTablePanelStartScreen;
private System.Windows.Forms.RichTextBox richTextBoxChangelog;
private System.Windows.Forms.Label label5;
private System.Windows.Forms.PictureBox pckOpen;
private MetroFramework.Controls.MetroTabControl metroTabControl1;
private MetroFramework.Controls.MetroTabPage metroTabPage1;
private PckStudio.Forms.MyTablePanel myTablePanel2;
@@ -1111,6 +1135,13 @@
private System.Windows.Forms.ToolStripMenuItem addPasswordToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem joinDevelopmentDiscordToolStripMenuItem;
private System.Windows.Forms.Timer timer1;
private System.Windows.Forms.Label ChangeURL;
private System.Windows.Forms.ToolStripMenuItem tSTToolStripMenuItem;
private MetroFramework.Controls.MetroCheckBox LittleEndianCheckBox;
private System.Windows.Forms.Label label5;
private System.Windows.Forms.RichTextBox richTextBoxChangelog;
private PckStudio.Forms.MyTablePanel myTablePanelStartScreen;
private System.Windows.Forms.PictureBox pckOpen;
}
}

View File

@@ -22,6 +22,7 @@ using PckStudio.Forms;
using System.IO.Packaging;
using System.Drawing.Imaging;
using RichPresenceClient;
using System.Resources;
namespace MinecraftUSkinEditor
{
@@ -30,7 +31,7 @@ namespace MinecraftUSkinEditor
#region Variables
string saveLocation;//Save location for pck file
int fileCount = 0;//variable for number of minefiles
string Version = "5.2";//template for program version
string Version = "5.6";//template for program version
string hosturl = File.ReadAllText(Environment.CurrentDirectory + "\\settings.ini").Split(new[] { "\r\n", "\n" }, StringSplitOptions.None)[0];
string basurl = "";
string PCKFile = "";
@@ -47,7 +48,7 @@ namespace MinecraftUSkinEditor
bool saved = true;
string appData = System.Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + "/PCK Studio/";
public static bool correct = false;
int isdebug = 0;
bool isdebug = false;
public class displayId
{
@@ -63,6 +64,8 @@ namespace MinecraftUSkinEditor
Thread.CurrentThread.CurrentCulture = ci;
InitializeComponent();
if (Program.IsDev)
isdebug = true;
FormBorderStyle = FormBorderStyle.None;
labelVersion.Text += Version;
@@ -88,13 +91,13 @@ namespace MinecraftUSkinEditor
if (ofd.ShowDialog() == DialogResult.OK)
{
PCKFile = Path.GetFileName(ofd.FileName);
openPck(ofd.FileName);
openPck(ofd.FileName);
}
}
}
catch (Exception)
catch (Exception err)
{
MessageBox.Show("The PCK you're trying to use currently isn't supported");//Error handling for PCKs that give errors when trying to be opened
MessageBox.Show("The PCK you're trying to use currently isn't supported\n" + err.StackTrace + "\n\n" + err.Message);//Error handling for PCKs that give errors when trying to be opened
}
}
@@ -247,6 +250,8 @@ namespace MinecraftUSkinEditor
}
labelAmount.Text = "Files:" + fileCount;
saved = false;
LittleEndianCheckBox.Visible = true;
LittleEndianCheckBox.Checked = currentPCK.IsLittleEndian;
}
#endregion
@@ -298,7 +303,21 @@ namespace MinecraftUSkinEditor
buttonEdit.Text = "EDIT BOXES";
buttonEdit.Visible = true;
}
else if (boxes==0)
else if (entry[0].ToString() == "ANIM")
{
Console.WriteLine(entry[1]);
Console.WriteLine((entry[1].ToString() == "0x80000").ToString() + " - " + entry[1]);
Console.WriteLine((entry[1].ToString() == "0x40000").ToString() + " - "+ entry[1]);
if ((entry[1].ToString() == "0x40000") || (entry[1].ToString() == "0x80000"))
{
buttonEdit.Text = "View Skin";
boxes += 1;
buttonEdit.Visible = true;
}
}
else if(boxes == 0)
{
buttonEdit.Visible = false;
}
@@ -620,7 +639,18 @@ namespace MinecraftUSkinEditor
{
try
{
File.WriteAllBytes(ofd.FileName, currentPCK.Rebuild());
Console.WriteLine(currentPCK.IsLittleEndian.ToString() + "--");
if (LittleEndianCheckBox.Checked)
{
byte[] oouput = currentPCK.RebuildVita();
oouput[0] = 0x03;
File.WriteAllBytes(ofd.FileName, currentPCK.RebuildVita());
}
else
{
byte[] oouput = currentPCK.Rebuild();
File.WriteAllBytes(ofd.FileName, currentPCK.Rebuild());
}
saveLocation = ofd.FileName;
openedPCKS.SelectedTab.Text = Path.GetFileName(ofd.FileName);
saved = true;
@@ -645,7 +675,18 @@ namespace MinecraftUSkinEditor
{
try
{
File.WriteAllBytes(ofd.FileName, currentPCK.Rebuild());
Console.WriteLine(currentPCK.IsLittleEndian.ToString() + "--");
if (LittleEndianCheckBox.Checked)
{
byte[] oouput = currentPCK.RebuildVita();
oouput[0] = 0x03;
File.WriteAllBytes(ofd.FileName, currentPCK.RebuildVita());
}
else
{
byte[] oouput = currentPCK.Rebuild();
File.WriteAllBytes(ofd.FileName, currentPCK.Rebuild());
}
saveLocation = ofd.FileName;
openedPCKS.SelectedTab.Text = Path.GetFileName(ofd.FileName);
saved = true;
@@ -664,7 +705,18 @@ namespace MinecraftUSkinEditor
{
try
{
File.WriteAllBytes(saveLocation, currentPCK.Rebuild());
Console.WriteLine(currentPCK.IsLittleEndian.ToString() + "--");
if (LittleEndianCheckBox.Checked)
{
byte[] oouput = currentPCK.RebuildVita();
oouput[0] = 0x03;
File.WriteAllBytes(saveLocation, currentPCK.RebuildVita());
}
else
{
byte[] oouput = currentPCK.Rebuild();
File.WriteAllBytes(saveLocation, currentPCK.Rebuild());
}
}
catch (Exception)
{
@@ -928,7 +980,23 @@ namespace MinecraftUSkinEditor
//Checks to see if selected minefile is a col file
if (Path.GetExtension(mf.name) == ".col")
{
MessageBox.Show(".COL Editor Coming Soon!");
//MessageBox.Show(".COL Editor Coming Soon!");
if (treeViewMain.SelectedNode.Tag is PCK.MineFile)
{
try
{
PckStudio.Forms.Utilities.COLEditor diag = new PckStudio.Forms.Utilities.COLEditor(mf.data, mf);
diag.Show();
}
catch
{
MessageBox.Show("No Color data found.", "Error", MessageBoxButtons.OK,
MessageBoxIcon.Error);
return;
}
//mf.data = l.Rebuild();//Rebuilds loc file with locdata in grid view after closing dialog
}
}
//Checks to see if selected minefile is a binka file
@@ -1200,14 +1268,14 @@ namespace MinecraftUSkinEditor
}
try
{
new WebClient().DownloadString(Program.baseurl + "PCKChangeLog.txt");
new WebClient().DownloadString(Program.baseurl + ChangeURL.Text);
basurl = Program.baseurl;
}
catch
{
basurl = Program.backurl;
}
if (isdebug == 1)
if (isdebug)
DBGLabel.Visible = true;
//runs creator spotlight once per day
//if (!File.Exists(appData + "date.txt"))
@@ -1246,7 +1314,10 @@ namespace MinecraftUSkinEditor
{
using (WebClient client = new WebClient())
{
File.WriteAllText(appData + "pckStudioChangelog.txt", client.DownloadString(basurl + "PCKChangeLog.txt"));
if(isdebug)
File.WriteAllText(appData + "pckStudioChangelog.txt", File.ReadAllText("C:\\WEBSITES\\PCKStudio\\studio\\PCK\\api\\" + ChangeURL.Text));
else
File.WriteAllText(appData + "pckStudioChangelog.txt", client.DownloadString(basurl + ChangeURL.Text));
richTextBoxChangelog.Text = File.ReadAllText(appData + "pckStudioChangelog.txt");
}
}
@@ -3058,7 +3129,18 @@ namespace MinecraftUSkinEditor
PCK.MineFile mf = (PCK.MineFile)treeViewMain.SelectedNode.Tag;
if (Path.GetExtension(mf.name) == ".png")
editModel(mf);
{
if (buttonEdit.Text == "EDIT BOXES")
editModel(mf);
else if (buttonEdit.Text == "View Skin")
{
using (var ms = new MemoryStream(mf.data))
{
SkinPreview frm = new SkinPreview(Image.FromStream(ms));
frm.Show();
}
}
}
if (Path.GetExtension(mf.name) == ".loc")
{
@@ -3102,7 +3184,6 @@ namespace MinecraftUSkinEditor
private void FormMain_FormClosed(object sender, FormClosedEventArgs e)
{
RPC.CloseRPC();
if (saved == false)
{
if (MessageBox.Show("Save PCK?", "Unsaved PCK", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.Yes)
@@ -3339,6 +3420,17 @@ namespace MinecraftUSkinEditor
PCKFileBCKUP = PCKFile;
}
}
private void tSTToolStripMenuItem_Click(object sender, EventArgs e)
{
Testx_12 form1 = new Testx_12();
form1.Show();
}
private void FormMain_FormClosing(object sender, FormClosingEventArgs e)
{
RPC.CloseRPC();
}
}
}

View File

@@ -432,6 +432,18 @@
<data name="metaToolStripMenuItem.Text" xml:space="preserve">
<value>メタ</value>
</data>
<data name="addPasswordToolStripMenuItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
wwAADsMBx2+oZAAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4yMfEgaZUAAACRSURBVFhH7Y45
DoAwDATz/09DZWRF62utUIBHmgayk6xhaHBtvs5/HmBdor97/1roUEcaFGOkQTHGFpVg5WyaarB6PoSJ
MZsHPd7NgrZiCBqJWdBWDEEjMQvaiiFoJGZBW7EMM2Y2JjqWCVbPh+xBL1o5mwIFGWlQjJEGxRhbWCH9
3ft3DH3J0Yss5gHDF1jrBvn6/wGuM1ZgAAAAAElFTkSuQmCC
</value>
</data>
<data name="addPasswordToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>170, 22</value>
</data>
<data name="fileToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>56, 20</value>
</data>
@@ -3644,21 +3656,12 @@
<data name="helpToolStripMenuItem.Text" xml:space="preserve">
<value>助けて</value>
</data>
<data name="openToolStripMenuItem1.Size" type="System.Drawing.Size, System.Drawing">
<value>193, 22</value>
</data>
<data name="openToolStripMenuItem1.Text" xml:space="preserve">
<value>PCKセンターを開く</value>
</data>
<data name="wiiUPCKInstallerToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>193, 22</value>
</data>
<data name="wiiUPCKInstallerToolStripMenuItem.Text" xml:space="preserve">
<value>Wii UPCKインストーラー</value>
</data>
<data name="PS3PCKInstallerToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>193, 22</value>
</data>
<data name="PS3PCKInstallerToolStripMenuItem.Text" xml:space="preserve">
<value>PS3PCKインストーラー</value>
</data>
@@ -3668,6 +3671,12 @@
<data name="storeToolStripMenuItem.Text" xml:space="preserve">
<value>もっと</value>
</data>
<data name="uPDATEToolStripMenuItem1.Size" type="System.Drawing.Size, System.Drawing">
<value>45, 20</value>
</data>
<data name="uPDATEToolStripMenuItem1.Text" xml:space="preserve">
<value>更新</value>
</data>
<data name="addPresetToolStripMenuItem1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
@@ -4642,6 +4651,21 @@
<data name="label9.Text" xml:space="preserve">
<value>エントリーデータ</value>
</data>
<data name="ChangeURL.Size" type="System.Drawing.Size, System.Drawing">
<value>108, 13</value>
</data>
<data name="ChangeURL.Text" xml:space="preserve">
<value>PCKChangeLogJp.txt</value>
</data>
<data name="LittleEndianCheckBox.Location" type="System.Drawing.Point, System.Drawing">
<value>630, 42</value>
</data>
<data name="LittleEndianCheckBox.Size" type="System.Drawing.Size, System.Drawing">
<value>168, 15</value>
</data>
<data name="LittleEndianCheckBox.Text" xml:space="preserve">
<value>PS Vita/PS4 PACKとして保存</value>
</data>
<data name="label5.Size" type="System.Drawing.Size, System.Drawing">
<value>154, 31</value>
</data>
@@ -6373,4 +6397,8 @@
AABJRU5ErkJggg==
</value>
</data>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="$this.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>Inherit</value>
</data>
</root>

View File

@@ -3129,566 +3129,22 @@
<value>FAQ</value>
</data>
<data name="toNobledezJackToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>216, 22</value>
<value>221, 22</value>
</data>
<data name="toNobledezJackToolStripMenuItem.Text" xml:space="preserve">
<value>To Nobledez(Jack)</value>
<value>For Nobledez(Jack)</value>
</data>
<data name="toPhoenixARCDeveloperToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>216, 22</value>
<value>221, 22</value>
</data>
<data name="toPhoenixARCDeveloperToolStripMenuItem.Text" xml:space="preserve">
<value>To PhoenixARC(Developer)</value>
</data>
<data name="donateToolStripMenuItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
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
U0n59yZPCT26PyMJ/jws4d7qbz4HX5d8Fk1vItB0Ak7DWahNJ7Cm76J8fObPlIi8wxgk8goVk6TWcg7B
tncwp+UCAluOYm7jALISA1A7nkeg5XVP+2jiMG5peQNzGl9GTsNL8m9/DfPCb2B+5BDmhN+CtfUY1FYp
jHr+HarrbXwk8Zp8bObPkoi8xRgk8op7dr+D+e0y8t1+BE7jGdzZ8Xfk1B+H2vY8FvQPQrXKSNjLGt+G
qr8oLsiI/xJU7D2o5F/ke+/K6zv4eOe/QbVJ8t9wBNlR7vpHNJsYg0Re8uUDJ6HWPg3VcEgSoCTF5LvI
0rfBt7wBPVHQy+yGU/BFziIr/jayJOn7ExdhRfUjEBn1N0khtOkFWDtew1d+8Vf5qMyfHxF5kzFI5DU/
/sMZOPXPQkWGpAD4K1T4Pfg6/hM5LRc8Te/yp+L62f9Z+Tefgqo7CrXtLcxpPILbowPI7+Qtf6LZyhgk
8qpPtx7Fxza/hKCeFBg+7O6C52VW4ijs5AlYsRPwyah/QeQElveexzd//b+w7rX/Sz4S8+dERN5nDBIR
EZG3GYNERETkbcYgEREReZsxSERERN5mDBIREZG3GYNERETkbcYgEREReZsxSERERN5mDBIREZG3GYNE
RETkbcYgEREReZsxSERERN5mDBIREZG3GYNERETkbcYgEREReZsxSERERN5mDBIREZG3GYNERETkbcYg
EREReZsxSERERN5mDBIREZG3GYNERETkbcYgEREReZsxSERERN5mDBIREZG3GYNERETkbcYgEREReZsx
SERERN5mDBIREZG3GYNERETkbcYgEREReZsxSERERN5mDBIREZG3GYNERETkbcYgEREReZsxSERERN5m
DBIREZG3GYNERETkbcYgEREReZsxSERERN5mDBIREZG3GYNERETkbcYgEREReZsxSERERN5mDBIREZG3
GYNERETkbcYgEREReZsxSERERN5mDBIREZG3GYNERETkbcYgEREReZsxSERERN5mDBIREZG3GYNERETk
bcYgEREReZsxSERERN5mDBIREZG3GYNERETkbcYgEREReZsxSERERN5mDBIREZG3GYNERETkbcYgERER
eZsxSERERN5mDBIREZG3GYNERETkZVD/D/6xl7mtqZqJAAAAAElFTkSuQmCC
</value>
<value>For PhoenixARC(Developer)</value>
</data>
<data name="donateToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>181, 22</value>
</data>
<data name="donateToolStripMenuItem.Text" xml:space="preserve">
<value>Donate</value>
<value>Buy a coffee</value>
</data>
<data name="settingsToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>181, 22</value>
@@ -3756,6 +3212,15 @@
<data name="uPDATEToolStripMenuItem1.Text" xml:space="preserve">
<value>UPDATE</value>
</data>
<data name="tSTToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>37, 20</value>
</data>
<data name="tSTToolStripMenuItem.Text" xml:space="preserve">
<value>TST</value>
</data>
<data name="tSTToolStripMenuItem.Visible" type="System.Boolean, mscorlib">
<value>False</value>
</data>
<data name="menuStrip.Location" type="System.Drawing.Point, System.Drawing">
<value>20, 60</value>
</data>
@@ -3778,7 +3243,7 @@
<value>$this</value>
</data>
<data name="&gt;&gt;menuStrip.ZOrder" xml:space="preserve">
<value>8</value>
<value>10</value>
</data>
<data name="label1.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
@@ -3894,7 +3359,7 @@
<value>$this</value>
</data>
<data name="&gt;&gt;labelVersion.ZOrder" xml:space="preserve">
<value>7</value>
<value>9</value>
</data>
<metadata name="backgroundWorker1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>463, 23</value>
@@ -4060,7 +3525,7 @@
<value>pictureBoxImagePreview</value>
</data>
<data name="&gt;&gt;pictureBoxImagePreview.Type" xml:space="preserve">
<value>MinecraftUSkinEditor.PictureBoxWithInterpolationMode, PCK Studio, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null</value>
<value>MinecraftUSkinEditor.PictureBoxWithInterpolationMode, PCK Studio, Version=5.3.0.0, Culture=neutral, PublicKeyToken=null</value>
</data>
<data name="&gt;&gt;pictureBoxImagePreview.Parent" xml:space="preserve">
<value>myTablePanelPckEdit</value>
@@ -4372,7 +3837,7 @@
<value>myTablePanel1</value>
</data>
<data name="&gt;&gt;myTablePanel1.Type" xml:space="preserve">
<value>PckStudio.Forms.MyTablePanel, PCK Studio, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null</value>
<value>PckStudio.Forms.MyTablePanel, PCK Studio, Version=5.3.0.0, Culture=neutral, PublicKeyToken=null</value>
</data>
<data name="&gt;&gt;myTablePanel1.Parent" xml:space="preserve">
<value>tabMetaDisplay</value>
@@ -4459,7 +3924,7 @@
<value>myTablePanelPckEdit</value>
</data>
<data name="&gt;&gt;myTablePanelPckEdit.Type" xml:space="preserve">
<value>PckStudio.Forms.MyTablePanel, PCK Studio, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null</value>
<value>PckStudio.Forms.MyTablePanel, PCK Studio, Version=5.3.0.0, Culture=neutral, PublicKeyToken=null</value>
</data>
<data name="&gt;&gt;myTablePanelPckEdit.Parent" xml:space="preserve">
<value>tabPage1</value>
@@ -4552,7 +4017,7 @@
<value>$this</value>
</data>
<data name="&gt;&gt;openedPCKS.ZOrder" xml:space="preserve">
<value>5</value>
<value>7</value>
</data>
<data name="pictureBox2.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
@@ -5238,7 +4703,7 @@
<value>$this</value>
</data>
<data name="&gt;&gt;pictureBox2.ZOrder" xml:space="preserve">
<value>6</value>
<value>8</value>
</data>
<data name="DBGLabel.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Bottom, Right</value>
@@ -5277,7 +4742,7 @@
<value>$this</value>
</data>
<data name="&gt;&gt;DBGLabel.ZOrder" xml:space="preserve">
<value>4</value>
<value>6</value>
</data>
<data name="myTablePanel2.ColumnCount" type="System.Int32, mscorlib">
<value>3</value>
@@ -5437,7 +4902,7 @@
<value>pictureBoxWithInterpolationMode1</value>
</data>
<data name="&gt;&gt;pictureBoxWithInterpolationMode1.Type" xml:space="preserve">
<value>MinecraftUSkinEditor.PictureBoxWithInterpolationMode, PCK Studio, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null</value>
<value>MinecraftUSkinEditor.PictureBoxWithInterpolationMode, PCK Studio, Version=5.3.0.0, Culture=neutral, PublicKeyToken=null</value>
</data>
<data name="&gt;&gt;pictureBoxWithInterpolationMode1.Parent" xml:space="preserve">
<value>myTablePanel2</value>
@@ -5749,7 +5214,7 @@
<value>myTablePanel3</value>
</data>
<data name="&gt;&gt;myTablePanel3.Type" xml:space="preserve">
<value>PckStudio.Forms.MyTablePanel, PCK Studio, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null</value>
<value>PckStudio.Forms.MyTablePanel, PCK Studio, Version=5.3.0.0, Culture=neutral, PublicKeyToken=null</value>
</data>
<data name="&gt;&gt;myTablePanel3.Parent" xml:space="preserve">
<value>tabPage2</value>
@@ -5836,7 +5301,7 @@
<value>myTablePanel2</value>
</data>
<data name="&gt;&gt;myTablePanel2.Type" xml:space="preserve">
<value>PckStudio.Forms.MyTablePanel, PCK Studio, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null</value>
<value>PckStudio.Forms.MyTablePanel, PCK Studio, Version=5.3.0.0, Culture=neutral, PublicKeyToken=null</value>
</data>
<data name="&gt;&gt;myTablePanel2.Parent" xml:space="preserve">
<value>metroTabPage1</value>
@@ -5956,47 +5421,74 @@
<value>$this</value>
</data>
<data name="&gt;&gt;metroTabControl1.ZOrder" xml:space="preserve">
<value>3</value>
<value>5</value>
</data>
<metadata name="timer1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>781, 23</value>
</metadata>
<data name="myTablePanelStartScreen.ColumnCount" type="System.Int32, mscorlib">
<data name="ChangeURL.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="ChangeURL.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="ChangeURL.Location" type="System.Drawing.Point, System.Drawing">
<value>715, -10</value>
</data>
<data name="ChangeURL.Size" type="System.Drawing.Size, System.Drawing">
<value>97, 13</value>
</data>
<data name="ChangeURL.TabIndex" type="System.Int32, mscorlib">
<value>20</value>
</data>
<data name="ChangeURL.Text" xml:space="preserve">
<value>PCKChangeLog.txt</value>
</data>
<data name="ChangeURL.Visible" type="System.Boolean, mscorlib">
<value>False</value>
</data>
<data name="&gt;&gt;ChangeURL.Name" xml:space="preserve">
<value>ChangeURL</value>
</data>
<data name="&gt;&gt;ChangeURL.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;ChangeURL.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;ChangeURL.ZOrder" xml:space="preserve">
<value>3</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>665, 42</value>
</data>
<data name="LittleEndianCheckBox.Size" type="System.Drawing.Size, System.Drawing">
<value>133, 15</value>
</data>
<data name="LittleEndianCheckBox.TabIndex" type="System.Int32, mscorlib">
<value>21</value>
</data>
<data name="LittleEndianCheckBox.Text" xml:space="preserve">
<value>Save as Vita/PS4 PCK</value>
</data>
<data name="LittleEndianCheckBox.Visible" type="System.Boolean, mscorlib">
<value>False</value>
</data>
<data name="&gt;&gt;LittleEndianCheckBox.Name" xml:space="preserve">
<value>LittleEndianCheckBox</value>
</data>
<data name="&gt;&gt;LittleEndianCheckBox.Type" xml:space="preserve">
<value>MetroFramework.Controls.MetroCheckBox, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a</value>
</data>
<data name="&gt;&gt;LittleEndianCheckBox.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;LittleEndianCheckBox.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<data name="richTextBoxChangelog.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
<data name="richTextBoxChangelog.Font" type="System.Drawing.Font, System.Drawing">
<value>Segoe UI, 8.25pt</value>
</data>
<data name="richTextBoxChangelog.Location" type="System.Drawing.Point, System.Drawing">
<value>450, 70</value>
</data>
<data name="richTextBoxChangelog.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>0, 0, 30, 30</value>
</data>
<data name="richTextBoxChangelog.Size" type="System.Drawing.Size, System.Drawing">
<value>298, 398</value>
</data>
<data name="richTextBoxChangelog.TabIndex" type="System.Int32, mscorlib">
<value>15</value>
</data>
<data name="richTextBoxChangelog.Text" xml:space="preserve">
<value />
</data>
<data name="&gt;&gt;richTextBoxChangelog.Name" xml:space="preserve">
<value>richTextBoxChangelog</value>
</data>
<data name="&gt;&gt;richTextBoxChangelog.Type" xml:space="preserve">
<value>System.Windows.Forms.RichTextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;richTextBoxChangelog.Parent" xml:space="preserve">
<value>myTablePanelStartScreen</value>
</data>
<data name="&gt;&gt;richTextBoxChangelog.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="label5.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Bottom, Left</value>
</data>
@@ -6033,6 +5525,42 @@
<data name="&gt;&gt;label5.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="richTextBoxChangelog.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
<data name="richTextBoxChangelog.Font" type="System.Drawing.Font, System.Drawing">
<value>Segoe UI, 8.25pt</value>
</data>
<data name="richTextBoxChangelog.Location" type="System.Drawing.Point, System.Drawing">
<value>450, 70</value>
</data>
<data name="richTextBoxChangelog.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>0, 0, 30, 30</value>
</data>
<data name="richTextBoxChangelog.Size" type="System.Drawing.Size, System.Drawing">
<value>298, 398</value>
</data>
<data name="richTextBoxChangelog.TabIndex" type="System.Int32, mscorlib">
<value>15</value>
</data>
<data name="richTextBoxChangelog.Text" xml:space="preserve">
<value />
</data>
<data name="&gt;&gt;richTextBoxChangelog.Name" xml:space="preserve">
<value>richTextBoxChangelog</value>
</data>
<data name="&gt;&gt;richTextBoxChangelog.Type" xml:space="preserve">
<value>System.Windows.Forms.RichTextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;richTextBoxChangelog.Parent" xml:space="preserve">
<value>myTablePanelStartScreen</value>
</data>
<data name="&gt;&gt;richTextBoxChangelog.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="myTablePanelStartScreen.ColumnCount" type="System.Int32, mscorlib">
<value>2</value>
</data>
<data name="pckOpen.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
@@ -6085,13 +5613,13 @@
<value>myTablePanelStartScreen</value>
</data>
<data name="&gt;&gt;myTablePanelStartScreen.Type" xml:space="preserve">
<value>PckStudio.Forms.MyTablePanel, PCK Studio, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null</value>
<value>PckStudio.Forms.MyTablePanel, PCK Studio, Version=5.3.0.0, Culture=neutral, PublicKeyToken=null</value>
</data>
<data name="&gt;&gt;myTablePanelStartScreen.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;myTablePanelStartScreen.ZOrder" xml:space="preserve">
<value>2</value>
<value>4</value>
</data>
<data name="myTablePanelStartScreen.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms">
<value>&lt;?xml version="1.0" encoding="utf-16"?&gt;&lt;TableLayoutSettings&gt;&lt;Controls&gt;&lt;Control Name="richTextBoxChangelog" Row="1" RowSpan="1" Column="1" ColumnSpan="1" /&gt;&lt;Control Name="label5" Row="0" RowSpan="1" Column="1" ColumnSpan="1" /&gt;&lt;Control Name="pckOpen" Row="0" RowSpan="2" Column="0" ColumnSpan="1" /&gt;&lt;/Controls&gt;&lt;Columns Styles="Percent,57.96915,Percent,42.03085" /&gt;&lt;Rows Styles="Absolute,70,Percent,100" /&gt;&lt;/TableLayoutSettings&gt;</value>
@@ -8142,6 +7670,12 @@
<data name="&gt;&gt;uPDATEToolStripMenuItem1.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="&gt;&gt;tSTToolStripMenuItem.Name" xml:space="preserve">
<value>tSTToolStripMenuItem</value>
</data>
<data name="&gt;&gt;tSTToolStripMenuItem.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="&gt;&gt;addPresetToolStripMenuItem1.Name" xml:space="preserve">
<value>addPresetToolStripMenuItem1</value>
</data>

View File

@@ -0,0 +1,74 @@

namespace PckStudio.Forms
{
partial class SkinPreview
{
/// <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();
this.minecraftModelView1 = new MinecraftUSkinEditor.Models.MinecraftModelView(this.components);
this.SuspendLayout();
//
// minecraftModelView1
//
this.minecraftModelView1.BackColor = System.Drawing.Color.DarkGray;
this.minecraftModelView1.BackGradientColor1 = System.Drawing.SystemColors.ActiveCaptionText;
this.minecraftModelView1.BackGradientColor2 = System.Drawing.SystemColors.ActiveCaptionText;
this.minecraftModelView1.BackgroundType = MinecraftUSkinEditor.Models.BackgroundTypes.Color;
this.minecraftModelView1.DegreesX = 0;
this.minecraftModelView1.DegreesY = 0;
this.minecraftModelView1.Dock = System.Windows.Forms.DockStyle.Fill;
this.minecraftModelView1.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.minecraftModelView1.ForeColor = System.Drawing.Color.Black;
this.minecraftModelView1.FOV = 70;
this.minecraftModelView1.Location = new System.Drawing.Point(0, 0);
this.minecraftModelView1.Name = "minecraftModelView1";
this.minecraftModelView1.Projection = MinecraftUSkinEditor.Models.ProjectionTypes.Perspective;
this.minecraftModelView1.ShowUsername = false;
this.minecraftModelView1.Size = new System.Drawing.Size(418, 568);
this.minecraftModelView1.TabIndex = 1;
this.minecraftModelView1.Text = "minecraftModelView1";
this.minecraftModelView1.Username = "";
//
// SkinPreview
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(418, 568);
this.Controls.Add(this.minecraftModelView1);
this.Name = "SkinPreview";
this.Text = "SkinPreview";
this.Load += new System.EventHandler(this.SkinPreview_Load);
this.ResumeLayout(false);
}
#endregion
private MinecraftUSkinEditor.Models.MinecraftModelView minecraftModelView1;
}
}

View File

@@ -0,0 +1,89 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using MinecraftUSkinEditor.Models;
namespace PckStudio.Forms
{
public partial class SkinPreview : Form
{
Image Texture;
public SkinPreview(Image img)
{
InitializeComponent();
Texture = img;
}
private void SkinPreview_Load(object sender, EventArgs e)
{
Texture[] txt = new Texture[] { new Texture(Texture) };
RenderModl(txt);
}
public void RenderModl(Texture[] Textures)
{
//RenderBox
System.Drawing.Image source = Textures[0].Source;
Object3D object3D = new Box(source, new System.Drawing.Rectangle(8, 0, 0x10, 8), new System.Drawing.Rectangle(0, 8, 0x20, 8), new Point3D(0f, 0f, 0f), Effects.None);
Object3D object3D2 = new Box(source, new System.Drawing.Rectangle(0x28, 0, 0x10, 8), new System.Drawing.Rectangle(0x20, 8, 0x20, 8), new Point3D(0f, 0f, 0f), Effects.None);
Object3D object3D3 = new Box(source, new System.Drawing.Rectangle(0x2C, 0x10, 8, 4), new System.Drawing.Rectangle(0x28, 0x14, 0x20, 0xC), new Point3D(0f, 4f, 0f), Effects.FlipHorizontally);
Object3D object3D4 = new Box(source, new System.Drawing.Rectangle(0x2C, 0x10, 8, 4), new System.Drawing.Rectangle(0x28, 0x14, 0x20, 0xC), new Point3D(0f, 4f, 0f), Effects.None);
Object3D object3D5 = new Box(source, new System.Drawing.Rectangle(4, 0x10, 8, 4), new System.Drawing.Rectangle(0, 0x14, 0x10, 0xC), new Point3D(0f, 6f, 0f), Effects.FlipHorizontally);
Object3D object3D6 = new Box(source, new System.Drawing.Rectangle(4, 0x10, 8, 4), new System.Drawing.Rectangle(0, 0x14, 0x10, 0xC), new Point3D(0f, 6f, 0f), Effects.None);
Object3D object3D7 = new Box(source, new System.Drawing.Rectangle(0x14, 0x10, 0x10, 4), new System.Drawing.Rectangle(0x10, 0x14, 0x18, 0xC), new Point3D(0f, 0f, 0f), Effects.None);
Object3DGroup object3DGroup = new Object3DGroup();
//RenderGroup
object3D2.Scale = 1.16f;
object3DGroup.RotationOrder = RotationOrders.XY;
object3DGroup.MinDegrees1 = -80f;
object3DGroup.MaxDegrees1 = 80f;
object3DGroup.MinDegrees2 = -57f;
object3DGroup.MaxDegrees2 = 57f;
object3DGroup.Add(object3D);
object3DGroup.Add(object3D2);
object3DGroup.Position = new Point3D(0f, 8f, 0f);
object3DGroup.Origin = new Point3D(0f, -4f, 0f);
object3DGroup.RotationOrder = RotationOrders.XY;
object3D7.Position = new Point3D(0f, 2f, 0f);
object3D3.Position = new Point3D(6f, 6f, 0f);
object3D3.RotationOrder = RotationOrders.ZX;
object3D3.MinDegrees1 = 0f;
object3D3.MaxDegrees1 = 160f;
object3D3.MinDegrees2 = -170f;
object3D3.MaxDegrees2 = 60f;
object3D4.Position = new Point3D(-6f, 6f, 0f);
object3D4.RotationOrder = RotationOrders.ZX;
object3D4.MinDegrees1 = -160f;
object3D4.MaxDegrees1 = 0f;
object3D4.MinDegrees2 = -170f;
object3D4.MaxDegrees2 = 60f;
object3D5.Position = new Point3D(2f, -4f, 0f);
object3D5.RotationOrder = RotationOrders.ZX;
object3D5.MinDegrees1 = 0f;
object3D5.MaxDegrees1 = 70f;
object3D5.MinDegrees2 = -110f;
object3D5.MaxDegrees2 = 60f;
object3D6.Position = new Point3D(-2f, -4f, 0f);
object3D6.RotationOrder = RotationOrders.ZX;
object3D6.MinDegrees1 = -70f;
object3D6.MaxDegrees1 = 0f;
object3D6.MinDegrees2 = -110f;
object3D6.MaxDegrees2 = 60f;
minecraftModelView1.AddDynamic(object3DGroup);
minecraftModelView1.AddStatic(object3D7);
minecraftModelView1.AddDynamic(object3D4);
minecraftModelView1.AddDynamic(object3D3);
minecraftModelView1.AddDynamic(object3D6);
minecraftModelView1.AddDynamic(object3D5);
}
}
}

View File

@@ -0,0 +1,120 @@
<?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>
</root>

View File

@@ -51,7 +51,6 @@
this.radioLOCAL = new System.Windows.Forms.RadioButton();
this.labelSelectTexture = new System.Windows.Forms.Label();
this.radioSERVER = new System.Windows.Forms.RadioButton();
this.webBrowser1 = new System.Windows.Forms.WebBrowser();
this.pictureBoxWithInterpolationMode1 = new MinecraftUSkinEditor.PictureBoxWithInterpolationMode();
this.pictureBoxTexture = new MinecraftUSkinEditor.PictureBoxWithInterpolationMode();
this.contextMenuSkin.SuspendLayout();
@@ -69,10 +68,10 @@
//
// contextMenuSkin
//
resources.ApplyResources(this.contextMenuSkin, "contextMenuSkin");
this.contextMenuSkin.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.replaceToolStripMenuItem});
this.contextMenuSkin.Name = "contextMenuSkin";
resources.ApplyResources(this.contextMenuSkin, "contextMenuSkin");
//
// replaceToolStripMenuItem
//
@@ -82,10 +81,10 @@
//
// contextMenuCape
//
resources.ApplyResources(this.contextMenuCape, "contextMenuCape");
this.contextMenuCape.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.replaceToolStripMenuItem1});
this.contextMenuCape.Name = "contextMenuCape";
resources.ApplyResources(this.contextMenuCape, "contextMenuCape");
//
// replaceToolStripMenuItem1
//
@@ -135,9 +134,9 @@
//
// displayBox
//
resources.ApplyResources(this.displayBox, "displayBox");
this.displayBox.BackColor = System.Drawing.SystemColors.ControlDark;
this.displayBox.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
resources.ApplyResources(this.displayBox, "displayBox");
this.displayBox.Name = "displayBox";
this.displayBox.TabStop = false;
//
@@ -149,8 +148,8 @@
//
// textThemeName
//
resources.ApplyResources(this.textThemeName, "textThemeName");
this.textThemeName.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
resources.ApplyResources(this.textThemeName, "textThemeName");
this.textThemeName.Name = "textThemeName";
this.textThemeName.TextChanged += new System.EventHandler(this.textThemeName_TextChanged);
this.textThemeName.VisibleChanged += new System.EventHandler(this.textThemeName_VisibleChanged);
@@ -163,8 +162,8 @@
//
// textSkinName
//
resources.ApplyResources(this.textSkinName, "textSkinName");
this.textSkinName.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
resources.ApplyResources(this.textSkinName, "textSkinName");
this.textSkinName.Name = "textSkinName";
this.textSkinName.TextChanged += new System.EventHandler(this.textSkinName_TextChanged);
this.textSkinName.VisibleChanged += new System.EventHandler(this.textSkinName_VisibleChanged);
@@ -177,8 +176,8 @@
//
// textSkinID
//
resources.ApplyResources(this.textSkinID, "textSkinID");
this.textSkinID.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
resources.ApplyResources(this.textSkinID, "textSkinID");
this.textSkinID.Name = "textSkinID";
this.textSkinID.TextChanged += new System.EventHandler(this.textSkinID_TextChanged_1);
//
@@ -215,15 +214,6 @@
this.radioSERVER.UseVisualStyleBackColor = true;
this.radioSERVER.CheckedChanged += new System.EventHandler(this.radioSERVER_CheckedChanged);
//
// webBrowser1
//
resources.ApplyResources(this.webBrowser1, "webBrowser1");
this.webBrowser1.IsWebBrowserContextMenuEnabled = false;
this.webBrowser1.Name = "webBrowser1";
this.webBrowser1.ScriptErrorsSuppressed = true;
this.webBrowser1.ScrollBarsEnabled = false;
this.webBrowser1.Url = new System.Uri("http://nobledez.ga/nobledez.ga/pckStudio/SkinID.php", System.UriKind.Absolute);
//
// pictureBoxWithInterpolationMode1
//
resources.ApplyResources(this.pictureBoxWithInterpolationMode1, "pictureBoxWithInterpolationMode1");
@@ -245,7 +235,6 @@
resources.ApplyResources(this, "$this");
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BorderStyle = MetroFramework.Forms.MetroFormBorderStyle.FixedSingle;
this.Controls.Add(this.webBrowser1);
this.Controls.Add(this.radioSERVER);
this.Controls.Add(this.labelSelectTexture);
this.Controls.Add(this.radioLOCAL);
@@ -307,6 +296,5 @@
private System.Windows.Forms.RadioButton radioLOCAL;
private System.Windows.Forms.Label labelSelectTexture;
private System.Windows.Forms.RadioButton radioSERVER;
private System.Windows.Forms.WebBrowser webBrowser1;
}
}

View File

@@ -652,10 +652,8 @@ namespace MinecraftUSkinEditor
try
{
WebClient wc = new WebClient();
webBrowser1.Refresh();
textSkinID.Text = webBrowser1.DocumentText;
textSkinID.Text = wc.DownloadString("http://vylryna.ddns.net/id") ;
textSkinID.Enabled = false;
}
catch
{

View File

@@ -1955,10 +1955,6 @@
AABJRU5ErkJggg==
</value>
</data>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="$this.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="$this.Text" xml:space="preserve">
<value>スキンクリエーター</value>
</data>

File diff suppressed because it is too large Load Diff

View File

@@ -187,16 +187,16 @@
//
// textTextureX
//
resources.ApplyResources(this.textTextureX, "textTextureX");
this.tableLayoutPanelMain.SetColumnSpan(this.textTextureX, 2);
resources.ApplyResources(this.textTextureX, "textTextureX");
this.textTextureX.Name = "textTextureX";
this.textTextureX.TextChanged += new System.EventHandler(this.textBox1_TextChanged);
this.textTextureX.Leave += new System.EventHandler(this.textXc_Leave);
//
// buttonIMPORT
//
resources.ApplyResources(this.buttonIMPORT, "buttonIMPORT");
this.tableLayoutPanelMain.SetColumnSpan(this.buttonIMPORT, 3);
resources.ApplyResources(this.buttonIMPORT, "buttonIMPORT");
this.buttonIMPORT.ForeColor = System.Drawing.Color.White;
this.buttonIMPORT.Name = "buttonIMPORT";
this.buttonIMPORT.UseVisualStyleBackColor = true;
@@ -211,8 +211,8 @@
//
// buttonZcplus
//
resources.ApplyResources(this.buttonZcplus, "buttonZcplus");
this.tableLayoutPanelMain.SetColumnSpan(this.buttonZcplus, 2);
resources.ApplyResources(this.buttonZcplus, "buttonZcplus");
this.buttonZcplus.ForeColor = System.Drawing.Color.White;
this.buttonZcplus.Name = "buttonZcplus";
this.buttonZcplus.UseVisualStyleBackColor = true;
@@ -220,8 +220,8 @@
//
// buttonXcminus
//
resources.ApplyResources(this.buttonXcminus, "buttonXcminus");
this.tableLayoutPanelMain.SetColumnSpan(this.buttonXcminus, 2);
resources.ApplyResources(this.buttonXcminus, "buttonXcminus");
this.buttonXcminus.ForeColor = System.Drawing.Color.White;
this.buttonXcminus.Name = "buttonXcminus";
this.buttonXcminus.UseVisualStyleBackColor = true;
@@ -229,8 +229,8 @@
//
// buttonYcminus
//
resources.ApplyResources(this.buttonYcminus, "buttonYcminus");
this.tableLayoutPanelMain.SetColumnSpan(this.buttonYcminus, 2);
resources.ApplyResources(this.buttonYcminus, "buttonYcminus");
this.buttonYcminus.ForeColor = System.Drawing.Color.White;
this.buttonYcminus.Name = "buttonYcminus";
this.buttonYcminus.UseVisualStyleBackColor = true;
@@ -238,8 +238,8 @@
//
// buttonZcminus
//
resources.ApplyResources(this.buttonZcminus, "buttonZcminus");
this.tableLayoutPanelMain.SetColumnSpan(this.buttonZcminus, 2);
resources.ApplyResources(this.buttonZcminus, "buttonZcminus");
this.buttonZcminus.ForeColor = System.Drawing.Color.White;
this.buttonZcminus.Name = "buttonZcminus";
this.buttonZcminus.UseVisualStyleBackColor = true;
@@ -247,8 +247,8 @@
//
// buttonYcplus
//
resources.ApplyResources(this.buttonYcplus, "buttonYcplus");
this.tableLayoutPanelMain.SetColumnSpan(this.buttonYcplus, 2);
resources.ApplyResources(this.buttonYcplus, "buttonYcplus");
this.buttonYcplus.ForeColor = System.Drawing.Color.White;
this.buttonYcplus.Name = "buttonYcplus";
this.buttonYcplus.UseVisualStyleBackColor = true;
@@ -256,8 +256,8 @@
//
// buttonXcplus
//
resources.ApplyResources(this.buttonXcplus, "buttonXcplus");
this.tableLayoutPanelMain.SetColumnSpan(this.buttonXcplus, 2);
resources.ApplyResources(this.buttonXcplus, "buttonXcplus");
this.buttonXcplus.ForeColor = System.Drawing.Color.White;
this.buttonXcplus.Name = "buttonXcplus";
this.buttonXcplus.UseVisualStyleBackColor = true;
@@ -265,8 +265,8 @@
//
// buttonZfplus
//
resources.ApplyResources(this.buttonZfplus, "buttonZfplus");
this.tableLayoutPanelMain.SetColumnSpan(this.buttonZfplus, 2);
resources.ApplyResources(this.buttonZfplus, "buttonZfplus");
this.buttonZfplus.ForeColor = System.Drawing.Color.White;
this.buttonZfplus.Name = "buttonZfplus";
this.buttonZfplus.UseVisualStyleBackColor = true;
@@ -274,8 +274,8 @@
//
// buttonXfminus
//
resources.ApplyResources(this.buttonXfminus, "buttonXfminus");
this.tableLayoutPanelMain.SetColumnSpan(this.buttonXfminus, 2);
resources.ApplyResources(this.buttonXfminus, "buttonXfminus");
this.buttonXfminus.ForeColor = System.Drawing.Color.White;
this.buttonXfminus.Name = "buttonXfminus";
this.buttonXfminus.UseVisualStyleBackColor = true;
@@ -283,8 +283,8 @@
//
// buttonYfminus
//
resources.ApplyResources(this.buttonYfminus, "buttonYfminus");
this.tableLayoutPanelMain.SetColumnSpan(this.buttonYfminus, 2);
resources.ApplyResources(this.buttonYfminus, "buttonYfminus");
this.buttonYfminus.ForeColor = System.Drawing.Color.White;
this.buttonYfminus.Name = "buttonYfminus";
this.buttonYfminus.UseVisualStyleBackColor = true;
@@ -292,8 +292,8 @@
//
// buttonZfminus
//
resources.ApplyResources(this.buttonZfminus, "buttonZfminus");
this.tableLayoutPanelMain.SetColumnSpan(this.buttonZfminus, 2);
resources.ApplyResources(this.buttonZfminus, "buttonZfminus");
this.buttonZfminus.ForeColor = System.Drawing.Color.White;
this.buttonZfminus.Name = "buttonZfminus";
this.buttonZfminus.UseVisualStyleBackColor = true;
@@ -301,8 +301,8 @@
//
// buttonYfplus
//
resources.ApplyResources(this.buttonYfplus, "buttonYfplus");
this.tableLayoutPanelMain.SetColumnSpan(this.buttonYfplus, 2);
resources.ApplyResources(this.buttonYfplus, "buttonYfplus");
this.buttonYfplus.ForeColor = System.Drawing.Color.White;
this.buttonYfplus.Name = "buttonYfplus";
this.buttonYfplus.UseVisualStyleBackColor = true;
@@ -310,8 +310,8 @@
//
// buttonXfplus
//
resources.ApplyResources(this.buttonXfplus, "buttonXfplus");
this.tableLayoutPanelMain.SetColumnSpan(this.buttonXfplus, 2);
resources.ApplyResources(this.buttonXfplus, "buttonXfplus");
this.buttonXfplus.ForeColor = System.Drawing.Color.White;
this.buttonXfplus.Name = "buttonXfplus";
this.buttonXfplus.UseVisualStyleBackColor = true;
@@ -319,8 +319,8 @@
//
// buttonEXPORT
//
resources.ApplyResources(this.buttonEXPORT, "buttonEXPORT");
this.tableLayoutPanelMain.SetColumnSpan(this.buttonEXPORT, 3);
resources.ApplyResources(this.buttonEXPORT, "buttonEXPORT");
this.buttonEXPORT.ForeColor = System.Drawing.Color.White;
this.buttonEXPORT.Name = "buttonEXPORT";
this.buttonEXPORT.UseVisualStyleBackColor = true;
@@ -335,9 +335,9 @@
//
// buttonDone
//
resources.ApplyResources(this.buttonDone, "buttonDone");
this.tableLayoutPanelMain.SetColumnSpan(this.buttonDone, 3);
this.buttonDone.DialogResult = System.Windows.Forms.DialogResult.OK;
resources.ApplyResources(this.buttonDone, "buttonDone");
this.buttonDone.ForeColor = System.Drawing.Color.White;
this.buttonDone.Name = "buttonDone";
this.buttonDone.UseVisualStyleBackColor = true;
@@ -345,48 +345,48 @@
//
// textYc
//
resources.ApplyResources(this.textYc, "textYc");
this.tableLayoutPanelMain.SetColumnSpan(this.textYc, 2);
resources.ApplyResources(this.textYc, "textYc");
this.textYc.Name = "textYc";
this.textYc.TextChanged += new System.EventHandler(this.textYc_TextChanged);
this.textYc.Leave += new System.EventHandler(this.textXc_Leave);
//
// textZc
//
resources.ApplyResources(this.textZc, "textZc");
this.tableLayoutPanelMain.SetColumnSpan(this.textZc, 2);
resources.ApplyResources(this.textZc, "textZc");
this.textZc.Name = "textZc";
this.textZc.TextChanged += new System.EventHandler(this.textZc_TextChanged);
this.textZc.Leave += new System.EventHandler(this.textXc_Leave);
//
// textXf
//
resources.ApplyResources(this.textXf, "textXf");
this.tableLayoutPanelMain.SetColumnSpan(this.textXf, 2);
resources.ApplyResources(this.textXf, "textXf");
this.textXf.Name = "textXf";
this.textXf.TextChanged += new System.EventHandler(this.textXf_TextChanged);
this.textXf.Leave += new System.EventHandler(this.textXc_Leave);
//
// textYf
//
resources.ApplyResources(this.textYf, "textYf");
this.tableLayoutPanelMain.SetColumnSpan(this.textYf, 2);
resources.ApplyResources(this.textYf, "textYf");
this.textYf.Name = "textYf";
this.textYf.TextChanged += new System.EventHandler(this.textYf_TextChanged);
this.textYf.Leave += new System.EventHandler(this.textXc_Leave);
//
// textZf
//
resources.ApplyResources(this.textZf, "textZf");
this.tableLayoutPanelMain.SetColumnSpan(this.textZf, 2);
resources.ApplyResources(this.textZf, "textZf");
this.textZf.Name = "textZf";
this.textZf.TextChanged += new System.EventHandler(this.textZf_TextChanged);
this.textZf.Leave += new System.EventHandler(this.textXc_Leave);
//
// textXc
//
resources.ApplyResources(this.textXc, "textXc");
this.tableLayoutPanelMain.SetColumnSpan(this.textXc, 2);
resources.ApplyResources(this.textXc, "textXc");
this.textXc.Name = "textXc";
this.textXc.TextChanged += new System.EventHandler(this.textXc_TextChanged);
this.textXc.Leave += new System.EventHandler(this.textXc_Leave);
@@ -400,9 +400,9 @@
//
// groupBox1
//
resources.ApplyResources(this.groupBox1, "groupBox1");
this.tableLayoutPanelMain.SetColumnSpan(this.groupBox1, 6);
this.groupBox1.Controls.Add(this.tabBody);
resources.ApplyResources(this.groupBox1, "groupBox1");
this.groupBox1.ForeColor = System.Drawing.Color.White;
this.groupBox1.Name = "groupBox1";
this.tableLayoutPanelMain.SetRowSpan(this.groupBox1, 2);
@@ -410,17 +410,17 @@
//
// tabBody
//
resources.ApplyResources(this.tabBody, "tabBody");
this.tabBody.Controls.Add(this.tabPage1);
this.tabBody.Controls.Add(this.tabArmor);
resources.ApplyResources(this.tabBody, "tabBody");
this.tabBody.Name = "tabBody";
this.tabBody.SelectedIndex = 0;
//
// tabPage1
//
resources.ApplyResources(this.tabPage1, "tabPage1");
this.tabPage1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(17)))), ((int)(((byte)(17)))), ((int)(((byte)(17)))));
this.tabPage1.Controls.Add(this.myTablePanel2);
resources.ApplyResources(this.tabPage1, "tabPage1");
this.tabPage1.Name = "tabPage1";
//
// myTablePanel2
@@ -486,9 +486,9 @@
//
// tabArmor
//
resources.ApplyResources(this.tabArmor, "tabArmor");
this.tabArmor.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(17)))), ((int)(((byte)(17)))), ((int)(((byte)(17)))));
this.tabArmor.Controls.Add(this.myTablePanel1);
resources.ApplyResources(this.tabArmor, "tabArmor");
this.tabArmor.Name = "tabArmor";
//
// myTablePanel1
@@ -560,7 +560,6 @@
//
// comboParent
//
resources.ApplyResources(this.comboParent, "comboParent");
this.comboParent.FormattingEnabled = true;
this.comboParent.Items.AddRange(new object[] {
resources.GetString("comboParent.Items"),
@@ -569,6 +568,7 @@
resources.GetString("comboParent.Items3"),
resources.GetString("comboParent.Items4"),
resources.GetString("comboParent.Items5")});
resources.ApplyResources(this.comboParent, "comboParent");
this.comboParent.Name = "comboParent";
this.comboParent.SelectedValueChanged += new System.EventHandler(this.comboParent_SelectedIndexChanged);
//
@@ -580,9 +580,9 @@
//
// listViewBoxes
//
resources.ApplyResources(this.listViewBoxes, "listViewBoxes");
this.listViewBoxes.Activation = System.Windows.Forms.ItemActivation.OneClick;
this.listViewBoxes.ContextMenuStrip = this.contextMenuStrip1;
resources.ApplyResources(this.listViewBoxes, "listViewBoxes");
this.listViewBoxes.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
this.listViewBoxes.HideSelection = false;
this.listViewBoxes.LabelEdit = true;
@@ -598,7 +598,6 @@
//
// contextMenuStrip1
//
resources.ApplyResources(this.contextMenuStrip1, "contextMenuStrip1");
this.contextMenuStrip1.ImageScalingSize = new System.Drawing.Size(20, 20);
this.contextMenuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.createToolStripMenuItem,
@@ -606,6 +605,7 @@
this.deleteToolStripMenuItem,
this.changeColorToolStripMenuItem});
this.contextMenuStrip1.Name = "contextMenuStrip1";
resources.ApplyResources(this.contextMenuStrip1, "contextMenuStrip1");
//
// createToolStripMenuItem
//
@@ -729,9 +729,9 @@
//
// displayBox
//
resources.ApplyResources(this.displayBox, "displayBox");
this.displayBox.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.tableLayoutPanelMain.SetColumnSpan(this.displayBox, 3);
resources.ApplyResources(this.displayBox, "displayBox");
this.displayBox.Image = global::PckStudio.Properties.Resources.bg2;
this.displayBox.Name = "displayBox";
this.tableLayoutPanelMain.SetRowSpan(this.displayBox, 17);
@@ -739,9 +739,9 @@
//
// texturePreview
//
resources.ApplyResources(this.texturePreview, "texturePreview");
this.texturePreview.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.tableLayoutPanelMain.SetColumnSpan(this.texturePreview, 6);
resources.ApplyResources(this.texturePreview, "texturePreview");
this.texturePreview.Name = "texturePreview";
this.tableLayoutPanelMain.SetRowSpan(this.texturePreview, 5);
this.texturePreview.TabStop = false;

View File

@@ -431,8 +431,8 @@ namespace PckStudio
//Maps imported Texture if auto texture is disabled
if (autoTexture != true)
{
RectangleF destRect = new RectangleF(
(float)(x + double.Parse(listViewItem.SubItems[3].Text) * 5),
RectangleF destRect = new RectangleF(
(float)(x + double.Parse(listViewItem.SubItems[3].Text) * 5),
(float)(y + double.Parse(listViewItem.SubItems[2].Text) * 5),
(float)(double.Parse(listViewItem.SubItems[6].Text) * 5),
(float)(double.Parse(listViewItem.SubItems[5].Text) * 5));
@@ -1864,7 +1864,7 @@ namespace PckStudio
IEnumerator enumerator = listView.Items.GetEnumerator();
try
{
label_33:
label_33:
if (enumerator.MoveNext())
{
ListViewItem current = (ListViewItem)enumerator.Current;
@@ -2108,4 +2108,4 @@ namespace PckStudio
textBoxFailCheck((TextBox)sender);
}
}
}
}

View File

@@ -0,0 +1,875 @@
namespace PckStudio
{
partial class generateModelRENDR
{
/// <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(generateModelRENDR));
this.buttonImportModel = new System.Windows.Forms.Button();
this.buttonExportModel = new System.Windows.Forms.Button();
this.checkTextureGenerate = new System.Windows.Forms.CheckBox();
this.checkGuide = new System.Windows.Forms.CheckBox();
this.labelView = new System.Windows.Forms.Label();
this.button2 = new System.Windows.Forms.Button();
this.button1 = new System.Windows.Forms.Button();
this.label7 = new System.Windows.Forms.Label();
this.textTextureY = new System.Windows.Forms.TextBox();
this.textTextureX = new System.Windows.Forms.TextBox();
this.buttonIMPORT = new System.Windows.Forms.Button();
this.label5 = new System.Windows.Forms.Label();
this.buttonZcplus = new System.Windows.Forms.Button();
this.buttonXcminus = new System.Windows.Forms.Button();
this.buttonYcminus = new System.Windows.Forms.Button();
this.buttonZcminus = new System.Windows.Forms.Button();
this.buttonYcplus = new System.Windows.Forms.Button();
this.buttonXcplus = new System.Windows.Forms.Button();
this.buttonZfplus = new System.Windows.Forms.Button();
this.buttonXfminus = new System.Windows.Forms.Button();
this.buttonYfminus = new System.Windows.Forms.Button();
this.buttonZfminus = new System.Windows.Forms.Button();
this.buttonYfplus = new System.Windows.Forms.Button();
this.buttonXfplus = new System.Windows.Forms.Button();
this.buttonEXPORT = new System.Windows.Forms.Button();
this.labelTextureMappingPreview = new System.Windows.Forms.Label();
this.buttonDone = new System.Windows.Forms.Button();
this.textYc = new System.Windows.Forms.TextBox();
this.textZc = new System.Windows.Forms.TextBox();
this.textXf = new System.Windows.Forms.TextBox();
this.textYf = new System.Windows.Forms.TextBox();
this.textZf = new System.Windows.Forms.TextBox();
this.textXc = new System.Windows.Forms.TextBox();
this.buttonTemplate = new System.Windows.Forms.Button();
this.groupBox1 = new System.Windows.Forms.GroupBox();
this.tabBody = new System.Windows.Forms.TabControl();
this.tabPage1 = new System.Windows.Forms.TabPage();
this.tabArmor = new System.Windows.Forms.TabPage();
this.label6 = new System.Windows.Forms.Label();
this.comboParent = new System.Windows.Forms.ComboBox();
this.labelModeParts = new System.Windows.Forms.Label();
this.listViewBoxes = new System.Windows.Forms.ListView();
this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components);
this.createToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.cloneToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.deleteToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.changeColorToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.labelFullSkinPreview = new System.Windows.Forms.Label();
this.label3 = new System.Windows.Forms.Label();
this.checkBoxArmor = new System.Windows.Forms.CheckBox();
this.labelTheme = new System.Windows.Forms.Label();
this.listViewBGs = new System.Windows.Forms.ListView();
this.tableLayoutPanelMain = new System.Windows.Forms.TableLayoutPanel();
this.texturePreview = new System.Windows.Forms.PictureBox();
this.minecraftModelView1 = new MinecraftUSkinEditor.Models.MinecraftModelView(this.components);
this.myTablePanel2 = new PckStudio.Forms.MyTablePanel();
this.offsetArms = new System.Windows.Forms.TextBox();
this.label14 = new System.Windows.Forms.Label();
this.offsetBody = new System.Windows.Forms.TextBox();
this.offsetLegs = new System.Windows.Forms.TextBox();
this.label10 = new System.Windows.Forms.Label();
this.label13 = new System.Windows.Forms.Label();
this.offsetHead = new System.Windows.Forms.TextBox();
this.label12 = new System.Windows.Forms.Label();
this.myTablePanel1 = new PckStudio.Forms.MyTablePanel();
this.offsetBoots = new System.Windows.Forms.TextBox();
this.offsetPants = new System.Windows.Forms.TextBox();
this.offsetTool = new System.Windows.Forms.TextBox();
this.label4 = new System.Windows.Forms.Label();
this.label9 = new System.Windows.Forms.Label();
this.offsetHelmet = new System.Windows.Forms.TextBox();
this.label15 = new System.Windows.Forms.Label();
this.label16 = new System.Windows.Forms.Label();
this.displayBox = new System.Windows.Forms.PictureBox();
this.groupBox1.SuspendLayout();
this.tabBody.SuspendLayout();
this.tabPage1.SuspendLayout();
this.tabArmor.SuspendLayout();
this.contextMenuStrip1.SuspendLayout();
this.tableLayoutPanelMain.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.texturePreview)).BeginInit();
this.myTablePanel2.SuspendLayout();
this.myTablePanel1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.displayBox)).BeginInit();
this.SuspendLayout();
//
// buttonImportModel
//
resources.ApplyResources(this.buttonImportModel, "buttonImportModel");
this.buttonImportModel.ForeColor = System.Drawing.Color.White;
this.buttonImportModel.Name = "buttonImportModel";
this.buttonImportModel.UseVisualStyleBackColor = true;
this.buttonImportModel.Click += new System.EventHandler(this.buttonImportModel_Click);
//
// buttonExportModel
//
resources.ApplyResources(this.buttonExportModel, "buttonExportModel");
this.buttonExportModel.ForeColor = System.Drawing.Color.White;
this.buttonExportModel.Name = "buttonExportModel";
this.buttonExportModel.UseVisualStyleBackColor = true;
this.buttonExportModel.Click += new System.EventHandler(this.buttonExportModel_Click);
//
// checkTextureGenerate
//
resources.ApplyResources(this.checkTextureGenerate, "checkTextureGenerate");
this.checkTextureGenerate.Checked = true;
this.checkTextureGenerate.CheckState = System.Windows.Forms.CheckState.Checked;
this.checkTextureGenerate.ForeColor = System.Drawing.Color.White;
this.checkTextureGenerate.Name = "checkTextureGenerate";
this.checkTextureGenerate.UseVisualStyleBackColor = true;
this.checkTextureGenerate.CheckedChanged += new System.EventHandler(this.checkTextureGenerate_CheckedChanged);
//
// checkGuide
//
resources.ApplyResources(this.checkGuide, "checkGuide");
this.checkGuide.ForeColor = System.Drawing.Color.White;
this.checkGuide.Name = "checkGuide";
this.checkGuide.UseVisualStyleBackColor = true;
this.checkGuide.CheckedChanged += new System.EventHandler(this.checkGuide_CheckedChanged);
//
// labelView
//
resources.ApplyResources(this.labelView, "labelView");
this.labelView.ForeColor = System.Drawing.Color.White;
this.labelView.Name = "labelView";
//
// button2
//
resources.ApplyResources(this.button2, "button2");
this.button2.ForeColor = System.Drawing.Color.White;
this.button2.Name = "button2";
this.button2.UseVisualStyleBackColor = true;
this.button2.Click += new System.EventHandler(this.button2_Click);
//
// button1
//
resources.ApplyResources(this.button1, "button1");
this.button1.ForeColor = System.Drawing.Color.White;
this.button1.Name = "button1";
this.button1.UseVisualStyleBackColor = true;
this.button1.Click += new System.EventHandler(this.button1_Click);
//
// label7
//
resources.ApplyResources(this.label7, "label7");
this.label7.ForeColor = System.Drawing.Color.White;
this.label7.Name = "label7";
//
// textTextureY
//
resources.ApplyResources(this.textTextureY, "textTextureY");
this.tableLayoutPanelMain.SetColumnSpan(this.textTextureY, 2);
this.textTextureY.Name = "textTextureY";
this.textTextureY.TextChanged += new System.EventHandler(this.textTextureY_TextChanged);
this.textTextureY.Leave += new System.EventHandler(this.textXc_Leave);
//
// textTextureX
//
this.tableLayoutPanelMain.SetColumnSpan(this.textTextureX, 2);
resources.ApplyResources(this.textTextureX, "textTextureX");
this.textTextureX.Name = "textTextureX";
this.textTextureX.TextChanged += new System.EventHandler(this.textBox1_TextChanged);
this.textTextureX.Leave += new System.EventHandler(this.textXc_Leave);
//
// buttonIMPORT
//
this.tableLayoutPanelMain.SetColumnSpan(this.buttonIMPORT, 3);
resources.ApplyResources(this.buttonIMPORT, "buttonIMPORT");
this.buttonIMPORT.ForeColor = System.Drawing.Color.White;
this.buttonIMPORT.Name = "buttonIMPORT";
this.buttonIMPORT.UseVisualStyleBackColor = true;
this.buttonIMPORT.Click += new System.EventHandler(this.buttonIMPORT_Click);
//
// label5
//
resources.ApplyResources(this.label5, "label5");
this.tableLayoutPanelMain.SetColumnSpan(this.label5, 3);
this.label5.ForeColor = System.Drawing.Color.White;
this.label5.Name = "label5";
//
// buttonZcplus
//
this.tableLayoutPanelMain.SetColumnSpan(this.buttonZcplus, 2);
resources.ApplyResources(this.buttonZcplus, "buttonZcplus");
this.buttonZcplus.ForeColor = System.Drawing.Color.White;
this.buttonZcplus.Name = "buttonZcplus";
this.buttonZcplus.UseVisualStyleBackColor = true;
this.buttonZcplus.Click += new System.EventHandler(this.buttonZcplus_Click);
//
// buttonXcminus
//
this.tableLayoutPanelMain.SetColumnSpan(this.buttonXcminus, 2);
resources.ApplyResources(this.buttonXcminus, "buttonXcminus");
this.buttonXcminus.ForeColor = System.Drawing.Color.White;
this.buttonXcminus.Name = "buttonXcminus";
this.buttonXcminus.UseVisualStyleBackColor = true;
this.buttonXcminus.Click += new System.EventHandler(this.buttonXcminus_Click);
//
// buttonYcminus
//
this.tableLayoutPanelMain.SetColumnSpan(this.buttonYcminus, 2);
resources.ApplyResources(this.buttonYcminus, "buttonYcminus");
this.buttonYcminus.ForeColor = System.Drawing.Color.White;
this.buttonYcminus.Name = "buttonYcminus";
this.buttonYcminus.UseVisualStyleBackColor = true;
this.buttonYcminus.Click += new System.EventHandler(this.buttonYcminus_Click);
//
// buttonZcminus
//
this.tableLayoutPanelMain.SetColumnSpan(this.buttonZcminus, 2);
resources.ApplyResources(this.buttonZcminus, "buttonZcminus");
this.buttonZcminus.ForeColor = System.Drawing.Color.White;
this.buttonZcminus.Name = "buttonZcminus";
this.buttonZcminus.UseVisualStyleBackColor = true;
this.buttonZcminus.Click += new System.EventHandler(this.buttonZcminus_Click);
//
// buttonYcplus
//
this.tableLayoutPanelMain.SetColumnSpan(this.buttonYcplus, 2);
resources.ApplyResources(this.buttonYcplus, "buttonYcplus");
this.buttonYcplus.ForeColor = System.Drawing.Color.White;
this.buttonYcplus.Name = "buttonYcplus";
this.buttonYcplus.UseVisualStyleBackColor = true;
this.buttonYcplus.Click += new System.EventHandler(this.buttonYcplus_Click);
//
// buttonXcplus
//
this.tableLayoutPanelMain.SetColumnSpan(this.buttonXcplus, 2);
resources.ApplyResources(this.buttonXcplus, "buttonXcplus");
this.buttonXcplus.ForeColor = System.Drawing.Color.White;
this.buttonXcplus.Name = "buttonXcplus";
this.buttonXcplus.UseVisualStyleBackColor = true;
this.buttonXcplus.Click += new System.EventHandler(this.buttonXcplus_Click);
//
// buttonZfplus
//
this.tableLayoutPanelMain.SetColumnSpan(this.buttonZfplus, 2);
resources.ApplyResources(this.buttonZfplus, "buttonZfplus");
this.buttonZfplus.ForeColor = System.Drawing.Color.White;
this.buttonZfplus.Name = "buttonZfplus";
this.buttonZfplus.UseVisualStyleBackColor = true;
this.buttonZfplus.Click += new System.EventHandler(this.buttonZfplus_Click);
//
// buttonXfminus
//
this.tableLayoutPanelMain.SetColumnSpan(this.buttonXfminus, 2);
resources.ApplyResources(this.buttonXfminus, "buttonXfminus");
this.buttonXfminus.ForeColor = System.Drawing.Color.White;
this.buttonXfminus.Name = "buttonXfminus";
this.buttonXfminus.UseVisualStyleBackColor = true;
this.buttonXfminus.Click += new System.EventHandler(this.buttonXfminus_Click);
//
// buttonYfminus
//
this.tableLayoutPanelMain.SetColumnSpan(this.buttonYfminus, 2);
resources.ApplyResources(this.buttonYfminus, "buttonYfminus");
this.buttonYfminus.ForeColor = System.Drawing.Color.White;
this.buttonYfminus.Name = "buttonYfminus";
this.buttonYfminus.UseVisualStyleBackColor = true;
this.buttonYfminus.Click += new System.EventHandler(this.buttonYfminus_Click);
//
// buttonZfminus
//
this.tableLayoutPanelMain.SetColumnSpan(this.buttonZfminus, 2);
resources.ApplyResources(this.buttonZfminus, "buttonZfminus");
this.buttonZfminus.ForeColor = System.Drawing.Color.White;
this.buttonZfminus.Name = "buttonZfminus";
this.buttonZfminus.UseVisualStyleBackColor = true;
this.buttonZfminus.Click += new System.EventHandler(this.buttonZfminus_Click);
//
// buttonYfplus
//
this.tableLayoutPanelMain.SetColumnSpan(this.buttonYfplus, 2);
resources.ApplyResources(this.buttonYfplus, "buttonYfplus");
this.buttonYfplus.ForeColor = System.Drawing.Color.White;
this.buttonYfplus.Name = "buttonYfplus";
this.buttonYfplus.UseVisualStyleBackColor = true;
this.buttonYfplus.Click += new System.EventHandler(this.buttonYfplus_Click);
//
// buttonXfplus
//
this.tableLayoutPanelMain.SetColumnSpan(this.buttonXfplus, 2);
resources.ApplyResources(this.buttonXfplus, "buttonXfplus");
this.buttonXfplus.ForeColor = System.Drawing.Color.White;
this.buttonXfplus.Name = "buttonXfplus";
this.buttonXfplus.UseVisualStyleBackColor = true;
this.buttonXfplus.Click += new System.EventHandler(this.buttonXfplus_Click);
//
// buttonEXPORT
//
this.tableLayoutPanelMain.SetColumnSpan(this.buttonEXPORT, 3);
resources.ApplyResources(this.buttonEXPORT, "buttonEXPORT");
this.buttonEXPORT.ForeColor = System.Drawing.Color.White;
this.buttonEXPORT.Name = "buttonEXPORT";
this.buttonEXPORT.UseVisualStyleBackColor = true;
this.buttonEXPORT.Click += new System.EventHandler(this.buttonEXPORT_Click);
//
// labelTextureMappingPreview
//
resources.ApplyResources(this.labelTextureMappingPreview, "labelTextureMappingPreview");
this.tableLayoutPanelMain.SetColumnSpan(this.labelTextureMappingPreview, 6);
this.labelTextureMappingPreview.ForeColor = System.Drawing.Color.White;
this.labelTextureMappingPreview.Name = "labelTextureMappingPreview";
//
// buttonDone
//
this.tableLayoutPanelMain.SetColumnSpan(this.buttonDone, 3);
this.buttonDone.DialogResult = System.Windows.Forms.DialogResult.OK;
resources.ApplyResources(this.buttonDone, "buttonDone");
this.buttonDone.ForeColor = System.Drawing.Color.White;
this.buttonDone.Name = "buttonDone";
this.buttonDone.UseVisualStyleBackColor = true;
this.buttonDone.Click += new System.EventHandler(this.buttonDone_Click);
//
// textYc
//
this.tableLayoutPanelMain.SetColumnSpan(this.textYc, 2);
resources.ApplyResources(this.textYc, "textYc");
this.textYc.Name = "textYc";
this.textYc.TextChanged += new System.EventHandler(this.textYc_TextChanged);
this.textYc.Leave += new System.EventHandler(this.textXc_Leave);
//
// textZc
//
this.tableLayoutPanelMain.SetColumnSpan(this.textZc, 2);
resources.ApplyResources(this.textZc, "textZc");
this.textZc.Name = "textZc";
this.textZc.TextChanged += new System.EventHandler(this.textZc_TextChanged);
this.textZc.Leave += new System.EventHandler(this.textXc_Leave);
//
// textXf
//
this.tableLayoutPanelMain.SetColumnSpan(this.textXf, 2);
resources.ApplyResources(this.textXf, "textXf");
this.textXf.Name = "textXf";
this.textXf.TextChanged += new System.EventHandler(this.textXf_TextChanged);
this.textXf.Leave += new System.EventHandler(this.textXc_Leave);
//
// textYf
//
this.tableLayoutPanelMain.SetColumnSpan(this.textYf, 2);
resources.ApplyResources(this.textYf, "textYf");
this.textYf.Name = "textYf";
this.textYf.TextChanged += new System.EventHandler(this.textYf_TextChanged);
this.textYf.Leave += new System.EventHandler(this.textXc_Leave);
//
// textZf
//
this.tableLayoutPanelMain.SetColumnSpan(this.textZf, 2);
resources.ApplyResources(this.textZf, "textZf");
this.textZf.Name = "textZf";
this.textZf.TextChanged += new System.EventHandler(this.textZf_TextChanged);
this.textZf.Leave += new System.EventHandler(this.textXc_Leave);
//
// textXc
//
this.tableLayoutPanelMain.SetColumnSpan(this.textXc, 2);
resources.ApplyResources(this.textXc, "textXc");
this.textXc.Name = "textXc";
this.textXc.TextChanged += new System.EventHandler(this.textXc_TextChanged);
this.textXc.Leave += new System.EventHandler(this.textXc_Leave);
//
// buttonTemplate
//
resources.ApplyResources(this.buttonTemplate, "buttonTemplate");
this.buttonTemplate.Name = "buttonTemplate";
this.buttonTemplate.UseVisualStyleBackColor = true;
this.buttonTemplate.Click += new System.EventHandler(this.buttonTemplate_Click);
//
// groupBox1
//
this.tableLayoutPanelMain.SetColumnSpan(this.groupBox1, 6);
this.groupBox1.Controls.Add(this.tabBody);
resources.ApplyResources(this.groupBox1, "groupBox1");
this.groupBox1.ForeColor = System.Drawing.Color.White;
this.groupBox1.Name = "groupBox1";
this.tableLayoutPanelMain.SetRowSpan(this.groupBox1, 2);
this.groupBox1.TabStop = false;
//
// tabBody
//
this.tabBody.Controls.Add(this.tabPage1);
this.tabBody.Controls.Add(this.tabArmor);
resources.ApplyResources(this.tabBody, "tabBody");
this.tabBody.Name = "tabBody";
this.tabBody.SelectedIndex = 0;
//
// tabPage1
//
this.tabPage1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(17)))), ((int)(((byte)(17)))), ((int)(((byte)(17)))));
this.tabPage1.Controls.Add(this.myTablePanel2);
resources.ApplyResources(this.tabPage1, "tabPage1");
this.tabPage1.Name = "tabPage1";
//
// tabArmor
//
this.tabArmor.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(17)))), ((int)(((byte)(17)))), ((int)(((byte)(17)))));
this.tabArmor.Controls.Add(this.myTablePanel1);
resources.ApplyResources(this.tabArmor, "tabArmor");
this.tabArmor.Name = "tabArmor";
//
// label6
//
resources.ApplyResources(this.label6, "label6");
this.label6.ForeColor = System.Drawing.Color.White;
this.label6.Name = "label6";
//
// comboParent
//
this.comboParent.FormattingEnabled = true;
this.comboParent.Items.AddRange(new object[] {
resources.GetString("comboParent.Items"),
resources.GetString("comboParent.Items1"),
resources.GetString("comboParent.Items2"),
resources.GetString("comboParent.Items3"),
resources.GetString("comboParent.Items4"),
resources.GetString("comboParent.Items5")});
resources.ApplyResources(this.comboParent, "comboParent");
this.comboParent.Name = "comboParent";
this.comboParent.SelectedValueChanged += new System.EventHandler(this.comboParent_SelectedIndexChanged);
//
// labelModeParts
//
resources.ApplyResources(this.labelModeParts, "labelModeParts");
this.labelModeParts.ForeColor = System.Drawing.Color.White;
this.labelModeParts.Name = "labelModeParts";
//
// listViewBoxes
//
this.listViewBoxes.Activation = System.Windows.Forms.ItemActivation.OneClick;
this.listViewBoxes.ContextMenuStrip = this.contextMenuStrip1;
resources.ApplyResources(this.listViewBoxes, "listViewBoxes");
this.listViewBoxes.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
this.listViewBoxes.HideSelection = false;
this.listViewBoxes.LabelEdit = true;
this.listViewBoxes.MultiSelect = false;
this.listViewBoxes.Name = "listViewBoxes";
this.tableLayoutPanelMain.SetRowSpan(this.listViewBoxes, 14);
this.listViewBoxes.UseCompatibleStateImageBehavior = false;
this.listViewBoxes.View = System.Windows.Forms.View.Details;
this.listViewBoxes.SelectedIndexChanged += new System.EventHandler(this.listView1_SelectedIndexChanged);
this.listViewBoxes.Click += new System.EventHandler(this.listView1_Click);
this.listViewBoxes.DoubleClick += new System.EventHandler(this.listView1_DoubleClick_1);
this.listViewBoxes.KeyDown += new System.Windows.Forms.KeyEventHandler(this.delStuffUsingDelKey);
//
// contextMenuStrip1
//
this.contextMenuStrip1.ImageScalingSize = new System.Drawing.Size(20, 20);
this.contextMenuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.createToolStripMenuItem,
this.cloneToolStripMenuItem,
this.deleteToolStripMenuItem,
this.changeColorToolStripMenuItem});
this.contextMenuStrip1.Name = "contextMenuStrip1";
resources.ApplyResources(this.contextMenuStrip1, "contextMenuStrip1");
//
// createToolStripMenuItem
//
resources.ApplyResources(this.createToolStripMenuItem, "createToolStripMenuItem");
this.createToolStripMenuItem.Name = "createToolStripMenuItem";
this.createToolStripMenuItem.Click += new System.EventHandler(this.createToolStripMenuItem_Click);
//
// cloneToolStripMenuItem
//
resources.ApplyResources(this.cloneToolStripMenuItem, "cloneToolStripMenuItem");
this.cloneToolStripMenuItem.Name = "cloneToolStripMenuItem";
this.cloneToolStripMenuItem.Click += new System.EventHandler(this.cloneToolStripMenuItem_Click);
//
// deleteToolStripMenuItem
//
resources.ApplyResources(this.deleteToolStripMenuItem, "deleteToolStripMenuItem");
this.deleteToolStripMenuItem.Name = "deleteToolStripMenuItem";
this.deleteToolStripMenuItem.Click += new System.EventHandler(this.deleteToolStripMenuItem_Click);
//
// changeColorToolStripMenuItem
//
resources.ApplyResources(this.changeColorToolStripMenuItem, "changeColorToolStripMenuItem");
this.changeColorToolStripMenuItem.Name = "changeColorToolStripMenuItem";
this.changeColorToolStripMenuItem.Click += new System.EventHandler(this.changeColorToolStripMenuItem_Click);
//
// labelFullSkinPreview
//
resources.ApplyResources(this.labelFullSkinPreview, "labelFullSkinPreview");
this.labelFullSkinPreview.ForeColor = System.Drawing.Color.White;
this.labelFullSkinPreview.Name = "labelFullSkinPreview";
//
// label3
//
resources.ApplyResources(this.label3, "label3");
this.tableLayoutPanelMain.SetColumnSpan(this.label3, 2);
this.label3.ForeColor = System.Drawing.Color.White;
this.label3.Name = "label3";
//
// checkBoxArmor
//
resources.ApplyResources(this.checkBoxArmor, "checkBoxArmor");
this.checkBoxArmor.ForeColor = System.Drawing.Color.White;
this.checkBoxArmor.Name = "checkBoxArmor";
this.checkBoxArmor.UseVisualStyleBackColor = true;
this.checkBoxArmor.Click += new System.EventHandler(this.checkBoxArmor_Click);
//
// labelTheme
//
resources.ApplyResources(this.labelTheme, "labelTheme");
this.labelTheme.ForeColor = System.Drawing.Color.White;
this.labelTheme.Name = "labelTheme";
//
// listViewBGs
//
resources.ApplyResources(this.listViewBGs, "listViewBGs");
this.listViewBGs.HideSelection = false;
this.listViewBGs.Items.AddRange(new System.Windows.Forms.ListViewItem[] {
((System.Windows.Forms.ListViewItem)(resources.GetObject("listViewBGs.Items"))),
((System.Windows.Forms.ListViewItem)(resources.GetObject("listViewBGs.Items1"))),
((System.Windows.Forms.ListViewItem)(resources.GetObject("listViewBGs.Items2"))),
((System.Windows.Forms.ListViewItem)(resources.GetObject("listViewBGs.Items3"))),
((System.Windows.Forms.ListViewItem)(resources.GetObject("listViewBGs.Items4"))),
((System.Windows.Forms.ListViewItem)(resources.GetObject("listViewBGs.Items5"))),
((System.Windows.Forms.ListViewItem)(resources.GetObject("listViewBGs.Items6"))),
((System.Windows.Forms.ListViewItem)(resources.GetObject("listViewBGs.Items7")))});
this.listViewBGs.Name = "listViewBGs";
this.listViewBGs.UseCompatibleStateImageBehavior = false;
this.listViewBGs.SelectedIndexChanged += new System.EventHandler(this.listViewBGs_SelectedIndexChanged);
this.listViewBGs.Click += new System.EventHandler(this.listViewBGs_Click);
//
// tableLayoutPanelMain
//
resources.ApplyResources(this.tableLayoutPanelMain, "tableLayoutPanelMain");
this.tableLayoutPanelMain.Controls.Add(this.labelModeParts, 0, 0);
this.tableLayoutPanelMain.Controls.Add(this.minecraftModelView1, 1, 1);
this.tableLayoutPanelMain.Controls.Add(this.listViewBoxes, 0, 1);
this.tableLayoutPanelMain.Controls.Add(this.buttonExportModel, 3, 0);
this.tableLayoutPanelMain.Controls.Add(this.buttonImportModel, 2, 0);
this.tableLayoutPanelMain.Controls.Add(this.labelFullSkinPreview, 1, 0);
this.tableLayoutPanelMain.Controls.Add(this.labelTextureMappingPreview, 5, 0);
this.tableLayoutPanelMain.Controls.Add(this.texturePreview, 5, 1);
this.tableLayoutPanelMain.Controls.Add(this.buttonIMPORT, 5, 6);
this.tableLayoutPanelMain.Controls.Add(this.label7, 5, 7);
this.tableLayoutPanelMain.Controls.Add(this.buttonEXPORT, 8, 6);
this.tableLayoutPanelMain.Controls.Add(this.textTextureY, 6, 7);
this.tableLayoutPanelMain.Controls.Add(this.textTextureX, 8, 7);
this.tableLayoutPanelMain.Controls.Add(this.label3, 5, 8);
this.tableLayoutPanelMain.Controls.Add(this.buttonXfplus, 5, 9);
this.tableLayoutPanelMain.Controls.Add(this.textXf, 5, 10);
this.tableLayoutPanelMain.Controls.Add(this.buttonXfminus, 5, 11);
this.tableLayoutPanelMain.Controls.Add(this.label5, 5, 12);
this.tableLayoutPanelMain.Controls.Add(this.buttonXcplus, 5, 13);
this.tableLayoutPanelMain.Controls.Add(this.textXc, 5, 14);
this.tableLayoutPanelMain.Controls.Add(this.buttonXcminus, 5, 15);
this.tableLayoutPanelMain.Controls.Add(this.buttonYfplus, 7, 9);
this.tableLayoutPanelMain.Controls.Add(this.textYf, 7, 10);
this.tableLayoutPanelMain.Controls.Add(this.buttonYfminus, 7, 11);
this.tableLayoutPanelMain.Controls.Add(this.buttonYcplus, 7, 13);
this.tableLayoutPanelMain.Controls.Add(this.textYc, 7, 14);
this.tableLayoutPanelMain.Controls.Add(this.buttonYcminus, 7, 15);
this.tableLayoutPanelMain.Controls.Add(this.buttonZfplus, 9, 9);
this.tableLayoutPanelMain.Controls.Add(this.textZf, 9, 10);
this.tableLayoutPanelMain.Controls.Add(this.buttonZfminus, 9, 11);
this.tableLayoutPanelMain.Controls.Add(this.buttonZcplus, 9, 13);
this.tableLayoutPanelMain.Controls.Add(this.textZc, 9, 14);
this.tableLayoutPanelMain.Controls.Add(this.buttonZcminus, 9, 15);
this.tableLayoutPanelMain.Controls.Add(this.comboParent, 0, 18);
this.tableLayoutPanelMain.Controls.Add(this.label6, 0, 17);
this.tableLayoutPanelMain.Controls.Add(this.buttonTemplate, 0, 19);
this.tableLayoutPanelMain.Controls.Add(this.groupBox1, 5, 16);
this.tableLayoutPanelMain.Controls.Add(this.labelTheme, 0, 15);
this.tableLayoutPanelMain.Controls.Add(this.listViewBGs, 0, 16);
this.tableLayoutPanelMain.Controls.Add(this.button2, 1, 18);
this.tableLayoutPanelMain.Controls.Add(this.button1, 3, 18);
this.tableLayoutPanelMain.Controls.Add(this.labelView, 2, 18);
this.tableLayoutPanelMain.Controls.Add(this.checkGuide, 1, 19);
this.tableLayoutPanelMain.Controls.Add(this.checkTextureGenerate, 2, 19);
this.tableLayoutPanelMain.Controls.Add(this.checkBoxArmor, 3, 19);
this.tableLayoutPanelMain.Controls.Add(this.buttonDone, 8, 19);
this.tableLayoutPanelMain.Name = "tableLayoutPanelMain";
//
// texturePreview
//
this.texturePreview.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.tableLayoutPanelMain.SetColumnSpan(this.texturePreview, 6);
resources.ApplyResources(this.texturePreview, "texturePreview");
this.texturePreview.Name = "texturePreview";
this.tableLayoutPanelMain.SetRowSpan(this.texturePreview, 5);
this.texturePreview.TabStop = false;
//
// minecraftModelView1
//
this.minecraftModelView1.BackColor = System.Drawing.Color.Black;
this.minecraftModelView1.BackGradientColor1 = System.Drawing.SystemColors.ActiveCaptionText;
this.minecraftModelView1.BackGradientColor2 = System.Drawing.SystemColors.ActiveCaptionText;
this.minecraftModelView1.BackgroundType = MinecraftUSkinEditor.Models.BackgroundTypes.Color;
this.tableLayoutPanelMain.SetColumnSpan(this.minecraftModelView1, 3);
this.minecraftModelView1.DegreesX = 0;
this.minecraftModelView1.DegreesY = 0;
resources.ApplyResources(this.minecraftModelView1, "minecraftModelView1");
this.minecraftModelView1.ForeColor = System.Drawing.Color.Black;
this.minecraftModelView1.FOV = 70;
this.minecraftModelView1.Name = "minecraftModelView1";
this.minecraftModelView1.Projection = MinecraftUSkinEditor.Models.ProjectionTypes.Perspective;
this.tableLayoutPanelMain.SetRowSpan(this.minecraftModelView1, 17);
this.minecraftModelView1.ShowUsername = false;
this.minecraftModelView1.Username = "";
//
// myTablePanel2
//
resources.ApplyResources(this.myTablePanel2, "myTablePanel2");
this.myTablePanel2.Controls.Add(this.offsetArms, 1, 3);
this.myTablePanel2.Controls.Add(this.label14, 0, 3);
this.myTablePanel2.Controls.Add(this.offsetBody, 1, 1);
this.myTablePanel2.Controls.Add(this.offsetLegs, 1, 2);
this.myTablePanel2.Controls.Add(this.label10, 0, 0);
this.myTablePanel2.Controls.Add(this.label13, 0, 2);
this.myTablePanel2.Controls.Add(this.offsetHead, 1, 0);
this.myTablePanel2.Controls.Add(this.label12, 0, 1);
this.myTablePanel2.Name = "myTablePanel2";
//
// offsetArms
//
resources.ApplyResources(this.offsetArms, "offsetArms");
this.offsetArms.Name = "offsetArms";
this.offsetArms.TextChanged += new System.EventHandler(this.offsetHead_TextChanged);
//
// label14
//
resources.ApplyResources(this.label14, "label14");
this.label14.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(0)))), ((int)(((byte)(192)))));
this.label14.Name = "label14";
//
// offsetBody
//
resources.ApplyResources(this.offsetBody, "offsetBody");
this.offsetBody.Name = "offsetBody";
this.offsetBody.TextChanged += new System.EventHandler(this.offsetHead_TextChanged);
//
// offsetLegs
//
resources.ApplyResources(this.offsetLegs, "offsetLegs");
this.offsetLegs.Name = "offsetLegs";
this.offsetLegs.TextChanged += new System.EventHandler(this.offsetHead_TextChanged);
//
// label10
//
resources.ApplyResources(this.label10, "label10");
this.label10.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(192)))), ((int)(((byte)(0)))), ((int)(((byte)(0)))));
this.label10.Name = "label10";
//
// label13
//
resources.ApplyResources(this.label13, "label13");
this.label13.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(0)))), ((int)(((byte)(64)))));
this.label13.Name = "label13";
//
// offsetHead
//
resources.ApplyResources(this.offsetHead, "offsetHead");
this.offsetHead.Name = "offsetHead";
this.offsetHead.TextChanged += new System.EventHandler(this.offsetHead_TextChanged);
//
// label12
//
resources.ApplyResources(this.label12, "label12");
this.label12.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(64)))), ((int)(((byte)(0)))));
this.label12.Name = "label12";
//
// myTablePanel1
//
resources.ApplyResources(this.myTablePanel1, "myTablePanel1");
this.myTablePanel1.Controls.Add(this.offsetBoots, 1, 3);
this.myTablePanel1.Controls.Add(this.offsetPants, 1, 2);
this.myTablePanel1.Controls.Add(this.offsetTool, 1, 1);
this.myTablePanel1.Controls.Add(this.label4, 0, 1);
this.myTablePanel1.Controls.Add(this.label9, 0, 0);
this.myTablePanel1.Controls.Add(this.offsetHelmet, 1, 0);
this.myTablePanel1.Controls.Add(this.label15, 0, 3);
this.myTablePanel1.Controls.Add(this.label16, 0, 2);
this.myTablePanel1.Name = "myTablePanel1";
//
// offsetBoots
//
resources.ApplyResources(this.offsetBoots, "offsetBoots");
this.offsetBoots.Name = "offsetBoots";
this.offsetBoots.TextChanged += new System.EventHandler(this.offsetBoots_TextChanged);
//
// offsetPants
//
resources.ApplyResources(this.offsetPants, "offsetPants");
this.offsetPants.Name = "offsetPants";
this.offsetPants.TextChanged += new System.EventHandler(this.offsetPants_TextChanged);
//
// offsetTool
//
resources.ApplyResources(this.offsetTool, "offsetTool");
this.offsetTool.Name = "offsetTool";
this.offsetTool.TextChanged += new System.EventHandler(this.offsetTool_TextChanged);
//
// label4
//
resources.ApplyResources(this.label4, "label4");
this.label4.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(128)))), ((int)(((byte)(64)))), ((int)(((byte)(0)))));
this.label4.Name = "label4";
//
// label9
//
resources.ApplyResources(this.label9, "label9");
this.label9.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(192)))), ((int)(((byte)(0)))), ((int)(((byte)(0)))));
this.label9.Name = "label9";
//
// offsetHelmet
//
resources.ApplyResources(this.offsetHelmet, "offsetHelmet");
this.offsetHelmet.Name = "offsetHelmet";
this.offsetHelmet.TextChanged += new System.EventHandler(this.offsetHelmet_TextChanged);
//
// label15
//
resources.ApplyResources(this.label15, "label15");
this.label15.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(0)))), ((int)(((byte)(192)))));
this.label15.Name = "label15";
//
// label16
//
resources.ApplyResources(this.label16, "label16");
this.label16.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(64)))), ((int)(((byte)(0)))));
this.label16.Name = "label16";
//
// displayBox
//
this.displayBox.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.displayBox.Image = global::PckStudio.Properties.Resources.bg2;
resources.ApplyResources(this.displayBox, "displayBox");
this.displayBox.Name = "displayBox";
this.displayBox.TabStop = false;
//
// generateModel
//
resources.ApplyResources(this, "$this");
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.Controls.Add(this.tableLayoutPanelMain);
this.Controls.Add(this.displayBox);
this.MaximizeBox = false;
this.Name = "generateModel";
this.Style = MetroFramework.MetroColorStyle.Silver;
this.Theme = MetroFramework.MetroThemeStyle.Dark;
this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.generateModel_FormClosing);
this.Load += new System.EventHandler(this.generateModel_Load);
this.ResizeBegin += new System.EventHandler(this.generateModel_ResizeBegin);
this.ResizeEnd += new System.EventHandler(this.generateModel_ResizeEnd);
this.SizeChanged += new System.EventHandler(this.generateModel_SizeChanged);
this.groupBox1.ResumeLayout(false);
this.tabBody.ResumeLayout(false);
this.tabPage1.ResumeLayout(false);
this.tabArmor.ResumeLayout(false);
this.contextMenuStrip1.ResumeLayout(false);
this.tableLayoutPanelMain.ResumeLayout(false);
this.tableLayoutPanelMain.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.texturePreview)).EndInit();
this.myTablePanel2.ResumeLayout(false);
this.myTablePanel2.PerformLayout();
this.myTablePanel1.ResumeLayout(false);
this.myTablePanel1.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.displayBox)).EndInit();
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.Button buttonImportModel;
private System.Windows.Forms.Button buttonExportModel;
private System.Windows.Forms.CheckBox checkTextureGenerate;
private System.Windows.Forms.CheckBox checkGuide;
private System.Windows.Forms.Label labelView;
private System.Windows.Forms.Button button2;
private System.Windows.Forms.Button button1;
private System.Windows.Forms.Label label7;
private System.Windows.Forms.TextBox textTextureY;
private System.Windows.Forms.TextBox textTextureX;
private System.Windows.Forms.Button buttonIMPORT;
private System.Windows.Forms.Label label5;
private System.Windows.Forms.Button buttonZcplus;
private System.Windows.Forms.Button buttonXcminus;
private System.Windows.Forms.Button buttonYcminus;
private System.Windows.Forms.Button buttonZcminus;
private System.Windows.Forms.Button buttonYcplus;
private System.Windows.Forms.Button buttonXcplus;
private System.Windows.Forms.Button buttonZfplus;
private System.Windows.Forms.Button buttonXfminus;
private System.Windows.Forms.Button buttonYfminus;
private System.Windows.Forms.Button buttonZfminus;
private System.Windows.Forms.Button buttonYfplus;
private System.Windows.Forms.Button buttonXfplus;
private System.Windows.Forms.Button buttonEXPORT;
private System.Windows.Forms.Label labelTextureMappingPreview;
private System.Windows.Forms.PictureBox texturePreview;
private System.Windows.Forms.Button buttonDone;
private System.Windows.Forms.TextBox textYc;
private System.Windows.Forms.TextBox textZc;
private System.Windows.Forms.TextBox textXf;
private System.Windows.Forms.TextBox textYf;
private System.Windows.Forms.TextBox textZf;
private System.Windows.Forms.TextBox textXc;
private System.Windows.Forms.Button buttonTemplate;
private System.Windows.Forms.GroupBox groupBox1;
private System.Windows.Forms.TextBox offsetBody;
private System.Windows.Forms.Label label14;
private System.Windows.Forms.TextBox offsetLegs;
private System.Windows.Forms.Label label13;
private System.Windows.Forms.TextBox offsetArms;
private System.Windows.Forms.Label label12;
private System.Windows.Forms.TextBox offsetHead;
private System.Windows.Forms.Label label10;
private System.Windows.Forms.Label label6;
private System.Windows.Forms.ComboBox comboParent;
private System.Windows.Forms.Label labelModeParts;
private System.Windows.Forms.ListView listViewBoxes;
private System.Windows.Forms.Label labelFullSkinPreview;
private System.Windows.Forms.Label label3;
private System.Windows.Forms.ContextMenuStrip contextMenuStrip1;
private System.Windows.Forms.ToolStripMenuItem createToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem cloneToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem deleteToolStripMenuItem;
private System.Windows.Forms.TabControl tabBody;
private System.Windows.Forms.TabPage tabPage1;
private System.Windows.Forms.TabPage tabArmor;
private System.Windows.Forms.CheckBox checkBoxArmor;
private System.Windows.Forms.ToolStripMenuItem changeColorToolStripMenuItem;
private System.Windows.Forms.TextBox offsetPants;
private System.Windows.Forms.Label label9;
private System.Windows.Forms.Label label15;
private System.Windows.Forms.TextBox offsetHelmet;
private System.Windows.Forms.Label label16;
private System.Windows.Forms.TextBox offsetBoots;
private System.Windows.Forms.Label label4;
private System.Windows.Forms.TextBox offsetTool;
private System.Windows.Forms.Label labelTheme;
private System.Windows.Forms.ListView listViewBGs;
private System.Windows.Forms.TableLayoutPanel tableLayoutPanelMain;
private Forms.MyTablePanel myTablePanel2;
private Forms.MyTablePanel myTablePanel1;
private MinecraftUSkinEditor.Models.MinecraftModelView minecraftModelView1;
private System.Windows.Forms.PictureBox displayBox;
}
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,74 @@

namespace PckStudio.Forms
{
partial class Testx_12
{
/// <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();
this.minecraftModelView1 = new MinecraftUSkinEditor.Models.MinecraftModelView(this.components);
this.SuspendLayout();
//
// minecraftModelView1
//
this.minecraftModelView1.BackColor = System.Drawing.Color.Black;
this.minecraftModelView1.BackGradientColor1 = System.Drawing.SystemColors.ActiveCaptionText;
this.minecraftModelView1.BackGradientColor2 = System.Drawing.SystemColors.ActiveCaptionText;
this.minecraftModelView1.BackgroundType = MinecraftUSkinEditor.Models.BackgroundTypes.Color;
this.minecraftModelView1.DegreesX = 0;
this.minecraftModelView1.DegreesY = 0;
this.minecraftModelView1.Dock = System.Windows.Forms.DockStyle.Fill;
this.minecraftModelView1.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.minecraftModelView1.ForeColor = System.Drawing.Color.Black;
this.minecraftModelView1.FOV = 70;
this.minecraftModelView1.Location = new System.Drawing.Point(0, 0);
this.minecraftModelView1.Name = "minecraftModelView1";
this.minecraftModelView1.Projection = MinecraftUSkinEditor.Models.ProjectionTypes.Perspective;
this.minecraftModelView1.ShowUsername = false;
this.minecraftModelView1.Size = new System.Drawing.Size(323, 375);
this.minecraftModelView1.TabIndex = 0;
this.minecraftModelView1.Text = "minecraftModelView1";
this.minecraftModelView1.Username = "";
//
// Testx_12
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(323, 375);
this.Controls.Add(this.minecraftModelView1);
this.Name = "Testx_12";
this.Text = "Skin Preview";
this.Load += new System.EventHandler(this.Testx_12_Load);
this.ResumeLayout(false);
}
#endregion
private MinecraftUSkinEditor.Models.MinecraftModelView minecraftModelView1;
}
}

View File

@@ -0,0 +1,46 @@
using System;
using System.IO;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using MinecraftUSkinEditor.Models;
namespace PckStudio.Forms
{
public partial class Testx_12 : Form
{
public Testx_12()
{
InitializeComponent();
foreach (ModelBase modelBase in this.models)
{
modelBase.Updated += this.model_Updated;
}
}
private void model_Updated(object sender, EventArgs e)
{
this.minecraftModelView1.Model = (sender as ModelBase);
}
private void Testx_12_Load(object sender, EventArgs e)
{
PckStudio.Classes.CSM.TryParse(File.ReadAllText(Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + "\\export.CSM"), minecraftModelView1);
//ModelBase modelBase = models[0];
//this.minecraftModelView1.Model = modelBase;
//this.minecraftModelView1.Invalidate();
}
private ModelBase[] models = new ModelBase[]
{
new CharacterModel()
};
}
}

View File

@@ -0,0 +1,120 @@
<?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>
</root>

View File

@@ -0,0 +1,363 @@

namespace PckStudio.Forms.Utilities
{
partial class COLEditor
{
/// <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(COLEditor));
this.metroPanel1 = new MetroFramework.Controls.MetroPanel();
this.numericUpDown3 = new System.Windows.Forms.NumericUpDown();
this.numericUpDown2 = new System.Windows.Forms.NumericUpDown();
this.numericUpDown1 = new System.Windows.Forms.NumericUpDown();
this.metroLabel5 = new MetroFramework.Controls.MetroLabel();
this.metroLabel4 = new MetroFramework.Controls.MetroLabel();
this.metroLabel3 = new MetroFramework.Controls.MetroLabel();
this.metroCheckBox1 = new MetroFramework.Controls.MetroCheckBox();
this.metroTextBox2 = new MetroFramework.Controls.MetroTextBox();
this.metroLabel2 = new MetroFramework.Controls.MetroLabel();
this.metroTextBox1 = new MetroFramework.Controls.MetroTextBox();
this.metroLabel1 = new MetroFramework.Controls.MetroLabel();
this.pictureBox1 = new System.Windows.Forms.PictureBox();
this.menuStrip = new System.Windows.Forms.MenuStrip();
this.fileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.saveToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
this.metroPanel2 = new MetroFramework.Controls.MetroPanel();
this.treeView1 = new System.Windows.Forms.TreeView();
this.metroPanel1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.numericUpDown3)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.numericUpDown2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.numericUpDown1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
this.menuStrip.SuspendLayout();
this.metroPanel2.SuspendLayout();
this.SuspendLayout();
//
// metroPanel1
//
resources.ApplyResources(this.metroPanel1, "metroPanel1");
this.metroPanel1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.metroPanel1.Controls.Add(this.numericUpDown3);
this.metroPanel1.Controls.Add(this.numericUpDown2);
this.metroPanel1.Controls.Add(this.numericUpDown1);
this.metroPanel1.Controls.Add(this.metroLabel5);
this.metroPanel1.Controls.Add(this.metroLabel4);
this.metroPanel1.Controls.Add(this.metroLabel3);
this.metroPanel1.Controls.Add(this.metroCheckBox1);
this.metroPanel1.Controls.Add(this.metroTextBox2);
this.metroPanel1.Controls.Add(this.metroLabel2);
this.metroPanel1.Controls.Add(this.metroTextBox1);
this.metroPanel1.Controls.Add(this.metroLabel1);
this.metroPanel1.Controls.Add(this.pictureBox1);
this.metroPanel1.HorizontalScrollbarBarColor = true;
this.metroPanel1.HorizontalScrollbarHighlightOnWheel = false;
this.metroPanel1.HorizontalScrollbarSize = 10;
this.metroPanel1.Name = "metroPanel1";
this.metroPanel1.Style = MetroFramework.MetroColorStyle.Silver;
this.metroPanel1.Theme = MetroFramework.MetroThemeStyle.Dark;
this.metroPanel1.VerticalScrollbarBarColor = true;
this.metroPanel1.VerticalScrollbarHighlightOnWheel = false;
this.metroPanel1.VerticalScrollbarSize = 10;
//
// numericUpDown3
//
resources.ApplyResources(this.numericUpDown3, "numericUpDown3");
this.numericUpDown3.Maximum = new decimal(new int[] {
255,
0,
0,
0});
this.numericUpDown3.Name = "numericUpDown3";
this.numericUpDown3.Value = new decimal(new int[] {
13,
0,
0,
0});
this.numericUpDown3.ValueChanged += new System.EventHandler(this.numericUpDown3_ValueChanged);
//
// numericUpDown2
//
resources.ApplyResources(this.numericUpDown2, "numericUpDown2");
this.numericUpDown2.Maximum = new decimal(new int[] {
255,
0,
0,
0});
this.numericUpDown2.Name = "numericUpDown2";
this.numericUpDown2.Value = new decimal(new int[] {
75,
0,
0,
0});
this.numericUpDown2.ValueChanged += new System.EventHandler(this.numericUpDown2_ValueChanged);
//
// numericUpDown1
//
resources.ApplyResources(this.numericUpDown1, "numericUpDown1");
this.numericUpDown1.Maximum = new decimal(new int[] {
255,
0,
0,
0});
this.numericUpDown1.Name = "numericUpDown1";
this.numericUpDown1.Value = new decimal(new int[] {
252,
0,
0,
0});
this.numericUpDown1.ValueChanged += new System.EventHandler(this.numericUpDown1_ValueChanged);
//
// 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;
//
// metroCheckBox1
//
resources.ApplyResources(this.metroCheckBox1, "metroCheckBox1");
this.metroCheckBox1.Name = "metroCheckBox1";
this.metroCheckBox1.Style = MetroFramework.MetroColorStyle.Silver;
this.metroCheckBox1.Theme = MetroFramework.MetroThemeStyle.Dark;
this.metroCheckBox1.UseSelectable = true;
this.metroCheckBox1.CheckedChanged += new System.EventHandler(this.metroCheckBox1_CheckedChanged);
//
// metroTextBox2
//
resources.ApplyResources(this.metroTextBox2, "metroTextBox2");
//
//
//
this.metroTextBox2.CustomButton.AccessibleDescription = resources.GetString("resource.AccessibleDescription");
this.metroTextBox2.CustomButton.AccessibleName = resources.GetString("resource.AccessibleName");
this.metroTextBox2.CustomButton.Anchor = ((System.Windows.Forms.AnchorStyles)(resources.GetObject("resource.Anchor")));
this.metroTextBox2.CustomButton.AutoSize = ((bool)(resources.GetObject("resource.AutoSize")));
this.metroTextBox2.CustomButton.AutoSizeMode = ((System.Windows.Forms.AutoSizeMode)(resources.GetObject("resource.AutoSizeMode")));
this.metroTextBox2.CustomButton.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("resource.BackgroundImage")));
this.metroTextBox2.CustomButton.BackgroundImageLayout = ((System.Windows.Forms.ImageLayout)(resources.GetObject("resource.BackgroundImageLayout")));
this.metroTextBox2.CustomButton.Dock = ((System.Windows.Forms.DockStyle)(resources.GetObject("resource.Dock")));
this.metroTextBox2.CustomButton.FlatStyle = ((System.Windows.Forms.FlatStyle)(resources.GetObject("resource.FlatStyle")));
this.metroTextBox2.CustomButton.Font = ((System.Drawing.Font)(resources.GetObject("resource.Font")));
this.metroTextBox2.CustomButton.Image = ((System.Drawing.Image)(resources.GetObject("resource.Image")));
this.metroTextBox2.CustomButton.ImageAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("resource.ImageAlign")));
this.metroTextBox2.CustomButton.ImageIndex = ((int)(resources.GetObject("resource.ImageIndex")));
this.metroTextBox2.CustomButton.ImageKey = resources.GetString("resource.ImageKey");
this.metroTextBox2.CustomButton.ImeMode = ((System.Windows.Forms.ImeMode)(resources.GetObject("resource.ImeMode")));
this.metroTextBox2.CustomButton.Location = ((System.Drawing.Point)(resources.GetObject("resource.Location")));
this.metroTextBox2.CustomButton.MaximumSize = ((System.Drawing.Size)(resources.GetObject("resource.MaximumSize")));
this.metroTextBox2.CustomButton.Name = "";
this.metroTextBox2.CustomButton.RightToLeft = ((System.Windows.Forms.RightToLeft)(resources.GetObject("resource.RightToLeft")));
this.metroTextBox2.CustomButton.Size = ((System.Drawing.Size)(resources.GetObject("resource.Size")));
this.metroTextBox2.CustomButton.Style = MetroFramework.MetroColorStyle.Blue;
this.metroTextBox2.CustomButton.TabIndex = ((int)(resources.GetObject("resource.TabIndex")));
this.metroTextBox2.CustomButton.TextAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("resource.TextAlign")));
this.metroTextBox2.CustomButton.TextImageRelation = ((System.Windows.Forms.TextImageRelation)(resources.GetObject("resource.TextImageRelation")));
this.metroTextBox2.CustomButton.Theme = MetroFramework.MetroThemeStyle.Light;
this.metroTextBox2.CustomButton.UseSelectable = true;
this.metroTextBox2.CustomButton.Visible = ((bool)(resources.GetObject("resource.Visible")));
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);
//
// metroLabel2
//
resources.ApplyResources(this.metroLabel2, "metroLabel2");
this.metroLabel2.Name = "metroLabel2";
this.metroLabel2.Theme = MetroFramework.MetroThemeStyle.Dark;
//
// metroTextBox1
//
resources.ApplyResources(this.metroTextBox1, "metroTextBox1");
//
//
//
this.metroTextBox1.CustomButton.AccessibleDescription = resources.GetString("resource.AccessibleDescription1");
this.metroTextBox1.CustomButton.AccessibleName = resources.GetString("resource.AccessibleName1");
this.metroTextBox1.CustomButton.Anchor = ((System.Windows.Forms.AnchorStyles)(resources.GetObject("resource.Anchor1")));
this.metroTextBox1.CustomButton.AutoSize = ((bool)(resources.GetObject("resource.AutoSize1")));
this.metroTextBox1.CustomButton.AutoSizeMode = ((System.Windows.Forms.AutoSizeMode)(resources.GetObject("resource.AutoSizeMode1")));
this.metroTextBox1.CustomButton.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("resource.BackgroundImage1")));
this.metroTextBox1.CustomButton.BackgroundImageLayout = ((System.Windows.Forms.ImageLayout)(resources.GetObject("resource.BackgroundImageLayout1")));
this.metroTextBox1.CustomButton.Dock = ((System.Windows.Forms.DockStyle)(resources.GetObject("resource.Dock1")));
this.metroTextBox1.CustomButton.FlatStyle = ((System.Windows.Forms.FlatStyle)(resources.GetObject("resource.FlatStyle1")));
this.metroTextBox1.CustomButton.Font = ((System.Drawing.Font)(resources.GetObject("resource.Font1")));
this.metroTextBox1.CustomButton.Image = ((System.Drawing.Image)(resources.GetObject("resource.Image1")));
this.metroTextBox1.CustomButton.ImageAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("resource.ImageAlign1")));
this.metroTextBox1.CustomButton.ImageIndex = ((int)(resources.GetObject("resource.ImageIndex1")));
this.metroTextBox1.CustomButton.ImageKey = resources.GetString("resource.ImageKey1");
this.metroTextBox1.CustomButton.ImeMode = ((System.Windows.Forms.ImeMode)(resources.GetObject("resource.ImeMode1")));
this.metroTextBox1.CustomButton.Location = ((System.Drawing.Point)(resources.GetObject("resource.Location1")));
this.metroTextBox1.CustomButton.MaximumSize = ((System.Drawing.Size)(resources.GetObject("resource.MaximumSize1")));
this.metroTextBox1.CustomButton.Name = "";
this.metroTextBox1.CustomButton.RightToLeft = ((System.Windows.Forms.RightToLeft)(resources.GetObject("resource.RightToLeft1")));
this.metroTextBox1.CustomButton.Size = ((System.Drawing.Size)(resources.GetObject("resource.Size1")));
this.metroTextBox1.CustomButton.Style = MetroFramework.MetroColorStyle.Blue;
this.metroTextBox1.CustomButton.TabIndex = ((int)(resources.GetObject("resource.TabIndex1")));
this.metroTextBox1.CustomButton.TextAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("resource.TextAlign1")));
this.metroTextBox1.CustomButton.TextImageRelation = ((System.Windows.Forms.TextImageRelation)(resources.GetObject("resource.TextImageRelation1")));
this.metroTextBox1.CustomButton.Theme = MetroFramework.MetroThemeStyle.Light;
this.metroTextBox1.CustomButton.UseSelectable = true;
this.metroTextBox1.CustomButton.Visible = ((bool)(resources.GetObject("resource.Visible1")));
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);
this.metroTextBox1.TextChanged += new System.EventHandler(this.metroTextBox1_TextChanged);
//
// metroLabel1
//
resources.ApplyResources(this.metroLabel1, "metroLabel1");
this.metroLabel1.Name = "metroLabel1";
this.metroLabel1.Theme = MetroFramework.MetroThemeStyle.Dark;
//
// pictureBox1
//
resources.ApplyResources(this.pictureBox1, "pictureBox1");
this.pictureBox1.BackColor = System.Drawing.Color.Gray;
this.pictureBox1.Name = "pictureBox1";
this.pictureBox1.TabStop = false;
//
// menuStrip
//
resources.ApplyResources(this.menuStrip, "menuStrip");
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.fileToolStripMenuItem});
this.menuStrip.Name = "menuStrip";
//
// fileToolStripMenuItem
//
resources.ApplyResources(this.fileToolStripMenuItem, "fileToolStripMenuItem");
this.fileToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.saveToolStripMenuItem1});
this.fileToolStripMenuItem.ForeColor = System.Drawing.Color.White;
this.fileToolStripMenuItem.Name = "fileToolStripMenuItem";
//
// saveToolStripMenuItem1
//
resources.ApplyResources(this.saveToolStripMenuItem1, "saveToolStripMenuItem1");
this.saveToolStripMenuItem1.Name = "saveToolStripMenuItem1";
this.saveToolStripMenuItem1.Click += new System.EventHandler(this.saveToolStripMenuItem1_Click);
//
// metroPanel2
//
resources.ApplyResources(this.metroPanel2, "metroPanel2");
this.metroPanel2.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.metroPanel2.Controls.Add(this.treeView1);
this.metroPanel2.HorizontalScrollbarBarColor = true;
this.metroPanel2.HorizontalScrollbarHighlightOnWheel = false;
this.metroPanel2.HorizontalScrollbarSize = 10;
this.metroPanel2.Name = "metroPanel2";
this.metroPanel2.VerticalScrollbarBarColor = true;
this.metroPanel2.VerticalScrollbarHighlightOnWheel = false;
this.metroPanel2.VerticalScrollbarSize = 10;
//
// treeView1
//
resources.ApplyResources(this.treeView1, "treeView1");
this.treeView1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
this.treeView1.ForeColor = System.Drawing.Color.White;
this.treeView1.LabelEdit = true;
this.treeView1.Name = "treeView1";
this.treeView1.AfterSelect += new System.Windows.Forms.TreeViewEventHandler(this.treeView1_AfterSelect);
//
// COLEditor
//
resources.ApplyResources(this, "$this");
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.Controls.Add(this.metroPanel2);
this.Controls.Add(this.menuStrip);
this.Controls.Add(this.metroPanel1);
this.Name = "COLEditor";
this.Style = MetroFramework.MetroColorStyle.Silver;
this.Theme = MetroFramework.MetroThemeStyle.Dark;
this.metroPanel1.ResumeLayout(false);
this.metroPanel1.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.numericUpDown3)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.numericUpDown2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.numericUpDown1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();
this.menuStrip.ResumeLayout(false);
this.menuStrip.PerformLayout();
this.metroPanel2.ResumeLayout(false);
this.ResumeLayout(false);
}
#endregion
private MetroFramework.Controls.MetroPanel metroPanel1;
private MetroFramework.Controls.MetroTextBox metroTextBox1;
private MetroFramework.Controls.MetroLabel metroLabel1;
private System.Windows.Forms.PictureBox pictureBox1;
private System.Windows.Forms.MenuStrip menuStrip;
private System.Windows.Forms.ToolStripMenuItem fileToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem saveToolStripMenuItem1;
private MetroFramework.Controls.MetroPanel metroPanel2;
private System.Windows.Forms.TreeView treeView1;
private MetroFramework.Controls.MetroTextBox metroTextBox2;
private MetroFramework.Controls.MetroLabel metroLabel2;
private System.Windows.Forms.NumericUpDown numericUpDown3;
private System.Windows.Forms.NumericUpDown numericUpDown2;
private System.Windows.Forms.NumericUpDown numericUpDown1;
private MetroFramework.Controls.MetroLabel metroLabel5;
private MetroFramework.Controls.MetroLabel metroLabel4;
private MetroFramework.Controls.MetroLabel metroLabel3;
private MetroFramework.Controls.MetroCheckBox metroCheckBox1;
}
}

View File

@@ -0,0 +1,181 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using MetroFramework.Forms;
using MinecraftUSkinEditor;
namespace PckStudio.Forms.Utilities
{
public partial class COLEditor : MetroForm
{
Classes.COL.COLFile cf = new Classes.COL.COLFile();
PCK.MineFile mf;
public COLEditor(byte[] data, PCK.MineFile MineFile)
{
InitializeComponent();
cf.Open(data);
mf = MineFile;
foreach (object[] obj in cf.entries)
{
TreeNode tn = new TreeNode();
tn.Text = obj[0].ToString();
tn.Tag = obj[1].ToString();
treeView1.Nodes.Add(tn);
}
}
private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
{
metroTextBox2.Text = treeView1.SelectedNode.Text;
if (treeView1.SelectedNode.Tag != null)
{
pictureBox1.BackColor = Color.FromArgb(StringToByteArrayFastest(treeView1.SelectedNode.Tag.ToString())[0], StringToByteArrayFastest(treeView1.SelectedNode.Tag.ToString())[1], StringToByteArrayFastest(treeView1.SelectedNode.Tag.ToString())[2]);
metroTextBox1.Text = treeView1.SelectedNode.Tag.ToString();
numericUpDown1.Value = StringToByteArrayFastest(treeView1.SelectedNode.Tag.ToString())[0];
numericUpDown2.Value = StringToByteArrayFastest(treeView1.SelectedNode.Tag.ToString())[1];
numericUpDown3.Value = StringToByteArrayFastest(treeView1.SelectedNode.Tag.ToString())[2];
}
}
private void saveToolStripMenuItem1_Click(object sender, EventArgs e)
{
cf.entries.Clear();
foreach(TreeNode tn in treeView1.Nodes)
{
cf.entries.Add(new object[] {tn.Text, tn.Tag.ToString() });
}
mf.data = cf.Save();
}
static byte[] StringToByteArrayFastest(string hex)
{
if (hex.Length % 2 == 1)
throw new Exception("The binary key cannot have an odd number of digits");
byte[] arr = new byte[hex.Length >> 1];
for (int i = 0; i < hex.Length >> 1; ++i)
{
arr[i] = (byte)((GetHexVal(hex[i << 1]) << 4) + (GetHexVal(hex[(i << 1) + 1])));
}
return arr;
}
static int GetHexVal(char hex)
{
int val = (int)hex;
//For uppercase A-F letters:
//return val - (val < 58 ? 48 : 55);
//For lowercase a-f letters:
//return val - (val < 58 ? 48 : 87);
//Or the two combined, but a bit slower:
return val - (val < 58 ? 48 : (val < 97 ? 55 : 87));
}
private void metroTextBox1_TextChanged(object sender, EventArgs e)
{
switch (metroTextBox1.Text.Length)
{
case (0):
treeView1.SelectedNode.Tag = "000000";
break;
case (1):
treeView1.SelectedNode.Tag = "00000" + metroTextBox1.Text;
break;
case (2):
treeView1.SelectedNode.Tag = "0000" + metroTextBox1.Text;
break;
case (3):
treeView1.SelectedNode.Tag = "000" + metroTextBox1.Text;
break;
case (4):
treeView1.SelectedNode.Tag = "00" + metroTextBox1.Text;
break;
case (5):
treeView1.SelectedNode.Tag = "0" + metroTextBox1.Text;
break;
case (6):
treeView1.SelectedNode.Tag = metroTextBox1.Text;
break;
case (>6):
treeView1.SelectedNode.Tag = metroTextBox1.Text.Substring(0, 6);
break;
}
if (treeView1.SelectedNode.Tag != null)
{
pictureBox1.BackColor = Color.FromArgb(StringToByteArrayFastest(treeView1.SelectedNode.Tag.ToString())[0], StringToByteArrayFastest(treeView1.SelectedNode.Tag.ToString())[1], StringToByteArrayFastest(treeView1.SelectedNode.Tag.ToString())[2]);
metroTextBox1.Text = treeView1.SelectedNode.Tag.ToString();
}
}
private void metroCheckBox1_CheckedChanged(object sender, EventArgs e)
{
if(metroCheckBox1.Checked)
{
numericUpDown1.Enabled = true;
numericUpDown2.Enabled = true;
numericUpDown3.Enabled = true;
metroTextBox1.Enabled = false;
}
else
{
numericUpDown1.Enabled = false;
numericUpDown2.Enabled = false;
numericUpDown3.Enabled = false;
metroTextBox1.Enabled = true;
}
}
private void numericUpDown3_ValueChanged(object sender, EventArgs e)
{
List<byte> bytes = new List<byte>();
bytes.AddRange(BitConverter.GetBytes(int.Parse(numericUpDown1.Value.ToString())));
bytes.AddRange(BitConverter.GetBytes(int.Parse(numericUpDown2.Value.ToString())));
bytes.AddRange(BitConverter.GetBytes(int.Parse(numericUpDown3.Value.ToString())));
treeView1.SelectedNode.Tag = BitConverter.ToString(new byte[] { bytes[0], bytes[4], bytes[8] }).Replace("-","");
if (treeView1.SelectedNode.Tag != null)
{
pictureBox1.BackColor = Color.FromArgb(StringToByteArrayFastest(treeView1.SelectedNode.Tag.ToString())[0], StringToByteArrayFastest(treeView1.SelectedNode.Tag.ToString())[1], StringToByteArrayFastest(treeView1.SelectedNode.Tag.ToString())[2]);
metroTextBox1.Text = treeView1.SelectedNode.Tag.ToString();
}
}
private void numericUpDown2_ValueChanged(object sender, EventArgs e)
{
List<byte> bytes = new List<byte>();
bytes.AddRange(BitConverter.GetBytes(int.Parse(numericUpDown1.Value.ToString())));
bytes.AddRange(BitConverter.GetBytes(int.Parse(numericUpDown2.Value.ToString())));
bytes.AddRange(BitConverter.GetBytes(int.Parse(numericUpDown3.Value.ToString())));
treeView1.SelectedNode.Tag = BitConverter.ToString(new byte[] { bytes[0], bytes[4], bytes[8] }).Replace("-", "");
if (treeView1.SelectedNode.Tag != null)
{
pictureBox1.BackColor = Color.FromArgb(StringToByteArrayFastest(treeView1.SelectedNode.Tag.ToString())[0], StringToByteArrayFastest(treeView1.SelectedNode.Tag.ToString())[1], StringToByteArrayFastest(treeView1.SelectedNode.Tag.ToString())[2]);
metroTextBox1.Text = treeView1.SelectedNode.Tag.ToString();
}
}
private void numericUpDown1_ValueChanged(object sender, EventArgs e)
{
List<byte> bytes = new List<byte>();
bytes.AddRange(BitConverter.GetBytes(int.Parse(numericUpDown1.Value.ToString())));
bytes.AddRange(BitConverter.GetBytes(int.Parse(numericUpDown2.Value.ToString())));
bytes.AddRange(BitConverter.GetBytes(int.Parse(numericUpDown3.Value.ToString())));
treeView1.SelectedNode.Tag = BitConverter.ToString(new byte[] { bytes[0], bytes[4], bytes[8] }).Replace("-", "");
if (treeView1.SelectedNode.Tag != null)
{
pictureBox1.BackColor = Color.FromArgb(StringToByteArrayFastest(treeView1.SelectedNode.Tag.ToString())[0], StringToByteArrayFastest(treeView1.SelectedNode.Tag.ToString())[1], StringToByteArrayFastest(treeView1.SelectedNode.Tag.ToString())[2]);
metroTextBox1.Text = treeView1.SelectedNode.Tag.ToString();
}
}
}
}

View File

@@ -0,0 +1,171 @@
<?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.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="metroCheckBox1.Size" type="System.Drawing.Size, System.Drawing">
<value>115, 15</value>
</data>
<data name="metroCheckBox1.Text" xml:space="preserve">
<value>RGB値を使用する</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>
<data name="metroLabel2.Size" type="System.Drawing.Size, System.Drawing">
<value>51, 19</value>
</data>
<data name="metroLabel2.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="metroLabel1.Size" type="System.Drawing.Size, System.Drawing">
<value>37, 19</value>
</data>
<data name="metroLabel1.Text" xml:space="preserve">
<value>色:</value>
</data>
<data name="saveToolStripMenuItem1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
wwAADsMBx2+oZAAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4yMfEgaZUAAADfSURBVDhPYxg8
QLt++3yTGbf/Fm599P/Nh49wfPXxq/+rTt37f+Dak/8gOSBgAGEMANIMxGBFyAasPf/0v8GE8//z1t8C
y4HU4DIALIluwLpLL+HiMANAGKoNAWASCavv/n/57gPcgOvP3oENOXj7NViOoAFGU6791+k4ghWD5Aga
QCyGakMAkODcU89R/I8Ng9TgNADk14dPn/8/c+kqVgySgwUqVBsCwAx49urN/zsPHmPFIDmaGvAXJInN
38gYasBfqDYE0K7dOn/Wvut/sfkdGYPUgJI9VNuAAwYGAGn6yvdevWgPAAAAAElFTkSuQmCC
</value>
</data>
<data name="saveToolStripMenuItem1.Size" type="System.Drawing.Size, System.Drawing">
<value>180, 22</value>
</data>
<data name="saveToolStripMenuItem1.Text" xml:space="preserve">
<value>セーブ</value>
</data>
<data name="fileToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>56, 20</value>
</data>
<data name="fileToolStripMenuItem.Text" xml:space="preserve">
<value>ファイル</value>
</data>
<data name="$this.Text" xml:space="preserve">
<value>COLエディター</value>
</data>
</root>

View File

@@ -0,0 +1,718 @@
<?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="&gt;&gt;metroLabel1.Name" xml:space="preserve">
<value>metroLabel1</value>
</data>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="resource.BackgroundImageLayout1" type="System.Windows.Forms.ImageLayout, System.Windows.Forms">
<value>Tile</value>
</data>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="metroTextBox2.Size" type="System.Drawing.Size, System.Drawing">
<value>127, 23</value>
</data>
<data name="pictureBox1.Size" type="System.Drawing.Size, System.Drawing">
<value>173, 163</value>
</data>
<data name="resource.Dock1" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>None</value>
</data>
<data name="&gt;&gt;metroLabel4.Parent" xml:space="preserve">
<value>metroPanel1</value>
</data>
<data name="&gt;&gt;metroTextBox2.Name" xml:space="preserve">
<value>metroTextBox2</value>
</data>
<data name="&gt;&gt;saveToolStripMenuItem1.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="numericUpDown3.Size" type="System.Drawing.Size, System.Drawing">
<value>67, 20</value>
</data>
<data name="&gt;&gt;metroLabel1.Type" xml:space="preserve">
<value>MetroFramework.Controls.MetroLabel, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a</value>
</data>
<data name="fileToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>37, 20</value>
</data>
<data name="&gt;&gt;metroTextBox2.Type" xml:space="preserve">
<value>MetroFramework.Controls.MetroTextBox, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a</value>
</data>
<assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="numericUpDown2.Enabled" type="System.Boolean, mscorlib">
<value>False</value>
</data>
<data name="resource.ImageIndex" type="System.Int32, mscorlib">
<value>-1</value>
</data>
<data name="&gt;&gt;fileToolStripMenuItem.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="pictureBox1.TabIndex" type="System.Int32, mscorlib">
<value>2</value>
</data>
<data name="resource.BackgroundImage1" type="System.Resources.ResXNullRef, System.Windows.Forms">
<value />
</data>
<data name="&gt;&gt;numericUpDown2.ZOrder" xml:space="preserve">
<value>3</value>
</data>
<data name="numericUpDown1.Enabled" type="System.Boolean, mscorlib">
<value>False</value>
</data>
<data name="numericUpDown3.TabIndex" type="System.Int32, mscorlib">
<value>16</value>
</data>
<data name="treeView1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
<data name="resource.Location1" type="System.Drawing.Point, System.Drawing">
<value>105, 1</value>
</data>
<data name="&gt;&gt;metroLabel2.Type" xml:space="preserve">
<value>MetroFramework.Controls.MetroLabel, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a</value>
</data>
<data name="&gt;&gt;metroTextBox1.Name" xml:space="preserve">
<value>metroTextBox1</value>
</data>
<data name="resource.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>None</value>
</data>
<data name="&gt;&gt;numericUpDown2.Parent" xml:space="preserve">
<value>metroPanel1</value>
</data>
<data name="numericUpDown1.Location" type="System.Drawing.Point, System.Drawing">
<value>373, 281</value>
</data>
<data name="resource.TextImageRelation1" type="System.Windows.Forms.TextImageRelation, System.Windows.Forms">
<value>Overlay</value>
</data>
<data name="&gt;&gt;metroLabel3.Name" xml:space="preserve">
<value>metroLabel3</value>
</data>
<data name="menuStrip.Text" xml:space="preserve">
<value>menuStrip1</value>
</data>
<data name="$this.Text" xml:space="preserve">
<value>COL Editor</value>
</data>
<data name="resource.Visible" type="System.Boolean, mscorlib">
<value>False</value>
</data>
<data name="metroLabel3.Size" type="System.Drawing.Size, System.Drawing">
<value>20, 19</value>
</data>
<data name="&gt;&gt;metroLabel4.Name" xml:space="preserve">
<value>metroLabel4</value>
</data>
<data name="metroLabel2.Size" type="System.Drawing.Size, System.Drawing">
<value>48, 19</value>
</data>
<data name="resource.TextAlign1" type="System.Drawing.ContentAlignment, System.Drawing">
<value>MiddleCenter</value>
</data>
<data name="&gt;&gt;metroLabel1.ZOrder" xml:space="preserve">
<value>12</value>
</data>
<data name="&gt;&gt;metroLabel3.Type" xml:space="preserve">
<value>MetroFramework.Controls.MetroLabel, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a</value>
</data>
<data name="treeView1.Size" type="System.Drawing.Size, System.Drawing">
<value>205, 497</value>
</data>
<data name="metroLabel3.Location" type="System.Drawing.Point, System.Drawing">
<value>350, 281</value>
</data>
<data name="&gt;&gt;pictureBox1.Name" xml:space="preserve">
<value>pictureBox1</value>
</data>
<data name="&gt;&gt;metroTextBox2.Parent" xml:space="preserve">
<value>metroPanel1</value>
</data>
<data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
<value>6, 13</value>
</data>
<data name="metroLabel2.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="metroPanel2.Size" type="System.Drawing.Size, System.Drawing">
<value>207, 499</value>
</data>
<data name="&gt;&gt;metroPanel1.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;metroTextBox1.Type" xml:space="preserve">
<value>MetroFramework.Controls.MetroTextBox, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a</value>
</data>
<data name="metroLabel3.TabIndex" type="System.Int32, mscorlib">
<value>8</value>
</data>
<data name="resource.ImageKey" xml:space="preserve">
<value />
</data>
<data name="resource.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Left</value>
</data>
<data name="&gt;&gt;metroLabel2.ZOrder" xml:space="preserve">
<value>10</value>
</data>
<data name="&gt;&gt;metroLabel4.Type" xml:space="preserve">
<value>MetroFramework.Controls.MetroLabel, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a</value>
</data>
<data name="numericUpDown1.Size" type="System.Drawing.Size, System.Drawing">
<value>67, 20</value>
</data>
<data name="menuStrip.Location" type="System.Drawing.Point, System.Drawing">
<value>20, 60</value>
</data>
<data name="metroCheckBox1.Text" xml:space="preserve">
<value>Use RGB Values</value>
</data>
<data name="numericUpDown2.TabIndex" type="System.Int32, mscorlib">
<value>15</value>
</data>
<data name="metroLabel3.Text" xml:space="preserve">
<value>R:</value>
</data>
<data name="&gt;&gt;metroPanel2.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;metroPanel2.Type" xml:space="preserve">
<value>MetroFramework.Controls.MetroPanel, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a</value>
</data>
<data name="metroLabel4.Location" type="System.Drawing.Point, System.Drawing">
<value>350, 310</value>
</data>
<data name="treeView1.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 0</value>
</data>
<data name="resource.AccessibleDescription" type="System.Resources.ResXNullRef, System.Windows.Forms">
<value />
</data>
<data name="resource.AutoSizeMode1" type="System.Windows.Forms.AutoSizeMode, System.Windows.Forms">
<value>GrowOnly</value>
</data>
<data name="&gt;&gt;metroLabel3.ZOrder" xml:space="preserve">
<value>7</value>
</data>
<data name="metroCheckBox1.Size" type="System.Drawing.Size, System.Drawing">
<value>103, 15</value>
</data>
<data name="&gt;&gt;treeView1.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="metroLabel2.Text" xml:space="preserve">
<value>Name:</value>
</data>
<data name="metroCheckBox1.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="metroLabel1.Text" xml:space="preserve">
<value>Color:</value>
</data>
<data name="&gt;&gt;menuStrip.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="metroPanel1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
<data name="metroPanel1.Location" type="System.Drawing.Point, System.Drawing">
<value>20, 60</value>
</data>
<data name="&gt;&gt;metroTextBox1.Parent" xml:space="preserve">
<value>metroPanel1</value>
</data>
<data name="&gt;&gt;metroPanel1.Name" xml:space="preserve">
<value>metroPanel1</value>
</data>
<data name="saveToolStripMenuItem1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
wwAADsMBx2+oZAAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4yMfEgaZUAAADfSURBVDhPYxg8
QLt++3yTGbf/Fm599P/Nh49wfPXxq/+rTt37f+Dak/8gOSBgAGEMANIMxGBFyAasPf/0v8GE8//z1t8C
y4HU4DIALIluwLpLL+HiMANAGKoNAWASCavv/n/57gPcgOvP3oENOXj7NViOoAFGU6791+k4ghWD5Aga
QCyGakMAkODcU89R/I8Ng9TgNADk14dPn/8/c+kqVgySgwUqVBsCwAx49urN/zsPHmPFIDmaGvAXJInN
38gYasBfqDYE0K7dOn/Wvut/sfkdGYPUgJI9VNuAAwYGAGn6yvdevWgPAAAAAElFTkSuQmCC
</value>
</data>
<data name="&gt;&gt;$this.Name" xml:space="preserve">
<value>COLEditor</value>
</data>
<data name="&gt;&gt;metroLabel4.ZOrder" xml:space="preserve">
<value>6</value>
</data>
<data name="menuStrip.TabIndex" type="System.Int32, mscorlib">
<value>3</value>
</data>
<data name="&gt;&gt;numericUpDown3.Name" xml:space="preserve">
<value>numericUpDown3</value>
</data>
<data name="resource.Location" type="System.Drawing.Point, System.Drawing">
<value>105, 1</value>
</data>
<data name="resource.TextAlign" type="System.Drawing.ContentAlignment, System.Drawing">
<value>MiddleCenter</value>
</data>
<data name="metroLabel5.TabIndex" type="System.Int32, mscorlib">
<value>12</value>
</data>
<data name="metroPanel2.Location" type="System.Drawing.Point, System.Drawing">
<value>20, 84</value>
</data>
<data name="&gt;&gt;metroTextBox1.ZOrder" xml:space="preserve">
<value>11</value>
</data>
<data name="&gt;&gt;saveToolStripMenuItem1.Name" xml:space="preserve">
<value>saveToolStripMenuItem1</value>
</data>
<data name="resource.AccessibleName" type="System.Resources.ResXNullRef, System.Windows.Forms">
<value />
</data>
<data name="resource.Image1" type="System.Resources.ResXNullRef, System.Windows.Forms">
<value />
</data>
<data name="&gt;&gt;metroPanel2.Name" xml:space="preserve">
<value>metroPanel2</value>
</data>
<data name="metroPanel2.TabIndex" type="System.Int32, mscorlib">
<value>4</value>
</data>
<data name="metroLabel4.Size" type="System.Drawing.Size, System.Drawing">
<value>21, 19</value>
</data>
<data name="&gt;&gt;numericUpDown3.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<data name="saveToolStripMenuItem1.Text" xml:space="preserve">
<value>Save</value>
</data>
<data name="metroLabel1.Size" type="System.Drawing.Size, System.Drawing">
<value>46, 19</value>
</data>
<data name="&gt;&gt;pictureBox1.Parent" xml:space="preserve">
<value>metroPanel1</value>
</data>
<data name="metroTextBox1.Location" type="System.Drawing.Point, System.Drawing">
<value>373, 231</value>
</data>
<data name="resource.Image" type="System.Resources.ResXNullRef, System.Windows.Forms">
<value />
</data>
<data name="&gt;&gt;metroLabel5.Parent" xml:space="preserve">
<value>metroPanel1</value>
</data>
<data name="&gt;&gt;numericUpDown2.Type" xml:space="preserve">
<value>System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="resource.RightToLeft1" type="System.Windows.Forms.RightToLeft, System.Windows.Forms">
<value>Inherit</value>
</data>
<data name="&gt;&gt;numericUpDown1.Type" xml:space="preserve">
<value>System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="menuStrip.AutoSize" type="System.Boolean, mscorlib">
<value>False</value>
</data>
<data name="&gt;&gt;numericUpDown3.Parent" xml:space="preserve">
<value>metroPanel1</value>
</data>
<data name="resource.ImageIndex1" type="System.Int32, mscorlib">
<value>-1</value>
</data>
<data name="metroTextBox2.TabIndex" type="System.Int32, mscorlib">
<value>6</value>
</data>
<data name="resource.MaximumSize" type="System.Drawing.Size, System.Drawing">
<value>0, 0</value>
</data>
<data name="metroLabel1.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="resource.RightToLeft" type="System.Windows.Forms.RightToLeft, System.Windows.Forms">
<value>Inherit</value>
</data>
<data name="resource.ImageAlign1" type="System.Drawing.ContentAlignment, System.Drawing">
<value>MiddleCenter</value>
</data>
<data name="&gt;&gt;metroCheckBox1.Type" xml:space="preserve">
<value>MetroFramework.Controls.MetroCheckBox, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a</value>
</data>
<data name="resource.ImageAlign" type="System.Drawing.ContentAlignment, System.Drawing">
<value>MiddleCenter</value>
</data>
<data name="resource.Font" type="System.Resources.ResXNullRef, System.Windows.Forms">
<value />
</data>
<data name="resource.AccessibleName1" type="System.Resources.ResXNullRef, System.Windows.Forms">
<value />
</data>
<data name="saveToolStripMenuItem1.Size" type="System.Drawing.Size, System.Drawing">
<value>98, 22</value>
</data>
<data name="metroLabel2.Location" type="System.Drawing.Point, System.Drawing">
<value>327, 205</value>
</data>
<data name="&gt;&gt;menuStrip.Name" xml:space="preserve">
<value>menuStrip</value>
</data>
<data name="&gt;&gt;metroLabel2.Name" xml:space="preserve">
<value>metroLabel2</value>
</data>
<data name="resource.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
</data>
<data name="metroLabel4.Text" xml:space="preserve">
<value>G:</value>
</data>
<data name="&gt;&gt;numericUpDown1.Name" xml:space="preserve">
<value>numericUpDown1</value>
</data>
<data name="metroLabel5.Text" xml:space="preserve">
<value>B:</value>
</data>
<data name="metroTextBox1.Size" type="System.Drawing.Size, System.Drawing">
<value>127, 23</value>
</data>
<data name="resource.FlatStyle1" type="System.Windows.Forms.FlatStyle, System.Windows.Forms">
<value>Standard</value>
</data>
<data name="metroLabel2.TabIndex" type="System.Int32, mscorlib">
<value>5</value>
</data>
<data name="&gt;&gt;treeView1.Parent" xml:space="preserve">
<value>metroPanel2</value>
</data>
<data name="resource.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>Inherit</value>
</data>
<data name="resource.AutoSize1" type="System.Boolean, mscorlib">
<value>False</value>
</data>
<data name="treeView1.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>0, 0, 0, 0</value>
</data>
<data name="numericUpDown2.Location" type="System.Drawing.Point, System.Drawing">
<value>373, 310</value>
</data>
<data name="metroCheckBox1.Location" type="System.Drawing.Point, System.Drawing">
<value>397, 260</value>
</data>
<data name="&gt;&gt;menuStrip.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="fileToolStripMenuItem.Text" xml:space="preserve">
<value>File</value>
</data>
<data name="metroLabel4.TabIndex" type="System.Int32, mscorlib">
<value>10</value>
</data>
<data name="&gt;&gt;metroLabel5.Name" xml:space="preserve">
<value>metroLabel5</value>
</data>
<data name="metroLabel5.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="numericUpDown3.Enabled" type="System.Boolean, mscorlib">
<value>False</value>
</data>
<data name="&gt;&gt;$this.Type" xml:space="preserve">
<value>MetroFramework.Forms.MetroForm, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a</value>
</data>
<data name="metroPanel2.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Left</value>
</data>
<data name="metroPanel1.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="&gt;&gt;treeView1.Name" xml:space="preserve">
<value>treeView1</value>
</data>
<data name="resource.Visible1" type="System.Boolean, mscorlib">
<value>False</value>
</data>
<data name="menuStrip.Size" type="System.Drawing.Size, System.Drawing">
<value>612, 24</value>
</data>
<data name="&gt;&gt;metroPanel1.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<data name="&gt;&gt;metroPanel1.Type" xml:space="preserve">
<value>MetroFramework.Controls.MetroPanel, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a</value>
</data>
<data name="&gt;&gt;metroCheckBox1.Name" xml:space="preserve">
<value>metroCheckBox1</value>
</data>
<data name="&gt;&gt;metroLabel5.Type" xml:space="preserve">
<value>MetroFramework.Controls.MetroLabel, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a</value>
</data>
<data name="resource.AccessibleDescription1" type="System.Resources.ResXNullRef, System.Windows.Forms">
<value />
</data>
<data name="treeView1.TabIndex" type="System.Int32, mscorlib">
<value>10</value>
</data>
<data name="metroLabel5.Size" type="System.Drawing.Size, System.Drawing">
<value>20, 19</value>
</data>
<data name="&gt;&gt;metroTextBox2.ZOrder" xml:space="preserve">
<value>9</value>
</data>
<data name="resource.TabIndex1" type="System.Int32, mscorlib">
<value>1</value>
</data>
<data name="resource.Size" type="System.Drawing.Size, System.Drawing">
<value>21, 21</value>
</data>
<data name="resource.FlatStyle" type="System.Windows.Forms.FlatStyle, System.Windows.Forms">
<value>Standard</value>
</data>
<data name="&gt;&gt;pictureBox1.ZOrder" xml:space="preserve">
<value>13</value>
</data>
<data name="&gt;&gt;numericUpDown3.Type" xml:space="preserve">
<value>System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="metroLabel5.Location" type="System.Drawing.Point, System.Drawing">
<value>350, 339</value>
</data>
<data name="resource.TextImageRelation" type="System.Windows.Forms.TextImageRelation, System.Windows.Forms">
<value>Overlay</value>
</data>
<data name="resource.MaximumSize1" type="System.Drawing.Size, System.Drawing">
<value>0, 0</value>
</data>
<data name="metroTextBox1.TabIndex" type="System.Int32, mscorlib">
<value>4</value>
</data>
<data name="resource.Anchor1" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Left</value>
</data>
<data name="&gt;&gt;metroPanel2.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="&gt;&gt;fileToolStripMenuItem.Name" xml:space="preserve">
<value>fileToolStripMenuItem</value>
</data>
<data name="metroTextBox2.Location" type="System.Drawing.Point, System.Drawing">
<value>373, 205</value>
</data>
<data name="&gt;&gt;metroLabel1.Parent" xml:space="preserve">
<value>metroPanel1</value>
</data>
<data name="resource.Size1" type="System.Drawing.Size, System.Drawing">
<value>21, 21</value>
</data>
<data name="pictureBox1.Location" type="System.Drawing.Point, System.Drawing">
<value>327, 38</value>
</data>
<data name="resource.BackgroundImageLayout" type="System.Windows.Forms.ImageLayout, System.Windows.Forms">
<value>Tile</value>
</data>
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
<value>652, 603</value>
</data>
<data name="numericUpDown1.TabIndex" type="System.Int32, mscorlib">
<value>14</value>
</data>
<data name="metroCheckBox1.TabIndex" type="System.Int32, mscorlib">
<value>7</value>
</data>
<data name="&gt;&gt;pictureBox1.Type" xml:space="preserve">
<value>System.Windows.Forms.PictureBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="metroTextBox1.Text" xml:space="preserve">
<value>FC4B0D</value>
</data>
<data name="metroLabel4.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="&gt;&gt;numericUpDown1.ZOrder" xml:space="preserve">
<value>4</value>
</data>
<data name="&gt;&gt;metroLabel2.Parent" xml:space="preserve">
<value>metroPanel1</value>
</data>
<data name="numericUpDown3.Location" type="System.Drawing.Point, System.Drawing">
<value>373, 338</value>
</data>
<data name="&gt;&gt;treeView1.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<data name="metroLabel1.Location" type="System.Drawing.Point, System.Drawing">
<value>327, 231</value>
</data>
<data name="resource.AutoSize" type="System.Boolean, mscorlib">
<value>False</value>
</data>
<data name="resource.ImeMode1" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>Inherit</value>
</data>
<data name="&gt;&gt;metroCheckBox1.ZOrder" xml:space="preserve">
<value>8</value>
</data>
<data name="&gt;&gt;menuStrip.Type" xml:space="preserve">
<value>System.Windows.Forms.MenuStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;numericUpDown1.Parent" xml:space="preserve">
<value>metroPanel1</value>
</data>
<data name="resource.AutoSizeMode" type="System.Windows.Forms.AutoSizeMode, System.Windows.Forms">
<value>GrowOnly</value>
</data>
<data name="metroLabel1.TabIndex" type="System.Int32, mscorlib">
<value>3</value>
</data>
<data name="metroLabel3.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="&gt;&gt;metroCheckBox1.Parent" xml:space="preserve">
<value>metroPanel1</value>
</data>
<data name="&gt;&gt;numericUpDown2.Name" xml:space="preserve">
<value>numericUpDown2</value>
</data>
<data name="&gt;&gt;metroLabel3.Parent" xml:space="preserve">
<value>metroPanel1</value>
</data>
<data name="metroPanel1.Size" type="System.Drawing.Size, System.Drawing">
<value>612, 523</value>
</data>
<data name="resource.Font1" type="System.Resources.ResXNullRef, System.Windows.Forms">
<value />
</data>
<data name="numericUpDown2.Size" type="System.Drawing.Size, System.Drawing">
<value>67, 20</value>
</data>
<data name="resource.BackgroundImage" type="System.Resources.ResXNullRef, System.Windows.Forms">
<value />
</data>
<data name="resource.ImageKey1" xml:space="preserve">
<value />
</data>
<data name="&gt;&gt;metroLabel5.ZOrder" xml:space="preserve">
<value>5</value>
</data>
<metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="menuStrip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
</root>

View File

@@ -60,7 +60,15 @@ namespace PckStudio.Forms
using (WebClient client = new WebClient())
{
client.DownloadFile("http://nobledez.com/programs/assets/WiiUMapManager/apps.zip", sdRoot + "/wiiu/apps/apps.zip");
try
{
File.WriteAllBytes(sdRoot + "/wiiu/apps/apps.zip", PckStudio.Properties.Resources.apps);
}
catch
{
MessageBox.Show("Could not extract resources to:\n" + sdRoot + "/wiiu/apps/apps.zip");
return;
}
}
string zipPath = sdRoot + "/wiiu/apps/apps.zip";
@@ -79,10 +87,6 @@ namespace PckStudio.Forms
{
Directory.Move(sdRoot + "/wiiu/apps/temp/mocha_fshax", sdRoot + "/wiiu/apps/mocha_fshax");
}
if (!File.Exists(sdRoot + "/wiiu/apps/.DS_Store"))
{
File.Move(sdRoot + "/wiiu/apps/temp/.DS_Store", sdRoot + "/wiiu/apps/.DS_Store");
}
if (!File.Exists(sdRoot + "/wiiu/apps/sign_c2w_patcher.elf"))
{
File.Move(sdRoot + "/wiiu/apps/temp/sign_c2w_patcher.elf", sdRoot + "/wiiu/apps/sign_c2w_patcher.elf");
@@ -248,7 +252,7 @@ namespace PckStudio.Forms
request2.Timeout = 1200000;
ServicePoint sp2 = request2.ServicePoint;
Console.WriteLine("NOBLEDEZ WAS HERE", sp2.ConnectionLimit);
Console.WriteLine("NOBLEDEZ//PHOENIXARC WAS HERE", sp2.ConnectionLimit);
sp2.ConnectionLimit = 1;
using (var response = (FtpWebResponse)request2.GetResponse())

View File

@@ -117,62 +117,43 @@
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="buttonServerToggle.Text" xml:space="preserve">
<value>開始</value>
</data>
<data name="radioButtonSystem.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.AccessibleDescription" type="System.Resources.ResXNullRef, System.Windows.Forms">
<value />
<data name="resource.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="resource.AccessibleName" type="System.Resources.ResXNullRef, System.Windows.Forms">
<value />
<data name="radioButtonEur.Text" xml:space="preserve">
<value>ヨーロッパ人</value>
</data>
<data name="resource.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Left</value>
<data name="radioButtonUs.Text" xml:space="preserve">
<value>アメリカ</value>
</data>
<assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="resource.AutoSize" type="System.Boolean, mscorlib">
<value>False</value>
<data name="radioButtonJap.Text" xml:space="preserve">
<value>日本人</value>
</data>
<data name="resource.AutoSizeMode" type="System.Windows.Forms.AutoSizeMode, System.Windows.Forms">
<value>GrowOnly</value>
</data>
<data name="resource.BackgroundImage" type="System.Resources.ResXNullRef, System.Windows.Forms">
<value />
</data>
<data name="resource.BackgroundImageLayout" type="System.Windows.Forms.ImageLayout, System.Windows.Forms">
<value>Tile</value>
</data>
<data name="resource.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>None</value>
</data>
<data name="resource.FlatStyle" type="System.Windows.Forms.FlatStyle, System.Windows.Forms">
<value>Standard</value>
</data>
<data name="resource.Font" type="System.Resources.ResXNullRef, System.Windows.Forms">
<value />
<data name="metroTabPageMain.Text" xml:space="preserve">
<value>パーマインストーラー</value>
</data>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="resource.ImageAlign" type="System.Drawing.ContentAlignment, System.Drawing">
<value>MiddleCenter</value>
<data name="replaceToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>212, 22</value>
</data>
<data name="resource.ImageIndex" type="System.Int32, mscorlib">
<value>-1</value>
<data name="replaceToolStripMenuItem.Text" xml:space="preserve">
<value>交換</value>
</data>
<data name="resource.ImageKey" xml:space="preserve">
<value />
<data name="replacePCKToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>212, 22</value>
</data>
<data name="resource.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>Inherit</value>
<data name="replacePCKToolStripMenuItem.Text" xml:space="preserve">
<value>外部PCKと交換してください</value>
</data>
<data name="resource.MaximumSize" type="System.Drawing.Size, System.Drawing">
<value>0, 0</value>
</data>
<data name="resource.RightToLeft" type="System.Windows.Forms.RightToLeft, System.Windows.Forms">
<value>Inherit</value>
</data>
<data name="resource.TextAlign" type="System.Drawing.ContentAlignment, System.Drawing">
<value>MiddleCenter</value>
</data>
<data name="resource.TextImageRelation" type="System.Windows.Forms.TextImageRelation, System.Windows.Forms">
<value>Overlay</value>
<data name="contextMenuStripCaffiine.Size" type="System.Drawing.Size, System.Drawing">
<value>213, 48</value>
</data>
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
@@ -1902,28 +1883,4 @@
<data name="$this.Text" xml:space="preserve">
<value>WiiUにインストール</value>
</data>
<data name="buttonServerToggle.Text" xml:space="preserve">
<value>開始</value>
</data>
<data name="metroTabPageMain.Text" xml:space="preserve">
<value>パーマインストーラー</value>
</data>
<data name="radioButtonEur.Text" xml:space="preserve">
<value>ヨーロッパ人</value>
</data>
<data name="radioButtonJap.Text" xml:space="preserve">
<value>日本人</value>
</data>
<data name="radioButtonSystem.Text" xml:space="preserve">
<value>システム</value>
</data>
<data name="radioButtonUs.Text" xml:space="preserve">
<value>アメリカ</value>
</data>
<data name="replacePCKToolStripMenuItem.Text" xml:space="preserve">
<value>外部PCKと交換してください</value>
</data>
<data name="replaceToolStripMenuItem.Text" xml:space="preserve">
<value>交換</value>
</data>
</root>

View File

@@ -120,15 +120,15 @@
<data name="&gt;&gt;buttonSelect.Parent" xml:space="preserve">
<value>panel1</value>
</data>
<data name="&gt;&gt;radioButtonEur.Parent" xml:space="preserve">
<value>myTablePanel1</value>
</data>
<assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="listViewPCKS.Enabled" type="System.Boolean, mscorlib">
<value>False</value>
</data>
<data name="$this.Text" xml:space="preserve">
<value>Install to Wii U</value>
</data>
<data name="&gt;&gt;listViewPCKS.Name" xml:space="preserve">
<value>listViewPCKS</value>
<data name="&gt;&gt;radioButtonSystem.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="radioButtonEur.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
@@ -177,8 +177,8 @@
<data name="&gt;&gt;panel1.Name" xml:space="preserve">
<value>panel1</value>
</data>
<data name="myTablePanel1.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 0</value>
<data name="myTablePanel1.TabIndex" type="System.Int32, mscorlib">
<value>2</value>
</data>
<data name="metroTabPageMain.Location" type="System.Drawing.Point, System.Drawing">
<value>4, 38</value>
@@ -192,9 +192,6 @@
<data name="buttonSelect.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
</data>
<data name="resource.MaximumSize" type="System.Drawing.Size, System.Drawing">
<value>0, 0</value>
</data>
<data name="myTablePanel1.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>0, 0, 0, 0</value>
</data>
@@ -204,23 +201,11 @@
<data name="radioButtonEur.Size" type="System.Drawing.Size, System.Drawing">
<value>136, 30</value>
</data>
<data name="radioButtonJap.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
<data name="resource.AccessibleDescription" type="System.Resources.ResXNullRef, System.Windows.Forms">
<value />
</data>
<data name="buttonServerToggle.Text" xml:space="preserve">
<value>Start</value>
</data>
<data name="&gt;&gt;metroTabControlMain.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="radioButtonEur.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
<data name="&gt;&gt;radioButtonEur.Parent" xml:space="preserve">
<value>myTablePanel1</value>
<data name="resource.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>None</value>
</data>
<data name="radioButtonUs.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
@@ -228,14 +213,11 @@
<data name="radioButtonUs.Location" type="System.Drawing.Point, System.Drawing">
<value>145, 72</value>
</data>
<data name="replaceToolStripMenuItem.TextImageRelation" type="System.Windows.Forms.TextImageRelation, System.Windows.Forms">
<value>TextAboveImage</value>
<data name="$this.Text" xml:space="preserve">
<value>Install to Wii U</value>
</data>
<data name="textBoxHost.Size" type="System.Drawing.Size, System.Drawing">
<value>278, 20</value>
</data>
<data name="resource.Visible" type="System.Boolean, mscorlib">
<value>False</value>
<data name="myTablePanel1.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 0</value>
</data>
<data name="resource.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Left</value>
@@ -246,6 +228,9 @@
<data name="myTablePanel1.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms">
<value>&lt;?xml version="1.0" encoding="utf-16"?&gt;&lt;TableLayoutSettings&gt;&lt;Controls&gt;&lt;Control Name="buttonServerToggle" Row="0" RowSpan="1" Column="2" ColumnSpan="1" /&gt;&lt;Control Name="panel1" Row="1" RowSpan="1" Column="0" ColumnSpan="3" /&gt;&lt;Control Name="textBoxHost" Row="0" RowSpan="1" Column="0" ColumnSpan="2" /&gt;&lt;Control Name="radioButtonEur" Row="2" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="radioButtonUs" Row="2" RowSpan="1" Column="1" ColumnSpan="1" /&gt;&lt;Control Name="radioButtonJap" Row="2" RowSpan="1" Column="2" ColumnSpan="1" /&gt;&lt;Control Name="listViewPCKS" Row="3" RowSpan="1" Column="0" ColumnSpan="3" /&gt;&lt;/Controls&gt;&lt;Columns Styles="Percent,33.33333,Percent,33.33334,Percent,33.33334" /&gt;&lt;Rows Styles="AutoSize,0,Absolute,36,Absolute,36,Percent,100,AutoSize,0,AutoSize,0,AutoSize,0" /&gt;&lt;/TableLayoutSettings&gt;</value>
</data>
<data name="radioButtonSystem.CheckAlign" type="System.Drawing.ContentAlignment, System.Drawing">
<value>BottomRight</value>
</data>
<data name="listViewPCKS.Location" type="System.Drawing.Point, System.Drawing">
<value>3, 108</value>
</data>
@@ -1989,20 +1974,20 @@
AABJRU5ErkJggg==
</value>
</data>
<data name="metroTabControlMain.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
<data name="replacePCKToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>211, 22</value>
</data>
<data name="&gt;&gt;textBoxHost.Type" xml:space="preserve">
<value>MetroFramework.Controls.MetroTextBox, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a</value>
<data name="&gt;&gt;metroTabPageMain.Name" xml:space="preserve">
<value>metroTabPageMain</value>
</data>
<data name="radioButtonJap.Size" type="System.Drawing.Size, System.Drawing">
<value>137, 30</value>
</data>
<data name="radioButtonEur.TextAlign" type="System.Drawing.ContentAlignment, System.Drawing">
<value>MiddleCenter</value>
<data name="&gt;&gt;replacePCKToolStripMenuItem.Name" xml:space="preserve">
<value>replacePCKToolStripMenuItem</value>
</data>
<data name="&gt;&gt;metroTabPageMain.Name" xml:space="preserve">
<value>metroTabPageMain</value>
<data name="textBoxHost.Size" type="System.Drawing.Size, System.Drawing">
<value>278, 20</value>
</data>
<data name="buttonSelect.BackgroundImageLayout" type="System.Windows.Forms.ImageLayout, System.Windows.Forms">
<value>Zoom</value>
@@ -2022,35 +2007,41 @@
<data name="radioButtonUs.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="metroTabPageMain.Text" xml:space="preserve">
<value>Perma Installer</value>
<data name="&gt;&gt;listViewPCKS.Name" xml:space="preserve">
<value>listViewPCKS</value>
</data>
<data name="radioButtonSystem.Location" type="System.Drawing.Point, System.Drawing">
<value>3, 0</value>
</data>
<data name="&gt;&gt;metroTabPageMain.ZOrder" xml:space="preserve">
<value>0</value>
<data name="metroTabControlMain.Location" type="System.Drawing.Point, System.Drawing">
<value>20, 60</value>
</data>
<data name="&gt;&gt;panel1.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="metroTabPageMain.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
<data name="radioButtonEur.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
<data name="buttonServerToggle.TabIndex" type="System.Int32, mscorlib">
<value>9</value>
</data>
<data name="&gt;&gt;radioButtonSystem.Parent" xml:space="preserve">
<value>panel1</value>
</data>
<data name="radioButtonJap.Location" type="System.Drawing.Point, System.Drawing">
<value>287, 72</value>
</data>
<data name="listViewPCKS.Size" type="System.Drawing.Size, System.Drawing">
<value>421, 426</value>
<data name="resource.AccessibleDescription" type="System.Resources.ResXNullRef, System.Windows.Forms">
<value />
</data>
<data name="&gt;&gt;metroTabPageMain.Parent" xml:space="preserve">
<value>metroTabControlMain</value>
</data>
<data name="&gt;&gt;radioButtonUSB.Name" xml:space="preserve">
<value>radioButtonUSB</value>
<data name="&gt;&gt;listViewPCKS.Parent" xml:space="preserve">
<value>myTablePanel1</value>
</data>
<data name="resource.ImageKey" xml:space="preserve">
<value />
</data>
<data name="myTablePanel1.ColumnCount" type="System.Int32, mscorlib">
<value>3</value>
@@ -2070,20 +2061,20 @@
<data name="&gt;&gt;radioButtonSystem.Type" xml:space="preserve">
<value>System.Windows.Forms.RadioButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="metroTabControlMain.Size" type="System.Drawing.Size, System.Drawing">
<value>435, 579</value>
</data>
<data name="&gt;&gt;textBoxHost.Parent" xml:space="preserve">
<value>myTablePanel1</value>
</data>
<data name="replacePCKToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>211, 22</value>
</data>
<data name="&gt;&gt;contextMenuStripCaffiine.Name" xml:space="preserve">
<value>contextMenuStripCaffiine</value>
</data>
<data name="radioButtonUSB.Location" type="System.Drawing.Point, System.Drawing">
<value>145, 0</value>
</data>
<data name="metroTabControlMain.Location" type="System.Drawing.Point, System.Drawing">
<value>20, 60</value>
<data name="listViewPCKS.Size" type="System.Drawing.Size, System.Drawing">
<value>421, 426</value>
</data>
<data name="resource.Location" type="System.Drawing.Point, System.Drawing">
<value>260, 2</value>
@@ -2097,20 +2088,17 @@
<data name="radioButtonUs.Size" type="System.Drawing.Size, System.Drawing">
<value>136, 30</value>
</data>
<data name="resource.TextAlign" type="System.Drawing.ContentAlignment, System.Drawing">
<value>MiddleCenter</value>
</data>
<data name="radioButtonUs.Appearance" type="System.Windows.Forms.Appearance, System.Windows.Forms">
<value>Button</value>
</data>
<data name="panel1.Size" type="System.Drawing.Size, System.Drawing">
<value>427, 36</value>
<data name="&gt;&gt;metroTabControlMain.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="resource.ImageKey" xml:space="preserve">
<value />
<data name="resource.TextAlign" type="System.Drawing.ContentAlignment, System.Drawing">
<value>MiddleCenter</value>
</data>
<data name="metroTabControlMain.Size" type="System.Drawing.Size, System.Drawing">
<value>435, 579</value>
<data name="&gt;&gt;metroTabControlMain.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="resource.AccessibleName" type="System.Resources.ResXNullRef, System.Windows.Forms">
<value />
@@ -2124,18 +2112,15 @@
<data name="&gt;&gt;radioButtonJap.Type" xml:space="preserve">
<value>System.Windows.Forms.RadioButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="radioButtonUs.TextAlign" type="System.Drawing.ContentAlignment, System.Drawing">
<value>MiddleCenter</value>
</data>
<data name="&gt;&gt;radioButtonUSB.Type" xml:space="preserve">
<value>System.Windows.Forms.RadioButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;panel1.Parent" xml:space="preserve">
<value>myTablePanel1</value>
</data>
<data name="resource.BackgroundImage" type="System.Resources.ResXNullRef, System.Windows.Forms">
<value />
</data>
<data name="resource.AutoSizeMode" type="System.Windows.Forms.AutoSizeMode, System.Windows.Forms">
<value>GrowOnly</value>
</data>
<data name="resource.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>Inherit</value>
</data>
@@ -2151,36 +2136,33 @@
<data name="resource.Image" type="System.Resources.ResXNullRef, System.Windows.Forms">
<value />
</data>
<data name="metroTabPageMain.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="radioButtonSystem.TabIndex" type="System.Int32, mscorlib">
<value>5</value>
</data>
<data name="&gt;&gt;replacePCKToolStripMenuItem.Name" xml:space="preserve">
<value>replacePCKToolStripMenuItem</value>
</data>
<data name="&gt;&gt;radioButtonUs.ZOrder" xml:space="preserve">
<value>4</value>
</data>
<data name="radioButtonJap.CheckAlign" type="System.Drawing.ContentAlignment, System.Drawing">
<value>BottomRight</value>
</data>
<data name="myTablePanel1.Size" type="System.Drawing.Size, System.Drawing">
<value>427, 537</value>
</data>
<data name="radioButtonJap.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="radioButtonEur.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
</data>
<data name="listViewPCKS.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
<data name="radioButtonJap.TabIndex" type="System.Int32, mscorlib">
<value>2</value>
<data name="resource.MaximumSize" type="System.Drawing.Size, System.Drawing">
<value>0, 0</value>
</data>
<data name="&gt;&gt;myTablePanel1.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<data name="resource.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>None</value>
</data>
<data name="radioButtonEur.Appearance" type="System.Windows.Forms.Appearance, System.Windows.Forms">
<value>Button</value>
</data>
@@ -2190,8 +2172,11 @@
<data name="&gt;&gt;myTablePanel1.Parent" xml:space="preserve">
<value>metroTabPageMain</value>
</data>
<data name="&gt;&gt;radioButtonUSB.Name" xml:space="preserve">
<value>radioButtonUSB</value>
</data>
<data name="&gt;&gt;myTablePanel1.Type" xml:space="preserve">
<value>PckStudio.Forms.MyTablePanel, PCK Studio, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null</value>
<value>PckStudio.Forms.MyTablePanel, PCK Studio, Version=5.3.0.0, Culture=neutral, PublicKeyToken=null</value>
</data>
<data name="&gt;&gt;radioButtonUSB.Parent" xml:space="preserve">
<value>panel1</value>
@@ -2238,12 +2223,15 @@
<data name="buttonSelect.Size" type="System.Drawing.Size, System.Drawing">
<value>137, 36</value>
</data>
<data name="contextMenuStripCaffiine.Size" type="System.Drawing.Size, System.Drawing">
<value>212, 48</value>
<data name="&gt;&gt;buttonServerToggle.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="&gt;&gt;radioButtonJap.Name" xml:space="preserve">
<value>radioButtonJap</value>
</data>
<data name="&gt;&gt;radioButtonUs.Name" xml:space="preserve">
<value>radioButtonUs</value>
</data>
<data name="radioButtonUs.FlatStyle" type="System.Windows.Forms.FlatStyle, System.Windows.Forms">
<value>Flat</value>
</data>
@@ -2262,6 +2250,9 @@
<data name="&gt;&gt;listViewPCKS.ZOrder" xml:space="preserve">
<value>6</value>
</data>
<data name="radioButtonUSB.Appearance" type="System.Windows.Forms.Appearance, System.Windows.Forms">
<value>Button</value>
</data>
<data name="metroTabPageMain.Size" type="System.Drawing.Size, System.Drawing">
<value>427, 537</value>
</data>
@@ -2274,14 +2265,17 @@
<data name="buttonSelect.Location" type="System.Drawing.Point, System.Drawing">
<value>287, 0</value>
</data>
<data name="radioButtonJap.TabIndex" type="System.Int32, mscorlib">
<value>2</value>
</data>
<data name="radioButtonUs.Font" type="System.Drawing.Font, System.Drawing">
<value>Segoe UI, 12pt</value>
</data>
<data name="replaceToolStripMenuItem.Text" xml:space="preserve">
<value>Replace</value>
</data>
<data name="&gt;&gt;radioButtonEur.Type" xml:space="preserve">
<value>System.Windows.Forms.RadioButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<data name="contextMenuStripCaffiine.Size" type="System.Drawing.Size, System.Drawing">
<value>212, 48</value>
</data>
<data name="&gt;&gt;radioButtonUSB.ZOrder" xml:space="preserve">
<value>2</value>
@@ -2292,8 +2286,8 @@
<data name="myTablePanel1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
<data name="radioButtonJap.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
<data name="replaceToolStripMenuItem.TextImageRelation" type="System.Windows.Forms.TextImageRelation, System.Windows.Forms">
<value>TextAboveImage</value>
</data>
<data name="&gt;&gt;radioButtonUs.Type" xml:space="preserve">
<value>System.Windows.Forms.RadioButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
@@ -2304,6 +2298,9 @@
<data name="resource.FlatStyle" type="System.Windows.Forms.FlatStyle, System.Windows.Forms">
<value>Standard</value>
</data>
<data name="&gt;&gt;metroTabPageMain.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="&gt;&gt;buttonSelect.Name" xml:space="preserve">
<value>buttonSelect</value>
</data>
@@ -2331,26 +2328,26 @@
<data name="&gt;&gt;radioButtonEur.ZOrder" xml:space="preserve">
<value>3</value>
</data>
<data name="resource.BackgroundImageLayout" type="System.Windows.Forms.ImageLayout, System.Windows.Forms">
<value>Tile</value>
</data>
<data name="radioButtonJap.FlatStyle" type="System.Windows.Forms.FlatStyle, System.Windows.Forms">
<value>Flat</value>
</data>
<data name="&gt;&gt;radioButtonUs.Parent" xml:space="preserve">
<value>myTablePanel1</value>
</data>
<data name="radioButtonJap.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
<data name="&gt;&gt;myTablePanel1.Name" xml:space="preserve">
<value>myTablePanel1</value>
</data>
<data name="&gt;&gt;radioButtonUs.Name" xml:space="preserve">
<value>radioButtonUs</value>
<data name="&gt;&gt;radioButtonUs.ZOrder" xml:space="preserve">
<value>4</value>
</data>
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
<value>475, 659</value>
</data>
<data name="radioButtonUSB.Appearance" type="System.Windows.Forms.Appearance, System.Windows.Forms">
<value>Button</value>
<data name="metroTabControlMain.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="&gt;&gt;metroTabControlMain.Name" xml:space="preserve">
<value>metroTabControlMain</value>
@@ -2358,17 +2355,14 @@
<data name="metroTabControlMain.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
<data name="&gt;&gt;metroTabControlMain.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;buttonServerToggle.Type" xml:space="preserve">
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<data name="&gt;&gt;textBoxHost.Type" xml:space="preserve">
<value>MetroFramework.Controls.MetroTextBox, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a</value>
</data>
<data name="radioButtonJap.Appearance" type="System.Windows.Forms.Appearance, System.Windows.Forms">
<value>Button</value>
</data>
<data name="radioButtonUs.TextAlign" type="System.Drawing.ContentAlignment, System.Drawing">
<value>MiddleCenter</value>
<data name="&gt;&gt;radioButtonEur.Type" xml:space="preserve">
<value>System.Windows.Forms.RadioButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="resource.AutoSize" type="System.Boolean, mscorlib">
<value>False</value>
@@ -2382,33 +2376,36 @@
<data name="&gt;&gt;buttonSelect.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="&gt;&gt;radioButtonSystem.Parent" xml:space="preserve">
<value>panel1</value>
<data name="radioButtonEur.TextAlign" type="System.Drawing.ContentAlignment, System.Drawing">
<value>MiddleCenter</value>
</data>
<data name="&gt;&gt;listViewPCKS.Parent" xml:space="preserve">
<value>myTablePanel1</value>
<data name="resource.AutoSizeMode" type="System.Windows.Forms.AutoSizeMode, System.Windows.Forms">
<value>GrowOnly</value>
</data>
<data name="metroTabPageMain.Text" xml:space="preserve">
<value>Perma Installer</value>
</data>
<data name="replaceToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>211, 22</value>
</data>
<data name="myTablePanel1.TabIndex" type="System.Int32, mscorlib">
<value>2</value>
<data name="resource.Visible" type="System.Boolean, mscorlib">
<value>False</value>
</data>
<data name="&gt;&gt;radioButtonSystem.ZOrder" xml:space="preserve">
<value>0</value>
<data name="resource.BackgroundImage" type="System.Resources.ResXNullRef, System.Windows.Forms">
<value />
</data>
<data name="resource.BackgroundImageLayout" type="System.Windows.Forms.ImageLayout, System.Windows.Forms">
<value>Tile</value>
</data>
<data name="radioButtonSystem.FlatStyle" type="System.Windows.Forms.FlatStyle, System.Windows.Forms">
<value>Flat</value>
</data>
<data name="radioButtonSystem.CheckAlign" type="System.Drawing.ContentAlignment, System.Drawing">
<value>BottomRight</value>
<data name="panel1.Size" type="System.Drawing.Size, System.Drawing">
<value>427, 36</value>
</data>
<data name="panel1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
<metadata name="$this.Language" type="System.Globalization.CultureInfo, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>ja</value>
</metadata>
<metadata name="contextMenuStripCaffiine.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>

View File

@@ -2,6 +2,9 @@
<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="..\packages\Costura.Fody.5.0.0-alpha0281\build\Costura.Fody.props" Condition="Exists('..\packages\Costura.Fody.5.0.0-alpha0281\build\Costura.Fody.props')" />
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<LangVersion>preview</LangVersion>
</PropertyGroup>
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
@@ -10,7 +13,7 @@
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>PckStudio</RootNamespace>
<AssemblyName>PCK Studio</AssemblyName>
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
<TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
<NuGetPackageImportStamp>
@@ -282,6 +285,34 @@
</ItemGroup>
<ItemGroup>
<Compile Include="Classes\Bink.cs" />
<Compile Include="Classes\COL.cs" />
<Compile Include="Classes\CSM.cs" />
<Compile Include="Classes\Models\DefaultModels\CharacterModel.cs" />
<Compile Include="Classes\Models\DefaultModels\ModelBase.cs" />
<Compile Include="Classes\Models\DefaultModels\Texture.cs" />
<Compile Include="Classes\Models\DefaultModels\TextureSelector.cs">
<SubType>UserControl</SubType>
</Compile>
<Compile Include="Classes\Models\Backgrounds.cs" />
<Compile Include="Classes\Models\BackgroundTypes.cs" />
<Compile Include="Classes\Models\Box.cs" />
<Compile Include="Classes\Models\Effects.cs" />
<Compile Include="Classes\Models\Matrix3D.cs" />
<Compile Include="Classes\Models\ModelView.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="Classes\Models\ModelView.Designer.cs">
<DependentUpon>ModelView.cs</DependentUpon>
</Compile>
<Compile Include="Classes\Models\Object3D.cs" />
<Compile Include="Classes\Models\Object3DGroup.cs" />
<Compile Include="Classes\Models\Point3D.cs" />
<Compile Include="Classes\Models\Positions.cs" />
<Compile Include="Classes\Models\ProjectionTypes.cs" />
<Compile Include="Classes\Models\RotationOrders.cs" />
<Compile Include="Classes\Models\Texel.cs" />
<Compile Include="Classes\Models\TexelComparer.cs" />
<Compile Include="Classes\Models\TexturePlane.cs" />
<Compile Include="Classes\RichPresenceClient.cs" />
<Compile Include="Forms\Skins-And-Textures\addAnimatedTexture.cs">
<SubType>Form</SubType>
@@ -346,12 +377,36 @@
<Compile Include="Forms\Skins-And-Textures\generateModel.Designer.cs">
<DependentUpon>generateModel.cs</DependentUpon>
</Compile>
<Compile Include="Forms\Skins-And-Textures\generateModelRENDR.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Forms\Skins-And-Textures\generateModelRENDR.Designer.cs">
<DependentUpon>generateModelRENDR.cs</DependentUpon>
</Compile>
<Compile Include="Forms\Additional-Popups\goodbye.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Forms\Additional-Popups\goodbye.Designer.cs">
<DependentUpon>goodbye.cs</DependentUpon>
</Compile>
<Compile Include="Forms\Skins-And-Textures\SkinPreview.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Forms\Skins-And-Textures\SkinPreview.Designer.cs">
<DependentUpon>SkinPreview.cs</DependentUpon>
</Compile>
<Compile Include="Forms\Testx-12.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Forms\Testx-12.Designer.cs">
<DependentUpon>Testx-12.cs</DependentUpon>
</Compile>
<Compile Include="Forms\Utilities\COLEditor.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Forms\Utilities\COLEditor.Designer.cs">
<DependentUpon>COLEditor.cs</DependentUpon>
</Compile>
<Compile Include="Forms\Utilities\installPS3.cs">
<SubType>Form</SubType>
</Compile>
@@ -521,12 +576,30 @@
<EmbeddedResource Include="Forms\Skins-And-Textures\generateModel.resx">
<DependentUpon>generateModel.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Forms\Skins-And-Textures\generateModelRENDR.ja.resx">
<DependentUpon>generateModelRENDR.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Forms\Skins-And-Textures\generateModelRENDR.resx">
<DependentUpon>generateModelRENDR.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Forms\Additional-Popups\goodbye.ja.resx">
<DependentUpon>goodbye.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Forms\Additional-Popups\goodbye.resx">
<DependentUpon>goodbye.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Forms\Skins-And-Textures\SkinPreview.resx">
<DependentUpon>SkinPreview.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Forms\Testx-12.resx">
<DependentUpon>Testx-12.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Forms\Utilities\COLEditor.ja.resx">
<DependentUpon>COLEditor.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Forms\Utilities\COLEditor.resx">
<DependentUpon>COLEditor.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Forms\Utilities\installPS3.resx">
<DependentUpon>installPS3.cs</DependentUpon>
</EmbeddedResource>
@@ -629,6 +702,7 @@
<None Include="App.config" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\apps.zip" />
<None Include="Resources\binkawin.asi" />
<None Include="xbox.png" />
<None Include="youtube_PNG15.png" />
@@ -650,6 +724,9 @@
<Content Include="lib\sharpdx_direct3d11_1_effects_x86.dll" />
<None Include="wiiu.png" />
<Content Include="Resources\binka_encode.exe" />
<None Include="Resources\discord.png" />
<None Include="Resources\man.png" />
<None Include="Resources\external-content.duckduckgo.png" />
<Content Include="Resources\mss32.dll" />
<None Include="Resources\sdDownload.png" />
<None Include="Resources\Replace.png" />

View File

@@ -2,6 +2,7 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Security.Permissions;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
@@ -9,12 +10,12 @@ using System.Runtime.InteropServices;
[assembly: AssemblyTitle("PCK Studio")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("MinecraftUSkinEditor")]
[assembly: AssemblyCopyright("Copyright © 2016")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCompany("Nobledez & PhoenixARC")]
[assembly: AssemblyProduct("PCK Studio")]
[assembly: AssemblyCopyright("Copyright © 2021")]
[assembly: AssemblyTrademark("PCK Studio")]
[assembly: AssemblyCulture("")]
[assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)]
// Setting ComVisible to false makes the types in this assembly not visible
// to COM components. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
@@ -33,6 +34,6 @@ using System.Runtime.InteropServices;
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: AssemblyVersion("5.3.0.0")]
[assembly: AssemblyFileVersion("5.3.0.0")]
[assembly: NeutralResourcesLanguage("")]

View File

@@ -60,6 +60,16 @@ namespace PckStudio.Properties {
}
}
/// <summary>
/// Looks up a localized resource of type System.Byte[].
/// </summary>
internal static byte[] apps {
get {
object obj = ResourceManager.GetObject("apps", resourceCulture);
return ((byte[])(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
@@ -110,6 +120,16 @@ namespace PckStudio.Properties {
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap discord {
get {
object obj = ResourceManager.GetObject("discord", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
@@ -120,6 +140,16 @@ namespace PckStudio.Properties {
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap external_content_duckduckgo {
get {
object obj = ResourceManager.GetObject("external-content.duckduckgo", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
@@ -140,6 +170,16 @@ namespace PckStudio.Properties {
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap man {
get {
object obj = ResourceManager.GetObject("man", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>

View File

@@ -118,15 +118,24 @@
<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="MROE" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\MROE.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="power3" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\power3.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="youtube_PNG15" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\youtube_PNG15.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="man" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\man.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="bg2" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\bg2.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Replace" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Replace.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="ARROW" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\bin\Release\fileIcons\ARROW.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
@@ -136,15 +145,12 @@
<data name="pckDrop" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\pckDrop.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="bg1" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\bg1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
<data name="turn-off (1)1" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\turn-off (1)1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="pckCenterHeader" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\pckCenterHeader.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="BINKA_ICON" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\bin\Release\fileIcons\BINKA ICON.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="IMAGE_ICON" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\bin\Release\fileIcons\IMAGE ICON.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
@@ -154,6 +160,9 @@
<data name="Del" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Del.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Splash" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Splash.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="pckOpen" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\pckOpen.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
@@ -169,6 +178,9 @@
<data name="LOC_ICON" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\bin\Release\fileIcons\LOC ICON.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="sdDownload" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\sdDownload.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="youtube_PNG152" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\youtube_PNG15.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
@@ -181,17 +193,17 @@
<data name="UntitledSkinPCK" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\bin\Release\templates\UntitledSkinPCK.pck;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="turn-off (1)1" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\turn-off (1)1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="ZUnknown" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\bin\Release\fileIcons\ZUnknown.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="youtube_PNG151" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\youtube_PNG15.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Splash" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Splash.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
<data name="BINKA_ICON" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\bin\Release\fileIcons\BINKA ICON.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="bg1" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\bg1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="wii-u-games-tool" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\wii-u-games-tool.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
@@ -202,13 +214,13 @@
<data name="ZZFolder" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\bin\Release\fileIcons\ZZFolder.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="MROE" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\MROE.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
<data name="discord" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\discord.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Replace" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Replace.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
<data name="external-content.duckduckgo" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\external-content.duckduckgo.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="sdDownload" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\sdDownload.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
<data name="apps" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\apps.zip;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
</root>

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 244 B

View File

@@ -27,44 +27,44 @@
<package id="SharpDX.DXGI" version="4.0.1" targetFramework="net452" />
<package id="SharpDX.Mathematics" version="4.0.1" targetFramework="net452" />
<package id="SharpZipLib" version="1.0.0-alpha2" targetFramework="net461" />
<package id="System.AppContext" version="4.3.0" targetFramework="net461" />
<package id="System.AppContext" version="4.3.0" targetFramework="net461" requireReinstallation="true" />
<package id="System.Collections" version="4.3.0" targetFramework="net461" />
<package id="System.Collections.Concurrent" version="4.3.0" targetFramework="net461" />
<package id="System.Console" version="4.3.0" targetFramework="net461" />
<package id="System.Diagnostics.Debug" version="4.3.0" targetFramework="net461" />
<package id="System.Diagnostics.DiagnosticSource" version="4.3.0" targetFramework="net461" />
<package id="System.Diagnostics.Tools" version="4.3.0" targetFramework="net461" />
<package id="System.Diagnostics.Tracing" version="4.3.0" targetFramework="net461" />
<package id="System.Diagnostics.Tracing" version="4.3.0" targetFramework="net461" requireReinstallation="true" />
<package id="System.Globalization" version="4.3.0" targetFramework="net461" />
<package id="System.Globalization.Calendars" version="4.3.0" targetFramework="net461" />
<package id="System.IO" version="4.3.0" targetFramework="net461" />
<package id="System.IO" version="4.3.0" targetFramework="net461" requireReinstallation="true" />
<package id="System.IO.Compression" version="4.3.0" targetFramework="net461" />
<package id="System.IO.Compression.ZipFile" version="4.3.0" targetFramework="net461" />
<package id="System.IO.FileSystem" version="4.3.0" targetFramework="net461" />
<package id="System.IO.FileSystem.Primitives" version="4.3.0" targetFramework="net461" />
<package id="System.Linq" version="4.3.0" targetFramework="net461" />
<package id="System.Linq.Expressions" version="4.3.0" targetFramework="net461" />
<package id="System.Linq" version="4.3.0" targetFramework="net461" requireReinstallation="true" />
<package id="System.Linq.Expressions" version="4.3.0" targetFramework="net461" requireReinstallation="true" />
<package id="System.Net.Http" version="4.3.0" targetFramework="net461" />
<package id="System.Net.Primitives" version="4.3.0" targetFramework="net461" />
<package id="System.Net.Sockets" version="4.3.0" targetFramework="net461" />
<package id="System.ObjectModel" version="4.3.0" targetFramework="net461" />
<package id="System.Reflection" version="4.3.0" targetFramework="net461" />
<package id="System.Reflection" version="4.3.0" targetFramework="net461" requireReinstallation="true" />
<package id="System.Reflection.Extensions" version="4.3.0" targetFramework="net461" />
<package id="System.Reflection.Primitives" version="4.3.0" targetFramework="net461" />
<package id="System.Resources.ResourceManager" version="4.3.0" targetFramework="net461" />
<package id="System.Runtime" version="4.3.0" targetFramework="net461" />
<package id="System.Runtime.Extensions" version="4.3.0" targetFramework="net461" />
<package id="System.Runtime" version="4.3.0" targetFramework="net461" requireReinstallation="true" />
<package id="System.Runtime.Extensions" version="4.3.0" targetFramework="net461" requireReinstallation="true" />
<package id="System.Runtime.Handles" version="4.3.0" targetFramework="net461" />
<package id="System.Runtime.InteropServices" version="4.3.0" targetFramework="net461" />
<package id="System.Runtime.InteropServices" version="4.3.0" targetFramework="net461" requireReinstallation="true" />
<package id="System.Runtime.InteropServices.RuntimeInformation" version="4.3.0" targetFramework="net461" />
<package id="System.Runtime.Numerics" version="4.3.0" targetFramework="net461" />
<package id="System.Security.Cryptography.Algorithms" version="4.3.0" targetFramework="net461" />
<package id="System.Security.Cryptography.Algorithms" version="4.3.0" targetFramework="net461" requireReinstallation="true" />
<package id="System.Security.Cryptography.Encoding" version="4.3.0" targetFramework="net461" />
<package id="System.Security.Cryptography.Primitives" version="4.3.0" targetFramework="net461" />
<package id="System.Security.Cryptography.X509Certificates" version="4.3.0" targetFramework="net461" />
<package id="System.Text.Encoding" version="4.3.0" targetFramework="net461" />
<package id="System.Text.Encoding.Extensions" version="4.3.0" targetFramework="net461" />
<package id="System.Text.RegularExpressions" version="4.3.0" targetFramework="net461" />
<package id="System.Text.RegularExpressions" version="4.3.0" targetFramework="net461" requireReinstallation="true" />
<package id="System.Threading" version="4.3.0" targetFramework="net461" />
<package id="System.Threading.Tasks" version="4.3.0" targetFramework="net461" />
<package id="System.Threading.Timer" version="4.3.0" targetFramework="net461" />