diff --git a/AssetStudioGUI/AssetStudioGUIForm.Designer.cs b/AssetStudioGUI/AssetStudioGUIForm.Designer.cs
index 3a44cc5..306014d 100644
--- a/AssetStudioGUI/AssetStudioGUIForm.Designer.cs
+++ b/AssetStudioGUI/AssetStudioGUIForm.Designer.cs
@@ -119,6 +119,12 @@
this.dumpTextBox = new System.Windows.Forms.TextBox();
this.statusStrip1 = new System.Windows.Forms.StatusStrip();
this.toolStripStatusLabel1 = new System.Windows.Forms.ToolStripStatusLabel();
+ this.contextMenuStrip2 = new System.Windows.Forms.ContextMenuStrip(this.components);
+ this.selectAllToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.selectNoneToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.toolStripSeparator5 = new System.Windows.Forms.ToolStripSeparator();
+ this.collapseAllToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.expandAllToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.timer = new System.Windows.Forms.Timer(this.components);
this.openFileDialog1 = new System.Windows.Forms.OpenFileDialog();
this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components);
@@ -146,6 +152,7 @@
((System.ComponentModel.ISupportInitialize)(this.FMODvolumeBar)).BeginInit();
this.tabPage5.SuspendLayout();
this.statusStrip1.SuspendLayout();
+ this.contextMenuStrip2.SuspendLayout();
this.contextMenuStrip1.SuspendLayout();
this.SuspendLayout();
//
@@ -583,6 +590,7 @@
this.sceneTreeView.Size = new System.Drawing.Size(472, 587);
this.sceneTreeView.TabIndex = 1;
this.sceneTreeView.AfterCheck += new System.Windows.Forms.TreeViewEventHandler(this.sceneTreeView_AfterCheck);
+ this.sceneTreeView.MouseClick += new System.Windows.Forms.MouseEventHandler(this.sceneTreeView_MouseClick);
//
// treeSearch
//
@@ -1034,6 +1042,50 @@
this.toolStripStatusLabel1.Text = "Ready to go";
this.toolStripStatusLabel1.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
//
+ // contextMenuStrip2
+ //
+ this.contextMenuStrip2.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
+ this.selectAllToolStripMenuItem,
+ this.selectNoneToolStripMenuItem,
+ this.toolStripSeparator5,
+ this.expandAllToolStripMenuItem,
+ this.collapseAllToolStripMenuItem});
+ this.contextMenuStrip2.Name = "contextMenuStrip2";
+ this.contextMenuStrip2.Size = new System.Drawing.Size(181, 120);
+ //
+ // selectAllToolStripMenuItem
+ //
+ this.selectAllToolStripMenuItem.Name = "selectAllToolStripMenuItem";
+ this.selectAllToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
+ this.selectAllToolStripMenuItem.Text = "Select all";
+ this.selectAllToolStripMenuItem.Click += new System.EventHandler(this.selectAllToolStripMenuItem_Click);
+ //
+ // selectNoneToolStripMenuItem
+ //
+ this.selectNoneToolStripMenuItem.Name = "selectNoneToolStripMenuItem";
+ this.selectNoneToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
+ this.selectNoneToolStripMenuItem.Text = "Select none";
+ this.selectNoneToolStripMenuItem.Click += new System.EventHandler(this.selectNoneToolStripMenuItem_Click);
+ //
+ // toolStripSeparator5
+ //
+ this.toolStripSeparator5.Name = "toolStripSeparator5";
+ this.toolStripSeparator5.Size = new System.Drawing.Size(177, 6);
+ //
+ // collapseAllToolStripMenuItem
+ //
+ this.collapseAllToolStripMenuItem.Name = "collapseAllToolStripMenuItem";
+ this.collapseAllToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
+ this.collapseAllToolStripMenuItem.Text = "Collapse all";
+ this.collapseAllToolStripMenuItem.Click += new System.EventHandler(this.collapseAllToolStripMenuItem_Click);
+ //
+ // expandAllToolStripMenuItem
+ //
+ this.expandAllToolStripMenuItem.Name = "expandAllToolStripMenuItem";
+ this.expandAllToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
+ this.expandAllToolStripMenuItem.Text = "Expand all";
+ this.expandAllToolStripMenuItem.Click += new System.EventHandler(this.expandAllToolStripMenuItem_Click);
+ //
// timer
//
this.timer.Interval = 10;
@@ -1146,6 +1198,7 @@
this.tabPage5.PerformLayout();
this.statusStrip1.ResumeLayout(false);
this.statusStrip1.PerformLayout();
+ this.contextMenuStrip2.ResumeLayout(false);
this.contextMenuStrip1.ResumeLayout(false);
this.ResumeLayout(false);
this.PerformLayout();
@@ -1252,6 +1305,12 @@
private System.Windows.Forms.ToolStripMenuItem toolStripMenuItem15;
private System.Windows.Forms.ToolStripMenuItem dumpSelectedAssetsToolStripMenuItem;
private System.Windows.Forms.CheckBox filterExcludeMode;
+ private System.Windows.Forms.ContextMenuStrip contextMenuStrip2;
+ private System.Windows.Forms.ToolStripMenuItem selectAllToolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem selectNoneToolStripMenuItem;
+ private System.Windows.Forms.ToolStripSeparator toolStripSeparator5;
+ private System.Windows.Forms.ToolStripMenuItem collapseAllToolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem expandAllToolStripMenuItem;
}
}
diff --git a/AssetStudioGUI/AssetStudioGUIForm.cs b/AssetStudioGUI/AssetStudioGUIForm.cs
index e2faef3..c5222de 100644
--- a/AssetStudioGUI/AssetStudioGUIForm.cs
+++ b/AssetStudioGUI/AssetStudioGUIForm.cs
@@ -1300,6 +1300,14 @@ namespace AssetStudioGUI
FMODreset();
}
+ private void tabControl2_SelectedIndexChanged(object sender, EventArgs e)
+ {
+ if (tabControl2.SelectedIndex == 1 && lastSelectedItem != null)
+ {
+ dumpTextBox.Text = DumpAsset(lastSelectedItem.Asset);
+ }
+ }
+
private void assetListView_MouseClick(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Right && assetListView.SelectedIndices.Count > 0)
@@ -1701,6 +1709,65 @@ namespace AssetStudioGUI
}
}
+ private void toolStripMenuItem15_Click(object sender, EventArgs e)
+ {
+ logger.ShowErrorMessage = toolStripMenuItem15.Checked;
+ }
+
+ private void sceneTreeView_MouseClick(object sender, MouseEventArgs e)
+ {
+ if (e.Button == MouseButtons.Right && sceneTreeView.Nodes.Count > 0)
+ {
+ contextMenuStrip2.Show(sceneTreeView, e.Location.X, e.Location.Y);
+ }
+ }
+
+ private void selectAllToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ sceneTreeView.BeginUpdate();
+ foreach (TreeNode node in sceneTreeView.Nodes)
+ {
+ node.Checked = true;
+ }
+ sceneTreeView.EndUpdate();
+ }
+
+ private void selectNoneToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ sceneTreeView.BeginUpdate();
+ foreach (TreeNode node in sceneTreeView.Nodes)
+ {
+ node.Checked = false;
+ }
+ sceneTreeView.EndUpdate();
+ }
+
+ private void expandAllToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ if (sceneTreeView.Nodes.Count > 500)
+ {
+ MessageBox.Show("Too many elements.");
+ return;
+ }
+
+ sceneTreeView.BeginUpdate();
+ foreach (TreeNode node in sceneTreeView.Nodes)
+ {
+ node.ExpandAll();
+ }
+ sceneTreeView.EndUpdate();
+ }
+
+ private void collapseAllToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ sceneTreeView.BeginUpdate();
+ foreach (TreeNode node in sceneTreeView.Nodes)
+ {
+ node.Collapse(ignoreChildren: false);
+ }
+ sceneTreeView.EndUpdate();
+ }
+
#region FMOD
private void FMODinit()
{
@@ -2134,19 +2201,6 @@ namespace AssetStudioGUI
glControl1.SwapBuffers();
}
- private void tabControl2_SelectedIndexChanged(object sender, EventArgs e)
- {
- if (tabControl2.SelectedIndex == 1 && lastSelectedItem != null)
- {
- dumpTextBox.Text = DumpAsset(lastSelectedItem.Asset);
- }
- }
-
- private void toolStripMenuItem15_Click(object sender, EventArgs e)
- {
- logger.ShowErrorMessage = toolStripMenuItem15.Checked;
- }
-
private void glControl1_MouseWheel(object sender, MouseEventArgs e)
{
if (glControl1.Visible)
diff --git a/AssetStudioGUI/AssetStudioGUIForm.resx b/AssetStudioGUI/AssetStudioGUIForm.resx
index 3965e61..095950b 100644
--- a/AssetStudioGUI/AssetStudioGUIForm.resx
+++ b/AssetStudioGUI/AssetStudioGUIForm.resx
@@ -141,6 +141,9 @@ The quick brown fox jumps over the lazy dog. 1234567890
432, 17
+
+ 775, 21
+
553, 17