Music and Animation editor update

-Audio Editor has been renamed to the Music Editor
-Music Editor now works with PSVita and PS4 files!
-Added a drag and drop feature for Binka files to the Music Editor to allow for efficient playlist building.
-You can now create a fresh Audio.pck file by using the "Create audio.pck" function, and this also includes PS4 and Vita!
-The categories in the Music Editor now sort themselves by category ID
-The categories in the Music Editor now have icons
-The Animation Editor now plays animations more accurately to how they will appear in game
-Added MipMap support to the Animation Editor, so you can now set whether it is MipMapped or not and what level it is.
-Added some text to display the common name of the animation that you're editing to help keep track of your animations.
This commit is contained in:
MattNL
2022-05-03 16:17:55 -04:00
parent 48288600e0
commit 2155d1aac3
22 changed files with 1808 additions and 1231 deletions

View File

@@ -6,6 +6,7 @@ using System.Windows.Forms;
namespace PckStudio
{
public class PCK
{
@@ -62,7 +63,7 @@ namespace PckStudio
return Encoding.Unicode.GetString(endianReverseUnicode(f.readBytes(length)));
}
public bool Read(byte[] data)
public bool Read(byte[] data, bool isAudio = false)
{
try
{
@@ -95,7 +96,6 @@ namespace PckStudio
int itemCount = fileData.readInt();
Console.WriteLine(itemCount);
// no metadata
if (entryTypeCount == 0)
{
@@ -108,7 +108,13 @@ namespace PckStudio
if (pckType == 1)
{
Console.WriteLine("PckType1");
itemCount = fileData.readInt();
/* Not really sure if this is accurate or not
* but it seems that when there is only one file in the pck,
* the following line causes it to fail. Since I don't want to potentially break PCK loading for this type,
* I simply added this parameter to the read function. Since the parameter is false by default,
* you won't have to worry about setting it. -MattNL
*/
if (!isAudio) itemCount = fileData.readInt();
}
if (pckType == 2)
Console.WriteLine("PckType2");
@@ -219,7 +225,7 @@ namespace PckStudio
return Encoding.Unicode.GetString((f.readBytes(length)));
}
public void ReadVita(byte[] data)
public void ReadVita(byte[] data, bool isAudio = false)
{
pckType = 0;
types = new Dictionary<int, string>();
@@ -264,8 +270,12 @@ namespace PckStudio
pckType = itemCount;
if (pckType == 1)
{
Console.WriteLine("PckType1");
itemCount = fileData.readIntVita();
/* Not really sure if this is accurate or not
* but it seems that when there is only one file in the pck,
* the following line causes it to fail. Since I don't want to potentially break PCK loading for this type,
* I simply added this defaultly disabled parameter to the read function. -MattNL
*/
if (!isAudio) itemCount = fileData.readIntVita();
}
if (pckType == 2)
Console.WriteLine("PckType2");

File diff suppressed because it is too large Load Diff

View File

@@ -51,8 +51,6 @@ namespace PckStudio
#region form startup page
public FormMain()
{
Directory.CreateDirectory(appData + "\\template");
if (!File.Exists(appData + "\\template\\UntitledSkinPCK.pck"))
File.WriteAllBytes(appData + "\\template\\UntitledSkinPCK.pck", Resources.UntitledSkinPCK);
@@ -844,7 +842,7 @@ namespace PckStudio
diag.ShowDialog(this);
diag.Dispose();//diposes generated metadata adding dialog data
treeViewMain.SelectedNode.Text = Path.GetFileName(node.Name);
treeViewToMineFiles(treeViewMain);
treeViewToMineFiles(treeViewMain, currentPCK);
}
#endregion
@@ -1016,6 +1014,91 @@ namespace PckStudio
}
#endregion
#region adds a new Audio.pck to the project
private void audiopckToolStripMenuItem_Click(object sender, EventArgs e)
{
}
PCK.MineFile makeNewAudioPCK(bool isVita)
{
PCK audioPck = new PCK();
audioPck.IsLittleEndian = isVita;
audioPck.pckType = 1;
audioPck.types.Add(0, "CUENAME");
audioPck.types.Add(1, "CREDIT");
audioPck.types.Add(2, "CREDITID");
for (int i = 0; i < 3; i++)
{
PCK.MineFile mf = new PCK.MineFile();
mf.name = "";
mf.type = i;
mf.data = new byte[0];
audioPck.mineFiles.Add(mf);
}
PCK.MineFile audioMF = new PCK.MineFile();
audioMF.name = "audio.pck";
audioMF.type = 8; // This file will not load otherwise
audioMF.data = isVita ? audioPck.RebuildVita() : audioPck.Rebuild();
return audioMF;
}
private void vitaPS4AudiopckToolStripMenuItem_Click(object sender, EventArgs e)
{
treeViewToMineFiles(treeViewMain, currentPCK);
List<string> filenames = new List<string>();
foreach (TreeNode tNode in treeViewMain.Nodes)
{
filenames.Add(tNode.Text);
}
if (filenames.Contains("audio.pck"))
{
MessageBox.Show("There is already an audio.pck present in this file!", "Can't create audio.pck");
return;
}
PCK.MineFile audioMF = makeNewAudioPCK(true);
TreeNode node = new TreeNode();
node.Text = "audio.pck";
node.Tag = audioMF;
node.ImageIndex = 4;
node.SelectedImageIndex = 4;
PckStudio.Forms.Utilities.AudioEditor diag = new PckStudio.Forms.Utilities.AudioEditor(node.Tag as PCK.MineFile, true);
diag.Text += " (PS4/Vita)";
diag.ShowDialog(this);
if (diag.saved) treeViewMain.Nodes.Add(node);
treeViewToMineFiles(treeViewMain, currentPCK);
diag.Dispose();
}
private void normalAudiopckToolStripMenuItem_Click(object sender, EventArgs e)
{
treeViewToMineFiles(treeViewMain, currentPCK);
List<string> filenames = new List<string>();
foreach (TreeNode tNode in treeViewMain.Nodes)
{
filenames.Add(tNode.Text);
}
if (filenames.Contains("audio.pck"))
{
MessageBox.Show("There is already an audio.pck present in this file!", "Can't create audio.pck");
return;
}
PCK.MineFile audioMF = makeNewAudioPCK(false);
TreeNode node = new TreeNode();
node.Text = "audio.pck";
node.Tag = audioMF;
node.ImageIndex = 4;
node.SelectedImageIndex = 4;
PckStudio.Forms.Utilities.AudioEditor diag = new PckStudio.Forms.Utilities.AudioEditor(node.Tag as PCK.MineFile, false);
diag.ShowDialog(this);
if (diag.saved) treeViewMain.Nodes.Add(node);
treeViewToMineFiles(treeViewMain, currentPCK);
diag.Dispose();
}
#endregion
#region starts up form to create and add a animated texture
private void createAnimatedTextureToolStripMenuItem_Click(object sender, EventArgs e)
{
@@ -1032,7 +1115,7 @@ namespace PckStudio
diag.ShowDialog(this);
diag.Dispose();
treeViewToMineFiles(treeViewMain);
treeViewToMineFiles(treeViewMain, currentPCK);
treeMeta.Nodes.Clear();
foreach (int type in types.Keys)
@@ -1095,7 +1178,8 @@ namespace PckStudio
{
try
{
PckStudio.Forms.Utilities.AudioEditor diag = new PckStudio.Forms.Utilities.AudioEditor(mf.data, mf);
PckStudio.Forms.Utilities.AudioEditor diag = new PckStudio.Forms.Utilities.AudioEditor(mf, mf.data[0] != 0x00);
if(mf.data[0] != 0x00) diag.Text += " (PS4/Vita)";
diag.ShowDialog(this);
diag.Dispose();
}
@@ -1244,7 +1328,7 @@ namespace PckStudio
treeViewMain.SelectedNode.Remove();
}
treeViewToMineFiles(treeViewMain);
treeViewToMineFiles(treeViewMain, currentPCK);
treeViewMain.SelectedNode = move;
@@ -1272,7 +1356,7 @@ namespace PckStudio
treeViewMain.SelectedNode.Remove();
}
treeViewToMineFiles(treeViewMain);
treeViewToMineFiles(treeViewMain, currentPCK);
treeViewMain.SelectedNode = move;
@@ -1282,7 +1366,7 @@ namespace PckStudio
#region drag and drop for main tree node
public void getChildren(List<TreeNode> Nodes, TreeNode Node)
public static void getChildren(List<TreeNode> Nodes, TreeNode Node)
{
foreach (TreeNode thisNode in Node.Nodes)
{
@@ -1291,7 +1375,7 @@ namespace PckStudio
}
}
public string getFullMineFilePath(TreeNode node)
public static string getFullMineFilePath(TreeNode node)
{
try
{
@@ -1306,7 +1390,7 @@ namespace PckStudio
}
}
public void treeViewToMineFiles(TreeView tree)
public static void treeViewToMineFiles(TreeView tree, PCK pck)
{
int i = 1;
List<TreeNode> children = new List<TreeNode>();
@@ -1347,7 +1431,7 @@ namespace PckStudio
}
}
}
currentPCK.mineFiles = newMineFiles;
pck.mineFiles = newMineFiles;
}
// Most of the code below is modified code from this link: https://docs.microsoft.com/en-us/dotnet/api/system.windows.forms.treeview.itemdrag?view=windowsdesktop-6.0
@@ -1431,7 +1515,7 @@ namespace PckStudio
targetNode.Expand();
}
treeViewToMineFiles(treeViewMain);
treeViewToMineFiles(treeViewMain, currentPCK);
}
// Determine whether one node is a parent
@@ -3673,7 +3757,7 @@ namespace PckStudio
diag.ShowDialog(this);
diag.Dispose();
treeViewToMineFiles(treeViewMain);
treeViewToMineFiles(treeViewMain, currentPCK);
MemoryStream png = new MemoryStream(mf.data); //Gets image data from minefile data
Image skinPicture = Image.FromStream(png); //Constructs image data into image
@@ -3705,13 +3789,15 @@ namespace PckStudio
{
try
{
PckStudio.Forms.Utilities.AudioEditor diag = new PckStudio.Forms.Utilities.AudioEditor(mf.data, mf);
PckStudio.Forms.Utilities.AudioEditor diag = new PckStudio.Forms.Utilities.AudioEditor(mf, mf.data[0] != 0x00);
if (mf.data[0] != 0x00) diag.Text += " (PS4/Vita)";
diag.ShowDialog(this);
diag.Dispose();
}
catch
catch (Exception ex)
{
MessageBox.Show("Invalid data", "Error", MessageBoxButtons.OK,MessageBoxIcon.Error);
MessageBox.Show("Error", ex.Message, MessageBoxButtons.OK,
MessageBoxIcon.Error);
return;
}
}
@@ -3890,7 +3976,7 @@ namespace PckStudio
private void forMattNLContributorToolStripMenuItem_Click(object sender, EventArgs e)
{
System.Diagnostics.Process.Start("https://www.paypal.com/donate?business=X7Z3PMXC4L5LY&no_recurring=1&item_name=Consider+this+my+tip+jar.+It%27s+completely+optional+but+is+absolutely+appreciated.+%28%3A&currency_code=USD");
System.Diagnostics.Process.Start("https://ko-fi.com/mattnl");
}
}
}

