diff --git a/PCK-Studio/Helper/MaterialResources.cs b/PCK-Studio/Extensions/MaterialContainerExtensions.cs similarity index 81% rename from PCK-Studio/Helper/MaterialResources.cs rename to PCK-Studio/Extensions/MaterialContainerExtensions.cs index d7755831..d680a9c5 100644 --- a/PCK-Studio/Helper/MaterialResources.cs +++ b/PCK-Studio/Extensions/MaterialContainerExtensions.cs @@ -1,18 +1,15 @@ using System; -using System.IO; - +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; using OMI.Formats.Material; -using OMI.Workers.Material; -namespace PckStudio.Helper +namespace PckStudio.Extensions { - public static class MaterialResources + internal static class MaterialContainerExtensions { - public static byte[] MaterialsFileInitializer() - { - using var stream = new MemoryStream(); - var matFile = new MaterialContainer - { + private static readonly MaterialContainer.Material[] defaultMaterials = [ new MaterialContainer.Material("bat", "entity_alphatest"), new MaterialContainer.Material("ender_dragon", "entity_emissive_alpha"), new MaterialContainer.Material("blaze_head", "entity_emissive_alpha"), @@ -35,10 +32,11 @@ namespace PckStudio.Helper new MaterialContainer.Material("wither_boss", "entity_alphatest"), new MaterialContainer.Material("wither_skeleton", "entity_alphatest"), new MaterialContainer.Material("wolf", "entity_alphatest_change_color") - }; - var writer = new MaterialFileWriter(matFile); - writer.WriteToStream(stream); - return stream.ToArray(); + ]; + + public static void InitializeDefault(this MaterialContainer materials) + { + materials.AddRange(defaultMaterials); } } } diff --git a/PCK-Studio/Classes/API/Miles/Binka.cs b/PCK-Studio/External/API/Miles/Binka.cs similarity index 98% rename from PCK-Studio/Classes/API/Miles/Binka.cs rename to PCK-Studio/External/API/Miles/Binka.cs index ad2bb793..16e6ee96 100644 --- a/PCK-Studio/Classes/API/Miles/Binka.cs +++ b/PCK-Studio/External/API/Miles/Binka.cs @@ -7,7 +7,7 @@ using PckStudio.Internal; using PckStudio.Internal.App; using SharpMSS; -namespace PckStudio.API.Miles +namespace PckStudio.External.API.Miles { internal static class Binka { diff --git a/PCK-Studio/Classes/Utils/BinkaConverter.cs b/PCK-Studio/External/API/Miles/BinkaConverter.cs similarity index 97% rename from PCK-Studio/Classes/Utils/BinkaConverter.cs rename to PCK-Studio/External/API/Miles/BinkaConverter.cs index 630f0904..c55d71b3 100644 --- a/PCK-Studio/Classes/Utils/BinkaConverter.cs +++ b/PCK-Studio/External/API/Miles/BinkaConverter.cs @@ -3,7 +3,6 @@ using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; -using PckStudio.API.Miles; using PckStudio.Forms.Additional_Popups; using System.Windows.Forms; using System.IO; @@ -11,7 +10,7 @@ using PckStudio.Internal; using System.Text.RegularExpressions; using PckStudio.Internal.App; -namespace PckStudio.Classes.Utils +namespace PckStudio.External.API.Miles { internal static class BinkaConverter { diff --git a/PCK-Studio/Forms/Editor/AudioEditor.cs b/PCK-Studio/Forms/Editor/AudioEditor.cs index c8fa145e..84f4d2db 100644 --- a/PCK-Studio/Forms/Editor/AudioEditor.cs +++ b/PCK-Studio/Forms/Editor/AudioEditor.cs @@ -16,8 +16,7 @@ using OMI.Formats.Pck; using PckStudio.Internal.IO.PckAudio; using PckStudio.Forms.Additional_Popups; using PckStudio.Properties; -using PckStudio.API.Miles; -using PckStudio.Internal; +using PckStudio.External.API.Miles; using PckStudio.Internal.FileFormats; using PckStudio.Extensions; using PckStudio.Internal.App; diff --git a/PCK-Studio/Forms/Editor/TextureAtlasEditor.cs b/PCK-Studio/Forms/Editor/TextureAtlasEditor.cs index 86893b9e..d3ffee2a 100644 --- a/PCK-Studio/Forms/Editor/TextureAtlasEditor.cs +++ b/PCK-Studio/Forms/Editor/TextureAtlasEditor.cs @@ -30,8 +30,6 @@ using OMI.Formats.Pck; using OMI.Workers.Color; using PckStudio.Extensions; -using PckStudio.Helper; -using PckStudio.Internal; using PckStudio.Internal.Deserializer; using PckStudio.Internal.Json; using PckStudio.Internal.Serializer; diff --git a/PCK-Studio/Helper/BehaviourResources.cs b/PCK-Studio/Helper/BehaviourResources.cs deleted file mode 100644 index c50b6b78..00000000 --- a/PCK-Studio/Helper/BehaviourResources.cs +++ /dev/null @@ -1,18 +0,0 @@ -using System.IO; - -using OMI.Formats.Behaviour; -using OMI.Workers.Behaviour; - -namespace PckStudio.Helper -{ - public static class BehaviourResources - { - internal static byte[] BehaviourFileInitializer() - { - using var stream = new MemoryStream(); - var writer = new BehavioursWriter(new BehaviourFile()); - writer.WriteToStream(stream); - return stream.ToArray(); - } - } -} diff --git a/PCK-Studio/MainForm.cs b/PCK-Studio/MainForm.cs index ea8cbc31..ccb74324 100644 --- a/PCK-Studio/MainForm.cs +++ b/PCK-Studio/MainForm.cs @@ -7,14 +7,20 @@ using System.Windows.Forms; using System.Drawing.Drawing2D; using System.Diagnostics; using System.Drawing.Imaging; +using System.Text.RegularExpressions; using OMI.Formats.Pck; -using OMI.Formats.GameRule; -using OMI.Formats.Languages; using OMI.Formats.Model; +using OMI.Formats.GameRule; +using OMI.Formats.Material; +using OMI.Formats.Behaviour; +using OMI.Formats.Languages; +using OMI.Workers; using OMI.Workers.Pck; using OMI.Workers.GameRule; using OMI.Workers.Language; using OMI.Workers.Model; +using OMI.Workers.Behaviour; +using OMI.Workers.Material; using PckStudio.Properties; using PckStudio.Internal.FileFormats; using PckStudio.Forms; @@ -28,13 +34,10 @@ using PckStudio.Internal; using PckStudio.Forms.Features; using PckStudio.Extensions; using PckStudio.Popups; -using PckStudio.Classes.Utils; -using PckStudio.Helper; -using System.Text.RegularExpressions; +using PckStudio.External.API.Miles; using PckStudio.Internal.Json; using PckStudio.Internal.Deserializer; using PckStudio.Internal.Serializer; -using OMI.Workers; using PckStudio.Internal.App; using PckStudio.Internal.Skin; @@ -2382,7 +2385,7 @@ namespace PckStudio return; } - currentPCK.CreateNewAsset("behaviours.bin", PckAssetType.BehavioursFile, BehaviourResources.BehaviourFileInitializer); + currentPCK.CreateNewAsset("behaviours.bin", PckAssetType.BehavioursFile, new BehavioursWriter(new BehaviourFile())); BuildMainTreeView(); } @@ -2393,7 +2396,9 @@ namespace PckStudio MessageBox.Show(this, "A behaviours file already exists in this PCK and a new one cannot be created.", "Operation aborted"); return; } - currentPCK.CreateNewAsset("entityMaterials.bin", PckAssetType.MaterialFile, MaterialResources.MaterialsFileInitializer); + var materialContainer = new MaterialContainer(); + materialContainer.InitializeDefault(); + currentPCK.CreateNewAsset("entityMaterials.bin", PckAssetType.MaterialFile, new MaterialFileWriter(materialContainer)); BuildMainTreeView(); } diff --git a/PCK-Studio/PckStudio.csproj b/PCK-Studio/PckStudio.csproj index cfd238e7..a682a70d 100644 --- a/PCK-Studio/PckStudio.csproj +++ b/PCK-Studio/PckStudio.csproj @@ -134,6 +134,7 @@ + Form @@ -230,7 +231,7 @@ Component - + @@ -262,7 +263,7 @@ - + @@ -410,8 +411,6 @@ InProgressPrompt.cs - - Form