diff --git a/AssetStudio/AssetStudio.csproj b/AssetStudio/AssetStudio.csproj
index 4ba2be2..6c4d56c 100644
--- a/AssetStudio/AssetStudio.csproj
+++ b/AssetStudio/AssetStudio.csproj
@@ -171,10 +171,16 @@
+
+
+
+
+
+
Code
@@ -189,7 +195,7 @@
-
+
@@ -226,7 +232,6 @@
-
diff --git a/AssetStudio/AssetStudioForm.cs b/AssetStudio/AssetStudioForm.cs
index b3f99d3..91ffd65 100644
--- a/AssetStudio/AssetStudioForm.cs
+++ b/AssetStudio/AssetStudioForm.cs
@@ -1783,7 +1783,7 @@ namespace AssetStudio
resourceFileReader.Value.Dispose();
}
resourceFileReaders.Clear();
- sharedFileIndex.Clear();
+ assetsFileIndexCache.Clear();
productName = "";
sceneTreeView.Nodes.Clear();
diff --git a/AssetStudio/StudioClasses/AssetsFile.cs b/AssetStudio/StudioClasses/AssetsFile.cs
index 1014dca..6c8d546 100644
--- a/AssetStudio/StudioClasses/AssetsFile.cs
+++ b/AssetStudio/StudioClasses/AssetsFile.cs
@@ -2,163 +2,37 @@
using System.Collections.Generic;
using System.IO;
using System.Linq;
-using System.Text;
using System.Text.RegularExpressions;
-using System.Windows.Forms;
namespace AssetStudio
{
- public class SerializedFileHeader
- {
- public uint m_MetadataSize;
- public uint m_FileSize;
- public uint m_Version;
- public uint m_DataOffset;
- public byte m_Endianess;
- public byte[] m_Reserved;
- }
-
public class AssetsFile
{
public EndianBinaryReader reader;
- public SerializedFileHeader header;
- private EndianType m_FileEndianess;
- public string unityVersion = "2.5.0f5";
- public BuildTarget m_TargetPlatform = BuildTarget.UnknownPlatform;
- private bool serializedTypeTrees;
- public SortedDictionary> m_Type = new SortedDictionary>();
- private List classIDs = new List();//use for 5.5.0
-
public string filePath;
public string parentPath;
public string fileName;
public string upperFileName;
public int[] version = { 0, 0, 0, 0 };
public string[] buildType;
- public string platformStr = "";
-
+ public string platformStr;
+ public bool valid;
public Dictionary preloadTable = new Dictionary();
public Dictionary GameObjectList = new Dictionary();
public Dictionary TransformList = new Dictionary();
-
public List exportableAssets = new List();
- public List sharedAssetsList = new List { new SharedAssets() };
- public bool valid;
-
- #region cmmon string
- private static Dictionary baseStrings = new Dictionary
- {
- {0, "AABB"},
- {5, "AnimationClip"},
- {19, "AnimationCurve"},
- {34, "AnimationState"},
- {49, "Array"},
- {55, "Base"},
- {60, "BitField"},
- {69, "bitset"},
- {76, "bool"},
- {81, "char"},
- {86, "ColorRGBA"},
- {96, "Component"},
- {106, "data"},
- {111, "deque"},
- {117, "double"},
- {124, "dynamic_array"},
- {138, "FastPropertyName"},
- {155, "first"},
- {161, "float"},
- {167, "Font"},
- {172, "GameObject"},
- {183, "Generic Mono"},
- {196, "GradientNEW"},
- {208, "GUID"},
- {213, "GUIStyle"},
- {222, "int"},
- {226, "list"},
- {231, "long long"},
- {241, "map"},
- {245, "Matrix4x4f"},
- {256, "MdFour"},
- {263, "MonoBehaviour"},
- {277, "MonoScript"},
- {288, "m_ByteSize"},
- {299, "m_Curve"},
- {307, "m_EditorClassIdentifier"},
- {331, "m_EditorHideFlags"},
- {349, "m_Enabled"},
- {359, "m_ExtensionPtr"},
- {374, "m_GameObject"},
- {387, "m_Index"},
- {395, "m_IsArray"},
- {405, "m_IsStatic"},
- {416, "m_MetaFlag"},
- {427, "m_Name"},
- {434, "m_ObjectHideFlags"},
- {452, "m_PrefabInternal"},
- {469, "m_PrefabParentObject"},
- {490, "m_Script"},
- {499, "m_StaticEditorFlags"},
- {519, "m_Type"},
- {526, "m_Version"},
- {536, "Object"},
- {543, "pair"},
- {548, "PPtr"},
- {564, "PPtr"},
- {581, "PPtr"},
- {596, "PPtr"},
- {616, "PPtr"},
- {633, "PPtr