View File

@@ -124,13 +124,13 @@
<data name="folderToolStripMenuItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
wgAADsIBFShKgAAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4xOdTWsmQAAABVSURBVDhPYxgc
vAAADrwBlbxySQAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4xOdTWsmQAAABVSURBVDhPYxgc
4P8Chv8YeKWUIFSaMPi/W+r//1MapOGTOixQ7UADsCkgAkO1jywDRIGxA8JQPlQ7PQyAaUTDUO30MACG
YZqhfKh24gGGzYMAMDAAAPvHncAZVkkSAAAAAElFTkSuQmCC
</value>
</data>
<data name="folderToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>167, 22</value>
<value>180, 22</value>
</data>
<data name="folderToolStripMenuItem.Text" xml:space="preserve">
<value>Folder</value>
@@ -138,7 +138,7 @@
<data name="skinToolStripMenuItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
wgAADsIBFShKgAAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4xOdTWsmQAAAIkSURBVDhPpdLf
vAAADrwBlbxySQAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4xOdTWsmQAAAIkSURBVDhPpdLf
T1JxGMfxc1n8qtzcyglCWhFS1PLGHAgisDmktZZtabRSEYhDZ8xpiSWVpaSxLpoXyWquLvzV+oGZq+iy
/6Stm7qsm+DT830YMJw3rbO9Djs7z/P+wob03xcAyWbUwqLXotWgha1pDzPr1axl/y52uEHFrAY1z4l5
sVsK0IK1UVMbaKQAOXhgN2tuKLHQTKtBh6M0XwmIxe1OtexjXZa9pA6dlnomlgXx7WoCo/1eTF3pwfRQ
@@ -152,7 +152,7 @@
</value>
</data>
<data name="skinToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>167, 22</value>
<value>180, 22</value>
</data>
<data name="skinToolStripMenuItem.Text" xml:space="preserve">
<value>Skin</value>
@@ -174,21 +174,39 @@
</value>
</data>
<data name="createAnimatedTextureToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>167, 22</value>
<value>180, 22</value>
</data>
<data name="createAnimatedTextureToolStripMenuItem.Text" xml:space="preserve">
<value>Animated Texture</value>
</data>
<data name="normalAudiopckToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>180, 22</value>
</data>
<data name="normalAudiopckToolStripMenuItem.Text" xml:space="preserve">
<value>Normal Audio.pck</value>
</data>
<data name="vitaPS4AudiopckToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>180, 22</value>
</data>
<data name="vitaPS4AudiopckToolStripMenuItem.Text" xml:space="preserve">
<value>Vita/PS4 Audio.pck</value>
</data>
<data name="audiopckToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>180, 22</value>
</data>
<data name="audiopckToolStripMenuItem.Text" xml:space="preserve">
<value>Audio.pck</value>
</data>
<data name="createToolStripMenuItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
wQAADsEBuJFr7QAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4xOdTWsmQAAAA3SURBVDhPY/j/
vAAADrwBlbxySQAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4xOdTWsmQAAAA3SURBVDhPY/j/
/z9FGKsgGIsCKWSMTQ0QYxUE45FmALpiYvFwMgAbxqIYG8YqCMajBhCJ/zMAAPGwpV/Xje8RAAAAAElF
TkSuQmCC
</value>
</data>
<data name="createToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>138, 22</value>
<value>180, 22</value>
</data>
<data name="createToolStripMenuItem.Text" xml:space="preserve">
<value>Create</value>
@@ -196,13 +214,13 @@
<data name="cloneFileToolStripMenuItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
wwAADsMBx2+oZAAAAGlJREFUOE+ljDEKwDAMA/P/MXu+4e+1mEo4UEUZLLhNd4Nbaz0ncPFTIomIe0SJ
vAAADrwBlbxySQAAAGlJREFUOE+ljDEKwDAMA/P/MXu+4e+1mEo4UEUZLLhNd4Nbaz0ncPFTIomIe0SJ
JAPXiBIJAzaiRLIHjhElkjnnD2g1Je60A0k7kLQDSTuQQKupkwNaTZ0c0Grq5IBWUycHtJo6OT5rjBdr
+fcFFzYJtAAAAABJRU5ErkJggg==
</value>
</data>
<data name="cloneFileToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>138, 22</value>
<value>180, 22</value>
</data>
<data name="cloneFileToolStripMenuItem.Text" xml:space="preserve">
<value>Clone</value>
@@ -210,7 +228,7 @@
<data name="importSkinToolStripMenuItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
wgAADsIBFShKgAAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4xOdTWsmQAAAIkSURBVDhPpdLf
vAAADrwBlbxySQAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4xOdTWsmQAAAIkSURBVDhPpdLf
T1JxGMfxc1n8qtzcyglCWhFS1PLGHAgisDmktZZtabRSEYhDZ8xpiSWVpaSxLpoXyWquLvzV+oGZq+iy
/6Stm7qsm+DT830YMJw3rbO9Djs7z/P+wob03xcAyWbUwqLXotWgha1pDzPr1axl/y52uEHFrAY1z4l5
sVsK0IK1UVMbaKQAOXhgN2tuKLHQTKtBh6M0XwmIxe1OtexjXZa9pA6dlnomlgXx7WoCo/1eTF3pwfRQ
@@ -232,7 +250,7 @@
<data name="importExtractedSkinsFolderToolStripMenuItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
wQAADsEBuJFr7QAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4xOdTWsmQAAAEnSURBVDhPYxgc
vAAADrwBlbxySQAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4xOdTWsmQAAAEnSURBVDhPYxgc
4P8Chv8YeKWUIFSaMPi/W+r//1MapOGTOixQ7UADkCS05Xjh2FhFEIydtIT+22uJAsX4wBimFqod04Bt
nTn/9/YV/T82rQGM93YXAfkl/1eVRYPl8RqwuTnn/5aW3P8r69L+r67P+7+mIf//rIKo/7s7i/7PyfT9
PzvTC78BW6AGrKpN+7+2IReM5xTF/N/VWQA0wAdogA8BA4Ca//7799/VauH/TdUZ/7dVp//fA7Td3XLV
@@ -250,7 +268,7 @@
<data name="importFileToolStripMenuItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
wgAADsIBFShKgAAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4xOdTWsmQAAABzSURBVDhPpYzB
vAAADrwBlbxySQAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4xOdTWsmQAAABzSURBVDhPpYzB
DQAhCARp4hr3Txu254WTjYRb9cEmk/BgRjBVHTv85Twmgt77PcJEYIFrhIkAgWOEiSAGthEmgtbaD9fW
mBgpB4xywCgFxiMf5YDdrq3l5wjEjKtzTARMNlydY2IGot2ureVnRjkQmZbICyCi7XU5cfqKAAAAAElF
TkSuQmCC
@@ -265,14 +283,14 @@
<data name="importSkinsToolStripMenuItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
wgAADsIBFShKgAAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4xOdTWsmQAAABzSURBVDhPpYzB
vAAADrwBlbxySQAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4xOdTWsmQAAABzSURBVDhPpYzB
DQAhCARp4hr3Txu254WTjYRb9cEmk/BgRjBVHTv85Twmgt77PcJEYIFrhIkAgWOEiSAGthEmgtbaD9fW
mBgpB4xywCgFxiMf5YDdrq3l5wjEjKtzTARMNlydY2IGot2ureVnRjkQmZbICyCi7XU5cfqKAAAAAElF
TkSuQmCC
</value>
</data>
<data name="importSkinsToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>138, 22</value>
<value>180, 22</value>
</data>
<data name="importSkinsToolStripMenuItem.Text" xml:space="preserve">
<value>Import</value>
@@ -287,7 +305,7 @@
</value>
</data>
<data name="extractToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>138, 22</value>
<value>180, 22</value>
</data>
<data name="extractToolStripMenuItem.Text" xml:space="preserve">
<value>Extract</value>
@@ -295,12 +313,12 @@
<data name="renameFileToolStripMenuItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
wwAADsMBx2+oZAAAACVJREFUOE9jwAL+E8AkAbI0IYNRA0YNAIFRA8g0AKYJF0YCDAwAzhor1TRE/JoA
vAAADrwBlbxySQAAACVJREFUOE9jwAL+E8AkAbI0IYNRA0YNAIFRA8g0AKYJF0YCDAwAzhor1TRE/JoA
AAAASUVORK5CYII=
</value>
</data>
<data name="renameFileToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>138, 22</value>
<value>180, 22</value>
</data>
<data name="renameFileToolStripMenuItem.Text" xml:space="preserve">
<value>Rename</value>
@@ -316,7 +334,7 @@
</value>
</data>
<data name="replaceToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>138, 22</value>
<value>180, 22</value>
</data>
<data name="replaceToolStripMenuItem.Text" xml:space="preserve">
<value>Replace</value>
@@ -331,7 +349,7 @@
</value>
</data>
<data name="moveUpToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>138, 22</value>
<value>180, 22</value>
</data>
<data name="moveUpToolStripMenuItem.Text" xml:space="preserve">
<value>Move Up</value>
@@ -346,7 +364,7 @@
</value>
</data>
<data name="deleteFileToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>138, 22</value>
<value>180, 22</value>
</data>
<data name="deleteFileToolStripMenuItem.Text" xml:space="preserve">
<value>Delete</value>
@@ -361,13 +379,13 @@
</value>
</data>
<data name="moveDownToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>138, 22</value>
<value>180, 22</value>
</data>
<data name="moveDownToolStripMenuItem.Text" xml:space="preserve">
<value>Move Down</value>
</data>
<data name="contextMenuPCKEntries.Size" type="System.Drawing.Size, System.Drawing">
<value>139, 202</value>
<value>181, 224</value>
</data>
<data name="&gt;&gt;contextMenuPCKEntries.Name" xml:space="preserve">
<value>contextMenuPCKEntries</value>
@@ -385,7 +403,7 @@
<data name="newToolStripMenuItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
wwAADsMBx2+oZAAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4yMfEgaZUAAADuSURBVFhH7ZbB
vAAADrwBlbxySQAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4yMfEgaZUAAADuSURBVFhH7ZbB
CsMgEERDbv5A/v83e2jNTmCKGdegJk0heHgUn7vrKBQyxRj/iivJPM9WMTWjc45wJeAwhAghVJEG1nkl
XNkziLCvtteXphFCfQ08nOi+4kvTeFL1NfBQ/BLuefjS9NkAADOwPnpNX14UADBEaV4mNnkygN34Y/1v
AgeWZXll9So2eTLAEVm9ik2a7g1Qgn9t9bvFV/4gAOZdHgB1RPeUEeAZAeBr0d4R4JIACuqI7ikjwDMD
@@ -402,7 +420,7 @@
<data name="openToolStripMenuItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
wQAADsEBuJFr7QAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4yMfEgaZUAAABGSURBVDhPYxgc
vAAADrwBlbxySQAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4yMfEgaZUAAABGSURBVDhPYxgc
4P8Chv8YeKWUIFSaMPi/W+r//1MapOGTOixQ7UADsCkgAkO1jxoAAtgkicFQ7cPCAGLB////wXgwAQYG
AOrUrx4HdAXuAAAAAElFTkSuQmCC
</value>
@@ -416,7 +434,7 @@
<data name="extractToolStripMenuItem1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
wwAADsMBx2+oZAAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4xMkMEa+wAAABVSURBVDhPvYwB
vAAADrwBlbxySQAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4xMkMEa+wAAABVSURBVDhPvYwB
CgAgCAP9/6cLg0BlS4XqQGjmTn4xyLQ4CtCnnQ3b+0CIZddxARBL9r1wIbCP401JgMrwFi1RWSkJWFlJ
BaeyUhYwUkHGO0FnbiEyAQxPT7Gcb/TQAAAAAElFTkSuQmCC
</value>
@@ -433,7 +451,7 @@
<data name="saveToolStripMenuItem1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
wwAADsMBx2+oZAAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4yMfEgaZUAAADfSURBVDhPYxg8
vAAADrwBlbxySQAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4yMfEgaZUAAADfSURBVDhPYxg8
QLt++3yTGbf/Fm599P/Nh49wfPXxq/+rTt37f+Dak/8gOSBgAGEMANIMxGBFyAasPf/0v8GE8//z1t8C
y4HU4DIALIluwLpLL+HiMANAGKoNAWASCavv/n/57gPcgOvP3oENOXj7NViOoAFGU6791+k4ghWD5Aga
QCyGakMAkODcU89R/I8Ng9TgNADk14dPn/8/c+kqVgySgwUqVBsCwAx49urN/zsPHmPFIDmaGvAXJInN
@@ -452,7 +470,7 @@
<data name="saveToolStripMenuItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
wgAADsIBFShKgAAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4yMfEgaZUAAADfSURBVDhPYxg8
vAAADrwBlbxySQAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4yMfEgaZUAAADfSURBVDhPYxg8
IEt7+/x6k9t/lxQ++v/2zUc4vnv11f+Dq+79v3DgyX+QHBAwgDAGAGkGYrAiZAOOrX36v9zg/P95ebfA
ciA1uAwAS6IbcGLdS7g4zAAQhmpDAJjEjIS7/1+//AA34MH1d2BDLh98DZYjaECN0bX/BTpHsGKQHEED
iMVQbQgAEtw39zmK/7FhkBqcBoD8+vjh8//nz1zFikFysECFakMAmAEvnr35f//OY6wYJEdTA/6CJLH5
@@ -471,7 +489,7 @@
<data name="metaToolStripMenuItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
wwAADsMBx2+oZAAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4yMfEgaZUAAACuSURBVFhH7c3B
vAAADrwBlbxySQAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4yMfEgaZUAAACuSURBVFhH7c3B
CcMwDEZh37pAoUt0/0V66DKB1jkERHiWZPtPAyUfvEscSeXyDz4DydDyTBK0eN8Lvq1No6W2R8261ez7
FLuoFYneU+wSL/Kuee8heyCKRO8uO5zpWbPuNfvexQ72tsC3tTQaVpRCg6pCNKTMRQPqmuhndS4aUBai
IVVpNDxbN1oy2jBa1ts0WppNhpZHydGRVoehY/sOR0e3fubU45tTj1+ESvkCLEWcefj6dOUAAAAASUVO
@@ -490,7 +508,7 @@
<data name="addPasswordToolStripMenuItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
wwAADsMBx2+oZAAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4yMfEgaZUAAACRSURBVFhH7Y45
vAAADrwBlbxySQAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4yMfEgaZUAAACRSURBVFhH7Y45
DoAwDATz/09DZWRF62utUIBHmgayk6xhaHBtvs5/HmBdor97/1roUEcaFGOkQTHGFpVg5WyaarB6PoSJ
MZsHPd7NgrZiCBqJWdBWDEEjMQvaiiFoJGZBW7EMM2Y2JjqWCVbPh+xBL1o5mwIFGWlQjJEGxRhbWCH9
3ft3DH3J0Yss5gHDF1jrBvn6/wGuM1ZgAAAAAElFTkSuQmCC
@@ -520,7 +538,7 @@
<data name="advancedMetaAddingToolStripMenuItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
wwAADsMBx2+oZAAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4yMfEgaZUAAACRSURBVFhH7Y45
vAAADrwBlbxySQAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4yMfEgaZUAAACRSURBVFhH7Y45
DoAwDATz/09DZWRF62utUIBHmgayk6xhaHBtvs5/HmBdor97/1roUEcaFGOkQTHGFpVg5WyaarB6PoSJ
MZsHPd7NgrZiCBqJWdBWDEEjMQvaiiFoJGZBW7EMM2Y2JjqWCVbPh+xBL1o5mwIFGWlQjJEGxRhbWCH9
3ft3DH3J0Yss5gHDF1jrBvn6/wGuM1ZgAAAAAElFTkSuQmCC
@@ -538,7 +556,7 @@
<data name="convertToBedrockToolStripMenuItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
wwAADsMBx2+oZAAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4xMkMEa+wAAAJeSURBVDhPhVFp
vAAADrwBlbxySQAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4xMkMEa+wAAAJeSURBVDhPhVFp
TxNRFH1/RbGdlsQElaWzdaQgbadFtnkznWlLCm2Q2UCxTqdFFAzTRONSYheIoCjRpmoErBiKW/hi4q+q
bxpoSPzgyfnw7r3nvHvveyD92W/UQ5l9Vt6h5B1S2/Wntnr1977lHxDltVr/7FtaqTLJbc/YU+f8x0GQ
rgfmPgw9aoj390dX6uMSgWlVMvkGT7zqLR5PF34lzL3w9HZXunZNfuedr/nAw+9RnnZt/dHl1+SN2lWO
@@ -1084,7 +1102,7 @@
<data name="binkaConversionToolStripMenuItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAYAAACtWK6eAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAL
EwAACxMBAJqcGAAADbVJREFUeF7t3QnQfeUAx/Gska3IMpaUoQUphZAlk2VCDAY1WRq77PuIjAkZjG1C
DAAACwwBP0AiyAAADbVJREFUeF7t3QnQfeUAx/Gska3IMpaUoQUphZAlk2VCDAY1WRq77PuIjAkZjG1C
KUsi2YeZksYyIVlGYYZQamyFIjSyF7+f+s9cZ773fZ/nPOd/n/e97+8z8x3N33ue+8z53/t/773nOeds
EREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREbFo
11A7q/uqu6gtVcSGd1P1NvUH9Z+ZLlPHqx1VxIZ0f/U7NfvCGPZ3dbCK2DCupg5R/1L0oqAOVBFL79rq
@@ -1161,7 +1179,7 @@
<data name="installationToolStripMenuItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAABkAAAAZACAYAAAAhDI6nAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
wwAADsMBx2+oZAAAi+1JREFUeF7s3atXXNu67mH+qLi4WGwUPmJaLB6FxMVGYbFxyJhYNDou+rTz9cWc
vAAADrwBlbxySQAAi+1JREFUeF7s3atXXNu67mH+qLi4WGwUPmJaLB6FxMVGYbFxyJhYNDou+rTz9cWc
e17yJeFS1cflfZ7Wfq2dy95rzQnU6EW91KgTAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
@@ -4040,7 +4058,7 @@
<data name="pictureBox2.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAAbYAAAB7CAYAAAAYCKWuAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
wwAADsMBx2+oZAAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4xOdTWsmQAAJjWSURBVHhe7b0J
vAAADrwBlbxySQAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4xOdTWsmQAAJjWSURBVHhe7b0J
vF1VleDdGZkJEUHmiAOKAyAEcCpQRkGIoqICCo6FisHSmr+augvtqq62u6q6q0vqa7/qmrQUCCBJSAKZ
AxkgDAkkYQrzEGZQkJn3/f/7nHXvvuede9+9L+8F7d/dv9969wx7r73mtfY+5973H/qt3/qt3/qt3/qt
3/qt3/qt3/qt3/qt3/qt3/qt3/qt3/qt3/qt3/qt3/qt3/qt3/qt3/qt3/qt3/qt3/qt3/qt3/qt3/qt
@@ -5487,13 +5505,13 @@
<value>Segoe UI, 8.25pt</value>
</data>
<data name="richTextBoxChangelog.Location" type="System.Drawing.Point, System.Drawing">
<value>450, 70</value>
<value>451, 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, 408</value>
<value>297, 408</value>
</data>
<data name="richTextBoxChangelog.TabIndex" type="System.Int32, mscorlib">
<value>15</value>
@@ -5520,7 +5538,7 @@
<value>True</value>
</data>
<data name="label5.Location" type="System.Drawing.Point, System.Drawing">
<value>453, 51</value>
<value>454, 51</value>
</data>
<data name="label5.Size" type="System.Drawing.Size, System.Drawing">
<value>81, 19</value>
@@ -5553,7 +5571,7 @@
<value>3, 3</value>
</data>
<data name="pckOpen.Size" type="System.Drawing.Size, System.Drawing">
<value>444, 502</value>
<value>445, 502</value>
</data>
<data name="pckOpen.SizeMode" type="System.Windows.Forms.PictureBoxSizeMode, System.Windows.Forms">
<value>Zoom</value>
@@ -8124,9 +8142,6 @@
AP//AAA=
</value>
</data>
<data name="$this.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="$this.MinimumSize" type="System.Drawing.Size, System.Drawing">
<value>818, 602</value>
</data>
@@ -8160,6 +8175,24 @@
<data name="&gt;&gt;createAnimatedTextureToolStripMenuItem.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;audiopckToolStripMenuItem.Name" xml:space="preserve">
<value>audiopckToolStripMenuItem</value>
</data>
<data name="&gt;&gt;audiopckToolStripMenuItem.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;normalAudiopckToolStripMenuItem.Name" xml:space="preserve">
<value>normalAudiopckToolStripMenuItem</value>
</data>
<data name="&gt;&gt;normalAudiopckToolStripMenuItem.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;vitaPS4AudiopckToolStripMenuItem.Name" xml:space="preserve">
<value>vitaPS4AudiopckToolStripMenuItem</value>
</data>
<data name="&gt;&gt;vitaPS4AudiopckToolStripMenuItem.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;cloneFileToolStripMenuItem.Name" xml:space="preserve">
<value>cloneFileToolStripMenuItem</value>
</data>

