Added Set Pack ID tool

-Removed 0 file from the editor
This commit is contained in:
MayNL
2026-06-29 00:19:13 -04:00
parent 51abac5b1f
commit 28626f2fa8
4 changed files with 120 additions and 49 deletions
+38
View File
@@ -64,6 +64,8 @@ namespace PckStudio.Controls
} }
} }
public int _packID = -1;
private delegate void OnModifiedChangeDelegate(bool state); private delegate void OnModifiedChangeDelegate(bool state);
private OnModifiedChangeDelegate _onModifiedChangeDelegate; private OnModifiedChangeDelegate _onModifiedChangeDelegate;
@@ -79,6 +81,25 @@ namespace PckStudio.Controls
_originalEndianness = packInfo.Endianness; _originalEndianness = packInfo.Endianness;
_currentEndianness = packInfo.Endianness; _currentEndianness = packInfo.Endianness;
if (EditorValue.File.TryGetAsset("0", PckAssetType.InfoFile, out PckAsset infoFile) && infoFile != null)
{
string packID;
if (infoFile.TryGetParameter("PACKID", out packID))
{
try
{
_packID = int.Parse(packID);
}
catch
{
_packID = -1;
}
}
EditorValue.File.RemoveAsset(infoFile);
}
BigEndianCheckBox.Visible = packInfo.AllowEndianSwap; BigEndianCheckBox.Visible = packInfo.AllowEndianSwap;
BigEndianCheckBox.Checked = packInfo.Endianness == OMI.ByteOrder.BigEndian; BigEndianCheckBox.Checked = packInfo.Endianness == OMI.ByteOrder.BigEndian;
@@ -214,6 +235,16 @@ namespace PckStudio.Controls
} }
} }
// Add an info file back to the PCK
if (_packID != -1)
{
PckAsset infoFile = new PckAsset("0", PckAssetType.InfoFile);
infoFile.AddParameter("PACKID", _packID.ToString());
EditorValue.File.InsertAsset(0, infoFile);
}
return true; return true;
} }
@@ -221,6 +252,13 @@ namespace PckStudio.Controls
{ {
_timesSaved++; _timesSaved++;
_wasModified = false; _wasModified = false;
PckAsset infoFile;
EditorValue.File.TryGetAsset("0", PckAssetType.InfoFile, out infoFile);
if (infoFile != null)
EditorValue.File.RemoveAsset(infoFile);
MessageBox.Show($"{TitleName} saved.", "PCK successfully Saved"); MessageBox.Show($"{TitleName} saved.", "PCK successfully Saved");
Debug.WriteLine($"_timesSaved: {_timesSaved}"); Debug.WriteLine($"_timesSaved: {_timesSaved}");
} }
+17 -9
View File
@@ -47,12 +47,13 @@
this.closeAllToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.closeAllToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.exitToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.exitToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.pckToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.pckToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.quickChangeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.setPackIDToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.setXMLVersionStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.setXMLVersionStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.setXMLVersion0MenuItem = new PckStudio.ToolboxItems.ToolStripRadioButtonMenuItem(); this.setXMLVersion0MenuItem = new PckStudio.ToolboxItems.ToolStripRadioButtonMenuItem();
this.setXMLVersion1MenuItem = new PckStudio.ToolboxItems.ToolStripRadioButtonMenuItem(); this.setXMLVersion1MenuItem = new PckStudio.ToolboxItems.ToolStripRadioButtonMenuItem();
this.setXMLVersion2MenuItem = new PckStudio.ToolboxItems.ToolStripRadioButtonMenuItem(); this.setXMLVersion2MenuItem = new PckStudio.ToolboxItems.ToolStripRadioButtonMenuItem();
this.setXMLVersion3MenuItem = new PckStudio.ToolboxItems.ToolStripRadioButtonMenuItem(); this.setXMLVersion3MenuItem = new PckStudio.ToolboxItems.ToolStripRadioButtonMenuItem();
this.quickChangeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.miscToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.miscToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.openPckManagerToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.openPckManagerToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.convertMusicFilesToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.convertMusicFilesToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
@@ -213,17 +214,18 @@
// pckToolStripMenuItem // pckToolStripMenuItem
// //
this.pckToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.pckToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.quickChangeToolStripMenuItem, this.setPackIDToolStripMenuItem,
this.setXMLVersionStripMenuItem}); this.setXMLVersionStripMenuItem,
this.quickChangeToolStripMenuItem});
this.pckToolStripMenuItem.ForeColor = System.Drawing.Color.Silver; this.pckToolStripMenuItem.ForeColor = System.Drawing.Color.Silver;
this.pckToolStripMenuItem.Name = "pckToolStripMenuItem"; this.pckToolStripMenuItem.Name = "pckToolStripMenuItem";
resources.ApplyResources(this.pckToolStripMenuItem, "pckToolStripMenuItem"); resources.ApplyResources(this.pckToolStripMenuItem, "pckToolStripMenuItem");
// //
// quickChangeToolStripMenuItem // setPackIDToolStripMenuItem
// //
resources.ApplyResources(this.quickChangeToolStripMenuItem, "quickChangeToolStripMenuItem"); this.setPackIDToolStripMenuItem.Name = "setPackIDToolStripMenuItem";
this.quickChangeToolStripMenuItem.Name = "quickChangeToolStripMenuItem"; resources.ApplyResources(this.setPackIDToolStripMenuItem, "setPackIDToolStripMenuItem");
this.quickChangeToolStripMenuItem.Click += new System.EventHandler(this.quickChangeToolStripMenuItem_Click); this.setPackIDToolStripMenuItem.Click += new System.EventHandler(this.setPackIDToolStripMenuItem_Click);
// //
// setXMLVersionStripMenuItem // setXMLVersionStripMenuItem
// //
@@ -232,8 +234,8 @@
this.setXMLVersion1MenuItem, this.setXMLVersion1MenuItem,
this.setXMLVersion2MenuItem, this.setXMLVersion2MenuItem,
this.setXMLVersion3MenuItem}); this.setXMLVersion3MenuItem});
resources.ApplyResources(this.setXMLVersionStripMenuItem, "setXMLVersionStripMenuItem");
this.setXMLVersionStripMenuItem.Name = "setXMLVersionStripMenuItem"; this.setXMLVersionStripMenuItem.Name = "setXMLVersionStripMenuItem";
resources.ApplyResources(this.setXMLVersionStripMenuItem, "setXMLVersionStripMenuItem");
// //
// setXMLVersion0MenuItem // setXMLVersion0MenuItem
// //
@@ -267,6 +269,12 @@
this.setXMLVersion3MenuItem.Tag = 3; this.setXMLVersion3MenuItem.Tag = 3;
this.setXMLVersion3MenuItem.Click += new System.EventHandler(this.setXMLVersionMenuItem_Click); this.setXMLVersion3MenuItem.Click += new System.EventHandler(this.setXMLVersionMenuItem_Click);
// //
// quickChangeToolStripMenuItem
//
resources.ApplyResources(this.quickChangeToolStripMenuItem, "quickChangeToolStripMenuItem");
this.quickChangeToolStripMenuItem.Name = "quickChangeToolStripMenuItem";
this.quickChangeToolStripMenuItem.Click += new System.EventHandler(this.quickChangeToolStripMenuItem_Click);
//
// miscToolStripMenuItem // miscToolStripMenuItem
// //
this.miscToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.miscToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
@@ -548,7 +556,6 @@
this.StartPage.PerformLayout(); this.StartPage.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.pckOpen)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.pckOpen)).EndInit();
this.ResumeLayout(false); this.ResumeLayout(false);
this.PerformLayout();
} }
@@ -604,6 +611,7 @@
public ToolboxItems.ToolStripRadioButtonMenuItem setXMLVersion1MenuItem; public ToolboxItems.ToolStripRadioButtonMenuItem setXMLVersion1MenuItem;
public ToolboxItems.ToolStripRadioButtonMenuItem setXMLVersion2MenuItem; public ToolboxItems.ToolStripRadioButtonMenuItem setXMLVersion2MenuItem;
public ToolboxItems.ToolStripRadioButtonMenuItem setXMLVersion3MenuItem; public ToolboxItems.ToolStripRadioButtonMenuItem setXMLVersion3MenuItem;
private System.Windows.Forms.ToolStripMenuItem setPackIDToolStripMenuItem;
} }
} }
+16
View File
@@ -625,5 +625,21 @@ namespace PckStudio
} }
} }
} }
private void setPackIDToolStripMenuItem_Click(object sender, EventArgs e)
{
if (TryGetCurrentEditor(out IEditor<PackInfo> editor))
{
PckEditor pckEditor = editor as PckEditor;
NumericPrompt packIDPrompt = new NumericPrompt(pckEditor._packID, -1, GameConstants.MAX_PACK_ID);
packIDPrompt.TextLabel.Text = "Pack ID";
if (packIDPrompt.ShowDialog() == DialogResult.OK)
{
pckEditor._packID = packIDPrompt.SelectedValueAsInt;
}
}
}
} }
} }
+49 -40
View File
@@ -146,6 +146,10 @@
<data name="menuStrip.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms"> <data name="menuStrip.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Left, Right</value> <value>Top, Left, Right</value>
</data> </data>
<assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="menuStrip.AutoSize" type="System.Boolean, mscorlib">
<value>False</value>
</data>
<data name="menuStrip.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms"> <data name="menuStrip.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>None</value> <value>None</value>
</data> </data>
@@ -240,7 +244,6 @@
<data name="saveToolStripMenuItem.Text" xml:space="preserve"> <data name="saveToolStripMenuItem.Text" xml:space="preserve">
<value>Save</value> <value>Save</value>
</data> </data>
<assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="saveToolStripMenuItem.Visible" type="System.Boolean, mscorlib"> <data name="saveToolStripMenuItem.Visible" type="System.Boolean, mscorlib">
<value>False</value> <value>False</value>
</data> </data>
@@ -317,8 +320,41 @@
<data name="fileToolStripMenuItem.Text" xml:space="preserve"> <data name="fileToolStripMenuItem.Text" xml:space="preserve">
<value>File</value> <value>File</value>
</data> </data>
<data name="quickChangeToolStripMenuItem.Enabled" type="System.Boolean, mscorlib"> <data name="setPackIDToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>False</value> <value>192, 22</value>
</data>
<data name="setPackIDToolStripMenuItem.Text" xml:space="preserve">
<value>Set Pack ID</value>
</data>
<data name="setXMLVersion0MenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>121, 22</value>
</data>
<data name="setXMLVersion0MenuItem.Text" xml:space="preserve">
<value>Version 0</value>
</data>
<data name="setXMLVersion1MenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>121, 22</value>
</data>
<data name="setXMLVersion1MenuItem.Text" xml:space="preserve">
<value>Version 1</value>
</data>
<data name="setXMLVersion2MenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>121, 22</value>
</data>
<data name="setXMLVersion2MenuItem.Text" xml:space="preserve">
<value>Version 2</value>
</data>
<data name="setXMLVersion3MenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>121, 22</value>
</data>
<data name="setXMLVersion3MenuItem.Text" xml:space="preserve">
<value>Version 3</value>
</data>
<data name="setXMLVersionStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>192, 22</value>
</data>
<data name="setXMLVersionStripMenuItem.Text" xml:space="preserve">
<value>Set Skin BOX Version</value>
</data> </data>
<data name="quickChangeToolStripMenuItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="quickChangeToolStripMenuItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
@@ -481,39 +517,6 @@
<data name="quickChangeToolStripMenuItem.Visible" type="System.Boolean, mscorlib"> <data name="quickChangeToolStripMenuItem.Visible" type="System.Boolean, mscorlib">
<value>False</value> <value>False</value>
</data> </data>
<data name="setXMLVersion0MenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>121, 22</value>
</data>
<data name="setXMLVersion0MenuItem.Text" xml:space="preserve">
<value>Version 0</value>
</data>
<data name="setXMLVersion1MenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>121, 22</value>
</data>
<data name="setXMLVersion1MenuItem.Text" xml:space="preserve">
<value>Version 1</value>
</data>
<data name="setXMLVersion2MenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>121, 22</value>
</data>
<data name="setXMLVersion2MenuItem.Text" xml:space="preserve">
<value>Version 2</value>
</data>
<data name="setXMLVersion3MenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>121, 22</value>
</data>
<data name="setXMLVersion3MenuItem.Text" xml:space="preserve">
<value>Version 3</value>
</data>
<data name="setXMLVersionStripMenuItem.Enabled" type="System.Boolean, mscorlib">
<value>False</value>
</data>
<data name="setXMLVersionStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>192, 22</value>
</data>
<data name="setXMLVersionStripMenuItem.Text" xml:space="preserve">
<value>Set Skin BOX Version</value>
</data>
<data name="pckToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing"> <data name="pckToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>41, 20</value> <value>41, 20</value>
</data> </data>
@@ -1961,7 +1964,7 @@
<value>0, 6, 60, 0</value> <value>0, 6, 60, 0</value>
</data> </data>
<data name="menuStrip.Size" type="System.Drawing.Size, System.Drawing"> <data name="menuStrip.Size" type="System.Drawing.Size, System.Drawing">
<value>207, 24</value> <value>208, 24</value>
</data> </data>
<data name="menuStrip.TabIndex" type="System.Int32, mscorlib"> <data name="menuStrip.TabIndex" type="System.Int32, mscorlib">
<value>2</value> <value>2</value>
@@ -5851,10 +5854,10 @@
<data name="&gt;&gt;pckToolStripMenuItem.Type" xml:space="preserve"> <data name="&gt;&gt;pckToolStripMenuItem.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data> </data>
<data name="&gt;&gt;quickChangeToolStripMenuItem.Name" xml:space="preserve"> <data name="&gt;&gt;setPackIDToolStripMenuItem.Name" xml:space="preserve">
<value>quickChangeToolStripMenuItem</value> <value>setPackIDToolStripMenuItem</value>
</data> </data>
<data name="&gt;&gt;quickChangeToolStripMenuItem.Type" xml:space="preserve"> <data name="&gt;&gt;setPackIDToolStripMenuItem.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data> </data>
<data name="&gt;&gt;setXMLVersionStripMenuItem.Name" xml:space="preserve"> <data name="&gt;&gt;setXMLVersionStripMenuItem.Name" xml:space="preserve">
@@ -5887,6 +5890,12 @@
<data name="&gt;&gt;setXMLVersion3MenuItem.Type" xml:space="preserve"> <data name="&gt;&gt;setXMLVersion3MenuItem.Type" xml:space="preserve">
<value>PckStudio.ToolboxItems.ToolStripRadioButtonMenuItem, PCK-Studio, Version=7.0.1.2, Culture=neutral, PublicKeyToken=null</value> <value>PckStudio.ToolboxItems.ToolStripRadioButtonMenuItem, PCK-Studio, Version=7.0.1.2, Culture=neutral, PublicKeyToken=null</value>
</data> </data>
<data name="&gt;&gt;quickChangeToolStripMenuItem.Name" xml:space="preserve">
<value>quickChangeToolStripMenuItem</value>
</data>
<data name="&gt;&gt;quickChangeToolStripMenuItem.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;miscToolStripMenuItem.Name" xml:space="preserve"> <data name="&gt;&gt;miscToolStripMenuItem.Name" xml:space="preserve">
<value>miscToolStripMenuItem</value> <value>miscToolStripMenuItem</value>
</data> </data>