diff --git a/AssetStudio/AssetsManager.cs b/AssetStudio/AssetsManager.cs index 0f8e7204..6bfbeec9 100644 --- a/AssetStudio/AssetsManager.cs +++ b/AssetStudio/AssetsManager.cs @@ -173,9 +173,9 @@ private void LoadBundleFile(FileReader reader, string originalPath = null) { LoadAssetsFromMemory(subReader, originalPath ?? reader.FullPath, bundleFile.m_Header.unityRevision); } - else + else if (!resourceFileReaders.ContainsKey(file.fileName)) { - resourceFileReaders[file.fileName] = subReader; //TODO + resourceFileReaders.Add(file.fileName, subReader); } } } diff --git a/AssetStudioGUI/AssetStudioGUIForm.Designer.cs b/AssetStudioGUI/AssetStudioGUIForm.Designer.cs index 494880d2..5b2dc985 100644 --- a/AssetStudioGUI/AssetStudioGUIForm.Designer.cs +++ b/AssetStudioGUI/AssetStudioGUIForm.Designer.cs @@ -124,6 +124,7 @@ private void InitializeComponent() this.copyToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.exportSelectedAssetsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.exportAnimatorwithselectedAnimationClipMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.dumpSelectedAssetsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.goToSceneHierarchyToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.showOriginalFileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.menuStrip1.SuspendLayout(); @@ -158,7 +159,7 @@ private void InitializeComponent() this.debugMenuItem}); this.menuStrip1.Location = new System.Drawing.Point(0, 0); this.menuStrip1.Name = "menuStrip1"; - this.menuStrip1.Size = new System.Drawing.Size(1264, 25); + this.menuStrip1.Size = new System.Drawing.Size(1264, 24); this.menuStrip1.TabIndex = 0; this.menuStrip1.Text = "menuStrip1"; // @@ -171,39 +172,39 @@ private void InitializeComponent() this.extractFileToolStripMenuItem, this.extractFolderToolStripMenuItem}); this.fileToolStripMenuItem.Name = "fileToolStripMenuItem"; - this.fileToolStripMenuItem.Size = new System.Drawing.Size(39, 21); + this.fileToolStripMenuItem.Size = new System.Drawing.Size(37, 20); this.fileToolStripMenuItem.Text = "File"; // // loadFileToolStripMenuItem // this.loadFileToolStripMenuItem.Name = "loadFileToolStripMenuItem"; - this.loadFileToolStripMenuItem.Size = new System.Drawing.Size(154, 22); + this.loadFileToolStripMenuItem.Size = new System.Drawing.Size(144, 22); this.loadFileToolStripMenuItem.Text = "Load file"; this.loadFileToolStripMenuItem.Click += new System.EventHandler(this.loadFile_Click); // // loadFolderToolStripMenuItem // this.loadFolderToolStripMenuItem.Name = "loadFolderToolStripMenuItem"; - this.loadFolderToolStripMenuItem.Size = new System.Drawing.Size(154, 22); + this.loadFolderToolStripMenuItem.Size = new System.Drawing.Size(144, 22); this.loadFolderToolStripMenuItem.Text = "Load folder"; this.loadFolderToolStripMenuItem.Click += new System.EventHandler(this.loadFolder_Click); // // toolStripMenuItem1 // this.toolStripMenuItem1.Name = "toolStripMenuItem1"; - this.toolStripMenuItem1.Size = new System.Drawing.Size(151, 6); + this.toolStripMenuItem1.Size = new System.Drawing.Size(141, 6); // // extractFileToolStripMenuItem // this.extractFileToolStripMenuItem.Name = "extractFileToolStripMenuItem"; - this.extractFileToolStripMenuItem.Size = new System.Drawing.Size(154, 22); + this.extractFileToolStripMenuItem.Size = new System.Drawing.Size(144, 22); this.extractFileToolStripMenuItem.Text = "Extract file"; this.extractFileToolStripMenuItem.Click += new System.EventHandler(this.extractFileToolStripMenuItem_Click); // // extractFolderToolStripMenuItem // this.extractFolderToolStripMenuItem.Name = "extractFolderToolStripMenuItem"; - this.extractFolderToolStripMenuItem.Size = new System.Drawing.Size(154, 22); + this.extractFolderToolStripMenuItem.Size = new System.Drawing.Size(144, 22); this.extractFolderToolStripMenuItem.Text = "Extract folder"; this.extractFolderToolStripMenuItem.Click += new System.EventHandler(this.extractFolderToolStripMenuItem_Click); // @@ -216,14 +217,14 @@ private void InitializeComponent() this.toolStripMenuItem14, this.showExpOpt}); this.optionsToolStripMenuItem.Name = "optionsToolStripMenuItem"; - this.optionsToolStripMenuItem.Size = new System.Drawing.Size(66, 21); + this.optionsToolStripMenuItem.Size = new System.Drawing.Size(61, 20); this.optionsToolStripMenuItem.Text = "Options"; // // displayAll // this.displayAll.CheckOnClick = true; this.displayAll.Name = "displayAll"; - this.displayAll.Size = new System.Drawing.Size(223, 22); + this.displayAll.Size = new System.Drawing.Size(207, 22); this.displayAll.Text = "Display all assets"; this.displayAll.ToolTipText = "Check this option will display all types assets. Not extractable assets can expor" + "t the RAW file."; @@ -235,7 +236,7 @@ private void InitializeComponent() this.enablePreview.CheckOnClick = true; this.enablePreview.CheckState = System.Windows.Forms.CheckState.Checked; this.enablePreview.Name = "enablePreview"; - this.enablePreview.Size = new System.Drawing.Size(223, 22); + this.enablePreview.Size = new System.Drawing.Size(207, 22); this.enablePreview.Text = "Enable preview"; this.enablePreview.ToolTipText = "Toggle the loading and preview of readable assets, such as images, sounds, text, " + "etc.\r\nDisable preview if you have performance or compatibility issues."; @@ -247,7 +248,7 @@ private void InitializeComponent() this.displayInfo.CheckOnClick = true; this.displayInfo.CheckState = System.Windows.Forms.CheckState.Checked; this.displayInfo.Name = "displayInfo"; - this.displayInfo.Size = new System.Drawing.Size(223, 22); + this.displayInfo.Size = new System.Drawing.Size(207, 22); this.displayInfo.Text = "Display asset infromation"; this.displayInfo.ToolTipText = "Toggle the overlay that shows information about each asset, eg. image size, forma" + "t, audio bitrate, etc."; @@ -258,7 +259,7 @@ private void InitializeComponent() this.toolStripMenuItem14.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.specifyUnityVersion}); this.toolStripMenuItem14.Name = "toolStripMenuItem14"; - this.toolStripMenuItem14.Size = new System.Drawing.Size(223, 22); + this.toolStripMenuItem14.Size = new System.Drawing.Size(207, 22); this.toolStripMenuItem14.Text = "Specify Unity version"; // // specifyUnityVersion @@ -270,7 +271,7 @@ private void InitializeComponent() // showExpOpt // this.showExpOpt.Name = "showExpOpt"; - this.showExpOpt.Size = new System.Drawing.Size(223, 22); + this.showExpOpt.Size = new System.Drawing.Size(207, 22); this.showExpOpt.Text = "Export options"; this.showExpOpt.Click += new System.EventHandler(this.showExpOpt_Click); // @@ -284,46 +285,46 @@ private void InitializeComponent() this.exportSelectedObjectsmergeToolStripMenuItem, this.exportSelectedObjectsmergeWithAnimationClipToolStripMenuItem}); this.modelToolStripMenuItem.Name = "modelToolStripMenuItem"; - this.modelToolStripMenuItem.Size = new System.Drawing.Size(58, 21); + this.modelToolStripMenuItem.Size = new System.Drawing.Size(53, 20); this.modelToolStripMenuItem.Text = "Model"; // // exportAllObjectssplitToolStripMenuItem1 // this.exportAllObjectssplitToolStripMenuItem1.Name = "exportAllObjectssplitToolStripMenuItem1"; - this.exportAllObjectssplitToolStripMenuItem1.Size = new System.Drawing.Size(417, 22); + this.exportAllObjectssplitToolStripMenuItem1.Size = new System.Drawing.Size(382, 22); this.exportAllObjectssplitToolStripMenuItem1.Text = "Export all objects (split)"; this.exportAllObjectssplitToolStripMenuItem1.Click += new System.EventHandler(this.exportAllObjectssplitToolStripMenuItem1_Click); // // exportSelectedObjectsToolStripMenuItem // this.exportSelectedObjectsToolStripMenuItem.Name = "exportSelectedObjectsToolStripMenuItem"; - this.exportSelectedObjectsToolStripMenuItem.Size = new System.Drawing.Size(417, 22); + this.exportSelectedObjectsToolStripMenuItem.Size = new System.Drawing.Size(382, 22); this.exportSelectedObjectsToolStripMenuItem.Text = "Export selected objects (split)"; this.exportSelectedObjectsToolStripMenuItem.Click += new System.EventHandler(this.exportSelectedObjectsToolStripMenuItem_Click); // // exportSelectedObjectsWithAnimationClipToolStripMenuItem // this.exportSelectedObjectsWithAnimationClipToolStripMenuItem.Name = "exportSelectedObjectsWithAnimationClipToolStripMenuItem"; - this.exportSelectedObjectsWithAnimationClipToolStripMenuItem.Size = new System.Drawing.Size(417, 22); + this.exportSelectedObjectsWithAnimationClipToolStripMenuItem.Size = new System.Drawing.Size(382, 22); this.exportSelectedObjectsWithAnimationClipToolStripMenuItem.Text = "Export selected objects (split) + selected AnimationClips"; this.exportSelectedObjectsWithAnimationClipToolStripMenuItem.Click += new System.EventHandler(this.exportObjectswithAnimationClipMenuItem_Click); // // toolStripSeparator1 // this.toolStripSeparator1.Name = "toolStripSeparator1"; - this.toolStripSeparator1.Size = new System.Drawing.Size(414, 6); + this.toolStripSeparator1.Size = new System.Drawing.Size(379, 6); // // exportSelectedObjectsmergeToolStripMenuItem // this.exportSelectedObjectsmergeToolStripMenuItem.Name = "exportSelectedObjectsmergeToolStripMenuItem"; - this.exportSelectedObjectsmergeToolStripMenuItem.Size = new System.Drawing.Size(417, 22); + this.exportSelectedObjectsmergeToolStripMenuItem.Size = new System.Drawing.Size(382, 22); this.exportSelectedObjectsmergeToolStripMenuItem.Text = "Export selected objects (merge)"; this.exportSelectedObjectsmergeToolStripMenuItem.Click += new System.EventHandler(this.exportSelectedObjectsmergeToolStripMenuItem_Click); // // exportSelectedObjectsmergeWithAnimationClipToolStripMenuItem // this.exportSelectedObjectsmergeWithAnimationClipToolStripMenuItem.Name = "exportSelectedObjectsmergeWithAnimationClipToolStripMenuItem"; - this.exportSelectedObjectsmergeWithAnimationClipToolStripMenuItem.Size = new System.Drawing.Size(417, 22); + this.exportSelectedObjectsmergeWithAnimationClipToolStripMenuItem.Size = new System.Drawing.Size(382, 22); this.exportSelectedObjectsmergeWithAnimationClipToolStripMenuItem.Text = "Export selected objects (merge) + selected AnimationClips"; this.exportSelectedObjectsmergeWithAnimationClipToolStripMenuItem.Click += new System.EventHandler(this.exportSelectedObjectsmergeWithAnimationClipToolStripMenuItem_Click); // @@ -341,46 +342,46 @@ private void InitializeComponent() this.toolStripSeparator2, this.toolStripMenuItem10}); this.exportToolStripMenuItem.Name = "exportToolStripMenuItem"; - this.exportToolStripMenuItem.Size = new System.Drawing.Size(58, 21); + this.exportToolStripMenuItem.Size = new System.Drawing.Size(53, 20); this.exportToolStripMenuItem.Text = "Export"; // // exportAllAssetsMenuItem // this.exportAllAssetsMenuItem.Name = "exportAllAssetsMenuItem"; - this.exportAllAssetsMenuItem.Size = new System.Drawing.Size(284, 22); + this.exportAllAssetsMenuItem.Size = new System.Drawing.Size(266, 22); this.exportAllAssetsMenuItem.Text = "All assets"; this.exportAllAssetsMenuItem.Click += new System.EventHandler(this.exportAllAssetsMenuItem_Click); // // exportSelectedAssetsMenuItem // this.exportSelectedAssetsMenuItem.Name = "exportSelectedAssetsMenuItem"; - this.exportSelectedAssetsMenuItem.Size = new System.Drawing.Size(284, 22); + this.exportSelectedAssetsMenuItem.Size = new System.Drawing.Size(266, 22); this.exportSelectedAssetsMenuItem.Text = "Selected assets"; this.exportSelectedAssetsMenuItem.Click += new System.EventHandler(this.exportSelectedAssetsMenuItem_Click); // // exportFilteredAssetsMenuItem // this.exportFilteredAssetsMenuItem.Name = "exportFilteredAssetsMenuItem"; - this.exportFilteredAssetsMenuItem.Size = new System.Drawing.Size(284, 22); + this.exportFilteredAssetsMenuItem.Size = new System.Drawing.Size(266, 22); this.exportFilteredAssetsMenuItem.Text = "Filtered assets"; this.exportFilteredAssetsMenuItem.Click += new System.EventHandler(this.exportFilteredAssetsMenuItem_Click); // // toolStripSeparator3 // this.toolStripSeparator3.Name = "toolStripSeparator3"; - this.toolStripSeparator3.Size = new System.Drawing.Size(281, 6); + this.toolStripSeparator3.Size = new System.Drawing.Size(263, 6); // // exportAnimatorWithSelectedAnimationClipToolStripMenuItem // this.exportAnimatorWithSelectedAnimationClipToolStripMenuItem.Name = "exportAnimatorWithSelectedAnimationClipToolStripMenuItem"; - this.exportAnimatorWithSelectedAnimationClipToolStripMenuItem.Size = new System.Drawing.Size(284, 22); + this.exportAnimatorWithSelectedAnimationClipToolStripMenuItem.Size = new System.Drawing.Size(266, 22); this.exportAnimatorWithSelectedAnimationClipToolStripMenuItem.Text = "Animator + selected AnimationClips"; this.exportAnimatorWithSelectedAnimationClipToolStripMenuItem.Click += new System.EventHandler(this.exportAnimatorwithAnimationClipMenuItem_Click); // // toolStripSeparator4 // this.toolStripSeparator4.Name = "toolStripSeparator4"; - this.toolStripSeparator4.Size = new System.Drawing.Size(281, 6); + this.toolStripSeparator4.Size = new System.Drawing.Size(263, 6); // // toolStripMenuItem2 // @@ -389,27 +390,27 @@ private void InitializeComponent() this.toolStripMenuItem5, this.toolStripMenuItem6}); this.toolStripMenuItem2.Name = "toolStripMenuItem2"; - this.toolStripMenuItem2.Size = new System.Drawing.Size(284, 22); + this.toolStripMenuItem2.Size = new System.Drawing.Size(266, 22); this.toolStripMenuItem2.Text = "Raw"; // // toolStripMenuItem4 // this.toolStripMenuItem4.Name = "toolStripMenuItem4"; - this.toolStripMenuItem4.Size = new System.Drawing.Size(165, 22); + this.toolStripMenuItem4.Size = new System.Drawing.Size(152, 22); this.toolStripMenuItem4.Text = "All assets"; this.toolStripMenuItem4.Click += new System.EventHandler(this.toolStripMenuItem4_Click); // // toolStripMenuItem5 // this.toolStripMenuItem5.Name = "toolStripMenuItem5"; - this.toolStripMenuItem5.Size = new System.Drawing.Size(165, 22); + this.toolStripMenuItem5.Size = new System.Drawing.Size(152, 22); this.toolStripMenuItem5.Text = "Selected assets"; this.toolStripMenuItem5.Click += new System.EventHandler(this.toolStripMenuItem5_Click); // // toolStripMenuItem6 // this.toolStripMenuItem6.Name = "toolStripMenuItem6"; - this.toolStripMenuItem6.Size = new System.Drawing.Size(165, 22); + this.toolStripMenuItem6.Size = new System.Drawing.Size(152, 22); this.toolStripMenuItem6.Text = "Filtered assets"; this.toolStripMenuItem6.Click += new System.EventHandler(this.toolStripMenuItem6_Click); // @@ -420,34 +421,34 @@ private void InitializeComponent() this.toolStripMenuItem8, this.toolStripMenuItem9}); this.toolStripMenuItem3.Name = "toolStripMenuItem3"; - this.toolStripMenuItem3.Size = new System.Drawing.Size(284, 22); + this.toolStripMenuItem3.Size = new System.Drawing.Size(266, 22); this.toolStripMenuItem3.Text = "Dump"; // // toolStripMenuItem7 // this.toolStripMenuItem7.Name = "toolStripMenuItem7"; - this.toolStripMenuItem7.Size = new System.Drawing.Size(165, 22); + this.toolStripMenuItem7.Size = new System.Drawing.Size(152, 22); this.toolStripMenuItem7.Text = "All assets"; this.toolStripMenuItem7.Click += new System.EventHandler(this.toolStripMenuItem7_Click); // // toolStripMenuItem8 // this.toolStripMenuItem8.Name = "toolStripMenuItem8"; - this.toolStripMenuItem8.Size = new System.Drawing.Size(165, 22); + this.toolStripMenuItem8.Size = new System.Drawing.Size(152, 22); this.toolStripMenuItem8.Text = "Selected assets"; this.toolStripMenuItem8.Click += new System.EventHandler(this.toolStripMenuItem8_Click); // // toolStripMenuItem9 // this.toolStripMenuItem9.Name = "toolStripMenuItem9"; - this.toolStripMenuItem9.Size = new System.Drawing.Size(165, 22); + this.toolStripMenuItem9.Size = new System.Drawing.Size(152, 22); this.toolStripMenuItem9.Text = "Filtered assets"; this.toolStripMenuItem9.Click += new System.EventHandler(this.toolStripMenuItem9_Click); // // toolStripSeparator2 // this.toolStripSeparator2.Name = "toolStripSeparator2"; - this.toolStripSeparator2.Size = new System.Drawing.Size(281, 6); + this.toolStripSeparator2.Size = new System.Drawing.Size(263, 6); // // toolStripMenuItem10 // @@ -456,27 +457,27 @@ private void InitializeComponent() this.toolStripMenuItem12, this.toolStripMenuItem13}); this.toolStripMenuItem10.Name = "toolStripMenuItem10"; - this.toolStripMenuItem10.Size = new System.Drawing.Size(284, 22); + this.toolStripMenuItem10.Size = new System.Drawing.Size(266, 22); this.toolStripMenuItem10.Text = "Asset list to XML"; // // toolStripMenuItem11 // this.toolStripMenuItem11.Name = "toolStripMenuItem11"; - this.toolStripMenuItem11.Size = new System.Drawing.Size(165, 22); + this.toolStripMenuItem11.Size = new System.Drawing.Size(152, 22); this.toolStripMenuItem11.Text = "All assets"; this.toolStripMenuItem11.Click += new System.EventHandler(this.toolStripMenuItem11_Click); // // toolStripMenuItem12 // this.toolStripMenuItem12.Name = "toolStripMenuItem12"; - this.toolStripMenuItem12.Size = new System.Drawing.Size(165, 22); + this.toolStripMenuItem12.Size = new System.Drawing.Size(152, 22); this.toolStripMenuItem12.Text = "Selected assets"; this.toolStripMenuItem12.Click += new System.EventHandler(this.toolStripMenuItem12_Click); // // toolStripMenuItem13 // this.toolStripMenuItem13.Name = "toolStripMenuItem13"; - this.toolStripMenuItem13.Size = new System.Drawing.Size(165, 22); + this.toolStripMenuItem13.Size = new System.Drawing.Size(152, 22); this.toolStripMenuItem13.Text = "Filtered assets"; this.toolStripMenuItem13.Click += new System.EventHandler(this.toolStripMenuItem13_Click); // @@ -485,7 +486,7 @@ private void InitializeComponent() this.filterTypeToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.allToolStripMenuItem}); this.filterTypeToolStripMenuItem.Name = "filterTypeToolStripMenuItem"; - this.filterTypeToolStripMenuItem.Size = new System.Drawing.Size(80, 21); + this.filterTypeToolStripMenuItem.Size = new System.Drawing.Size(72, 20); this.filterTypeToolStripMenuItem.Text = "Filter Type"; // // allToolStripMenuItem @@ -494,7 +495,7 @@ private void InitializeComponent() this.allToolStripMenuItem.CheckOnClick = true; this.allToolStripMenuItem.CheckState = System.Windows.Forms.CheckState.Checked; this.allToolStripMenuItem.Name = "allToolStripMenuItem"; - this.allToolStripMenuItem.Size = new System.Drawing.Size(90, 22); + this.allToolStripMenuItem.Size = new System.Drawing.Size(88, 22); this.allToolStripMenuItem.Text = "All"; this.allToolStripMenuItem.Click += new System.EventHandler(this.typeToolStripMenuItem_Click); // @@ -504,23 +505,21 @@ private void InitializeComponent() this.toolStripMenuItem15, this.exportClassStructuresMenuItem}); this.debugMenuItem.Name = "debugMenuItem"; - this.debugMenuItem.Size = new System.Drawing.Size(59, 21); + this.debugMenuItem.Size = new System.Drawing.Size(54, 20); this.debugMenuItem.Text = "Debug"; // // toolStripMenuItem15 // - this.toolStripMenuItem15.Checked = true; this.toolStripMenuItem15.CheckOnClick = true; - this.toolStripMenuItem15.CheckState = System.Windows.Forms.CheckState.Checked; this.toolStripMenuItem15.Name = "toolStripMenuItem15"; - this.toolStripMenuItem15.Size = new System.Drawing.Size(207, 22); - this.toolStripMenuItem15.Text = "Show error message"; + this.toolStripMenuItem15.Size = new System.Drawing.Size(200, 22); + this.toolStripMenuItem15.Text = "Show all error messages"; this.toolStripMenuItem15.Click += new System.EventHandler(this.toolStripMenuItem15_Click); // // exportClassStructuresMenuItem // this.exportClassStructuresMenuItem.Name = "exportClassStructuresMenuItem"; - this.exportClassStructuresMenuItem.Size = new System.Drawing.Size(207, 22); + this.exportClassStructuresMenuItem.Size = new System.Drawing.Size(200, 22); this.exportClassStructuresMenuItem.Text = "Export class structures"; this.exportClassStructuresMenuItem.Click += new System.EventHandler(this.exportClassStructuresMenuItem_Click); // @@ -528,7 +527,7 @@ private void InitializeComponent() // this.splitContainer1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; this.splitContainer1.Dock = System.Windows.Forms.DockStyle.Fill; - this.splitContainer1.Location = new System.Drawing.Point(0, 25); + this.splitContainer1.Location = new System.Drawing.Point(0, 24); this.splitContainer1.Name = "splitContainer1"; // // splitContainer1.Panel1 @@ -542,7 +541,7 @@ private void InitializeComponent() this.splitContainer1.Panel2.Controls.Add(this.tabControl2); this.splitContainer1.Panel2.Controls.Add(this.statusStrip1); this.splitContainer1.Panel2MinSize = 400; - this.splitContainer1.Size = new System.Drawing.Size(1264, 656); + this.splitContainer1.Size = new System.Drawing.Size(1264, 657); this.splitContainer1.SplitterDistance = 482; this.splitContainer1.TabIndex = 2; this.splitContainer1.TabStop = false; @@ -557,7 +556,7 @@ private void InitializeComponent() this.tabControl1.Name = "tabControl1"; this.tabControl1.Padding = new System.Drawing.Point(17, 3); this.tabControl1.SelectedIndex = 0; - this.tabControl1.Size = new System.Drawing.Size(480, 634); + this.tabControl1.Size = new System.Drawing.Size(480, 633); this.tabControl1.SizeMode = System.Windows.Forms.TabSizeMode.Fixed; this.tabControl1.TabIndex = 0; this.tabControl1.Selected += new System.Windows.Forms.TabControlEventHandler(this.tabPageSelected); @@ -568,7 +567,7 @@ private void InitializeComponent() this.tabPage1.Controls.Add(this.treeSearch); this.tabPage1.Location = new System.Drawing.Point(4, 22); this.tabPage1.Name = "tabPage1"; - this.tabPage1.Size = new System.Drawing.Size(472, 608); + this.tabPage1.Size = new System.Drawing.Size(472, 607); this.tabPage1.TabIndex = 0; this.tabPage1.Text = "Scene Hierarchy"; this.tabPage1.UseVisualStyleBackColor = true; @@ -578,7 +577,7 @@ private void InitializeComponent() this.sceneTreeView.CheckBoxes = true; this.sceneTreeView.Dock = System.Windows.Forms.DockStyle.Fill; this.sceneTreeView.HideSelection = false; - this.sceneTreeView.Location = new System.Drawing.Point(0, 21); + this.sceneTreeView.Location = new System.Drawing.Point(0, 20); this.sceneTreeView.Name = "sceneTreeView"; this.sceneTreeView.Size = new System.Drawing.Size(472, 587); this.sceneTreeView.TabIndex = 1; @@ -590,7 +589,7 @@ private void InitializeComponent() this.treeSearch.ForeColor = System.Drawing.SystemColors.GrayText; this.treeSearch.Location = new System.Drawing.Point(0, 0); this.treeSearch.Name = "treeSearch"; - this.treeSearch.Size = new System.Drawing.Size(472, 21); + this.treeSearch.Size = new System.Drawing.Size(472, 20); this.treeSearch.TabIndex = 0; this.treeSearch.Text = " Search "; this.treeSearch.TextChanged += new System.EventHandler(this.treeSearch_TextChanged); @@ -604,7 +603,7 @@ private void InitializeComponent() this.tabPage2.Controls.Add(this.listSearch); this.tabPage2.Location = new System.Drawing.Point(4, 22); this.tabPage2.Name = "tabPage2"; - this.tabPage2.Size = new System.Drawing.Size(472, 608); + this.tabPage2.Size = new System.Drawing.Size(472, 607); this.tabPage2.TabIndex = 1; this.tabPage2.Text = "Asset List"; this.tabPage2.UseVisualStyleBackColor = true; @@ -621,7 +620,7 @@ private void InitializeComponent() this.assetListView.FullRowSelect = true; this.assetListView.GridLines = true; this.assetListView.HideSelection = false; - this.assetListView.Location = new System.Drawing.Point(0, 21); + this.assetListView.Location = new System.Drawing.Point(0, 20); this.assetListView.Name = "assetListView"; this.assetListView.Size = new System.Drawing.Size(472, 587); this.assetListView.TabIndex = 1; @@ -631,6 +630,8 @@ private void InitializeComponent() this.assetListView.ColumnClick += new System.Windows.Forms.ColumnClickEventHandler(this.assetListView_ColumnClick); this.assetListView.ItemSelectionChanged += new System.Windows.Forms.ListViewItemSelectionChangedEventHandler(this.selectAsset); this.assetListView.RetrieveVirtualItem += new System.Windows.Forms.RetrieveVirtualItemEventHandler(this.assetListView_RetrieveVirtualItem); + this.assetListView.SelectedIndexChanged += new System.EventHandler(this.assetListView_SelectedIndexChanged); + this.assetListView.VirtualItemsSelectionRangeChanged += new System.Windows.Forms.ListViewVirtualItemsSelectionRangeChangedEventHandler(this.assetListView_VirtualItemsSelectionRangeChanged); this.assetListView.MouseClick += new System.Windows.Forms.MouseEventHandler(this.assetListView_MouseClick); // // columnHeaderName @@ -663,7 +664,7 @@ private void InitializeComponent() this.listSearch.ForeColor = System.Drawing.SystemColors.GrayText; this.listSearch.Location = new System.Drawing.Point(0, 0); this.listSearch.Name = "listSearch"; - this.listSearch.Size = new System.Drawing.Size(472, 21); + this.listSearch.Size = new System.Drawing.Size(472, 20); this.listSearch.TabIndex = 0; this.listSearch.Text = " Filter "; this.listSearch.TextChanged += new System.EventHandler(this.ListSearchTextChanged); @@ -675,7 +676,7 @@ private void InitializeComponent() this.tabPage3.Controls.Add(this.classesListView); this.tabPage3.Location = new System.Drawing.Point(4, 22); this.tabPage3.Name = "tabPage3"; - this.tabPage3.Size = new System.Drawing.Size(472, 608); + this.tabPage3.Size = new System.Drawing.Size(472, 607); this.tabPage3.TabIndex = 2; this.tabPage3.Text = "Asset Classes"; this.tabPage3.UseVisualStyleBackColor = true; @@ -691,7 +692,7 @@ private void InitializeComponent() this.classesListView.Location = new System.Drawing.Point(0, 0); this.classesListView.MultiSelect = false; this.classesListView.Name = "classesListView"; - this.classesListView.Size = new System.Drawing.Size(472, 608); + this.classesListView.Size = new System.Drawing.Size(472, 607); this.classesListView.TabIndex = 0; this.classesListView.UseCompatibleStateImageBehavior = false; this.classesListView.View = System.Windows.Forms.View.Details; @@ -713,18 +714,18 @@ private void InitializeComponent() // this.progressbarPanel.Controls.Add(this.progressBar1); this.progressbarPanel.Dock = System.Windows.Forms.DockStyle.Bottom; - this.progressbarPanel.Location = new System.Drawing.Point(0, 634); + this.progressbarPanel.Location = new System.Drawing.Point(0, 633); this.progressbarPanel.Name = "progressbarPanel"; this.progressbarPanel.Padding = new System.Windows.Forms.Padding(1, 3, 1, 1); - this.progressbarPanel.Size = new System.Drawing.Size(480, 20); + this.progressbarPanel.Size = new System.Drawing.Size(480, 22); this.progressbarPanel.TabIndex = 2; // // progressBar1 // this.progressBar1.Dock = System.Windows.Forms.DockStyle.Bottom; - this.progressBar1.Location = new System.Drawing.Point(1, 2); + this.progressBar1.Location = new System.Drawing.Point(1, 3); this.progressBar1.Name = "progressBar1"; - this.progressBar1.Size = new System.Drawing.Size(478, 17); + this.progressBar1.Size = new System.Drawing.Size(478, 18); this.progressBar1.Step = 1; this.progressBar1.TabIndex = 1; // @@ -736,7 +737,7 @@ private void InitializeComponent() this.tabControl2.Location = new System.Drawing.Point(0, 0); this.tabControl2.Name = "tabControl2"; this.tabControl2.SelectedIndex = 0; - this.tabControl2.Size = new System.Drawing.Size(776, 632); + this.tabControl2.Size = new System.Drawing.Size(776, 633); this.tabControl2.TabIndex = 4; this.tabControl2.SelectedIndexChanged += new System.EventHandler(this.tabControl2_SelectedIndexChanged); // @@ -745,7 +746,7 @@ private void InitializeComponent() this.tabPage4.Controls.Add(this.previewPanel); this.tabPage4.Location = new System.Drawing.Point(4, 22); this.tabPage4.Name = "tabPage4"; - this.tabPage4.Size = new System.Drawing.Size(768, 606); + this.tabPage4.Size = new System.Drawing.Size(768, 607); this.tabPage4.TabIndex = 0; this.tabPage4.Text = "Preview"; this.tabPage4.UseVisualStyleBackColor = true; @@ -764,7 +765,7 @@ private void InitializeComponent() this.previewPanel.Dock = System.Windows.Forms.DockStyle.Fill; this.previewPanel.Location = new System.Drawing.Point(0, 0); this.previewPanel.Name = "previewPanel"; - this.previewPanel.Size = new System.Drawing.Size(768, 606); + this.previewPanel.Size = new System.Drawing.Size(768, 607); this.previewPanel.TabIndex = 1; this.previewPanel.Resize += new System.EventHandler(this.preview_Resize); // @@ -773,9 +774,9 @@ private void InitializeComponent() this.assetInfoLabel.AutoSize = true; this.assetInfoLabel.BackColor = System.Drawing.Color.Transparent; this.assetInfoLabel.ForeColor = System.Drawing.SystemColors.ControlLightLight; - this.assetInfoLabel.Location = new System.Drawing.Point(4, 7); + this.assetInfoLabel.Location = new System.Drawing.Point(4, 8); this.assetInfoLabel.Name = "assetInfoLabel"; - this.assetInfoLabel.Size = new System.Drawing.Size(0, 12); + this.assetInfoLabel.Size = new System.Drawing.Size(0, 13); this.assetInfoLabel.TabIndex = 0; // // FMODpanel @@ -794,7 +795,7 @@ private void InitializeComponent() this.FMODpanel.Dock = System.Windows.Forms.DockStyle.Fill; this.FMODpanel.Location = new System.Drawing.Point(0, 0); this.FMODpanel.Name = "FMODpanel"; - this.FMODpanel.Size = new System.Drawing.Size(768, 606); + this.FMODpanel.Size = new System.Drawing.Size(768, 607); this.FMODpanel.TabIndex = 2; this.FMODpanel.Visible = false; // @@ -802,9 +803,9 @@ private void InitializeComponent() // this.FMODcopyright.AutoSize = true; this.FMODcopyright.ForeColor = System.Drawing.SystemColors.ControlLight; - this.FMODcopyright.Location = new System.Drawing.Point(214, 337); + this.FMODcopyright.Location = new System.Drawing.Point(214, 365); this.FMODcopyright.Name = "FMODcopyright"; - this.FMODcopyright.Size = new System.Drawing.Size(341, 12); + this.FMODcopyright.Size = new System.Drawing.Size(283, 13); this.FMODcopyright.TabIndex = 9; this.FMODcopyright.Text = "Audio Engine supplied by FMOD by Firelight Technologies."; // @@ -812,17 +813,17 @@ private void InitializeComponent() // this.FMODinfoLabel.AutoSize = true; this.FMODinfoLabel.ForeColor = System.Drawing.SystemColors.ControlLightLight; - this.FMODinfoLabel.Location = new System.Drawing.Point(269, 235); + this.FMODinfoLabel.Location = new System.Drawing.Point(269, 255); this.FMODinfoLabel.Name = "FMODinfoLabel"; - this.FMODinfoLabel.Size = new System.Drawing.Size(0, 12); + this.FMODinfoLabel.Size = new System.Drawing.Size(0, 13); this.FMODinfoLabel.TabIndex = 8; // // FMODtimerLabel // this.FMODtimerLabel.ForeColor = System.Drawing.SystemColors.ControlLightLight; - this.FMODtimerLabel.Location = new System.Drawing.Point(404, 235); + this.FMODtimerLabel.Location = new System.Drawing.Point(404, 255); this.FMODtimerLabel.Name = "FMODtimerLabel"; - this.FMODtimerLabel.Size = new System.Drawing.Size(155, 12); + this.FMODtimerLabel.Size = new System.Drawing.Size(155, 13); this.FMODtimerLabel.TabIndex = 7; this.FMODtimerLabel.Text = "0:00.0 / 0:00.0"; this.FMODtimerLabel.TextAlign = System.Drawing.ContentAlignment.TopRight; @@ -830,19 +831,19 @@ private void InitializeComponent() // FMODstatusLabel // this.FMODstatusLabel.ForeColor = System.Drawing.SystemColors.ControlLightLight; - this.FMODstatusLabel.Location = new System.Drawing.Point(213, 235); + this.FMODstatusLabel.Location = new System.Drawing.Point(213, 255); this.FMODstatusLabel.Name = "FMODstatusLabel"; - this.FMODstatusLabel.Size = new System.Drawing.Size(50, 12); + this.FMODstatusLabel.Size = new System.Drawing.Size(50, 13); this.FMODstatusLabel.TabIndex = 6; this.FMODstatusLabel.Text = "Stopped"; // // FMODprogressBar // this.FMODprogressBar.AutoSize = false; - this.FMODprogressBar.Location = new System.Drawing.Point(213, 253); + this.FMODprogressBar.Location = new System.Drawing.Point(213, 274); this.FMODprogressBar.Maximum = 1000; this.FMODprogressBar.Name = "FMODprogressBar"; - this.FMODprogressBar.Size = new System.Drawing.Size(350, 22); + this.FMODprogressBar.Size = new System.Drawing.Size(350, 24); this.FMODprogressBar.TabIndex = 5; this.FMODprogressBar.TickStyle = System.Windows.Forms.TickStyle.None; this.FMODprogressBar.Scroll += new System.EventHandler(this.FMODprogressBar_Scroll); @@ -852,7 +853,7 @@ private void InitializeComponent() // FMODvolumeBar // this.FMODvolumeBar.LargeChange = 2; - this.FMODvolumeBar.Location = new System.Drawing.Point(460, 280); + this.FMODvolumeBar.Location = new System.Drawing.Point(460, 303); this.FMODvolumeBar.Name = "FMODvolumeBar"; this.FMODvolumeBar.Size = new System.Drawing.Size(104, 45); this.FMODvolumeBar.TabIndex = 4; @@ -863,9 +864,9 @@ private void InitializeComponent() // FMODloopButton // this.FMODloopButton.Appearance = System.Windows.Forms.Appearance.Button; - this.FMODloopButton.Location = new System.Drawing.Point(399, 280); + this.FMODloopButton.Location = new System.Drawing.Point(399, 303); this.FMODloopButton.Name = "FMODloopButton"; - this.FMODloopButton.Size = new System.Drawing.Size(55, 42); + this.FMODloopButton.Size = new System.Drawing.Size(55, 46); this.FMODloopButton.TabIndex = 3; this.FMODloopButton.Text = "Loop"; this.FMODloopButton.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; @@ -874,9 +875,9 @@ private void InitializeComponent() // // FMODstopButton // - this.FMODstopButton.Location = new System.Drawing.Point(338, 280); + this.FMODstopButton.Location = new System.Drawing.Point(338, 303); this.FMODstopButton.Name = "FMODstopButton"; - this.FMODstopButton.Size = new System.Drawing.Size(55, 42); + this.FMODstopButton.Size = new System.Drawing.Size(55, 46); this.FMODstopButton.TabIndex = 2; this.FMODstopButton.Text = "Stop"; this.FMODstopButton.UseVisualStyleBackColor = true; @@ -884,9 +885,9 @@ private void InitializeComponent() // // FMODpauseButton // - this.FMODpauseButton.Location = new System.Drawing.Point(277, 280); + this.FMODpauseButton.Location = new System.Drawing.Point(277, 303); this.FMODpauseButton.Name = "FMODpauseButton"; - this.FMODpauseButton.Size = new System.Drawing.Size(55, 42); + this.FMODpauseButton.Size = new System.Drawing.Size(55, 46); this.FMODpauseButton.TabIndex = 1; this.FMODpauseButton.Text = "Pause"; this.FMODpauseButton.UseVisualStyleBackColor = true; @@ -894,9 +895,9 @@ private void InitializeComponent() // // FMODplayButton // - this.FMODplayButton.Location = new System.Drawing.Point(216, 280); + this.FMODplayButton.Location = new System.Drawing.Point(216, 303); this.FMODplayButton.Name = "FMODplayButton"; - this.FMODplayButton.Size = new System.Drawing.Size(55, 42); + this.FMODplayButton.Size = new System.Drawing.Size(55, 46); this.FMODplayButton.TabIndex = 0; this.FMODplayButton.Text = "Play"; this.FMODplayButton.UseVisualStyleBackColor = true; @@ -909,7 +910,7 @@ private void InitializeComponent() this.fontPreviewBox.Location = new System.Drawing.Point(0, 0); this.fontPreviewBox.Name = "fontPreviewBox"; this.fontPreviewBox.ReadOnly = true; - this.fontPreviewBox.Size = new System.Drawing.Size(768, 606); + this.fontPreviewBox.Size = new System.Drawing.Size(768, 607); this.fontPreviewBox.TabIndex = 0; this.fontPreviewBox.Text = resources.GetString("fontPreviewBox.Text"); this.fontPreviewBox.Visible = false; @@ -921,7 +922,7 @@ private void InitializeComponent() this.glControl1.Dock = System.Windows.Forms.DockStyle.Fill; this.glControl1.Location = new System.Drawing.Point(0, 0); this.glControl1.Name = "glControl1"; - this.glControl1.Size = new System.Drawing.Size(768, 606); + this.glControl1.Size = new System.Drawing.Size(768, 607); this.glControl1.TabIndex = 4; this.glControl1.Visible = false; this.glControl1.VSync = false; @@ -941,7 +942,7 @@ private void InitializeComponent() this.textPreviewBox.Name = "textPreviewBox"; this.textPreviewBox.ReadOnly = true; this.textPreviewBox.ScrollBars = System.Windows.Forms.ScrollBars.Both; - this.textPreviewBox.Size = new System.Drawing.Size(768, 606); + this.textPreviewBox.Size = new System.Drawing.Size(768, 607); this.textPreviewBox.TabIndex = 2; this.textPreviewBox.Visible = false; this.textPreviewBox.WordWrap = false; @@ -954,7 +955,7 @@ private void InitializeComponent() this.classTextBox.Name = "classTextBox"; this.classTextBox.ReadOnly = true; this.classTextBox.ScrollBars = System.Windows.Forms.ScrollBars.Both; - this.classTextBox.Size = new System.Drawing.Size(768, 606); + this.classTextBox.Size = new System.Drawing.Size(768, 607); this.classTextBox.TabIndex = 3; this.classTextBox.Visible = false; this.classTextBox.WordWrap = false; @@ -964,7 +965,7 @@ private void InitializeComponent() this.tabPage5.Controls.Add(this.dumpTextBox); this.tabPage5.Location = new System.Drawing.Point(4, 22); this.tabPage5.Name = "tabPage5"; - this.tabPage5.Size = new System.Drawing.Size(768, 606); + this.tabPage5.Size = new System.Drawing.Size(768, 607); this.tabPage5.TabIndex = 1; this.tabPage5.Text = "Dump"; this.tabPage5.UseVisualStyleBackColor = true; @@ -977,7 +978,7 @@ private void InitializeComponent() this.dumpTextBox.Name = "dumpTextBox"; this.dumpTextBox.ReadOnly = true; this.dumpTextBox.ScrollBars = System.Windows.Forms.ScrollBars.Both; - this.dumpTextBox.Size = new System.Drawing.Size(768, 606); + this.dumpTextBox.Size = new System.Drawing.Size(768, 607); this.dumpTextBox.TabIndex = 0; this.dumpTextBox.WordWrap = false; // @@ -985,7 +986,7 @@ private void InitializeComponent() // this.statusStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.toolStripStatusLabel1}); - this.statusStrip1.Location = new System.Drawing.Point(0, 632); + this.statusStrip1.Location = new System.Drawing.Point(0, 633); this.statusStrip1.Name = "statusStrip1"; this.statusStrip1.Size = new System.Drawing.Size(776, 22); this.statusStrip1.TabIndex = 2; @@ -1019,37 +1020,45 @@ private void InitializeComponent() this.copyToolStripMenuItem, this.exportSelectedAssetsToolStripMenuItem, this.exportAnimatorwithselectedAnimationClipMenuItem, + this.dumpSelectedAssetsToolStripMenuItem, this.goToSceneHierarchyToolStripMenuItem, this.showOriginalFileToolStripMenuItem}); this.contextMenuStrip1.Name = "contextMenuStrip1"; - this.contextMenuStrip1.Size = new System.Drawing.Size(327, 114); + this.contextMenuStrip1.Size = new System.Drawing.Size(304, 158); // // copyToolStripMenuItem // this.copyToolStripMenuItem.Name = "copyToolStripMenuItem"; - this.copyToolStripMenuItem.Size = new System.Drawing.Size(326, 22); + this.copyToolStripMenuItem.Size = new System.Drawing.Size(303, 22); this.copyToolStripMenuItem.Text = "Copy text"; this.copyToolStripMenuItem.Click += new System.EventHandler(this.copyToolStripMenuItem_Click); // // exportSelectedAssetsToolStripMenuItem // this.exportSelectedAssetsToolStripMenuItem.Name = "exportSelectedAssetsToolStripMenuItem"; - this.exportSelectedAssetsToolStripMenuItem.Size = new System.Drawing.Size(326, 22); + this.exportSelectedAssetsToolStripMenuItem.Size = new System.Drawing.Size(303, 22); this.exportSelectedAssetsToolStripMenuItem.Text = "Export selected assets"; this.exportSelectedAssetsToolStripMenuItem.Click += new System.EventHandler(this.exportSelectedAssetsToolStripMenuItem_Click); // // exportAnimatorwithselectedAnimationClipMenuItem // this.exportAnimatorwithselectedAnimationClipMenuItem.Name = "exportAnimatorwithselectedAnimationClipMenuItem"; - this.exportAnimatorwithselectedAnimationClipMenuItem.Size = new System.Drawing.Size(326, 22); + this.exportAnimatorwithselectedAnimationClipMenuItem.Size = new System.Drawing.Size(303, 22); this.exportAnimatorwithselectedAnimationClipMenuItem.Text = "Export Animator + selected AnimationClips"; this.exportAnimatorwithselectedAnimationClipMenuItem.Visible = false; this.exportAnimatorwithselectedAnimationClipMenuItem.Click += new System.EventHandler(this.exportAnimatorwithAnimationClipMenuItem_Click); // + // dumpSelectedAssetsToolStripMenuItem + // + this.dumpSelectedAssetsToolStripMenuItem.Name = "dumpSelectedAssetsToolStripMenuItem"; + this.dumpSelectedAssetsToolStripMenuItem.Size = new System.Drawing.Size(303, 22); + this.dumpSelectedAssetsToolStripMenuItem.Text = "Dump selected assets"; + this.dumpSelectedAssetsToolStripMenuItem.Click += new System.EventHandler(this.dumpSelectedAssetsToolStripMenuItem_Click); + // // goToSceneHierarchyToolStripMenuItem // this.goToSceneHierarchyToolStripMenuItem.Name = "goToSceneHierarchyToolStripMenuItem"; - this.goToSceneHierarchyToolStripMenuItem.Size = new System.Drawing.Size(326, 22); + this.goToSceneHierarchyToolStripMenuItem.Size = new System.Drawing.Size(303, 22); this.goToSceneHierarchyToolStripMenuItem.Text = "Go to scene hierarchy"; this.goToSceneHierarchyToolStripMenuItem.Visible = false; this.goToSceneHierarchyToolStripMenuItem.Click += new System.EventHandler(this.goToSceneHierarchyToolStripMenuItem_Click); @@ -1057,7 +1066,7 @@ private void InitializeComponent() // showOriginalFileToolStripMenuItem // this.showOriginalFileToolStripMenuItem.Name = "showOriginalFileToolStripMenuItem"; - this.showOriginalFileToolStripMenuItem.Size = new System.Drawing.Size(326, 22); + this.showOriginalFileToolStripMenuItem.Size = new System.Drawing.Size(303, 22); this.showOriginalFileToolStripMenuItem.Text = "Show original file"; this.showOriginalFileToolStripMenuItem.Visible = false; this.showOriginalFileToolStripMenuItem.Click += new System.EventHandler(this.showOriginalFileToolStripMenuItem_Click); @@ -1065,7 +1074,7 @@ private void InitializeComponent() // AssetStudioGUIForm // this.AllowDrop = true; - this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.ClientSize = new System.Drawing.Size(1264, 681); this.Controls.Add(this.splitContainer1); @@ -1073,7 +1082,7 @@ private void InitializeComponent() this.Icon = global::AssetStudioGUI.Properties.Resources._as; this.KeyPreview = true; this.MainMenuStrip = this.menuStrip1; - this.MinimumSize = new System.Drawing.Size(620, 372); + this.MinimumSize = new System.Drawing.Size(620, 400); this.Name = "AssetStudioGUIForm"; this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; this.Text = "AssetStudioGUI"; @@ -1210,6 +1219,7 @@ private void InitializeComponent() private System.Windows.Forms.ToolStripMenuItem toolStripMenuItem14; private System.Windows.Forms.ToolStripTextBox specifyUnityVersion; private System.Windows.Forms.ToolStripMenuItem toolStripMenuItem15; + private System.Windows.Forms.ToolStripMenuItem dumpSelectedAssetsToolStripMenuItem; } } diff --git a/AssetStudioGUI/AssetStudioGUIForm.cs b/AssetStudioGUI/AssetStudioGUIForm.cs index 4e92f61a..c43a9704 100644 --- a/AssetStudioGUI/AssetStudioGUIForm.cs +++ b/AssetStudioGUI/AssetStudioGUIForm.cs @@ -1243,6 +1243,8 @@ private void ResetForm() reverseSort = false; enableFiltering = false; listSearch.Text = " Filter "; + if (tabControl1.SelectedIndex == 1) + assetListView.Select(); var count = filterTypeToolStripMenuItem.DropDownItems.Count; for (var i = 1; i < count; i++) @@ -1275,7 +1277,10 @@ private void assetListView_MouseClick(object sender, MouseEventArgs e) } } - tempClipboard = assetListView.HitTest(new Point(e.X, e.Y)).SubItem.Text; + var selectedElement = assetListView.HitTest(new Point(e.X, e.Y)); + var subItemIndex = selectedElement.Item.SubItems.IndexOf(selectedElement.SubItem); + tempClipboard = selectedElement.SubItem.Text; + copyToolStripMenuItem.Text = $"Copy {assetListView.Columns[subItemIndex].Text}"; contextMenuStrip1.Show(assetListView, e.X, e.Y); } } @@ -1290,6 +1295,11 @@ private void exportSelectedAssetsToolStripMenuItem_Click(object sender, EventArg ExportAssets(ExportFilter.Selected, ExportType.Convert); } + private void dumpSelectedAssetsToolStripMenuItem_Click(object sender, EventArgs e) + { + ExportAssets(ExportFilter.Selected, ExportType.Dump); + } + private void showOriginalFileToolStripMenuItem_Click(object sender, EventArgs e) { var selectasset = (AssetItem)assetListView.Items[assetListView.SelectedIndices[0]]; @@ -1494,6 +1504,18 @@ private void exportAllObjectssplitToolStripMenuItem1_Click(object sender, EventA } } + private void assetListView_SelectedIndexChanged(object sender, EventArgs e) + { + if (assetListView.SelectedIndices.Count > 1) + StatusStripUpdate($"Selected {assetListView.SelectedIndices.Count} assets."); + } + + private void assetListView_VirtualItemsSelectionRangeChanged(object sender, ListViewVirtualItemsSelectionRangeChangedEventArgs e) + { + if (assetListView.SelectedIndices.Count > 1) + StatusStripUpdate($"Selected {assetListView.SelectedIndices.Count} assets."); + } + private List GetSelectedAssets() { var selectedAssets = new List(assetListView.SelectedIndices.Count); diff --git a/AssetStudioGUI/Components/TreeViewExtensions.cs b/AssetStudioGUI/Components/TreeViewExtensions.cs index d06bfa76..af1968ef 100644 --- a/AssetStudioGUI/Components/TreeViewExtensions.cs +++ b/AssetStudioGUI/Components/TreeViewExtensions.cs @@ -40,7 +40,7 @@ public static void HideCheckBox(this TreeNode node) hItem = node.Handle, mask = TVIF_STATE, stateMask = TVIS_STATEIMAGEMASK, - state = 0 + state = TVIS_STATEIMAGEMASK //temp bugfix for an issue with getting stuck during the "Building tree structure" step }; SendMessage(node.TreeView.Handle, TVM_SETITEM, IntPtr.Zero, ref tvi); } diff --git a/AssetStudioGUI/ExportOptions.Designer.cs b/AssetStudioGUI/ExportOptions.Designer.cs index ee9ba018..1d7f694d 100644 --- a/AssetStudioGUI/ExportOptions.Designer.cs +++ b/AssetStudioGUI/ExportOptions.Designer.cs @@ -72,9 +72,9 @@ private void InitializeComponent() // // OKbutton // - this.OKbutton.Location = new System.Drawing.Point(318, 351); + this.OKbutton.Location = new System.Drawing.Point(318, 380); this.OKbutton.Name = "OKbutton"; - this.OKbutton.Size = new System.Drawing.Size(75, 21); + this.OKbutton.Size = new System.Drawing.Size(75, 23); this.OKbutton.TabIndex = 6; this.OKbutton.Text = "OK"; this.OKbutton.UseVisualStyleBackColor = true; @@ -83,9 +83,9 @@ private void InitializeComponent() // Cancel // this.Cancel.DialogResult = System.Windows.Forms.DialogResult.Cancel; - this.Cancel.Location = new System.Drawing.Point(399, 351); + this.Cancel.Location = new System.Drawing.Point(399, 380); this.Cancel.Name = "Cancel"; - this.Cancel.Size = new System.Drawing.Size(75, 21); + this.Cancel.Size = new System.Drawing.Size(75, 23); this.Cancel.TabIndex = 7; this.Cancel.Text = "Cancel"; this.Cancel.UseVisualStyleBackColor = true; @@ -101,9 +101,9 @@ private void InitializeComponent() this.groupBox1.Controls.Add(this.convertAudio); this.groupBox1.Controls.Add(this.panel1); this.groupBox1.Controls.Add(this.converttexture); - this.groupBox1.Location = new System.Drawing.Point(12, 12); + this.groupBox1.Location = new System.Drawing.Point(12, 13); this.groupBox1.Name = "groupBox1"; - this.groupBox1.Size = new System.Drawing.Size(232, 334); + this.groupBox1.Size = new System.Drawing.Size(232, 362); this.groupBox1.TabIndex = 9; this.groupBox1.TabStop = false; this.groupBox1.Text = "Export"; @@ -113,9 +113,9 @@ private void InitializeComponent() this.openAfterExport.AutoSize = true; this.openAfterExport.Checked = true; this.openAfterExport.CheckState = System.Windows.Forms.CheckState.Checked; - this.openAfterExport.Location = new System.Drawing.Point(6, 160); + this.openAfterExport.Location = new System.Drawing.Point(6, 173); this.openAfterExport.Name = "openAfterExport"; - this.openAfterExport.Size = new System.Drawing.Size(168, 16); + this.openAfterExport.Size = new System.Drawing.Size(137, 17); this.openAfterExport.TabIndex = 10; this.openAfterExport.Text = "Open folder after export"; this.openAfterExport.UseVisualStyleBackColor = true; @@ -125,9 +125,9 @@ private void InitializeComponent() this.restoreExtensionName.AutoSize = true; this.restoreExtensionName.Checked = true; this.restoreExtensionName.CheckState = System.Windows.Forms.CheckState.Checked; - this.restoreExtensionName.Location = new System.Drawing.Point(6, 58); + this.restoreExtensionName.Location = new System.Drawing.Point(6, 63); this.restoreExtensionName.Name = "restoreExtensionName"; - this.restoreExtensionName.Size = new System.Drawing.Size(216, 16); + this.restoreExtensionName.Size = new System.Drawing.Size(190, 17); this.restoreExtensionName.TabIndex = 9; this.restoreExtensionName.Text = "Restore TextAsset extension name"; this.restoreExtensionName.UseVisualStyleBackColor = true; @@ -141,17 +141,17 @@ private void InitializeComponent() "container path", "source file name", "do not group"}); - this.assetGroupOptions.Location = new System.Drawing.Point(6, 32); + this.assetGroupOptions.Location = new System.Drawing.Point(6, 35); this.assetGroupOptions.Name = "assetGroupOptions"; - this.assetGroupOptions.Size = new System.Drawing.Size(149, 20); + this.assetGroupOptions.Size = new System.Drawing.Size(149, 21); this.assetGroupOptions.TabIndex = 8; // // label6 // this.label6.AutoSize = true; - this.label6.Location = new System.Drawing.Point(6, 17); + this.label6.Location = new System.Drawing.Point(6, 18); this.label6.Name = "label6"; - this.label6.Size = new System.Drawing.Size(149, 12); + this.label6.Size = new System.Drawing.Size(127, 13); this.label6.TabIndex = 7; this.label6.Text = "Group exported assets by"; // @@ -160,9 +160,9 @@ private void InitializeComponent() this.convertAudio.AutoSize = true; this.convertAudio.Checked = true; this.convertAudio.CheckState = System.Windows.Forms.CheckState.Checked; - this.convertAudio.Location = new System.Drawing.Point(6, 138); + this.convertAudio.Location = new System.Drawing.Point(6, 150); this.convertAudio.Name = "convertAudio"; - this.convertAudio.Size = new System.Drawing.Size(198, 16); + this.convertAudio.Size = new System.Drawing.Size(179, 17); this.convertAudio.TabIndex = 6; this.convertAudio.Text = "Convert AudioClip to WAV(PCM)"; this.convertAudio.UseVisualStyleBackColor = true; @@ -173,17 +173,17 @@ private void InitializeComponent() this.panel1.Controls.Add(this.tojpg); this.panel1.Controls.Add(this.topng); this.panel1.Controls.Add(this.tobmp); - this.panel1.Location = new System.Drawing.Point(20, 102); + this.panel1.Location = new System.Drawing.Point(20, 111); this.panel1.Name = "panel1"; - this.panel1.Size = new System.Drawing.Size(202, 30); + this.panel1.Size = new System.Drawing.Size(202, 33); this.panel1.TabIndex = 5; // // totga // this.totga.AutoSize = true; - this.totga.Location = new System.Drawing.Point(150, 6); + this.totga.Location = new System.Drawing.Point(150, 7); this.totga.Name = "totga"; - this.totga.Size = new System.Drawing.Size(41, 16); + this.totga.Size = new System.Drawing.Size(44, 17); this.totga.TabIndex = 2; this.totga.Text = "Tga"; this.totga.UseVisualStyleBackColor = true; @@ -191,9 +191,9 @@ private void InitializeComponent() // tojpg // this.tojpg.AutoSize = true; - this.tojpg.Location = new System.Drawing.Point(97, 6); + this.tojpg.Location = new System.Drawing.Point(97, 7); this.tojpg.Name = "tojpg"; - this.tojpg.Size = new System.Drawing.Size(47, 16); + this.tojpg.Size = new System.Drawing.Size(48, 17); this.tojpg.TabIndex = 4; this.tojpg.Text = "Jpeg"; this.tojpg.UseVisualStyleBackColor = true; @@ -202,9 +202,9 @@ private void InitializeComponent() // this.topng.AutoSize = true; this.topng.Checked = true; - this.topng.Location = new System.Drawing.Point(50, 6); + this.topng.Location = new System.Drawing.Point(50, 7); this.topng.Name = "topng"; - this.topng.Size = new System.Drawing.Size(41, 16); + this.topng.Size = new System.Drawing.Size(44, 17); this.topng.TabIndex = 3; this.topng.TabStop = true; this.topng.Text = "Png"; @@ -213,9 +213,9 @@ private void InitializeComponent() // tobmp // this.tobmp.AutoSize = true; - this.tobmp.Location = new System.Drawing.Point(3, 6); + this.tobmp.Location = new System.Drawing.Point(3, 7); this.tobmp.Name = "tobmp"; - this.tobmp.Size = new System.Drawing.Size(41, 16); + this.tobmp.Size = new System.Drawing.Size(46, 17); this.tobmp.TabIndex = 2; this.tobmp.Text = "Bmp"; this.tobmp.UseVisualStyleBackColor = true; @@ -225,9 +225,9 @@ private void InitializeComponent() this.converttexture.AutoSize = true; this.converttexture.Checked = true; this.converttexture.CheckState = System.Windows.Forms.CheckState.Checked; - this.converttexture.Location = new System.Drawing.Point(6, 80); + this.converttexture.Location = new System.Drawing.Point(6, 87); this.converttexture.Name = "converttexture"; - this.converttexture.Size = new System.Drawing.Size(126, 16); + this.converttexture.Size = new System.Drawing.Size(116, 17); this.converttexture.TabIndex = 1; this.converttexture.Text = "Convert Texture2D"; this.converttexture.UseVisualStyleBackColor = true; @@ -252,9 +252,9 @@ private void InitializeComponent() this.groupBox2.Controls.Add(this.castToBone); this.groupBox2.Controls.Add(this.exportAllNodes); this.groupBox2.Controls.Add(this.eulerFilter); - this.groupBox2.Location = new System.Drawing.Point(250, 12); + this.groupBox2.Location = new System.Drawing.Point(250, 13); this.groupBox2.Name = "groupBox2"; - this.groupBox2.Size = new System.Drawing.Size(224, 334); + this.groupBox2.Size = new System.Drawing.Size(224, 362); this.groupBox2.TabIndex = 11; this.groupBox2.TabStop = false; this.groupBox2.Text = "Fbx"; @@ -263,9 +263,9 @@ private void InitializeComponent() // this.exportAllUvsAsDiffuseMaps.AccessibleDescription = ""; this.exportAllUvsAsDiffuseMaps.AutoSize = true; - this.exportAllUvsAsDiffuseMaps.Location = new System.Drawing.Point(6, 171); + this.exportAllUvsAsDiffuseMaps.Location = new System.Drawing.Point(6, 185); this.exportAllUvsAsDiffuseMaps.Name = "exportAllUvsAsDiffuseMaps"; - this.exportAllUvsAsDiffuseMaps.Size = new System.Drawing.Size(204, 16); + this.exportAllUvsAsDiffuseMaps.Size = new System.Drawing.Size(168, 17); this.exportAllUvsAsDiffuseMaps.TabIndex = 23; this.exportAllUvsAsDiffuseMaps.Text = "Export all UVs as diffuse maps"; this.exportUvsTooltip.SetToolTip(this.exportAllUvsAsDiffuseMaps, "Unchecked: UV1 exported as normal map. Check this if your export is missing a UV " + @@ -277,9 +277,9 @@ private void InitializeComponent() this.exportBlendShape.AutoSize = true; this.exportBlendShape.Checked = true; this.exportBlendShape.CheckState = System.Windows.Forms.CheckState.Checked; - this.exportBlendShape.Location = new System.Drawing.Point(6, 127); + this.exportBlendShape.Location = new System.Drawing.Point(6, 138); this.exportBlendShape.Name = "exportBlendShape"; - this.exportBlendShape.Size = new System.Drawing.Size(126, 16); + this.exportBlendShape.Size = new System.Drawing.Size(114, 17); this.exportBlendShape.TabIndex = 22; this.exportBlendShape.Text = "Export blendshape"; this.exportBlendShape.UseVisualStyleBackColor = true; @@ -289,9 +289,9 @@ private void InitializeComponent() this.exportAnimations.AutoSize = true; this.exportAnimations.Checked = true; this.exportAnimations.CheckState = System.Windows.Forms.CheckState.Checked; - this.exportAnimations.Location = new System.Drawing.Point(6, 105); + this.exportAnimations.Location = new System.Drawing.Point(6, 114); this.exportAnimations.Name = "exportAnimations"; - this.exportAnimations.Size = new System.Drawing.Size(126, 16); + this.exportAnimations.Size = new System.Drawing.Size(109, 17); this.exportAnimations.TabIndex = 21; this.exportAnimations.Text = "Export animations"; this.exportAnimations.UseVisualStyleBackColor = true; @@ -304,9 +304,9 @@ private void InitializeComponent() 0, 0, 131072}); - this.scaleFactor.Location = new System.Drawing.Point(83, 224); + this.scaleFactor.Location = new System.Drawing.Point(83, 243); this.scaleFactor.Name = "scaleFactor"; - this.scaleFactor.Size = new System.Drawing.Size(60, 21); + this.scaleFactor.Size = new System.Drawing.Size(60, 20); this.scaleFactor.TabIndex = 20; this.scaleFactor.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; this.scaleFactor.Value = new decimal(new int[] { @@ -318,9 +318,9 @@ private void InitializeComponent() // label5 // this.label5.AutoSize = true; - this.label5.Location = new System.Drawing.Point(6, 226); + this.label5.Location = new System.Drawing.Point(6, 245); this.label5.Name = "label5"; - this.label5.Size = new System.Drawing.Size(71, 12); + this.label5.Size = new System.Drawing.Size(64, 13); this.label5.TabIndex = 19; this.label5.Text = "ScaleFactor"; // @@ -331,17 +331,17 @@ private void InitializeComponent() this.fbxFormat.Items.AddRange(new object[] { "Binary", "Ascii"}); - this.fbxFormat.Location = new System.Drawing.Point(77, 254); + this.fbxFormat.Location = new System.Drawing.Point(77, 275); this.fbxFormat.Name = "fbxFormat"; - this.fbxFormat.Size = new System.Drawing.Size(61, 20); + this.fbxFormat.Size = new System.Drawing.Size(61, 21); this.fbxFormat.TabIndex = 18; // // label4 // this.label4.AutoSize = true; - this.label4.Location = new System.Drawing.Point(6, 258); + this.label4.Location = new System.Drawing.Point(6, 280); this.label4.Name = "label4"; - this.label4.Size = new System.Drawing.Size(59, 12); + this.label4.Size = new System.Drawing.Size(59, 13); this.label4.TabIndex = 17; this.label4.Text = "FBXFormat"; // @@ -356,25 +356,25 @@ private void InitializeComponent() "7.3", "7.4", "7.5"}); - this.fbxVersion.Location = new System.Drawing.Point(77, 284); + this.fbxVersion.Location = new System.Drawing.Point(77, 308); this.fbxVersion.Name = "fbxVersion"; - this.fbxVersion.Size = new System.Drawing.Size(47, 20); + this.fbxVersion.Size = new System.Drawing.Size(47, 21); this.fbxVersion.TabIndex = 16; // // label3 // this.label3.AutoSize = true; - this.label3.Location = new System.Drawing.Point(6, 287); + this.label3.Location = new System.Drawing.Point(6, 311); this.label3.Name = "label3"; - this.label3.Size = new System.Drawing.Size(65, 12); + this.label3.Size = new System.Drawing.Size(62, 13); this.label3.TabIndex = 15; this.label3.Text = "FBXVersion"; // // boneSize // - this.boneSize.Location = new System.Drawing.Point(65, 197); + this.boneSize.Location = new System.Drawing.Point(65, 213); this.boneSize.Name = "boneSize"; - this.boneSize.Size = new System.Drawing.Size(46, 21); + this.boneSize.Size = new System.Drawing.Size(46, 20); this.boneSize.TabIndex = 11; this.boneSize.Value = new decimal(new int[] { 10, @@ -385,9 +385,9 @@ private void InitializeComponent() // label2 // this.label2.AutoSize = true; - this.label2.Location = new System.Drawing.Point(6, 199); + this.label2.Location = new System.Drawing.Point(6, 216); this.label2.Name = "label2"; - this.label2.Size = new System.Drawing.Size(53, 12); + this.label2.Size = new System.Drawing.Size(52, 13); this.label2.TabIndex = 10; this.label2.Text = "BoneSize"; // @@ -396,9 +396,9 @@ private void InitializeComponent() this.exportSkins.AutoSize = true; this.exportSkins.Checked = true; this.exportSkins.CheckState = System.Windows.Forms.CheckState.Checked; - this.exportSkins.Location = new System.Drawing.Point(6, 83); + this.exportSkins.Location = new System.Drawing.Point(6, 90); this.exportSkins.Name = "exportSkins"; - this.exportSkins.Size = new System.Drawing.Size(96, 16); + this.exportSkins.Size = new System.Drawing.Size(83, 17); this.exportSkins.TabIndex = 8; this.exportSkins.Text = "Export skins"; this.exportSkins.UseVisualStyleBackColor = true; @@ -406,9 +406,9 @@ private void InitializeComponent() // label1 // this.label1.AutoSize = true; - this.label1.Location = new System.Drawing.Point(26, 39); + this.label1.Location = new System.Drawing.Point(26, 42); this.label1.Name = "label1"; - this.label1.Size = new System.Drawing.Size(95, 12); + this.label1.Size = new System.Drawing.Size(72, 13); this.label1.TabIndex = 7; this.label1.Text = "FilterPrecision"; // @@ -420,9 +420,9 @@ private void InitializeComponent() 0, 0, 131072}); - this.filterPrecision.Location = new System.Drawing.Point(127, 37); + this.filterPrecision.Location = new System.Drawing.Point(127, 40); this.filterPrecision.Name = "filterPrecision"; - this.filterPrecision.Size = new System.Drawing.Size(51, 21); + this.filterPrecision.Size = new System.Drawing.Size(51, 20); this.filterPrecision.TabIndex = 6; this.filterPrecision.Value = new decimal(new int[] { 25, @@ -433,9 +433,9 @@ private void InitializeComponent() // castToBone // this.castToBone.AutoSize = true; - this.castToBone.Location = new System.Drawing.Point(6, 149); + this.castToBone.Location = new System.Drawing.Point(6, 161); this.castToBone.Name = "castToBone"; - this.castToBone.Size = new System.Drawing.Size(156, 16); + this.castToBone.Size = new System.Drawing.Size(131, 17); this.castToBone.TabIndex = 5; this.castToBone.Text = "All nodes cast to bone"; this.castToBone.UseVisualStyleBackColor = true; @@ -445,9 +445,9 @@ private void InitializeComponent() this.exportAllNodes.AutoSize = true; this.exportAllNodes.Checked = true; this.exportAllNodes.CheckState = System.Windows.Forms.CheckState.Checked; - this.exportAllNodes.Location = new System.Drawing.Point(6, 61); + this.exportAllNodes.Location = new System.Drawing.Point(6, 66); this.exportAllNodes.Name = "exportAllNodes"; - this.exportAllNodes.Size = new System.Drawing.Size(120, 16); + this.exportAllNodes.Size = new System.Drawing.Size(101, 17); this.exportAllNodes.TabIndex = 4; this.exportAllNodes.Text = "Export all nodes"; this.exportAllNodes.UseVisualStyleBackColor = true; @@ -457,9 +457,9 @@ private void InitializeComponent() this.eulerFilter.AutoSize = true; this.eulerFilter.Checked = true; this.eulerFilter.CheckState = System.Windows.Forms.CheckState.Checked; - this.eulerFilter.Location = new System.Drawing.Point(6, 20); + this.eulerFilter.Location = new System.Drawing.Point(6, 22); this.eulerFilter.Name = "eulerFilter"; - this.eulerFilter.Size = new System.Drawing.Size(90, 16); + this.eulerFilter.Size = new System.Drawing.Size(72, 17); this.eulerFilter.TabIndex = 3; this.eulerFilter.Text = "EulerFilter"; this.eulerFilter.UseVisualStyleBackColor = true; @@ -467,19 +467,19 @@ private void InitializeComponent() // ExportOptions // this.AcceptButton = this.OKbutton; - this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.CancelButton = this.Cancel; - this.ClientSize = new System.Drawing.Size(486, 384); + this.ClientSize = new System.Drawing.Size(486, 416); this.Controls.Add(this.groupBox2); this.Controls.Add(this.groupBox1); this.Controls.Add(this.Cancel); this.Controls.Add(this.OKbutton); + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle; this.MaximizeBox = false; this.MinimizeBox = false; this.Name = "ExportOptions"; this.ShowIcon = false; - this.ShowInTaskbar = false; this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; this.Text = "Export options"; this.TopMost = true; diff --git a/AssetStudioGUI/ExportOptions.resx b/AssetStudioGUI/ExportOptions.resx index 6966b189..b60237fd 100644 --- a/AssetStudioGUI/ExportOptions.resx +++ b/AssetStudioGUI/ExportOptions.resx @@ -120,4 +120,7 @@ 17, 17 + + 17, 17 + \ No newline at end of file diff --git a/AssetStudioGUI/GUILogger.cs b/AssetStudioGUI/GUILogger.cs index a2348d37..53dfe24a 100644 --- a/AssetStudioGUI/GUILogger.cs +++ b/AssetStudioGUI/GUILogger.cs @@ -6,7 +6,7 @@ namespace AssetStudioGUI { class GUILogger : ILogger { - public bool ShowErrorMessage = true; + public bool ShowErrorMessage = false; private Action action; public GUILogger(Action action) diff --git a/AssetStudioGUI/Studio.cs b/AssetStudioGUI/Studio.cs index 7243398f..cf242bc9 100644 --- a/AssetStudioGUI/Studio.cs +++ b/AssetStudioGUI/Studio.cs @@ -413,7 +413,7 @@ public static void ExportAssets(string savePath, List toExportAssets, break; } exportPath += Path.DirectorySeparatorChar; - StatusStripUpdate($"Exporting {asset.TypeString}: {asset.Text}"); + StatusStripUpdate($"[{exportedCount}/{toExportCount}] Exporting {asset.TypeString}: {asset.Text}"); try { switch (exportType)