View File

@@ -44,11 +44,16 @@
this.helpToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.metroCheckBox1 = new MetroFramework.Controls.MetroCheckBox();
this.metroButton1 = new MetroFramework.Controls.MetroButton();
this.pictureBoxWithInterpolationMode1 = new PckStudio.PictureBoxWithInterpolationMode();
this.timer1 = new System.Windows.Forms.Timer(this.components);
this.metroButton2 = new MetroFramework.Controls.MetroButton();
this.tileLabel = new MetroFramework.Controls.MetroLabel();
this.metroCheckBox2 = new MetroFramework.Controls.MetroCheckBox();
this.metroLabel1 = new MetroFramework.Controls.MetroLabel();
this.numericUpDown1 = new System.Windows.Forms.NumericUpDown();
this.pictureBoxWithInterpolationMode1 = new PckStudio.PictureBoxWithInterpolationMode();
this.contextMenuStrip1.SuspendLayout();
this.menuStrip.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.numericUpDown1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.pictureBoxWithInterpolationMode1)).BeginInit();
this.SuspendLayout();
//
@@ -62,7 +67,7 @@
this.treeView1.Margin = new System.Windows.Forms.Padding(0);
this.treeView1.MaximumSize = new System.Drawing.Size(205, 350);
this.treeView1.Name = "treeView1";
this.treeView1.Size = new System.Drawing.Size(165, 264);
this.treeView1.Size = new System.Drawing.Size(165, 196);
this.treeView1.TabIndex = 15;
this.treeView1.ItemDrag += new System.Windows.Forms.ItemDragEventHandler(this.treeView1_ItemDrag);
this.treeView1.AfterSelect += new System.Windows.Forms.TreeViewEventHandler(this.treeView1_AfterSelect);
@@ -172,7 +177,7 @@
// metroCheckBox1
//
this.metroCheckBox1.AutoSize = true;
this.metroCheckBox1.Location = new System.Drawing.Point(188, 285);
this.metroCheckBox1.Location = new System.Drawing.Point(182, 312);
this.metroCheckBox1.Name = "metroCheckBox1";
this.metroCheckBox1.Size = new System.Drawing.Size(204, 15);
this.metroCheckBox1.TabIndex = 17;
@@ -182,15 +187,91 @@
//
// metroButton1
//
this.metroButton1.Location = new System.Drawing.Point(188, 306);
this.metroButton1.Location = new System.Drawing.Point(182, 286);
this.metroButton1.Name = "metroButton1";
this.metroButton1.Size = new System.Drawing.Size(103, 24);
this.metroButton1.Size = new System.Drawing.Size(99, 24);
this.metroButton1.TabIndex = 18;
this.metroButton1.Text = "Play Animation";
this.metroButton1.Theme = MetroFramework.MetroThemeStyle.Dark;
this.metroButton1.UseSelectable = true;
this.metroButton1.Click += new System.EventHandler(this.metroButton1_Click);
//
// timer1
//
this.timer1.Interval = 1;
this.timer1.Tick += new System.EventHandler(this.animate);
//
// metroButton2
//
this.metroButton2.Enabled = false;
this.metroButton2.Location = new System.Drawing.Point(287, 286);
this.metroButton2.Name = "metroButton2";
this.metroButton2.Size = new System.Drawing.Size(99, 24);
this.metroButton2.TabIndex = 19;
this.metroButton2.Text = "Stop Animation";
this.metroButton2.Theme = MetroFramework.MetroThemeStyle.Dark;
this.metroButton2.UseSelectable = true;
this.metroButton2.Click += new System.EventHandler(this.metroButton2_Click);
//
// tileLabel
//
this.tileLabel.AutoSize = true;
this.tileLabel.Location = new System.Drawing.Point(6, 286);
this.tileLabel.MinimumSize = new System.Drawing.Size(170, 19);
this.tileLabel.Name = "tileLabel";
this.tileLabel.Size = new System.Drawing.Size(57, 19);
this.tileLabel.TabIndex = 20;
this.tileLabel.Text = "tileLabel";
this.tileLabel.Theme = MetroFramework.MetroThemeStyle.Dark;
//
// metroCheckBox2
//
this.metroCheckBox2.AutoSize = true;
this.metroCheckBox2.Location = new System.Drawing.Point(6, 308);
this.metroCheckBox2.Name = "metroCheckBox2";
this.metroCheckBox2.Size = new System.Drawing.Size(128, 15);
this.metroCheckBox2.TabIndex = 21;
this.metroCheckBox2.Text = "Is Mip Map Texture?";
this.metroCheckBox2.Theme = MetroFramework.MetroThemeStyle.Dark;
this.metroCheckBox2.UseSelectable = true;
this.metroCheckBox2.CheckedChanged += new System.EventHandler(this.metroCheckBox2_CheckedChanged);
//
// metroLabel1
//
this.metroLabel1.AutoSize = true;
this.metroLabel1.Location = new System.Drawing.Point(7, 326);
this.metroLabel1.Name = "metroLabel1";
this.metroLabel1.Size = new System.Drawing.Size(99, 19);
this.metroLabel1.TabIndex = 22;
this.metroLabel1.Text = "Mip Map Level:";
this.metroLabel1.Theme = MetroFramework.MetroThemeStyle.Dark;
this.metroLabel1.Visible = false;
//
// numericUpDown1
//
this.numericUpDown1.BackColor = System.Drawing.Color.Black;
this.numericUpDown1.ForeColor = System.Drawing.SystemColors.Window;
this.numericUpDown1.Location = new System.Drawing.Point(113, 326);
this.numericUpDown1.Maximum = new decimal(new int[] {
3,
0,
0,
0});
this.numericUpDown1.Minimum = new decimal(new int[] {
2,
0,
0,
0});
this.numericUpDown1.Name = "numericUpDown1";
this.numericUpDown1.Size = new System.Drawing.Size(44, 20);
this.numericUpDown1.TabIndex = 23;
this.numericUpDown1.Value = new decimal(new int[] {
2,
0,
0,
0});
this.numericUpDown1.Visible = false;
//
// pictureBoxWithInterpolationMode1
//
this.pictureBoxWithInterpolationMode1.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.NearestNeighbor;
@@ -201,23 +282,6 @@
this.pictureBoxWithInterpolationMode1.TabIndex = 16;
this.pictureBoxWithInterpolationMode1.TabStop = false;
//
// timer1
//
this.timer1.Interval = 25;
this.timer1.Tick += new System.EventHandler(this.animate);
//
// metroButton2
//
this.metroButton2.Enabled = false;
this.metroButton2.Location = new System.Drawing.Point(293, 306);
this.metroButton2.Name = "metroButton2";
this.metroButton2.Size = new System.Drawing.Size(103, 24);
this.metroButton2.TabIndex = 19;
this.metroButton2.Text = "Stop Animation";
this.metroButton2.Theme = MetroFramework.MetroThemeStyle.Dark;
this.metroButton2.UseSelectable = true;
this.metroButton2.Click += new System.EventHandler(this.metroButton2_Click);
//
// AnimationEditor
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
@@ -225,6 +289,10 @@
this.ClientSize = new System.Drawing.Size(400, 356);
this.Controls.Add(this.metroButton2);
this.Controls.Add(this.metroButton1);
this.Controls.Add(this.numericUpDown1);
this.Controls.Add(this.metroLabel1);
this.Controls.Add(this.metroCheckBox2);
this.Controls.Add(this.tileLabel);
this.Controls.Add(this.metroCheckBox1);
this.Controls.Add(this.pictureBoxWithInterpolationMode1);
this.Controls.Add(this.treeView1);
@@ -236,6 +304,7 @@
this.contextMenuStrip1.ResumeLayout(false);
this.menuStrip.ResumeLayout(false);
this.menuStrip.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.numericUpDown1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.pictureBoxWithInterpolationMode1)).EndInit();
this.ResumeLayout(false);
this.PerformLayout();
@@ -261,5 +330,9 @@
private System.Windows.Forms.ToolStripMenuItem importJavaAnimationToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem helpToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem changeTileToolStripMenuItem;
private MetroFramework.Controls.MetroLabel tileLabel;
private MetroFramework.Controls.MetroCheckBox metroCheckBox2;
private MetroFramework.Controls.MetroLabel metroLabel1;
private System.Windows.Forms.NumericUpDown numericUpDown1;
}
}

