From 5627aaa68ffe6e55a8e2ed9594bc41d26718a42d Mon Sep 17 00:00:00 2001 From: miku-666 <74728189+NessieHax@users.noreply.github.com> Date: Fri, 29 Mar 2024 14:31:03 +0100 Subject: [PATCH] SkinRenderer - Add GetOffsets --- PCK-Studio/Rendering/SkinRenderer.cs | 25 ++++++++++++++++++++----- 1 file changed, 20 insertions(+), 5 deletions(-) diff --git a/PCK-Studio/Rendering/SkinRenderer.cs b/PCK-Studio/Rendering/SkinRenderer.cs index 5e17f7aa..4dac3cb2 100644 --- a/PCK-Studio/Rendering/SkinRenderer.cs +++ b/PCK-Studio/Rendering/SkinRenderer.cs @@ -510,11 +510,6 @@ namespace PckStudio.Rendering skyboxShader.Validate(); _shaders.AddShader("SkyboxShader", skyboxShader); - string customSkyboxFilepath = Path.Combine(Program.AppData, "skybox.png"); - Image skyboxImage = File.Exists(customSkyboxFilepath) - ? Image.FromFile(customSkyboxFilepath) - : Resources.DefaultSkyTexture; - _skyboxTexture = new CubeTexture(1); _skyboxTexture.InternalPixelFormat = PixelInternalFormat.Rgb8; _skyboxTexture.PixelFormat = OpenTK.Graphics.OpenGL.PixelFormat.Bgra; @@ -524,6 +519,11 @@ namespace PckStudio.Rendering _skyboxTexture.WrapS = TextureWrapMode.ClampToEdge; _skyboxTexture.WrapT = TextureWrapMode.ClampToEdge; _skyboxTexture.WrapR = TextureWrapMode.ClampToEdge; + + string customSkyboxFilepath = Path.Combine(Program.AppData, "skybox.png"); + using Image skyboxImage = File.Exists(customSkyboxFilepath) + ? Image.FromFile(customSkyboxFilepath) + : Resources.DefaultSkyTexture; _skyboxTexture.SetTexture(skyboxImage); GLErrorCheck(); } @@ -1417,6 +1417,21 @@ namespace PckStudio.Rendering } guidelineModeToolStripMenuItem.Text = $"Guideline Mode: {guidelineMode}"; } + + internal IEnumerable GetOffsets() + { + foreach (var mesh in meshStorage) + { + if (SkinPartOffset.ValidModelOffsetTypes.Contains(mesh.Key) && mesh.Value.Offset.Y != 0f) + yield return new SkinPartOffset(mesh.Key, mesh.Value.Offset.Y); + } + foreach (var offsetmesh in offsetSpecificMeshStorage) + { + if (offsetmesh.Value.Offset.Y != 0f) + yield return new SkinPartOffset(offsetmesh.Key, offsetmesh.Value.Offset.Y); + } + yield break; + } #endif } } \ No newline at end of file