This commit is contained in:
miku-666
2024-01-19 19:01:54 +01:00
6 changed files with 1134 additions and 1036 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -7,7 +7,6 @@ using System.Windows.Forms;
using System.Drawing.Drawing2D;
using System.Diagnostics;
using System.Drawing.Imaging;
using OMI.Formats.Archive;
using OMI.Formats.Pck;
using OMI.Formats.GameRule;
@@ -16,7 +15,6 @@ using OMI.Workers.Archive;
using OMI.Workers.Pck;
using OMI.Workers.GameRule;
using OMI.Workers.Language;
using PckStudio.Properties;
using PckStudio.FileFormats;
using PckStudio.Forms;
@@ -94,6 +92,11 @@ namespace PckStudio
};
}
public void InitPckFromFile(string filepath)
{
saveLocation = filepath;
}
public void LoadPckFromFile(string filepath)
{
checkSaveState();
@@ -146,6 +149,8 @@ namespace PckStudio
isSelectingTab = false;
UpdateRichPresence();
if (saveLocation != String.Empty) LoadPckFromFile(saveLocation);
}
private void MainForm_FormClosing(object sender, FormClosingEventArgs e)
@@ -746,6 +751,11 @@ namespace PckStudio
{
if (node.Tag is PckFileData file)
{
if (currentPCK.TryGetFile(diag.NewText, file.Filetype, out _))
{
MessageBox.Show($"{diag.NewText} already exists", "File already exists");
return;
}
file.Filename = diag.NewText;
}
else // folders
@@ -755,6 +765,7 @@ namespace PckStudio
{
if (childNode.Tag is PckFileData folderFile)
{
if (folderFile.Filename == diag.NewText) continue;
folderFile.Filename = childNode.FullPath;
}
}
@@ -2278,5 +2289,50 @@ namespace PckStudio
}
MessageBox.Show("Already up to date.", "No update available");
}
[Obsolete] // the move functions are to eventually be removed in favor of drag and drop
private void moveFile(int amount)
{
if (treeViewMain.SelectedNode is not TreeNode t || t.Tag is null) return;
var file = t.Tag as PckFileData;
var path = t.FullPath;
// skin and cape files only
if (!(file.Filetype == PckFileType.SkinFile || file.Filetype == PckFileType.CapeFile)) return;
PckFile pck = currentPCK;
bool IsSubPCK = IsSubPCKNode(path);
if (IsSubPCK)
{
using (var stream = new MemoryStream((GetSubPCK(path).Tag as PckFileData).Data))
{
var reader = new PckFileReader(LittleEndianCheckBox.Checked ? OMI.Endianness.LittleEndian : OMI.Endianness.BigEndian);
pck = reader.FromStream(stream);
}
}
int index = pck.IndexOfFile(file);
if (index + amount < 0 || index + amount > pck.FileCount) return;
pck.RemoveFile(file);
pck.InsertFile(index + amount, file);
if (IsSubPCK)
{
using (var stream = new MemoryStream())
{
var writer = new PckFileWriter(pck, LittleEndianCheckBox.Checked ? OMI.Endianness.LittleEndian : OMI.Endianness.BigEndian);
writer.WriteToStream(stream);
(GetSubPCK(path).Tag as PckFileData).SetData(stream.ToArray());
}
}
BuildMainTreeView();
wasModified = true;
}
[Obsolete]
private void moveUpToolStripMenuItem_Click(object sender, EventArgs e) => moveFile(-1);
[Obsolete]
private void moveDownToolStripMenuItem_Click(object sender, EventArgs e) => moveFile(1);
}
}

View File

