mirror of
https://git.huckle.dev/Huckles-Minecraft-Archive/PCK-Studio.git
synced 2026-05-24 03:56:10 +00:00
Updated SkinPreview to use SkinRenderer control and use it when double clicking a skin file
This commit is contained in:
@@ -31,7 +31,7 @@ namespace PckStudio.Forms
|
||||
{
|
||||
this.components = new System.ComponentModel.Container();
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(SkinPreview));
|
||||
this.ModelView = new PckStudio.Rendering.Renderer3D();
|
||||
this.ModelView = new PckStudio.Rendering.SkinRenderer();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// ModelView
|
||||
@@ -63,6 +63,6 @@ namespace PckStudio.Forms
|
||||
|
||||
#endregion
|
||||
|
||||
private PckStudio.Rendering.Renderer3D ModelView;
|
||||
private PckStudio.Rendering.SkinRenderer ModelView;
|
||||
}
|
||||
}
|
||||
@@ -1,4 +1,5 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Drawing;
|
||||
using System.Windows.Forms;
|
||||
using PckStudio.Internal;
|
||||
@@ -8,34 +9,26 @@ namespace PckStudio.Forms
|
||||
{
|
||||
public partial class SkinPreview : Form
|
||||
{
|
||||
Image Texture;
|
||||
public SkinANIM ANIM { get; set; }
|
||||
|
||||
public SkinPreview(Image texture, SkinANIM anim)
|
||||
private Image _texture;
|
||||
|
||||
public SkinPreview()
|
||||
{
|
||||
InitializeComponent();
|
||||
Texture = texture;
|
||||
|
||||
//ModelView.ShowHead = !anim.GetFlag(SkinAnimFlag.HEAD_DISABLED);
|
||||
//ModelView.ShowHeadOverlay = !anim.GetFlag(SkinAnimFlag.HEAD_OVERLAY_DISABLED);
|
||||
//ModelView.ShowBody = !anim.GetFlag(SkinAnimFlag.BODY_DISABLED);
|
||||
//ModelView.ShowBodyOverlay = !anim.GetFlag(SkinAnimFlag.BODY_OVERLAY_DISABLED);
|
||||
|
||||
//ModelView.ShowLeftArm = !anim.GetFlag(SkinAnimFlag.LEFT_ARM_DISABLED);
|
||||
//ModelView.ShowLeftArmOverlay = !anim.GetFlag(SkinAnimFlag.LEFT_ARM_OVERLAY_DISABLED);
|
||||
//ModelView.ShowRightArm = !anim.GetFlag(SkinAnimFlag.RIGHT_ARM_DISABLED);
|
||||
//ModelView.ShowRightArmOverlay = !anim.GetFlag(SkinAnimFlag.RIGHT_ARM_OVERLAY_DISABLED);
|
||||
|
||||
//ModelView.ShowLeftLeg = !anim.GetFlag(SkinAnimFlag.LEFT_LEG_DISABLED);
|
||||
//ModelView.ShowLeftLegOverlay = !anim.GetFlag(SkinAnimFlag.LEFT_LEG_OVERLAY_DISABLED);
|
||||
//ModelView.ShowRightLeg = !anim.GetFlag(SkinAnimFlag.RIGHT_LEG_DISABLED);
|
||||
//ModelView.ShowRightLegOverlay = !anim.GetFlag(SkinAnimFlag.RIGHT_LEG_OVERLAY_DISABLED);
|
||||
}
|
||||
|
||||
private void SkinPreview_Load(object sender, EventArgs e) => RenderModel(Texture);
|
||||
|
||||
public void RenderModel(Image source)
|
||||
public SkinPreview(Image texture, IEnumerable<SkinBOX> modelData)
|
||||
: this()
|
||||
{
|
||||
//ModelView.Texture = source as Bitmap;
|
||||
_texture = texture;
|
||||
ModelView.ModelData.AddRange(modelData);
|
||||
}
|
||||
|
||||
private void SkinPreview_Load(object sender, EventArgs e)
|
||||
{
|
||||
ModelView.ANIM = ANIM;
|
||||
ModelView.Texture = _texture as Bitmap;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
11
PCK-Studio/MainForm.Designer.cs
generated
11
PCK-Studio/MainForm.Designer.cs
generated
@@ -146,7 +146,6 @@
|
||||
this.imageList = new System.Windows.Forms.ImageList(this.components);
|
||||
this.previewPictureBox = new PckStudio.ToolboxItems.InterpolationPictureBox();
|
||||
this.LittleEndianCheckBox = new MetroFramework.Controls.MetroCheckBox();
|
||||
this.skinRenderer3DToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
logoPictureBox = new System.Windows.Forms.PictureBox();
|
||||
toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator();
|
||||
((System.ComponentModel.ISupportInitialize)(logoPictureBox)).BeginInit();
|
||||
@@ -570,8 +569,7 @@
|
||||
this.miscToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.addCustomPackImageToolStripMenuItem,
|
||||
this.openPckManagerToolStripMenuItem,
|
||||
this.convertMusicFilesToolStripMenuItem,
|
||||
this.skinRenderer3DToolStripMenuItem});
|
||||
this.convertMusicFilesToolStripMenuItem});
|
||||
this.miscToolStripMenuItem.ForeColor = System.Drawing.Color.Silver;
|
||||
this.miscToolStripMenuItem.Name = "miscToolStripMenuItem";
|
||||
resources.ApplyResources(this.miscToolStripMenuItem, "miscToolStripMenuItem");
|
||||
@@ -1094,12 +1092,6 @@
|
||||
this.LittleEndianCheckBox.Theme = MetroFramework.MetroThemeStyle.Dark;
|
||||
this.LittleEndianCheckBox.UseSelectable = true;
|
||||
//
|
||||
// skinRenderer3DToolStripMenuItem
|
||||
//
|
||||
this.skinRenderer3DToolStripMenuItem.Name = "skinRenderer3DToolStripMenuItem";
|
||||
resources.ApplyResources(this.skinRenderer3DToolStripMenuItem, "skinRenderer3DToolStripMenuItem");
|
||||
this.skinRenderer3DToolStripMenuItem.Click += new System.EventHandler(this.skinRenderer3DToolStripMenuItem_Click);
|
||||
//
|
||||
// MainForm
|
||||
//
|
||||
this.ApplyImageInvert = true;
|
||||
@@ -1250,7 +1242,6 @@
|
||||
private System.Windows.Forms.ToolStripMenuItem forMattNLContributorToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem settingsToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem checkForUpdatesToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem skinRenderer3DToolStripMenuItem;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -427,6 +427,11 @@ namespace PckStudio
|
||||
|
||||
public void HandleSkinFile(PckFileData file)
|
||||
{
|
||||
var renderForm = new SkinPreview(file.GetTexture(), file.Properties.GetProperties("BOX").Select(kv => SkinBOX.FromString(kv.Value)));
|
||||
renderForm.ANIM = file.Properties.GetPropertyValue("ANIM", SkinANIM.FromString);
|
||||
renderForm.ShowDialog();
|
||||
return;
|
||||
|
||||
if (file.Properties.HasProperty("BOX"))
|
||||
{
|
||||
using generateModel generate = new generateModel(file);
|
||||
@@ -439,10 +444,10 @@ namespace PckStudio
|
||||
return;
|
||||
}
|
||||
|
||||
var img = file.GetTexture();
|
||||
using var skinViewer = new SkinPreview(img, file.Properties.GetPropertyValue("ANIM", SkinANIM.FromString));
|
||||
skinViewer.ShowDialog(this);
|
||||
}
|
||||
var skinPreview = new SkinPreview(file.GetTexture(), file.Properties.GetProperties("BOX").Select(kv => SkinBOX.FromString(kv.Value)));
|
||||
skinPreview.ANIM = file.Properties.GetPropertyValue("ANIM", SkinANIM.FromString);
|
||||
skinPreview.ShowDialog();
|
||||
}
|
||||
|
||||
public void HandleModelsFile(PckFileData file)
|
||||
{
|
||||
@@ -2278,11 +2283,5 @@ namespace PckStudio
|
||||
}
|
||||
MessageBox.Show("Already up to date.", "No update available");
|
||||
}
|
||||
|
||||
private void skinRenderer3DToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
var gl = new TestGL();
|
||||
gl.Show();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -87,7 +87,7 @@
|
||||
</PropertyGroup>
|
||||
<PropertyGroup />
|
||||
<PropertyGroup>
|
||||
<StartupObject>PckStudio.Forms.TestGL</StartupObject>
|
||||
<StartupObject>PckStudio.Program</StartupObject>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup />
|
||||
<PropertyGroup>
|
||||
@@ -558,9 +558,6 @@
|
||||
<EmbeddedResource Include="Forms\Editor\TextureAtlasEditor.resx">
|
||||
<DependentUpon>TextureAtlasEditor.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Forms\TestGL.resx">
|
||||
<DependentUpon>TestGL.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="MainForm.ja.resx">
|
||||
<DependentUpon>MainForm.cs</DependentUpon>
|
||||
<SubType>Designer</SubType>
|
||||
|
||||
@@ -3,11 +3,11 @@
|
||||
layout(location = 0) out vec4 color;
|
||||
|
||||
uniform sampler2D u_Texture;
|
||||
uniform vec2 u_TexScale;
|
||||
|
||||
in vec2 v_TexCoord;
|
||||
|
||||
void main()
|
||||
{
|
||||
vec4 texColor = texture(u_Texture, v_TexCoord);
|
||||
color = texColor;
|
||||
color = texture(u_Texture, v_TexCoord * u_TexScale);
|
||||
};
|
||||
Reference in New Issue
Block a user