View File

@@ -16,6 +16,7 @@ namespace PckStudio
TreeView treeViewMain = new TreeView();
PCK.MineFile mf = new PCK.MineFile();
List<Image> frames = new List<Image>();
Newtonsoft.Json.Linq.JObject tileData = Newtonsoft.Json.Linq.JObject.Parse(System.Text.Encoding.Default.GetString(Properties.Resources.tileData));
Image texture;
int frameCount;
bool isItem = false;
@@ -35,12 +36,20 @@ namespace PckStudio
public AnimationEditor(TreeView treeViewIn, String createdFileName = "")
{
InitializeComponent();
treeViewMain = treeViewIn;
if (String.IsNullOrEmpty(createdFileName))
{
newTileName = Path.GetFileNameWithoutExtension(treeViewMain.SelectedNode.Text);
if (treeViewMain.SelectedNode.Parent.Text.ToLower() == "items".ToLower()) isItem = true;
if (treeViewMain.SelectedNode.Parent.Text.ToLower() == "items") isItem = true;
mf = treeViewMain.SelectedNode.Tag as PCK.MineFile;
if (newTileName.EndsWith("MipMapLevel2") || newTileName.EndsWith("MipMapLevel3"))
{
string mipMapLvl = newTileName.Last().ToString();
newTileName = newTileName.Substring(0, newTileName.Length - 12);
metroCheckBox2.Checked = true;
numericUpDown1.Value = Int16.Parse(mipMapLvl);
}
}
else
{
@@ -76,11 +85,20 @@ namespace PckStudio
//if (strEntries.Find(entry => entry == "ANIM") == null) throw new System.Exception("ANIM tag is missing. No animation code is present.");
InitializeComponent();
MemoryStream textureMem = new MemoryStream(mf.data);
texture = Image.FromStream(textureMem);
createFrameList();
Console.WriteLine(newTileName);
foreach (Newtonsoft.Json.Linq.JObject content in tileData[isItem ? "Items" : "Blocks"].Children())
{
foreach (Newtonsoft.Json.Linq.JProperty prop in content.Properties())
{
if (prop.Name == newTileName) tileLabel.Text = (string)prop.Value;
}
}
string anim = "";
if (strEntries.Find(entry => entry == "ANIM") == null) anim = "";
else anim = strEntryData[strEntries.FindIndex(entry => entry == "ANIM")];
@@ -192,37 +210,32 @@ namespace PckStudio
}
int animCurrentFrame = 0;
int animCurrentFrameTime = 0;
int animCurrentTotalFrameTime = -1;
Tuple<string, string> currentFrameData = new Tuple<string, string>("", "");
Image img = null;
int nextFrame;
int frameCounter = 0; // ported directly from Java Edition code -MattNL
//int frameCounter = 0; // ported directly from Java Edition code -MattNL
Image imgB = null;
void animate(object sender, EventArgs e)
{
if (animCurrentFrameTime > animCurrentTotalFrameTime)
{
Console.WriteLine(frameCounter + " $$$ " + frameCount);
frameCounter = (frameCounter + 1) % frameCount;
animCurrentTotalFrameTime = 0;
animCurrentFrameTime = 0;
if (animCurrentFrame > (treeView1.Nodes.Count - 1)) animCurrentFrame = 0;
currentFrameData = treeView1.Nodes[animCurrentFrame].Tag as Tuple<string, string>;
pictureBoxWithInterpolationMode1.Image = frames[Int16.Parse(currentFrameData.Item1)];
animCurrentTotalFrameTime = Int16.Parse(currentFrameData.Item2);
animCurrentFrame++;
//Console.WriteLine(frameCounter + " $$$ " + frameCount);
//frameCounter = (frameCounter + 1) % frameCount;
if (animCurrentFrame > (treeView1.Nodes.Count - 1)) animCurrentFrame = 0;
currentFrameData = treeView1.Nodes[animCurrentFrame].Tag as Tuple<string, string>;
pictureBoxWithInterpolationMode1.Image = frames[Int16.Parse(currentFrameData.Item1)];
//animCurrentTotalFrameTime = Int16.Parse(currentFrameData.Item2);
timer1.Interval = Int16.Parse(currentFrameData.Item2) * 50;
animCurrentFrame++;
if (metroCheckBox1.Checked)
{
img = frames[Int16.Parse(currentFrameData.Item1)];
nextFrame = animCurrentFrame + 1;
if (nextFrame > frameCount - 1) nextFrame = 0;
Console.WriteLine(nextFrame);
imgB = frames[nextFrame];
}
if (metroCheckBox1.Checked)
{
img = frames[Int16.Parse(currentFrameData.Item1)];
nextFrame = animCurrentFrame + 1;
if (nextFrame > frameCount - 1) nextFrame = 0;
Console.WriteLine(nextFrame);
imgB = frames[nextFrame];
}
#region interpolation code (unoptimized and unused at the moment)
// Interpolation Code (Very slow, messy, and resource heavy depending on the resolution!!!)
/*else if(metroCheckBox1.Checked && (img != null && imgB != null))
@@ -293,16 +306,17 @@ namespace PckStudio
}
}
*/
Console.WriteLine(animCurrentFrame + " - " + animCurrentFrameTime + " - " + animCurrentTotalFrameTime + " - " + (treeView1.Nodes.Count - 1));
animCurrentFrameTime++;
#endregion
//Console.WriteLine(animCurrentFrame + " - " + animCurrentFrameTime + " - " + animCurrentTotalFrameTime + " - " + (treeView1.Nodes.Count - 1));
}
private void metroButton1_Click(object sender, EventArgs e)
{
animCurrentFrame = 0;
animCurrentFrameTime = 0;
animCurrentTotalFrameTime = -1;
frameCounter = 0;
//animCurrentFrameTime = 0;
//animCurrentTotalFrameTime = -1;
//frameCounter = 0;
metroButton1.Enabled = false;
metroButton2.Enabled = true;
timer1.Start();
@@ -406,6 +420,11 @@ namespace PckStudio
mf.filesize = mf.data.Length;
}
if (metroCheckBox2.Checked)
{
newTileName += (string)("MipMapLevel" + numericUpDown1.Value.ToString());
}
if (!create && treeViewMain.SelectedNode.Tag != null) treeViewMain.SelectedNode.Text = newTileName + ".png";
int animIndex = mf.entries.FindIndex(entry => (string)entry[0] == "ANIM");
@@ -453,6 +472,8 @@ namespace PckStudio
treeViewMain.SelectedNode.Remove();
addNodeToAnimationsFolder(newNode);
}
if(metroCheckBox2.Checked) newTileName = newTileName.Substring(0, newTileName.Length - 12);
}
// Most of the code below is modified code from this link: https://docs.microsoft.com/en-us/dotnet/api/system.windows.forms.treeview.itemdrag?view=windowsdesktop-6.0
@@ -702,9 +723,22 @@ namespace PckStudio
PckStudio.Forms.Utilities.AnimationEditor.ChangeTile diag = new Forms.Utilities.AnimationEditor.ChangeTile(newTileName);
diag.ShowDialog(this);
Console.WriteLine(diag.SelectedTile);
if (newTileName != diag.SelectedTile) isItem = diag.IsItem;
newTileName = diag.SelectedTile;
isItem = diag.IsItem;
diag.Dispose();
foreach (Newtonsoft.Json.Linq.JObject content in tileData[isItem ? "Items" : "Blocks"].Children())
{
foreach (Newtonsoft.Json.Linq.JProperty prop in content.Properties())
{
if (prop.Name == newTileName) tileLabel.Text = (string)prop.Value;
}
}
}
private void metroCheckBox2_CheckedChanged(object sender, EventArgs e)
{
metroLabel1.Visible = metroCheckBox2.Checked;
numericUpDown1.Visible = metroCheckBox2.Checked;
}
}
}

