Rename Util files and update OMI commit ref

This commit is contained in:
miku-666
2023-03-23 17:56:03 +01:00
parent ebb971f96a
commit de079d9d9a
12 changed files with 155 additions and 172 deletions

View File

@@ -23,7 +23,7 @@ namespace PckStudio.Forms.Additional_Popups.Animation
InitializeComponent();
ImageList tiles = new ImageList();
tiles.ColorDepth = ColorDepth.Depth32Bit;
tiles.Images.AddRange(AnimationUtil.tileImages);
tiles.Images.AddRange(AnimationResources.tileImages);
treeViewBlocks.ImageList = tiles;
treeViewItems.ImageList = tiles;
@@ -31,9 +31,9 @@ namespace PckStudio.Forms.Additional_Popups.Animation
{
int i = 0;
if (AnimationUtil.tileData["blocks"] != null)
if (AnimationResources.tileData["blocks"] != null)
{
foreach (JObject content in AnimationUtil.tileData["blocks"].Children())
foreach (JObject content in AnimationResources.tileData["blocks"].Children())
{
foreach (JProperty prop in content.Properties())
{
@@ -52,9 +52,9 @@ namespace PckStudio.Forms.Additional_Popups.Animation
}
}
}
if (AnimationUtil.tileData["items"] != null)
if (AnimationResources.tileData["items"] != null)
{
foreach (JObject content in AnimationUtil.tileData["items"].Children())
foreach (JObject content in AnimationResources.tileData["items"].Children())
{
foreach (JProperty prop in content.Properties())
{

View File

@@ -23,7 +23,7 @@ namespace PckStudio.Forms.Editor
AnimationPlayer player;
bool isItem = false;
string animationSection => AnimationUtil.GetAnimationSection(isItem);
string animationSection => AnimationResources.GetAnimationSection(isItem);
public string TileName = string.Empty;
@@ -58,7 +58,7 @@ namespace PckStudio.Forms.Editor
: new Animation(frameTextures);
player = new AnimationPlayer(pictureBoxWithInterpolationMode1);
foreach (JObject content in AnimationUtil.tileData[animationSection].Children())
foreach (JObject content in AnimationResources.tileData[animationSection].Children())
{
var prop = content.Properties().FirstOrDefault(prop => prop.Name == TileName);
if (prop is JProperty)
@@ -369,7 +369,7 @@ namespace PckStudio.Forms.Editor
exportJavaAnimationToolStripMenuItem.Enabled =
InterpolationCheckbox.Visible = !IsEditingSpecial;
foreach (JObject content in AnimationUtil.tileData[animationSection].Children())
foreach (JObject content in AnimationResources.tileData[animationSection].Children())
{
var first = content.Properties().FirstOrDefault(p => p.Name == TileName);
if (first is JProperty p) tileLabel.Text = (string)p.Value;

View File

@@ -28,13 +28,13 @@ namespace PckStudio.Forms.Editor
{
TreeNode EntryNode = new TreeNode(entry.name);
foreach (JObject content in Utilities.BehaviourUtil.entityData["entities"].Children())
foreach (JObject content in Utilities.BehaviourResources.entityData["entities"].Children())
{
var prop = content.Properties().FirstOrDefault(prop => prop.Name == entry.name);
if (prop is JProperty)
{
EntryNode.Text = (string)prop.Value;
EntryNode.ImageIndex = Utilities.BehaviourUtil.entityData["entities"].Children().ToList().IndexOf(content);
EntryNode.ImageIndex = Utilities.BehaviourResources.entityData["entities"].Children().ToList().IndexOf(content);
EntryNode.SelectedImageIndex = EntryNode.ImageIndex;
break;
}
@@ -68,7 +68,7 @@ namespace PckStudio.Forms.Editor
}
treeView1.ImageList = new ImageList();
treeView1.ImageList.Images.AddRange(Utilities.BehaviourUtil.entityImages);
treeView1.ImageList.Images.AddRange(Utilities.BehaviourResources.entityImages);
treeView1.ImageList.ColorDepth = ColorDepth.Depth32Bit;
SetUpTree();
}
@@ -149,7 +149,7 @@ namespace PckStudio.Forms.Editor
if (treeView1.SelectedNode == null) return;
if (!(treeView1.SelectedNode.Tag is BehaviourFile.RiderPositionOverride entry)) return;
var diag = new Additional_Popups.EntityForms.AddEntry(Utilities.BehaviourUtil.entityData, Utilities.BehaviourUtil.entityImages);
var diag = new Additional_Popups.EntityForms.AddEntry(Utilities.BehaviourResources.entityData, Utilities.BehaviourResources.entityImages);
diag.acceptBtn.Text = "Save";
if (diag.ShowDialog() == DialogResult.OK)
@@ -164,13 +164,13 @@ namespace PckStudio.Forms.Editor
entry.name = diag.SelectedEntity;
treeView1.SelectedNode.Tag = entry;
foreach (JObject content in Utilities.BehaviourUtil.entityData["entities"].Children())
foreach (JObject content in Utilities.BehaviourResources.entityData["entities"].Children())
{
var prop = content.Properties().FirstOrDefault(prop => prop.Name == entry.name);
if (prop is JProperty)
{
treeView1.SelectedNode.Text = (string)prop.Value;
treeView1.SelectedNode.ImageIndex = Utilities.BehaviourUtil.entityData["entities"].Children().ToList().IndexOf(content);
treeView1.SelectedNode.ImageIndex = Utilities.BehaviourResources.entityData["entities"].Children().ToList().IndexOf(content);
treeView1.SelectedNode.SelectedImageIndex = treeView1.SelectedNode.ImageIndex;
break;
}
@@ -203,7 +203,7 @@ namespace PckStudio.Forms.Editor
private void addNewEntryToolStripMenuItem_Click(object sender, EventArgs e)
{
var diag = new AddEntry(Utilities.BehaviourUtil.entityData, Utilities.BehaviourUtil.entityImages);
var diag = new AddEntry(Utilities.BehaviourResources.entityData, Utilities.BehaviourResources.entityImages);
if(diag.ShowDialog() == DialogResult.OK)
{
@@ -217,13 +217,13 @@ namespace PckStudio.Forms.Editor
TreeNode NewOverrideNode = new TreeNode(NewOverride.name);
NewOverrideNode.Tag = NewOverride;
foreach (JObject content in Utilities.BehaviourUtil.entityData["entities"].Children())
foreach (JObject content in Utilities.BehaviourResources.entityData["entities"].Children())
{
var prop = content.Properties().FirstOrDefault(prop => prop.Name == NewOverride.name);
if (prop is JProperty)
{
NewOverrideNode.Text = (string)prop.Value;
NewOverrideNode.ImageIndex = Utilities.BehaviourUtil.entityData["entities"].Children().ToList().IndexOf(content);
NewOverrideNode.ImageIndex = Utilities.BehaviourResources.entityData["entities"].Children().ToList().IndexOf(content);
NewOverrideNode.SelectedImageIndex = NewOverrideNode.ImageIndex;
break;
}

View File

@@ -27,13 +27,13 @@ namespace PckStudio.Forms.Editor
{
TreeNode EntryNode = new TreeNode(entry.Name);
foreach (JObject content in Utilities.MaterialUtil.entityData["entities"].Children())
foreach (JObject content in Utilities.MaterialResources.entityData["entities"].Children())
{
var prop = content.Properties().FirstOrDefault(prop => prop.Name == entry.Name);
if (prop is JProperty)
{
EntryNode.Text = (string)prop.Value;
EntryNode.ImageIndex = Utilities.MaterialUtil.entityData["entities"].Children().ToList().IndexOf(content);
EntryNode.ImageIndex = Utilities.MaterialResources.entityData["entities"].Children().ToList().IndexOf(content);
EntryNode.SelectedImageIndex = EntryNode.ImageIndex;
break;
}
@@ -58,7 +58,7 @@ namespace PckStudio.Forms.Editor
}
treeView1.ImageList = new ImageList();
Utilities.MaterialUtil.entityImages.ToList().ForEach(img => treeView1.ImageList.Images.Add(img));
Utilities.MaterialResources.entityImages.ToList().ForEach(img => treeView1.ImageList.Images.Add(img));
treeView1.ImageList.ColorDepth = ColorDepth.Depth32Bit;
SetUpTree();
}
@@ -132,7 +132,7 @@ namespace PckStudio.Forms.Editor
private void addToolStripMenuItem_Click(object sender, EventArgs e)
{
var diag = new Additional_Popups.EntityForms.AddEntry(Utilities.MaterialUtil.entityData, Utilities.MaterialUtil.entityImages);
var diag = new Additional_Popups.EntityForms.AddEntry(Utilities.MaterialResources.entityData, Utilities.MaterialResources.entityImages);
if (diag.ShowDialog() == DialogResult.OK)
{
@@ -146,13 +146,13 @@ namespace PckStudio.Forms.Editor
TreeNode NewEntryNode = new TreeNode(NewEntry.Name);
NewEntryNode.Tag = NewEntry;
foreach (JObject content in Utilities.MaterialUtil.entityData["entities"].Children())
foreach (JObject content in Utilities.MaterialResources.entityData["entities"].Children())
{
var prop = content.Properties().FirstOrDefault(prop => prop.Name == NewEntry.Name);
if (prop is JProperty)
{
NewEntryNode.Text = (string)prop.Value;
NewEntryNode.ImageIndex = Utilities.MaterialUtil.entityData["entities"].Children().ToList().IndexOf(content);
NewEntryNode.ImageIndex = Utilities.MaterialResources.entityData["entities"].Children().ToList().IndexOf(content);
NewEntryNode.SelectedImageIndex = NewEntryNode.ImageIndex;
break;
}

View File

@@ -10,25 +10,12 @@ using OMI.Formats.Pck;
namespace PckStudio.Forms.Utilities
{
public static class AnimationUtil
public static class AnimationResources
{
public static string GetAnimationSection(bool isItem) => isItem ? "items" : "blocks";
public static readonly JObject tileData = JObject.Parse(Resources.tileData);
private static Image[] _tileImages;
public static Image[] tileImages => _tileImages ??= Resources.terrain_sheet.CreateImageList(16).Concat(Resources.items_sheet.CreateImageList(16)).ToArray();
public static PckFile.FileData CreateNewAnimationFile(Image source, string tileName, bool isItem)
{
PckFile.FileData file = new PckFile.FileData($"res/textures/{GetAnimationSection(isItem)}/{tileName}.png", PckFile.FileData.FileType.TextureFile);
file.Properties.Add(("ANIM", string.Empty));
using (var stream = new MemoryStream())
{
source.Save(stream, ImageFormat.Png);
file.SetData(stream.ToArray());
}
return file;
}
}
}

View File

@@ -8,28 +8,23 @@ using PckStudio.Classes.Extentions;
using OMI.Formats.Behaviour;
using OMI.Workers.Behaviour;
using OMI.Formats.Pck;
using System;
namespace PckStudio.Forms.Utilities
{
public static class BehaviourUtil
public static class BehaviourResources
{
public static readonly JObject entityData = JObject.Parse(Resources.entityBehaviourData);
private static Image[] _entityImages;
public static Image[] entityImages => _entityImages ??= Resources.entities_sheet.CreateImageList(32).ToArray();
public static PckFile.FileData CreateNewBehaviourFile()
internal static byte[] BehaviourFileInitializer()
{
PckFile.FileData file = new PckFile.FileData($"behaviours.bin", PckFile.FileData.FileType.BehavioursFile);
using (var stream = new MemoryStream())
{
var writer = new BehavioursWriter(new BehaviourFile());
writer.WriteToStream(stream);
file.SetData(stream.ToArray());
}
return file;
using var stream = new MemoryStream();
var writer = new BehavioursWriter(new BehaviourFile());
writer.WriteToStream(stream);
return stream.ToArray();
}
}
}

View File

@@ -0,0 +1,33 @@
using Newtonsoft.Json.Linq;
using System.Drawing;
using System.Linq;
using System.IO;
using PckStudio.Properties;
using PckStudio.Classes.Extentions;
using OMI.Formats.Pck;
using OMI.Formats.Material;
using OMI.Workers.Material;
using System;
namespace PckStudio.Forms.Utilities
{
public static class MaterialResources
{
public static readonly JObject entityData = JObject.Parse(Resources.entityMaterialData);
private static Image[] _entityImages;
public static Image[] entityImages => _entityImages ??= Resources.entities_sheet.CreateImageList(32).ToArray();
public static byte[] MaterialsFileInitializer()
{
using var stream = new MemoryStream();
var matFile = new MaterialContainer
{
new MaterialContainer.Material("bat", "entity_alphatest")
};
var writer = new MaterialFileWriter(matFile);
writer.WriteToStream(stream);
return stream.ToArray();
}
}
}

View File

@@ -1,38 +0,0 @@
using Newtonsoft.Json.Linq;
using System.Drawing;
using System.Linq;
using System.IO;
using PckStudio.Properties;
using PckStudio.Classes.Extentions;
using OMI.Formats.Pck;
using OMI.Formats.Material;
using OMI.Workers.Material;
namespace PckStudio.Forms.Utilities
{
public static class MaterialUtil
{
public static readonly JObject entityData = JObject.Parse(Resources.entityMaterialData);
private static Image[] _entityImages;
public static Image[] entityImages => _entityImages ??= Resources.entities_sheet.CreateImageList(32).ToArray();
public static PckFile.FileData CreateNewMaterialsFile()
{
PckFile.FileData file = new PckFile.FileData($"entityMaterials.bin", PckFile.FileData.FileType.MaterialFile);
using (var stream = new MemoryStream())
{
var matFile = new MaterialContainer
{
new MaterialContainer.Material("bat", "entity_alphatest")
};
var writer = new MaterialFileWriter(matFile);
writer.WriteToStream(stream);
file.SetData(stream.ToArray());
}
return file;
}
}
}

View File

@@ -11,24 +11,27 @@ using OMI.Workers.Model;
namespace PckStudio.Forms.Utilities
{
public static class ModelsUtil
public static class ModelsResources
{
public static readonly JObject entityData = JObject.Parse(Resources.entityModelData);
private static Image[] _entityImages;
public static Image[] entityImages => _entityImages ??= Resources.entities_sheet.CreateImageList(32).ToArray();
public static PckFile.FileData CreateNewModelsFile()
public static void ModelsFileInitializer(PckFile.FileData file)
{
PckFile.FileData file = new PckFile.FileData($"models.bin", PckFile.FileData.FileType.ModelsFile);
using (var stream = new MemoryStream())
{
var writer = new ModelFileWriter(new ModelContainer());
var writer = new ModelFileWriter(new ModelContainer());
writer.WriteToStream(stream);
file.SetData(stream.ToArray());
}
}
public static PckFile.FileData CreateNewModelsFile()
{
PckFile.FileData file = new PckFile.FileData("models.bin", PckFile.FileData.FileType.ModelsFile);
ModelsFileInitializer(file);
return file;
}
}

View File

@@ -841,7 +841,7 @@ namespace PckStudio
audioPck.AddCategory(PCKAudioFile.AudioCategory.EAudioType.Overworld);
audioPck.AddCategory(PCKAudioFile.AudioCategory.EAudioType.Nether);
audioPck.AddCategory(PCKAudioFile.AudioCategory.EAudioType.End);
PckFile.FileData pckFileData = currentPCK.CreateNew("audio.pck", PckFile.FileData.FileType.AudioFile);
PckFile.FileData pckFileData = currentPCK.CreateNewFile("audio.pck", PckFile.FileData.FileType.AudioFile);
using (var stream = new MemoryStream())
{
PCKAudioFileWriter.Write(stream, audioPck, isLittle);
@@ -869,28 +869,37 @@ namespace PckStudio
private void createAnimatedTextureToolStripMenuItem_Click(object sender, EventArgs e)
{
using (var ofd = new OpenFileDialog())
using var ofd = new OpenFileDialog()
{
ofd.Filter = "PNG Files | *.png";
ofd.Title = "Select a PNG File";
if (ofd.ShowDialog() == DialogResult.OK)
Filter = "PNG Files | *.png",
Title = "Select a PNG File",
};
if (ofd.ShowDialog() != DialogResult.OK)
return;
using ChangeTile diag = new ChangeTile();
if (diag.ShowDialog(this) != DialogResult.OK)
return;
using Image img = new Bitmap(ofd.FileName);
var file = currentPCK.CreateNewFile(
$"res/textures/{AnimationResources.GetAnimationSection(diag.IsItem)}/{diag.SelectedTile}.png",
PckFile.FileData.FileType.TextureFile,
() =>
{
using ChangeTile diag = new ChangeTile();
if (diag.ShowDialog(this) == DialogResult.OK)
{
using Image img = new Bitmap(ofd.FileName);
var file = AnimationUtil.CreateNewAnimationFile(img, diag.SelectedTile, diag.IsItem);
using AnimationEditor animationEditor = new AnimationEditor(file);
if (animationEditor.ShowDialog() == DialogResult.OK)
{
file.Filename = animationEditor.TileName;
currentPCK.Files.Add(file);
ReloadMetaTreeView();
BuildMainTreeView();
wasModified = true;
}
}
}
using var stream = new MemoryStream();
img.Save(stream, ImageFormat.Png);
return stream.ToArray();
});
file.Properties.Add(("ANIM", string.Empty));
using AnimationEditor animationEditor = new AnimationEditor(file);
if (animationEditor.ShowDialog() == DialogResult.OK)
{
file.Filename = animationEditor.TileName;
ReloadMetaTreeView();
BuildMainTreeView();
wasModified = true;
}
}
@@ -955,7 +964,7 @@ namespace PckStudio
{
if (node.Tag is PckFile.FileData node_file)
{
PckFile.FileData new_file = newPCKFile.CreateNew(node_file.Filename, node_file.Filetype);
PckFile.FileData new_file = newPCKFile.CreateNewFile(node_file.Filename, node_file.Filetype);
foreach (var prop in node_file.Properties) new_file.Properties.Add(prop);
new_file.SetData(node_file.Data);
}
@@ -1207,23 +1216,25 @@ namespace PckStudio
private PckFile InitializePack(int packId, int packVersion, string packName, bool createSkinsPCK)
{
var newPck = new PckFile(3);
var zeroFile = newPck.CreateNew("0", PckFile.FileData.FileType.InfoFile);
var zeroFile = newPck.CreateNewFile("0", PckFile.FileData.FileType.InfoFile);
zeroFile.Properties.Add(("PACKID", packId.ToString()));
zeroFile.Properties.Add(("PACKVERSION", packVersion.ToString()));
var loc = newPck.CreateNew("localisation.loc", PckFile.FileData.FileType.LocalisationFile);
var locFile = new LOCFile();
locFile.InitializeDefault(packName);
using (var stream = new MemoryStream())
var loc = newPck.CreateNewFile("localisation.loc", PckFile.FileData.FileType.LocalisationFile, () =>
{
var locFile = new LOCFile();
locFile.InitializeDefault(packName);
using var stream = new MemoryStream();
LOCFileWriter.Write(stream, locFile);
loc.SetData(stream.ToArray());
}
return stream.ToArray();
});
if (createSkinsPCK)
{
PckFile.FileData skinsPCKFile = newPck.CreateNew("Skins.pck", PckFile.FileData.FileType.SkinDataFile);
using (var stream = new MemoryStream())
{
PckFile.FileData skinsPCKFile = newPck.CreateNewFile("Skins.pck", PckFile.FileData.FileType.SkinDataFile, () =>
{
using var stream = new MemoryStream();
var writer = new PckFileWriter(new PckFile(3)
{
HasVerionString = true
@@ -1232,8 +1243,8 @@ namespace PckStudio
? OMI.Endianness.LittleEndian
: OMI.Endianness.BigEndian);
writer.WriteToStream(stream);
skinsPCKFile.SetData(stream.ToArray());
}
return stream.ToArray();
});
}
return newPck;
}
@@ -1241,7 +1252,17 @@ namespace PckStudio
private PckFile InitializeTexturePack(int packId, int packVersion, string packName, string res, bool createSkinsPCK = false)
{
var newPck = InitializePack(packId, packVersion, packName, createSkinsPCK);
var texturepackInfo = newPck.CreateNew($"{res}/{res}Info.pck", PckFile.FileData.FileType.TexturePackInfoFile);
var texturepackInfo = newPck.CreateNewFile($"{res}/{res}Info.pck", PckFile.FileData.FileType.TexturePackInfoFile,
() =>
{
using var ms = new MemoryStream();
var writer = new PckFileWriter(new PckFile(3),
LittleEndianCheckBox.Checked
? OMI.Endianness.LittleEndian
: OMI.Endianness.BigEndian);
writer.WriteToStream(ms);
return ms.ToArray();
});
texturepackInfo.Properties.Add(("PACKID", "0"));
texturepackInfo.Properties.Add(("DATAPATH", $"{res}Data.pck"));
@@ -1249,34 +1270,25 @@ namespace PckStudio
using (var ms = new MemoryStream())
{
var icon = infoPCK.CreateNew("icon.png", PckFile.FileData.FileType.TextureFile);
var icon = infoPCK.CreateNewFile("icon.png", PckFile.FileData.FileType.TextureFile);
Resources.TexturePackIcon.Save(ms, ImageFormat.Png);
icon.SetData(ms.ToArray());
}
using (var ms = new MemoryStream())
{
var comparison = infoPCK.CreateNew("comparison.png", PckFile.FileData.FileType.TextureFile);
var comparison = infoPCK.CreateNewFile("comparison.png", PckFile.FileData.FileType.TextureFile);
Resources.Comparison.Save(ms, ImageFormat.Png);
comparison.SetData(ms.ToArray());
}
using (var ms = new MemoryStream())
{
var writer = new PckFileWriter(new PckFile(3),
LittleEndianCheckBox.Checked
? OMI.Endianness.LittleEndian
: OMI.Endianness.BigEndian);
writer.WriteToStream(ms);
texturepackInfo.SetData(ms.ToArray());
}
return newPck;
}
private PckFile InitializeMashUpPack(int packId, int packVersion, string packName, string res)
{
var newPck = InitializeTexturePack(packId, packVersion, packName, res, true);
var gameRuleFile = newPck.CreateNew("GameRules.grf", PckFile.FileData.FileType.GameRulesFile);
var gameRuleFile = newPck.CreateNewFile("GameRules.grf", PckFile.FileData.FileType.GameRulesFile);
var grfFile = new GameRuleFile();
grfFile.AddRule("MapOptions",
new KeyValuePair<string, string>("seed", "0"),
@@ -1604,7 +1616,7 @@ namespace PckStudio
{
string skinNameImport = Path.GetFileName(contents.FileName);
byte[] data = File.ReadAllBytes(contents.FileName);
PckFile.FileData mfNew = currentPCK.CreateNew(skinNameImport, PckFile.FileData.FileType.SkinFile);
PckFile.FileData mfNew = currentPCK.CreateNewFile(skinNameImport, PckFile.FileData.FileType.SkinFile);
mfNew.SetData(data);
string propertyFile = Path.GetFileNameWithoutExtension(contents.FileName) + ".txt";
if (File.Exists(propertyFile))
@@ -1957,7 +1969,7 @@ namespace PckStudio
renamePrompt.TextLabel.Text = "Path";
if (renamePrompt.ShowDialog() == DialogResult.OK && !string.IsNullOrEmpty(renamePrompt.NewText))
{
var file = currentPCK.CreateNew(renamePrompt.NewText, PckFile.FileData.FileType.TextureFile);
var file = currentPCK.CreateNewFile(renamePrompt.NewText, PckFile.FileData.FileType.TextureFile);
file.SetData(File.ReadAllBytes(fileDialog.FileName));
BuildMainTreeView();
wasModified = true;
@@ -2030,14 +2042,13 @@ namespace PckStudio
private void colourscolToolStripMenuItem_Click(object sender, EventArgs e)
{
PckFile.FileData NewColorFile;
if (currentPCK.TryGetFile("colours.col", PckFile.FileData.FileType.ColourTableFile, out NewColorFile))
if (currentPCK.TryGetFile("colours.col", PckFile.FileData.FileType.ColourTableFile, out _))
{
MessageBox.Show("A color table file already exists in this PCK and a new one cannot be created.", "Operation aborted");
return;
}
NewColorFile = currentPCK.CreateNew("colours.col", PckFile.FileData.FileType.ColourTableFile);
NewColorFile.SetData(Resources.tu69colours);
var newColorFile = currentPCK.CreateNewFile("colours.col", PckFile.FileData.FileType.ColourTableFile);
newColorFile.SetData(Resources.tu69colours);
BuildMainTreeView();
}
@@ -2143,19 +2154,14 @@ namespace PckStudio
return;
}
PckFile.FileData newSkinsPCKFile = currentPCK.CreateNew("Skins.pck", PckFile.FileData.FileType.SkinDataFile);
using (var stream = new MemoryStream())
currentPCK.CreateNewFile("Skins.pck", PckFile.FileData.FileType.SkinDataFile, () =>
{
var writer = new PckFileWriter(new PckFile(3)
{
HasVerionString = true
},
LittleEndianCheckBox.Checked
? OMI.Endianness.LittleEndian
: OMI.Endianness.BigEndian);
writer.WriteToStream(stream);
newSkinsPCKFile.SetData(stream.ToArray());
}
using var stream = new MemoryStream();
var writer = new PckFileWriter(new PckFile(3) { HasVerionString = true },
LittleEndianCheckBox.Checked ? OMI.Endianness.LittleEndian : OMI.Endianness.BigEndian);
writer.WriteToStream(stream);
return stream.ToArray();
});
BuildMainTreeView();
@@ -2204,7 +2210,7 @@ namespace PckStudio
using AddFilePrompt diag = new AddFilePrompt("res/" + Path.GetFileName(ofd.FileName));
if (diag.ShowDialog(this) == DialogResult.OK)
{
PckFile.FileData file = currentPCK.CreateNew(diag.filepath, (PckFile.FileData.FileType)diag.filetype);
PckFile.FileData file = currentPCK.CreateNewFile(diag.filepath, (PckFile.FileData.FileType)diag.filetype);
file.SetData(File.ReadAllBytes(ofd.FileName));
if (IsSubPCKNode(treeViewMain.SelectedNode.FullPath)) RebuildSubPCK(treeViewMain.SelectedNode);
@@ -2219,27 +2225,24 @@ namespace PckStudio
private void behavioursbinToolStripMenuItem_Click(object sender, EventArgs e)
{
PckFile.FileData NewBehaviourFile;
if (currentPCK.TryGetFile("behaviours.bin", PckFile.FileData.FileType.BehavioursFile, out NewBehaviourFile))
if (currentPCK.TryGetFile("behaviours.bin", PckFile.FileData.FileType.BehavioursFile, out _))
{
MessageBox.Show("A behaviours file already exists in this PCK and a new one cannot be created.", "Operation aborted");
return;
}
NewBehaviourFile = BehaviourUtil.CreateNewBehaviourFile();
currentPCK.Files.Add(NewBehaviourFile);
currentPCK.CreateNewFile("behaviours.bin", PckFile.FileData.FileType.BehavioursFile, BehaviourResources.BehaviourFileInitializer);
BuildMainTreeView();
}
private void entityMaterialsbinToolStripMenuItem_Click(object sender, EventArgs e)
{
PckFile.FileData NewMaterialsFile;
if (currentPCK.TryGetFile("entityMaterials.bin", PckFile.FileData.FileType.MaterialFile, out NewMaterialsFile))
if (currentPCK.TryGetFile("entityMaterials.bin", PckFile.FileData.FileType.MaterialFile, out _))
{
MessageBox.Show("A behaviours file already exists in this PCK and a new one cannot be created.", "Operation aborted");
return;
}
NewMaterialsFile = MaterialUtil.CreateNewMaterialsFile();
currentPCK.Files.Add(NewMaterialsFile);
currentPCK.CreateNewFile("entityMaterials.bin", PckFile.FileData.FileType.MaterialFile, MaterialResources.MaterialsFileInitializer);
BuildMainTreeView();
}
}

View File

@@ -346,10 +346,10 @@
<Compile Include="Forms\Additional-Popups\Audio\pleaseWait.Designer.cs">
<DependentUpon>pleaseWait.cs</DependentUpon>
</Compile>
<Compile Include="Forms\Utilities\ModelsUtil.cs" />
<Compile Include="Forms\Utilities\MaterialUtil.cs" />
<Compile Include="Forms\Utilities\BehaviourUtil.cs" />
<Compile Include="Forms\Utilities\AnimationUtil.cs" />
<Compile Include="Forms\Utilities\ModelsResources.cs" />
<Compile Include="Forms\Utilities\MaterialResources.cs" />
<Compile Include="Forms\Utilities\BehaviourResources.cs" />
<Compile Include="Forms\Utilities\AnimationResources.cs" />
<Compile Include="Forms\Utilities\Skins\BoxEditor.cs">
<SubType>Form</SubType>
</Compile>

2
Vendor/OMI-Lib vendored