diff --git a/AssetStudio/Classes/VideoClip.cs b/AssetStudio/Classes/VideoClip.cs index c69fbef..72cc6a5 100644 --- a/AssetStudio/Classes/VideoClip.cs +++ b/AssetStudio/Classes/VideoClip.cs @@ -10,6 +10,8 @@ namespace AssetStudio { public byte[] m_VideoData; public string m_OriginalPath; + public string m_Source; + public ulong m_Size; public VideoClip(AssetPreloadData preloadData, bool readData) : base(preloadData) { @@ -40,9 +42,9 @@ namespace AssetStudio reader.ReadAlignedString(); } //StreamedResource m_ExternalResources - var m_Source = reader.ReadAlignedString(); + m_Source = reader.ReadAlignedString(); var m_Offset = reader.ReadUInt64(); - var m_Size = reader.ReadUInt64(); + m_Size = reader.ReadUInt64(); var m_HasSplitAlpha = reader.ReadBoolean(); if (readData) diff --git a/AssetStudio/StudioClasses/Studio.cs b/AssetStudio/StudioClasses/Studio.cs index 061ef4d..6499086 100644 --- a/AssetStudio/StudioClasses/Studio.cs +++ b/AssetStudio/StudioClasses/Studio.cs @@ -198,15 +198,34 @@ namespace AssetStudio break; } case ClassIDReference.Texture2D: + { + var m_Texture2D = new Texture2D(asset, false); + if (!string.IsNullOrEmpty(m_Texture2D.path)) + asset.fullSize = asset.Size + (int)m_Texture2D.size; + goto case ClassIDReference.NamedObject; + } + case ClassIDReference.AudioClip: + { + var m_AudioClip = new AudioClip(asset, false); + if (!string.IsNullOrEmpty(m_AudioClip.m_Source)) + asset.fullSize = asset.Size + (int)m_AudioClip.m_Size; + goto case ClassIDReference.NamedObject; + } + case ClassIDReference.VideoClip: + { + var m_VideoClip = new VideoClip(asset, false); + if (!string.IsNullOrEmpty(m_VideoClip.m_OriginalPath)) + asset.fullSize = asset.Size + (int)m_VideoClip.m_Size; + goto case ClassIDReference.NamedObject; + } + case ClassIDReference.NamedObject: case ClassIDReference.Mesh: case ClassIDReference.Shader: case ClassIDReference.TextAsset: case ClassIDReference.AnimationClip: - case ClassIDReference.AudioClip: case ClassIDReference.Font: case ClassIDReference.MovieTexture: case ClassIDReference.Sprite: - case ClassIDReference.VideoClip: { var obj = new NamedObject(asset); asset.Text = obj.m_Name;