View File

@@ -127,7 +127,7 @@
<data name="saveToolStripMenuItem1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
vQAADr0BR/uQrQAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4yMfEgaZUAAADfSURBVDhPYxg8
vAAADrwBlbxySQAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4yMfEgaZUAAADfSURBVDhPYxg8
QLt++3yTGbf/Fm599P/Nh49wfPXxq/+rTt37f+Dak/8gOSBgAGEMANIMxGBFyAasPf/0v8GE8//z1t8C
y4HU4DIALIluwLpLL+HiMANAGKoNAWASCavv/n/57gPcgOvP3oENOXj7NViOoAFGU6791+k4ghWD5Aga
QCyGakMAkODcU89R/I8Ng9TgNADk14dPn/8/c+kqVgySgwUqVBsCwAx49urN/zsPHmPFIDmaGvAXJInN

View File

@@ -46,6 +46,7 @@ namespace PckStudio.Forms.Utilities
this.textBox1 = new System.Windows.Forms.TextBox();
this.metroLabel2 = new MetroFramework.Controls.MetroLabel();
this.metroLabel1 = new MetroFramework.Controls.MetroLabel();
this.helpToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.contextMenuStrip1.SuspendLayout();
this.menuStrip.SuspendLayout();
this.contextMenuStrip2.SuspendLayout();
@@ -87,7 +88,8 @@ namespace PckStudio.Forms.Utilities
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.fileToolStripMenuItem,
this.helpToolStripMenuItem});
this.menuStrip.Name = "menuStrip";
//
// fileToolStripMenuItem
@@ -106,12 +108,15 @@ namespace PckStudio.Forms.Utilities
//
// treeView2
//
this.treeView2.AllowDrop = true;
this.treeView2.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
this.treeView2.ContextMenuStrip = this.contextMenuStrip2;
this.treeView2.ForeColor = System.Drawing.Color.White;
resources.ApplyResources(this.treeView2, "treeView2");
this.treeView2.Name = "treeView2";
this.treeView2.AfterSelect += new System.Windows.Forms.TreeViewEventHandler(this.treeView2_AfterSelect);
this.treeView2.DragDrop += new System.Windows.Forms.DragEventHandler(this.Binka_DragDrop);
this.treeView2.DragEnter += new System.Windows.Forms.DragEventHandler(this.treeView2_DragEnter);
this.treeView2.KeyDown += new System.Windows.Forms.KeyEventHandler(this.treeView2_KeyDown);
//
// contextMenuStrip2
@@ -162,6 +167,13 @@ namespace PckStudio.Forms.Utilities
this.metroLabel1.Name = "metroLabel1";
this.metroLabel1.Theme = MetroFramework.MetroThemeStyle.Dark;
//
// helpToolStripMenuItem
//
this.helpToolStripMenuItem.ForeColor = System.Drawing.Color.White;
this.helpToolStripMenuItem.Name = "helpToolStripMenuItem";
resources.ApplyResources(this.helpToolStripMenuItem, "helpToolStripMenuItem");
this.helpToolStripMenuItem.Click += new System.EventHandler(this.helpToolStripMenuItem_Click);
//
// AudioEditor
//
resources.ApplyResources(this, "$this");
@@ -202,5 +214,6 @@ namespace PckStudio.Forms.Utilities
private System.Windows.Forms.ToolStripMenuItem removeEntryMenuItem;
private MetroFramework.Controls.MetroLabel metroLabel2;
private MetroFramework.Controls.MetroLabel metroLabel1;
private System.Windows.Forms.ToolStripMenuItem helpToolStripMenuItem;
}
}

