MainForm - Remove 'Add Custom Icon' feature

This commit is contained in:
miku-666
2024-03-13 18:13:19 +01:00
parent 2ec739d4c0
commit 3f4b7b705e
3 changed files with 1062 additions and 1170 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -223,7 +223,6 @@ namespace PckStudio
saveToolStripMenuItem1.Enabled = true;
quickChangeToolStripMenuItem.Enabled = true;
convertToBedrockToolStripMenuItem.Enabled = true;
addCustomPackImageToolStripMenuItem.Enabled = true;
BuildMainTreeView();
isSelectingTab = true;
tabControl.SelectTab(1);
@@ -251,7 +250,6 @@ namespace PckStudio
closeToolStripMenuItem.Visible = false;
packSettingsToolStripMenuItem.Visible = false;
convertToBedrockToolStripMenuItem.Enabled = false;
addCustomPackImageToolStripMenuItem.Enabled = false;
fileEntryCountLabel.Text = string.Empty;
pckFileLabel.Text = string.Empty;
UpdateRichPresence();
@@ -804,49 +802,49 @@ namespace PckStudio
LOCFile locFile = null;
TryGetLocFile(out locFile);
using AddNewSkin add = new AddNewSkin(locFile);
if (add.ShowDialog() == DialogResult.OK)
{
if (add.ShowDialog() == DialogResult.OK)
{
if (currentPCK.HasFile("Skins.pck", PckFileType.SkinDataFile)) // Prioritize Skins.pck
{
TreeNode subPCK = treeViewMain.Nodes.Find("Skins.pck", false).FirstOrDefault();
if (subPCK.Nodes.ContainsKey("Skins")) add.SkinFile.Filename = add.SkinFile.Filename.Insert(0, "Skins/");
add.SkinFile.Filename = add.SkinFile.Filename.Insert(0, "Skins.pck/");
TreeNode newNode = new TreeNode(Path.GetFileName(add.SkinFile.Filename));
newNode.Tag = add.SkinFile;
SetNodeIcon(newNode, PckFileType.SkinFile);
subPCK.Nodes.Add(newNode);
RebuildSubPCK(newNode.FullPath);
}
else
{
if (treeViewMain.Nodes.ContainsKey("Skins")) add.SkinFile.Filename = add.SkinFile.Filename.Insert(0, "Skins/"); // Then Skins folder
currentPCK.AddFile(add.SkinFile);
}
if (add.HasCape)
{
if (currentPCK.HasFile("Skins.pck", PckFileType.SkinDataFile)) // Prioritize Skins.pck
{
TreeNode subPCK = treeViewMain.Nodes.Find("Skins.pck", false).FirstOrDefault();
if (subPCK.Nodes.ContainsKey("Skins")) add.SkinFile.Filename = add.SkinFile.Filename.Insert(0, "Skins/");
add.SkinFile.Filename = add.SkinFile.Filename.Insert(0, "Skins.pck/");
TreeNode newNode = new TreeNode(Path.GetFileName(add.SkinFile.Filename));
newNode.Tag = add.SkinFile;
if (subPCK.Nodes.ContainsKey("Skins")) add.CapeFile.Filename = add.CapeFile.Filename.Insert(0, "Skins/");
add.CapeFile.Filename = add.CapeFile.Filename.Insert(0, "Skins.pck/");
TreeNode newNode = new TreeNode(Path.GetFileName(add.CapeFile.Filename));
newNode.Tag = add.CapeFile;
SetNodeIcon(newNode, PckFileType.SkinFile);
subPCK.Nodes.Add(newNode);
RebuildSubPCK(newNode.FullPath);
}
else
{
if (treeViewMain.Nodes.ContainsKey("Skins")) add.SkinFile.Filename = add.SkinFile.Filename.Insert(0, "Skins/"); // Then Skins folder
currentPCK.AddFile(add.SkinFile);
if (treeViewMain.Nodes.ContainsKey("Skins")) add.CapeFile.Filename = add.CapeFile.Filename.Insert(0, "Skins/"); // Then Skins folder
currentPCK.AddFile(add.CapeFile);
}
if (add.HasCape)
{
if (currentPCK.HasFile("Skins.pck", PckFileType.SkinDataFile)) // Prioritize Skins.pck
{
TreeNode subPCK = treeViewMain.Nodes.Find("Skins.pck", false).FirstOrDefault();
if (subPCK.Nodes.ContainsKey("Skins")) add.CapeFile.Filename = add.CapeFile.Filename.Insert(0, "Skins/");
add.CapeFile.Filename = add.CapeFile.Filename.Insert(0, "Skins.pck/");
TreeNode newNode = new TreeNode(Path.GetFileName(add.CapeFile.Filename));
newNode.Tag = add.CapeFile;
SetNodeIcon(newNode, PckFileType.SkinFile);
subPCK.Nodes.Add(newNode);
RebuildSubPCK(newNode.FullPath);
}
else
{
if (treeViewMain.Nodes.ContainsKey("Skins")) add.CapeFile.Filename = add.CapeFile.Filename.Insert(0, "Skins/"); // Then Skins folder
currentPCK.AddFile(add.CapeFile);
}
}
TrySetLocFile(locFile);
wasModified = true;
BuildMainTreeView();
}
TrySetLocFile(locFile);
wasModified = true;
BuildMainTreeView();
}
}
private static PckFileData CreateNewAudioFile(bool isLittle)
@@ -2027,91 +2025,6 @@ namespace PckStudio
}
}
private void addCustomPackIconToolStripMenuItem_Click(object sender, EventArgs e)
{
string packID = "0";
using NumericPrompt numericPrompt = new NumericPrompt(0);
numericPrompt.Minimum = 0; // TODO: put min pack ID value (keeping this 0 just to be safe)
numericPrompt.Maximum = int.MinValue; // TODO: put max pack ID value
numericPrompt.ContextLabel.Text = "Please insert the desired Pack ID";
numericPrompt.TextLabel.Text = "Pack ID";
if (currentPCK is not null)
{
DialogResult prompt = MessageBox.Show(this,
"Would you like to use the current PackID? You can enter any PackID if not.",
"",
MessageBoxButtons.YesNoCancel);
switch (prompt)
{
case DialogResult.Yes:
if (!currentPCK.TryGetFile("0", PckFileType.InfoFile, out PckFileData file) ||
string.IsNullOrEmpty(file.Properties.GetPropertyValue("PACKID")))
{
MessageBox.Show(this,
"No PackID is present in this PCK. " +
"To avoid this error, ensure that the PCK has a proper PackID property on the \"0\" Info file before trying again.",
"Operation Aborted", MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}
packID = file.Properties.GetPropertyValue("PACKID");
break;
case DialogResult.No:
break;
case DialogResult.Cancel:
default:
MessageBox.Show(this, "Operation cancelled");
return;
}
}
else if (numericPrompt.ShowDialog(this) == DialogResult.OK) packID = numericPrompt.SelectedValue.ToString();
else
{
MessageBox.Show(this, "Operation cancelled");
return;
}
OpenFileDialog fileDialog = new OpenFileDialog();
fileDialog.Filter = "Minecraft Archive|*.arc";
if (fileDialog.ShowDialog(this) == DialogResult.OK)
{
var reader = new ARCFileReader();
ConsoleArchive archive = reader.FromFile(fileDialog.FileName);
fileDialog.Filter = "Pack Icon|*.png";
if (fileDialog.ShowDialog(this) == DialogResult.OK)
{
string key = string.Format("Graphics\\PackGraphics\\{0}.png", packID);
if (archive.Keys.Contains(key))
{
DialogResult prompt = MessageBox.Show(this,
"This pack already has a pack icon present in the chosen file. Would you like to replace the pack icon?",
"Icon already exists",
MessageBoxButtons.YesNoCancel);
switch (prompt)
{
case DialogResult.Yes:
archive.Remove(key); // remove file so it can be injected
break;
case DialogResult.No:
case DialogResult.Cancel:
default:
Trace.WriteLine("Operation cancelled", category: nameof(addCustomPackIconToolStripMenuItem_Click));
return;
}
}
archive.Add(key, File.ReadAllBytes(fileDialog.FileName));
var writer = new ARCFileWriter(archive);
writer.WriteToFile(fileDialog.FileName);
MessageBox.Show($"Successfully added {key} to Archive!", "Successfully Added", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
}
private void CreateSkinsPCKToolStripMenuItem1_Click(object sender, EventArgs e)
{
if (currentPCK.TryGetFile("Skins.pck", PckFileType.SkinDataFile, out _))

View File

@@ -918,7 +918,7 @@
</value>
</data>
<data name="createToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>180, 22</value>
<value>157, 22</value>
</data>
<data name="createToolStripMenuItem.Text" xml:space="preserve">
<value>Create</value>
@@ -985,7 +985,7 @@
</value>
</data>
<data name="importSkinsToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>180, 22</value>
<value>157, 22</value>
</data>
<data name="importSkinsToolStripMenuItem.Text" xml:space="preserve">
<value>Import</value>
@@ -997,7 +997,7 @@
<value>Export as 3DS Texture</value>
</data>
<data name="exportToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>180, 22</value>
<value>157, 22</value>
</data>
<data name="exportToolStripMenuItem.Text" xml:space="preserve">
<value>Export</value>
@@ -1075,7 +1075,7 @@
<value>Entity Materials File (.BIN)</value>
</data>
<data name="setFileTypeToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>180, 22</value>
<value>157, 22</value>
</data>
<data name="setFileTypeToolStripMenuItem.Text" xml:space="preserve">
<value>Set File Type</value>
@@ -1099,19 +1099,19 @@
<value>Correct Skin Decimals</value>
</data>
<data name="miscFunctionsToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>180, 22</value>
<value>157, 22</value>
</data>
<data name="miscFunctionsToolStripMenuItem.Text" xml:space="preserve">
<value>Misc. Functions</value>
</data>
<data name="moveUpToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>180, 22</value>
<value>157, 22</value>
</data>
<data name="moveUpToolStripMenuItem.Text" xml:space="preserve">
<value>Move Up</value>
</data>
<data name="moveDownToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>180, 22</value>
<value>157, 22</value>
</data>
<data name="moveDownToolStripMenuItem.Text" xml:space="preserve">
<value>Move Down</value>
@@ -1126,13 +1126,13 @@
</value>
</data>
<data name="extractToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>180, 22</value>
<value>157, 22</value>
</data>
<data name="extractToolStripMenuItem.Text" xml:space="preserve">
<value>Extract</value>
</data>
<data name="cloneFileToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>180, 22</value>
<value>157, 22</value>
</data>
<data name="cloneFileToolStripMenuItem.Text" xml:space="preserve">
<value>Clone</value>
@@ -1145,7 +1145,7 @@
</value>
</data>
<data name="renameFileToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>180, 22</value>
<value>157, 22</value>
</data>
<data name="renameFileToolStripMenuItem.Text" xml:space="preserve">
<value>Rename</value>
@@ -1161,7 +1161,7 @@
</value>
</data>
<data name="replaceToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>180, 22</value>
<value>157, 22</value>
</data>
<data name="replaceToolStripMenuItem.Text" xml:space="preserve">
<value>Replace</value>
@@ -1176,13 +1176,13 @@
</value>
</data>
<data name="deleteFileToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>180, 22</value>
<value>157, 22</value>
</data>
<data name="deleteFileToolStripMenuItem.Text" xml:space="preserve">
<value>Delete</value>
</data>
<data name="contextMenuPCKEntries.Size" type="System.Drawing.Size, System.Drawing">
<value>181, 290</value>
<value>158, 268</value>
</data>
<data name="&gt;&gt;contextMenuPCKEntries.Name" xml:space="preserve">
<value>contextMenuPCKEntries</value>
@@ -1395,14 +1395,8 @@
<data name="editToolStripMenuItem.Text" xml:space="preserve">
<value>Edit</value>
</data>
<data name="addCustomPackImageToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>195, 22</value>
</data>
<data name="addCustomPackImageToolStripMenuItem.Text" xml:space="preserve">
<value>Add Custom Pack Icon</value>
</data>
<data name="openPckManagerToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>195, 22</value>
<value>180, 22</value>
</data>
<data name="openPckManagerToolStripMenuItem.Text" xml:space="preserve">
<value>Pck Manager</value>
@@ -1420,7 +1414,7 @@
<value>Binka -&gt; Wav</value>
</data>
<data name="convertMusicFilesToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>195, 22</value>
<value>180, 22</value>
</data>
<data name="convertMusicFilesToolStripMenuItem.Text" xml:space="preserve">
<value>Audio Converter</value>
@@ -6771,12 +6765,6 @@
<data name="&gt;&gt;miscToolStripMenuItem.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;addCustomPackImageToolStripMenuItem.Name" xml:space="preserve">
<value>addCustomPackImageToolStripMenuItem</value>
</data>
<data name="&gt;&gt;addCustomPackImageToolStripMenuItem.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;openPckManagerToolStripMenuItem.Name" xml:space="preserve">
<value>openPckManagerToolStripMenuItem</value>
</data>