diff --git a/PCK-Studio/Extensions/PckFileDataExtensions.cs b/PCK-Studio/Extensions/PckFileDataExtensions.cs index 0c2f4bc9..9488fdcb 100644 --- a/PCK-Studio/Extensions/PckFileDataExtensions.cs +++ b/PCK-Studio/Extensions/PckFileDataExtensions.cs @@ -18,11 +18,11 @@ namespace PckStudio.Extensions private static Image EmptyImage = new Bitmap(1, 1, PixelFormat.Format32bppArgb); - internal static Image GetTexture(this PckFile.FileData file) + internal static Image GetTexture(this PckFileData file) { - if (file.Filetype != PckFile.FileData.FileType.SkinFile && - file.Filetype != PckFile.FileData.FileType.CapeFile && - file.Filetype != PckFile.FileData.FileType.TextureFile) + if (file.Filetype != PckFileType.SkinFile && + file.Filetype != PckFileType.CapeFile && + file.Filetype != PckFileType.TextureFile) { throw new Exception("File is not suitable to contain image data."); } @@ -41,7 +41,7 @@ namespace PckStudio.Extensions } } - internal static void SetData(this PckFile.FileData file, IDataFormatWriter writer) + internal static void SetData(this PckFileData file, IDataFormatWriter writer) { using (var stream = new MemoryStream()) { @@ -50,11 +50,11 @@ namespace PckStudio.Extensions } } - internal static void SetData(this PckFile.FileData file, Image image, ImageFormat imageFormat) + internal static void SetData(this PckFileData file, Image image, ImageFormat imageFormat) { - if (file.Filetype != PckFile.FileData.FileType.SkinFile && - file.Filetype != PckFile.FileData.FileType.CapeFile && - file.Filetype != PckFile.FileData.FileType.TextureFile) + if (file.Filetype != PckFileType.SkinFile && + file.Filetype != PckFileType.CapeFile && + file.Filetype != PckFileType.TextureFile) { throw new Exception("File is not suitable to contain image data."); } @@ -66,7 +66,7 @@ namespace PckStudio.Extensions } } - internal static bool IsMipmappedFile(this PckFile.FileData file) + internal static bool IsMipmappedFile(this PckFileData file) { // We only want to test the file name itself. ex: "terrainMipMapLevel2" string name = Path.GetFileNameWithoutExtension(file.Filename); @@ -81,7 +81,7 @@ namespace PckStudio.Extensions return true; } - internal static string GetNormalPath(this PckFile.FileData file) + internal static string GetNormalPath(this PckFileData file) { if (!file.IsMipmappedFile()) return file.Filename; diff --git a/PCK-Studio/Extensions/PckFileExtensions.cs b/PCK-Studio/Extensions/PckFileExtensions.cs index f24df276..45eca6a9 100644 --- a/PCK-Studio/Extensions/PckFileExtensions.cs +++ b/PCK-Studio/Extensions/PckFileExtensions.cs @@ -11,7 +11,7 @@ namespace PckStudio.Extensions { internal static class PckFileExtensions { - internal static PckFile.FileData CreateNewFileIf(this PckFile pck, bool condition, string filename, PckFile.FileData.FileType filetype, IDataFormatWriter writer) + internal static PckFileData CreateNewFileIf(this PckFile pck, bool condition, string filename, PckFileType filetype, IDataFormatWriter writer) { if (condition) { @@ -20,7 +20,7 @@ namespace PckStudio.Extensions return null; } - internal static PckFile.FileData CreateNewFile(this PckFile pck, string filename, PckFile.FileData.FileType filetype, IDataFormatWriter writer) + internal static PckFileData CreateNewFile(this PckFile pck, string filename, PckFileType filetype, IDataFormatWriter writer) { var file = pck.CreateNewFile(filename, filetype); file.SetData(writer); diff --git a/PCK-Studio/Features/WiiUPanel.cs b/PCK-Studio/Features/WiiUPanel.cs index d81bae23..ce438ab0 100644 --- a/PCK-Studio/Features/WiiUPanel.cs +++ b/PCK-Studio/Features/WiiUPanel.cs @@ -236,7 +236,7 @@ namespace PckStudio.Features var reader = new PckFileReader(); currentPCK = reader.FromFile(filepath); if (currentPCK is null) return string.Empty; - return currentPCK.TryGetFile("0", PckFile.FileData.FileType.InfoFile, out var file) + return currentPCK.TryGetFile("0", PckFileType.InfoFile, out var file) ? file.Properties.GetPropertyValue("PACKID") : string.Empty; } diff --git a/PCK-Studio/Forms/Additional-Popups/AddFilePrompt.cs b/PCK-Studio/Forms/Additional-Popups/AddFilePrompt.cs index 0a1d9d73..29d80d57 100644 --- a/PCK-Studio/Forms/Additional-Popups/AddFilePrompt.cs +++ b/PCK-Studio/Forms/Additional-Popups/AddFilePrompt.cs @@ -12,7 +12,7 @@ namespace PckStudio.Popups /// otherwise /// public string Filepath => DialogResult == DialogResult.OK ? InputTextBox.Text : string.Empty; - public PckFile.FileData.FileType Filetype => (PckFile.FileData.FileType)FileTypeComboBox.SelectedIndex; + public PckFileType Filetype => (PckFileType)FileTypeComboBox.SelectedIndex; public AddFilePrompt(string initialText) : this(initialText, -1) { } diff --git a/PCK-Studio/Forms/Editor/AudioEditor.cs b/PCK-Studio/Forms/Editor/AudioEditor.cs index 9ed7e8dd..7c04fa28 100644 --- a/PCK-Studio/Forms/Editor/AudioEditor.cs +++ b/PCK-Studio/Forms/Editor/AudioEditor.cs @@ -29,7 +29,7 @@ namespace PckStudio.Forms.Editor { public string defaultType = "yes"; PckAudioFile audioFile = null; - PckFile.FileData audioPCK; + PckFileData audioPCK; bool _isLittleEndian = false; MainForm parent = null; @@ -63,7 +63,7 @@ namespace PckStudio.Forms.Editor return (PckAudioFile.AudioCategory.EAudioType)Categories.IndexOf(category); } - public AudioEditor(PckFile.FileData file, bool isLittleEndian) + public AudioEditor(PckFileData file, bool isLittleEndian) { InitializeComponent(); diff --git a/PCK-Studio/Forms/Editor/BehaviourEditor.cs b/PCK-Studio/Forms/Editor/BehaviourEditor.cs index 2342f4e5..5e4dddde 100644 --- a/PCK-Studio/Forms/Editor/BehaviourEditor.cs +++ b/PCK-Studio/Forms/Editor/BehaviourEditor.cs @@ -20,7 +20,7 @@ namespace PckStudio.Forms.Editor public partial class BehaviourEditor : MetroForm { // Behaviours File Format research by Miku and MattNL - private readonly PckFile.FileData _file; + private readonly PckFileData _file; BehaviourFile behaviourFile; private readonly JObject EntityJSONData = JObject.Parse(Properties.Resources.entityData); @@ -61,7 +61,7 @@ namespace PckStudio.Forms.Editor treeView1.EndUpdate(); } - public BehaviourEditor(PckFile.FileData file) + public BehaviourEditor(PckFileData file) { InitializeComponent(); diff --git a/PCK-Studio/Forms/Editor/COLEditor.cs b/PCK-Studio/Forms/Editor/COLEditor.cs index f7f38fc1..611eaafb 100644 --- a/PCK-Studio/Forms/Editor/COLEditor.cs +++ b/PCK-Studio/Forms/Editor/COLEditor.cs @@ -19,14 +19,14 @@ namespace PckStudio.Forms.Editor ColorContainer colourfile; ColorContainer.Color clipboard_color; - private readonly PckFile.FileData _file; + private readonly PckFileData _file; List colorCache = new List(); List waterCache = new List(); List underwaterCache = new List(); List fogCache = new List(); - public COLEditor(PckFile.FileData file) + public COLEditor(PckFileData file) { InitializeComponent(); diff --git a/PCK-Studio/Forms/Editor/GameRuleFileEditor.cs b/PCK-Studio/Forms/Editor/GameRuleFileEditor.cs index cdee39b6..7e412717 100644 --- a/PCK-Studio/Forms/Editor/GameRuleFileEditor.cs +++ b/PCK-Studio/Forms/Editor/GameRuleFileEditor.cs @@ -36,7 +36,7 @@ namespace PckStudio.Forms.Editor { public partial class GameRuleFileEditor : MetroFramework.Forms.MetroForm { - private PckFile.FileData _pckfile; + private PckFileData _pckfile; private GameRuleFile _file; private GameRuleFile.CompressionType compressionType; private GameRuleFile.CompressionLevel compressionLevel; @@ -69,7 +69,7 @@ namespace PckStudio.Forms.Editor } } - public GameRuleFileEditor(PckFile.FileData file) : this() + public GameRuleFileEditor(PckFileData file) : this() { _pckfile = file; using (var stream = new MemoryStream(file.Data)) diff --git a/PCK-Studio/Forms/Editor/LOCEditor.cs b/PCK-Studio/Forms/Editor/LOCEditor.cs index d830e9ea..d19c067c 100644 --- a/PCK-Studio/Forms/Editor/LOCEditor.cs +++ b/PCK-Studio/Forms/Editor/LOCEditor.cs @@ -19,9 +19,9 @@ namespace PckStudio.Forms.Editor { DataTable tbl; LOCFile currentLoc; - PckFile.FileData _file; + PckFileData _file; - public LOCEditor(PckFile.FileData file) + public LOCEditor(PckFileData file) { InitializeComponent(); _file = file; diff --git a/PCK-Studio/Forms/Editor/MaterialsEditor.cs b/PCK-Studio/Forms/Editor/MaterialsEditor.cs index 24623953..88bb11e8 100644 --- a/PCK-Studio/Forms/Editor/MaterialsEditor.cs +++ b/PCK-Studio/Forms/Editor/MaterialsEditor.cs @@ -18,7 +18,7 @@ namespace PckStudio.Forms.Editor public partial class MaterialsEditor : MetroForm { // Materials File Format research by PhoenixARC - private readonly PckFile.FileData _file; + private readonly PckFileData _file; MaterialContainer materialFile; private readonly JObject EntityJSONData = JObject.Parse(Properties.Resources.entityData); @@ -50,7 +50,7 @@ namespace PckStudio.Forms.Editor treeView1.EndUpdate(); } - public MaterialsEditor(PckFile.FileData file) + public MaterialsEditor(PckFileData file) { InitializeComponent(); _file = file; diff --git a/PCK-Studio/Forms/Editor/TextureAtlasEditor.cs b/PCK-Studio/Forms/Editor/TextureAtlasEditor.cs index a8743487..1e254701 100644 --- a/PCK-Studio/Forms/Editor/TextureAtlasEditor.cs +++ b/PCK-Studio/Forms/Editor/TextureAtlasEditor.cs @@ -107,7 +107,7 @@ namespace PckStudio.Forms.Editor private bool AcquireColorTable(PckFile pckFile) { - if (pckFile.TryGetFile("colours.col", PckFile.FileData.FileType.ColourTableFile, out var colFile) && + if (pckFile.TryGetFile("colours.col", PckFileType.ColourTableFile, out var colFile) && colFile.Size > 0) { using var ms = new MemoryStream(colFile.Data); @@ -148,7 +148,7 @@ namespace PckStudio.Forms.Editor selectTilePictureBox.UseBlendColor = applyColorMaskToolStripMenuItem.Checked; bool hasAnimation = - _pckFile.Files.TryGetValue($"res/textures/{_atlasType}/{_selectedTile.Tile.InternalName}.png", PckFile.FileData.FileType.TextureFile, out var animationFile); + _pckFile.Files.TryGetValue($"res/textures/{_atlasType}/{_selectedTile.Tile.InternalName}.png", PckFileType.TextureFile, out var animationFile); animationButton.Text = hasAnimation ? "Edit Animation" : "Create Animation"; replaceButton.Enabled = !hasAnimation; @@ -397,10 +397,10 @@ namespace PckStudio.Forms.Editor bool isNewFile; if (isNewFile = !_pckFile.Files.TryGetValue( $"res/textures/{_atlasType}/{_selectedTile.Tile.InternalName}.png", - PckFile.FileData.FileType.TextureFile, out var file + PckFileType.TextureFile, out var file )) { - file = new PckFile.FileData($"res/textures/{_atlasType}/{_selectedTile.Tile.InternalName}.png", PckFile.FileData.FileType.TextureFile); + file = new PckFileData($"res/textures/{_atlasType}/{_selectedTile.Tile.InternalName}.png", PckFileType.TextureFile); } var animation = AnimationHelper.GetAnimationFromFile(file); diff --git a/PCK-Studio/Forms/Skins-And-Textures/AddNewSkin.cs b/PCK-Studio/Forms/Skins-And-Textures/AddNewSkin.cs index ba43f2f8..3f34cb3d 100644 --- a/PCK-Studio/Forms/Skins-And-Textures/AddNewSkin.cs +++ b/PCK-Studio/Forms/Skins-And-Textures/AddNewSkin.cs @@ -17,13 +17,13 @@ namespace PckStudio.Popups { public partial class AddNewSkin : MetroFramework.Forms.MetroForm { - public PckFile.FileData SkinFile => skin; - public PckFile.FileData CapeFile => cape; + public PckFileData SkinFile => skin; + public PckFileData CapeFile => cape; public bool HasCape => cape is not null; private LOCFile currentLoc; - private PckFile.FileData skin = new PckFile.FileData("dlcskinXYXYXYXY", PckFile.FileData.FileType.SkinFile); - private PckFile.FileData cape; + private PckFileData skin = new PckFileData("dlcskinXYXYXYXY", PckFileType.SkinFile); + private PckFileData cape; private SkinANIM anim = new SkinANIM(); private Random rng = new Random(); @@ -224,7 +224,7 @@ namespace PckStudio.Popups return; } capePictureBox.Image = Image.FromFile(ofd.FileName); - cape ??= new PckFile.FileData("dlccapeXYXYXYXY", PckFile.FileData.FileType.CapeFile); + cape ??= new PckFileData("dlccapeXYXYXYXY", PckFileType.CapeFile); cape.SetData(File.ReadAllBytes(ofd.FileName)); contextMenuCape.Items[0].Text = "Replace"; capeLabel.Visible = false; diff --git a/PCK-Studio/Forms/Skins-And-Textures/AdvancedOptions.cs b/PCK-Studio/Forms/Skins-And-Textures/AdvancedOptions.cs index 9c9f3071..202a4500 100644 --- a/PCK-Studio/Forms/Skins-And-Textures/AdvancedOptions.cs +++ b/PCK-Studio/Forms/Skins-And-Textures/AdvancedOptions.cs @@ -46,10 +46,10 @@ namespace PckStudio.Popups private void applyBulkProperties(FileCollection files, int index) { - foreach (PckFile.FileData file in files) + foreach (PckFileData file in files) { - if (file.Filetype == PckFile.FileData.FileType.TexturePackInfoFile || - file.Filetype == PckFile.FileData.FileType.SkinDataFile) + if (file.Filetype == PckFileType.TexturePackInfoFile || + file.Filetype == PckFileType.SkinDataFile) { try { @@ -65,15 +65,15 @@ namespace PckStudio.Popups } } - if (index == -1 || (Enum.IsDefined(typeof(PckFile.FileData.FileType), index) && (int)file.Filetype == index)) + if (index == -1 || (Enum.IsDefined(typeof(PckFileType), index) && (int)file.Filetype == index)) { file.Properties.Add(propertyKeyTextBox.Text, propertyValueTextBox.Text); } } - if (Enum.IsDefined(typeof(PckFile.FileData.FileType), index)) + if (Enum.IsDefined(typeof(PckFileType), index)) { - MessageBox.Show($"Data added to {(PckFile.FileData.FileType)index} entries"); + MessageBox.Show($"Data added to {(PckFileType)index} entries"); return; } MessageBox.Show("Data added to all entries"); diff --git a/PCK-Studio/Forms/Skins-And-Textures/generateModel.cs b/PCK-Studio/Forms/Skins-And-Textures/generateModel.cs index aa9a0d93..64e7dadb 100644 --- a/PCK-Studio/Forms/Skins-And-Textures/generateModel.cs +++ b/PCK-Studio/Forms/Skins-And-Textures/generateModel.cs @@ -39,7 +39,7 @@ namespace PckStudio.Forms left, } - private PckFile.FileData _file; + private PckFileData _file; private SkinANIM _ANIM; private static Color _backgroundColor = Color.FromArgb(0xff, 0x50, 0x50, 0x50); @@ -126,7 +126,7 @@ namespace PckStudio.Forms } } - public generateModel(PckFile.FileData file) + public generateModel(PckFileData file) { MessageBox.Show(this, "This feature is now considered deprecated and will no longer recieve updates. A better alternative is currently under development. Use at your own risk.", "Deprecated Feature", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); InitializeComponent(); @@ -149,7 +149,7 @@ namespace PckStudio.Forms return sWhitespace.Replace(input, replacement); } - private void LoadData(PckFile.PCKProperties properties) + private void LoadData(PckFileProperties properties) { comboParent.Enabled = properties.GetProperties("BOX").All(kv => { var box = SkinBOX.FromString(kv.Value); diff --git a/PCK-Studio/Forms/Utilities/TextureConverterUtility.cs b/PCK-Studio/Forms/Utilities/TextureConverterUtility.cs index 336f0045..f71875cf 100644 --- a/PCK-Studio/Forms/Utilities/TextureConverterUtility.cs +++ b/PCK-Studio/Forms/Utilities/TextureConverterUtility.cs @@ -314,13 +314,13 @@ namespace PckStudio.Forms.Utilities switch (tn.Text) { case ("terrain.png"): - Terrain = Image.FromStream(new MemoryStream(((PckFile.FileData)(tn.Tag)).Data)); + Terrain = Image.FromStream(new MemoryStream(((PckFileData)(tn.Tag)).Data)); break; case ("items.png"): - Items = Image.FromStream(new MemoryStream(((PckFile.FileData)(tn.Tag)).Data)); + Items = Image.FromStream(new MemoryStream(((PckFileData)(tn.Tag)).Data)); break; case ("art"): - painting = Image.FromStream(new MemoryStream(((PckFile.FileData)(tn.Nodes[0].Tag)).Data)); + painting = Image.FromStream(new MemoryStream(((PckFileData)(tn.Nodes[0].Tag)).Data)); break; case ("mob"): EntityNode = tn; @@ -426,7 +426,7 @@ namespace PckStudio.Forms.Utilities string Outpath = "assets\\minecraft\\textures\\"; - foreach (PckFile.FileData mf in Pck.Files) + foreach (PckFileData mf in Pck.Files) { FileInfo file = new FileInfo(Environment.CurrentDirectory + "\\Temp\\" + @"\" + mf.Filename); file.Directory.Create(); // If the directory already exists, this method does nothing. @@ -451,7 +451,7 @@ namespace PckStudio.Forms.Utilities string Outpath = "assets\\minecraft\\textures\\"; - foreach (PckFile.FileData mf in Pck.Files) + foreach (PckFileData mf in Pck.Files) { FileInfo file = new FileInfo(Environment.CurrentDirectory + "\\Temp\\" + @"\" + mf.Filename); file.Directory.Create(); // If the directory already exists, this method does nothing. @@ -476,7 +476,7 @@ namespace PckStudio.Forms.Utilities string Outpath = "assets\\minecraft\\textures\\"; - foreach (PckFile.FileData mf in Pck.Files) + foreach (PckFileData mf in Pck.Files) { FileInfo file = new FileInfo(Environment.CurrentDirectory + "\\Temp\\" + @"\" + mf.Filename); file.Directory.Create(); // If the directory already exists, this method does nothing. diff --git a/PCK-Studio/Forms/Utilities/pckCenterOpen.cs b/PCK-Studio/Forms/Utilities/pckCenterOpen.cs index 0afe5b6e..a7cf3a09 100644 --- a/PCK-Studio/Forms/Utilities/pckCenterOpen.cs +++ b/PCK-Studio/Forms/Utilities/pckCenterOpen.cs @@ -137,11 +137,11 @@ namespace PckStudio.Forms //MessageBox.Show(root);//debug thingy to make sure filepath is correct //add all skins to a list - List skinsList = new List(); - List capesList = new List(); + List skinsList = new List(); + List capesList = new List(); var reader = new PckFileReader(); PckFile currentPCK = reader.FromFile(Program.AppData + "/PCK-Center/myPcks/" + mod + ".pck"); - foreach (PckFile.FileData skin in currentPCK.Files) + foreach (PckFileData skin in currentPCK.Files) { if (skin.Filename.Count() == 19) { @@ -175,7 +175,7 @@ namespace PckStudio.Forms writeSkins.WriteLine(" \"skins\": ["); int skinAmount = 0; - foreach (PckFile.FileData newSkin in skinsList) + foreach (PckFileData newSkin in skinsList) { skinAmount += 1; string skinName = "skinName"; @@ -232,7 +232,7 @@ namespace PckStudio.Forms { writeSkins.WriteLine("{"); int newSkinCount = 0; - foreach (PckFile.FileData newSkin in skinsList) + foreach (PckFileData newSkin in skinsList) { newSkinCount += 1; @@ -1020,7 +1020,7 @@ namespace PckStudio.Forms } //adds skin textures - foreach (PckFile.FileData skinTexture in skinsList) + foreach (PckFileData skinTexture in skinsList) { var ms = new MemoryStream(skinTexture.Data); Bitmap saveSkin = new Bitmap(Image.FromStream(ms)); @@ -1049,7 +1049,7 @@ namespace PckStudio.Forms } //adds cape textures - foreach (PckFile.FileData capeTexture in capesList) + foreach (PckFileData capeTexture in capesList) { File.WriteAllBytes(root + "/" + capeTexture.Filename, capeTexture.Data); } diff --git a/PCK-Studio/Helper/AnimationHelper.cs b/PCK-Studio/Helper/AnimationHelper.cs index 9f08dad3..a9714d15 100644 --- a/PCK-Studio/Helper/AnimationHelper.cs +++ b/PCK-Studio/Helper/AnimationHelper.cs @@ -15,7 +15,7 @@ namespace PckStudio.Helper { internal static class AnimationHelper { - internal static void SaveAnimationToFile(PckFile.FileData file, Animation animation) + internal static void SaveAnimationToFile(PckFileData file, Animation animation) { string anim = animation.BuildAnim(); file.Properties.SetProperty("ANIM", anim); @@ -23,7 +23,7 @@ namespace PckStudio.Helper file.SetData(texture, ImageFormat.Png); } - internal static Animation GetAnimationFromFile(PckFile.FileData file) + internal static Animation GetAnimationFromFile(PckFileData file) { _ = file ?? throw new ArgumentNullException(nameof(file)); if (file.Size > 0) diff --git a/PCK-Studio/Internal/PckNodeSorter.cs b/PCK-Studio/Internal/PckNodeSorter.cs index 55d419f1..03cfd111 100644 --- a/PCK-Studio/Internal/PckNodeSorter.cs +++ b/PCK-Studio/Internal/PckNodeSorter.cs @@ -15,8 +15,8 @@ namespace PckStudio.Internal private bool CheckForSkinAndCapeFiles(TreeNode node) { - return node.TryGetTagData(out PckFile.FileData file) && - (file.Filetype == PckFile.FileData.FileType.SkinFile || file.Filetype == PckFile.FileData.FileType.CapeFile); + return node.TryGetTagData(out PckFileData file) && + (file.Filetype == PckFileType.SkinFile || file.Filetype == PckFileType.CapeFile); } public int Compare(object x, object y) @@ -29,7 +29,7 @@ namespace PckStudio.Internal public int Compare(TreeNode x, TreeNode y) { int result = InternalCompare(x, y); - Debug.WriteLine(result); + //Debug.WriteLine(result); if (Descending && result != 0) { result = 2 % result + 1; @@ -39,9 +39,9 @@ namespace PckStudio.Internal private int InternalCompare(TreeNode first, TreeNode second) { - if (first.IsTagOfType() && !second.IsTagOfType()) + if (first.IsTagOfType() && !second.IsTagOfType()) return -1; - if (!first.IsTagOfType() && second.IsTagOfType()) + if (!first.IsTagOfType() && second.IsTagOfType()) return 1; if (CheckForSkinAndCapeFiles(first)) diff --git a/PCK-Studio/MainForm.cs b/PCK-Studio/MainForm.cs index d0b8826a..ff876c47 100644 --- a/PCK-Studio/MainForm.cs +++ b/PCK-Studio/MainForm.cs @@ -45,24 +45,24 @@ namespace PckStudio bool isSelectingTab = false; - readonly Dictionary> pckFileTypeHandler; + readonly Dictionary> pckFileTypeHandler; public MainForm() { InitializeComponent(); - skinToolStripMenuItem1.Click += (sender, e) => SetFileType(PckFile.FileData.FileType.SkinFile); - capeToolStripMenuItem.Click += (sender, e) => SetFileType(PckFile.FileData.FileType.CapeFile); - textureToolStripMenuItem.Click += (sender, e) => SetFileType(PckFile.FileData.FileType.TextureFile); - languagesFileLOCToolStripMenuItem.Click += (sender, e) => SetFileType(PckFile.FileData.FileType.LocalisationFile); - gameRulesFileGRFToolStripMenuItem.Click += (sender, e) => SetFileType(PckFile.FileData.FileType.GameRulesFile); - audioPCKFileToolStripMenuItem.Click += (sender, e) => SetFileType(PckFile.FileData.FileType.AudioFile); - coloursCOLFileToolStripMenuItem.Click += (sender, e) => SetFileType(PckFile.FileData.FileType.ColourTableFile); - gameRulesHeaderGRHToolStripMenuItem.Click += (sender, e) => SetFileType(PckFile.FileData.FileType.GameRulesHeader); - skinsPCKToolStripMenuItem.Click += (sender, e) => SetFileType(PckFile.FileData.FileType.SkinDataFile); - modelsFileBINToolStripMenuItem.Click += (sender, e) => SetFileType(PckFile.FileData.FileType.ModelsFile); - behavioursFileBINToolStripMenuItem.Click += (sender, e) => SetFileType(PckFile.FileData.FileType.BehavioursFile); - entityMaterialsFileBINToolStripMenuItem.Click += (sender, e) => SetFileType(PckFile.FileData.FileType.MaterialFile); + skinToolStripMenuItem1.Click += (sender, e) => SetFileType(PckFileType.SkinFile); + capeToolStripMenuItem.Click += (sender, e) => SetFileType(PckFileType.CapeFile); + textureToolStripMenuItem.Click += (sender, e) => SetFileType(PckFileType.TextureFile); + languagesFileLOCToolStripMenuItem.Click += (sender, e) => SetFileType(PckFileType.LocalisationFile); + gameRulesFileGRFToolStripMenuItem.Click += (sender, e) => SetFileType(PckFileType.GameRulesFile); + audioPCKFileToolStripMenuItem.Click += (sender, e) => SetFileType(PckFileType.AudioFile); + coloursCOLFileToolStripMenuItem.Click += (sender, e) => SetFileType(PckFileType.ColourTableFile); + gameRulesHeaderGRHToolStripMenuItem.Click += (sender, e) => SetFileType(PckFileType.GameRulesHeader); + skinsPCKToolStripMenuItem.Click += (sender, e) => SetFileType(PckFileType.SkinDataFile); + modelsFileBINToolStripMenuItem.Click += (sender, e) => SetFileType(PckFileType.ModelsFile); + behavioursFileBINToolStripMenuItem.Click += (sender, e) => SetFileType(PckFileType.BehavioursFile); + entityMaterialsFileBINToolStripMenuItem.Click += (sender, e) => SetFileType(PckFileType.MaterialFile); treeViewMain.TreeViewNodeSorter = new PckNodeSorter(); @@ -73,23 +73,23 @@ namespace PckStudio labelVersion.Text = $"{Application.ProductName}: {Application.ProductVersion}"; ChangelogRichTextBox.Text = Resources.CHANGELOG; - pckFileTypeHandler = new Dictionary>(15) + pckFileTypeHandler = new Dictionary>(15) { - [PckFile.FileData.FileType.SkinFile] = HandleSkinFile, - [PckFile.FileData.FileType.CapeFile] = null, - [PckFile.FileData.FileType.TextureFile] = HandleTextureFile, - [PckFile.FileData.FileType.UIDataFile] = _ => throw new NotSupportedException("unused in-game"), - [PckFile.FileData.FileType.InfoFile] = null, - [PckFile.FileData.FileType.TexturePackInfoFile] = null, - [PckFile.FileData.FileType.LocalisationFile] = HandleLocalisationFile, - [PckFile.FileData.FileType.GameRulesFile] = HandleGameRuleFile, - [PckFile.FileData.FileType.AudioFile] = HandleAudioFile, - [PckFile.FileData.FileType.ColourTableFile] = HandleColourFile, - [PckFile.FileData.FileType.GameRulesHeader] = HandleGameRuleFile, - [PckFile.FileData.FileType.SkinDataFile] = null, - [PckFile.FileData.FileType.ModelsFile] = HandleModelsFile, - [PckFile.FileData.FileType.BehavioursFile] = HandleBehavioursFile, - [PckFile.FileData.FileType.MaterialFile] = HandleMaterialFile, + [PckFileType.SkinFile] = HandleSkinFile, + [PckFileType.CapeFile] = null, + [PckFileType.TextureFile] = HandleTextureFile, + [PckFileType.UIDataFile] = _ => throw new NotSupportedException("unused in-game"), + [PckFileType.InfoFile] = null, + [PckFileType.TexturePackInfoFile] = null, + [PckFileType.LocalisationFile] = HandleLocalisationFile, + [PckFileType.GameRulesFile] = HandleGameRuleFile, + [PckFileType.AudioFile] = HandleAudioFile, + [PckFileType.ColourTableFile] = HandleColourFile, + [PckFileType.GameRulesHeader] = HandleGameRuleFile, + [PckFileType.SkinDataFile] = null, + [PckFileType.ModelsFile] = HandleModelsFile, + [PckFileType.BehavioursFile] = HandleBehavioursFile, + [PckFileType.MaterialFile] = HandleMaterialFile, }; } @@ -195,7 +195,7 @@ namespace PckStudio private void CheckForPasswordAndRemove() { - if (currentPCK.TryGetFile("0", PckFile.FileData.FileType.InfoFile, out PckFile.FileData file)) + if (currentPCK.TryGetFile("0", PckFileType.InfoFile, out PckFileData file)) { file.Properties.RemoveAll(t => t.Key.Equals("LOCK")); } @@ -306,7 +306,7 @@ namespace PckStudio TreeNode node = BuildNodeTreeBySeperator(root, file.Filename, '/'); node.Tag = file; if (Settings.Default.LoadSubPcks && - (file.Filetype == PckFile.FileData.FileType.SkinDataFile || file.Filetype == PckFile.FileData.FileType.TexturePackInfoFile) && + (file.Filetype == PckFileType.SkinDataFile || file.Filetype == PckFileType.TexturePackInfoFile) && file.Size > 0) { using (var stream = new MemoryStream(file.Data)) @@ -340,7 +340,7 @@ namespace PckStudio treeViewMain.Nodes.Clear(); BuildPckTreeView(treeViewMain.Nodes, currentPCK); - if (isTemplateFile && currentPCK.HasFile("Skins.pck", PckFile.FileData.FileType.SkinDataFile)) + if (isTemplateFile && currentPCK.HasFile("Skins.pck", PckFileType.SkinDataFile)) { TreeNode skinsNode = treeViewMain.Nodes.Find("Skins.pck", false).FirstOrDefault(); TreeNode folderNode = CreateNode("Skins"); @@ -359,9 +359,9 @@ namespace PckStudio } } - private void HandleTextureFile(PckFile.FileData file) + private void HandleTextureFile(PckFileData file) { - _ = file.IsMipmappedFile() && currentPCK.Files.TryGetValue(file.GetNormalPath(), PckFile.FileData.FileType.TextureFile, out file); + _ = file.IsMipmappedFile() && currentPCK.Files.TryGetValue(file.GetNormalPath(), PckFileType.TextureFile, out file); if (file.Size <= 0) { @@ -398,33 +398,33 @@ namespace PckStudio } } - private void HandleGameRuleFile(PckFile.FileData file) + private void HandleGameRuleFile(PckFileData file) { using GameRuleFileEditor grfEditor = new GameRuleFileEditor(file); wasModified = grfEditor.ShowDialog(this) == DialogResult.OK; UpdateRichPresence(); } - private void HandleAudioFile(PckFile.FileData file) + private void HandleAudioFile(PckFileData file) { using AudioEditor audioEditor = new AudioEditor(file, LittleEndianCheckBox.Checked); wasModified = audioEditor.ShowDialog(this) == DialogResult.OK; } - private void HandleLocalisationFile(PckFile.FileData file) + private void HandleLocalisationFile(PckFileData file) { using LOCEditor locedit = new LOCEditor(file); wasModified = locedit.ShowDialog(this) == DialogResult.OK; UpdateRichPresence(); } - private void HandleColourFile(PckFile.FileData file) + private void HandleColourFile(PckFileData file) { using COLEditor diag = new COLEditor(file); wasModified = diag.ShowDialog(this) == DialogResult.OK; } - public void HandleSkinFile(PckFile.FileData file) + public void HandleSkinFile(PckFileData file) { if (file.Properties.HasProperty("BOX")) { @@ -443,18 +443,18 @@ namespace PckStudio skinViewer.ShowDialog(this); } - public void HandleModelsFile(PckFile.FileData file) + public void HandleModelsFile(PckFileData file) { MessageBox.Show("Models.bin support has not been implemented. You can use the Spark Editor for the time being to edit these files.", "Not implemented yet."); } - public void HandleBehavioursFile(PckFile.FileData file) + public void HandleBehavioursFile(PckFileData file) { using BehaviourEditor edit = new BehaviourEditor(file); wasModified = edit.ShowDialog(this) == DialogResult.OK; } - public void HandleMaterialFile(PckFile.FileData file) + public void HandleMaterialFile(PckFileData file) { using MaterialsEditor edit = new MaterialsEditor(file); wasModified = edit.ShowDialog(this) == DialogResult.OK; @@ -467,7 +467,7 @@ namespace PckStudio buttonEdit.Visible = false; previewPictureBox.Image = Resources.NoImageFound; viewFileInfoToolStripMenuItem.Visible = false; - if (e.Node.TryGetTagData(out PckFile.FileData file)) + if (e.Node.TryGetTagData(out PckFileData file)) { viewFileInfoToolStripMenuItem.Visible = true; if (file.Properties.HasProperty("BOX")) @@ -484,9 +484,9 @@ namespace PckStudio switch (file.Filetype) { - case PckFile.FileData.FileType.SkinFile: - case PckFile.FileData.FileType.CapeFile: - case PckFile.FileData.FileType.TextureFile: + case PckFileType.SkinFile: + case PckFileType.CapeFile: + case PckFileType.TextureFile: { // TODO: Add tga support if (Path.GetExtension(file.Filename) == ".tga") break; @@ -514,7 +514,7 @@ namespace PckStudio if ((file.Filename.StartsWith("res/textures/blocks/") || file.Filename.StartsWith("res/textures/items/")) && - file.Filetype == PckFile.FileData.FileType.TextureFile + file.Filetype == PckFileType.TextureFile && !file.IsMipmappedFile()) { buttonEdit.Text = "EDIT TILE ANIMATION"; @@ -523,22 +523,22 @@ namespace PckStudio } break; - case PckFile.FileData.FileType.LocalisationFile: + case PckFileType.LocalisationFile: buttonEdit.Text = "EDIT LOC"; buttonEdit.Visible = true; break; - case PckFile.FileData.FileType.AudioFile: + case PckFileType.AudioFile: buttonEdit.Text = "EDIT MUSIC CUES"; buttonEdit.Visible = true; break; - case PckFile.FileData.FileType.ColourTableFile when file.Filename == "colours.col": + case PckFileType.ColourTableFile when file.Filename == "colours.col": buttonEdit.Text = "EDIT COLORS"; buttonEdit.Visible = true; break; - case PckFile.FileData.FileType.BehavioursFile when file.Filename == "behaviours.bin": + case PckFileType.BehavioursFile when file.Filename == "behaviours.bin": buttonEdit.Text = "EDIT BEHAVIOURS"; buttonEdit.Visible = true; break; @@ -554,7 +554,7 @@ namespace PckStudio var node = treeViewMain.SelectedNode; if (node == null) return; - if (node.TryGetTagData(out PckFile.FileData file)) + if (node.TryGetTagData(out PckFileData file)) { using SaveFileDialog exFile = new SaveFileDialog(); exFile.FileName = Path.GetFileName(file.Filename); @@ -586,7 +586,7 @@ namespace PckStudio { GetAllChildNodes(node.Nodes).ForEach(fileNode => { - if (fileNode.TryGetTagData(out PckFile.FileData file)) + if (fileNode.TryGetTagData(out PckFileData file)) { Directory.CreateDirectory($"{extractPath}/{Path.GetDirectoryName(file.Filename)}"); File.WriteAllBytes($"{extractPath}/{file.Filename}", file.Data); @@ -643,7 +643,7 @@ namespace PckStudio private void replaceToolStripMenuItem_Click(object sender, EventArgs e) { - if (treeViewMain.SelectedNode.Tag is PckFile.FileData file) + if (treeViewMain.SelectedNode.Tag is PckFileData file) { using var ofd = new OpenFileDialog(); // Suddenly, and randomly, this started throwing an exception because it wasn't formatted correctly? So now it's formatted correctly and now displays the file type name in the dialog. @@ -652,7 +652,7 @@ namespace PckStudio switch (file.Filetype) { - case PckFile.FileData.FileType.TextureFile: + case PckFileType.TextureFile: if (Path.GetExtension(file.Filename) == ".png") extra_extensions = ";*.tga"; else if (Path.GetExtension(file.Filename) == ".tga") extra_extensions = ";*.png"; break; @@ -680,12 +680,12 @@ namespace PckStudio /// /// File to remove /// True if the remove should be canceled, otherwise False - private bool BeforeFileRemove(PckFile.FileData file) + private bool BeforeFileRemove(PckFileData file) { string itemPath = "res/textures/items/"; // warn the user about deleting compass.png and clock.png - if (file.Filetype == PckFile.FileData.FileType.TextureFile && + if (file.Filetype == PckFileType.TextureFile && (file.Filename == itemPath + "compass.png" || file.Filename == itemPath + "clock.png")) { if (MessageBox.Show("Are you sure want to delete this file? If \"compass.png\" or \"clock.png\" are missing, your game will crash upon loading this pack.", "Warning", @@ -694,7 +694,7 @@ namespace PckStudio } // remove loc key if its a skin/cape - if (file.Filetype == PckFile.FileData.FileType.SkinFile || file.Filetype == PckFile.FileData.FileType.CapeFile) + if (file.Filetype == PckFileType.SkinFile || file.Filetype == PckFileType.CapeFile) { if (TryGetLocFile(out LOCFile locFile)) { @@ -714,7 +714,7 @@ namespace PckStudio string path = node.FullPath; - if (node.TryGetTagData(out PckFile.FileData file)) + if (node.TryGetTagData(out PckFileData file)) { if (!BeforeFileRemove(file) && currentPCK.Files.Remove(file)) { @@ -743,7 +743,7 @@ namespace PckStudio if (diag.ShowDialog(this) == DialogResult.OK) { - if (node.Tag is PckFile.FileData file) + if (node.Tag is PckFileData file) { file.Filename = diag.NewText; } @@ -752,7 +752,7 @@ namespace PckStudio node.Text = diag.NewText; foreach (var childNode in GetAllChildNodes(node.Nodes)) { - if (childNode.Tag is PckFile.FileData folderFile) + if (childNode.Tag is PckFileData folderFile) { folderFile.Filename = childNode.FullPath; } @@ -775,14 +775,14 @@ namespace PckStudio if (add.ShowDialog() == DialogResult.OK) { - if (currentPCK.HasFile("Skins.pck", PckFile.FileData.FileType.SkinDataFile)) // Prioritize Skins.pck + 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, PckFile.FileData.FileType.SkinFile); + SetNodeIcon(newNode, PckFileType.SkinFile); subPCK.Nodes.Add(newNode); RebuildSubPCK(newNode.FullPath); } @@ -793,14 +793,14 @@ namespace PckStudio } if (add.HasCape) { - if (currentPCK.HasFile("Skins.pck", PckFile.FileData.FileType.SkinDataFile)) // Prioritize Skins.pck + 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, PckFile.FileData.FileType.SkinFile); + SetNodeIcon(newNode, PckFileType.SkinFile); subPCK.Nodes.Add(newNode); RebuildSubPCK(newNode.FullPath); } @@ -817,20 +817,20 @@ namespace PckStudio } } - private static PckFile.FileData CreateNewAudioFile(bool isLittle) + private static PckFileData CreateNewAudioFile(bool isLittle) { PckAudioFile audioPck = new PckAudioFile(); audioPck.AddCategory(PckAudioFile.AudioCategory.EAudioType.Overworld); audioPck.AddCategory(PckAudioFile.AudioCategory.EAudioType.Nether); audioPck.AddCategory(PckAudioFile.AudioCategory.EAudioType.End); - PckFile.FileData pckFileData = new PckFile.FileData("audio.pck", PckFile.FileData.FileType.AudioFile); + PckFileData pckFileData = new PckFileData("audio.pck", PckFileType.AudioFile); pckFileData .SetData(new PckAudioFileWriter(audioPck, isLittle ? OMI.Endianness.LittleEndian : OMI.Endianness.BigEndian)); return pckFileData; } private void audiopckToolStripMenuItem_Click(object sender, EventArgs e) { - if (currentPCK.Files.Contains("audio.pck", PckFile.FileData.FileType.AudioFile)) + if (currentPCK.Files.Contains("audio.pck", PckFileType.AudioFile)) { // the chance of this happening is really really slim but just in case MessageBox.Show("There is already a file in this PCK named \"audio.pck\"!", "Can't create audio.pck"); @@ -858,9 +858,9 @@ namespace PckStudio if (diag.ShowDialog(this) != DialogResult.OK) return; - var file = new PckFile.FileData( + var file = new PckFileData( $"res/textures/{Animation.GetCategoryName(diag.Category)}/{diag.SelectedTile}.png", - PckFile.FileData.FileType.TextureFile); + PckFileType.TextureFile); var animation = AnimationHelper.GetAnimationFromFile(file); @@ -912,9 +912,9 @@ namespace PckStudio foreach (var node in s) { TreeNode parent = treeViewMain.Nodes.Find(node, true)[0]; - if (parent.TryGetTagData(out PckFile.FileData f) && - (f.Filetype is PckFile.FileData.FileType.TexturePackInfoFile || - f.Filetype is PckFile.FileData.FileType.SkinDataFile)) + if (parent.TryGetTagData(out PckFileData f) && + (f.Filetype is PckFileType.TexturePackInfoFile || + f.Filetype is PckFileType.SkinDataFile)) return parent; } @@ -931,17 +931,17 @@ namespace PckStudio Debug.WriteLine(parent.Name); if (parent == null) return; - PckFile.FileData parent_file = parent.Tag as PckFile.FileData; - if (parent_file.Filetype is PckFile.FileData.FileType.TexturePackInfoFile || parent_file.Filetype is PckFile.FileData.FileType.SkinDataFile) + PckFileData parent_file = parent.Tag as PckFileData; + if (parent_file.Filetype is PckFileType.TexturePackInfoFile || parent_file.Filetype is PckFileType.SkinDataFile) { Debug.WriteLine("Rebuilding " + parent_file.Filename); - PckFile newPCKFile = new PckFile(3, parent_file.Filetype is PckFile.FileData.FileType.SkinDataFile); + PckFile newPCKFile = new PckFile(3, parent_file.Filetype is PckFileType.SkinDataFile); foreach (TreeNode node in GetAllChildNodes(parent.Nodes)) { - if (node.Tag is PckFile.FileData node_file) + if (node.Tag is PckFileData node_file) { - PckFile.FileData new_file = newPCKFile.CreateNewFile(node_file.Filename.Replace(parent_file.Filename + "/", String.Empty), node_file.Filetype); + PckFileData new_file = newPCKFile.CreateNewFile(node_file.Filename.Replace(parent_file.Filename + "/", String.Empty), node_file.Filetype); foreach (var prop in node_file.Properties) new_file.Properties.Add(prop); new_file.SetData(node_file.Data); } @@ -956,7 +956,7 @@ namespace PckStudio private void treeViewMain_DoubleClick(object sender, EventArgs e) { - if (treeViewMain.SelectedNode.TryGetTagData(out PckFile.FileData file)) + if (treeViewMain.SelectedNode.TryGetTagData(out PckFileData file)) { if (file.Size <= 0) { @@ -979,14 +979,14 @@ namespace PckStudio private void treeMeta_DoubleClick(object sender, EventArgs e) { if (treeMeta.SelectedNode is TreeNode subnode && subnode.Tag is KeyValuePair property && - treeViewMain.SelectedNode is TreeNode node && node.Tag is PckFile.FileData file) + treeViewMain.SelectedNode is TreeNode node && node.Tag is PckFileData file) { int i = file.Properties.IndexOf(property); if (i != -1) { switch (property.Key) { - case "ANIM" when file.Filetype == PckFile.FileData.FileType.SkinFile: + case "ANIM" when file.Filetype == PckFileType.SkinFile: try { using ANIMEditor diag = new ANIMEditor(property.Value); @@ -1007,7 +1007,7 @@ namespace PckStudio } break; - case "BOX" when file.Filetype == PckFile.FileData.FileType.SkinFile: + case "BOX" when file.Filetype == PckFileType.SkinFile: try { using BoxEditor diag = new BoxEditor(property.Value, IsSubPCKNode(treeViewMain.SelectedNode.FullPath)); @@ -1059,11 +1059,11 @@ namespace PckStudio if (diag.ShowDialog(this) == DialogResult.OK) { - if (node.Tag is PckFile.FileData file) + if (node.Tag is PckFileData file) { TreeNode newNode = new TreeNode(); newNode.Text = Path.GetFileName(diag.NewText); - var newFile = new PckFile.FileData(diag.NewText, file.Filetype); + var newFile = new PckFileData(diag.NewText, file.Filetype); file.Properties.ForEach(newFile.Properties.Add); newFile.SetData(file.Data); newFile.Filename = diag.NewText; @@ -1095,7 +1095,7 @@ namespace PckStudio private void deleteEntryToolStripMenuItem_Click(object sender, EventArgs e) { if (treeMeta.SelectedNode is TreeNode t && t.Tag is KeyValuePair property && - treeViewMain.SelectedNode is TreeNode main && main.Tag is PckFile.FileData file && + treeViewMain.SelectedNode is TreeNode main && main.Tag is PckFileData file && file.Properties.Remove(property)) { treeMeta.SelectedNode.Remove(); @@ -1108,7 +1108,7 @@ namespace PckStudio { treeMeta.Nodes.Clear(); if (treeViewMain.SelectedNode is TreeNode node && - node.Tag is PckFile.FileData file) + node.Tag is PckFileData file) { foreach (var property in file.Properties) { @@ -1120,7 +1120,7 @@ namespace PckStudio private void addEntryToolStripMenuItem_Click_1(object sender, EventArgs e) { if (treeViewMain.SelectedNode is TreeNode t && - t.Tag is PckFile.FileData file) + t.Tag is PckFileData file) { using AddPropertyPrompt addProperty = new AddPropertyPrompt(); if (addProperty.ShowDialog() == DialogResult.OK) @@ -1168,15 +1168,15 @@ namespace PckStudio { var pack = new PckFile(3); - var zeroFile = pack.CreateNewFile("0", PckFile.FileData.FileType.InfoFile); + var zeroFile = pack.CreateNewFile("0", PckFileType.InfoFile); zeroFile.Properties.Add("PACKID", packId.ToString()); zeroFile.Properties.Add("PACKVERSION", packVersion.ToString()); var locFile = new LOCFile(); locFile.InitializeDefault(packName); - pack.CreateNewFile("localisation.loc", PckFile.FileData.FileType.LocalisationFile, new LOCFileWriter(locFile, 2)); + pack.CreateNewFile("localisation.loc", PckFileType.LocalisationFile, new LOCFileWriter(locFile, 2)); - pack.CreateNewFileIf(createSkinsPCK, "Skins.pck", PckFile.FileData.FileType.SkinDataFile, new PckFileWriter(new PckFile(3, true), + pack.CreateNewFileIf(createSkinsPCK, "Skins.pck", PckFileType.SkinDataFile, new PckFileWriter(new PckFile(3, true), LittleEndianCheckBox.Checked ? OMI.Endianness.LittleEndian : OMI.Endianness.BigEndian)); @@ -1190,13 +1190,13 @@ namespace PckStudio PckFile infoPCK = new PckFile(3); - var icon = infoPCK.CreateNewFile("icon.png", PckFile.FileData.FileType.TextureFile); + var icon = infoPCK.CreateNewFile("icon.png", PckFileType.TextureFile); icon.SetData(Resources.TexturePackIcon, ImageFormat.Png); - var comparison = infoPCK.CreateNewFile("comparison.png", PckFile.FileData.FileType.TextureFile); + var comparison = infoPCK.CreateNewFile("comparison.png", PckFileType.TextureFile); comparison.SetData(Resources.Comparison, ImageFormat.Png); - var texturepackInfo = pack.CreateNewFile($"{res}/{res}Info.pck", PckFile.FileData.FileType.TexturePackInfoFile); + var texturepackInfo = pack.CreateNewFile($"{res}/{res}Info.pck", PckFileType.TexturePackInfoFile); texturepackInfo.Properties.Add("PACKID", "0"); texturepackInfo.Properties.Add("DATAPATH", $"{res}Data.pck"); @@ -1209,7 +1209,7 @@ namespace PckStudio private PckFile InitializeMashUpPack(int packId, int packVersion, string packName, string res) { var pack = InitializeTexturePack(packId, packVersion, packName, res, true); - var gameRuleFile = pack.CreateNewFile("GameRules.grf", PckFile.FileData.FileType.GameRulesFile); + var gameRuleFile = pack.CreateNewFile("GameRules.grf", PckFileType.GameRulesFile); var grfFile = new GameRuleFile(); grfFile.AddRule("MapOptions", new KeyValuePair("seed", "0"), @@ -1299,12 +1299,12 @@ namespace PckStudio switch (e.KeyCode) { case Keys.Delete: - deleteFileToolStripMenuItem_Click(sender, e); + deleteFileToolStripMenuItem_Click(sender, e); break; case Keys.F2: renameFileToolStripMenuItem_Click(sender, e); break; - } + } } private void treeViewMain_BeforeLabelEdit(object sender, NodeLabelEditEventArgs e) @@ -1345,7 +1345,7 @@ namespace PckStudio MessageBoxButtons.OK, MessageBoxIcon.Error); } } - foreach (PckFile.FileData file in pckfile.Files) + foreach (PckFileData file in pckfile.Files) { string filepath = $"{sfd.SelectedPath}/{file.Filename}"; FileInfo fileinfo = new FileInfo(filepath); @@ -1409,19 +1409,19 @@ namespace PckStudio return; } // creates variable to indicate wether current pck skin structure is mashup or regular skin - bool hasSkinsPck = currentPCK.HasFile("Skins.pck", PckFile.FileData.FileType.SkinDataFile); + bool hasSkinsPck = currentPCK.HasFile("Skins.pck", PckFileType.SkinDataFile); foreach (var fullfilename in Directory.GetFiles(contents.SelectedPath, "*.png")) { string filename = Path.GetFileNameWithoutExtension(fullfilename); // sets file type based on wether its a cape or skin - PckFile.FileData.FileType pckfiletype = filename.StartsWith("dlccape", StringComparison.OrdinalIgnoreCase) - ? PckFile.FileData.FileType.CapeFile - : PckFile.FileData.FileType.SkinFile; + PckFileType pckfiletype = filename.StartsWith("dlccape", StringComparison.OrdinalIgnoreCase) + ? PckFileType.CapeFile + : PckFileType.SkinFile; string pckfilepath = (hasSkinsPck ? "Skins/" : string.Empty) + filename + ".png"; - PckFile.FileData newFile = new PckFile.FileData(pckfilepath, pckfiletype); + PckFileData newFile = new PckFileData(pckfilepath, pckfiletype); byte[] filedata = File.ReadAllBytes(fullfilename); newFile.SetData(filedata); @@ -1455,7 +1455,7 @@ namespace PckStudio } if (hasSkinsPck) { - var skinsfile = currentPCK.GetFile("Skins.pck", PckFile.FileData.FileType.SkinDataFile); + var skinsfile = currentPCK.GetFile("Skins.pck", PckFileType.SkinDataFile); using (var ms = new MemoryStream(skinsfile.Data)) { var reader = new PckFileReader(LittleEndianCheckBox.Checked ? OMI.Endianness.LittleEndian : OMI.Endianness.BigEndian); @@ -1478,8 +1478,8 @@ namespace PckStudio private bool TryGetLocFile(out LOCFile locFile) { - if (!currentPCK.TryGetFile("localisation.loc", PckFile.FileData.FileType.LocalisationFile, out PckFile.FileData locdata) && - !currentPCK.TryGetFile("languages.loc", PckFile.FileData.FileType.LocalisationFile, out locdata)) + if (!currentPCK.TryGetFile("localisation.loc", PckFileType.LocalisationFile, out PckFileData locdata) && + !currentPCK.TryGetFile("languages.loc", PckFileType.LocalisationFile, out locdata)) { locFile = null; return false; @@ -1504,8 +1504,8 @@ namespace PckStudio private bool TrySetLocFile(in LOCFile locFile) { - if (!currentPCK.TryGetFile("localisation.loc", PckFile.FileData.FileType.LocalisationFile, out PckFile.FileData locdata) && - !currentPCK.TryGetFile("languages.loc", PckFile.FileData.FileType.LocalisationFile, out locdata)) + if (!currentPCK.TryGetFile("localisation.loc", PckFileType.LocalisationFile, out PckFileData locdata) && + !currentPCK.TryGetFile("languages.loc", PckFileType.LocalisationFile, out locdata)) { return false; } @@ -1535,7 +1535,7 @@ namespace PckStudio { string skinNameImport = Path.GetFileName(contents.FileName); byte[] data = File.ReadAllBytes(contents.FileName); - PckFile.FileData mfNew = currentPCK.CreateNewFile(skinNameImport, PckFile.FileData.FileType.SkinFile); + PckFileData mfNew = currentPCK.CreateNewFile(skinNameImport, PckFileType.SkinFile); mfNew.SetData(data); string propertyFile = Path.GetFileNameWithoutExtension(contents.FileName) + ".txt"; if (File.Exists(propertyFile)) @@ -1593,9 +1593,9 @@ namespace PckStudio TreeNodeCollection nodeCollection = treeViewMain.Nodes; if (treeViewMain.SelectedNode is TreeNode node) { - if (node.Tag is PckFile.FileData fd && - (fd.Filetype != PckFile.FileData.FileType.TexturePackInfoFile && - fd.Filetype != PckFile.FileData.FileType.SkinDataFile)) + if (node.Tag is PckFileData fd && + (fd.Filetype != PckFileType.TexturePackInfoFile && + fd.Filetype != PckFileType.SkinDataFile)) { if (node.Parent is TreeNode parentNode) { @@ -1749,63 +1749,63 @@ namespace PckStudio SaveTemplate(); } - private void SetNodeIcon(TreeNode node, PckFile.FileData.FileType type) + private void SetNodeIcon(TreeNode node, PckFileType type) { switch (type) { - case PckFile.FileData.FileType.AudioFile: + case PckFileType.AudioFile: node.ImageIndex = 1; node.SelectedImageIndex = 1; break; - case PckFile.FileData.FileType.LocalisationFile: + case PckFileType.LocalisationFile: node.ImageIndex = 3; node.SelectedImageIndex = 3; break; - case PckFile.FileData.FileType.TexturePackInfoFile: + case PckFileType.TexturePackInfoFile: node.ImageIndex = 4; node.SelectedImageIndex = 4; break; - case PckFile.FileData.FileType.ColourTableFile: + case PckFileType.ColourTableFile: node.ImageIndex = 6; node.SelectedImageIndex = 6; break; - case PckFile.FileData.FileType.ModelsFile: + case PckFileType.ModelsFile: node.ImageIndex = 8; node.SelectedImageIndex = 8; break; - case PckFile.FileData.FileType.SkinDataFile: + case PckFileType.SkinDataFile: node.ImageIndex = 7; node.SelectedImageIndex = 7; break; - case PckFile.FileData.FileType.GameRulesFile: + case PckFileType.GameRulesFile: node.ImageIndex = 9; node.SelectedImageIndex = 9; break; - case PckFile.FileData.FileType.GameRulesHeader: + case PckFileType.GameRulesHeader: node.ImageIndex = 10; node.SelectedImageIndex = 10; break; - case PckFile.FileData.FileType.InfoFile: + case PckFileType.InfoFile: node.ImageIndex = 11; node.SelectedImageIndex = 11; break; - case PckFile.FileData.FileType.SkinFile: + case PckFileType.SkinFile: node.ImageIndex = 12; node.SelectedImageIndex = 12; break; - case PckFile.FileData.FileType.CapeFile: + case PckFileType.CapeFile: node.ImageIndex = 13; node.SelectedImageIndex = 13; break; - case PckFile.FileData.FileType.TextureFile: + case PckFileType.TextureFile: node.ImageIndex = 14; node.SelectedImageIndex = 14; break; - case PckFile.FileData.FileType.BehavioursFile: + case PckFileType.BehavioursFile: node.ImageIndex = 15; node.SelectedImageIndex = 15; break; - case PckFile.FileData.FileType.MaterialFile: + case PckFileType.MaterialFile: node.ImageIndex = 16; node.SelectedImageIndex = 16; break; @@ -1816,9 +1816,9 @@ namespace PckStudio } } - private void SetFileType(PckFile.FileData.FileType type) + private void SetFileType(PckFileType type) { - if (treeViewMain.SelectedNode.TryGetTagData(out PckFile.FileData file)) + if (treeViewMain.SelectedNode.TryGetTagData(out PckFileData file)) { Debug.WriteLine($"Setting {file.Filetype} to {type}"); file.Filetype = type; @@ -1837,7 +1837,7 @@ namespace PckStudio renamePrompt.LabelText = "Path"; if (renamePrompt.ShowDialog() == DialogResult.OK && !string.IsNullOrEmpty(renamePrompt.NewText)) { - var file = currentPCK.CreateNewFile(renamePrompt.NewText, PckFile.FileData.FileType.TextureFile); + var file = currentPCK.CreateNewFile(renamePrompt.NewText, PckFileType.TextureFile); file.SetData(File.ReadAllBytes(fileDialog.FileName)); BuildMainTreeView(); wasModified = true; @@ -1847,7 +1847,7 @@ namespace PckStudio private void viewFileInfoToolStripMenuItem_Click(object sender, EventArgs e) { - if (treeViewMain.SelectedNode.Tag is PckFile.FileData file) + if (treeViewMain.SelectedNode.Tag is PckFileData file) { MessageBox.Show( "File path: " + file.Filename + @@ -1860,7 +1860,7 @@ namespace PckStudio private void generateMipMapTextureToolStripMenuItem_Click(object sender, EventArgs e) { - if (treeViewMain.SelectedNode.Tag is PckFile.FileData file && file.Filetype == PckFile.FileData.FileType.TextureFile) + if (treeViewMain.SelectedNode.Tag is PckFileData file && file.Filetype == PckFileType.TextureFile) { string textureDirectory = Path.GetDirectoryName(file.Filename); string textureName = Path.GetFileNameWithoutExtension(file.Filename); @@ -1886,9 +1886,9 @@ namespace PckStudio { string mippedPath = $"{textureDirectory}/{textureName}MipMapLevel{i}{textureExtension}"; Debug.WriteLine(mippedPath); - if (currentPCK.HasFile(mippedPath, PckFile.FileData.FileType.TextureFile)) - currentPCK.Files.Remove(currentPCK.GetFile(mippedPath, PckFile.FileData.FileType.TextureFile)); - PckFile.FileData MipMappedFile = new PckFile.FileData(mippedPath, PckFile.FileData.FileType.TextureFile); + if (currentPCK.HasFile(mippedPath, PckFileType.TextureFile)) + currentPCK.Files.Remove(currentPCK.GetFile(mippedPath, PckFileType.TextureFile)); + PckFileData MipMappedFile = new PckFileData(mippedPath, PckFileType.TextureFile); Image originalTexture = Image.FromStream(new MemoryStream(file.Data)); @@ -1916,12 +1916,12 @@ namespace PckStudio private void colourscolToolStripMenuItem_Click(object sender, EventArgs e) { - if (currentPCK.TryGetFile("colours.col", PckFile.FileData.FileType.ColourTableFile, out _)) + if (currentPCK.TryGetFile("colours.col", PckFileType.ColourTableFile, out _)) { MessageBox.Show("A color table file already exists in this PCK and a new one cannot be created.", "Operation aborted"); return; } - var newColorFile = currentPCK.CreateNewFile("colours.col", PckFile.FileData.FileType.ColourTableFile); + var newColorFile = currentPCK.CreateNewFile("colours.col", PckFileType.ColourTableFile); newColorFile.SetData(Resources.tu69colours); BuildMainTreeView(); } @@ -1933,8 +1933,8 @@ namespace PckStudio private void as3DSTextureFileToolStripMenuItem_Click(object sender, EventArgs e) { - if (treeViewMain.SelectedNode.TryGetTagData(out PckFile.FileData file) && - file.Filetype == PckFile.FileData.FileType.SkinFile) + if (treeViewMain.SelectedNode.TryGetTagData(out PckFileData file) && + file.Filetype == PckFileType.SkinFile) { SaveFileDialog saveFileDialog = new SaveFileDialog(); saveFileDialog.Filter = "3DS Texture|*.3dst"; @@ -1953,7 +1953,7 @@ namespace PckStudio private void addMultipleEntriesToolStripMenuItem1_Click(object sender, EventArgs e) { - if (treeViewMain.SelectedNode.TryGetTagData(out PckFile.FileData file)) + if (treeViewMain.SelectedNode.TryGetTagData(out PckFileData file)) { using (var input = new MultiTextPrompt()) { @@ -1976,8 +1976,8 @@ namespace PckStudio private void correctSkinDecimalsToolStripMenuItem_Click(object sender, EventArgs e) { - if (treeViewMain.SelectedNode.TryGetTagData(out PckFile.FileData file) && - file.Filetype == PckFile.FileData.FileType.SkinFile) + if (treeViewMain.SelectedNode.TryGetTagData(out PckFileData file) && + file.Filetype == PckFileType.SkinFile) { foreach(var p in file.Properties.FindAll(s => s.Key == "BOX" || s.Key == "OFFSET")) { @@ -2009,7 +2009,7 @@ namespace PckStudio switch (prompt) { case DialogResult.Yes: - if (!currentPCK.TryGetFile("0", PckFile.FileData.FileType.InfoFile, out PckFile.FileData file) || + if (!currentPCK.TryGetFile("0", PckFileType.InfoFile, out PckFileData file) || string.IsNullOrEmpty(file.Properties.GetPropertyValue("PACKID"))) { MessageBox.Show(this, @@ -2076,13 +2076,13 @@ namespace PckStudio private void CreateSkinsPCKToolStripMenuItem1_Click(object sender, EventArgs e) { - if (currentPCK.TryGetFile("Skins.pck", PckFile.FileData.FileType.SkinDataFile, out _)) + if (currentPCK.TryGetFile("Skins.pck", PckFileType.SkinDataFile, out _)) { MessageBox.Show("A Skins.pck file already exists in this PCK and a new one cannot be created.", "Operation aborted"); return; } - currentPCK.CreateNewFile("Skins.pck", PckFile.FileData.FileType.SkinDataFile, new PckFileWriter(new PckFile(3, true), + currentPCK.CreateNewFile("Skins.pck", PckFileType.SkinDataFile, new PckFileWriter(new PckFile(3, true), LittleEndianCheckBox.Checked ? OMI.Endianness.LittleEndian : OMI.Endianness.BigEndian)); BuildMainTreeView(); @@ -2096,7 +2096,7 @@ namespace PckStudio private void editAllEntriesToolStripMenuItem_Click(object sender, EventArgs e) { - if (treeViewMain.SelectedNode.TryGetTagData(out PckFile.FileData file)) + if (treeViewMain.SelectedNode.TryGetTagData(out PckFileData file)) { var props = file.Properties.Select(p => p.Key + " " + p.Value); using (var input = new MultiTextPrompt(props.ToArray())) @@ -2131,7 +2131,7 @@ namespace PckStudio using AddFilePrompt diag = new AddFilePrompt("res/" + Path.GetFileName(ofd.FileName)); if (diag.ShowDialog(this) == DialogResult.OK) { - PckFile.FileData file = currentPCK.CreateNewFile( + PckFileData file = currentPCK.CreateNewFile( diag.Filepath, diag.Filetype, () => File.ReadAllBytes(ofd.FileName)); @@ -2148,24 +2148,24 @@ namespace PckStudio private void behavioursbinToolStripMenuItem_Click(object sender, EventArgs e) { - if (currentPCK.TryGetFile("behaviours.bin", PckFile.FileData.FileType.BehavioursFile, out _)) + if (currentPCK.TryGetFile("behaviours.bin", PckFileType.BehavioursFile, out _)) { MessageBox.Show("A behaviours file already exists in this PCK and a new one cannot be created.", "Operation aborted"); return; } - currentPCK.CreateNewFile("behaviours.bin", PckFile.FileData.FileType.BehavioursFile, BehaviourResources.BehaviourFileInitializer); + currentPCK.CreateNewFile("behaviours.bin", PckFileType.BehavioursFile, BehaviourResources.BehaviourFileInitializer); BuildMainTreeView(); } private void entityMaterialsbinToolStripMenuItem_Click(object sender, EventArgs e) { - if (currentPCK.TryGetFile("entityMaterials.bin", PckFile.FileData.FileType.MaterialFile, out _)) + if (currentPCK.TryGetFile("entityMaterials.bin", PckFileType.MaterialFile, out _)) { MessageBox.Show("A behaviours file already exists in this PCK and a new one cannot be created.", "Operation aborted"); return; } - currentPCK.CreateNewFile("entityMaterials.bin", PckFile.FileData.FileType.MaterialFile, MaterialResources.MaterialsFileInitializer); + currentPCK.CreateNewFile("entityMaterials.bin", PckFileType.MaterialFile, MaterialResources.MaterialsFileInitializer); BuildMainTreeView(); } @@ -2232,7 +2232,7 @@ namespace PckStudio private void addBOXEntryToolStripMenuItem1_Click(object sender, EventArgs e) { - if(treeViewMain.SelectedNode is TreeNode t && t.Tag is PckFile.FileData file) + if(treeViewMain.SelectedNode is TreeNode t && t.Tag is PckFileData file) { using BoxEditor diag = new BoxEditor(SkinBOX.Empty, IsSubPCKNode(treeViewMain.SelectedNode.FullPath)); if (diag.ShowDialog(this) == DialogResult.OK) @@ -2248,7 +2248,7 @@ namespace PckStudio private void addANIMEntryToolStripMenuItem1_Click(object sender, EventArgs e) { - if (treeViewMain.SelectedNode.TryGetTagData(out PckFile.FileData file)) + if (treeViewMain.SelectedNode.TryGetTagData(out PckFileData file)) { using ANIMEditor diag = new ANIMEditor(SkinANIM.Empty); if (diag.ShowDialog(this) == DialogResult.OK) diff --git a/Vendor/OMI-Lib b/Vendor/OMI-Lib index dae99efe..c4ea1bdd 160000 --- a/Vendor/OMI-Lib +++ b/Vendor/OMI-Lib @@ -1 +1 @@ -Subproject commit dae99efef9dc9fd2c98b82abb5ceca0a7aa4dd70 +Subproject commit c4ea1bdd85d97a1b6d629feb61a8086272f90ff5