View File

@@ -16,24 +16,35 @@ namespace PckStudio.Forms.Utilities
{
public partial class AudioEditor : MetroForm
{
public bool saved = false;
public string defaultType;
public string cat;
public List<int> cats = new List<int>();
public List<int> totalCats = new List<int>();
public class NodeSorter : System.Collections.IComparer
{
public int Compare(object x, object y)
{
if (x == null || y == null) return -1;
return (x as TreeNode).ImageIndex.CompareTo((x as TreeNode).ImageIndex);
}
}
public string getCatString(int cat)
{
switch (cat)
{
case 0: return "Overworld"; break;
case 1: return "Nether"; break;
case 2: return "End"; break;
case 3: return "Creative"; break;
case 4: return "Menu"; break;
case 5: return "Battle"; break;
case 6: return "Tumble"; break;
case 7: return "Glide"; break;
case 8: return "Unused"; break; // Unknown what this is used for. Probably the scrapped Mini Game 4 referenced in the code
default: return "Not valid"; break;
case 0: return "Overworld";
case 1: return "Nether";
case 2: return "End";
case 3: return "Creative";
case 4: return "Menu";
case 5: return "Battle";
case 6: return "Tumble";
case 7: return "Glide";
case 8: return "Unused"; // Unknown what this is used for. Probably the scrapped Mini Game 4 referenced in the code
default: return "Not valid";
}
}
@@ -41,33 +52,51 @@ namespace PckStudio.Forms.Utilities
{
switch (cat)
{
case "Overworld": return 0; break;
case "Nether": return 1; break;
case "End": return 2; break;
case "Creative": return 3; break;
case "Menu": return 4; break;
case "Battle": return 5; break;
case "Tumble": return 6; break;
case "Glide": return 7; break;
case "Unused": return 8; break; // Unknown what this is used for. Probably the scrapped Mini Game 4 referenced in the code
default: return -1; break;
case "Overworld": return 0;
case "Nether": return 1;
case "End": return 2;
case "Creative": return 3;
case "Menu": return 4;
case "Battle": return 5;
case "Tumble": return 6;
case "Glide": return 7;
case "Unused": return 8; // Unknown what this is used for. Probably the scrapped Mini Game 4 referenced in the code
default: return -1;
}
}
PCK audioPCK = new PCK();
bool isVita;
PCK.MineFile mf;
public AudioEditor(byte[] data, PCK.MineFile MineFile)
public AudioEditor(PCK.MineFile MineFile, bool littleEndian)
{
isVita = littleEndian;
ImageList catImages = new ImageList();
catImages.ColorDepth = ColorDepth.Depth32Bit;
catImages.Images.Add(Properties.Resources.audio_0_overworld);
catImages.Images.Add(Properties.Resources.audio_1_nether);
catImages.Images.Add(Properties.Resources.audio_2_end);
catImages.Images.Add(Properties.Resources.audio_3_creative);
catImages.Images.Add(Properties.Resources.audio_4_menu);
catImages.Images.Add(Properties.Resources.audio_5_mg01);
catImages.Images.Add(Properties.Resources.audio_6_mg02);
catImages.Images.Add(Properties.Resources.audio_7_mg03);
InitializeComponent();
audioPCK.Read(data);
treeView1.ImageList = catImages;
mf = MineFile;
if (isVita) audioPCK.ReadVita(mf.data, true);
else audioPCK.Read(mf.data, true);
defaultType = audioPCK.types[0];
int check; // This is needed for the TryGetValue function which is annoying
if(!audioPCK.typeCodes.TryGetValue("CUENAME", out check))
if (!audioPCK.typeCodes.TryGetValue("CUENAME", out check))
{
throw new System.Exception("This is not a valid audio.pck file");
}
mf = MineFile;
int index = 0;
List<PCK.MineFile> tempMineFiles = audioPCK.mineFiles.ToList();
List<PCK.MineFile> tempMineFiles = audioPCK.mineFiles;
foreach (PCK.MineFile mineFile in tempMineFiles)
{
mineFile.name = getCatString(mineFile.type);
@@ -75,7 +104,7 @@ namespace PckStudio.Forms.Utilities
if (cats.Contains<int>(mineFile.type))
{
Console.WriteLine("Duplicate category found, " + getCatString(mineFile.type) + ". Combining...");
List<object[]> newEntries = mineFile.entries.ToList();
List<object[]> newEntries = mineFile.entries;
audioPCK.mineFiles.Remove(mineFile);
audioPCK.mineFiles.Find(category => category.name == getCatString(mineFile.type)).entries.AddRange(newEntries);
}
@@ -84,13 +113,17 @@ namespace PckStudio.Forms.Utilities
TreeNode treeNode = new TreeNode();
treeNode.Text = mineFile.name;
treeNode.Tag = mineFile;
treeNode.ImageIndex = mineFile.type;
treeNode.SelectedImageIndex = mineFile.type;
treeView1.Nodes.Add(treeNode);
cats.Add(mineFile.type);
}
index++;
continue;
}
treeView1.TreeViewNodeSorter = new NodeSorter();
treeView1.Sort();
}
private void treeView2_AfterSelect(object sender, TreeViewEventArgs e)
@@ -100,7 +133,7 @@ namespace PckStudio.Forms.Utilities
string type = audioPCK.types[0];
defaultType = type;
string value = "";
if(strings != null)
if (strings != null)
{
type = (string)strings[0];
value = (string)strings[1];
@@ -122,11 +155,11 @@ namespace PckStudio.Forms.Utilities
TreeNode meta = new TreeNode();
foreach (object[] entryy in mineFile.entries)
meta.Text = (string)strings[0];
meta.Text = (string)strings[0];
meta.Tag = entry;
treeView2.Nodes.Add(meta);
continue;
}
if (treeView2.Nodes.Count > 0) treeView2.SelectedNode = treeView2.Nodes[0];
}
private void textBox1_TextChanged(object sender, EventArgs e)
@@ -159,7 +192,8 @@ namespace PckStudio.Forms.Utilities
PckStudio.addCategory add = new PckStudio.addCategory(this);//sets category adding dialog
add.ShowDialog();//displays metadata adding dialog
add.Dispose();//diposes generated metadata adding dialog data
cats.Add(getCatID(cat));
if (!cats.Contains(getCatID(cat))) cats.Add(getCatID(cat));
else return;
PCK.MineFile mf = new PCK.MineFile();//Creates new minefile template
var emptyBytes = new List<byte>(); // the category files are empty to not take up space
@@ -170,11 +204,14 @@ namespace PckStudio.Forms.Utilities
mf.name = cat;//sets minfile name to file name
mf.type = getCatID(cat);//sets minefile type to default
TreeNode addNode = new TreeNode(mf.name) { Tag = mf };//creates node for minefile
audioPCK.mineFiles.Add(mf);
addNode.ImageIndex = mf.type;
addNode.SelectedImageIndex = mf.type;
//audioPCK.mineFiles.Add(mf);
treeView1.Nodes.Add(addNode);
treeView1.Sort();
}
}
catch(Exception ex)
catch (Exception ex)
{
MessageBox.Show("All possible categories are used", "There are no more categories that could be added");
}
@@ -182,18 +219,20 @@ namespace PckStudio.Forms.Utilities
private void addEntryMenuItem_Click(object sender, EventArgs e)
{
if (treeView1.SelectedNode == null) return;
object[] obj = { defaultType, "New Entry" };
TreeNode meta = new TreeNode();
meta.Text = "New Entry";
meta.Tag = obj;
treeView2.Nodes.Insert(treeView2.SelectedNode == null ? 0 : treeView2.SelectedNode.Index + 1, meta);
treeView2.Nodes.Add(meta);
((PCK.MineFile)treeView1.SelectedNode.Tag).entries.Add(obj);
}
public void treeView2_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Delete && treeView2.SelectedNode != null)
{
if (treeView1.SelectedNode == null) return; // makes sure you don't run this if there is nothing to delete
((PCK.MineFile)treeView1.SelectedNode.Tag).entries.Remove((object[])treeView2.SelectedNode.Tag);
treeView2.SelectedNode.Remove();
}
@@ -201,10 +240,25 @@ namespace PckStudio.Forms.Utilities
private void removeCategoryStripMenuItem_Click(object sender, EventArgs e)
{
if (treeView1.SelectedNode == null) return; // makes sure you don't run this if there is nothing to delete
cats.Remove(getCatID(treeView1.SelectedNode.Text));
audioPCK.mineFiles.Remove((PCK.MineFile)treeView1.SelectedNode.Tag);
//audioPCK.mineFiles.Remove((PCK.MineFile)treeView1.SelectedNode.Tag);
treeView1.SelectedNode.Remove();
treeView2.Nodes.Clear();
if(treeView1.SelectedNode != null)
{
PCK.MineFile mineFile = (PCK.MineFile)treeView1.SelectedNode.Tag;
foreach (object[] entry in mineFile.entries) //object = metadata entry(name:value)
{
object[] strings = (object[])entry;
TreeNode meta = new TreeNode();
foreach (object[] entryy in mineFile.entries)
meta.Text = (string)strings[0];
meta.Tag = entry;
treeView2.Nodes.Add(meta);
}
}
}
private void removeEntryMenuItem_Click(object sender, EventArgs e)
@@ -213,6 +267,28 @@ namespace PckStudio.Forms.Utilities
treeView2.SelectedNode.Remove();
}
private void Binka_DragDrop(object sender, DragEventArgs e)
{
if (treeView1.SelectedNode != null)
{
string[] FileList = (string[])e.Data.GetData(DataFormats.FileDrop, false);
foreach (string binka in FileList)
{
if(System.IO.Path.GetExtension(binka) == ".binka")
{
object[] obj = { "CUENAME", System.IO.Path.GetFileNameWithoutExtension(binka) };
TreeNode meta = new TreeNode();
meta.Text = "CUENAME";
meta.Tag = obj;
treeView2.Nodes.Add(meta);
((PCK.MineFile)treeView1.SelectedNode.Tag).entries.Add(obj);
}
}
}
}
private static byte[] endianReverseUnicode(byte[] str)
{
byte[] newStr = new byte[str.Length];
@@ -232,21 +308,73 @@ namespace PckStudio.Forms.Utilities
f.writeInt(0);
}
private void saveToolStripMenuItem1_Click(object sender, EventArgs e)
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 static byte[] buildAudioPCKVita(PCK pck)
{
FileOutput fileOutput = new FileOutput();
fileOutput.Endian = Endianness.Big;
fileOutput.writeIntVita(1);
fileOutput.writeIntVita(pck.types.Count);
foreach (int num in pck.types.Keys)
{
fileOutput.writeIntVita(num);
writeMinecraftStringVita(fileOutput, pck.types[num]);
}
fileOutput.writeIntVita(pck.mineFiles.Count);
foreach (PCK.MineFile mineFile in pck.mineFiles)
{
mineFile.name = "";
fileOutput.writeIntVita(mineFile.data.Length);
fileOutput.writeIntVita(mineFile.type);
writeMinecraftStringVita(fileOutput, mineFile.name);
}
foreach (PCK.MineFile mineFile2 in pck.mineFiles)
{
string str = "";
try
{
fileOutput.writeIntVita(mineFile2.entries.Count);
foreach (object[] array in mineFile2.entries)
{
str = array[0].ToString();
fileOutput.writeIntVita(pck.typeCodes[(string)array[0]]);
writeMinecraftStringVita(fileOutput, (string)array[1]);
}
fileOutput.writeBytes(mineFile2.data);
}
catch (Exception)
{
MessageBox.Show(str + " is not in the main metadatabase");
break;
}
}
return fileOutput.getBytes();
}
public static byte[] buildAudioPCK(PCK pck)
{
FileOutput f = new FileOutput();
f.Endian = Endianness.Big;
f.Endian = pck.IsLittleEndian ? Endianness.Little : Endianness.Big;
f.writeInt(1);
f.writeInt(audioPCK.types.Count);
foreach (int type in audioPCK.types.Keys)
f.writeInt(pck.types.Count);
foreach (int type in pck.types.Keys)
{
f.writeInt(type);
writeMinecraftString(f, audioPCK.types[type]);
writeMinecraftString(f, pck.types[type]);
}
f.writeInt(audioPCK.mineFiles.Count);
foreach (PCK.MineFile mf in audioPCK.mineFiles)
f.writeInt(pck.mineFiles.Count);
Console.WriteLine(pck.mineFiles.Count);
foreach (PCK.MineFile mf in pck.mineFiles)
{
mf.name = "";
f.writeInt(mf.data.Length);
@@ -254,7 +382,7 @@ namespace PckStudio.Forms.Utilities
writeMinecraftString(f, mf.name);
}
foreach (PCK.MineFile mf in audioPCK.mineFiles)
foreach (PCK.MineFile mf in pck.mineFiles)
{
string missing = "";
try
@@ -263,7 +391,7 @@ namespace PckStudio.Forms.Utilities
foreach (object[] entry in mf.entries)
{
missing = entry[0].ToString();
f.writeInt(audioPCK.typeCodes[(string)entry[0]]);
f.writeInt(pck.typeCodes[(string)entry[0]]);
writeMinecraftString(f, (string)entry[1]);
}
@@ -275,14 +403,50 @@ namespace PckStudio.Forms.Utilities
break;
}
}
return f.getBytes();
}
private void saveToolStripMenuItem1_Click(object sender, EventArgs e)
{
FormMain.treeViewToMineFiles(treeView1, audioPCK);
mf.data = f.getBytes();
if(!cats.Contains(0) || !cats.Contains(1) || !cats.Contains(2))
{
MessageBox.Show("The game will crash upon loading your pack if the Overworld, Nether and End categories don't all exist.", "Mandatory Categories Missing");
return;
}
bool emptyCat = false;
foreach (PCK.MineFile mf in audioPCK.mineFiles) if (mf.entries.Count == 0) emptyCat = true;
if (emptyCat)
{
MessageBox.Show("The game will crash upon loading your pack if a category is empty", "Empty Category");
return;
}
mf.data = isVita ? buildAudioPCKVita(audioPCK) : buildAudioPCK(audioPCK);
saved = true;
}
private void metroLabel2_Click(object sender, EventArgs e)
{
}
private void treeView2_DragEnter(object sender, DragEventArgs e)
{
e.Effect = DragDropEffects.All;
}
private void helpToolStripMenuItem_Click(object sender, EventArgs e)
{
MessageBox.Show("Simply drag and drop BINKA audio files into the right tree to add them to the category selected on the left tree.\n\n" +
"The \"Menu\" category will only play once when loading the pack, and never again.\n\n" +
"The \"Creative\" category will only play songs listed in that category, and unlike other editions of Minecraft, will NOT play songs from the Overworld category. You can fix this by adding your overworld songs to the Creative category too.\n\n" +
"The mini game categories will only play if you have your pack loaded in those mini games.\n\n" +
"You can modify and create PSVita and PS4 audio pcks by clicking \"PS4/Vita\" in the \"Create -> Audio.pck\" context menu", "Help");
}
}
}

