mirror of
https://git.huckle.dev/Huckles-Minecraft-Archive/PCK-Studio.git
synced 2026-05-26 21:24:32 +00:00
PckStudio - Add ViewPanels
This commit is contained in:
339
PCK-Studio/Controls/DefaultPanel.Designer.cs
generated
Normal file
339
PCK-Studio/Controls/DefaultPanel.Designer.cs
generated
Normal file
@@ -0,0 +1,339 @@
|
||||
namespace PckStudio.Controls
|
||||
{
|
||||
partial class DefaultPanel
|
||||
{
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region Component Designer generated code
|
||||
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.components = new System.ComponentModel.Container();
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(DefaultPanel));
|
||||
this.PropertiesTabControl = new MetroFramework.Controls.MetroTabControl();
|
||||
this.MetaTab = new MetroFramework.Controls.MetroTabPage();
|
||||
this.metroLabel2 = new MetroFramework.Controls.MetroLabel();
|
||||
this.buttonEdit = new MetroFramework.Controls.MetroButton();
|
||||
this.metroLabel1 = new MetroFramework.Controls.MetroLabel();
|
||||
this.treeMeta = new System.Windows.Forms.TreeView();
|
||||
this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel();
|
||||
this.displayNameLabel = new System.Windows.Forms.Label();
|
||||
this.previewPictureBox = new PckStudio.ToolboxItems.InterpolationPictureBox();
|
||||
this.skinRenderer = new PckStudio.Rendering.SkinRenderer();
|
||||
this.themeNameLabel = new System.Windows.Forms.Label();
|
||||
this.contextMenuMetaTree = new System.Windows.Forms.ContextMenuStrip(this.components);
|
||||
this.addEntryToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.addEntryToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.addBOXEntryToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.addANIMEntryToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.addMultipleEntriesToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.deleteEntryToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.editAllEntriesToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.PropertiesTabControl.SuspendLayout();
|
||||
this.MetaTab.SuspendLayout();
|
||||
this.tableLayoutPanel1.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.previewPictureBox)).BeginInit();
|
||||
this.contextMenuMetaTree.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// PropertiesTabControl
|
||||
//
|
||||
this.tableLayoutPanel1.SetColumnSpan(this.PropertiesTabControl, 2);
|
||||
this.PropertiesTabControl.Controls.Add(this.MetaTab);
|
||||
this.PropertiesTabControl.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.PropertiesTabControl.Location = new System.Drawing.Point(3, 369);
|
||||
this.PropertiesTabControl.Name = "PropertiesTabControl";
|
||||
this.PropertiesTabControl.SelectedIndex = 0;
|
||||
this.PropertiesTabControl.Size = new System.Drawing.Size(907, 322);
|
||||
this.PropertiesTabControl.Style = MetroFramework.MetroColorStyle.Silver;
|
||||
this.PropertiesTabControl.TabIndex = 13;
|
||||
this.PropertiesTabControl.Theme = MetroFramework.MetroThemeStyle.Dark;
|
||||
this.PropertiesTabControl.UseSelectable = true;
|
||||
//
|
||||
// MetaTab
|
||||
//
|
||||
this.MetaTab.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
|
||||
this.MetaTab.Controls.Add(this.metroLabel2);
|
||||
this.MetaTab.Controls.Add(this.buttonEdit);
|
||||
this.MetaTab.Controls.Add(this.metroLabel1);
|
||||
this.MetaTab.Controls.Add(this.treeMeta);
|
||||
this.MetaTab.HorizontalScrollbarBarColor = true;
|
||||
this.MetaTab.HorizontalScrollbarHighlightOnWheel = false;
|
||||
this.MetaTab.HorizontalScrollbarSize = 10;
|
||||
this.MetaTab.Location = new System.Drawing.Point(4, 38);
|
||||
this.MetaTab.Name = "MetaTab";
|
||||
this.MetaTab.Padding = new System.Windows.Forms.Padding(5);
|
||||
this.MetaTab.Size = new System.Drawing.Size(899, 280);
|
||||
this.MetaTab.TabIndex = 0;
|
||||
this.MetaTab.Text = "Properties";
|
||||
this.MetaTab.Theme = MetroFramework.MetroThemeStyle.Dark;
|
||||
this.MetaTab.VerticalScrollbarBarColor = true;
|
||||
this.MetaTab.VerticalScrollbarHighlightOnWheel = false;
|
||||
this.MetaTab.VerticalScrollbarSize = 10;
|
||||
//
|
||||
// metroLabel2
|
||||
//
|
||||
this.metroLabel2.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.metroLabel2.AutoSize = true;
|
||||
this.metroLabel2.Location = new System.Drawing.Point(379, 146);
|
||||
this.metroLabel2.Name = "metroLabel2";
|
||||
this.metroLabel2.Size = new System.Drawing.Size(0, 0);
|
||||
this.metroLabel2.TabIndex = 15;
|
||||
this.metroLabel2.Theme = MetroFramework.MetroThemeStyle.Dark;
|
||||
//
|
||||
// buttonEdit
|
||||
//
|
||||
this.buttonEdit.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
|
||||
this.buttonEdit.Location = new System.Drawing.Point(3, 248);
|
||||
this.buttonEdit.Name = "buttonEdit";
|
||||
this.buttonEdit.Size = new System.Drawing.Size(201, 31);
|
||||
this.buttonEdit.TabIndex = 20;
|
||||
this.buttonEdit.Text = "buttonEdit";
|
||||
this.buttonEdit.Theme = MetroFramework.MetroThemeStyle.Dark;
|
||||
this.buttonEdit.UseSelectable = true;
|
||||
//
|
||||
// metroLabel1
|
||||
//
|
||||
this.metroLabel1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.metroLabel1.AutoSize = true;
|
||||
this.metroLabel1.Location = new System.Drawing.Point(441, 39);
|
||||
this.metroLabel1.Name = "metroLabel1";
|
||||
this.metroLabel1.Size = new System.Drawing.Size(0, 0);
|
||||
this.metroLabel1.TabIndex = 13;
|
||||
this.metroLabel1.Theme = MetroFramework.MetroThemeStyle.Dark;
|
||||
//
|
||||
// treeMeta
|
||||
//
|
||||
this.treeMeta.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
||||
| System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.treeMeta.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(18)))), ((int)(((byte)(18)))), ((int)(((byte)(18)))));
|
||||
this.treeMeta.BorderStyle = System.Windows.Forms.BorderStyle.None;
|
||||
this.treeMeta.ForeColor = System.Drawing.SystemColors.Window;
|
||||
this.treeMeta.Location = new System.Drawing.Point(3, 4);
|
||||
this.treeMeta.Name = "treeMeta";
|
||||
this.treeMeta.PathSeparator = "/";
|
||||
this.treeMeta.Size = new System.Drawing.Size(888, 238);
|
||||
this.treeMeta.TabIndex = 0;
|
||||
this.treeMeta.DoubleClick += new System.EventHandler(this.treeMeta_DoubleClick);
|
||||
//
|
||||
// tableLayoutPanel1
|
||||
//
|
||||
this.tableLayoutPanel1.ColumnCount = 2;
|
||||
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50F));
|
||||
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50F));
|
||||
this.tableLayoutPanel1.Controls.Add(this.displayNameLabel, 0, 0);
|
||||
this.tableLayoutPanel1.Controls.Add(this.PropertiesTabControl, 0, 3);
|
||||
this.tableLayoutPanel1.Controls.Add(this.previewPictureBox, 0, 2);
|
||||
this.tableLayoutPanel1.Controls.Add(this.skinRenderer, 1, 2);
|
||||
this.tableLayoutPanel1.Controls.Add(this.themeNameLabel, 0, 1);
|
||||
this.tableLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.tableLayoutPanel1.Location = new System.Drawing.Point(0, 0);
|
||||
this.tableLayoutPanel1.Name = "tableLayoutPanel1";
|
||||
this.tableLayoutPanel1.RowCount = 4;
|
||||
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 3F));
|
||||
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 3F));
|
||||
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 47F));
|
||||
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 47F));
|
||||
this.tableLayoutPanel1.Size = new System.Drawing.Size(913, 694);
|
||||
this.tableLayoutPanel1.TabIndex = 14;
|
||||
//
|
||||
// displayNameLabel
|
||||
//
|
||||
this.displayNameLabel.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
||||
| System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.displayNameLabel.AutoSize = true;
|
||||
this.tableLayoutPanel1.SetColumnSpan(this.displayNameLabel, 2);
|
||||
this.displayNameLabel.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.displayNameLabel.ForeColor = System.Drawing.Color.White;
|
||||
this.displayNameLabel.Location = new System.Drawing.Point(3, 0);
|
||||
this.displayNameLabel.Name = "displayNameLabel";
|
||||
this.displayNameLabel.Size = new System.Drawing.Size(907, 20);
|
||||
this.displayNameLabel.TabIndex = 15;
|
||||
this.displayNameLabel.Text = "name";
|
||||
this.displayNameLabel.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
|
||||
//
|
||||
// previewPictureBox
|
||||
//
|
||||
this.previewPictureBox.BackgroundInterpolationMode = System.Drawing.Drawing2D.InterpolationMode.Default;
|
||||
this.previewPictureBox.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.previewPictureBox.Image = global::PckStudio.Properties.Resources.NoImageFound;
|
||||
this.previewPictureBox.ImeMode = System.Windows.Forms.ImeMode.NoControl;
|
||||
this.previewPictureBox.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.NearestNeighbor;
|
||||
this.previewPictureBox.Location = new System.Drawing.Point(3, 43);
|
||||
this.previewPictureBox.Name = "previewPictureBox";
|
||||
this.previewPictureBox.Size = new System.Drawing.Size(450, 320);
|
||||
this.previewPictureBox.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
|
||||
this.previewPictureBox.TabIndex = 12;
|
||||
this.previewPictureBox.TabStop = false;
|
||||
//
|
||||
// skinRenderer
|
||||
//
|
||||
this.skinRenderer.AllowCameraMovement = false;
|
||||
this.skinRenderer.Animate = true;
|
||||
this.skinRenderer.ArmorTexture = null;
|
||||
this.skinRenderer.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(18)))), ((int)(((byte)(18)))), ((int)(((byte)(18)))));
|
||||
this.skinRenderer.CapeTexture = null;
|
||||
this.skinRenderer.CenterOnSelect = false;
|
||||
this.skinRenderer.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.skinRenderer.ForeColor = System.Drawing.Color.CornflowerBlue;
|
||||
this.skinRenderer.GuideLineColor = System.Drawing.Color.Empty;
|
||||
this.skinRenderer.HighlightlingColor = System.Drawing.Color.Aqua;
|
||||
this.skinRenderer.Location = new System.Drawing.Point(459, 43);
|
||||
this.skinRenderer.MouseSensetivity = 0.01F;
|
||||
this.skinRenderer.Name = "skinRenderer";
|
||||
this.skinRenderer.RefreshRate = 60;
|
||||
this.skinRenderer.RenderGroundPlane = false;
|
||||
this.skinRenderer.RenderSkyBox = false;
|
||||
this.skinRenderer.SelectedIndex = -1;
|
||||
this.skinRenderer.SelectedIndices = new int[0];
|
||||
this.skinRenderer.ShowArmor = false;
|
||||
this.skinRenderer.ShowBoundingBox = false;
|
||||
this.skinRenderer.ShowGuideLines = false;
|
||||
this.skinRenderer.Size = new System.Drawing.Size(451, 320);
|
||||
this.skinRenderer.TabIndex = 14;
|
||||
this.skinRenderer.Texture = null;
|
||||
this.skinRenderer.Visible = false;
|
||||
this.skinRenderer.VSync = true;
|
||||
//
|
||||
// themeNameLabel
|
||||
//
|
||||
this.themeNameLabel.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
||||
| System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.themeNameLabel.AutoSize = true;
|
||||
this.tableLayoutPanel1.SetColumnSpan(this.themeNameLabel, 2);
|
||||
this.themeNameLabel.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.themeNameLabel.ForeColor = System.Drawing.Color.White;
|
||||
this.themeNameLabel.Location = new System.Drawing.Point(3, 20);
|
||||
this.themeNameLabel.Name = "themeNameLabel";
|
||||
this.themeNameLabel.Size = new System.Drawing.Size(907, 20);
|
||||
this.themeNameLabel.TabIndex = 16;
|
||||
this.themeNameLabel.Text = "theme";
|
||||
this.themeNameLabel.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
|
||||
//
|
||||
// contextMenuMetaTree
|
||||
//
|
||||
this.contextMenuMetaTree.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.addEntryToolStripMenuItem,
|
||||
this.addMultipleEntriesToolStripMenuItem1,
|
||||
this.deleteEntryToolStripMenuItem,
|
||||
this.editAllEntriesToolStripMenuItem});
|
||||
this.contextMenuMetaTree.Name = "contextMenuStrip1";
|
||||
this.contextMenuMetaTree.Size = new System.Drawing.Size(182, 92);
|
||||
//
|
||||
// addEntryToolStripMenuItem
|
||||
//
|
||||
this.addEntryToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.addEntryToolStripMenuItem1,
|
||||
this.addBOXEntryToolStripMenuItem1,
|
||||
this.addANIMEntryToolStripMenuItem1});
|
||||
this.addEntryToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("addEntryToolStripMenuItem.Image")));
|
||||
this.addEntryToolStripMenuItem.Name = "addEntryToolStripMenuItem";
|
||||
this.addEntryToolStripMenuItem.Size = new System.Drawing.Size(181, 22);
|
||||
this.addEntryToolStripMenuItem.Text = "Add Entry";
|
||||
//
|
||||
// addEntryToolStripMenuItem1
|
||||
//
|
||||
this.addEntryToolStripMenuItem1.Name = "addEntryToolStripMenuItem1";
|
||||
this.addEntryToolStripMenuItem1.Size = new System.Drawing.Size(160, 22);
|
||||
this.addEntryToolStripMenuItem1.Text = "Add Entry";
|
||||
this.addEntryToolStripMenuItem1.Click += new System.EventHandler(this.addEntryToolStripMenuItem_Click);
|
||||
//
|
||||
// addBOXEntryToolStripMenuItem1
|
||||
//
|
||||
this.addBOXEntryToolStripMenuItem1.Name = "addBOXEntryToolStripMenuItem1";
|
||||
this.addBOXEntryToolStripMenuItem1.Size = new System.Drawing.Size(160, 22);
|
||||
this.addBOXEntryToolStripMenuItem1.Text = "Add BOX Entry";
|
||||
this.addBOXEntryToolStripMenuItem1.Click += new System.EventHandler(this.addBOXEntryToolStripMenuItem1_Click);
|
||||
//
|
||||
// addANIMEntryToolStripMenuItem1
|
||||
//
|
||||
this.addANIMEntryToolStripMenuItem1.Name = "addANIMEntryToolStripMenuItem1";
|
||||
this.addANIMEntryToolStripMenuItem1.Size = new System.Drawing.Size(160, 22);
|
||||
this.addANIMEntryToolStripMenuItem1.Text = "Add ANIM Entry";
|
||||
this.addANIMEntryToolStripMenuItem1.Click += new System.EventHandler(this.addANIMEntryToolStripMenuItem1_Click);
|
||||
//
|
||||
// addMultipleEntriesToolStripMenuItem1
|
||||
//
|
||||
this.addMultipleEntriesToolStripMenuItem1.Name = "addMultipleEntriesToolStripMenuItem1";
|
||||
this.addMultipleEntriesToolStripMenuItem1.Size = new System.Drawing.Size(181, 22);
|
||||
this.addMultipleEntriesToolStripMenuItem1.Text = "Add Multiple Entries";
|
||||
this.addMultipleEntriesToolStripMenuItem1.Click += new System.EventHandler(this.addMultipleEntriesToolStripMenuItem1_Click);
|
||||
//
|
||||
// deleteEntryToolStripMenuItem
|
||||
//
|
||||
this.deleteEntryToolStripMenuItem.Image = global::PckStudio.Properties.Resources.file_delete;
|
||||
this.deleteEntryToolStripMenuItem.Name = "deleteEntryToolStripMenuItem";
|
||||
this.deleteEntryToolStripMenuItem.Size = new System.Drawing.Size(181, 22);
|
||||
this.deleteEntryToolStripMenuItem.Text = "Delete Entry";
|
||||
//
|
||||
// editAllEntriesToolStripMenuItem
|
||||
//
|
||||
this.editAllEntriesToolStripMenuItem.Name = "editAllEntriesToolStripMenuItem";
|
||||
this.editAllEntriesToolStripMenuItem.Size = new System.Drawing.Size(181, 22);
|
||||
this.editAllEntriesToolStripMenuItem.Click += new System.EventHandler(this.editAllEntriesToolStripMenuItem_Click);
|
||||
//
|
||||
// DefaultPanel
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(18)))), ((int)(((byte)(18)))), ((int)(((byte)(18)))));
|
||||
this.Controls.Add(this.tableLayoutPanel1);
|
||||
this.Name = "DefaultPanel";
|
||||
this.Size = new System.Drawing.Size(913, 694);
|
||||
this.PropertiesTabControl.ResumeLayout(false);
|
||||
this.MetaTab.ResumeLayout(false);
|
||||
this.MetaTab.PerformLayout();
|
||||
this.tableLayoutPanel1.ResumeLayout(false);
|
||||
this.tableLayoutPanel1.PerformLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.previewPictureBox)).EndInit();
|
||||
this.contextMenuMetaTree.ResumeLayout(false);
|
||||
this.ResumeLayout(false);
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private PckStudio.ToolboxItems.InterpolationPictureBox previewPictureBox;
|
||||
private MetroFramework.Controls.MetroTabControl PropertiesTabControl;
|
||||
private MetroFramework.Controls.MetroTabPage MetaTab;
|
||||
private MetroFramework.Controls.MetroLabel metroLabel2;
|
||||
private MetroFramework.Controls.MetroButton buttonEdit;
|
||||
private MetroFramework.Controls.MetroLabel metroLabel1;
|
||||
private System.Windows.Forms.TreeView treeMeta;
|
||||
private System.Windows.Forms.TableLayoutPanel tableLayoutPanel1;
|
||||
private System.Windows.Forms.ContextMenuStrip contextMenuMetaTree;
|
||||
private System.Windows.Forms.ToolStripMenuItem addEntryToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem addEntryToolStripMenuItem1;
|
||||
private System.Windows.Forms.ToolStripMenuItem addBOXEntryToolStripMenuItem1;
|
||||
private System.Windows.Forms.ToolStripMenuItem addANIMEntryToolStripMenuItem1;
|
||||
private System.Windows.Forms.ToolStripMenuItem addMultipleEntriesToolStripMenuItem1;
|
||||
private System.Windows.Forms.ToolStripMenuItem deleteEntryToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem editAllEntriesToolStripMenuItem;
|
||||
private Rendering.SkinRenderer skinRenderer;
|
||||
private System.Windows.Forms.Label displayNameLabel;
|
||||
private System.Windows.Forms.Label themeNameLabel;
|
||||
}
|
||||
}
|
||||
300
PCK-Studio/Controls/DefaultPanel.cs
Normal file
300
PCK-Studio/Controls/DefaultPanel.cs
Normal file
@@ -0,0 +1,300 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Diagnostics;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
using OMI.Formats.Pck;
|
||||
using PckStudio.Core;
|
||||
using PckStudio.Core.Extensions;
|
||||
using PckStudio.Core.Skin;
|
||||
using PckStudio.Forms.Additional_Popups;
|
||||
using PckStudio.Forms.Editor;
|
||||
using PckStudio.Properties;
|
||||
|
||||
namespace PckStudio.Controls
|
||||
{
|
||||
public partial class DefaultPanel : ViewPanel
|
||||
{
|
||||
private PckAsset _currentAsset;
|
||||
private Action _onModified;
|
||||
|
||||
private static readonly Skin _defaultSkin = new Skin("default", Resources.classic_template);
|
||||
|
||||
private string ButtonText
|
||||
{
|
||||
get => buttonEdit.Text;
|
||||
set
|
||||
{
|
||||
buttonEdit.Visible = !string.IsNullOrWhiteSpace(value);
|
||||
buttonEdit.Text = value;
|
||||
}
|
||||
}
|
||||
|
||||
public DefaultPanel()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
|
||||
private void ReloadMetaTreeView()
|
||||
{
|
||||
treeMeta.Nodes.Clear();
|
||||
if (_currentAsset is not null)
|
||||
{
|
||||
foreach (KeyValuePair<string, string> property in _currentAsset.GetProperties())
|
||||
{
|
||||
treeMeta.Nodes.CreateNode($"{property.Key}: {property.Value}", property);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void treeMeta_KeyDown(object sender, KeyEventArgs e)
|
||||
{
|
||||
if (e.KeyData == Keys.Delete)
|
||||
deleteEntryToolStripMenuItem_Click(sender, e);
|
||||
}
|
||||
|
||||
private void editAllEntriesToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (_currentAsset is not null)
|
||||
{
|
||||
IEnumerable<string> props = _currentAsset.SerializeProperties(seperater: " ");
|
||||
using (var input = new MultiTextPrompt(props))
|
||||
{
|
||||
if (input.ShowDialog(this) == DialogResult.OK)
|
||||
{
|
||||
_currentAsset.ClearProperties();
|
||||
_currentAsset.DeserializeProperties(input.TextOutput);
|
||||
ReloadMetaTreeView();
|
||||
_onModified();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void addMultipleEntriesToolStripMenuItem1_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (_currentAsset is not null)
|
||||
{
|
||||
using var input = new MultiTextPrompt();
|
||||
if (input.ShowDialog(this) == DialogResult.OK)
|
||||
{
|
||||
_currentAsset.DeserializeProperties(input.TextOutput);
|
||||
ReloadMetaTreeView();
|
||||
_onModified();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void addBOXEntryToolStripMenuItem1_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (_currentAsset is not null)
|
||||
{
|
||||
using BoxEditor diag = new BoxEditor(SkinBOX.DefaultHead, false);
|
||||
if (diag.ShowDialog(this) == DialogResult.OK)
|
||||
{
|
||||
_currentAsset.AddProperty("BOX", diag.Result);
|
||||
ReloadMetaTreeView();
|
||||
_onModified();
|
||||
}
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
private void addANIMEntryToolStripMenuItem1_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (_currentAsset is not null)
|
||||
{
|
||||
using ANIMEditor diag = new ANIMEditor(SkinANIM.Empty);
|
||||
if (diag.ShowDialog(this) == DialogResult.OK)
|
||||
{
|
||||
_currentAsset.AddProperty("ANIM", diag.ResultAnim);
|
||||
ReloadMetaTreeView();
|
||||
_onModified();
|
||||
}
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
private void deleteEntryToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (treeMeta.SelectedNode is TreeNode t && t.Tag is KeyValuePair<string, string> property &&
|
||||
_currentAsset.RemoveProperty(property))
|
||||
{
|
||||
treeMeta.SelectedNode.Remove();
|
||||
_onModified();
|
||||
}
|
||||
}
|
||||
|
||||
private void addEntryToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (_currentAsset is not null)
|
||||
{
|
||||
using AddPropertyPrompt addProperty = new AddPropertyPrompt();
|
||||
if (addProperty.ShowDialog(this) == DialogResult.OK)
|
||||
{
|
||||
_currentAsset.AddProperty(addProperty.Property);
|
||||
ReloadMetaTreeView();
|
||||
_onModified();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void treeMeta_DoubleClick(object sender, EventArgs e)
|
||||
{
|
||||
if (treeMeta.SelectedNode is TreeNode subnode && subnode.Tag is KeyValuePair<string, string> property &&
|
||||
_currentAsset is not null)
|
||||
{
|
||||
if (_currentAsset.HasProperty(property.Key))
|
||||
{
|
||||
switch (property.Key)
|
||||
{
|
||||
case "ANIM" when _currentAsset.Type == PckAssetType.SkinFile:
|
||||
try
|
||||
{
|
||||
using ANIMEditor diag = new ANIMEditor(SkinANIM.FromString(property.Value));
|
||||
if (diag.ShowDialog(this) == DialogResult.OK)
|
||||
{
|
||||
_currentAsset.SetProperty(_currentAsset.GetPropertyIndex(property), new KeyValuePair<string, string>("ANIM", diag.ResultAnim.ToString()));
|
||||
ReloadMetaTreeView();
|
||||
_onModified();
|
||||
}
|
||||
return;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Debug.WriteLine(ex.Message);
|
||||
Trace.WriteLine("Invalid ANIM value: " + property.Value);
|
||||
MessageBox.Show(this, "Failed to parse ANIM value, aborting to normal functionality. Please make sure the value only includes hexadecimal characters (0-9,A-F) and has no more than 8 characters.");
|
||||
}
|
||||
break;
|
||||
|
||||
case "BOX" when _currentAsset.Type == PckAssetType.SkinFile:
|
||||
try
|
||||
{
|
||||
using BoxEditor diag = new BoxEditor(property.Value, false);
|
||||
if (diag.ShowDialog(this) == DialogResult.OK)
|
||||
{
|
||||
_currentAsset.SetProperty(_currentAsset.GetPropertyIndex(property), new KeyValuePair<string, string>("BOX", diag.Result.ToString()));
|
||||
ReloadMetaTreeView();
|
||||
_onModified();
|
||||
}
|
||||
return;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Debug.WriteLine(ex.Message);
|
||||
Trace.WriteLine("Invalid BOX value: " + property.Value);
|
||||
MessageBox.Show(this, "Failed to parse BOX value, aborting to normal functionality.");
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
using (AddPropertyPrompt addProperty = new AddPropertyPrompt(property))
|
||||
{
|
||||
if (addProperty.ShowDialog(this) == DialogResult.OK)
|
||||
{
|
||||
_currentAsset.SetProperty(_currentAsset.GetPropertyIndex(property), addProperty.Property);
|
||||
ReloadMetaTreeView();
|
||||
_onModified();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public override void Reset()
|
||||
{
|
||||
treeMeta.Nodes.Clear();
|
||||
previewPictureBox.Image = Resources.NoImageFound;
|
||||
skinRenderer.Visible = false;
|
||||
displayNameLabel.Visible = false;
|
||||
themeNameLabel.Visible = false;
|
||||
ButtonText = null;
|
||||
_currentAsset = null;
|
||||
_onModified = null;
|
||||
}
|
||||
|
||||
public override void LoadAsset(PckAsset asset, Action onModified)
|
||||
{
|
||||
Reset();
|
||||
_currentAsset = asset;
|
||||
_onModified = onModified;
|
||||
switch (asset.Type)
|
||||
{
|
||||
case PckAssetType.SkinFile:
|
||||
case PckAssetType.CapeFile:
|
||||
case PckAssetType.TextureFile:
|
||||
{
|
||||
previewPictureBox.Image = asset.GetTexture();
|
||||
|
||||
if (skinRenderer.IsInitialized)
|
||||
{
|
||||
|
||||
if (asset.Type == PckAssetType.SkinFile || asset.Type == PckAssetType.CapeFile)
|
||||
{
|
||||
skinRenderer.Visible = true;
|
||||
Skin skin = _defaultSkin;
|
||||
if (asset.Type == PckAssetType.SkinFile)
|
||||
{
|
||||
skin = asset.GetSkin();
|
||||
displayNameLabel.Visible = true;
|
||||
themeNameLabel.Visible = true;
|
||||
displayNameLabel.Text = skin.MetaData.Name;
|
||||
themeNameLabel.Text = skin.MetaData.Theme;
|
||||
}
|
||||
skinRenderer.LoadSkin(skin);
|
||||
if (asset.Type == PckAssetType.CapeFile)
|
||||
skinRenderer.CapeTexture = previewPictureBox.Image;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (asset.Type != PckAssetType.TextureFile)
|
||||
break;
|
||||
|
||||
ResourceLocation resourceLocation = ResourceLocations.GetFromPath(asset.Filename);
|
||||
if (resourceLocation is null || resourceLocation.Category == ResourceCategory.Unknown)
|
||||
break;
|
||||
|
||||
if ((resourceLocation.Category & ResourceCategory.Animation) != 0 && !asset.IsMipmappedFile())
|
||||
ButtonText = "EDIT TILE ANIMATION";
|
||||
|
||||
if ((resourceLocation.Category & ResourceCategory.Atlas) != 0)
|
||||
ButtonText = "EDIT TEXTURE ATLAS";
|
||||
|
||||
if ((resourceLocation.Category & ResourceCategory.Textures) != 0)
|
||||
ButtonText = "EDIT TEXTURE";
|
||||
}
|
||||
break;
|
||||
|
||||
case PckAssetType.LocalisationFile:
|
||||
ButtonText = "EDIT LOC";
|
||||
break;
|
||||
|
||||
case PckAssetType.AudioFile:
|
||||
ButtonText = "EDIT MUSIC CUES";
|
||||
break;
|
||||
|
||||
case PckAssetType.ColourTableFile when asset.Filename == "colours.col":
|
||||
ButtonText = "EDIT COLORS";
|
||||
break;
|
||||
|
||||
case PckAssetType.BehavioursFile when asset.Filename == "behaviours.bin":
|
||||
ButtonText = "EDIT BEHAVIOURS";
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
ReloadMetaTreeView();
|
||||
}
|
||||
}
|
||||
}
|
||||
132
PCK-Studio/Controls/DefaultPanel.resx
Normal file
132
PCK-Studio/Controls/DefaultPanel.resx
Normal file
@@ -0,0 +1,132 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<metadata name="contextMenuMetaTree.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>17, 17</value>
|
||||
</metadata>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="addEntryToolStripMenuItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
|
||||
vAAADrwBlbxySQAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4xMkMEa+wAAABSSURBVDhP5c0x
|
||||
DsAgDENRxt7/wmkNSpRGf0CCCZAegxNMM7MlGMp3dIU6dxhKf/QMNxRogeQC8ivw5Vn7C0heJlFA+kL5
|
||||
jWAohxRkde4wnGftBS90axNmphIGAAAAAElFTkSuQmCC
|
||||
</value>
|
||||
</data>
|
||||
</root>
|
||||
139
PCK-Studio/Controls/ModelsPanel.Designer.cs
generated
Normal file
139
PCK-Studio/Controls/ModelsPanel.Designer.cs
generated
Normal file
@@ -0,0 +1,139 @@
|
||||
namespace PckStudio.Controls
|
||||
{
|
||||
partial class ModelsPanel
|
||||
{
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region Component Designer generated code
|
||||
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel();
|
||||
this.modelTreeView = new System.Windows.Forms.TreeView();
|
||||
this.modelRenderer = new PckStudio.Rendering.ModelRenderer();
|
||||
this.textureTreeView = new System.Windows.Forms.TreeView();
|
||||
this.showBoundsCheckBox = new System.Windows.Forms.CheckBox();
|
||||
this.tableLayoutPanel1.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// tableLayoutPanel1
|
||||
//
|
||||
this.tableLayoutPanel1.ColumnCount = 2;
|
||||
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 35F));
|
||||
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 65F));
|
||||
this.tableLayoutPanel1.Controls.Add(this.modelTreeView, 0, 0);
|
||||
this.tableLayoutPanel1.Controls.Add(this.modelRenderer, 1, 0);
|
||||
this.tableLayoutPanel1.Controls.Add(this.textureTreeView, 1, 2);
|
||||
this.tableLayoutPanel1.Controls.Add(this.showBoundsCheckBox, 1, 1);
|
||||
this.tableLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.tableLayoutPanel1.Location = new System.Drawing.Point(0, 0);
|
||||
this.tableLayoutPanel1.Name = "tableLayoutPanel1";
|
||||
this.tableLayoutPanel1.RowCount = 3;
|
||||
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50F));
|
||||
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 5F));
|
||||
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 45F));
|
||||
this.tableLayoutPanel1.Size = new System.Drawing.Size(732, 612);
|
||||
this.tableLayoutPanel1.TabIndex = 0;
|
||||
//
|
||||
// modelTreeView
|
||||
//
|
||||
this.modelTreeView.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(15)))), ((int)(((byte)(15)))), ((int)(((byte)(15)))));
|
||||
this.modelTreeView.BorderStyle = System.Windows.Forms.BorderStyle.None;
|
||||
this.modelTreeView.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.modelTreeView.ForeColor = System.Drawing.SystemColors.Window;
|
||||
this.modelTreeView.Location = new System.Drawing.Point(3, 3);
|
||||
this.modelTreeView.Name = "modelTreeView";
|
||||
this.tableLayoutPanel1.SetRowSpan(this.modelTreeView, 3);
|
||||
this.modelTreeView.Size = new System.Drawing.Size(250, 606);
|
||||
this.modelTreeView.TabIndex = 0;
|
||||
this.modelTreeView.AfterSelect += new System.Windows.Forms.TreeViewEventHandler(this.treeView1_AfterSelect);
|
||||
//
|
||||
// modelRenderer
|
||||
//
|
||||
this.modelRenderer.AllowCameraMovement = false;
|
||||
this.modelRenderer.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(21)))), ((int)(((byte)(21)))), ((int)(((byte)(21)))));
|
||||
this.modelRenderer.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.modelRenderer.ForeColor = System.Drawing.Color.White;
|
||||
this.modelRenderer.Location = new System.Drawing.Point(259, 3);
|
||||
this.modelRenderer.MouseSensetivity = 0.01F;
|
||||
this.modelRenderer.Name = "modelRenderer";
|
||||
this.modelRenderer.RefreshRate = 60;
|
||||
this.modelRenderer.RenderModelBounds = false;
|
||||
this.modelRenderer.Size = new System.Drawing.Size(470, 300);
|
||||
this.modelRenderer.TabIndex = 1;
|
||||
this.modelRenderer.VSync = true;
|
||||
//
|
||||
// textureTreeView
|
||||
//
|
||||
this.textureTreeView.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(15)))), ((int)(((byte)(15)))), ((int)(((byte)(15)))));
|
||||
this.textureTreeView.BorderStyle = System.Windows.Forms.BorderStyle.None;
|
||||
this.textureTreeView.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.textureTreeView.ForeColor = System.Drawing.SystemColors.Window;
|
||||
this.textureTreeView.Location = new System.Drawing.Point(259, 339);
|
||||
this.textureTreeView.Name = "textureTreeView";
|
||||
this.textureTreeView.ShowLines = false;
|
||||
this.textureTreeView.Size = new System.Drawing.Size(470, 270);
|
||||
this.textureTreeView.TabIndex = 2;
|
||||
this.textureTreeView.AfterSelect += new System.Windows.Forms.TreeViewEventHandler(this.textureTreeView_AfterSelect);
|
||||
//
|
||||
// showBoundsCheckBox
|
||||
//
|
||||
this.showBoundsCheckBox.AutoSize = true;
|
||||
this.showBoundsCheckBox.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(28)))), ((int)(((byte)(28)))), ((int)(((byte)(28)))));
|
||||
this.showBoundsCheckBox.BackgroundImageLayout = System.Windows.Forms.ImageLayout.None;
|
||||
this.showBoundsCheckBox.CheckAlign = System.Drawing.ContentAlignment.MiddleRight;
|
||||
this.showBoundsCheckBox.Dock = System.Windows.Forms.DockStyle.Right;
|
||||
this.showBoundsCheckBox.FlatStyle = System.Windows.Forms.FlatStyle.Popup;
|
||||
this.showBoundsCheckBox.ForeColor = System.Drawing.Color.White;
|
||||
this.showBoundsCheckBox.Location = new System.Drawing.Point(610, 309);
|
||||
this.showBoundsCheckBox.Name = "showBoundsCheckBox";
|
||||
this.showBoundsCheckBox.Size = new System.Drawing.Size(119, 24);
|
||||
this.showBoundsCheckBox.TabIndex = 3;
|
||||
this.showBoundsCheckBox.Text = "Show Bounding box";
|
||||
this.showBoundsCheckBox.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
|
||||
this.showBoundsCheckBox.UseVisualStyleBackColor = false;
|
||||
this.showBoundsCheckBox.CheckedChanged += new System.EventHandler(this.showBoundsCheckBox1_CheckedChanged);
|
||||
//
|
||||
// ModelsPanel
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(18)))), ((int)(((byte)(18)))), ((int)(((byte)(18)))));
|
||||
this.Controls.Add(this.tableLayoutPanel1);
|
||||
this.Name = "ModelsPanel";
|
||||
this.Size = new System.Drawing.Size(732, 612);
|
||||
this.tableLayoutPanel1.ResumeLayout(false);
|
||||
this.tableLayoutPanel1.PerformLayout();
|
||||
this.ResumeLayout(false);
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.TableLayoutPanel tableLayoutPanel1;
|
||||
private System.Windows.Forms.TreeView modelTreeView;
|
||||
private Rendering.ModelRenderer modelRenderer;
|
||||
private System.Windows.Forms.TreeView textureTreeView;
|
||||
private System.Windows.Forms.CheckBox showBoundsCheckBox;
|
||||
}
|
||||
}
|
||||
103
PCK-Studio/Controls/ModelsPanel.cs
Normal file
103
PCK-Studio/Controls/ModelsPanel.cs
Normal file
@@ -0,0 +1,103 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Diagnostics;
|
||||
using System.Drawing;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
using OMI.Formats.Model;
|
||||
using OMI.Formats.Pck;
|
||||
using OMI.Workers.Model;
|
||||
using PckStudio.Core;
|
||||
using PckStudio.Core.Extensions;
|
||||
using PckStudio.Interfaces;
|
||||
using PckStudio.ModelSupport;
|
||||
using PckStudio.Rendering.Texture;
|
||||
|
||||
namespace PckStudio.Controls
|
||||
{
|
||||
public partial class ModelsPanel : ViewPanel
|
||||
{
|
||||
private readonly ITryGet<string, Image> _textures;
|
||||
private readonly ImageList _imageList = new ImageList()
|
||||
{
|
||||
ColorDepth = ColorDepth.Depth32Bit,
|
||||
ImageSize = new Size(32, 32)
|
||||
};
|
||||
private ModelContainer _models;
|
||||
|
||||
public ModelsPanel(ITryGet<string, Image> tryGetTexture)
|
||||
{
|
||||
InitializeComponent();
|
||||
_textures = tryGetTexture;
|
||||
textureTreeView.ImageList = _imageList;
|
||||
}
|
||||
|
||||
public override void LoadAsset(PckAsset asset, Action onChange)
|
||||
{
|
||||
_models = asset.GetData(new ModelFileReader());
|
||||
modelTreeView.Nodes.AddRange(_models.Select(m => new TreeNode(m.Name)).ToArray());
|
||||
if (modelTreeView.Nodes.Count > 0)
|
||||
modelTreeView.SelectedNode = modelTreeView.Nodes[0];
|
||||
modelRenderer.MakeCurrent();
|
||||
}
|
||||
|
||||
public override void Reset()
|
||||
{
|
||||
modelTreeView.Nodes.Clear();
|
||||
textureTreeView.Nodes.Clear();
|
||||
_models = null;
|
||||
}
|
||||
|
||||
private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
|
||||
{
|
||||
string modelName = e?.Node?.Text;
|
||||
modelRenderer.Visible = _models.ContainsModel(modelName);
|
||||
if (!modelRenderer.Visible)
|
||||
return;
|
||||
|
||||
NamedData<Image>[] textures = GetModelTextures(modelName, _textures).ToArray();
|
||||
|
||||
_imageList.Images.Clear();
|
||||
textureTreeView.Nodes.Clear();
|
||||
|
||||
foreach ((int i, NamedData<Image> item) in textures.enumerate())
|
||||
{
|
||||
_imageList.Images.Add(item.Value);
|
||||
textureTreeView.Nodes.Add(new NamedTextureTreeNode(item) { ImageIndex = i, SelectedImageIndex = i });
|
||||
}
|
||||
if (textures.Length > 0)
|
||||
{
|
||||
modelRenderer.Texture = textures[0].Value;
|
||||
modelRenderer.LoadModel(_models.GetModelByName(modelName));
|
||||
}
|
||||
}
|
||||
|
||||
private static IEnumerable<NamedData<Image>> GetModelTextures(string modelName, ITryGet<string, Image> tryGet)
|
||||
{
|
||||
if (!GameModelImporter.ModelMetaData.ContainsKey(modelName) || GameModelImporter.ModelMetaData[modelName]?.TextureLocations?.Length <= 0)
|
||||
yield break;
|
||||
foreach (var textureLocation in GameModelImporter.ModelMetaData[modelName].TextureLocations)
|
||||
{
|
||||
if (tryGet.TryGet(textureLocation, out Image img))
|
||||
yield return new NamedData<Image>(Path.GetFileName(textureLocation), img);
|
||||
}
|
||||
yield break;
|
||||
}
|
||||
|
||||
private void textureTreeView_AfterSelect(object sender, TreeViewEventArgs e)
|
||||
{
|
||||
if (e.Node is NamedTextureTreeNode namedTextureNode)
|
||||
modelRenderer.Texture = namedTextureNode.GetTexture();
|
||||
}
|
||||
|
||||
private void showBoundsCheckBox1_CheckedChanged(object sender, EventArgs e)
|
||||
{
|
||||
modelRenderer.RenderModelBounds = showBoundsCheckBox.Checked;
|
||||
}
|
||||
}
|
||||
}
|
||||
120
PCK-Studio/Controls/ModelsPanel.resx
Normal file
120
PCK-Studio/Controls/ModelsPanel.resx
Normal file
@@ -0,0 +1,120 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
</root>
|
||||
244
PCK-Studio/Controls/PckAssetBrowserEditor.Designer.cs
generated
244
PCK-Studio/Controls/PckAssetBrowserEditor.Designer.cs
generated
@@ -34,16 +34,9 @@ namespace PckStudio.Controls
|
||||
System.Windows.Forms.PictureBox logoPictureBox;
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(PckAssetBrowserEditor));
|
||||
this.pckFileLabel = new MetroFramework.Controls.MetroLabel();
|
||||
this.labelImageSize = new MetroFramework.Controls.MetroLabel();
|
||||
this.fileEntryCountLabel = new MetroFramework.Controls.MetroLabel();
|
||||
this.PropertiesTabControl = new MetroFramework.Controls.MetroTabControl();
|
||||
this.MetaTab = new MetroFramework.Controls.MetroTabPage();
|
||||
this.metroLabel2 = new MetroFramework.Controls.MetroLabel();
|
||||
this.entryTypeTextBox = new MetroFramework.Controls.MetroTextBox();
|
||||
this.entryDataTextBox = new MetroFramework.Controls.MetroTextBox();
|
||||
this.buttonEdit = new MetroFramework.Controls.MetroButton();
|
||||
this.metroLabel1 = new MetroFramework.Controls.MetroLabel();
|
||||
this.treeMeta = new System.Windows.Forms.TreeView();
|
||||
this.contextMenuMetaTree = new System.Windows.Forms.ContextMenuStrip(this.components);
|
||||
this.addEntryToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.addEntryToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
|
||||
@@ -53,7 +46,6 @@ namespace PckStudio.Controls
|
||||
this.deleteEntryToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.editAllEntriesToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.label11 = new MetroFramework.Controls.MetroLabel();
|
||||
this.treeViewMain = new System.Windows.Forms.TreeView();
|
||||
this.contextMenuPCKEntries = new System.Windows.Forms.ContextMenuStrip(this.components);
|
||||
this.createToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.folderToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
@@ -104,15 +96,12 @@ namespace PckStudio.Controls
|
||||
this.deleteFileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.imageList = new System.Windows.Forms.ImageList(this.components);
|
||||
this.addMultipleEntriesToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.LittleEndianCheckBox = new MetroFramework.Controls.MetroCheckBox();
|
||||
this.previewPictureBox = new PckStudio.ToolboxItems.InterpolationPictureBox();
|
||||
this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel();
|
||||
this.treeViewMain = new System.Windows.Forms.TreeView();
|
||||
logoPictureBox = new System.Windows.Forms.PictureBox();
|
||||
((System.ComponentModel.ISupportInitialize)(logoPictureBox)).BeginInit();
|
||||
this.PropertiesTabControl.SuspendLayout();
|
||||
this.MetaTab.SuspendLayout();
|
||||
this.contextMenuMetaTree.SuspendLayout();
|
||||
this.contextMenuPCKEntries.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.previewPictureBox)).BeginInit();
|
||||
this.tableLayoutPanel1.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// logoPictureBox
|
||||
@@ -128,223 +117,70 @@ namespace PckStudio.Controls
|
||||
this.pckFileLabel.Name = "pckFileLabel";
|
||||
this.pckFileLabel.Theme = MetroFramework.MetroThemeStyle.Dark;
|
||||
//
|
||||
// labelImageSize
|
||||
//
|
||||
resources.ApplyResources(this.labelImageSize, "labelImageSize");
|
||||
this.labelImageSize.Name = "labelImageSize";
|
||||
this.labelImageSize.Theme = MetroFramework.MetroThemeStyle.Dark;
|
||||
//
|
||||
// fileEntryCountLabel
|
||||
//
|
||||
resources.ApplyResources(this.fileEntryCountLabel, "fileEntryCountLabel");
|
||||
this.fileEntryCountLabel.Name = "fileEntryCountLabel";
|
||||
this.fileEntryCountLabel.Theme = MetroFramework.MetroThemeStyle.Dark;
|
||||
//
|
||||
// PropertiesTabControl
|
||||
//
|
||||
this.PropertiesTabControl.Controls.Add(this.MetaTab);
|
||||
resources.ApplyResources(this.PropertiesTabControl, "PropertiesTabControl");
|
||||
this.PropertiesTabControl.Name = "PropertiesTabControl";
|
||||
this.PropertiesTabControl.SelectedIndex = 0;
|
||||
this.PropertiesTabControl.Style = MetroFramework.MetroColorStyle.Silver;
|
||||
this.PropertiesTabControl.Theme = MetroFramework.MetroThemeStyle.Dark;
|
||||
this.PropertiesTabControl.UseSelectable = true;
|
||||
//
|
||||
// MetaTab
|
||||
//
|
||||
this.MetaTab.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
|
||||
this.MetaTab.Controls.Add(this.metroLabel2);
|
||||
this.MetaTab.Controls.Add(this.entryTypeTextBox);
|
||||
this.MetaTab.Controls.Add(this.entryDataTextBox);
|
||||
this.MetaTab.Controls.Add(this.buttonEdit);
|
||||
this.MetaTab.Controls.Add(this.metroLabel1);
|
||||
this.MetaTab.Controls.Add(this.treeMeta);
|
||||
this.MetaTab.HorizontalScrollbarBarColor = true;
|
||||
this.MetaTab.HorizontalScrollbarHighlightOnWheel = false;
|
||||
this.MetaTab.HorizontalScrollbarSize = 10;
|
||||
resources.ApplyResources(this.MetaTab, "MetaTab");
|
||||
this.MetaTab.Name = "MetaTab";
|
||||
this.MetaTab.Theme = MetroFramework.MetroThemeStyle.Dark;
|
||||
this.MetaTab.VerticalScrollbarBarColor = true;
|
||||
this.MetaTab.VerticalScrollbarHighlightOnWheel = false;
|
||||
this.MetaTab.VerticalScrollbarSize = 10;
|
||||
//
|
||||
// metroLabel2
|
||||
//
|
||||
resources.ApplyResources(this.metroLabel2, "metroLabel2");
|
||||
this.metroLabel2.Name = "metroLabel2";
|
||||
this.metroLabel2.Theme = MetroFramework.MetroThemeStyle.Dark;
|
||||
//
|
||||
// entryTypeTextBox
|
||||
//
|
||||
resources.ApplyResources(this.entryTypeTextBox, "entryTypeTextBox");
|
||||
//
|
||||
//
|
||||
//
|
||||
this.entryTypeTextBox.CustomButton.Image = ((System.Drawing.Image)(resources.GetObject("resource.Image")));
|
||||
this.entryTypeTextBox.CustomButton.ImeMode = ((System.Windows.Forms.ImeMode)(resources.GetObject("resource.ImeMode")));
|
||||
this.entryTypeTextBox.CustomButton.Location = ((System.Drawing.Point)(resources.GetObject("resource.Location")));
|
||||
this.entryTypeTextBox.CustomButton.Name = "";
|
||||
this.entryTypeTextBox.CustomButton.Size = ((System.Drawing.Size)(resources.GetObject("resource.Size")));
|
||||
this.entryTypeTextBox.CustomButton.Style = MetroFramework.MetroColorStyle.Blue;
|
||||
this.entryTypeTextBox.CustomButton.TabIndex = ((int)(resources.GetObject("resource.TabIndex")));
|
||||
this.entryTypeTextBox.CustomButton.Theme = MetroFramework.MetroThemeStyle.Light;
|
||||
this.entryTypeTextBox.CustomButton.UseSelectable = true;
|
||||
this.entryTypeTextBox.CustomButton.Visible = ((bool)(resources.GetObject("resource.Visible")));
|
||||
this.entryTypeTextBox.Lines = new string[0];
|
||||
this.entryTypeTextBox.MaxLength = 32767;
|
||||
this.entryTypeTextBox.Name = "entryTypeTextBox";
|
||||
this.entryTypeTextBox.PasswordChar = '\0';
|
||||
this.entryTypeTextBox.ScrollBars = System.Windows.Forms.ScrollBars.None;
|
||||
this.entryTypeTextBox.SelectedText = "";
|
||||
this.entryTypeTextBox.SelectionLength = 0;
|
||||
this.entryTypeTextBox.SelectionStart = 0;
|
||||
this.entryTypeTextBox.ShortcutsEnabled = true;
|
||||
this.entryTypeTextBox.Theme = MetroFramework.MetroThemeStyle.Dark;
|
||||
this.entryTypeTextBox.UseSelectable = true;
|
||||
this.entryTypeTextBox.WaterMarkColor = System.Drawing.Color.FromArgb(((int)(((byte)(109)))), ((int)(((byte)(109)))), ((int)(((byte)(109)))));
|
||||
this.entryTypeTextBox.WaterMarkFont = new System.Drawing.Font("Segoe UI", 12F, System.Drawing.FontStyle.Italic, System.Drawing.GraphicsUnit.Pixel);
|
||||
//
|
||||
// entryDataTextBox
|
||||
//
|
||||
resources.ApplyResources(this.entryDataTextBox, "entryDataTextBox");
|
||||
//
|
||||
//
|
||||
//
|
||||
this.entryDataTextBox.CustomButton.Image = ((System.Drawing.Image)(resources.GetObject("resource.Image1")));
|
||||
this.entryDataTextBox.CustomButton.ImeMode = ((System.Windows.Forms.ImeMode)(resources.GetObject("resource.ImeMode1")));
|
||||
this.entryDataTextBox.CustomButton.Location = ((System.Drawing.Point)(resources.GetObject("resource.Location1")));
|
||||
this.entryDataTextBox.CustomButton.Name = "";
|
||||
this.entryDataTextBox.CustomButton.Size = ((System.Drawing.Size)(resources.GetObject("resource.Size1")));
|
||||
this.entryDataTextBox.CustomButton.Style = MetroFramework.MetroColorStyle.Blue;
|
||||
this.entryDataTextBox.CustomButton.TabIndex = ((int)(resources.GetObject("resource.TabIndex1")));
|
||||
this.entryDataTextBox.CustomButton.Theme = MetroFramework.MetroThemeStyle.Light;
|
||||
this.entryDataTextBox.CustomButton.UseSelectable = true;
|
||||
this.entryDataTextBox.CustomButton.Visible = ((bool)(resources.GetObject("resource.Visible1")));
|
||||
this.entryDataTextBox.Lines = new string[0];
|
||||
this.entryDataTextBox.MaxLength = 32767;
|
||||
this.entryDataTextBox.Name = "entryDataTextBox";
|
||||
this.entryDataTextBox.PasswordChar = '\0';
|
||||
this.entryDataTextBox.ScrollBars = System.Windows.Forms.ScrollBars.None;
|
||||
this.entryDataTextBox.SelectedText = "";
|
||||
this.entryDataTextBox.SelectionLength = 0;
|
||||
this.entryDataTextBox.SelectionStart = 0;
|
||||
this.entryDataTextBox.ShortcutsEnabled = true;
|
||||
this.entryDataTextBox.Theme = MetroFramework.MetroThemeStyle.Dark;
|
||||
this.entryDataTextBox.UseSelectable = true;
|
||||
this.entryDataTextBox.WaterMarkColor = System.Drawing.Color.FromArgb(((int)(((byte)(109)))), ((int)(((byte)(109)))), ((int)(((byte)(109)))));
|
||||
this.entryDataTextBox.WaterMarkFont = new System.Drawing.Font("Segoe UI", 12F, System.Drawing.FontStyle.Italic, System.Drawing.GraphicsUnit.Pixel);
|
||||
//
|
||||
// buttonEdit
|
||||
//
|
||||
resources.ApplyResources(this.buttonEdit, "buttonEdit");
|
||||
this.buttonEdit.Name = "buttonEdit";
|
||||
this.buttonEdit.Theme = MetroFramework.MetroThemeStyle.Dark;
|
||||
this.buttonEdit.UseSelectable = true;
|
||||
this.buttonEdit.Click += new System.EventHandler(this.buttonEdit_Click);
|
||||
//
|
||||
// metroLabel1
|
||||
//
|
||||
resources.ApplyResources(this.metroLabel1, "metroLabel1");
|
||||
this.metroLabel1.Name = "metroLabel1";
|
||||
this.metroLabel1.Theme = MetroFramework.MetroThemeStyle.Dark;
|
||||
//
|
||||
// treeMeta
|
||||
//
|
||||
this.treeMeta.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(13)))), ((int)(((byte)(13)))), ((int)(((byte)(13)))));
|
||||
this.treeMeta.BorderStyle = System.Windows.Forms.BorderStyle.None;
|
||||
this.treeMeta.ContextMenuStrip = this.contextMenuMetaTree;
|
||||
resources.ApplyResources(this.treeMeta, "treeMeta");
|
||||
this.treeMeta.ForeColor = System.Drawing.SystemColors.Window;
|
||||
this.treeMeta.Name = "treeMeta";
|
||||
this.treeMeta.PathSeparator = "/";
|
||||
this.treeMeta.AfterSelect += new System.Windows.Forms.TreeViewEventHandler(this.treeMeta_AfterSelect);
|
||||
this.treeMeta.DoubleClick += new System.EventHandler(this.treeMeta_DoubleClick);
|
||||
this.treeMeta.KeyDown += new System.Windows.Forms.KeyEventHandler(this.treeMeta_KeyDown);
|
||||
//
|
||||
// contextMenuMetaTree
|
||||
//
|
||||
this.contextMenuMetaTree.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.addEntryToolStripMenuItem,
|
||||
this.addMultipleEntriesToolStripMenuItem1,
|
||||
this.deleteEntryToolStripMenuItem,
|
||||
this.editAllEntriesToolStripMenuItem});
|
||||
this.contextMenuMetaTree.Name = "contextMenuStrip1";
|
||||
this.contextMenuMetaTree.Name = "contextMenuMetaTree";
|
||||
resources.ApplyResources(this.contextMenuMetaTree, "contextMenuMetaTree");
|
||||
//
|
||||
// addEntryToolStripMenuItem
|
||||
//
|
||||
this.addEntryToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.addEntryToolStripMenuItem1,
|
||||
this.addBOXEntryToolStripMenuItem1,
|
||||
this.addANIMEntryToolStripMenuItem1});
|
||||
resources.ApplyResources(this.addEntryToolStripMenuItem, "addEntryToolStripMenuItem");
|
||||
this.addEntryToolStripMenuItem.Name = "addEntryToolStripMenuItem";
|
||||
resources.ApplyResources(this.addEntryToolStripMenuItem, "addEntryToolStripMenuItem");
|
||||
//
|
||||
// addEntryToolStripMenuItem1
|
||||
//
|
||||
this.addEntryToolStripMenuItem1.Name = "addEntryToolStripMenuItem1";
|
||||
resources.ApplyResources(this.addEntryToolStripMenuItem1, "addEntryToolStripMenuItem1");
|
||||
this.addEntryToolStripMenuItem1.Click += new System.EventHandler(this.addEntryToolStripMenuItem_Click);
|
||||
//
|
||||
// addBOXEntryToolStripMenuItem1
|
||||
//
|
||||
this.addBOXEntryToolStripMenuItem1.Name = "addBOXEntryToolStripMenuItem1";
|
||||
resources.ApplyResources(this.addBOXEntryToolStripMenuItem1, "addBOXEntryToolStripMenuItem1");
|
||||
this.addBOXEntryToolStripMenuItem1.Click += new System.EventHandler(this.addBOXEntryToolStripMenuItem1_Click);
|
||||
//
|
||||
// addANIMEntryToolStripMenuItem1
|
||||
//
|
||||
this.addANIMEntryToolStripMenuItem1.Name = "addANIMEntryToolStripMenuItem1";
|
||||
resources.ApplyResources(this.addANIMEntryToolStripMenuItem1, "addANIMEntryToolStripMenuItem1");
|
||||
this.addANIMEntryToolStripMenuItem1.Click += new System.EventHandler(this.addANIMEntryToolStripMenuItem1_Click);
|
||||
//
|
||||
// addMultipleEntriesToolStripMenuItem1
|
||||
//
|
||||
this.addMultipleEntriesToolStripMenuItem1.Name = "addMultipleEntriesToolStripMenuItem1";
|
||||
resources.ApplyResources(this.addMultipleEntriesToolStripMenuItem1, "addMultipleEntriesToolStripMenuItem1");
|
||||
this.addMultipleEntriesToolStripMenuItem1.Click += new System.EventHandler(this.addMultipleEntriesToolStripMenuItem1_Click);
|
||||
//
|
||||
// deleteEntryToolStripMenuItem
|
||||
//
|
||||
this.deleteEntryToolStripMenuItem.Image = global::PckStudio.Properties.Resources.file_delete;
|
||||
this.deleteEntryToolStripMenuItem.Name = "deleteEntryToolStripMenuItem";
|
||||
resources.ApplyResources(this.deleteEntryToolStripMenuItem, "deleteEntryToolStripMenuItem");
|
||||
this.deleteEntryToolStripMenuItem.Click += new System.EventHandler(this.deleteEntryToolStripMenuItem_Click);
|
||||
//
|
||||
// editAllEntriesToolStripMenuItem
|
||||
//
|
||||
this.editAllEntriesToolStripMenuItem.Name = "editAllEntriesToolStripMenuItem";
|
||||
resources.ApplyResources(this.editAllEntriesToolStripMenuItem, "editAllEntriesToolStripMenuItem");
|
||||
this.editAllEntriesToolStripMenuItem.Click += new System.EventHandler(this.editAllEntriesToolStripMenuItem_Click);
|
||||
//
|
||||
// label11
|
||||
//
|
||||
resources.ApplyResources(this.label11, "label11");
|
||||
this.label11.Name = "label11";
|
||||
//
|
||||
// treeViewMain
|
||||
//
|
||||
this.treeViewMain.AllowDrop = true;
|
||||
this.treeViewMain.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(12)))), ((int)(((byte)(12)))), ((int)(((byte)(12)))));
|
||||
this.treeViewMain.BorderStyle = System.Windows.Forms.BorderStyle.None;
|
||||
this.treeViewMain.ContextMenuStrip = this.contextMenuPCKEntries;
|
||||
resources.ApplyResources(this.treeViewMain, "treeViewMain");
|
||||
this.treeViewMain.ForeColor = System.Drawing.Color.White;
|
||||
this.treeViewMain.ImageList = this.imageList;
|
||||
this.treeViewMain.LabelEdit = true;
|
||||
this.treeViewMain.Name = "treeViewMain";
|
||||
this.treeViewMain.PathSeparator = "/";
|
||||
this.treeViewMain.BeforeLabelEdit += new System.Windows.Forms.NodeLabelEditEventHandler(this.treeViewMain_BeforeLabelEdit);
|
||||
this.treeViewMain.ItemDrag += new System.Windows.Forms.ItemDragEventHandler(this.treeViewMain_ItemDrag);
|
||||
this.treeViewMain.AfterSelect += new System.Windows.Forms.TreeViewEventHandler(this.treeViewMain_AfterSelect);
|
||||
this.treeViewMain.NodeMouseClick += new System.Windows.Forms.TreeNodeMouseClickEventHandler(this.treeViewMain_NodeMouseClick);
|
||||
this.treeViewMain.DragDrop += new System.Windows.Forms.DragEventHandler(this.treeViewMain_DragDrop);
|
||||
this.treeViewMain.DragEnter += new System.Windows.Forms.DragEventHandler(this.treeViewMain_DragEnter);
|
||||
this.treeViewMain.DragOver += new System.Windows.Forms.DragEventHandler(this.treeViewMain_DragOver);
|
||||
this.treeViewMain.DoubleClick += new System.EventHandler(this.treeViewMain_DoubleClick);
|
||||
this.treeViewMain.KeyDown += new System.Windows.Forms.KeyEventHandler(this.treeViewMain_KeyDown);
|
||||
//
|
||||
// contextMenuPCKEntries
|
||||
//
|
||||
this.contextMenuPCKEntries.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
@@ -698,48 +534,52 @@ namespace PckStudio.Controls
|
||||
resources.ApplyResources(this.addMultipleEntriesToolStripMenuItem, "addMultipleEntriesToolStripMenuItem");
|
||||
this.addMultipleEntriesToolStripMenuItem.Name = "addMultipleEntriesToolStripMenuItem";
|
||||
//
|
||||
// LittleEndianCheckBox
|
||||
// tableLayoutPanel1
|
||||
//
|
||||
resources.ApplyResources(this.LittleEndianCheckBox, "LittleEndianCheckBox");
|
||||
this.LittleEndianCheckBox.BackColor = System.Drawing.Color.Transparent;
|
||||
this.LittleEndianCheckBox.Name = "LittleEndianCheckBox";
|
||||
this.LittleEndianCheckBox.Style = MetroFramework.MetroColorStyle.White;
|
||||
this.LittleEndianCheckBox.Theme = MetroFramework.MetroThemeStyle.Dark;
|
||||
this.LittleEndianCheckBox.UseSelectable = true;
|
||||
resources.ApplyResources(this.tableLayoutPanel1, "tableLayoutPanel1");
|
||||
this.tableLayoutPanel1.Controls.Add(this.treeViewMain, 0, 0);
|
||||
this.tableLayoutPanel1.Name = "tableLayoutPanel1";
|
||||
//
|
||||
// previewPictureBox
|
||||
// treeViewMain
|
||||
//
|
||||
resources.ApplyResources(this.previewPictureBox, "previewPictureBox");
|
||||
this.previewPictureBox.BackColor = System.Drawing.Color.Transparent;
|
||||
this.previewPictureBox.BackgroundInterpolationMode = System.Drawing.Drawing2D.InterpolationMode.Default;
|
||||
this.previewPictureBox.Image = global::PckStudio.Properties.Resources.NoImageFound;
|
||||
this.previewPictureBox.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.NearestNeighbor;
|
||||
this.previewPictureBox.Name = "previewPictureBox";
|
||||
this.previewPictureBox.TabStop = false;
|
||||
this.treeViewMain.AllowDrop = true;
|
||||
this.treeViewMain.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(12)))), ((int)(((byte)(12)))), ((int)(((byte)(12)))));
|
||||
this.treeViewMain.BorderStyle = System.Windows.Forms.BorderStyle.None;
|
||||
this.treeViewMain.ContextMenuStrip = this.contextMenuPCKEntries;
|
||||
resources.ApplyResources(this.treeViewMain, "treeViewMain");
|
||||
this.treeViewMain.ForeColor = System.Drawing.Color.White;
|
||||
this.treeViewMain.HideSelection = false;
|
||||
this.treeViewMain.ImageList = this.imageList;
|
||||
this.treeViewMain.LabelEdit = true;
|
||||
this.treeViewMain.LineColor = System.Drawing.Color.DarkGray;
|
||||
this.treeViewMain.Name = "treeViewMain";
|
||||
this.treeViewMain.PathSeparator = "/";
|
||||
this.tableLayoutPanel1.SetRowSpan(this.treeViewMain, 2);
|
||||
this.treeViewMain.BeforeLabelEdit += new System.Windows.Forms.NodeLabelEditEventHandler(this.treeViewMain_BeforeLabelEdit);
|
||||
this.treeViewMain.ItemDrag += new System.Windows.Forms.ItemDragEventHandler(this.treeViewMain_ItemDrag);
|
||||
this.treeViewMain.AfterSelect += new System.Windows.Forms.TreeViewEventHandler(this.treeViewMain_AfterSelect);
|
||||
this.treeViewMain.NodeMouseClick += new System.Windows.Forms.TreeNodeMouseClickEventHandler(this.treeViewMain_NodeMouseClick);
|
||||
this.treeViewMain.DragDrop += new System.Windows.Forms.DragEventHandler(this.treeViewMain_DragDrop);
|
||||
this.treeViewMain.DragEnter += new System.Windows.Forms.DragEventHandler(this.treeViewMain_DragEnter);
|
||||
this.treeViewMain.DragOver += new System.Windows.Forms.DragEventHandler(this.treeViewMain_DragOver);
|
||||
this.treeViewMain.DoubleClick += new System.EventHandler(this.treeViewMain_DoubleClick);
|
||||
this.treeViewMain.KeyDown += new System.Windows.Forms.KeyEventHandler(this.treeViewMain_KeyDown);
|
||||
//
|
||||
// PckEditor
|
||||
// PckAssetBrowserEditor
|
||||
//
|
||||
this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(18)))), ((int)(((byte)(18)))), ((int)(((byte)(18)))));
|
||||
resources.ApplyResources(this, "$this");
|
||||
this.Controls.Add(this.previewPictureBox);
|
||||
this.Controls.Add(this.LittleEndianCheckBox);
|
||||
this.Controls.Add(this.pckFileLabel);
|
||||
this.Controls.Add(this.labelImageSize);
|
||||
this.Controls.Add(this.fileEntryCountLabel);
|
||||
this.Controls.Add(this.PropertiesTabControl);
|
||||
this.Controls.Add(this.label11);
|
||||
this.Controls.Add(this.treeViewMain);
|
||||
this.Controls.Add(logoPictureBox);
|
||||
this.Controls.Add(this.tableLayoutPanel1);
|
||||
this.ForeColor = System.Drawing.Color.Transparent;
|
||||
this.Name = "PckEditor";
|
||||
this.Name = "PckAssetBrowserEditor";
|
||||
this.Load += new System.EventHandler(this.PckEditor_Load);
|
||||
((System.ComponentModel.ISupportInitialize)(logoPictureBox)).EndInit();
|
||||
this.PropertiesTabControl.ResumeLayout(false);
|
||||
this.MetaTab.ResumeLayout(false);
|
||||
this.MetaTab.PerformLayout();
|
||||
this.contextMenuMetaTree.ResumeLayout(false);
|
||||
this.contextMenuPCKEntries.ResumeLayout(false);
|
||||
((System.ComponentModel.ISupportInitialize)(this.previewPictureBox)).EndInit();
|
||||
this.tableLayoutPanel1.ResumeLayout(false);
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
@@ -748,14 +588,8 @@ namespace PckStudio.Controls
|
||||
#endregion
|
||||
|
||||
private MetroFramework.Controls.MetroLabel pckFileLabel;
|
||||
private MetroFramework.Controls.MetroLabel labelImageSize;
|
||||
private MetroFramework.Controls.MetroLabel fileEntryCountLabel;
|
||||
private MetroFramework.Controls.MetroTabControl PropertiesTabControl;
|
||||
private MetroFramework.Controls.MetroTabPage MetaTab;
|
||||
private System.Windows.Forms.TreeView treeMeta;
|
||||
private MetroFramework.Controls.MetroLabel label11;
|
||||
private System.Windows.Forms.TreeView treeViewMain;
|
||||
private PckStudio.ToolboxItems.InterpolationPictureBox previewPictureBox;
|
||||
private System.Windows.Forms.ContextMenuStrip contextMenuMetaTree;
|
||||
private System.Windows.Forms.ToolStripMenuItem addEntryToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem addEntryToolStripMenuItem1;
|
||||
@@ -806,11 +640,7 @@ namespace PckStudio.Controls
|
||||
private System.Windows.Forms.ImageList imageList;
|
||||
private System.Windows.Forms.ToolStripMenuItem addMultipleEntriesToolStripMenuItem1;
|
||||
private MetroFramework.Controls.MetroLabel metroLabel2;
|
||||
private MetroFramework.Controls.MetroTextBox entryTypeTextBox;
|
||||
private MetroFramework.Controls.MetroTextBox entryDataTextBox;
|
||||
private MetroFramework.Controls.MetroButton buttonEdit;
|
||||
private MetroFramework.Controls.MetroLabel metroLabel1;
|
||||
private MetroFramework.Controls.MetroCheckBox LittleEndianCheckBox;
|
||||
private System.Windows.Forms.ToolStripMenuItem setSubPCKEndiannessToolStripMenuItem;
|
||||
private ToolStripMenuItem bigEndianXbox360PS3WiiUToolStripMenuItem;
|
||||
private ToolStripMenuItem littleEndianPS4PSVitaSwitchToolStripMenuItem;
|
||||
@@ -820,5 +650,7 @@ namespace PckStudio.Controls
|
||||
private ToolStripMenuItem version3114ToolStripMenuItem;
|
||||
private ToolStripSeparator toolStripSeparator5;
|
||||
private ToolStripSeparator toolStripSeparator6;
|
||||
private TableLayoutPanel tableLayoutPanel1;
|
||||
private TreeView treeViewMain;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -74,9 +74,15 @@ namespace PckStudio.Controls
|
||||
private delegate void OnModifiedChangeDelegate(bool state);
|
||||
private OnModifiedChangeDelegate _onModifiedChangeDelegate;
|
||||
|
||||
private ViewPanel _currentViewPanel;
|
||||
|
||||
private readonly ViewPanel _default;
|
||||
private readonly ViewPanel _models;
|
||||
|
||||
private int _timesSaved = 0;
|
||||
|
||||
private readonly Dictionary<PckAssetType, Action<PckAsset>> _pckAssetTypeHandler;
|
||||
private readonly IDictionary<PckAssetType, Action<PckAsset>> _pckAssetTypeHandler;
|
||||
//private readonly IDictionary<PckAssetType, ViewPanel> _viewPanels;
|
||||
|
||||
public PckAssetBrowserEditor(PackInfo packInfo, ISaveContext<PackInfo> saveContext)
|
||||
: base(packInfo, saveContext)
|
||||
@@ -86,9 +92,20 @@ namespace PckStudio.Controls
|
||||
_originalEndianness = packInfo.ByteOrder;
|
||||
_currentEndianness = packInfo.ByteOrder;
|
||||
|
||||
LittleEndianCheckBox.Visible = packInfo.AllowByteOrderSwap;
|
||||
//! InitializeViewPanels
|
||||
{
|
||||
_default = new DefaultPanel();
|
||||
_models = new ModelsPanel(TryGet<string, Image>.FromDelegate((string path, out Image img) =>
|
||||
{
|
||||
bool found = EditorValue.File.TryGetAsset(path + ".png", PckAssetType.TextureFile, out PckAsset asset) ||
|
||||
EditorValue.File.TryGetAsset(path + ".tga", PckAssetType.TextureFile, out asset);
|
||||
img = found ? asset.GetTexture() : default;
|
||||
return found;
|
||||
}));
|
||||
}
|
||||
|
||||
treeViewMain.TreeViewNodeSorter = new PckNodeSorter();
|
||||
LoadViewPanel(_default);
|
||||
|
||||
skinToolStripMenuItem1.Click += (sender, e) => SetFileType(PckAssetType.SkinFile);
|
||||
capeToolStripMenuItem.Click += (sender, e) => SetFileType(PckAssetType.CapeFile);
|
||||
@@ -140,7 +157,20 @@ namespace PckStudio.Controls
|
||||
[PckAssetType.MaterialFile] = HandleMaterialFile,
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
private void LoadViewPanel(ViewPanel viewPanel)
|
||||
{
|
||||
_currentViewPanel?.Reset();
|
||||
if (viewPanel == _currentViewPanel)
|
||||
return;
|
||||
if (_currentViewPanel is not null)
|
||||
tableLayoutPanel1.Controls.Remove(_currentViewPanel);
|
||||
viewPanel.Dock = DockStyle.Fill;
|
||||
tableLayoutPanel1.SetRowSpan(viewPanel, 2);
|
||||
tableLayoutPanel1.Controls.Add(viewPanel, 1, 0);
|
||||
_currentViewPanel = viewPanel;
|
||||
}
|
||||
|
||||
public new void Save()
|
||||
{
|
||||
base.Save();
|
||||
@@ -216,6 +246,7 @@ namespace PckStudio.Controls
|
||||
Trace.TraceInformation($"[{nameof(PckAssetBrowserEditor)}:{nameof(HandleTextureFile)}] '{asset.Filename}' size is 0.");
|
||||
return;
|
||||
}
|
||||
_currentViewPanel.LoadAsset(asset, () => _wasModified = true);
|
||||
|
||||
ResourceLocation resourceLocation = ResourceLocations.GetFromPath(asset.Filename);
|
||||
Debug.WriteLine("Handling Resource file: " + resourceLocation?.ToString());
|
||||
@@ -495,9 +526,8 @@ namespace PckStudio.Controls
|
||||
using CustomSkinEditor skinEditor = new CustomSkinEditor(skin, cape, saveContext, EditorValue.File.HasVerionString);
|
||||
if (skinEditor.ShowDialog() == DialogResult.OK)
|
||||
{
|
||||
entryDataTextBox.Text = entryTypeTextBox.Text = string.Empty;
|
||||
_wasModified = true;
|
||||
ReloadMetaTreeView();
|
||||
_currentViewPanel.LoadAsset(asset, () => _wasModified = true);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -593,8 +623,7 @@ namespace PckStudio.Controls
|
||||
{
|
||||
// In case the Rename function was just used and the selected node name no longer matches the file name
|
||||
string selectedNodeText = treeViewMain.SelectedNode is TreeNode node ? node.FullPath : string.Empty;
|
||||
previewPictureBox.Image = Resources.NoImageFound;
|
||||
treeMeta.Nodes.Clear();
|
||||
_currentViewPanel.Reset();
|
||||
treeViewMain.Nodes.Clear();
|
||||
BuildPckTreeView(treeViewMain.Nodes, EditorValue.File);
|
||||
treeViewMain.Sort();
|
||||
@@ -685,19 +714,6 @@ namespace PckStudio.Controls
|
||||
return false;
|
||||
}
|
||||
|
||||
private void ReloadMetaTreeView()
|
||||
{
|
||||
treeMeta.Nodes.Clear();
|
||||
if (treeViewMain.SelectedNode is TreeNode node &&
|
||||
node.Tag is PckAsset asset)
|
||||
{
|
||||
foreach (KeyValuePair<string, string> property in asset.GetProperties())
|
||||
{
|
||||
treeMeta.Nodes.Add(CreateNode(property.Key, property));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void UpdateRichPresence()
|
||||
{
|
||||
if (EditorValue is not null &&
|
||||
@@ -712,10 +728,10 @@ namespace PckStudio.Controls
|
||||
RPC.SetPresence("An Open Source .PCK File Editor");
|
||||
}
|
||||
|
||||
private static PckAsset CreateNewAudioAsset(bool isLittle, PckAudioFile audioFile)
|
||||
private static PckAsset CreateNewAudioAsset(OMI.ByteOrder byteOrder, PckAudioFile audioFile)
|
||||
{
|
||||
PckAsset newAsset = new PckAsset("audio.pck", PckAssetType.AudioFile);
|
||||
newAsset.SetData(new PckAudioFileWriter(audioFile, isLittle ? OMI.ByteOrder.LittleEndian : OMI.ByteOrder.BigEndian));
|
||||
newAsset.SetData(new PckAudioFileWriter(audioFile, byteOrder));
|
||||
return newAsset;
|
||||
}
|
||||
|
||||
@@ -846,10 +862,6 @@ namespace PckStudio.Controls
|
||||
folderNamePrompt.OKButtonText = "Add";
|
||||
if (folderNamePrompt.ShowDialog(this) == DialogResult.OK)
|
||||
{
|
||||
TreeNode folerNode = CreateNode(folderNamePrompt.NewText);
|
||||
folerNode.ImageIndex = 0;
|
||||
folerNode.SelectedImageIndex = 0;
|
||||
|
||||
TreeNodeCollection nodeCollection = treeViewMain.Nodes;
|
||||
if (treeViewMain.SelectedNode is TreeNode node)
|
||||
{
|
||||
@@ -865,7 +877,9 @@ namespace PckStudio.Controls
|
||||
else
|
||||
nodeCollection = node.Nodes;
|
||||
}
|
||||
nodeCollection.Add(folerNode);
|
||||
TreeNode folerNode = nodeCollection.CreateNode(folderNamePrompt.NewText);
|
||||
folerNode.ImageIndex = 0;
|
||||
folerNode.SelectedImageIndex = 0;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -883,86 +897,29 @@ namespace PckStudio.Controls
|
||||
|
||||
private void treeViewMain_AfterSelect(object sender, TreeViewEventArgs e)
|
||||
{
|
||||
ReloadMetaTreeView();
|
||||
|
||||
entryTypeTextBox.Text = entryDataTextBox.Text = labelImageSize.Text = string.Empty;
|
||||
buttonEdit.Visible = false;
|
||||
|
||||
previewPictureBox.Image = Resources.NoImageFound;
|
||||
viewFileInfoToolStripMenuItem.Visible = false;
|
||||
_currentViewPanel.Reset();
|
||||
|
||||
if (!e.Node.TryGetTagData(out PckAsset asset))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
SetViewPanelFor(asset.Type);
|
||||
_currentViewPanel.LoadAsset(asset, () => _wasModified = true);
|
||||
|
||||
viewFileInfoToolStripMenuItem.Visible = true;
|
||||
if (asset.HasProperty("BOX"))
|
||||
}
|
||||
|
||||
private void SetViewPanelFor(PckAssetType type) => LoadViewPanel(GetViewPanel(type));
|
||||
|
||||
private ViewPanel GetViewPanel(PckAssetType type)
|
||||
{
|
||||
switch (type)
|
||||
{
|
||||
buttonEdit.Text = "EDIT BOXES";
|
||||
buttonEdit.Visible = true;
|
||||
}
|
||||
else if (asset.HasProperty("ANIM") &&
|
||||
asset.GetProperty("ANIM", s => SkinANIM.FromString(s) == (SkinAnimMask.RESOLUTION_64x64 | SkinAnimMask.SLIM_MODEL)))
|
||||
{
|
||||
buttonEdit.Text = "View Skin";
|
||||
buttonEdit.Visible = true;
|
||||
}
|
||||
|
||||
switch (asset.Type)
|
||||
{
|
||||
case PckAssetType.SkinFile:
|
||||
case PckAssetType.CapeFile:
|
||||
case PckAssetType.TextureFile:
|
||||
{
|
||||
Image img = asset.GetTexture();
|
||||
|
||||
previewPictureBox.Image = img;
|
||||
labelImageSize.Text = $"{previewPictureBox.Image.Size.Width}x{previewPictureBox.Image.Size.Height}";
|
||||
|
||||
if (asset.Type != PckAssetType.TextureFile)
|
||||
break;
|
||||
|
||||
ResourceLocation resourceLocation = ResourceLocations.GetFromPath(asset.Filename);
|
||||
if (resourceLocation is null || resourceLocation.Category == ResourceCategory.Unknown)
|
||||
break;
|
||||
|
||||
if (resourceLocation.Category == ResourceCategory.ItemAnimation ||
|
||||
resourceLocation.Category == ResourceCategory.BlockAnimation &&
|
||||
!asset.IsMipmappedFile())
|
||||
{
|
||||
buttonEdit.Text = "EDIT TILE ANIMATION";
|
||||
buttonEdit.Visible = true;
|
||||
break;
|
||||
}
|
||||
|
||||
buttonEdit.Text = "EDIT TEXTURE ATLAS";
|
||||
buttonEdit.Visible = true;
|
||||
}
|
||||
break;
|
||||
|
||||
case PckAssetType.LocalisationFile:
|
||||
buttonEdit.Text = "EDIT LOC";
|
||||
buttonEdit.Visible = true;
|
||||
break;
|
||||
|
||||
case PckAssetType.AudioFile:
|
||||
buttonEdit.Text = "EDIT MUSIC CUES";
|
||||
buttonEdit.Visible = true;
|
||||
break;
|
||||
|
||||
case PckAssetType.ColourTableFile when asset.Filename == "colours.col":
|
||||
buttonEdit.Text = "EDIT COLORS";
|
||||
buttonEdit.Visible = true;
|
||||
break;
|
||||
|
||||
case PckAssetType.BehavioursFile when asset.Filename == "behaviours.bin":
|
||||
buttonEdit.Text = "EDIT BEHAVIOURS";
|
||||
buttonEdit.Visible = true;
|
||||
break;
|
||||
case PckAssetType.ModelsFile:
|
||||
return _models;
|
||||
default:
|
||||
buttonEdit.Visible = false;
|
||||
break;
|
||||
return _default;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1281,7 +1238,7 @@ namespace PckStudio.Controls
|
||||
PckAsset asset = EditorValue.File.CreateNewAsset(animationFilepath, PckAssetType.TextureFile);
|
||||
asset.SetSerializedData(newAnimation, AnimationSerializer.DefaultSerializer);
|
||||
BuildMainTreeView();
|
||||
ReloadMetaTreeView();
|
||||
_currentViewPanel.LoadAsset(asset, () => _wasModified = true);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1301,11 +1258,11 @@ namespace PckStudio.Controls
|
||||
}
|
||||
|
||||
PckAudioFile newAudioFile = CreateNewAudioFile();
|
||||
PckAsset newAudioAsset = CreateNewAudioAsset(LittleEndianCheckBox.Checked, newAudioFile);
|
||||
PckAsset newAudioAsset = CreateNewAudioAsset(_currentEndianness, newAudioFile);
|
||||
|
||||
ISaveContext<PckAudioFile> saveContext = new DelegatedSaveContext<PckAudioFile>(Settings.Default.AutoSaveChanges, (audioFile) =>
|
||||
{
|
||||
newAudioAsset.SetData(new PckAudioFileWriter(audioFile, LittleEndianCheckBox.Checked ? OMI.ByteOrder.LittleEndian : OMI.ByteOrder.BigEndian));
|
||||
newAudioAsset.SetData(new PckAudioFileWriter(audioFile, _currentEndianness));
|
||||
});
|
||||
|
||||
AudioEditor diag = new AudioEditor(newAudioFile, saveContext);
|
||||
@@ -1337,8 +1294,7 @@ namespace PckStudio.Controls
|
||||
return;
|
||||
}
|
||||
|
||||
EditorValue.File.CreateNewAsset("Skins.pck", PckAssetType.SkinDataFile, new PckFileWriter(new PckFile(3, true),
|
||||
LittleEndianCheckBox.Checked ? OMI.ByteOrder.LittleEndian : OMI.ByteOrder.BigEndian));
|
||||
EditorValue.File.CreateNewAsset("Skins.pck", PckAssetType.SkinDataFile, new PckFileWriter(new PckFile(3, true), _currentEndianness));
|
||||
|
||||
BuildMainTreeView();
|
||||
}
|
||||
@@ -1511,10 +1467,10 @@ namespace PckStudio.Controls
|
||||
if (treeViewMain.SelectedNode.Tag is PckAsset asset)
|
||||
{
|
||||
MessageBox.Show(
|
||||
$"Asset path: {asset.Filename}" +
|
||||
$"\nAsset type: {(int)asset.Type} ({asset.Type})" +
|
||||
$"\nAsset size: {asset.Size}" +
|
||||
$"\nProperties count: {asset.PropertyCount}"
|
||||
$"Asset path: {asset.Filename}\n" +
|
||||
$"Asset type: {(int)asset.Type} ({asset.Type})\n" +
|
||||
$"Asset size: {asset.Size}\n" +
|
||||
$"Properties count: {asset.PropertyCount}"
|
||||
, Path.GetFileName(asset.Filename) + " Asset info");
|
||||
}
|
||||
}
|
||||
@@ -1529,7 +1485,7 @@ namespace PckStudio.Controls
|
||||
if (p.Key == "BOX" || p.Key == "OFFSET")
|
||||
asset.SetProperty(asset.GetPropertyIndex(p), new KeyValuePair<string, string>(p.Key, p.Value.Replace(',', '.')));
|
||||
}
|
||||
ReloadMetaTreeView();
|
||||
_currentViewPanel.LoadAsset(asset, () => _wasModified = true);
|
||||
_wasModified = true;
|
||||
}
|
||||
}
|
||||
@@ -1779,6 +1735,7 @@ namespace PckStudio.Controls
|
||||
{
|
||||
if (!BeforeFileRemove(asset) && EditorValue.File.RemoveAsset(asset))
|
||||
{
|
||||
_currentViewPanel.Reset();
|
||||
node.Remove();
|
||||
_wasModified = true;
|
||||
}
|
||||
@@ -1793,15 +1750,6 @@ namespace PckStudio.Controls
|
||||
}
|
||||
}
|
||||
|
||||
private void treeMeta_AfterSelect(object sender, TreeViewEventArgs e)
|
||||
{
|
||||
if (e.Node is TreeNode t && t.Tag is KeyValuePair<string, string> property)
|
||||
{
|
||||
entryTypeTextBox.Text = property.Key;
|
||||
entryDataTextBox.Text = property.Value;
|
||||
}
|
||||
}
|
||||
|
||||
private void treeViewMain_KeyDown(object sender, KeyEventArgs e)
|
||||
{
|
||||
switch (e.KeyCode)
|
||||
@@ -1823,167 +1771,6 @@ namespace PckStudio.Controls
|
||||
e.CancelEdit = true;
|
||||
}
|
||||
|
||||
private void editAllEntriesToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (treeViewMain.SelectedNode.TryGetTagData(out PckAsset asset))
|
||||
{
|
||||
IEnumerable<string> props = asset.SerializeProperties(seperater: " ");
|
||||
using (var input = new MultiTextPrompt(props))
|
||||
{
|
||||
if (input.ShowDialog(this) == DialogResult.OK)
|
||||
{
|
||||
asset.ClearProperties();
|
||||
asset.DeserializeProperties(input.TextOutput);
|
||||
ReloadMetaTreeView();
|
||||
_wasModified = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void treeMeta_DoubleClick(object sender, EventArgs e)
|
||||
{
|
||||
if (treeMeta.SelectedNode is TreeNode subnode && subnode.Tag is KeyValuePair<string, string> property &&
|
||||
treeViewMain.SelectedNode is TreeNode node && node.Tag is PckAsset asset)
|
||||
{
|
||||
if (asset.HasProperty(property.Key))
|
||||
{
|
||||
switch (property.Key)
|
||||
{
|
||||
case "ANIM" when asset.Type == PckAssetType.SkinFile:
|
||||
try
|
||||
{
|
||||
using ANIMEditor diag = new ANIMEditor(SkinANIM.FromString(property.Value));
|
||||
if (diag.ShowDialog(this) == DialogResult.OK)
|
||||
{
|
||||
asset.SetProperty(asset.GetPropertyIndex(property), new KeyValuePair<string, string>("ANIM", diag.ResultAnim.ToString()));
|
||||
ReloadMetaTreeView();
|
||||
_wasModified = true;
|
||||
}
|
||||
return;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Debug.WriteLine(ex.Message);
|
||||
Trace.WriteLine("Invalid ANIM value: " + property.Value);
|
||||
MessageBox.Show(this, "Failed to parse ANIM value, aborting to normal functionality. Please make sure the value only includes hexadecimal characters (0-9,A-F) and has no more than 8 characters.");
|
||||
}
|
||||
break;
|
||||
|
||||
case "BOX" when asset.Type == PckAssetType.SkinFile:
|
||||
try
|
||||
{
|
||||
using BoxEditor diag = new BoxEditor(property.Value, false);
|
||||
if (diag.ShowDialog(this) == DialogResult.OK)
|
||||
{
|
||||
asset.SetProperty(asset.GetPropertyIndex(property), new KeyValuePair<string, string>("BOX", diag.Result.ToString()));
|
||||
ReloadMetaTreeView();
|
||||
_wasModified = true;
|
||||
}
|
||||
return;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Debug.WriteLine(ex.Message);
|
||||
Trace.WriteLine("Invalid BOX value: " + property.Value);
|
||||
MessageBox.Show(this, "Failed to parse BOX value, aborting to normal functionality.");
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
|
||||
}
|
||||
|
||||
using (AddPropertyPrompt addProperty = new AddPropertyPrompt(property))
|
||||
{
|
||||
if (addProperty.ShowDialog(this) == DialogResult.OK)
|
||||
{
|
||||
asset.SetProperty(asset.GetPropertyIndex(property), addProperty.Property);
|
||||
ReloadMetaTreeView();
|
||||
_wasModified = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void treeMeta_KeyDown(object sender, KeyEventArgs e)
|
||||
{
|
||||
if (e.KeyData == Keys.Delete)
|
||||
deleteEntryToolStripMenuItem_Click(sender, e);
|
||||
}
|
||||
|
||||
private void addMultipleEntriesToolStripMenuItem1_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (treeViewMain.SelectedNode.TryGetTagData(out PckAsset asset))
|
||||
{
|
||||
using var input = new MultiTextPrompt();
|
||||
if (input.ShowDialog(this) == DialogResult.OK)
|
||||
{
|
||||
asset.DeserializeProperties(input.TextOutput);
|
||||
ReloadMetaTreeView();
|
||||
_wasModified = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void addBOXEntryToolStripMenuItem1_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (treeViewMain.SelectedNode is TreeNode t && t.Tag is PckAsset asset)
|
||||
{
|
||||
using BoxEditor diag = new BoxEditor(SkinBOX.DefaultHead, false);
|
||||
if (diag.ShowDialog(this) == DialogResult.OK)
|
||||
{
|
||||
asset.AddProperty("BOX", diag.Result);
|
||||
ReloadMetaTreeView();
|
||||
_wasModified = true;
|
||||
}
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
private void addANIMEntryToolStripMenuItem1_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (treeViewMain.SelectedNode.TryGetTagData(out PckAsset asset))
|
||||
{
|
||||
using ANIMEditor diag = new ANIMEditor(SkinANIM.Empty);
|
||||
if (diag.ShowDialog(this) == DialogResult.OK)
|
||||
{
|
||||
asset.AddProperty("ANIM", diag.ResultAnim);
|
||||
ReloadMetaTreeView();
|
||||
_wasModified = true;
|
||||
}
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
private void deleteEntryToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (treeMeta.SelectedNode is TreeNode t && t.Tag is KeyValuePair<string, string> property &&
|
||||
treeViewMain.SelectedNode is TreeNode main && main.Tag is PckAsset asset &&
|
||||
asset.RemoveProperty(property))
|
||||
{
|
||||
treeMeta.SelectedNode.Remove();
|
||||
_wasModified = true;
|
||||
}
|
||||
}
|
||||
|
||||
private void addEntryToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (treeViewMain.SelectedNode is TreeNode t &&
|
||||
t.Tag is PckAsset asset)
|
||||
{
|
||||
using AddPropertyPrompt addProperty = new AddPropertyPrompt();
|
||||
if (addProperty.ShowDialog(this) == DialogResult.OK)
|
||||
{
|
||||
asset.AddProperty(addProperty.Property);
|
||||
ReloadMetaTreeView();
|
||||
_wasModified = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private static bool TryGetDefaultEntityModel(string modelName, out Model model)
|
||||
{
|
||||
if (!GameModelImporter.DefaultModels.TryGetValue(modelName, out DefaultModel defaultModel) || defaultModel is null)
|
||||
@@ -2065,16 +1852,6 @@ namespace PckStudio.Controls
|
||||
UpdateRichPresence();
|
||||
}
|
||||
|
||||
private void SetEndianess(OMI.ByteOrder endianness)
|
||||
{
|
||||
LittleEndianCheckBox.Checked = endianness == OMI.ByteOrder.LittleEndian;
|
||||
}
|
||||
|
||||
private OMI.ByteOrder GetEndianess()
|
||||
{
|
||||
return LittleEndianCheckBox.Checked ? OMI.ByteOrder.LittleEndian : OMI.ByteOrder.BigEndian;
|
||||
}
|
||||
|
||||
private void buttonEdit_Click(object sender, EventArgs e)
|
||||
{
|
||||
treeViewMain_DoubleClick(sender, e);
|
||||
|
||||
@@ -807,7 +807,7 @@
|
||||
<value>$this</value>
|
||||
</data>
|
||||
<data name=">>logoPictureBox.ZOrder" xml:space="preserve">
|
||||
<value>10</value>
|
||||
<value>5</value>
|
||||
</data>
|
||||
<data name="pckFileLabel.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>8, 27</value>
|
||||
@@ -828,37 +828,7 @@
|
||||
<value>$this</value>
|
||||
</data>
|
||||
<data name=">>pckFileLabel.ZOrder" xml:space="preserve">
|
||||
<value>4</value>
|
||||
</data>
|
||||
<data name="labelImageSize.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
||||
<value>Top, Right</value>
|
||||
</data>
|
||||
<data name="labelImageSize.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="labelImageSize.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>1369, 252</value>
|
||||
</data>
|
||||
<data name="labelImageSize.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>30, 19</value>
|
||||
</data>
|
||||
<data name="labelImageSize.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>19</value>
|
||||
</data>
|
||||
<data name="labelImageSize.Text" xml:space="preserve">
|
||||
<value>aaa</value>
|
||||
</data>
|
||||
<data name=">>labelImageSize.Name" xml:space="preserve">
|
||||
<value>labelImageSize</value>
|
||||
</data>
|
||||
<data name=">>labelImageSize.Type" xml:space="preserve">
|
||||
<value>MetroFramework.Controls.MetroLabel, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a</value>
|
||||
</data>
|
||||
<data name=">>labelImageSize.Parent" xml:space="preserve">
|
||||
<value>$this</value>
|
||||
</data>
|
||||
<data name=">>labelImageSize.ZOrder" xml:space="preserve">
|
||||
<value>5</value>
|
||||
<value>2</value>
|
||||
</data>
|
||||
<data name="fileEntryCountLabel.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
||||
<value>Top, Right</value>
|
||||
@@ -885,7 +855,7 @@
|
||||
<value>$this</value>
|
||||
</data>
|
||||
<data name=">>fileEntryCountLabel.ZOrder" xml:space="preserve">
|
||||
<value>6</value>
|
||||
<value>3</value>
|
||||
</data>
|
||||
<data name="metroLabel2.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
||||
<value>Bottom, Right</value>
|
||||
@@ -894,7 +864,7 @@
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="metroLabel2.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>204, 144</value>
|
||||
<value>-303, 102</value>
|
||||
</data>
|
||||
<data name="metroLabel2.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>0, 0</value>
|
||||
@@ -908,132 +878,6 @@
|
||||
<data name=">>metroLabel2.Type" xml:space="preserve">
|
||||
<value>MetroFramework.Controls.MetroLabel, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a</value>
|
||||
</data>
|
||||
<data name=">>metroLabel2.Parent" xml:space="preserve">
|
||||
<value>MetaTab</value>
|
||||
</data>
|
||||
<data name=">>metroLabel2.ZOrder" xml:space="preserve">
|
||||
<value>2</value>
|
||||
</data>
|
||||
<data name="entryTypeTextBox.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
||||
<value>Bottom, Right</value>
|
||||
</data>
|
||||
<data name="resource.Image" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="resource.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||
<value>NoControl</value>
|
||||
</data>
|
||||
<data name="resource.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>128, 2</value>
|
||||
</data>
|
||||
<data name="resource.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>15, 15</value>
|
||||
</data>
|
||||
<data name="resource.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>1</value>
|
||||
</data>
|
||||
<data name="resource.Visible" type="System.Boolean, mscorlib">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="entryTypeTextBox.Enabled" type="System.Boolean, mscorlib">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="entryTypeTextBox.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>215, 114</value>
|
||||
</data>
|
||||
<data name="entryTypeTextBox.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>146, 20</value>
|
||||
</data>
|
||||
<data name="entryTypeTextBox.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>21</value>
|
||||
</data>
|
||||
<data name=">>entryTypeTextBox.Name" xml:space="preserve">
|
||||
<value>entryTypeTextBox</value>
|
||||
</data>
|
||||
<data name=">>entryTypeTextBox.Type" xml:space="preserve">
|
||||
<value>MetroFramework.Controls.MetroTextBox, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a</value>
|
||||
</data>
|
||||
<data name=">>entryTypeTextBox.Parent" xml:space="preserve">
|
||||
<value>MetaTab</value>
|
||||
</data>
|
||||
<data name=">>entryTypeTextBox.ZOrder" xml:space="preserve">
|
||||
<value>3</value>
|
||||
</data>
|
||||
<data name="entryDataTextBox.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
||||
<value>Bottom, Right</value>
|
||||
</data>
|
||||
<data name="resource.Image1" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="resource.ImeMode1" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||
<value>NoControl</value>
|
||||
</data>
|
||||
<data name="resource.Location1" type="System.Drawing.Point, System.Drawing">
|
||||
<value>128, 2</value>
|
||||
</data>
|
||||
<data name="resource.Size1" type="System.Drawing.Size, System.Drawing">
|
||||
<value>15, 15</value>
|
||||
</data>
|
||||
<data name="resource.TabIndex1" type="System.Int32, mscorlib">
|
||||
<value>1</value>
|
||||
</data>
|
||||
<data name="resource.Visible1" type="System.Boolean, mscorlib">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="entryDataTextBox.Enabled" type="System.Boolean, mscorlib">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="entryDataTextBox.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>215, 146</value>
|
||||
</data>
|
||||
<data name="entryDataTextBox.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>146, 20</value>
|
||||
</data>
|
||||
<data name="entryDataTextBox.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>16</value>
|
||||
</data>
|
||||
<data name=">>entryDataTextBox.Name" xml:space="preserve">
|
||||
<value>entryDataTextBox</value>
|
||||
</data>
|
||||
<data name=">>entryDataTextBox.Type" xml:space="preserve">
|
||||
<value>MetroFramework.Controls.MetroTextBox, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a</value>
|
||||
</data>
|
||||
<data name=">>entryDataTextBox.Parent" xml:space="preserve">
|
||||
<value>MetaTab</value>
|
||||
</data>
|
||||
<data name=">>entryDataTextBox.ZOrder" xml:space="preserve">
|
||||
<value>4</value>
|
||||
</data>
|
||||
<data name="buttonEdit.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
||||
<value>Bottom, Right</value>
|
||||
</data>
|
||||
<data name="buttonEdit.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>215, 172</value>
|
||||
</data>
|
||||
<data name="buttonEdit.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>146, 33</value>
|
||||
</data>
|
||||
<data name="buttonEdit.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>20</value>
|
||||
</data>
|
||||
<data name="buttonEdit.Text" xml:space="preserve">
|
||||
<value>buttonEdit</value>
|
||||
</data>
|
||||
<data name="buttonEdit.Visible" type="System.Boolean, mscorlib">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name=">>buttonEdit.Name" xml:space="preserve">
|
||||
<value>buttonEdit</value>
|
||||
</data>
|
||||
<data name=">>buttonEdit.Type" xml:space="preserve">
|
||||
<value>MetroFramework.Controls.MetroButton, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a</value>
|
||||
</data>
|
||||
<data name=">>buttonEdit.Parent" xml:space="preserve">
|
||||
<value>MetaTab</value>
|
||||
</data>
|
||||
<data name=">>buttonEdit.ZOrder" xml:space="preserve">
|
||||
<value>5</value>
|
||||
</data>
|
||||
<data name="metroLabel1.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
||||
<value>Bottom, Right</value>
|
||||
</data>
|
||||
@@ -1041,7 +885,7 @@
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="metroLabel1.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>266, 37</value>
|
||||
<value>-241, -5</value>
|
||||
</data>
|
||||
<data name="metroLabel1.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>0, 0</value>
|
||||
@@ -1055,52 +899,32 @@
|
||||
<data name=">>metroLabel1.Type" xml:space="preserve">
|
||||
<value>MetroFramework.Controls.MetroLabel, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a</value>
|
||||
</data>
|
||||
<data name=">>metroLabel1.Parent" xml:space="preserve">
|
||||
<value>MetaTab</value>
|
||||
</data>
|
||||
<data name=">>metroLabel1.ZOrder" xml:space="preserve">
|
||||
<value>6</value>
|
||||
</data>
|
||||
<metadata name="contextMenuMetaTree.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>301, 19</value>
|
||||
</metadata>
|
||||
<data name="addEntryToolStripMenuItem1.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>160, 22</value>
|
||||
<data name="contextMenuMetaTree.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>61, 4</value>
|
||||
</data>
|
||||
<data name="addEntryToolStripMenuItem1.Text" xml:space="preserve">
|
||||
<value>Add Entry</value>
|
||||
<data name=">>contextMenuMetaTree.Name" xml:space="preserve">
|
||||
<value>contextMenuMetaTree</value>
|
||||
</data>
|
||||
<data name="addBOXEntryToolStripMenuItem1.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>160, 22</value>
|
||||
</data>
|
||||
<data name="addBOXEntryToolStripMenuItem1.Text" xml:space="preserve">
|
||||
<value>Add BOX Entry</value>
|
||||
</data>
|
||||
<data name="addANIMEntryToolStripMenuItem1.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>160, 22</value>
|
||||
</data>
|
||||
<data name="addANIMEntryToolStripMenuItem1.Text" xml:space="preserve">
|
||||
<value>Add ANIM Entry</value>
|
||||
</data>
|
||||
<data name="addEntryToolStripMenuItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
|
||||
vAAADrwBlbxySQAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4xMkMEa+wAAABSSURBVDhP5c0x
|
||||
DsAgDENRxt7/wmkNSpRGf0CCCZAegxNMM7MlGMp3dIU6dxhKf/QMNxRogeQC8ivw5Vn7C0heJlFA+kL5
|
||||
jWAohxRkde4wnGftBS90axNmphIGAAAAAElFTkSuQmCC
|
||||
</value>
|
||||
<data name=">>contextMenuMetaTree.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.ContextMenuStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name="addEntryToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>181, 22</value>
|
||||
<value>32, 19</value>
|
||||
</data>
|
||||
<data name="addEntryToolStripMenuItem.Text" xml:space="preserve">
|
||||
<value>Add Entry</value>
|
||||
<data name="addEntryToolStripMenuItem1.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>32, 19</value>
|
||||
</data>
|
||||
<data name="addBOXEntryToolStripMenuItem1.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>32, 19</value>
|
||||
</data>
|
||||
<data name="addANIMEntryToolStripMenuItem1.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>32, 19</value>
|
||||
</data>
|
||||
<data name="addMultipleEntriesToolStripMenuItem1.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>181, 22</value>
|
||||
</data>
|
||||
<data name="addMultipleEntriesToolStripMenuItem1.Text" xml:space="preserve">
|
||||
<value>Add Multiple Entries</value>
|
||||
<value>32, 19</value>
|
||||
</data>
|
||||
<data name="deleteEntryToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>181, 22</value>
|
||||
@@ -1109,94 +933,7 @@
|
||||
<value>Delete Entry</value>
|
||||
</data>
|
||||
<data name="editAllEntriesToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>181, 22</value>
|
||||
</data>
|
||||
<data name="editAllEntriesToolStripMenuItem.Text" xml:space="preserve">
|
||||
<value>Edit All Entries</value>
|
||||
</data>
|
||||
<data name="contextMenuMetaTree.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>182, 92</value>
|
||||
</data>
|
||||
<data name=">>contextMenuMetaTree.Name" xml:space="preserve">
|
||||
<value>contextMenuMetaTree</value>
|
||||
</data>
|
||||
<data name=">>contextMenuMetaTree.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.ContextMenuStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name="treeMeta.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||
<value>Left</value>
|
||||
</data>
|
||||
<data name="treeMeta.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>5, 5</value>
|
||||
</data>
|
||||
<data name="treeMeta.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>204, 229</value>
|
||||
</data>
|
||||
<data name="treeMeta.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name=">>treeMeta.Name" xml:space="preserve">
|
||||
<value>treeMeta</value>
|
||||
</data>
|
||||
<data name=">>treeMeta.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.TreeView, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>treeMeta.Parent" xml:space="preserve">
|
||||
<value>MetaTab</value>
|
||||
</data>
|
||||
<data name=">>treeMeta.ZOrder" xml:space="preserve">
|
||||
<value>7</value>
|
||||
</data>
|
||||
<data name="MetaTab.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>4, 38</value>
|
||||
</data>
|
||||
<data name="MetaTab.Padding" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>5, 5, 5, 5</value>
|
||||
</data>
|
||||
<data name="MetaTab.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>724, 239</value>
|
||||
</data>
|
||||
<data name="MetaTab.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name="MetaTab.Text" xml:space="preserve">
|
||||
<value>Properties</value>
|
||||
</data>
|
||||
<data name=">>MetaTab.Name" xml:space="preserve">
|
||||
<value>MetaTab</value>
|
||||
</data>
|
||||
<data name=">>MetaTab.Type" xml:space="preserve">
|
||||
<value>MetroFramework.Controls.MetroTabPage, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a</value>
|
||||
</data>
|
||||
<data name=">>MetaTab.Parent" xml:space="preserve">
|
||||
<value>PropertiesTabControl</value>
|
||||
</data>
|
||||
<data name=">>MetaTab.ZOrder" xml:space="preserve">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name="PropertiesTabControl.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||
<value>Bottom</value>
|
||||
</data>
|
||||
<data name="PropertiesTabControl.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>279, 270</value>
|
||||
</data>
|
||||
<data name="PropertiesTabControl.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>732, 281</value>
|
||||
</data>
|
||||
<data name="PropertiesTabControl.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>11</value>
|
||||
</data>
|
||||
<data name=">>PropertiesTabControl.Name" xml:space="preserve">
|
||||
<value>PropertiesTabControl</value>
|
||||
</data>
|
||||
<data name=">>PropertiesTabControl.Type" xml:space="preserve">
|
||||
<value>MetroFramework.Controls.MetroTabControl, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a</value>
|
||||
</data>
|
||||
<data name=">>PropertiesTabControl.Parent" xml:space="preserve">
|
||||
<value>$this</value>
|
||||
</data>
|
||||
<data name=">>PropertiesTabControl.ZOrder" xml:space="preserve">
|
||||
<value>7</value>
|
||||
<value>32, 19</value>
|
||||
</data>
|
||||
<metadata name="label11.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
@@ -1223,7 +960,7 @@
|
||||
<value>$this</value>
|
||||
</data>
|
||||
<data name=">>label11.ZOrder" xml:space="preserve">
|
||||
<value>8</value>
|
||||
<value>4</value>
|
||||
</data>
|
||||
<metadata name="contextMenuPCKEntries.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>22, 20</value>
|
||||
@@ -1624,42 +1361,12 @@
|
||||
<data name=">>contextMenuPCKEntries.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.ContextMenuStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name="treeViewMain.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||
<value>Left</value>
|
||||
</data>
|
||||
<data name="treeViewMain.ImageIndex" type="System.Int32, mscorlib">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<metadata name="imageList.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>204, 20</value>
|
||||
</metadata>
|
||||
<data name="imageList.ImageSize" type="System.Drawing.Size, System.Drawing">
|
||||
<value>32, 32</value>
|
||||
</data>
|
||||
<data name="treeViewMain.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>5, 50</value>
|
||||
</data>
|
||||
<data name="treeViewMain.SelectedImageIndex" type="System.Int32, mscorlib">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name="treeViewMain.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>274, 501</value>
|
||||
</data>
|
||||
<data name="treeViewMain.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>20</value>
|
||||
</data>
|
||||
<data name=">>treeViewMain.Name" xml:space="preserve">
|
||||
<value>treeViewMain</value>
|
||||
</data>
|
||||
<data name=">>treeViewMain.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.TreeView, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>treeViewMain.Parent" xml:space="preserve">
|
||||
<value>$this</value>
|
||||
</data>
|
||||
<data name=">>treeViewMain.ZOrder" xml:space="preserve">
|
||||
<value>9</value>
|
||||
</data>
|
||||
<data name="addMultipleEntriesToolStripMenuItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
|
||||
@@ -1674,69 +1381,69 @@
|
||||
<data name="addMultipleEntriesToolStripMenuItem.Text" xml:space="preserve">
|
||||
<value>Add Multiple Entries</value>
|
||||
</data>
|
||||
<data name="LittleEndianCheckBox.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
||||
<value>Top, Right</value>
|
||||
</data>
|
||||
<data name="LittleEndianCheckBox.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="LittleEndianCheckBox.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>831, 0</value>
|
||||
</data>
|
||||
<data name="LittleEndianCheckBox.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>173, 15</value>
|
||||
</data>
|
||||
<data name="LittleEndianCheckBox.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>22</value>
|
||||
</data>
|
||||
<data name="LittleEndianCheckBox.Text" xml:space="preserve">
|
||||
<value>Save as Switch/Vita/PS4 PCK</value>
|
||||
</data>
|
||||
<data name=">>LittleEndianCheckBox.Name" xml:space="preserve">
|
||||
<value>LittleEndianCheckBox</value>
|
||||
</data>
|
||||
<data name=">>LittleEndianCheckBox.Type" xml:space="preserve">
|
||||
<value>MetroFramework.Controls.MetroCheckBox, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a</value>
|
||||
</data>
|
||||
<data name=">>LittleEndianCheckBox.Parent" xml:space="preserve">
|
||||
<value>$this</value>
|
||||
</data>
|
||||
<data name=">>LittleEndianCheckBox.ZOrder" xml:space="preserve">
|
||||
<value>3</value>
|
||||
</data>
|
||||
<data name="previewPictureBox.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
||||
<value>Top, Bottom, Left, Right</value>
|
||||
</data>
|
||||
<data name="previewPictureBox.BackgroundImageLayout" type="System.Windows.Forms.ImageLayout, System.Windows.Forms">
|
||||
<value>None</value>
|
||||
</data>
|
||||
<data name="previewPictureBox.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||
<value>NoControl</value>
|
||||
</data>
|
||||
<data name="previewPictureBox.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>285, 50</value>
|
||||
</data>
|
||||
<data name="previewPictureBox.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>218, 218</value>
|
||||
</data>
|
||||
<data name="previewPictureBox.SizeMode" type="System.Windows.Forms.PictureBoxSizeMode, System.Windows.Forms">
|
||||
<value>Zoom</value>
|
||||
</data>
|
||||
<data name="previewPictureBox.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>18</value>
|
||||
</data>
|
||||
<data name=">>previewPictureBox.Name" xml:space="preserve">
|
||||
<value>previewPictureBox</value>
|
||||
</data>
|
||||
<data name=">>previewPictureBox.Type" xml:space="preserve">
|
||||
<value>PckStudio.ToolboxItems.InterpolationPictureBox, PCK-Studio, Version=7.0.0.2, Culture=neutral, PublicKeyToken=null</value>
|
||||
</data>
|
||||
<data name=">>previewPictureBox.Parent" xml:space="preserve">
|
||||
<value>$this</value>
|
||||
</data>
|
||||
<data name=">>previewPictureBox.ZOrder" xml:space="preserve">
|
||||
<data name="tableLayoutPanel1.ColumnCount" type="System.Int32, mscorlib">
|
||||
<value>2</value>
|
||||
</data>
|
||||
<data name="treeViewMain.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||
<value>Fill</value>
|
||||
</data>
|
||||
<data name="treeViewMain.ImageIndex" type="System.Int32, mscorlib">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name="treeViewMain.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>3, 3</value>
|
||||
</data>
|
||||
<data name="treeViewMain.SelectedImageIndex" type="System.Int32, mscorlib">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name="treeViewMain.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>245, 495</value>
|
||||
</data>
|
||||
<data name="treeViewMain.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>20</value>
|
||||
</data>
|
||||
<data name=">>treeViewMain.Name" xml:space="preserve">
|
||||
<value>treeViewMain</value>
|
||||
</data>
|
||||
<data name=">>treeViewMain.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.TreeView, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>treeViewMain.Parent" xml:space="preserve">
|
||||
<value>tableLayoutPanel1</value>
|
||||
</data>
|
||||
<data name=">>treeViewMain.ZOrder" xml:space="preserve">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanel1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||
<value>Fill</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanel1.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>5, 50</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanel1.RowCount" type="System.Int32, mscorlib">
|
||||
<value>2</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanel1.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>1006, 501</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanel1.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>23</value>
|
||||
</data>
|
||||
<data name=">>tableLayoutPanel1.Name" xml:space="preserve">
|
||||
<value>tableLayoutPanel1</value>
|
||||
</data>
|
||||
<data name=">>tableLayoutPanel1.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>tableLayoutPanel1.Parent" xml:space="preserve">
|
||||
<value>$this</value>
|
||||
</data>
|
||||
<data name=">>tableLayoutPanel1.ZOrder" xml:space="preserve">
|
||||
<value>6</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanel1.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms">
|
||||
<value><?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="treeViewMain" Row="0" RowSpan="2" Column="0" ColumnSpan="1" /></Controls><Columns Styles="Percent,25,Percent,75" /><Rows Styles="Percent,50,Percent,50" /></TableLayoutSettings></value>
|
||||
</data>
|
||||
<metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
@@ -2089,9 +1796,9 @@
|
||||
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>$this.Name" xml:space="preserve">
|
||||
<value>PckEditor</value>
|
||||
<value>PckAssetBrowserEditor</value>
|
||||
</data>
|
||||
<data name=">>$this.Type" xml:space="preserve">
|
||||
<value>PckStudio.Internal.EditorControl`1[[PckStudio.Internal.PackInfo, PCK-Studio, Version=7.0.0.2, Culture=neutral, PublicKeyToken=null]], PCK-Studio, Version=7.0.0.2, Culture=neutral, PublicKeyToken=null</value>
|
||||
<value>PckStudio.Controls.EditorControl`1[[PckStudio.Core.PackInfo, PckStudio.Core, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]], PCK-Studio, Version=7.0.0.2, Culture=neutral, PublicKeyToken=null</value>
|
||||
</data>
|
||||
</root>
|
||||
17
PCK-Studio/Controls/ViewPanel.cs
Normal file
17
PCK-Studio/Controls/ViewPanel.cs
Normal file
@@ -0,0 +1,17 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
using OMI.Formats.Pck;
|
||||
|
||||
namespace PckStudio.Controls
|
||||
{
|
||||
public class ViewPanel : UserControl
|
||||
{
|
||||
|
||||
public virtual void LoadAsset(PckAsset asset, Action onChange) => throw new NotImplementedException("Derived class must implement this function.");
|
||||
public virtual void Reset() => throw new NotImplementedException("Derived class must implement this function.");
|
||||
}
|
||||
}
|
||||
@@ -66,7 +66,6 @@ namespace PckStudio.Forms.Editor
|
||||
base.OnLoad(e);
|
||||
if (DesignMode)
|
||||
return;
|
||||
renderer3D1.Initialize(_inflateOverlayParts);
|
||||
renderer3D1.GuideLineColor = Color.LightCoral;
|
||||
skinNameLabel.Text = EditorValue.MetaData.Name;
|
||||
if (EditorValue.HasCape)
|
||||
|
||||
@@ -136,6 +136,12 @@
|
||||
<Reference Include="WindowsFormsIntegration" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="Controls\DefaultPanel.cs">
|
||||
<SubType>UserControl</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Controls\DefaultPanel.Designer.cs">
|
||||
<DependentUpon>DefaultPanel.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Controls\CustomTabControl.cs">
|
||||
<SubType>Component</SubType>
|
||||
</Compile>
|
||||
@@ -148,7 +154,16 @@
|
||||
<Compile Include="Controls\ImmersiveForm.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Controls\ModelsPanel.cs">
|
||||
<SubType>UserControl</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Controls\ModelsPanel.Designer.cs">
|
||||
<DependentUpon>ModelsPanel.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Controls\NamedTextureTreeNode.cs" />
|
||||
<Compile Include="Controls\ViewPanel.cs">
|
||||
<SubType>UserControl</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Controls\PageClosingEventArgs.cs" />
|
||||
<Compile Include="Controls\PckAssetBrowserEditor.cs">
|
||||
<SubType>UserControl</SubType>
|
||||
@@ -399,6 +414,12 @@
|
||||
</Compile>
|
||||
<Compile Include="Program.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<EmbeddedResource Include="Controls\DefaultPanel.resx">
|
||||
<DependentUpon>DefaultPanel.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Controls\ModelsPanel.resx">
|
||||
<DependentUpon>ModelsPanel.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Controls\PckAssetBrowserEditor.resx">
|
||||
<DependentUpon>PckAssetBrowserEditor.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
|
||||
Reference in New Issue
Block a user