mirror of
https://github.com/aelurum/AssetStudio.git
synced 2025-05-25 05:40:21 -04:00
add show type feature
This commit is contained in:
parent
17b986f5df
commit
592bfb64e7
54
AssetStudio/AssetStudioForm.Designer.cs
generated
54
AssetStudio/AssetStudioForm.Designer.cs
generated
@ -53,6 +53,8 @@
|
|||||||
this.exportAllAssetsMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
this.exportAllAssetsMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
this.exportSelectedAssetsMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
this.exportSelectedAssetsMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
this.exportFilteredAssetsMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
this.exportFilteredAssetsMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
|
this.showTypeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
|
this.allToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
this.debugMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
this.debugMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
this.buildClassStructuresMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
this.buildClassStructuresMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
this.dontLoadAssetsMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
this.dontLoadAssetsMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
@ -102,10 +104,10 @@
|
|||||||
this.saveFileDialog1 = new System.Windows.Forms.SaveFileDialog();
|
this.saveFileDialog1 = new System.Windows.Forms.SaveFileDialog();
|
||||||
this.treeTip = new System.Windows.Forms.ToolTip(this.components);
|
this.treeTip = new System.Windows.Forms.ToolTip(this.components);
|
||||||
this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components);
|
this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components);
|
||||||
this.showOriginalFileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
this.exportSelectedAssetsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
this.exportAnimatorwithAnimationClipMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
this.exportAnimatorwithAnimationClipMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
this.exportObjectswithAnimationClipMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
this.exportObjectswithAnimationClipMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
this.exportSelectedAssetsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
this.showOriginalFileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
this.menuStrip1.SuspendLayout();
|
this.menuStrip1.SuspendLayout();
|
||||||
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit();
|
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit();
|
||||||
this.splitContainer1.Panel1.SuspendLayout();
|
this.splitContainer1.Panel1.SuspendLayout();
|
||||||
@ -132,6 +134,7 @@
|
|||||||
this.optionsToolStripMenuItem,
|
this.optionsToolStripMenuItem,
|
||||||
this.modelToolStripMenuItem,
|
this.modelToolStripMenuItem,
|
||||||
this.exportToolStripMenuItem,
|
this.exportToolStripMenuItem,
|
||||||
|
this.showTypeToolStripMenuItem,
|
||||||
this.debugMenuItem});
|
this.debugMenuItem});
|
||||||
this.menuStrip1.Location = new System.Drawing.Point(0, 0);
|
this.menuStrip1.Location = new System.Drawing.Point(0, 0);
|
||||||
this.menuStrip1.Name = "menuStrip1";
|
this.menuStrip1.Name = "menuStrip1";
|
||||||
@ -331,6 +334,25 @@
|
|||||||
this.exportFilteredAssetsMenuItem.Text = "Filtered assets";
|
this.exportFilteredAssetsMenuItem.Text = "Filtered assets";
|
||||||
this.exportFilteredAssetsMenuItem.Click += new System.EventHandler(this.ExportAssets_Click);
|
this.exportFilteredAssetsMenuItem.Click += new System.EventHandler(this.ExportAssets_Click);
|
||||||
//
|
//
|
||||||
|
// showTypeToolStripMenuItem
|
||||||
|
//
|
||||||
|
this.showTypeToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||||
|
this.allToolStripMenuItem});
|
||||||
|
this.showTypeToolStripMenuItem.Name = "showTypeToolStripMenuItem";
|
||||||
|
this.showTypeToolStripMenuItem.Size = new System.Drawing.Size(83, 21);
|
||||||
|
this.showTypeToolStripMenuItem.Text = "Show Type";
|
||||||
|
this.showTypeToolStripMenuItem.Visible = false;
|
||||||
|
//
|
||||||
|
// allToolStripMenuItem
|
||||||
|
//
|
||||||
|
this.allToolStripMenuItem.Checked = true;
|
||||||
|
this.allToolStripMenuItem.CheckOnClick = true;
|
||||||
|
this.allToolStripMenuItem.CheckState = System.Windows.Forms.CheckState.Checked;
|
||||||
|
this.allToolStripMenuItem.Name = "allToolStripMenuItem";
|
||||||
|
this.allToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
|
||||||
|
this.allToolStripMenuItem.Text = "All";
|
||||||
|
this.allToolStripMenuItem.Click += new System.EventHandler(this.typeToolStripMenuItem_Click);
|
||||||
|
//
|
||||||
// debugMenuItem
|
// debugMenuItem
|
||||||
//
|
//
|
||||||
this.debugMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
this.debugMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||||
@ -834,15 +856,14 @@
|
|||||||
this.exportObjectswithAnimationClipMenuItem,
|
this.exportObjectswithAnimationClipMenuItem,
|
||||||
this.showOriginalFileToolStripMenuItem});
|
this.showOriginalFileToolStripMenuItem});
|
||||||
this.contextMenuStrip1.Name = "contextMenuStrip1";
|
this.contextMenuStrip1.Name = "contextMenuStrip1";
|
||||||
this.contextMenuStrip1.Size = new System.Drawing.Size(283, 114);
|
this.contextMenuStrip1.Size = new System.Drawing.Size(283, 92);
|
||||||
//
|
//
|
||||||
// showOriginalFileToolStripMenuItem
|
// exportSelectedAssetsToolStripMenuItem
|
||||||
//
|
//
|
||||||
this.showOriginalFileToolStripMenuItem.Name = "showOriginalFileToolStripMenuItem";
|
this.exportSelectedAssetsToolStripMenuItem.Name = "exportSelectedAssetsToolStripMenuItem";
|
||||||
this.showOriginalFileToolStripMenuItem.Size = new System.Drawing.Size(282, 22);
|
this.exportSelectedAssetsToolStripMenuItem.Size = new System.Drawing.Size(282, 22);
|
||||||
this.showOriginalFileToolStripMenuItem.Text = "Show original file";
|
this.exportSelectedAssetsToolStripMenuItem.Text = "Export selected assets";
|
||||||
this.showOriginalFileToolStripMenuItem.Visible = false;
|
this.exportSelectedAssetsToolStripMenuItem.Click += new System.EventHandler(this.exportSelectedAssetsToolStripMenuItem_Click);
|
||||||
this.showOriginalFileToolStripMenuItem.Click += new System.EventHandler(this.showOriginalFileToolStripMenuItem_Click);
|
|
||||||
//
|
//
|
||||||
// exportAnimatorwithAnimationClipMenuItem
|
// exportAnimatorwithAnimationClipMenuItem
|
||||||
//
|
//
|
||||||
@ -860,12 +881,13 @@
|
|||||||
this.exportObjectswithAnimationClipMenuItem.Visible = false;
|
this.exportObjectswithAnimationClipMenuItem.Visible = false;
|
||||||
this.exportObjectswithAnimationClipMenuItem.Click += new System.EventHandler(this.exportObjectswithAnimationClipMenuItem_Click);
|
this.exportObjectswithAnimationClipMenuItem.Click += new System.EventHandler(this.exportObjectswithAnimationClipMenuItem_Click);
|
||||||
//
|
//
|
||||||
// exportSelectedAssetsToolStripMenuItem
|
// showOriginalFileToolStripMenuItem
|
||||||
//
|
//
|
||||||
this.exportSelectedAssetsToolStripMenuItem.Name = "exportSelectedAssetsToolStripMenuItem";
|
this.showOriginalFileToolStripMenuItem.Name = "showOriginalFileToolStripMenuItem";
|
||||||
this.exportSelectedAssetsToolStripMenuItem.Size = new System.Drawing.Size(282, 22);
|
this.showOriginalFileToolStripMenuItem.Size = new System.Drawing.Size(282, 22);
|
||||||
this.exportSelectedAssetsToolStripMenuItem.Text = "Export selected assets";
|
this.showOriginalFileToolStripMenuItem.Text = "Show original file";
|
||||||
this.exportSelectedAssetsToolStripMenuItem.Click += new System.EventHandler(this.exportSelectedAssetsToolStripMenuItem_Click);
|
this.showOriginalFileToolStripMenuItem.Visible = false;
|
||||||
|
this.showOriginalFileToolStripMenuItem.Click += new System.EventHandler(this.showOriginalFileToolStripMenuItem_Click);
|
||||||
//
|
//
|
||||||
// AssetStudioForm
|
// AssetStudioForm
|
||||||
//
|
//
|
||||||
@ -874,7 +896,7 @@
|
|||||||
this.ClientSize = new System.Drawing.Size(1264, 681);
|
this.ClientSize = new System.Drawing.Size(1264, 681);
|
||||||
this.Controls.Add(this.splitContainer1);
|
this.Controls.Add(this.splitContainer1);
|
||||||
this.Controls.Add(this.menuStrip1);
|
this.Controls.Add(this.menuStrip1);
|
||||||
this.Icon = Properties.Resources._as;
|
this.Icon = global::AssetStudio.Properties.Resources._as;
|
||||||
this.KeyPreview = true;
|
this.KeyPreview = true;
|
||||||
this.MainMenuStrip = this.menuStrip1;
|
this.MainMenuStrip = this.menuStrip1;
|
||||||
this.MinimumSize = new System.Drawing.Size(620, 372);
|
this.MinimumSize = new System.Drawing.Size(620, 372);
|
||||||
@ -990,6 +1012,8 @@
|
|||||||
private System.Windows.Forms.ToolStripMenuItem exportAnimatorwithAnimationClipMenuItem;
|
private System.Windows.Forms.ToolStripMenuItem exportAnimatorwithAnimationClipMenuItem;
|
||||||
private System.Windows.Forms.ToolStripMenuItem exportObjectswithAnimationClipMenuItem;
|
private System.Windows.Forms.ToolStripMenuItem exportObjectswithAnimationClipMenuItem;
|
||||||
private System.Windows.Forms.ToolStripMenuItem exportSelectedAssetsToolStripMenuItem;
|
private System.Windows.Forms.ToolStripMenuItem exportSelectedAssetsToolStripMenuItem;
|
||||||
|
private System.Windows.Forms.ToolStripMenuItem showTypeToolStripMenuItem;
|
||||||
|
private System.Windows.Forms.ToolStripMenuItem allToolStripMenuItem;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -218,11 +218,58 @@ namespace AssetStudio
|
|||||||
}
|
}
|
||||||
classesListView.EndUpdate();
|
classesListView.EndUpdate();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var types = exportableAssets.Select(x => x.Type).Distinct().ToArray();
|
||||||
|
foreach (var type in types)
|
||||||
|
{
|
||||||
|
var typeItem = new ToolStripMenuItem
|
||||||
|
{
|
||||||
|
CheckOnClick = true,
|
||||||
|
Name = type.ToString(),
|
||||||
|
Size = new Size(180, 22),
|
||||||
|
Text = type.ToString()
|
||||||
|
};
|
||||||
|
typeItem.Click += typeToolStripMenuItem_Click;
|
||||||
|
showTypeToolStripMenuItem.DropDownItems.Add(typeItem);
|
||||||
|
}
|
||||||
|
allToolStripMenuItem.Checked = true;
|
||||||
|
showTypeToolStripMenuItem.Visible = true;
|
||||||
StatusStripUpdate($"Finished loading {assetsfileList.Count} files with {assetListView.Items.Count} exportable assets.");
|
StatusStripUpdate($"Finished loading {assetsfileList.Count} files with {assetListView.Items.Count} exportable assets.");
|
||||||
treeSearch.Select();
|
treeSearch.Select();
|
||||||
}));
|
}));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void typeToolStripMenuItem_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
var typeItem = (ToolStripMenuItem)sender;
|
||||||
|
var show = new List<ClassIDReference>();
|
||||||
|
if (typeItem != allToolStripMenuItem)
|
||||||
|
{
|
||||||
|
allToolStripMenuItem.Checked = false;
|
||||||
|
for (var i = 1; i < showTypeToolStripMenuItem.DropDownItems.Count; i++)
|
||||||
|
{
|
||||||
|
var item = (ToolStripMenuItem)showTypeToolStripMenuItem.DropDownItems[i];
|
||||||
|
if (item.Checked)
|
||||||
|
{
|
||||||
|
show.Add((ClassIDReference)Enum.Parse(typeof(ClassIDReference), item.Text));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (allToolStripMenuItem.Checked)
|
||||||
|
{
|
||||||
|
for (var i = 1; i < showTypeToolStripMenuItem.DropDownItems.Count; i++)
|
||||||
|
{
|
||||||
|
var item = (ToolStripMenuItem)showTypeToolStripMenuItem.DropDownItems[i];
|
||||||
|
item.Checked = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
assetListView.BeginUpdate();
|
||||||
|
assetListView.SelectedIndices.Clear();
|
||||||
|
visibleAssets = allToolStripMenuItem.Checked ? exportableAssets : exportableAssets.FindAll(x => show.Contains(x.Type));
|
||||||
|
assetListView.VirtualListSize = visibleAssets.Count;
|
||||||
|
assetListView.EndUpdate();
|
||||||
|
}
|
||||||
|
|
||||||
private void AssetStudioForm_KeyDown(object sender, KeyEventArgs e)
|
private void AssetStudioForm_KeyDown(object sender, KeyEventArgs e)
|
||||||
{
|
{
|
||||||
if (e.Control && e.Alt && e.KeyCode == Keys.D)
|
if (e.Control && e.Alt && e.KeyCode == Keys.D)
|
||||||
@ -1365,7 +1412,7 @@ namespace AssetStudio
|
|||||||
progressBar1.PerformStep();
|
progressBar1.PerformStep();
|
||||||
toolStripStatusLabel1.Text = "Nothing exported.";
|
toolStripStatusLabel1.Text = "Nothing exported.";
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
FBXExporter.WriteFBX(saveFileDialog1.FileName, gameObjects);
|
FBXExporter.WriteFBX(saveFileDialog1.FileName, gameObjects);
|
||||||
progressBar1.PerformStep();
|
progressBar1.PerformStep();
|
||||||
if (openAfterExport.Checked && File.Exists(saveFileDialog1.FileName))
|
if (openAfterExport.Checked && File.Exists(saveFileDialog1.FileName))
|
||||||
@ -1650,6 +1697,7 @@ namespace AssetStudio
|
|||||||
glControl1.Invalidate();
|
glControl1.Invalidate();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void resetForm()
|
private void resetForm()
|
||||||
{
|
{
|
||||||
Text = "AssetStudio";
|
Text = "AssetStudio";
|
||||||
@ -1692,6 +1740,13 @@ namespace AssetStudio
|
|||||||
reverseSort = false;
|
reverseSort = false;
|
||||||
enableFiltering = false;
|
enableFiltering = false;
|
||||||
listSearch.Text = " Filter ";
|
listSearch.Text = " Filter ";
|
||||||
|
|
||||||
|
var count = showTypeToolStripMenuItem.DropDownItems.Count;
|
||||||
|
for (var i = 1; i < count; i++)
|
||||||
|
{
|
||||||
|
showTypeToolStripMenuItem.DropDownItems.RemoveAt(1);
|
||||||
|
}
|
||||||
|
|
||||||
FMODreset();
|
FMODreset();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user