View File

@@ -121,26 +121,6 @@
<value>127, 8</value>
</metadata>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="addCategoryStripMenuItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
vAAADrwBlbxySQAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4xMkMEa+wAAABSSURBVDhP5c0x
DsAgDENRxt7/wmkNSpRGf0CCCZAegxNMM7MlGMp3dIU6dxhKf/QMNxRogeQC8ivw5Vn7C0heJlFA+kL5
jWAohxRkde4wnGftBS90axNmphIGAAAAAElFTkSuQmCC
</value>
</data>
<data name="addCategoryStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>168, 22</value>
</data>
<data name="addCategoryStripMenuItem.Text" xml:space="preserve">
<value>Add Category</value>
</data>
<data name="removeCategoryStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>168, 22</value>
</data>
<data name="removeCategoryStripMenuItem.Text" xml:space="preserve">
<value>Remove Category</value>
</data>
<data name="contextMenuStrip1.Size" type="System.Drawing.Size, System.Drawing">
<value>169, 48</value>
</data>
@@ -179,34 +159,32 @@
<data name="&gt;&gt;treeView1.ZOrder" xml:space="preserve">
<value>4</value>
</data>
<data name="addCategoryStripMenuItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
vAAADrwBlbxySQAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4xMkMEa+wAAABSSURBVDhP5c0x
DsAgDENRxt7/wmkNSpRGf0CCCZAegxNMM7MlGMp3dIU6dxhKf/QMNxRogeQC8ivw5Vn7C0heJlFA+kL5
jWAohxRkde4wnGftBS90axNmphIGAAAAAElFTkSuQmCC
</value>
</data>
<data name="addCategoryStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>168, 22</value>
</data>
<data name="addCategoryStripMenuItem.Text" xml:space="preserve">
<value>Add Category</value>
</data>
<data name="removeCategoryStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>168, 22</value>
</data>
<data name="removeCategoryStripMenuItem.Text" xml:space="preserve">
<value>Remove Category</value>
</data>
<metadata name="menuStrip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>19, 8</value>
</metadata>
<data name="menuStrip.AutoSize" type="System.Boolean, mscorlib">
<value>False</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>98, 22</value>
</data>
<data name="saveToolStripMenuItem1.Text" xml:space="preserve">
<value>Save</value>
</data>
<data name="fileToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>37, 20</value>
</data>
<data name="fileToolStripMenuItem.Text" xml:space="preserve">
<value>File</value>
</data>
<data name="menuStrip.Location" type="System.Drawing.Point, System.Drawing">
<value>20, 60</value>
</data>
@@ -231,29 +209,31 @@
<data name="&gt;&gt;menuStrip.ZOrder" xml:space="preserve">
<value>8</value>
</data>
<data name="fileToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>37, 20</value>
</data>
<data name="fileToolStripMenuItem.Text" xml:space="preserve">
<value>File</value>
</data>
<data name="saveToolStripMenuItem1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
wAAADsABataJCQAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4yMfEgaZUAAADfSURBVDhPYxg8
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>Save</value>
</data>
<metadata name="contextMenuStrip2.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>282, 8</value>
</metadata>
<data name="addEntryMenuItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
vAAADrwBlbxySQAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4xMkMEa+wAAABSSURBVDhP5c0x
DsAgDENRxt7/wmkNSpRGf0CCCZAegxNMM7MlGMp3dIU6dxhKf/QMNxRogeQC8ivw5Vn7C0heJlFA+kL5
jWAohxRkde4wnGftBS90axNmphIGAAAAAElFTkSuQmCC
</value>
</data>
<data name="addEntryMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>147, 22</value>
</data>
<data name="addEntryMenuItem.Text" xml:space="preserve">
<value>Add Entry</value>
</data>
<data name="removeEntryMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>147, 22</value>
</data>
<data name="removeEntryMenuItem.Text" xml:space="preserve">
<value>Remove Entry</value>
</data>
<data name="contextMenuStrip2.Size" type="System.Drawing.Size, System.Drawing">
<value>148, 48</value>
</data>
@@ -284,6 +264,26 @@
<data name="&gt;&gt;treeView2.ZOrder" xml:space="preserve">
<value>7</value>
</data>
<data name="addEntryMenuItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
vAAADrwBlbxySQAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4xMkMEa+wAAABSSURBVDhP5c0x
DsAgDENRxt7/wmkNSpRGf0CCCZAegxNMM7MlGMp3dIU6dxhKf/QMNxRogeQC8ivw5Vn7C0heJlFA+kL5
jWAohxRkde4wnGftBS90axNmphIGAAAAAElFTkSuQmCC
</value>
</data>
<data name="addEntryMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>147, 22</value>
</data>
<data name="addEntryMenuItem.Text" xml:space="preserve">
<value>Add Entry</value>
</data>
<data name="removeEntryMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>147, 22</value>
</data>
<data name="removeEntryMenuItem.Text" xml:space="preserve">
<value>Remove Entry</value>
</data>
<data name="comboBox1.Location" type="System.Drawing.Point, System.Drawing">
<value>290, 155</value>
</data>
@@ -380,6 +380,12 @@
<data name="&gt;&gt;metroLabel1.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<data name="helpToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>44, 20</value>
</data>
<data name="helpToolStripMenuItem.Text" xml:space="preserve">
<value>Help</value>
</data>
<metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
@@ -393,7 +399,7 @@
<value>450, 330</value>
</data>
<data name="$this.Text" xml:space="preserve">
<value>Audio Editor</value>
<value>Music Editor</value>
</data>
<data name="&gt;&gt;addCategoryStripMenuItem.Name" xml:space="preserve">
<value>addCategoryStripMenuItem</value>
@@ -431,6 +437,12 @@
<data name="&gt;&gt;removeEntryMenuItem.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;helpToolStripMenuItem.Name" xml:space="preserve">
<value>helpToolStripMenuItem</value>
</data>
<data name="&gt;&gt;helpToolStripMenuItem.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;$this.Name" xml:space="preserve">
<value>AudioEditor</value>
</data>