@@ -813,7 +813,7 @@
<value>False</value>
</metadata>
<data name="toolStripSeparator1.Size" type="System.Drawing.Size, System.Drawing">
<value>177, 6</value>
<value>167, 6</value>
</data>
<data name="toolStripSeparator3.Size" type="System.Drawing.Size, System.Drawing">
<value>177, 6</value>
@@ -822,7 +822,7 @@
<value>False</value>
</metadata>
<data name="toolStripSeparator3.Size" type="System.Drawing.Size, System.Drawing">
<value>177, 6</value>
<value>167, 6</value>
</data>
<metadata name="contextMenuPCKEntries.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>116, 17</value>
@@ -924,7 +924,7 @@
</value>
</data>
<data name="createToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>157, 22</value>
<value>180, 22</value>
</data>
<data name="createToolStripMenuItem.Text" xml:space="preserve">
<value>Create</value>
@@ -991,7 +991,7 @@
</value>
</data>
<data name="importSkinsToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>157, 22</value>
<value>180, 22</value>
</data>
<data name="importSkinsToolStripMenuItem.Text" xml:space="preserve">
<value>Import</value>
@@ -1003,7 +1003,7 @@
<value>Export as 3DS Texture</value>
</data>
<data name="exportToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>157, 22</value>
<value>180, 22</value>
</data>
<data name="exportToolStripMenuItem.Text" xml:space="preserve">
<value>Export</value>
@@ -1081,7 +1081,7 @@
<value>Entity Materials File (.BIN)</value>
</data>
<data name="setFileTypeToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>157, 22</value>
<value>180, 22</value>
</data>
<data name="setFileTypeToolStripMenuItem.Text" xml:space="preserve">
<value>Set File Type</value>
@@ -1105,11 +1105,23 @@
<value>Correct Skin Decimals</value>
</data>
<data name="miscFunctionsToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>157, 22</value>
<value>180, 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>
</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>
</data>
<data name="moveDownToolStripMenuItem.Text" xml:space="preserve">
<value>Move Down</value>
</data>
<data name="extractToolStripMenuItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
@@ -1120,13 +1132,13 @@
</value>
</data>
<data name="extractToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>157, 22</value>
<value>180, 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>157, 22</value>
<value>180, 22</value>
</data>
<data name="cloneFileToolStripMenuItem.Text" xml:space="preserve">
<value>Clone</value>
@@ -1139,7 +1151,7 @@
</value>
</data>
<data name="renameFileToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>157, 22</value>
<value>180, 22</value>
</data>
<data name="renameFileToolStripMenuItem.Text" xml:space="preserve">
<value>Rename</value>
@@ -1155,7 +1167,7 @@
</value>
</data>
<data name="replaceToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>157, 22</value>
<value>180, 22</value>
</data>
<data name="replaceToolStripMenuItem.Text" xml:space="preserve">
<value>Replace</value>
@@ -1170,13 +1182,13 @@
</value>
</data>
<data name="deleteFileToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>157, 22</value>
<value>180, 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>158, 224</value>
<value>181, 290</value>
</data>
<data name="&gt;&gt;contextMenuPCKEntries.Name" xml:space="preserve">
<value>contextMenuPCKEntries</value>
@@ -1574,7 +1586,7 @@
<value>More</value>
</data>
<data name="checkForUpdatesToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>180, 22</value>
<value>170, 22</value>
</data>
<data name="checkForUpdatesToolStripMenuItem.Text" xml:space="preserve">
<value>Check for updates</value>
@@ -2043,7 +2055,7 @@
</value>
</data>
<data name="aboutToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>180, 22</value>
<value>170, 22</value>
</data>
<data name="aboutToolStripMenuItem.Text" xml:space="preserve">
<value>About</value>
@@ -2099,7 +2111,7 @@
</value>
</data>
<data name="videosToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>180, 22</value>
<value>170, 22</value>
</data>
<data name="videosToolStripMenuItem.Text" xml:space="preserve">
<value>Tutorials</value>
@@ -2123,7 +2135,7 @@
<value>For MattNL (Other Developer)</value>
</data>
<data name="donateToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>180, 22</value>
<value>170, 22</value>
</data>
<data name="donateToolStripMenuItem.Text" xml:space="preserve">
<value>Buy a coffee</value>
@@ -2132,7 +2144,7 @@
<value>Alt+S</value>
</data>
<data name="settingsToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>180, 22</value>
<value>170, 22</value>
</data>
<data name="settingsToolStripMenuItem.Text" xml:space="preserve">
<value>Settings</value>
@@ -6633,6 +6645,18 @@
<data name="&gt;&gt;correctSkinDecimalsToolStripMenuItem.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;moveUpToolStripMenuItem.Name" xml:space="preserve">
<value>moveUpToolStripMenuItem</value>
</data>
<data name="&gt;&gt;moveUpToolStripMenuItem.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;moveDownToolStripMenuItem.Name" xml:space="preserve">
<value>moveDownToolStripMenuItem</value>
</data>
<data name="&gt;&gt;moveDownToolStripMenuItem.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;extractToolStripMenuItem.Name" xml:space="preserve">
<value>extractToolStripMenuItem</value>
</data>

View File

@@ -48,7 +48,7 @@ namespace PckStudio
RPC.Initialize();
MainInstance = new MainForm();
if (args.Length > 0 && File.Exists(args[0]) && args[0].EndsWith(".pck"))
MainInstance.LoadPckFromFile(args[0]);
MainInstance.InitPckFromFile(args[0]);
Application.ApplicationExit += (sender, e) => { RPC.Deinitialize(); };
Application.Run(MainInstance);
}

View File

@@ -3898,11 +3898,11 @@
},
{
"internalName": "bamboo",
"displayName": "Bamboo"
"displayName": "Bamboo [PS4 ONLY]"
},
{
"internalName": "lantern_carried",
"displayName": "Lantern"
"displayName": "Lantern [PS4 ONLY]"
},
{
"internalName": "kelp",

2
Vendor/OMI-Lib vendored