- [Core] Export multiple AssetMap formats
This commit is contained in:
@@ -82,7 +82,7 @@
|
||||
<setting name="enableResolveDependencies" serializeAs="String">
|
||||
<value>True</value>
|
||||
</setting>
|
||||
<setting name="selectedAssetMapType" serializeAs="String">
|
||||
<setting name="assetMapType" serializeAs="String">
|
||||
<value>0</value>
|
||||
</setting>
|
||||
<setting name="collectAnimations" serializeAs="String">
|
||||
|
||||
20
AssetStudio.GUI/MainForm.Designer.cs
generated
20
AssetStudio.GUI/MainForm.Designer.cs
generated
@@ -114,7 +114,6 @@ namespace AssetStudio.GUI
|
||||
toolStripSeparator7 = new System.Windows.Forms.ToolStripSeparator();
|
||||
assetMapNameTextBox = new System.Windows.Forms.ToolStripTextBox();
|
||||
buildAssetMapToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
assetMapTypeComboBox = new System.Windows.Forms.ToolStripComboBox();
|
||||
toolStripSeparator8 = new System.Windows.Forms.ToolStripSeparator();
|
||||
loadAIToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
assetBrowserToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
@@ -172,6 +171,7 @@ namespace AssetStudio.GUI
|
||||
exportAnimatorwithselectedAnimationClipMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
goToSceneHierarchyToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
showOriginalFileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
assetMapTypeMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
menuStrip1.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)splitContainer1).BeginInit();
|
||||
splitContainer1.Panel1.SuspendLayout();
|
||||
@@ -723,7 +723,7 @@ namespace AssetStudio.GUI
|
||||
//
|
||||
// miscToolStripMenuItem
|
||||
//
|
||||
miscToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { MapNameComboBox, buildMapToolStripMenuItem, buildBothToolStripMenuItem, clearMapToolStripMenuItem, toolStripSeparator7, assetMapNameTextBox, buildAssetMapToolStripMenuItem, assetMapTypeComboBox, toolStripSeparator8, loadAIToolStripMenuItem, assetBrowserToolStripMenuItem });
|
||||
miscToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { MapNameComboBox, buildMapToolStripMenuItem, buildBothToolStripMenuItem, clearMapToolStripMenuItem, toolStripSeparator7, assetMapNameTextBox, buildAssetMapToolStripMenuItem, assetMapTypeMenuItem, toolStripSeparator8, loadAIToolStripMenuItem, assetBrowserToolStripMenuItem });
|
||||
miscToolStripMenuItem.Name = "miscToolStripMenuItem";
|
||||
miscToolStripMenuItem.Size = new System.Drawing.Size(47, 20);
|
||||
miscToolStripMenuItem.Text = "Misc.";
|
||||
@@ -774,13 +774,6 @@ namespace AssetStudio.GUI
|
||||
buildAssetMapToolStripMenuItem.Text = "Build AssetMap";
|
||||
buildAssetMapToolStripMenuItem.Click += buildAssetMapToolStripMenuItem_Click;
|
||||
//
|
||||
// assetMapTypeComboBox
|
||||
//
|
||||
assetMapTypeComboBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
||||
assetMapTypeComboBox.Name = "assetMapTypeComboBox";
|
||||
assetMapTypeComboBox.Size = new System.Drawing.Size(121, 23);
|
||||
assetMapTypeComboBox.SelectedIndexChanged += assetMapTypeComboBox_SelectedIndexChanged;
|
||||
//
|
||||
// toolStripSeparator8
|
||||
//
|
||||
toolStripSeparator8.Name = "toolStripSeparator8";
|
||||
@@ -1344,6 +1337,13 @@ namespace AssetStudio.GUI
|
||||
showOriginalFileToolStripMenuItem.Visible = false;
|
||||
showOriginalFileToolStripMenuItem.Click += showOriginalFileToolStripMenuItem_Click;
|
||||
//
|
||||
// assetMapTypeMenuItem
|
||||
//
|
||||
assetMapTypeMenuItem.Name = "assetMapTypeMenuItem";
|
||||
assetMapTypeMenuItem.Size = new System.Drawing.Size(181, 22);
|
||||
assetMapTypeMenuItem.Text = "AssetMap Type";
|
||||
assetMapTypeMenuItem.DropDownItemClicked += assetMapTypeMenuItem_DropDownItemClicked;
|
||||
//
|
||||
// MainForm
|
||||
//
|
||||
AllowDrop = true;
|
||||
@@ -1513,7 +1513,6 @@ namespace AssetStudio.GUI
|
||||
private System.Windows.Forms.ToolStripMenuItem loadAIToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem clearConsoleToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripTextBox assetMapNameTextBox;
|
||||
private System.Windows.Forms.ToolStripComboBox assetMapTypeComboBox;
|
||||
private System.Windows.Forms.ToolStripSeparator toolStripSeparator7;
|
||||
private System.Windows.Forms.ToolStripSeparator toolStripSeparator8;
|
||||
private System.Windows.Forms.ToolStripMenuItem buildMapToolStripMenuItem;
|
||||
@@ -1533,6 +1532,7 @@ namespace AssetStudio.GUI
|
||||
private System.Windows.Forms.ToolStripMenuItem enableFileLogging;
|
||||
private System.Windows.Forms.ToolStripMenuItem enableVerbose;
|
||||
private System.Windows.Forms.ToolStripMenuItem sceneHierarchy;
|
||||
private System.Windows.Forms.ToolStripMenuItem assetMapTypeMenuItem;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -143,8 +143,13 @@ namespace AssetStudio.GUI
|
||||
|
||||
private void InitalizeOptions()
|
||||
{
|
||||
assetMapTypeComboBox.Items.AddRange(Enum.GetValues<ExportListType>().Cast<object>().ToArray());
|
||||
assetMapTypeComboBox.SelectedIndex = Properties.Settings.Default.selectedAssetMapType;
|
||||
var assetMapType = (ExportListType)Properties.Settings.Default.assetMapType;
|
||||
var assetMapTypes = Enum.GetValues<ExportListType>().ToArray()[1..];
|
||||
foreach(var mapType in assetMapTypes)
|
||||
{
|
||||
var menuItem = new ToolStripMenuItem(mapType.ToString()) { CheckOnClick = true, Checked = assetMapType.HasFlag(mapType), Tag = (int)mapType };
|
||||
assetMapTypeMenuItem.DropDownItems.Add(menuItem);
|
||||
}
|
||||
|
||||
specifyGame.Items.AddRange(GameManager.GetGames());
|
||||
specifyGame.SelectedIndex = Properties.Settings.Default.selectedGame;
|
||||
@@ -1281,7 +1286,7 @@ namespace AssetStudio.GUI
|
||||
var model = new ModelConverter(m_Animator, Properties.Settings.Default.convertType, Studio.Game, false, Array.Empty<AnimationClip>());
|
||||
PreviewModel(model);
|
||||
}
|
||||
|
||||
|
||||
private void PreviewAnimationClip(AnimationClip clip)
|
||||
{
|
||||
var str = clip.Convert();
|
||||
@@ -2017,10 +2022,24 @@ namespace AssetStudio.GUI
|
||||
SkipContainer = skipContainer.Checked;
|
||||
|
||||
}
|
||||
private void assetMapTypeComboBox_SelectedIndexChanged(object sender, EventArgs e)
|
||||
private void assetMapTypeMenuItem_DropDownItemClicked(object sender, ToolStripItemClickedEventArgs e)
|
||||
{
|
||||
Properties.Settings.Default.selectedAssetMapType = assetMapTypeComboBox.SelectedIndex;
|
||||
Properties.Settings.Default.Save();
|
||||
var assetMapType = Properties.Settings.Default.assetMapType;
|
||||
if (e.ClickedItem is ToolStripMenuItem item)
|
||||
{
|
||||
if (item.Checked)
|
||||
{
|
||||
assetMapType -= (int)item.Tag;
|
||||
}
|
||||
else
|
||||
{
|
||||
assetMapType += (int)item.Tag;
|
||||
}
|
||||
|
||||
Properties.Settings.Default.assetMapType = assetMapType;
|
||||
Properties.Settings.Default.Save();
|
||||
}
|
||||
|
||||
}
|
||||
private void modelsOnly_CheckedChanged(object sender, EventArgs e)
|
||||
{
|
||||
@@ -2143,7 +2162,7 @@ namespace AssetStudio.GUI
|
||||
|
||||
var input = MapNameComboBox.Text;
|
||||
var selectedText = MapNameComboBox.SelectedText;
|
||||
var exportListType = (ExportListType)assetMapTypeComboBox.SelectedItem;
|
||||
var exportListType = (ExportListType)assetMapTypeMenuItem.DropDownItems.Cast<ToolStripMenuItem>().Select(x => x.Checked ? (int)x.Tag : 0).Sum();
|
||||
var name = "";
|
||||
|
||||
if (!string.IsNullOrEmpty(selectedText))
|
||||
@@ -2192,15 +2211,6 @@ namespace AssetStudio.GUI
|
||||
saveFolderDialog.Title = "Select Output Folder";
|
||||
if (saveFolderDialog.ShowDialog(this) == DialogResult.OK)
|
||||
{
|
||||
if (File.Exists(Path.Combine(saveFolderDialog.Folder, $"{name}{exportListType.GetExtension()}")))
|
||||
{
|
||||
var acceptOverride = MessageBox.Show("AssetMap already exist, Do you want to override it ?", "Warning", MessageBoxButtons.YesNo, MessageBoxIcon.Warning);
|
||||
if (acceptOverride != DialogResult.Yes)
|
||||
{
|
||||
InvokeUpdate(miscToolStripMenuItem, true);
|
||||
return;
|
||||
}
|
||||
}
|
||||
saveDirectoryBackup = saveFolderDialog.Folder;
|
||||
AssetsHelper.SetUnityVersion(version);
|
||||
await Task.Run(() => AssetsHelper.BuildBoth(files, name, openFolderDialog.Folder, Studio.Game, saveFolderDialog.Folder, exportListType));
|
||||
@@ -2317,7 +2327,7 @@ namespace AssetStudio.GUI
|
||||
InvokeUpdate(miscToolStripMenuItem, false);
|
||||
|
||||
var input = assetMapNameTextBox.Text;
|
||||
var exportListType = (ExportListType)assetMapTypeComboBox.SelectedItem;
|
||||
var exportListType = (ExportListType)assetMapTypeMenuItem.DropDownItems.Cast<ToolStripMenuItem>().Select(x => x.Checked ? (int)x.Tag : 0).Sum();
|
||||
var name = "assets_map";
|
||||
|
||||
if (!string.IsNullOrEmpty(input))
|
||||
@@ -2346,16 +2356,6 @@ namespace AssetStudio.GUI
|
||||
saveFolderDialog.Title = "Select Output Folder";
|
||||
if (saveFolderDialog.ShowDialog(this) == DialogResult.OK)
|
||||
{
|
||||
if (File.Exists(Path.Combine(saveFolderDialog.Folder, $"{name}{exportListType.GetExtension()}")))
|
||||
{
|
||||
var acceptOverride = MessageBox.Show("AssetMap already exist, Do you want to override it ?", "Warning", MessageBoxButtons.YesNo, MessageBoxIcon.Warning);
|
||||
if (acceptOverride != DialogResult.Yes)
|
||||
{
|
||||
InvokeUpdate(miscToolStripMenuItem, true);
|
||||
return;
|
||||
}
|
||||
}
|
||||
saveDirectoryBackup = saveFolderDialog.Folder;
|
||||
AssetsHelper.SetUnityVersion(version);
|
||||
await Task.Run(() => AssetsHelper.BuildAssetMap(files, name, Studio.Game, saveFolderDialog.Folder, exportListType));
|
||||
}
|
||||
|
||||
8
AssetStudio.GUI/Properties/Settings.Designer.cs
generated
8
AssetStudio.GUI/Properties/Settings.Designer.cs
generated
@@ -12,7 +12,7 @@ namespace AssetStudio.GUI.Properties {
|
||||
|
||||
|
||||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.8.0.0")]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.7.0.0")]
|
||||
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
|
||||
|
||||
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
|
||||
@@ -338,12 +338,12 @@ namespace AssetStudio.GUI.Properties {
|
||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("0")]
|
||||
public int selectedAssetMapType {
|
||||
public int assetMapType {
|
||||
get {
|
||||
return ((int)(this["selectedAssetMapType"]));
|
||||
return ((int)(this["assetMapType"]));
|
||||
}
|
||||
set {
|
||||
this["selectedAssetMapType"] = value;
|
||||
this["assetMapType"] = value;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -80,7 +80,7 @@
|
||||
<Setting Name="enableResolveDependencies" Type="System.Boolean" Scope="User">
|
||||
<Value Profile="(Default)">True</Value>
|
||||
</Setting>
|
||||
<Setting Name="selectedAssetMapType" Type="System.Int32" Scope="User">
|
||||
<Setting Name="assetMapType" Type="System.Int32" Scope="User">
|
||||
<Value Profile="(Default)">0</Value>
|
||||
</Setting>
|
||||
<Setting Name="collectAnimations" Type="System.Boolean" Scope="User">
|
||||
|
||||
Reference in New Issue
Block a user