Bug fixes
This commit is contained in:
78
AssetStudioGUI/AssetStudioGUIForm.Designer.cs
generated
78
AssetStudioGUI/AssetStudioGUIForm.Designer.cs
generated
@@ -45,7 +45,10 @@ namespace AssetStudioGUI
|
|||||||
optionsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
optionsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
displayAll = new System.Windows.Forms.ToolStripMenuItem();
|
displayAll = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
enablePreview = new System.Windows.Forms.ToolStripMenuItem();
|
enablePreview = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
|
enableModelPreview = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
modelsOnly = new System.Windows.Forms.ToolStripMenuItem();
|
modelsOnly = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
|
enableResolveDependencies = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
|
skipContainer = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
displayInfo = new System.Windows.Forms.ToolStripMenuItem();
|
displayInfo = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
toolStripMenuItem14 = new System.Windows.Forms.ToolStripMenuItem();
|
toolStripMenuItem14 = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
specifyUnityVersion = new System.Windows.Forms.ToolStripTextBox();
|
specifyUnityVersion = new System.Windows.Forms.ToolStripTextBox();
|
||||||
@@ -161,7 +164,9 @@ namespace AssetStudioGUI
|
|||||||
exportAnimatorwithselectedAnimationClipMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
exportAnimatorwithselectedAnimationClipMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
goToSceneHierarchyToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
goToSceneHierarchyToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
showOriginalFileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
showOriginalFileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
enableModelPreview = new System.Windows.Forms.ToolStripMenuItem();
|
toolStripSeparator10 = new System.Windows.Forms.ToolStripSeparator();
|
||||||
|
toolStripSeparator11 = new System.Windows.Forms.ToolStripSeparator();
|
||||||
|
toolStripSeparator12 = new System.Windows.Forms.ToolStripSeparator();
|
||||||
menuStrip1.SuspendLayout();
|
menuStrip1.SuspendLayout();
|
||||||
((System.ComponentModel.ISupportInitialize)splitContainer1).BeginInit();
|
((System.ComponentModel.ISupportInitialize)splitContainer1).BeginInit();
|
||||||
splitContainer1.Panel1.SuspendLayout();
|
splitContainer1.Panel1.SuspendLayout();
|
||||||
@@ -253,7 +258,7 @@ namespace AssetStudioGUI
|
|||||||
//
|
//
|
||||||
// optionsToolStripMenuItem
|
// optionsToolStripMenuItem
|
||||||
//
|
//
|
||||||
optionsToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { displayAll, enablePreview, enableModelPreview, modelsOnly, displayInfo, toolStripMenuItem14, toolStripMenuItem18, toolStripMenuItem19, showExpOpt });
|
optionsToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { displayAll, toolStripSeparator10, enablePreview, enableModelPreview, modelsOnly, toolStripSeparator11, displayInfo, enableResolveDependencies, skipContainer, toolStripSeparator12, toolStripMenuItem14, toolStripMenuItem18, toolStripMenuItem19, showExpOpt });
|
||||||
optionsToolStripMenuItem.Name = "optionsToolStripMenuItem";
|
optionsToolStripMenuItem.Name = "optionsToolStripMenuItem";
|
||||||
optionsToolStripMenuItem.Size = new System.Drawing.Size(61, 20);
|
optionsToolStripMenuItem.Size = new System.Drawing.Size(61, 20);
|
||||||
optionsToolStripMenuItem.Text = "Options";
|
optionsToolStripMenuItem.Text = "Options";
|
||||||
@@ -262,7 +267,7 @@ namespace AssetStudioGUI
|
|||||||
//
|
//
|
||||||
displayAll.CheckOnClick = true;
|
displayAll.CheckOnClick = true;
|
||||||
displayAll.Name = "displayAll";
|
displayAll.Name = "displayAll";
|
||||||
displayAll.Size = new System.Drawing.Size(207, 22);
|
displayAll.Size = new System.Drawing.Size(225, 22);
|
||||||
displayAll.Text = "Display all assets";
|
displayAll.Text = "Display all assets";
|
||||||
displayAll.ToolTipText = "Check this option will display all types assets. Not extractable assets can export the RAW file.";
|
displayAll.ToolTipText = "Check this option will display all types assets. Not extractable assets can export the RAW file.";
|
||||||
displayAll.CheckedChanged += displayAll_CheckedChanged;
|
displayAll.CheckedChanged += displayAll_CheckedChanged;
|
||||||
@@ -273,26 +278,55 @@ namespace AssetStudioGUI
|
|||||||
enablePreview.CheckOnClick = true;
|
enablePreview.CheckOnClick = true;
|
||||||
enablePreview.CheckState = System.Windows.Forms.CheckState.Checked;
|
enablePreview.CheckState = System.Windows.Forms.CheckState.Checked;
|
||||||
enablePreview.Name = "enablePreview";
|
enablePreview.Name = "enablePreview";
|
||||||
enablePreview.Size = new System.Drawing.Size(207, 22);
|
enablePreview.Size = new System.Drawing.Size(225, 22);
|
||||||
enablePreview.Text = "Enable preview";
|
enablePreview.Text = "Enable preview";
|
||||||
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.";
|
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.";
|
||||||
enablePreview.CheckedChanged += enablePreview_Check;
|
enablePreview.CheckedChanged += enablePreview_Check;
|
||||||
//
|
//
|
||||||
|
// enableModelPreview
|
||||||
|
//
|
||||||
|
enableModelPreview.CheckOnClick = true;
|
||||||
|
enableModelPreview.Name = "enableModelPreview";
|
||||||
|
enableModelPreview.Size = new System.Drawing.Size(225, 22);
|
||||||
|
enableModelPreview.Text = "Enable model preview";
|
||||||
|
enableModelPreview.CheckedChanged += enableModelPreview_CheckedChanged;
|
||||||
|
//
|
||||||
// modelsOnly
|
// modelsOnly
|
||||||
//
|
//
|
||||||
modelsOnly.CheckOnClick = true;
|
modelsOnly.CheckOnClick = true;
|
||||||
modelsOnly.Name = "modelsOnly";
|
modelsOnly.Name = "modelsOnly";
|
||||||
modelsOnly.Size = new System.Drawing.Size(207, 22);
|
modelsOnly.Size = new System.Drawing.Size(225, 22);
|
||||||
modelsOnly.Text = "Filter models only";
|
modelsOnly.Text = "Filter models only";
|
||||||
modelsOnly.CheckedChanged += modelsOnly_CheckedChanged;
|
modelsOnly.CheckedChanged += modelsOnly_CheckedChanged;
|
||||||
//
|
//
|
||||||
|
// enableResolveDependencies
|
||||||
|
//
|
||||||
|
enableResolveDependencies.Checked = true;
|
||||||
|
enableResolveDependencies.CheckOnClick = true;
|
||||||
|
enableResolveDependencies.CheckState = System.Windows.Forms.CheckState.Checked;
|
||||||
|
enableResolveDependencies.Name = "enableResolveDependencies";
|
||||||
|
enableResolveDependencies.Size = new System.Drawing.Size(225, 22);
|
||||||
|
enableResolveDependencies.Text = "Enable resolve dependencies";
|
||||||
|
enableResolveDependencies.ToolTipText = "Toggle the behaviour of loading assets.\r\nDisable to load file(s) without its dependencies.";
|
||||||
|
enableResolveDependencies.CheckedChanged += enableResolveDependencies_CheckedChanged;
|
||||||
|
//
|
||||||
|
// skipContainer
|
||||||
|
//
|
||||||
|
skipContainer.CheckOnClick = true;
|
||||||
|
skipContainer.Name = "skipContainer";
|
||||||
|
skipContainer.Size = new System.Drawing.Size(225, 22);
|
||||||
|
skipContainer.Text = "Skip container recovery";
|
||||||
|
skipContainer.ToolTipText = "Skips the container recovery step.\nImproves loading when dealing with a large num" +
|
||||||
|
"ber of files.";
|
||||||
|
skipContainer.CheckedChanged += skipContainer_CheckedChanged;
|
||||||
|
//
|
||||||
// displayInfo
|
// displayInfo
|
||||||
//
|
//
|
||||||
displayInfo.Checked = true;
|
displayInfo.Checked = true;
|
||||||
displayInfo.CheckOnClick = true;
|
displayInfo.CheckOnClick = true;
|
||||||
displayInfo.CheckState = System.Windows.Forms.CheckState.Checked;
|
displayInfo.CheckState = System.Windows.Forms.CheckState.Checked;
|
||||||
displayInfo.Name = "displayInfo";
|
displayInfo.Name = "displayInfo";
|
||||||
displayInfo.Size = new System.Drawing.Size(207, 22);
|
displayInfo.Size = new System.Drawing.Size(225, 22);
|
||||||
displayInfo.Text = "Display asset information";
|
displayInfo.Text = "Display asset information";
|
||||||
displayInfo.ToolTipText = "Toggle the overlay that shows information about each asset, eg. image size, format, audio bitrate, etc.";
|
displayInfo.ToolTipText = "Toggle the overlay that shows information about each asset, eg. image size, format, audio bitrate, etc.";
|
||||||
displayInfo.CheckedChanged += displayAssetInfo_Check;
|
displayInfo.CheckedChanged += displayAssetInfo_Check;
|
||||||
@@ -301,7 +335,7 @@ namespace AssetStudioGUI
|
|||||||
//
|
//
|
||||||
toolStripMenuItem14.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { specifyUnityVersion });
|
toolStripMenuItem14.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { specifyUnityVersion });
|
||||||
toolStripMenuItem14.Name = "toolStripMenuItem14";
|
toolStripMenuItem14.Name = "toolStripMenuItem14";
|
||||||
toolStripMenuItem14.Size = new System.Drawing.Size(207, 22);
|
toolStripMenuItem14.Size = new System.Drawing.Size(225, 22);
|
||||||
toolStripMenuItem14.Text = "Specify Unity version";
|
toolStripMenuItem14.Text = "Specify Unity version";
|
||||||
//
|
//
|
||||||
// specifyUnityVersion
|
// specifyUnityVersion
|
||||||
@@ -314,7 +348,7 @@ namespace AssetStudioGUI
|
|||||||
//
|
//
|
||||||
toolStripMenuItem18.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { specifyGame });
|
toolStripMenuItem18.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { specifyGame });
|
||||||
toolStripMenuItem18.Name = "toolStripMenuItem18";
|
toolStripMenuItem18.Name = "toolStripMenuItem18";
|
||||||
toolStripMenuItem18.Size = new System.Drawing.Size(207, 22);
|
toolStripMenuItem18.Size = new System.Drawing.Size(225, 22);
|
||||||
toolStripMenuItem18.Text = "Specify Game";
|
toolStripMenuItem18.Text = "Specify Game";
|
||||||
//
|
//
|
||||||
// specifyGame
|
// specifyGame
|
||||||
@@ -327,7 +361,7 @@ namespace AssetStudioGUI
|
|||||||
//
|
//
|
||||||
toolStripMenuItem19.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { specifyAIVersion });
|
toolStripMenuItem19.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { specifyAIVersion });
|
||||||
toolStripMenuItem19.Name = "toolStripMenuItem19";
|
toolStripMenuItem19.Name = "toolStripMenuItem19";
|
||||||
toolStripMenuItem19.Size = new System.Drawing.Size(207, 22);
|
toolStripMenuItem19.Size = new System.Drawing.Size(225, 22);
|
||||||
toolStripMenuItem19.Text = "Specify AI version";
|
toolStripMenuItem19.Text = "Specify AI version";
|
||||||
toolStripMenuItem19.DropDownOpening += toolStripMenuItem19_DropDownOpening;
|
toolStripMenuItem19.DropDownOpening += toolStripMenuItem19_DropDownOpening;
|
||||||
//
|
//
|
||||||
@@ -341,7 +375,7 @@ namespace AssetStudioGUI
|
|||||||
// showExpOpt
|
// showExpOpt
|
||||||
//
|
//
|
||||||
showExpOpt.Name = "showExpOpt";
|
showExpOpt.Name = "showExpOpt";
|
||||||
showExpOpt.Size = new System.Drawing.Size(207, 22);
|
showExpOpt.Size = new System.Drawing.Size(225, 22);
|
||||||
showExpOpt.Text = "Export options";
|
showExpOpt.Text = "Export options";
|
||||||
showExpOpt.Click += showExpOpt_Click;
|
showExpOpt.Click += showExpOpt_Click;
|
||||||
//
|
//
|
||||||
@@ -1258,13 +1292,20 @@ namespace AssetStudioGUI
|
|||||||
showOriginalFileToolStripMenuItem.Visible = false;
|
showOriginalFileToolStripMenuItem.Visible = false;
|
||||||
showOriginalFileToolStripMenuItem.Click += showOriginalFileToolStripMenuItem_Click;
|
showOriginalFileToolStripMenuItem.Click += showOriginalFileToolStripMenuItem_Click;
|
||||||
//
|
//
|
||||||
// enableModelPreview
|
// toolStripSeparator10
|
||||||
//
|
//
|
||||||
enableModelPreview.CheckOnClick = true;
|
toolStripSeparator10.Name = "toolStripSeparator10";
|
||||||
enableModelPreview.Name = "enableModelPreview";
|
toolStripSeparator10.Size = new System.Drawing.Size(222, 6);
|
||||||
enableModelPreview.Size = new System.Drawing.Size(207, 22);
|
//
|
||||||
enableModelPreview.Text = "Enable model preview";
|
// toolStripSeparator11
|
||||||
enableModelPreview.CheckedChanged += enableModelPreview_CheckedChanged;
|
//
|
||||||
|
toolStripSeparator11.Name = "toolStripSeparator11";
|
||||||
|
toolStripSeparator11.Size = new System.Drawing.Size(222, 6);
|
||||||
|
//
|
||||||
|
// toolStripSeparator12
|
||||||
|
//
|
||||||
|
toolStripSeparator12.Name = "toolStripSeparator12";
|
||||||
|
toolStripSeparator12.Size = new System.Drawing.Size(222, 6);
|
||||||
//
|
//
|
||||||
// AssetStudioGUIForm
|
// AssetStudioGUIForm
|
||||||
//
|
//
|
||||||
@@ -1445,6 +1486,11 @@ namespace AssetStudioGUI
|
|||||||
private System.Windows.Forms.ToolStripMenuItem exportSelectedNodessplitSelectedAnimationClipsToolStripMenuItem;
|
private System.Windows.Forms.ToolStripMenuItem exportSelectedNodessplitSelectedAnimationClipsToolStripMenuItem;
|
||||||
private System.Windows.Forms.ToolStripMenuItem modelsOnly;
|
private System.Windows.Forms.ToolStripMenuItem modelsOnly;
|
||||||
private System.Windows.Forms.ToolStripMenuItem enableModelPreview;
|
private System.Windows.Forms.ToolStripMenuItem enableModelPreview;
|
||||||
|
private System.Windows.Forms.ToolStripMenuItem enableResolveDependencies;
|
||||||
|
private System.Windows.Forms.ToolStripMenuItem skipContainer;
|
||||||
|
private System.Windows.Forms.ToolStripSeparator toolStripSeparator10;
|
||||||
|
private System.Windows.Forms.ToolStripSeparator toolStripSeparator11;
|
||||||
|
private System.Windows.Forms.ToolStripSeparator toolStripSeparator12;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -110,7 +110,10 @@ namespace AssetStudioGUI
|
|||||||
enablePreview.Checked = Properties.Settings.Default.enablePreview;
|
enablePreview.Checked = Properties.Settings.Default.enablePreview;
|
||||||
enableModelPreview.Checked = Properties.Settings.Default.enableModelPreview;
|
enableModelPreview.Checked = Properties.Settings.Default.enableModelPreview;
|
||||||
modelsOnly.Checked = Properties.Settings.Default.modelsOnly;
|
modelsOnly.Checked = Properties.Settings.Default.modelsOnly;
|
||||||
assetsManager.ResolveDependencies = Properties.Settings.Default.enableResolveDependencies;
|
enableResolveDependencies.Checked = Properties.Settings.Default.enableResolveDependencies;
|
||||||
|
skipContainer.Checked = Properties.Settings.Default.skipContainer;
|
||||||
|
assetsManager.ResolveDependencies = enableResolveDependencies.Checked;
|
||||||
|
SkipContainer = Properties.Settings.Default.skipContainer;
|
||||||
MiHoYoBinData.Encrypted = Properties.Settings.Default.encrypted;
|
MiHoYoBinData.Encrypted = Properties.Settings.Default.encrypted;
|
||||||
MiHoYoBinData.Key = Properties.Settings.Default.key;
|
MiHoYoBinData.Key = Properties.Settings.Default.key;
|
||||||
AssetsHelper.Minimal = Properties.Settings.Default.minimalAssetMap;
|
AssetsHelper.Minimal = Properties.Settings.Default.minimalAssetMap;
|
||||||
@@ -174,23 +177,23 @@ namespace AssetStudioGUI
|
|||||||
|
|
||||||
public async void LoadPaths(params string[] paths)
|
public async void LoadPaths(params string[] paths)
|
||||||
{
|
{
|
||||||
ResetForm();
|
ResetForm();
|
||||||
assetsManager.SpecifyUnityVersion = specifyUnityVersion.Text;
|
assetsManager.SpecifyUnityVersion = specifyUnityVersion.Text;
|
||||||
assetsManager.Game = Studio.Game;
|
assetsManager.Game = Studio.Game;
|
||||||
if (paths.Length == 1 && Directory.Exists(paths[0]))
|
if (paths.Length == 1 && Directory.Exists(paths[0]))
|
||||||
{
|
{
|
||||||
await Task.Run(() => assetsManager.LoadFolder(paths[0]));
|
await Task.Run(() => assetsManager.LoadFolder(paths[0]));
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
if (paths.Length == 1 && File.Exists(paths[0]) && Path.GetExtension(paths[0]) == ".txt")
|
|
||||||
{
|
|
||||||
paths = File.ReadAllLines(paths[0]);
|
|
||||||
}
|
|
||||||
await Task.Run(() => assetsManager.LoadFiles(paths));
|
|
||||||
}
|
|
||||||
BuildAssetStructures();
|
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (paths.Length == 1 && File.Exists(paths[0]) && Path.GetExtension(paths[0]) == ".txt")
|
||||||
|
{
|
||||||
|
paths = File.ReadAllLines(paths[0]);
|
||||||
|
}
|
||||||
|
await Task.Run(() => assetsManager.LoadFiles(paths));
|
||||||
|
}
|
||||||
|
BuildAssetStructures();
|
||||||
|
}
|
||||||
|
|
||||||
private async void loadFile_Click(object sender, EventArgs e)
|
private async void loadFile_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
@@ -1243,15 +1246,15 @@ namespace AssetStudioGUI
|
|||||||
{
|
{
|
||||||
var model = new ModelConverter(m_GameObject, Properties.Settings.Default.convertType, Studio.Game, false, Array.Empty<AnimationClip>());
|
var model = new ModelConverter(m_GameObject, Properties.Settings.Default.convertType, Studio.Game, false, Array.Empty<AnimationClip>());
|
||||||
PreviewModel(model);
|
PreviewModel(model);
|
||||||
}
|
}
|
||||||
private void PreviewAnimator(Animator m_Animator)
|
private void PreviewAnimator(Animator m_Animator)
|
||||||
{
|
{
|
||||||
var model = new ModelConverter(m_Animator, Properties.Settings.Default.convertType, Studio.Game, false, Array.Empty<AnimationClip>());
|
var model = new ModelConverter(m_Animator, Properties.Settings.Default.convertType, Studio.Game, false, Array.Empty<AnimationClip>());
|
||||||
PreviewModel(model);
|
PreviewModel(model);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void PreviewModel(ModelConverter model)
|
private void PreviewModel(ModelConverter model)
|
||||||
{
|
{
|
||||||
if (model.MeshList.Count > 0)
|
if (model.MeshList.Count > 0)
|
||||||
{
|
{
|
||||||
viewMatrixData = Matrix4.CreateRotationY(-(float)Math.PI / 4) * Matrix4.CreateRotationX(-(float)Math.PI / 6);
|
viewMatrixData = Matrix4.CreateRotationY(-(float)Math.PI / 4) * Matrix4.CreateRotationX(-(float)Math.PI / 6);
|
||||||
@@ -1754,7 +1757,7 @@ namespace AssetStudioGUI
|
|||||||
if (Properties.Settings.Default.modelsOnly)
|
if (Properties.Settings.Default.modelsOnly)
|
||||||
{
|
{
|
||||||
var models = visibleAssets.FindAll(x => x.Type == ClassIDType.Animator || x.Type == ClassIDType.GameObject);
|
var models = visibleAssets.FindAll(x => x.Type == ClassIDType.Animator || x.Type == ClassIDType.GameObject);
|
||||||
foreach(var model in models)
|
foreach (var model in models)
|
||||||
{
|
{
|
||||||
var hasModel = model.Asset switch
|
var hasModel = model.Asset switch
|
||||||
{
|
{
|
||||||
@@ -1872,7 +1875,7 @@ namespace AssetStudioGUI
|
|||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (Properties.Settings.Default.skipContainer)
|
if (skipContainer.Checked)
|
||||||
{
|
{
|
||||||
Logger.Info("Skip container is enabled, aborting...");
|
Logger.Info("Skip container is enabled, aborting...");
|
||||||
return;
|
return;
|
||||||
@@ -1962,6 +1965,21 @@ namespace AssetStudioGUI
|
|||||||
dumpTextBox.Text = DumpAsset(lastSelectedItem.Asset);
|
dumpTextBox.Text = DumpAsset(lastSelectedItem.Asset);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
private void enableResolveDependencies_CheckedChanged(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
Properties.Settings.Default.enableResolveDependencies = enableResolveDependencies.Checked;
|
||||||
|
Properties.Settings.Default.Save();
|
||||||
|
|
||||||
|
assetsManager.ResolveDependencies = enableResolveDependencies.Checked;
|
||||||
|
}
|
||||||
|
private void skipContainer_CheckedChanged(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
Properties.Settings.Default.skipContainer = skipContainer.Checked;
|
||||||
|
Properties.Settings.Default.Save();
|
||||||
|
|
||||||
|
SkipContainer = skipContainer.Checked;
|
||||||
|
|
||||||
|
}
|
||||||
private void assetMapTypeComboBox_SelectedIndexChanged(object sender, EventArgs e)
|
private void assetMapTypeComboBox_SelectedIndexChanged(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
Properties.Settings.Default.selectedAssetMapType = assetMapTypeComboBox.SelectedIndex;
|
Properties.Settings.Default.selectedAssetMapType = assetMapTypeComboBox.SelectedIndex;
|
||||||
@@ -2169,7 +2187,7 @@ namespace AssetStudioGUI
|
|||||||
{
|
{
|
||||||
ResetForm();
|
ResetForm();
|
||||||
AssetsHelper.Clear();
|
AssetsHelper.Clear();
|
||||||
assetBrowser.Clear();
|
assetBrowser?.Clear();
|
||||||
assetsManager.SpecifyUnityVersion = specifyUnityVersion.Text;
|
assetsManager.SpecifyUnityVersion = specifyUnityVersion.Text;
|
||||||
assetsManager.Game = Studio.Game;
|
assetsManager.Game = Studio.Game;
|
||||||
}
|
}
|
||||||
@@ -2201,7 +2219,7 @@ namespace AssetStudioGUI
|
|||||||
|
|
||||||
private async void loadAIToolStripMenuItem_Click(object sender, EventArgs e)
|
private async void loadAIToolStripMenuItem_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
if (Properties.Settings.Default.skipContainer)
|
if (skipContainer.Checked)
|
||||||
{
|
{
|
||||||
Logger.Info("Skip container is enabled, aborting...");
|
Logger.Info("Skip container is enabled, aborting...");
|
||||||
return;
|
return;
|
||||||
|
|||||||
@@ -1,4 +1,64 @@
|
|||||||
<root>
|
<?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: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:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||||
<xsd:element name="root" msdata:IsDataSet="true">
|
<xsd:element name="root" msdata:IsDataSet="true">
|
||||||
|
|||||||
60
AssetStudioGUI/ExportOptions.Designer.cs
generated
60
AssetStudioGUI/ExportOptions.Designer.cs
generated
@@ -71,13 +71,11 @@ namespace AssetStudioGUI
|
|||||||
key = new System.Windows.Forms.NumericUpDown();
|
key = new System.Windows.Forms.NumericUpDown();
|
||||||
keyToolTip = new System.Windows.Forms.ToolTip(components);
|
keyToolTip = new System.Windows.Forms.ToolTip(components);
|
||||||
groupBox4 = new System.Windows.Forms.GroupBox();
|
groupBox4 = new System.Windows.Forms.GroupBox();
|
||||||
|
minimalAssetMap = new System.Windows.Forms.CheckBox();
|
||||||
disableShader = new System.Windows.Forms.CheckBox();
|
disableShader = new System.Windows.Forms.CheckBox();
|
||||||
disableRenderer = new System.Windows.Forms.CheckBox();
|
disableRenderer = new System.Windows.Forms.CheckBox();
|
||||||
skipContainer = new System.Windows.Forms.CheckBox();
|
|
||||||
enableResolveDependencies = new System.Windows.Forms.CheckBox();
|
|
||||||
resolveToolTip = new System.Windows.Forms.ToolTip(components);
|
resolveToolTip = new System.Windows.Forms.ToolTip(components);
|
||||||
skipToolTip = new System.Windows.Forms.ToolTip(components);
|
skipToolTip = new System.Windows.Forms.ToolTip(components);
|
||||||
minimalAssetMap = new System.Windows.Forms.CheckBox();
|
|
||||||
groupBox1.SuspendLayout();
|
groupBox1.SuspendLayout();
|
||||||
panel1.SuspendLayout();
|
panel1.SuspendLayout();
|
||||||
groupBox2.SuspendLayout();
|
groupBox2.SuspendLayout();
|
||||||
@@ -541,10 +539,8 @@ namespace AssetStudioGUI
|
|||||||
groupBox4.Controls.Add(minimalAssetMap);
|
groupBox4.Controls.Add(minimalAssetMap);
|
||||||
groupBox4.Controls.Add(disableShader);
|
groupBox4.Controls.Add(disableShader);
|
||||||
groupBox4.Controls.Add(disableRenderer);
|
groupBox4.Controls.Add(disableRenderer);
|
||||||
groupBox4.Controls.Add(skipContainer);
|
|
||||||
groupBox4.Controls.Add(key);
|
groupBox4.Controls.Add(key);
|
||||||
groupBox4.Controls.Add(encrypted);
|
groupBox4.Controls.Add(encrypted);
|
||||||
groupBox4.Controls.Add(enableResolveDependencies);
|
|
||||||
groupBox4.Location = new System.Drawing.Point(13, 258);
|
groupBox4.Location = new System.Drawing.Point(13, 258);
|
||||||
groupBox4.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
|
groupBox4.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
|
||||||
groupBox4.Name = "groupBox4";
|
groupBox4.Name = "groupBox4";
|
||||||
@@ -554,10 +550,20 @@ namespace AssetStudioGUI
|
|||||||
groupBox4.TabStop = false;
|
groupBox4.TabStop = false;
|
||||||
groupBox4.Text = "Options";
|
groupBox4.Text = "Options";
|
||||||
//
|
//
|
||||||
|
// minimalAssetMap
|
||||||
|
//
|
||||||
|
minimalAssetMap.AutoSize = true;
|
||||||
|
minimalAssetMap.Location = new System.Drawing.Point(8, 97);
|
||||||
|
minimalAssetMap.Name = "minimalAssetMap";
|
||||||
|
minimalAssetMap.Size = new System.Drawing.Size(125, 19);
|
||||||
|
minimalAssetMap.TabIndex = 17;
|
||||||
|
minimalAssetMap.Text = "Minimal AssetMap";
|
||||||
|
minimalAssetMap.UseVisualStyleBackColor = true;
|
||||||
|
//
|
||||||
// disableShader
|
// disableShader
|
||||||
//
|
//
|
||||||
disableShader.AutoSize = true;
|
disableShader.AutoSize = true;
|
||||||
disableShader.Location = new System.Drawing.Point(8, 121);
|
disableShader.Location = new System.Drawing.Point(8, 72);
|
||||||
disableShader.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
|
disableShader.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
|
||||||
disableShader.Name = "disableShader";
|
disableShader.Name = "disableShader";
|
||||||
disableShader.Size = new System.Drawing.Size(103, 19);
|
disableShader.Size = new System.Drawing.Size(103, 19);
|
||||||
@@ -569,7 +575,7 @@ namespace AssetStudioGUI
|
|||||||
// disableRenderer
|
// disableRenderer
|
||||||
//
|
//
|
||||||
disableRenderer.AutoSize = true;
|
disableRenderer.AutoSize = true;
|
||||||
disableRenderer.Location = new System.Drawing.Point(8, 96);
|
disableRenderer.Location = new System.Drawing.Point(8, 47);
|
||||||
disableRenderer.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
|
disableRenderer.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
|
||||||
disableRenderer.Name = "disableRenderer";
|
disableRenderer.Name = "disableRenderer";
|
||||||
disableRenderer.Size = new System.Drawing.Size(114, 19);
|
disableRenderer.Size = new System.Drawing.Size(114, 19);
|
||||||
@@ -578,44 +584,6 @@ namespace AssetStudioGUI
|
|||||||
skipToolTip.SetToolTip(disableRenderer, "Skips the container recovery step.\nImproves loading when dealing with a large number of files.");
|
skipToolTip.SetToolTip(disableRenderer, "Skips the container recovery step.\nImproves loading when dealing with a large number of files.");
|
||||||
disableRenderer.UseVisualStyleBackColor = true;
|
disableRenderer.UseVisualStyleBackColor = true;
|
||||||
//
|
//
|
||||||
// skipContainer
|
|
||||||
//
|
|
||||||
skipContainer.AutoSize = true;
|
|
||||||
skipContainer.Checked = true;
|
|
||||||
skipContainer.CheckState = System.Windows.Forms.CheckState.Checked;
|
|
||||||
skipContainer.Location = new System.Drawing.Point(8, 72);
|
|
||||||
skipContainer.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
|
|
||||||
skipContainer.Name = "skipContainer";
|
|
||||||
skipContainer.Size = new System.Drawing.Size(149, 19);
|
|
||||||
skipContainer.TabIndex = 14;
|
|
||||||
skipContainer.Text = "Skip container recovery";
|
|
||||||
skipToolTip.SetToolTip(skipContainer, "Skips the container recovery step.\nImproves loading when dealing with a large number of files.");
|
|
||||||
skipContainer.UseVisualStyleBackColor = true;
|
|
||||||
//
|
|
||||||
// enableResolveDependencies
|
|
||||||
//
|
|
||||||
enableResolveDependencies.AutoSize = true;
|
|
||||||
enableResolveDependencies.Checked = true;
|
|
||||||
enableResolveDependencies.CheckState = System.Windows.Forms.CheckState.Checked;
|
|
||||||
enableResolveDependencies.Location = new System.Drawing.Point(8, 47);
|
|
||||||
enableResolveDependencies.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
|
|
||||||
enableResolveDependencies.Name = "enableResolveDependencies";
|
|
||||||
enableResolveDependencies.Size = new System.Drawing.Size(177, 19);
|
|
||||||
enableResolveDependencies.TabIndex = 13;
|
|
||||||
enableResolveDependencies.Text = "Enable resolve dependencies";
|
|
||||||
resolveToolTip.SetToolTip(enableResolveDependencies, "Toggle the behaviour of loading assets.\r\nDisable to load file(s) without its dependencies.");
|
|
||||||
enableResolveDependencies.UseVisualStyleBackColor = true;
|
|
||||||
//
|
|
||||||
// minimalAssetMap
|
|
||||||
//
|
|
||||||
minimalAssetMap.AutoSize = true;
|
|
||||||
minimalAssetMap.Location = new System.Drawing.Point(8, 146);
|
|
||||||
minimalAssetMap.Name = "minimalAssetMap";
|
|
||||||
minimalAssetMap.Size = new System.Drawing.Size(125, 19);
|
|
||||||
minimalAssetMap.TabIndex = 17;
|
|
||||||
minimalAssetMap.Text = "Minimal AssetMap";
|
|
||||||
minimalAssetMap.UseVisualStyleBackColor = true;
|
|
||||||
//
|
|
||||||
// ExportOptions
|
// ExportOptions
|
||||||
//
|
//
|
||||||
AcceptButton = OKbutton;
|
AcceptButton = OKbutton;
|
||||||
@@ -693,8 +661,6 @@ namespace AssetStudioGUI
|
|||||||
private System.Windows.Forms.ToolTip keyToolTip;
|
private System.Windows.Forms.ToolTip keyToolTip;
|
||||||
private System.Windows.Forms.CheckBox exportUV0UV1;
|
private System.Windows.Forms.CheckBox exportUV0UV1;
|
||||||
private System.Windows.Forms.GroupBox groupBox4;
|
private System.Windows.Forms.GroupBox groupBox4;
|
||||||
private System.Windows.Forms.CheckBox enableResolveDependencies;
|
|
||||||
private System.Windows.Forms.CheckBox skipContainer;
|
|
||||||
private System.Windows.Forms.ToolTip resolveToolTip;
|
private System.Windows.Forms.ToolTip resolveToolTip;
|
||||||
private System.Windows.Forms.ToolTip skipToolTip;
|
private System.Windows.Forms.ToolTip skipToolTip;
|
||||||
private System.Windows.Forms.CheckBox disableShader;
|
private System.Windows.Forms.CheckBox disableShader;
|
||||||
|
|||||||
@@ -1,4 +1,64 @@
|
|||||||
<root>
|
<?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: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:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||||
<xsd:element name="root" msdata:IsDataSet="true">
|
<xsd:element name="root" msdata:IsDataSet="true">
|
||||||
|
|||||||
Reference in New Issue
Block a user