View File

@@ -844,6 +844,14 @@
<None Include="Resources\clock.png" />
<None Include="Resources\changeTile.png" />
<None Include="Resources\items.png" />
<None Include="Resources\iconImageList\AudioEditor\0_overworld.png" />
<None Include="Resources\iconImageList\AudioEditor\1_nether.png" />
<None Include="Resources\iconImageList\AudioEditor\2_end.png" />
<None Include="Resources\iconImageList\AudioEditor\3_menu.png" />
<None Include="Resources\iconImageList\AudioEditor\4_creative.png" />
<None Include="Resources\iconImageList\AudioEditor\5_mg01.png" />
<None Include="Resources\iconImageList\AudioEditor\6_mg02.png" />
<None Include="Resources\iconImageList\AudioEditor\7_mg03.png" />
<Content Include="Resources\mss32.dll" />
<None Include="Resources\sdDownload.png" />
<None Include="Resources\Replace.png" />
@@ -867,9 +875,7 @@
<Content Include="favicon %286%29.ico" />
<Content Include="Resources\NoImageFound.png" />
</ItemGroup>
<ItemGroup>
<Folder Include="Resources\iconImageList\" />
</ItemGroup>
<ItemGroup />
<ItemGroup>
<BootstrapperPackage Include=".NETFramework,Version=v4.6.1">
<Visible>False</Visible>

View File

@@ -80,6 +80,86 @@ namespace PckStudio.Properties {
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
public static System.Drawing.Bitmap audio_0_overworld {
get {
object obj = ResourceManager.GetObject("audio_0_overworld", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
public static System.Drawing.Bitmap audio_1_nether {
get {
object obj = ResourceManager.GetObject("audio_1_nether", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
public static System.Drawing.Bitmap audio_2_end {
get {
object obj = ResourceManager.GetObject("audio_2_end", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
public static System.Drawing.Bitmap audio_3_creative {
get {
object obj = ResourceManager.GetObject("audio_3_creative", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
public static System.Drawing.Bitmap audio_4_menu {
get {
object obj = ResourceManager.GetObject("audio_4_menu", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
public static System.Drawing.Bitmap audio_5_mg01 {
get {
object obj = ResourceManager.GetObject("audio_5_mg01", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
public static System.Drawing.Bitmap audio_6_mg02 {
get {
object obj = ResourceManager.GetObject("audio_6_mg02", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
public static System.Drawing.Bitmap audio_7_mg03 {
get {
object obj = ResourceManager.GetObject("audio_7_mg03", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
@@ -230,6 +310,16 @@ namespace PckStudio.Properties {
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
public static System.Drawing.Bitmap music {
get {
object obj = ResourceManager.GetObject("music", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>

View File

@@ -145,26 +145,41 @@
<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="audio_2_end" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\iconImageList\AudioEditor\2_end.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</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="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>..\Resources\iconImageList\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>..\Resources\iconImageList\IMAGE ICON.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="tileData" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\tileData.json;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="ExportFile" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\ExportFile.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="pack" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\pack.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="audio_1_nether" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\iconImageList\AudioEditor\1_nether.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<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 name="audio_7_mg03" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\iconImageList\AudioEditor\7_mg03.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="items_sheet" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\items.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<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>
@@ -175,9 +190,15 @@
<data name="More2" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\More2.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="audio_5_mg01" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\iconImageList\AudioEditor\5_mg01.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="ps3" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\ps3.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="audio_6_mg02" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\iconImageList\AudioEditor\6_mg02.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="NoImageFound" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\NoImageFound.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
@@ -202,14 +223,26 @@
<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>
<data name="audio_4_menu" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\iconImageList\AudioEditor\3_menu.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>..\Resources\iconImageList\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="BINKA_ICON" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\iconImageList\BINKA ICON.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
<data name="audio_3_creative" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\iconImageList\AudioEditor\4_creative.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="terrain_sheet" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\terrain.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="audio_0_overworld" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\iconImageList\AudioEditor\0_overworld.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="clock" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\clock.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
@@ -223,6 +256,9 @@
<data name="xbox" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\xbox.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="changeTile" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\changeTile.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="settings" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\settings.ini;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252</value>
</data>
@@ -232,16 +268,7 @@
<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="changeTile" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\changeTile.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="items_sheet" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\items.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="terrain_sheet" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\terrain.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="tileData" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\tileData.json;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<data name="music" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\music.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
</root>

Binary file not shown.

After

Width:  |  Height:  |  Size: 408 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 727 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 404 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 211 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 580 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 625 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 979 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 651 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 232 B