- [Core] Project restructure
This commit is contained in:
@@ -7,7 +7,7 @@
|
|||||||
<AssemblyVersion>1.00.00</AssemblyVersion>
|
<AssemblyVersion>1.00.00</AssemblyVersion>
|
||||||
<FileVersion>1.00.00</FileVersion>
|
<FileVersion>1.00.00</FileVersion>
|
||||||
<Copyright>Copyright © Razmoth 2022; Copyright © Perfare 2018-2022</Copyright>
|
<Copyright>Copyright © Razmoth 2022; Copyright © Perfare 2018-2022</Copyright>
|
||||||
<BaseOutputPath>..\AssetStudioGUI\bin</BaseOutputPath>
|
<BaseOutputPath>..\AssetStudio.GUI\bin</BaseOutputPath>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
@@ -17,7 +17,7 @@
|
|||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ProjectReference Include="..\AssetStudioUtility\AssetStudioUtility.csproj" />
|
<ProjectReference Include="..\AssetStudio.Utility\AssetStudio.Utility.csproj" />
|
||||||
<ProjectReference Include="..\AssetStudio\AssetStudio.csproj" />
|
<ProjectReference Include="..\AssetStudio\AssetStudio.csproj" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
@@ -29,13 +29,13 @@
|
|||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<Target Name="CopyExtraFiles" AfterTargets="AfterBuild">
|
<Target Name="CopyExtraFiles" AfterTargets="AfterBuild">
|
||||||
<Copy SourceFiles="$(SolutionDir)AssetStudioFBXNative\bin\Win32\$(Configuration)\AssetStudioFBXNative.dll" DestinationFolder="$(TargetDir)x86" ContinueOnError="true" />
|
<Copy SourceFiles="$(SolutionDir)AssetStudio.FBXNative\bin\Win32\$(Configuration)\AssetStudio.FBXNative.dll" DestinationFolder="$(TargetDir)x86" ContinueOnError="true" />
|
||||||
<Copy SourceFiles="$(SolutionDir)AssetStudioFBXNative\bin\x64\$(Configuration)\AssetStudioFBXNative.dll" DestinationFolder="$(TargetDir)x64" ContinueOnError="true" />
|
<Copy SourceFiles="$(SolutionDir)AssetStudio.FBXNative\bin\x64\$(Configuration)\AssetStudio.FBXNative.dll" DestinationFolder="$(TargetDir)x64" ContinueOnError="true" />
|
||||||
</Target>
|
</Target>
|
||||||
|
|
||||||
<Target Name="PublishExtraFiles" AfterTargets="Publish">
|
<Target Name="PublishExtraFiles" AfterTargets="Publish">
|
||||||
<Copy SourceFiles="$(TargetDir)x86\AssetStudioFBXNative.dll" DestinationFolder="$(PublishDir)x86" ContinueOnError="true" />
|
<Copy SourceFiles="$(TargetDir)x86\AssetStudio.FBXNative.dll" DestinationFolder="$(PublishDir)x86" ContinueOnError="true" />
|
||||||
<Copy SourceFiles="$(TargetDir)x64\AssetStudioFBXNative.dll" DestinationFolder="$(PublishDir)x64" ContinueOnError="true" />
|
<Copy SourceFiles="$(TargetDir)x64\AssetStudio.FBXNative.dll" DestinationFolder="$(PublishDir)x64" ContinueOnError="true" />
|
||||||
</Target>
|
</Target>
|
||||||
|
|
||||||
</Project>
|
</Project>
|
||||||
@@ -1,6 +1,4 @@
|
|||||||
using AssetStudio;
|
namespace AssetStudio.CLI
|
||||||
|
|
||||||
namespace AssetStudioCLI
|
|
||||||
{
|
{
|
||||||
public class AssetItem
|
public class AssetItem
|
||||||
{
|
{
|
||||||
@@ -5,9 +5,8 @@ using System.CommandLine;
|
|||||||
using System.CommandLine.Binding;
|
using System.CommandLine.Binding;
|
||||||
using System.CommandLine.Parsing;
|
using System.CommandLine.Parsing;
|
||||||
using System.Text.RegularExpressions;
|
using System.Text.RegularExpressions;
|
||||||
using AssetStudio;
|
|
||||||
|
|
||||||
namespace AssetStudioCLI
|
namespace AssetStudio.CLI
|
||||||
{
|
{
|
||||||
public static class CommandLine
|
public static class CommandLine
|
||||||
{
|
{
|
||||||
@@ -1,12 +1,11 @@
|
|||||||
using AssetStudio;
|
using Newtonsoft.Json;
|
||||||
using Newtonsoft.Json;
|
|
||||||
using Newtonsoft.Json.Converters;
|
using Newtonsoft.Json.Converters;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
|
|
||||||
namespace AssetStudioCLI
|
namespace AssetStudio.CLI
|
||||||
{
|
{
|
||||||
internal static class Exporter
|
internal static class Exporter
|
||||||
{
|
{
|
||||||
@@ -3,11 +3,10 @@ using System.Collections.Generic;
|
|||||||
using System.IO;
|
using System.IO;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Threading;
|
using System.Threading;
|
||||||
using AssetStudio;
|
using AssetStudio.CLI.Properties;
|
||||||
using AssetStudioCLI.Properties;
|
using static AssetStudio.CLI.Studio;
|
||||||
using static AssetStudioCLI.Studio;
|
|
||||||
|
|
||||||
namespace AssetStudioCLI
|
namespace AssetStudio.CLI
|
||||||
{
|
{
|
||||||
public class Program
|
public class Program
|
||||||
{
|
{
|
||||||
|
Before Width: | Height: | Size: 37 KiB After Width: | Height: | Size: 37 KiB |
@@ -1,9 +1,8 @@
|
|||||||
using System;
|
using System;
|
||||||
using AssetStudio;
|
|
||||||
using System.ComponentModel;
|
using System.ComponentModel;
|
||||||
using System.Configuration;
|
using System.Configuration;
|
||||||
|
|
||||||
namespace AssetStudioCLI.Properties {
|
namespace AssetStudio.CLI.Properties {
|
||||||
public static class AppSettings
|
public static class AppSettings
|
||||||
{
|
{
|
||||||
public static string Get(string key)
|
public static string Get(string key)
|
||||||
@@ -1,18 +1,15 @@
|
|||||||
using AssetStudio;
|
using System;
|
||||||
using System;
|
|
||||||
using System.IO;
|
using System.IO;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Xml.Linq;
|
|
||||||
using Newtonsoft.Json;
|
using Newtonsoft.Json;
|
||||||
using Newtonsoft.Json.Converters;
|
using Newtonsoft.Json.Converters;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Text.RegularExpressions;
|
using System.Text.RegularExpressions;
|
||||||
using static AssetStudioCLI.Exporter;
|
using static AssetStudio.CLI.Exporter;
|
||||||
using Object = AssetStudio.Object;
|
|
||||||
using System.Globalization;
|
using System.Globalization;
|
||||||
using System.Xml;
|
using System.Xml;
|
||||||
|
|
||||||
namespace AssetStudioCLI
|
namespace AssetStudio.CLI
|
||||||
{
|
{
|
||||||
[Flags]
|
[Flags]
|
||||||
public enum MapOpType
|
public enum MapOpType
|
||||||
@@ -67,12 +67,12 @@ BEGIN
|
|||||||
BEGIN
|
BEGIN
|
||||||
BLOCK "000004b0"
|
BLOCK "000004b0"
|
||||||
BEGIN
|
BEGIN
|
||||||
VALUE "FileDescription", "AssetStudioFBXNative"
|
VALUE "FileDescription", "AssetStudio.FBXNative"
|
||||||
VALUE "FileVersion", "1.0.0.1"
|
VALUE "FileVersion", "1.0.0.1"
|
||||||
VALUE "InternalName", "AssetStudioFBXNative.dll"
|
VALUE "InternalName", "AssetStudio.FBXNative.dll"
|
||||||
VALUE "LegalCopyright", "Copyright (C) Perfare 2018-2020; Copyright (C) hozuki 2020"
|
VALUE "LegalCopyright", "Copyright (C) Perfare 2018-2020; Copyright (C) hozuki 2020"
|
||||||
VALUE "OriginalFilename", "AssetStudioFBXNative.dll"
|
VALUE "OriginalFilename", "AssetStudio.FBXNative.dll"
|
||||||
VALUE "ProductName", "AssetStudioFBXNative"
|
VALUE "ProductName", "AssetStudio.FBXNative"
|
||||||
VALUE "ProductVersion", "1.0.0.1"
|
VALUE "ProductVersion", "1.0.0.1"
|
||||||
END
|
END
|
||||||
END
|
END
|
||||||
@@ -24,6 +24,7 @@
|
|||||||
<ProjectGuid>{11ea25a3-ed68-40ee-a9d0-7fde3b583027}</ProjectGuid>
|
<ProjectGuid>{11ea25a3-ed68-40ee-a9d0-7fde3b583027}</ProjectGuid>
|
||||||
<RootNamespace>AssetStudioFBXNative</RootNamespace>
|
<RootNamespace>AssetStudioFBXNative</RootNamespace>
|
||||||
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
|
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
|
||||||
|
<ProjectName>AssetStudio.FBXNative</ProjectName>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||||
@@ -191,7 +192,7 @@
|
|||||||
<None Include="cpp.hint" />
|
<None Include="cpp.hint" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ResourceCompile Include="AssetStudioFBXNative.rc" />
|
<ResourceCompile Include="AssetStudio.FBXNative.rc" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||||
<ImportGroup Label="ExtensionTargets">
|
<ImportGroup Label="ExtensionTargets">
|
||||||
@@ -67,7 +67,7 @@
|
|||||||
<None Include="cpp.hint" />
|
<None Include="cpp.hint" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ResourceCompile Include="AssetStudioFBXNative.rc">
|
<ResourceCompile Include="AssetStudio.FBXNative.rc">
|
||||||
<Filter>资源文件</Filter>
|
<Filter>资源文件</Filter>
|
||||||
</ResourceCompile>
|
</ResourceCompile>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
//{{NO_DEPENDENCIES}}
|
//{{NO_DEPENDENCIES}}
|
||||||
// Microsoft Visual C++ generated include file.
|
// Microsoft Visual C++ generated include file.
|
||||||
// Used by AssetStudioFBXNative.rc
|
// Used by AssetStudio.FBXNative.rc
|
||||||
|
|
||||||
// <20>¶<EFBFBD><C2B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>Ĭ<EFBFBD><C4AC>ֵ
|
// <20>¶<EFBFBD><C2B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>Ĭ<EFBFBD><C4AC>ֵ
|
||||||
//
|
//
|
||||||
@@ -2,11 +2,11 @@
|
|||||||
<configuration>
|
<configuration>
|
||||||
<configSections>
|
<configSections>
|
||||||
<sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
|
<sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
|
||||||
<section name="AssetStudioGUI.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
|
<section name="AssetStudio.GUI.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
|
||||||
</sectionGroup>
|
</sectionGroup>
|
||||||
</configSections>
|
</configSections>
|
||||||
<userSettings>
|
<userSettings>
|
||||||
<AssetStudioGUI.Properties.Settings>
|
<AssetStudio.GUI.Properties.Settings>
|
||||||
<setting name="displayAll" serializeAs="String">
|
<setting name="displayAll" serializeAs="String">
|
||||||
<value>False</value>
|
<value>False</value>
|
||||||
</setting>
|
</setting>
|
||||||
@@ -124,6 +124,6 @@
|
|||||||
<setting name="enableVerbose" serializeAs="String">
|
<setting name="enableVerbose" serializeAs="String">
|
||||||
<value>False</value>
|
<value>False</value>
|
||||||
</setting>
|
</setting>
|
||||||
</AssetStudioGUI.Properties.Settings>
|
</AssetStudio.GUI.Properties.Settings>
|
||||||
</userSettings>
|
</userSettings>
|
||||||
</configuration>
|
</configuration>
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
|
|
||||||
namespace AssetStudioGUI
|
namespace AssetStudio.GUI
|
||||||
{
|
{
|
||||||
partial class AssetBrowser
|
partial class AssetBrowser
|
||||||
{
|
{
|
||||||
@@ -7,12 +7,12 @@ using System.Threading.Tasks;
|
|||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
using AssetStudio;
|
using AssetStudio;
|
||||||
|
|
||||||
namespace AssetStudioGUI
|
namespace AssetStudio.GUI
|
||||||
{
|
{
|
||||||
partial class AssetBrowser : Form
|
partial class AssetBrowser : Form
|
||||||
{
|
{
|
||||||
private readonly AssetStudioGUIForm _parent;
|
private readonly MainForm _parent;
|
||||||
public AssetBrowser(AssetStudioGUIForm form)
|
public AssetBrowser(MainForm form)
|
||||||
{
|
{
|
||||||
InitializeComponent();
|
InitializeComponent();
|
||||||
_parent = form;
|
_parent = form;
|
||||||
@@ -13,7 +13,7 @@
|
|||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ProjectReference Include="..\AssetStudioUtility\AssetStudioUtility.csproj" />
|
<ProjectReference Include="..\AssetStudio.Utility\AssetStudio.Utility.csproj" />
|
||||||
<ProjectReference Include="..\AssetStudio\AssetStudio.csproj" />
|
<ProjectReference Include="..\AssetStudio\AssetStudio.csproj" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
@@ -35,13 +35,13 @@
|
|||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ContentWithTargetPath Include="Libraries\x86\AssetStudioFBXNative.dll">
|
<ContentWithTargetPath Include="Libraries\x86\AssetStudio.FBXNative.dll">
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
<TargetPath>x86\AssetStudioFBXNative.dll</TargetPath>
|
<TargetPath>x86\AssetStudio.FBXNative.dll</TargetPath>
|
||||||
</ContentWithTargetPath>
|
</ContentWithTargetPath>
|
||||||
<ContentWithTargetPath Include="Libraries\x64\AssetStudioFBXNative.dll">
|
<ContentWithTargetPath Include="Libraries\x64\AssetStudio.FBXNative.dll">
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
<TargetPath>x64\AssetStudioFBXNative.dll</TargetPath>
|
<TargetPath>x64\AssetStudio.FBXNative.dll</TargetPath>
|
||||||
</ContentWithTargetPath>
|
</ContentWithTargetPath>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
@@ -105,12 +105,12 @@
|
|||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<Target Name="CopyExtraFiles" AfterTargets="AfterBuild">
|
<Target Name="CopyExtraFiles" AfterTargets="AfterBuild">
|
||||||
<Copy SourceFiles="$(SolutionDir)AssetStudioFBXNative\bin\Win32\$(Configuration)\AssetStudioFBXNative.dll" DestinationFolder="$(TargetDir)x86" ContinueOnError="true" />
|
<Copy SourceFiles="$(SolutionDir)AssetStudio.FBXNative\bin\Win32\$(Configuration)\AssetStudio.FBXNative.dll" DestinationFolder="$(TargetDir)x86" ContinueOnError="true" />
|
||||||
<Copy SourceFiles="$(SolutionDir)AssetStudioFBXNative\bin\x64\$(Configuration)\AssetStudioFBXNative.dll" DestinationFolder="$(TargetDir)x64" ContinueOnError="true" />
|
<Copy SourceFiles="$(SolutionDir)AssetStudio.FBXNative\bin\x64\$(Configuration)\AssetStudio.FBXNative.dll" DestinationFolder="$(TargetDir)x64" ContinueOnError="true" />
|
||||||
</Target>
|
</Target>
|
||||||
|
|
||||||
<Target Name="PublishExtraFiles" AfterTargets="Publish">
|
<Target Name="PublishExtraFiles" AfterTargets="Publish">
|
||||||
<Copy SourceFiles="$(TargetDir)x86\AssetStudioFBXNative.dll" DestinationFolder="$(PublishDir)x86" ContinueOnError="true" />
|
<Copy SourceFiles="$(TargetDir)x86\AssetStudio.FBXNative.dll" DestinationFolder="$(PublishDir)x86" ContinueOnError="true" />
|
||||||
<Copy SourceFiles="$(TargetDir)x64\AssetStudioFBXNative.dll" DestinationFolder="$(PublishDir)x64" ContinueOnError="true" />
|
<Copy SourceFiles="$(TargetDir)x64\AssetStudio.FBXNative.dll" DestinationFolder="$(PublishDir)x64" ContinueOnError="true" />
|
||||||
</Target>
|
</Target>
|
||||||
</Project>
|
</Project>
|
||||||
@@ -1,7 +1,6 @@
|
|||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
using AssetStudio;
|
|
||||||
|
|
||||||
namespace AssetStudioGUI
|
namespace AssetStudio.GUI
|
||||||
{
|
{
|
||||||
public class AssetItem : ListViewItem
|
public class AssetItem : ListViewItem
|
||||||
{
|
{
|
||||||
@@ -4,7 +4,7 @@ using System.Linq;
|
|||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
|
|
||||||
namespace AssetStudioGUI
|
namespace AssetStudio.GUI
|
||||||
{
|
{
|
||||||
internal class GOHierarchy : TreeView
|
internal class GOHierarchy : TreeView
|
||||||
{
|
{
|
||||||
@@ -1,7 +1,6 @@
|
|||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
using AssetStudio;
|
|
||||||
|
|
||||||
namespace AssetStudioGUI
|
namespace AssetStudio.GUI
|
||||||
{
|
{
|
||||||
public class GameObjectTreeNode : TreeNode
|
public class GameObjectTreeNode : TreeNode
|
||||||
{
|
{
|
||||||
@@ -3,7 +3,7 @@ using System.Runtime.CompilerServices;
|
|||||||
using System.Runtime.InteropServices;
|
using System.Runtime.InteropServices;
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
|
|
||||||
namespace AssetStudioGUI
|
namespace AssetStudio.GUI
|
||||||
{
|
{
|
||||||
internal class OpenFolderDialog
|
internal class OpenFolderDialog
|
||||||
{
|
{
|
||||||
@@ -1,9 +1,8 @@
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
using AssetStudio;
|
|
||||||
|
|
||||||
namespace AssetStudioGUI
|
namespace AssetStudio.GUI
|
||||||
{
|
{
|
||||||
internal class TypeTreeItem : ListViewItem
|
internal class TypeTreeItem : ListViewItem
|
||||||
{
|
{
|
||||||
@@ -3,7 +3,7 @@ using System.Drawing;
|
|||||||
using System.Drawing.Imaging;
|
using System.Drawing.Imaging;
|
||||||
using System.Runtime.InteropServices;
|
using System.Runtime.InteropServices;
|
||||||
|
|
||||||
namespace AssetStudioGUI
|
namespace AssetStudio.GUI
|
||||||
{
|
{
|
||||||
public sealed class DirectBitmap : IDisposable
|
public sealed class DirectBitmap : IDisposable
|
||||||
{
|
{
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
|
|
||||||
namespace AssetStudioGUI
|
namespace AssetStudio.GUI
|
||||||
{
|
{
|
||||||
partial class ExportOptions
|
partial class ExportOptions
|
||||||
{
|
{
|
||||||
@@ -5,7 +5,7 @@ using System.Collections.Generic;
|
|||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
|
|
||||||
namespace AssetStudioGUI
|
namespace AssetStudio.GUI
|
||||||
{
|
{
|
||||||
public partial class ExportOptions : Form
|
public partial class ExportOptions : Form
|
||||||
{
|
{
|
||||||
@@ -1,12 +1,11 @@
|
|||||||
using AssetStudio;
|
using Newtonsoft.Json;
|
||||||
using Newtonsoft.Json;
|
|
||||||
using Newtonsoft.Json.Converters;
|
using Newtonsoft.Json.Converters;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
|
|
||||||
namespace AssetStudioGUI
|
namespace AssetStudio.GUI
|
||||||
{
|
{
|
||||||
internal static class Exporter
|
internal static class Exporter
|
||||||
{
|
{
|
||||||
@@ -1,8 +1,7 @@
|
|||||||
using AssetStudio;
|
using System;
|
||||||
using System;
|
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
|
|
||||||
namespace AssetStudioGUI
|
namespace AssetStudio.GUI
|
||||||
{
|
{
|
||||||
class GUILogger : ILogger
|
class GUILogger : ILogger
|
||||||
{
|
{
|
||||||
Binary file not shown.
Binary file not shown.
@@ -1,8 +1,8 @@
|
|||||||
using System;
|
using System;
|
||||||
|
|
||||||
namespace AssetStudioGUI
|
namespace AssetStudio.GUI
|
||||||
{
|
{
|
||||||
partial class AssetStudioGUIForm
|
partial class MainForm
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Required designer variable.
|
/// Required designer variable.
|
||||||
@@ -31,7 +31,7 @@ namespace AssetStudioGUI
|
|||||||
private void InitializeComponent()
|
private void InitializeComponent()
|
||||||
{
|
{
|
||||||
components = new System.ComponentModel.Container();
|
components = new System.ComponentModel.Container();
|
||||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(AssetStudioGUIForm));
|
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MainForm));
|
||||||
menuStrip1 = new System.Windows.Forms.MenuStrip();
|
menuStrip1 = new System.Windows.Forms.MenuStrip();
|
||||||
fileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
fileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
loadFileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
loadFileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
@@ -96,6 +96,7 @@ namespace AssetStudioGUI
|
|||||||
toolStripMenuItem11 = new System.Windows.Forms.ToolStripMenuItem();
|
toolStripMenuItem11 = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
toolStripMenuItem12 = new System.Windows.Forms.ToolStripMenuItem();
|
toolStripMenuItem12 = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
toolStripMenuItem13 = new System.Windows.Forms.ToolStripMenuItem();
|
toolStripMenuItem13 = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
|
sceneHierarchy = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
filterTypeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
filterTypeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
allToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
allToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
debugMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
debugMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
@@ -171,7 +172,6 @@ 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();
|
||||||
sceneHierarchy = new System.Windows.Forms.ToolStripMenuItem();
|
|
||||||
menuStrip1.SuspendLayout();
|
menuStrip1.SuspendLayout();
|
||||||
((System.ComponentModel.ISupportInitialize)splitContainer1).BeginInit();
|
((System.ComponentModel.ISupportInitialize)splitContainer1).BeginInit();
|
||||||
splitContainer1.Panel1.SuspendLayout();
|
splitContainer1.Panel1.SuspendLayout();
|
||||||
@@ -587,21 +587,21 @@ namespace AssetStudioGUI
|
|||||||
// toolStripMenuItem17
|
// toolStripMenuItem17
|
||||||
//
|
//
|
||||||
toolStripMenuItem17.Name = "toolStripMenuItem17";
|
toolStripMenuItem17.Name = "toolStripMenuItem17";
|
||||||
toolStripMenuItem17.Size = new System.Drawing.Size(180, 22);
|
toolStripMenuItem17.Size = new System.Drawing.Size(152, 22);
|
||||||
toolStripMenuItem17.Text = "All assets";
|
toolStripMenuItem17.Text = "All assets";
|
||||||
toolStripMenuItem17.Click += toolStripMenuItem17_Click;
|
toolStripMenuItem17.Click += toolStripMenuItem17_Click;
|
||||||
//
|
//
|
||||||
// toolStripMenuItem24
|
// toolStripMenuItem24
|
||||||
//
|
//
|
||||||
toolStripMenuItem24.Name = "toolStripMenuItem24";
|
toolStripMenuItem24.Name = "toolStripMenuItem24";
|
||||||
toolStripMenuItem24.Size = new System.Drawing.Size(180, 22);
|
toolStripMenuItem24.Size = new System.Drawing.Size(152, 22);
|
||||||
toolStripMenuItem24.Text = "Selected assets";
|
toolStripMenuItem24.Text = "Selected assets";
|
||||||
toolStripMenuItem24.Click += toolStripMenuItem24_Click;
|
toolStripMenuItem24.Click += toolStripMenuItem24_Click;
|
||||||
//
|
//
|
||||||
// toolStripMenuItem25
|
// toolStripMenuItem25
|
||||||
//
|
//
|
||||||
toolStripMenuItem25.Name = "toolStripMenuItem25";
|
toolStripMenuItem25.Name = "toolStripMenuItem25";
|
||||||
toolStripMenuItem25.Size = new System.Drawing.Size(180, 22);
|
toolStripMenuItem25.Size = new System.Drawing.Size(152, 22);
|
||||||
toolStripMenuItem25.Text = "Filtered assets";
|
toolStripMenuItem25.Text = "Filtered assets";
|
||||||
toolStripMenuItem25.Click += toolStripMenuItem25_Click;
|
toolStripMenuItem25.Click += toolStripMenuItem25_Click;
|
||||||
//
|
//
|
||||||
@@ -620,24 +620,31 @@ namespace AssetStudioGUI
|
|||||||
// toolStripMenuItem11
|
// toolStripMenuItem11
|
||||||
//
|
//
|
||||||
toolStripMenuItem11.Name = "toolStripMenuItem11";
|
toolStripMenuItem11.Name = "toolStripMenuItem11";
|
||||||
toolStripMenuItem11.Size = new System.Drawing.Size(180, 22);
|
toolStripMenuItem11.Size = new System.Drawing.Size(152, 22);
|
||||||
toolStripMenuItem11.Text = "All assets";
|
toolStripMenuItem11.Text = "All assets";
|
||||||
toolStripMenuItem11.Click += toolStripMenuItem11_Click;
|
toolStripMenuItem11.Click += toolStripMenuItem11_Click;
|
||||||
//
|
//
|
||||||
// toolStripMenuItem12
|
// toolStripMenuItem12
|
||||||
//
|
//
|
||||||
toolStripMenuItem12.Name = "toolStripMenuItem12";
|
toolStripMenuItem12.Name = "toolStripMenuItem12";
|
||||||
toolStripMenuItem12.Size = new System.Drawing.Size(180, 22);
|
toolStripMenuItem12.Size = new System.Drawing.Size(152, 22);
|
||||||
toolStripMenuItem12.Text = "Selected assets";
|
toolStripMenuItem12.Text = "Selected assets";
|
||||||
toolStripMenuItem12.Click += toolStripMenuItem12_Click;
|
toolStripMenuItem12.Click += toolStripMenuItem12_Click;
|
||||||
//
|
//
|
||||||
// toolStripMenuItem13
|
// toolStripMenuItem13
|
||||||
//
|
//
|
||||||
toolStripMenuItem13.Name = "toolStripMenuItem13";
|
toolStripMenuItem13.Name = "toolStripMenuItem13";
|
||||||
toolStripMenuItem13.Size = new System.Drawing.Size(180, 22);
|
toolStripMenuItem13.Size = new System.Drawing.Size(152, 22);
|
||||||
toolStripMenuItem13.Text = "Filtered assets";
|
toolStripMenuItem13.Text = "Filtered assets";
|
||||||
toolStripMenuItem13.Click += toolStripMenuItem13_Click;
|
toolStripMenuItem13.Click += toolStripMenuItem13_Click;
|
||||||
//
|
//
|
||||||
|
// sceneHierarchy
|
||||||
|
//
|
||||||
|
sceneHierarchy.Name = "sceneHierarchy";
|
||||||
|
sceneHierarchy.Size = new System.Drawing.Size(266, 22);
|
||||||
|
sceneHierarchy.Text = "Scene hierarchy";
|
||||||
|
sceneHierarchy.Click += sceneHierarchy_Click;
|
||||||
|
//
|
||||||
// filterTypeToolStripMenuItem
|
// filterTypeToolStripMenuItem
|
||||||
//
|
//
|
||||||
filterTypeToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { allToolStripMenuItem });
|
filterTypeToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { allToolStripMenuItem });
|
||||||
@@ -703,7 +710,7 @@ namespace AssetStudioGUI
|
|||||||
enableFileLogging.CheckState = System.Windows.Forms.CheckState.Checked;
|
enableFileLogging.CheckState = System.Windows.Forms.CheckState.Checked;
|
||||||
enableFileLogging.Name = "enableFileLogging";
|
enableFileLogging.Name = "enableFileLogging";
|
||||||
enableFileLogging.Size = new System.Drawing.Size(191, 22);
|
enableFileLogging.Size = new System.Drawing.Size(191, 22);
|
||||||
enableFileLogging.Text = "Enable File Logging";
|
enableFileLogging.Text = "Enable file logging";
|
||||||
enableFileLogging.CheckedChanged += enableFileLogging_CheckedChanged;
|
enableFileLogging.CheckedChanged += enableFileLogging_CheckedChanged;
|
||||||
//
|
//
|
||||||
// enableVerbose
|
// enableVerbose
|
||||||
@@ -1337,22 +1344,7 @@ namespace AssetStudioGUI
|
|||||||
showOriginalFileToolStripMenuItem.Visible = false;
|
showOriginalFileToolStripMenuItem.Visible = false;
|
||||||
showOriginalFileToolStripMenuItem.Click += showOriginalFileToolStripMenuItem_Click;
|
showOriginalFileToolStripMenuItem.Click += showOriginalFileToolStripMenuItem_Click;
|
||||||
//
|
//
|
||||||
// sceneHierarchy
|
// MainForm
|
||||||
//
|
|
||||||
sceneHierarchy.Name = "sceneHierarchy";
|
|
||||||
sceneHierarchy.Size = new System.Drawing.Size(266, 22);
|
|
||||||
sceneHierarchy.Text = "Scene hierarchy";
|
|
||||||
sceneHierarchy.Click += sceneHierarchy_Click;
|
|
||||||
//
|
|
||||||
// enableFileLogging
|
|
||||||
//
|
|
||||||
this.enableFileLogging.CheckOnClick = true;
|
|
||||||
this.enableFileLogging.Name = "enableFileLogging";
|
|
||||||
this.enableFileLogging.Size = new System.Drawing.Size(191, 22);
|
|
||||||
this.enableFileLogging.Text = "Enable file logging";
|
|
||||||
this.enableFileLogging.CheckedChanged += new System.EventHandler(this.enableFileLogging_CheckedChanged);
|
|
||||||
//
|
|
||||||
// AssetStudioGUIForm
|
|
||||||
//
|
//
|
||||||
AllowDrop = true;
|
AllowDrop = true;
|
||||||
ClientSize = new System.Drawing.Size(1264, 681);
|
ClientSize = new System.Drawing.Size(1264, 681);
|
||||||
@@ -1362,11 +1354,11 @@ namespace AssetStudioGUI
|
|||||||
KeyPreview = true;
|
KeyPreview = true;
|
||||||
MainMenuStrip = menuStrip1;
|
MainMenuStrip = menuStrip1;
|
||||||
MinimumSize = new System.Drawing.Size(620, 372);
|
MinimumSize = new System.Drawing.Size(620, 372);
|
||||||
Name = "AssetStudioGUIForm";
|
Name = "MainForm";
|
||||||
StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
|
StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
|
||||||
Text = "AssetStudioGUI";
|
Text = "AssetStudio.GUI";
|
||||||
DragDrop += AssetStudioGUIForm_DragDrop;
|
DragDrop += MainForm_DragDrop;
|
||||||
DragEnter += AssetStudioGUIForm_DragEnter;
|
DragEnter += MainForm_DragEnter;
|
||||||
KeyDown += AssetStudioForm_KeyDown;
|
KeyDown += AssetStudioForm_KeyDown;
|
||||||
menuStrip1.ResumeLayout(false);
|
menuStrip1.ResumeLayout(false);
|
||||||
menuStrip1.PerformLayout();
|
menuStrip1.PerformLayout();
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
using AssetStudio;
|
|
||||||
using Newtonsoft.Json;
|
using Newtonsoft.Json;
|
||||||
using OpenTK.Graphics.OpenGL;
|
using OpenTK.Graphics.OpenGL;
|
||||||
using System;
|
using System;
|
||||||
@@ -15,19 +15,15 @@ using System.Threading;
|
|||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using System.Timers;
|
using System.Timers;
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
using static AssetStudioGUI.Studio;
|
using static AssetStudio.GUI.Studio;
|
||||||
using Font = AssetStudio.Font;
|
|
||||||
using Vector3 = OpenTK.Mathematics.Vector3;
|
|
||||||
using Vector4 = OpenTK.Mathematics.Vector4;
|
|
||||||
using Matrix4 = OpenTK.Mathematics.Matrix4;
|
|
||||||
using OpenTK.Graphics;
|
using OpenTK.Graphics;
|
||||||
using OpenTK.Mathematics;
|
using OpenTK.Mathematics;
|
||||||
using Newtonsoft.Json.Converters;
|
using Newtonsoft.Json.Converters;
|
||||||
using System.Text.RegularExpressions;
|
using System.Text.RegularExpressions;
|
||||||
|
|
||||||
namespace AssetStudioGUI
|
namespace AssetStudio.GUI
|
||||||
{
|
{
|
||||||
partial class AssetStudioGUIForm : Form
|
partial class MainForm : Form
|
||||||
{
|
{
|
||||||
private AssetItem lastSelectedItem;
|
private AssetItem lastSelectedItem;
|
||||||
private AssetBrowser assetBrowser;
|
private AssetBrowser assetBrowser;
|
||||||
@@ -59,10 +55,10 @@ namespace AssetStudioGUI
|
|||||||
private int uniformViewMatrix;
|
private int uniformViewMatrix;
|
||||||
private int uniformProjMatrix;
|
private int uniformProjMatrix;
|
||||||
private int vao;
|
private int vao;
|
||||||
private Vector3[] vertexData;
|
private OpenTK.Mathematics.Vector3[] vertexData;
|
||||||
private Vector3[] normalData;
|
private OpenTK.Mathematics.Vector3[] normalData;
|
||||||
private Vector3[] normal2Data;
|
private OpenTK.Mathematics.Vector3[] normal2Data;
|
||||||
private Vector4[] colorData;
|
private OpenTK.Mathematics.Vector4[] colorData;
|
||||||
private Matrix4 modelMatrixData;
|
private Matrix4 modelMatrixData;
|
||||||
private Matrix4 viewMatrixData;
|
private Matrix4 viewMatrixData;
|
||||||
private Matrix4 projMatrixData;
|
private Matrix4 projMatrixData;
|
||||||
@@ -85,7 +81,7 @@ namespace AssetStudioGUI
|
|||||||
|
|
||||||
private GUILogger logger;
|
private GUILogger logger;
|
||||||
|
|
||||||
public AssetStudioGUIForm()
|
public MainForm()
|
||||||
{
|
{
|
||||||
Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US");
|
Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US");
|
||||||
InitializeComponent();
|
InitializeComponent();
|
||||||
@@ -171,7 +167,7 @@ namespace AssetStudioGUI
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
private void AssetStudioGUIForm_DragEnter(object sender, DragEventArgs e)
|
private void MainForm_DragEnter(object sender, DragEventArgs e)
|
||||||
{
|
{
|
||||||
if (e.Data.GetDataPresent(DataFormats.FileDrop))
|
if (e.Data.GetDataPresent(DataFormats.FileDrop))
|
||||||
{
|
{
|
||||||
@@ -179,7 +175,7 @@ namespace AssetStudioGUI
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private async void AssetStudioGUIForm_DragDrop(object sender, DragEventArgs e)
|
private async void MainForm_DragDrop(object sender, DragEventArgs e)
|
||||||
{
|
{
|
||||||
var paths = (string[])e.Data.GetData(DataFormats.FileDrop);
|
var paths = (string[])e.Data.GetData(DataFormats.FileDrop);
|
||||||
if (paths.Length > 0)
|
if (paths.Length > 0)
|
||||||
@@ -1145,7 +1141,7 @@ namespace AssetStudioGUI
|
|||||||
{
|
{
|
||||||
count = 4;
|
count = 4;
|
||||||
}
|
}
|
||||||
vertexData = new Vector3[m_Mesh.m_VertexCount];
|
vertexData = new OpenTK.Mathematics.Vector3[m_Mesh.m_VertexCount];
|
||||||
// Calculate Bounding
|
// Calculate Bounding
|
||||||
float[] min = new float[3];
|
float[] min = new float[3];
|
||||||
float[] max = new float[3];
|
float[] max = new float[3];
|
||||||
@@ -1161,14 +1157,15 @@ namespace AssetStudioGUI
|
|||||||
min[i] = Math.Min(min[i], m_Mesh.m_Vertices[v * count + i]);
|
min[i] = Math.Min(min[i], m_Mesh.m_Vertices[v * count + i]);
|
||||||
max[i] = Math.Max(max[i], m_Mesh.m_Vertices[v * count + i]);
|
max[i] = Math.Max(max[i], m_Mesh.m_Vertices[v * count + i]);
|
||||||
}
|
}
|
||||||
vertexData[v] = new Vector3(
|
vertexData[v] = new OpenTK.Mathematics.Vector3(
|
||||||
m_Mesh.m_Vertices[v * count],
|
m_Mesh.m_Vertices[v * count],
|
||||||
m_Mesh.m_Vertices[v * count + 1],
|
m_Mesh.m_Vertices[v * count + 1],
|
||||||
m_Mesh.m_Vertices[v * count + 2]);
|
m_Mesh.m_Vertices[v * count + 2]);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Calculate modelMatrix
|
// Calculate modelMatrix
|
||||||
Vector3 dist = Vector3.One, offset = Vector3.Zero;
|
var dist = OpenTK.Mathematics.Vector3.One;
|
||||||
|
var offset = OpenTK.Mathematics.Vector3.Zero;
|
||||||
for (int i = 0; i < 3; i++)
|
for (int i = 0; i < 3; i++)
|
||||||
{
|
{
|
||||||
dist[i] = max[i] - min[i];
|
dist[i] = max[i] - min[i];
|
||||||
@@ -1193,10 +1190,10 @@ namespace AssetStudioGUI
|
|||||||
count = 3;
|
count = 3;
|
||||||
else if (m_Mesh.m_Normals.Length == m_Mesh.m_VertexCount * 4)
|
else if (m_Mesh.m_Normals.Length == m_Mesh.m_VertexCount * 4)
|
||||||
count = 4;
|
count = 4;
|
||||||
normalData = new Vector3[m_Mesh.m_VertexCount];
|
normalData = new OpenTK.Mathematics.Vector3[m_Mesh.m_VertexCount];
|
||||||
for (int n = 0; n < m_Mesh.m_VertexCount; n++)
|
for (int n = 0; n < m_Mesh.m_VertexCount; n++)
|
||||||
{
|
{
|
||||||
normalData[n] = new Vector3(
|
normalData[n] = new OpenTK.Mathematics.Vector3(
|
||||||
m_Mesh.m_Normals[n * count],
|
m_Mesh.m_Normals[n * count],
|
||||||
m_Mesh.m_Normals[n * count + 1],
|
m_Mesh.m_Normals[n * count + 1],
|
||||||
m_Mesh.m_Normals[n * count + 2]);
|
m_Mesh.m_Normals[n * count + 2]);
|
||||||
@@ -1205,18 +1202,18 @@ namespace AssetStudioGUI
|
|||||||
else
|
else
|
||||||
normalData = null;
|
normalData = null;
|
||||||
// calculate normal by ourself
|
// calculate normal by ourself
|
||||||
normal2Data = new Vector3[m_Mesh.m_VertexCount];
|
normal2Data = new OpenTK.Mathematics.Vector3[m_Mesh.m_VertexCount];
|
||||||
int[] normalCalculatedCount = new int[m_Mesh.m_VertexCount];
|
int[] normalCalculatedCount = new int[m_Mesh.m_VertexCount];
|
||||||
for (int i = 0; i < m_Mesh.m_VertexCount; i++)
|
for (int i = 0; i < m_Mesh.m_VertexCount; i++)
|
||||||
{
|
{
|
||||||
normal2Data[i] = Vector3.Zero;
|
normal2Data[i] = OpenTK.Mathematics.Vector3.Zero;
|
||||||
normalCalculatedCount[i] = 0;
|
normalCalculatedCount[i] = 0;
|
||||||
}
|
}
|
||||||
for (int i = 0; i < m_Mesh.m_Indices.Count; i = i + 3)
|
for (int i = 0; i < m_Mesh.m_Indices.Count; i = i + 3)
|
||||||
{
|
{
|
||||||
Vector3 dir1 = vertexData[indiceData[i + 1]] - vertexData[indiceData[i]];
|
var dir1 = vertexData[indiceData[i + 1]] - vertexData[indiceData[i]];
|
||||||
Vector3 dir2 = vertexData[indiceData[i + 2]] - vertexData[indiceData[i]];
|
var dir2 = vertexData[indiceData[i + 2]] - vertexData[indiceData[i]];
|
||||||
Vector3 normal = Vector3.Cross(dir1, dir2);
|
var normal = OpenTK.Mathematics.Vector3.Cross(dir1, dir2);
|
||||||
normal.Normalize();
|
normal.Normalize();
|
||||||
for (int j = 0; j < 3; j++)
|
for (int j = 0; j < 3; j++)
|
||||||
{
|
{
|
||||||
@@ -1227,7 +1224,7 @@ namespace AssetStudioGUI
|
|||||||
for (int i = 0; i < m_Mesh.m_VertexCount; i++)
|
for (int i = 0; i < m_Mesh.m_VertexCount; i++)
|
||||||
{
|
{
|
||||||
if (normalCalculatedCount[i] == 0)
|
if (normalCalculatedCount[i] == 0)
|
||||||
normal2Data[i] = new Vector3(0, 1, 0);
|
normal2Data[i] = new OpenTK.Mathematics.Vector3(0, 1, 0);
|
||||||
else
|
else
|
||||||
normal2Data[i] /= normalCalculatedCount[i];
|
normal2Data[i] /= normalCalculatedCount[i];
|
||||||
}
|
}
|
||||||
@@ -1235,10 +1232,10 @@ namespace AssetStudioGUI
|
|||||||
#region Colors
|
#region Colors
|
||||||
if (m_Mesh.m_Colors != null && m_Mesh.m_Colors.Length == m_Mesh.m_VertexCount * 3)
|
if (m_Mesh.m_Colors != null && m_Mesh.m_Colors.Length == m_Mesh.m_VertexCount * 3)
|
||||||
{
|
{
|
||||||
colorData = new Vector4[m_Mesh.m_VertexCount];
|
colorData = new OpenTK.Mathematics.Vector4[m_Mesh.m_VertexCount];
|
||||||
for (int c = 0; c < m_Mesh.m_VertexCount; c++)
|
for (int c = 0; c < m_Mesh.m_VertexCount; c++)
|
||||||
{
|
{
|
||||||
colorData[c] = new Vector4(
|
colorData[c] = new OpenTK.Mathematics.Vector4(
|
||||||
m_Mesh.m_Colors[c * 3],
|
m_Mesh.m_Colors[c * 3],
|
||||||
m_Mesh.m_Colors[c * 3 + 1],
|
m_Mesh.m_Colors[c * 3 + 1],
|
||||||
m_Mesh.m_Colors[c * 3 + 2],
|
m_Mesh.m_Colors[c * 3 + 2],
|
||||||
@@ -1247,10 +1244,10 @@ namespace AssetStudioGUI
|
|||||||
}
|
}
|
||||||
else if (m_Mesh.m_Colors != null && m_Mesh.m_Colors.Length == m_Mesh.m_VertexCount * 4)
|
else if (m_Mesh.m_Colors != null && m_Mesh.m_Colors.Length == m_Mesh.m_VertexCount * 4)
|
||||||
{
|
{
|
||||||
colorData = new Vector4[m_Mesh.m_VertexCount];
|
colorData = new OpenTK.Mathematics.Vector4[m_Mesh.m_VertexCount];
|
||||||
for (int c = 0; c < m_Mesh.m_VertexCount; c++)
|
for (int c = 0; c < m_Mesh.m_VertexCount; c++)
|
||||||
{
|
{
|
||||||
colorData[c] = new Vector4(
|
colorData[c] = new OpenTK.Mathematics.Vector4(
|
||||||
m_Mesh.m_Colors[c * 4],
|
m_Mesh.m_Colors[c * 4],
|
||||||
m_Mesh.m_Colors[c * 4 + 1],
|
m_Mesh.m_Colors[c * 4 + 1],
|
||||||
m_Mesh.m_Colors[c * 4 + 2],
|
m_Mesh.m_Colors[c * 4 + 2],
|
||||||
@@ -1259,10 +1256,10 @@ namespace AssetStudioGUI
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
colorData = new Vector4[m_Mesh.m_VertexCount];
|
colorData = new OpenTK.Mathematics.Vector4[m_Mesh.m_VertexCount];
|
||||||
for (int c = 0; c < m_Mesh.m_VertexCount; c++)
|
for (int c = 0; c < m_Mesh.m_VertexCount; c++)
|
||||||
{
|
{
|
||||||
colorData[c] = new Vector4(0.5f, 0.5f, 0.5f, 1.0f);
|
colorData[c] = new OpenTK.Mathematics.Vector4(0.5f, 0.5f, 0.5f, 1.0f);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
@@ -1303,14 +1300,14 @@ namespace AssetStudioGUI
|
|||||||
{
|
{
|
||||||
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);
|
||||||
#region Vertices
|
#region Vertices
|
||||||
vertexData = model.MeshList.SelectMany(x => x.VertexList).Select(x => new Vector3(x.Vertex.X, x.Vertex.Y, x.Vertex.Z)).ToArray();
|
vertexData = model.MeshList.SelectMany(x => x.VertexList).Select(x => new OpenTK.Mathematics.Vector3(x.Vertex.X, x.Vertex.Y, x.Vertex.Z)).ToArray();
|
||||||
// Calculate Bounding
|
// Calculate Bounding
|
||||||
Vector3 min = vertexData.Aggregate(Vector3.ComponentMin);
|
var min = vertexData.Aggregate(OpenTK.Mathematics.Vector3.ComponentMin);
|
||||||
Vector3 max = vertexData.Aggregate(Vector3.ComponentMax);
|
var max = vertexData.Aggregate(OpenTK.Mathematics.Vector3.ComponentMax);
|
||||||
|
|
||||||
// Calculate modelMatrix
|
// Calculate modelMatrix
|
||||||
Vector3 dist = max - min;
|
var dist = max - min;
|
||||||
Vector3 offset = (max - min) / 2;
|
var offset = (max - min) / 2;
|
||||||
float d = Math.Max(1e-5f, dist.Length);
|
float d = Math.Max(1e-5f, dist.Length);
|
||||||
modelMatrixData = Matrix4.CreateTranslation(-offset) * Matrix4.CreateScale(2f / d);
|
modelMatrixData = Matrix4.CreateTranslation(-offset) * Matrix4.CreateScale(2f / d);
|
||||||
#endregion
|
#endregion
|
||||||
@@ -1334,17 +1331,17 @@ namespace AssetStudioGUI
|
|||||||
indiceData = indices.ToArray();
|
indiceData = indices.ToArray();
|
||||||
#endregion
|
#endregion
|
||||||
#region Normals
|
#region Normals
|
||||||
normalData = model.MeshList.SelectMany(x => x.VertexList).Select(x => new Vector3(x.Normal.X, x.Normal.Y, x.Normal.Z)).ToArray();
|
normalData = model.MeshList.SelectMany(x => x.VertexList).Select(x => new OpenTK.Mathematics.Vector3(x.Normal.X, x.Normal.Y, x.Normal.Z)).ToArray();
|
||||||
// calculate normal by ourself
|
// calculate normal by ourself
|
||||||
normal2Data = new Vector3[vertexData.Length];
|
normal2Data = new OpenTK.Mathematics.Vector3[vertexData.Length];
|
||||||
int[] normalCalculatedCount = new int[vertexData.Length];
|
int[] normalCalculatedCount = new int[vertexData.Length];
|
||||||
Array.Fill(normal2Data, Vector3.Zero);
|
Array.Fill(normal2Data, OpenTK.Mathematics.Vector3.Zero);
|
||||||
Array.Fill(normalCalculatedCount, 0);
|
Array.Fill(normalCalculatedCount, 0);
|
||||||
for (int j = 0; j < indiceData.Length; j += 3)
|
for (int j = 0; j < indiceData.Length; j += 3)
|
||||||
{
|
{
|
||||||
Vector3 dir1 = vertexData[indiceData[j + 1]] - vertexData[indiceData[j]];
|
var dir1 = vertexData[indiceData[j + 1]] - vertexData[indiceData[j]];
|
||||||
Vector3 dir2 = vertexData[indiceData[j + 2]] - vertexData[indiceData[j]];
|
var dir2 = vertexData[indiceData[j + 2]] - vertexData[indiceData[j]];
|
||||||
Vector3 normal = Vector3.Cross(dir1, dir2);
|
var normal = OpenTK.Mathematics.Vector3.Cross(dir1, dir2);
|
||||||
normal.Normalize();
|
normal.Normalize();
|
||||||
for (int k = 0; k < 3; k++)
|
for (int k = 0; k < 3; k++)
|
||||||
{
|
{
|
||||||
@@ -1355,13 +1352,13 @@ namespace AssetStudioGUI
|
|||||||
for (int j = 0; j < vertexData.Length; j++)
|
for (int j = 0; j < vertexData.Length; j++)
|
||||||
{
|
{
|
||||||
if (normalCalculatedCount[j] == 0)
|
if (normalCalculatedCount[j] == 0)
|
||||||
normal2Data[j] = new Vector3(0, 1, 0);
|
normal2Data[j] = new OpenTK.Mathematics.Vector3(0, 1, 0);
|
||||||
else
|
else
|
||||||
normal2Data[j] /= normalCalculatedCount[j];
|
normal2Data[j] /= normalCalculatedCount[j];
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
#region Colors
|
#region Colors
|
||||||
colorData = model.MeshList.SelectMany(x => x.VertexList).Select(x => new Vector4(x.Color.R, x.Color.G, x.Color.B, x.Color.A)).ToArray();
|
colorData = model.MeshList.SelectMany(x => x.VertexList).Select(x => new OpenTK.Mathematics.Vector4(x.Color.R, x.Color.G, x.Color.B, x.Color.A)).ToArray();
|
||||||
#endregion
|
#endregion
|
||||||
glControl.Visible = true;
|
glControl.Visible = true;
|
||||||
CreateVAO();
|
CreateVAO();
|
||||||
@@ -2690,24 +2687,24 @@ namespace AssetStudioGUI
|
|||||||
GL.DeleteShader(address);
|
GL.DeleteShader(address);
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void CreateVBO(out int vboAddress, Vector3[] data, int address)
|
private static void CreateVBO(out int vboAddress, OpenTK.Mathematics.Vector3[] data, int address)
|
||||||
{
|
{
|
||||||
GL.GenBuffers(1, out vboAddress);
|
GL.GenBuffers(1, out vboAddress);
|
||||||
GL.BindBuffer(BufferTarget.ArrayBuffer, vboAddress);
|
GL.BindBuffer(BufferTarget.ArrayBuffer, vboAddress);
|
||||||
GL.BufferData(BufferTarget.ArrayBuffer,
|
GL.BufferData(BufferTarget.ArrayBuffer,
|
||||||
(IntPtr)(data.Length * Vector3.SizeInBytes),
|
(IntPtr)(data.Length * OpenTK.Mathematics.Vector3.SizeInBytes),
|
||||||
data,
|
data,
|
||||||
BufferUsageHint.StaticDraw);
|
BufferUsageHint.StaticDraw);
|
||||||
GL.VertexAttribPointer(address, 3, VertexAttribPointerType.Float, false, 0, 0);
|
GL.VertexAttribPointer(address, 3, VertexAttribPointerType.Float, false, 0, 0);
|
||||||
GL.EnableVertexAttribArray(address);
|
GL.EnableVertexAttribArray(address);
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void CreateVBO(out int vboAddress, Vector4[] data, int address)
|
private static void CreateVBO(out int vboAddress, OpenTK.Mathematics.Vector4[] data, int address)
|
||||||
{
|
{
|
||||||
GL.GenBuffers(1, out vboAddress);
|
GL.GenBuffers(1, out vboAddress);
|
||||||
GL.BindBuffer(BufferTarget.ArrayBuffer, vboAddress);
|
GL.BindBuffer(BufferTarget.ArrayBuffer, vboAddress);
|
||||||
GL.BufferData(BufferTarget.ArrayBuffer,
|
GL.BufferData(BufferTarget.ArrayBuffer,
|
||||||
(IntPtr)(data.Length * Vector4.SizeInBytes),
|
(IntPtr)(data.Length * OpenTK.Mathematics.Vector4.SizeInBytes),
|
||||||
data,
|
data,
|
||||||
BufferUsageHint.StaticDraw);
|
BufferUsageHint.StaticDraw);
|
||||||
GL.VertexAttribPointer(address, 4, VertexAttribPointerType.Float, false, 0, 0);
|
GL.VertexAttribPointer(address, 4, VertexAttribPointerType.Float, false, 0, 0);
|
||||||
@@ -120,9 +120,6 @@
|
|||||||
<metadata name="menuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
<metadata name="menuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||||
<value>312, 17</value>
|
<value>312, 17</value>
|
||||||
</metadata>
|
</metadata>
|
||||||
<metadata name="statusStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
|
||||||
<value>432, 17</value>
|
|
||||||
</metadata>
|
|
||||||
<data name="fontPreviewBox.Text" xml:space="preserve">
|
<data name="fontPreviewBox.Text" xml:space="preserve">
|
||||||
<value>abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWYZ
|
<value>abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWYZ
|
||||||
1234567890.:,;'\"(!?)+-*/=
|
1234567890.:,;'\"(!?)+-*/=
|
||||||
@@ -141,6 +138,9 @@ The quick brown fox jumps over the lazy dog. 1234567890
|
|||||||
|
|
||||||
The quick brown fox jumps over the lazy dog. 1234567890</value>
|
The quick brown fox jumps over the lazy dog. 1234567890</value>
|
||||||
</data>
|
</data>
|
||||||
|
<metadata name="statusStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||||
|
<value>432, 17</value>
|
||||||
|
</metadata>
|
||||||
<metadata name="timer.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
<metadata name="timer.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||||
<value>553, 17</value>
|
<value>553, 17</value>
|
||||||
</metadata>
|
</metadata>
|
||||||
@@ -4,7 +4,7 @@ using System.Linq;
|
|||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
|
|
||||||
namespace AssetStudioGUI
|
namespace AssetStudio.GUI
|
||||||
{
|
{
|
||||||
static class Program
|
static class Program
|
||||||
{
|
{
|
||||||
@@ -17,7 +17,7 @@ namespace AssetStudioGUI
|
|||||||
Application.SetHighDpiMode(HighDpiMode.SystemAware);
|
Application.SetHighDpiMode(HighDpiMode.SystemAware);
|
||||||
Application.EnableVisualStyles();
|
Application.EnableVisualStyles();
|
||||||
Application.SetCompatibleTextRenderingDefault(false);
|
Application.SetCompatibleTextRenderingDefault(false);
|
||||||
Application.Run(new AssetStudioGUIForm());
|
Application.Run(new MainForm());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -8,7 +8,7 @@
|
|||||||
// </auto-generated>
|
// </auto-generated>
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
namespace AssetStudioGUI.Properties {
|
namespace AssetStudio.GUI.Properties {
|
||||||
using System;
|
using System;
|
||||||
|
|
||||||
|
|
||||||
@@ -39,7 +39,7 @@ namespace AssetStudioGUI.Properties {
|
|||||||
internal static global::System.Resources.ResourceManager ResourceManager {
|
internal static global::System.Resources.ResourceManager ResourceManager {
|
||||||
get {
|
get {
|
||||||
if (object.ReferenceEquals(resourceMan, null)) {
|
if (object.ReferenceEquals(resourceMan, null)) {
|
||||||
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("AssetStudioGUI.Properties.Resources", typeof(Resources).Assembly);
|
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("AssetStudio.GUI.Properties.Resources", typeof(Resources).Assembly);
|
||||||
resourceMan = temp;
|
resourceMan = temp;
|
||||||
}
|
}
|
||||||
return resourceMan;
|
return resourceMan;
|
||||||
@@ -8,11 +8,11 @@
|
|||||||
// </auto-generated>
|
// </auto-generated>
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
namespace AssetStudioGUI.Properties {
|
namespace AssetStudio.GUI.Properties {
|
||||||
|
|
||||||
|
|
||||||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.6.0.0")]
|
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.8.0.0")]
|
||||||
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
|
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
|
||||||
|
|
||||||
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
|
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
|
||||||
@@ -371,6 +371,18 @@ namespace AssetStudioGUI.Properties {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||||
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||||
|
[global::System.Configuration.DefaultSettingValueAttribute("False")]
|
||||||
|
public bool exportUV0UV1 {
|
||||||
|
get {
|
||||||
|
return ((bool)(this["exportUV0UV1"]));
|
||||||
|
}
|
||||||
|
set {
|
||||||
|
this["exportUV0UV1"] = value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||||
[global::System.Configuration.DefaultSettingValueAttribute("False")]
|
[global::System.Configuration.DefaultSettingValueAttribute("False")]
|
||||||
@@ -430,6 +442,7 @@ namespace AssetStudioGUI.Properties {
|
|||||||
this["enableModelPreview"] = value;
|
this["enableModelPreview"] = value;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||||
[global::System.Configuration.DefaultSettingValueAttribute("0")]
|
[global::System.Configuration.DefaultSettingValueAttribute("0")]
|
||||||
@@ -489,35 +502,5 @@ namespace AssetStudioGUI.Properties {
|
|||||||
this["enableVerbose"] = value;
|
this["enableVerbose"] = value;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
|
||||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
|
||||||
[global::System.Configuration.DefaultSettingValueAttribute("False")]
|
|
||||||
public bool exportUV0UV1
|
|
||||||
{
|
|
||||||
get
|
|
||||||
{
|
|
||||||
return ((bool)(this["exportUV0UV1"]));
|
|
||||||
}
|
|
||||||
set
|
|
||||||
{
|
|
||||||
this["exportUV0UV1"] = value;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
|
||||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
|
||||||
[global::System.Configuration.DefaultSettingValueAttribute("False")]
|
|
||||||
public bool isFileLogging
|
|
||||||
{
|
|
||||||
get
|
|
||||||
{
|
|
||||||
return ((bool)(this["isFileLogging"]));
|
|
||||||
}
|
|
||||||
set
|
|
||||||
{
|
|
||||||
this["isFileLogging"] = value;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
<?xml version='1.0' encoding='utf-8'?>
|
<?xml version='1.0' encoding='utf-8'?>
|
||||||
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)" GeneratedClassNamespace="AssetStudioGUI.Properties" GeneratedClassName="Settings">
|
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)" GeneratedClassNamespace="AssetStudio.GUI.Properties" GeneratedClassName="Settings">
|
||||||
<Profiles />
|
<Profiles />
|
||||||
<Settings>
|
<Settings>
|
||||||
<Setting Name="displayAll" Type="System.Boolean" Scope="User">
|
<Setting Name="displayAll" Type="System.Boolean" Scope="User">
|
||||||
|
Before Width: | Height: | Size: 37 KiB After Width: | Height: | Size: 37 KiB |
|
Before Width: | Height: | Size: 3.9 KiB After Width: | Height: | Size: 3.9 KiB |
@@ -1,5 +1,4 @@
|
|||||||
using AssetStudio;
|
using System;
|
||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Diagnostics;
|
using System.Diagnostics;
|
||||||
using System.Globalization;
|
using System.Globalization;
|
||||||
@@ -8,11 +7,9 @@ using System.Linq;
|
|||||||
using System.Threading;
|
using System.Threading;
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
using System.Xml;
|
using System.Xml;
|
||||||
using System.Xml.Linq;
|
using static AssetStudio.GUI.Exporter;
|
||||||
using static AssetStudioGUI.Exporter;
|
|
||||||
using Object = AssetStudio.Object;
|
|
||||||
|
|
||||||
namespace AssetStudioGUI
|
namespace AssetStudio.GUI
|
||||||
{
|
{
|
||||||
internal enum ExportType
|
internal enum ExportType
|
||||||
{
|
{
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
namespace AssetStudioGUI
|
namespace AssetStudio.GUI
|
||||||
{
|
{
|
||||||
partial class UnityCNForm
|
partial class UnityCNForm
|
||||||
{
|
{
|
||||||
@@ -4,7 +4,7 @@ using System.Collections.Generic;
|
|||||||
using AssetStudio;
|
using AssetStudio;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
|
|
||||||
namespace AssetStudioGUI
|
namespace AssetStudio.GUI
|
||||||
{
|
{
|
||||||
public partial class UnityCNForm : Form
|
public partial class UnityCNForm : Form
|
||||||
{
|
{
|
||||||
@@ -19,7 +19,7 @@
|
|||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ProjectReference Include="..\AssetStudio.PInvoke\AssetStudio.PInvoke.csproj" />
|
<ProjectReference Include="..\AssetStudio.PInvoke\AssetStudio.PInvoke.csproj" />
|
||||||
<ProjectReference Include="..\AssetStudioFBXWrapper\AssetStudioFBXWrapper.csproj" />
|
<ProjectReference Include="..\AssetStudio.FBXWrapper\AssetStudio.FBXWrapper.csproj" />
|
||||||
<ProjectReference Include="..\AssetStudio\AssetStudio.csproj" />
|
<ProjectReference Include="..\AssetStudio\AssetStudio.csproj" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user