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 OnModifiedChangeDelegate _onModifiedChangeDelegate;
@@ -79,6 +81,25 @@ namespace PckStudio.Controls
_originalEndianness = 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.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;
}
@@ -221,6 +252,13 @@ namespace PckStudio.Controls
{
_timesSaved++;
_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");
Debug.WriteLine($"_timesSaved: {_timesSaved}");
}
+17 -9
View File
@@ -47,12 +47,13 @@
this.closeAllToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.exitToolStripMenuItem = 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.setXMLVersion0MenuItem = new PckStudio.ToolboxItems.ToolStripRadioButtonMenuItem();
this.setXMLVersion1MenuItem = new PckStudio.ToolboxItems.ToolStripRadioButtonMenuItem();
this.setXMLVersion2MenuItem = 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.openPckManagerToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.convertMusicFilesToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
@@ -213,17 +214,18 @@
// pckToolStripMenuItem
//
this.pckToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.quickChangeToolStripMenuItem,
this.setXMLVersionStripMenuItem});
this.setPackIDToolStripMenuItem,
this.setXMLVersionStripMenuItem,
this.quickChangeToolStripMenuItem});
this.pckToolStripMenuItem.ForeColor = System.Drawing.Color.Silver;
this.pckToolStripMenuItem.Name = "pckToolStripMenuItem";
resources.ApplyResources(this.pckToolStripMenuItem, "pckToolStripMenuItem");
//
// quickChangeToolStripMenuItem
// setPackIDToolStripMenuItem
//
resources.ApplyResources(this.quickChangeToolStripMenuItem, "quickChangeToolStripMenuItem");
this.quickChangeToolStripMenuItem.Name = "quickChangeToolStripMenuItem";
this.quickChangeToolStripMenuItem.Click += new System.EventHandler(this.quickChangeToolStripMenuItem_Click);
this.setPackIDToolStripMenuItem.Name = "setPackIDToolStripMenuItem";
resources.ApplyResources(this.setPackIDToolStripMenuItem, "setPackIDToolStripMenuItem");
this.setPackIDToolStripMenuItem.Click += new System.EventHandler(this.setPackIDToolStripMenuItem_Click);
//
// setXMLVersionStripMenuItem
//
@@ -232,8 +234,8 @@
this.setXMLVersion1MenuItem,
this.setXMLVersion2MenuItem,
this.setXMLVersion3MenuItem});
resources.ApplyResources(this.setXMLVersionStripMenuItem, "setXMLVersionStripMenuItem");
this.setXMLVersionStripMenuItem.Name = "setXMLVersionStripMenuItem";
resources.ApplyResources(this.setXMLVersionStripMenuItem, "setXMLVersionStripMenuItem");
//
// setXMLVersion0MenuItem
//
@@ -267,6 +269,12 @@
this.setXMLVersion3MenuItem.Tag = 3;
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
//
this.miscToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
@@ -548,7 +556,6 @@
this.StartPage.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.pckOpen)).EndInit();
this.ResumeLayout(false);
this.PerformLayout();
}
@@ -604,6 +611,7 @@
public ToolboxItems.ToolStripRadioButtonMenuItem setXMLVersion1MenuItem;
public ToolboxItems.ToolStripRadioButtonMenuItem setXMLVersion2MenuItem;
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">
<value>Top, Left, Right</value>
</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">
<value>None</value>
</data>
@@ -240,7 +244,6 @@
<data name="saveToolStripMenuItem.Text" xml:space="preserve">
<value>Save</value>
</data>
<assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="saveToolStripMenuItem.Visible" type="System.Boolean, mscorlib">
<value>False</value>
</data>
@@ -317,8 +320,41 @@
<data name="fileToolStripMenuItem.Text" xml:space="preserve">
<value>File</value>
</data>
<data name="quickChangeToolStripMenuItem.Enabled" type="System.Boolean, mscorlib">
<value>False</value>
<data name="setPackIDToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<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 name="quickChangeToolStripMenuItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
@@ -481,39 +517,6 @@
<data name="quickChangeToolStripMenuItem.Visible" type="System.Boolean, mscorlib">
<value>False</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.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">
<value>41, 20</value>
</data>
@@ -1961,7 +1964,7 @@
<value>0, 6, 60, 0</value>
</data>
<data name="menuStrip.Size" type="System.Drawing.Size, System.Drawing">
<value>207, 24</value>
<value>208, 24</value>
</data>
<data name="menuStrip.TabIndex" type="System.Int32, mscorlib">
<value>2</value>
@@ -5851,10 +5854,10 @@
<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>
</data>
<data name="&gt;&gt;quickChangeToolStripMenuItem.Name" xml:space="preserve">
<value>quickChangeToolStripMenuItem</value>
<data name="&gt;&gt;setPackIDToolStripMenuItem.Name" xml:space="preserve">
<value>setPackIDToolStripMenuItem</value>
</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>
</data>
<data name="&gt;&gt;setXMLVersionStripMenuItem.Name" xml:space="preserve">
@@ -5887,6 +5890,12 @@
<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>
</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">
<value>miscToolStripMenuItem</value>
</data>